3 lines
1.2 MiB
3 lines
1.2 MiB
async function _createPyodideModule(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("node:module");var require=createRequire(import.meta.url)}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_NODE){var fs=require("node:fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("node:path").dirname(require("node:url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){readBinary=f=>{if(globalThis.readbuffer){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=async f=>readBinary(f);globalThis.clearTimeout??=id=>{};globalThis.setTimeout??=f=>f();arguments_=globalThis.arguments||globalThis.scriptArgs;if(globalThis.quit){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}if(typeof print!="undefined"){globalThis.console??={};console.log=print;console.warn=console.error=globalThis.printErr??print}}else 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=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}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 HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;var runtimeExited=false;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}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 exitRuntime(){___funcs_on_exit();callRuntimeCallbacks(onExits);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(ENVIRONMENT_IS_SHELL){return"pyodide.asm.wasm"}if(Module["locateFile"]){return locateFile("pyodide.asm.wasm")}return new URL("pyodide.asm.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&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_SHELL){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(){var GOTProxyHandler=new Proxy(new Set([]),GOTHandler);var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":GOTProxyHandler,"GOT.func":GOTProxyHandler};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;var origExports=wasmExports;mergeLibSymbols(wasmExports,"main");var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateGOT(origExports);LDSO.init();loadDylibs();updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var GOTHandler={get(weakImports,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true},-1)}if(!weakImports.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=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};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<end){var subsectionType=getU8();var subsectionSize=getLEB();if(subsectionType===WASM_DYLINK_MEM_INFO){customSection.memorySize=getLEB();customSection.memoryAlign=getLEB();customSection.tableSize=getLEB();customSection.tableAlign=getLEB()}else if(subsectionType===WASM_DYLINK_NEEDED){customSection.neededDynlibs=getStringList()}else if(subsectionType===WASM_DYLINK_EXPORT_INFO){var count=getLEB();while(count--){var symname=getString();var flags=getLEB();if(flags&WASM_SYMBOL_TLS){customSection.tlsExports.add(symname)}}}else if(subsectionType===WASM_DYLINK_IMPORT_INFO){var count=getLEB();while(count--){var modname=getString();var symname=getString();var flags=getLEB();if((flags&WASM_SYMBOL_BINDING_MASK)==WASM_SYMBOL_BINDING_WEAK){customSection.weakImports.add(symname)}}}else if(subsectionType===WASM_DYLINK_RUNTIME_PATH){customSection.runtimePaths=getStringList()}else{offset+=subsectionSize}}return customSection};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr>>>0];case"i8":return HEAP8[ptr>>>0];case"i16":return HEAP16[ptr>>>1>>>0];case"i32":return HEAP32[ptr>>>2>>>0];case"i64":return HEAP64[ptr>>>3>>>0];case"float":return HEAPF32[ptr>>>2>>>0];case"double":return HEAPF64[ptr>>>3>>>0];case"*":return HEAPU32[ptr>>>2>>>0];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 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;var sbrk_ptr=_emscripten_get_sbrk_ptr();HEAPU32[sbrk_ptr>>>2>>>0]=end;return ret};var isInternalSym=symName=>["memory","__memory_base","__table_base","__stack_pointer","__indirect_function_table","__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 wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}};var functionsInTableMap;var getFunctionAddress=func=>{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}return wasmTable["grow"](1)};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var uleb128EncodeWithLen=arr=>{const n=arr.length;return[n%128|128,n>>7,...arr]};var wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111};var generateTypePack=types=>uleb128EncodeWithLen(Array.from(types,type=>{var code=wasmTypeCodes[type];return code}));var convertJsFunctionToWasm=(func,sig)=>{var bytes=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(sig.slice(1)),...generateTypePack(sig[0]==="v"?"":sig[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};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];var existingEntry=GOT[symName]&&GOT[symName].value!=-1;if(replace||!existingEntry){var newValue;if(typeof value=="function"){newValue=addFunction(value)}else if(typeof value.value=="number"){newValue=value}else{continue}GOT[symName]??=new WebAssembly.Global({value:"i32",mutable:true});GOT[symName].value=newValue}}};var isImmutableGlobal=val=>{if(val instanceof WebAssembly.Global){try{val.value=val.value}catch{return true}}return false};var relocateExports=(exports,memoryBase=0)=>{function relocateExport(name,value){if(isImmutableGlobal(value)){return new WebAssembly.Global({value:"i32"},value.value+memoryBase)}return value}var relocated={};for(var e in exports){relocated[e]=relocateExport(e,exports[e])}return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};var createNamedFunction=(name,func)=>Object.defineProperty(func,"name",{value:name});var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(isSymbolDefined(symName)){sym=wasmImports[symName]}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);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>>>0]=1;HEAPU32[handle+12>>>2>>>0]=memoryBase;HEAP32[handle+16>>>2>>>0]=metadata.memorySize;HEAPU32[handle+20>>>2>>>0]=tableBase;HEAP32[handle+24>>>2>>>0]=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);if(!resolved){throw new Error(`Dynamic linking error: cannot resolve symbol ${prop}`)}return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var GOTProxy=new Proxy(metadata.weakImports,GOTHandler);var info={"GOT.mem":GOTProxy,"GOT.func":GOTProxy,env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);updateGOT(moduleExports);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];for(var arity=0;;arity++){var argName="$"+arity;if(!body.includes(argName))break;args.push(argName)}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"].value;var stop=moduleExports["__stop_em_asm"].value;start>>>=0;stop>>>=0;while(start<stop){var jsString=UTF8ToString(start);addEmAsm(start,jsString);start=HEAPU8.indexOf(0,start)+1}}function addEmJs(name,cSig,body){var jsArgs=[];cSig=cSig.slice(1,-1);if(cSig!="void"){cSig=cSig.split(",");for(var arg of cSig){var jsArg=arg.split(" ").pop();jsArgs.push(jsArg.replaceAll("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name].value;var jsString=UTF8ToString(start);var[sig,body]=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),sig,body);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,needed)=>chain.then(()=>{needed=findLibraryFS(needed,flags.rpath)??needed;return loadDynamicLibrary(needed,flags,localScope)}),Promise.resolve()).then(loadModule)}for(var needed of metadata.neededDynlibs){needed=findLibraryFS(needed,flags.rpath)??needed;loadDynamicLibrary(needed,flags,localScope)}return loadModule()};var mergeLibSymbols=(exports,libName)=>{for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym);const main_alias="__main_argc_argv";if(sym=="main"){setImport(main_alias)}if(sym==main_alias){setImport("main")}}};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:async(byteArray,name)=>wasmPlugin.promiseChainEnd=wasmPlugin.promiseChainEnd.then(async()=>{try{var exports=await loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})}catch(error){throw new Error(`failed to instantiate wasm: ${name}: ${error}`)}preloadedWasm[name]=exports;return byteArray})};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 stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);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<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=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 base64Decode=b64=>{if(ENVIRONMENT_IS_NODE){var buf=Buffer.from(b64,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var b1,b2,i=0,j=0,bLength=b64.length;var output=new Uint8Array((bLength*3>>2)-(b64[bLength-2]=="=")-(b64[bLength-1]=="="));for(;i<bLength;i+=4,j+=3){b1=base64ReverseLookup[b64.charCodeAt(i+1)];b2=base64ReverseLookup[b64.charCodeAt(i+2)];output[j]=base64ReverseLookup[b64.charCodeAt(i)]<<2|b1>>4;output[j+1]=b1<<4|b2>>2;output[j+2]=b2<<6|base64ReverseLookup[b64.charCodeAt(i+3)]}return output};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("node:crypto");return view=>nodeCrypto.randomFillSync(view)}if(ENVIRONMENT_IS_SHELL){return view=>{if(!os.system){throw new Error("randomFill not supported on d8 unless --enable-os-system is passed")}const b64=os.system("sh",["-c",`head -c${view.byteLength} /dev/urandom | base64 --wrap=0`]);view.set(base64Decode(b64))}}return 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<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=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<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var FS_stdin_getChar_buffer=[];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(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(globalThis.readline){result=readline();if(result){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;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){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=MEMFS.emptyFileContents??=new Uint8Array(0)}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){return node.contents.subarray(0,node.usedBytes)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents.length;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity)newCapacity=Math.max(newCapacity,256);var oldContents=MEMFS.getFileDataAsTypedArray(node);node.contents=new Uint8Array(newCapacity);node.contents.set(oldContents)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;var oldContents=node.contents;node.contents=new Uint8Array(newSize);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){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="<generic error, no stack>"}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);buffer.set(contents.subarray(position,position+size),offset);return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length}else{MEMFS.expandFileStorage(node,position+length);node.contents.set(buffer.subarray(offset,offset+length),position);node.usedBytes=Math.max(node.usedBytes,position+length)}return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}HEAP8.set(contents,ptr>>>0)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS_modeStringToFlags=str=>{if(typeof str!="string")return 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_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>indexedDB,DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mount.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops={...mnt.node_ops};mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops={...node.stream_ops};node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};IDBFS.queuePersist(mnt.mount);return node};mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{for(var value of Object.values(IDBFS.dbs)){value.close()}IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.lstat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db,entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.lstat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isLink(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode,link:node.link})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isLink(entry["mode"])){FS.symlink(entry["link"],path)}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.lstat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else{FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];for(var[key,e]of Object.entries(src.entries)){var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}}var remove=[];for(var key of Object.keys(dst.entries)){if(!src.entries[key]){remove.push(key);total++}}if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};for(const path of create.sort()){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}}for(var path of remove.sort().reverse()){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}}};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 NODEFS={isWindows:false,staticInit(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process.binding("constants")["fs"];NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],256:flags["O_NOCTTY"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"],131072:flags["O_NOFOLLOW"]}},convertNodeCode(e){var code=e.code;return ERRNO_CODES[code]},tryFSOperation(f){try{return f()}catch(e){if(!e.code)throw e;if(e.code==="UNKNOWN")throw new FS.ErrnoError(28);throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},mount(mount){return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode(path){return NODEFS.tryFSOperation(()=>{var mode=fs.lstatSync(path).mode;if(NODEFS.isWindows){mode|=(mode&292)>>2}return mode})},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join(...parts)},flagsForNode(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;flags&=~65536;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(flags){throw new FS.ErrnoError(28)}return newFlags},getattr(func,node){var stat=NODEFS.tryFSOperation(func);if(NODEFS.isWindows){if(!stat.blksize){stat.blksize=4096}if(!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}stat.mode|=(stat.mode&292)>>2}return{dev:stat.dev,ino:node.id,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(arg,node,attr,chmod,utimes,truncate,stat){NODEFS.tryFSOperation(()=>{if(attr.mode!==undefined){var mode=attr.mode;if(NODEFS.isWindows){mode&=384}chmod(arg,mode);node.mode=attr.mode}if(typeof(attr.atime??attr.mtime)==="number"){var atime=new Date(attr.atime??stat(arg).atime);var mtime=new Date(attr.mtime??stat(arg).mtime);utimes(arg,atime,mtime)}if(attr.size!==undefined){truncate(arg,attr.size)}})},node_ops:{getattr(node){var path=NODEFS.realPath(node);return NODEFS.getattr(()=>fs.lstatSync(path),node)},setattr(node,attr){var path=NODEFS.realPath(node);if(attr.mode!=null&&attr.dontFollow){throw new FS.ErrnoError(52)}NODEFS.setattr(path,node,attr,fs.chmodSync,fs.utimesSync,fs.truncateSync,fs.lstatSync)},lookup(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);NODEFS.tryFSOperation(()=>{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}});return node},rename(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{FS.unlink(newPath)}catch(e){}NODEFS.tryFSOperation(()=>fs.renameSync(oldPath,newPath));oldNode.name=newName},unlink(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);NODEFS.tryFSOperation(()=>fs.unlinkSync(path))},rmdir(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);NODEFS.tryFSOperation(()=>fs.rmdirSync(path))},readdir(node){var path=NODEFS.realPath(node);return NODEFS.tryFSOperation(()=>fs.readdirSync(path))},symlink(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);NODEFS.tryFSOperation(()=>fs.symlinkSync(oldPath,newPath))},readlink(node){var path=NODEFS.realPath(node);return NODEFS.tryFSOperation(()=>fs.readlinkSync(path))},statfs(path){var stats=NODEFS.tryFSOperation(()=>fs.statfsSync(path));stats.frsize=stats.bsize;return stats}},stream_ops:{getattr(stream){return NODEFS.getattr(()=>fs.fstatSync(stream.nfd),stream.node)},setattr(stream,attr){NODEFS.setattr(stream.nfd,stream.node,attr,fs.fchmodSync,fs.futimesSync,fs.ftruncateSync,fs.fstatSync)},open(stream){var path=NODEFS.realPath(stream.node);NODEFS.tryFSOperation(()=>{stream.shared.refcount=1;stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))})},close(stream){NODEFS.tryFSOperation(()=>{if(stream.nfd&&--stream.shared.refcount===0){fs.closeSync(stream.nfd)}})},dup(stream){stream.shared.refcount++},read(stream,buffer,offset,length,position){return NODEFS.tryFSOperation(()=>fs.readSync(stream.nfd,buffer,offset,length,position))},write(stream,buffer,offset,length,position){return NODEFS.tryFSOperation(()=>fs.writeSync(stream.nfd,buffer,offset,length,position))},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){NODEFS.tryFSOperation(()=>{var stat=fs.fstatSync(stream.nfd);position+=stat.size})}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr=mmapAlloc(length);NODEFS.stream_ops.read(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}},msync(stream,buffer,offset,length,mmapFlags){NODEFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount(mount){assert(ENVIRONMENT_IS_WORKER);WORKERFS.reader??=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");createdParents[curr]||=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0);parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}for(var file of mount.opts["files"]||[]){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}for(var obj of mount.opts["blobs"]||[]){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}for(var pack of mount.opts["packages"]||[]){for(var file of pack["metadata"].files){var name=file.filename.slice(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}}return root},createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.atime=node.mtime=node.ctime=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:0,size:node.size,atime:new Date(node.atime),mtime:new Date(node.mtime),ctime:new Date(node.ctime),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink(parent,name){throw new FS.ErrnoError(63)},rmdir(parent,name){throw new FS.ErrnoError(63)},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newName,oldPath){throw new FS.ErrnoError(63)}},stream_ops:{read(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var PROXYFS={mount(mount){return PROXYFS.createNode(null,"/",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join(...parts)},node_ops:{getattr(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.atime||attr.mtime){var atime=new Date(attr.atime||attr.mtime);var mtime=new Date(attr.mtime||attr.atime);node.mount.opts.fs.utime(path,atime,mtime)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath);oldNode.name=newName}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.node_ops.getattr(stream.node);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var LZ4={DIR_MODE:16895,FILE_MODE:33279,CHUNK_SIZE:-1,codec:null,init(){if(LZ4.codec)return;LZ4.codec=(()=>{var MiniLZ4=function(){var exports={};exports.uncompress=function(input,output,sIdx,eIdx){sIdx=sIdx||0;eIdx=eIdx||input.length-sIdx;for(var i=sIdx,n=eIdx,j=0;i<n;){var token=input[i++];var literals_length=token>>4;if(literals_length>0){var l=literals_length+240;while(l===255){l=input[i++];literals_length+=l}var end=i+literals_length;while(i<end)output[j++]=input[i++];if(i===n)return j}var offset=input[i++]|input[i++]<<8;if(offset===0)return j;if(offset>j)return-(i-2);var match_length=token&15;var l=match_length+240;while(l===255){l=input[i++];match_length+=l}var pos=j-offset;var end=j+match_length+4;while(j<end)output[j++]=output[pos++]}return j};var maxInputSize=2113929216,minMatch=4,hashLog=16,hashShift=minMatch*8-hashLog,hashSize=1<<hashLog,copyLength=8,lastLiterals=5,mfLimit=copyLength+minMatch,skipStrength=6,mlBits=4,mlMask=(1<<mlBits)-1,runBits=8-mlBits,runMask=(1<<runBits)-1,hasher=2654435761;assert(hashShift===16);var hashTable=new Int16Array(1<<16);var empty=new Int16Array(hashTable.length);exports.compressBound=function(isize){return isize>maxInputSize?0:isize+isize/255+16|0};exports.compress=function(src,dst,sIdx,eIdx){hashTable.set(empty);return compressBlock(src,dst,0,sIdx||0,eIdx||dst.length)};function compressBlock(src,dst,pos,sIdx,eIdx){var dpos=sIdx;var dlen=eIdx-sIdx;var anchor=0;if(src.length>=maxInputSize)throw new Error("input too large");if(src.length>mfLimit){var n=exports.compressBound(src.length);if(dlen<n)throw Error("output too small: "+dlen+" < "+n);var step=1,findMatchAttempts=(1<<skipStrength)+3,srcLength=src.length-mfLimit;while(pos+minMatch<srcLength){var sequenceLowBits=src[pos+1]<<8|src[pos];var sequenceHighBits=src[pos+3]<<8|src[pos+2];var hash=Math.imul(sequenceLowBits|sequenceHighBits<<16,hasher)>>>hashShift;var ref=hashTable[hash]-1;hashTable[hash]=pos+1;if(ref<0||pos-ref>>>16>0||((src[ref+3]<<8|src[ref+2])!=sequenceHighBits||(src[ref+1]<<8|src[ref])!=sequenceLowBits)){step=findMatchAttempts++>>skipStrength;pos+=step;continue}findMatchAttempts=(1<<skipStrength)+3;var literals_length=pos-anchor;var offset=pos-ref;pos+=minMatch;ref+=minMatch;var match_length=pos;while(pos<srcLength&&src[pos]==src[ref]){pos++;ref++}match_length=pos-match_length;var token=match_length<mlMask?match_length:mlMask;if(literals_length>=runMask){dst[dpos++]=(runMask<<mlBits)+token;for(var len=literals_length-runMask;len>254;len-=255){dst[dpos++]=255}dst[dpos++]=len}else{dst[dpos++]=(literals_length<<mlBits)+token}for(var i=0;i<literals_length;i++){dst[dpos++]=src[anchor+i]}dst[dpos++]=offset;dst[dpos++]=offset>>8;if(match_length>=mlMask){match_length-=mlMask;while(match_length>=255){match_length-=255;dst[dpos++]=255}dst[dpos++]=match_length}anchor=pos}}if(anchor==0)return 0;literals_length=src.length-anchor;if(literals_length>=runMask){dst[dpos++]=runMask<<mlBits;for(var ln=literals_length-runMask;ln>254;ln-=255){dst[dpos++]=255}dst[dpos++]=ln}else{dst[dpos++]=literals_length<<mlBits}pos=anchor;while(pos<src.length){dst[dpos++]=src[pos++]}return dpos}exports.CHUNK_SIZE=2048;exports.compressPackage=function(data,verify){if(verify){var temp=new Uint8Array(exports.CHUNK_SIZE)}assert(data instanceof ArrayBuffer);data=new Uint8Array(data);console.log("compressing package of size "+data.length);var compressedChunks=[];var successes=[];var offset=0;var total=0;while(offset<data.length){var chunk=data.subarray(offset,offset+exports.CHUNK_SIZE);offset+=exports.CHUNK_SIZE;var bound=exports.compressBound(chunk.length);var compressed=new Uint8Array(bound);var compressedSize=exports.compress(chunk,compressed);if(compressedSize>0){assert(compressedSize<=bound);compressed=compressed.subarray(0,compressedSize);compressedChunks.push(compressed);total+=compressedSize;successes.push(1);if(verify){var back=exports.uncompress(compressed,temp);assert(back===chunk.length,[back,chunk.length]);for(var i=0;i<chunk.length;i++){assert(chunk[i]===temp[i])}}}else{assert(compressedSize===0);compressedChunks.push(chunk);total+=chunk.length;successes.push(0)}}data=null;var compressedData={data:new Uint8Array(total+exports.CHUNK_SIZE*2),cachedOffset:total,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[],sizes:[],successes};offset=0;for(var i=0;i<compressedChunks.length;i++){compressedData["data"].set(compressedChunks[i],offset);compressedData["offsets"][i]=offset;compressedData["sizes"][i]=compressedChunks[i].length;offset+=compressedChunks[i].length}console.log("compressed package into "+[compressedData["data"].length]);assert(offset===total);return compressedData};assert(exports.CHUNK_SIZE<1<<15);return exports}();if(typeof module!="undefined"){module.exports=MiniLZ4}return MiniLZ4})();LZ4.CHUNK_SIZE=LZ4.codec.CHUNK_SIZE},loadPackage(pack,preloadPlugin){LZ4.init();var compressedData=pack["compressedData"]||LZ4.codec.compressPackage(pack["data"]);assert(compressedData["cachedIndexes"].length===compressedData["cachedChunks"].length);for(var i=0;i<compressedData["cachedIndexes"].length;i++){compressedData["cachedIndexes"][i]=-1;compressedData["cachedChunks"][i]=compressedData["data"].subarray(compressedData["cachedOffset"]+i*LZ4.CHUNK_SIZE,compressedData["cachedOffset"]+(i+1)*LZ4.CHUNK_SIZE);assert(compressedData["cachedChunks"][i].length===LZ4.CHUNK_SIZE)}for(var file of pack["metadata"].files){var dir=PATH.dirname(file.filename);var name=PATH.basename(file.filename);FS.createPath("",dir,true,true);var parent=FS.analyzePath(dir).object;LZ4.createNode(parent,name,LZ4.FILE_MODE,0,{compressedData,start:file.start,end:file.end})}if(preloadPlugin){Browser.init();for(var file of pack["metadata"].files){var fullname=file.filename;for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){var dep=getUniqueRunDependency("fp "+fullname);addRunDependency(dep);var finish=()=>removeRunDependency(dep);var byteArray=FS.readFile(fullname);plugin["handle"](byteArray,fullname).then(finish).catch(finish);break}}}}},createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=LZ4.node_ops;node.stream_ops=LZ4.stream_ops;this.atime=this.mtime=this.ctime=(mtime||new Date).getTime();assert(LZ4.FILE_MODE!==LZ4.DIR_MODE);if(mode===LZ4.FILE_MODE){node.size=contents.end-contents.start;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:0,size:node.size,atime:new Date(node.atime),mtime:new Date(node.mtime),ctime:new Date(node.ctime),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]){node[key]=attr[key]}}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink(parent,name){throw new FS.ErrnoError(63)},rmdir(parent,name){throw new FS.ErrnoError(63)},readdir(node){throw new FS.ErrnoError(63)},symlink(parent,newName,oldPath){throw new FS.ErrnoError(63)}},stream_ops:{read(stream,buffer,offset,length,position){length=Math.min(length,stream.node.size-position);if(length<=0)return 0;var contents=stream.node.contents;var compressedData=contents.compressedData;var written=0;while(written<length){var start=contents.start+position+written;var desired=length-written;var chunkIndex=Math.floor(start/LZ4.CHUNK_SIZE);var compressedStart=compressedData["offsets"][chunkIndex];var compressedSize=compressedData["sizes"][chunkIndex];var currChunk;if(compressedData["successes"][chunkIndex]){var found=compressedData["cachedIndexes"].indexOf(chunkIndex);if(found>=0){currChunk=compressedData["cachedChunks"][found]}else{compressedData["cachedIndexes"].pop();compressedData["cachedIndexes"].unshift(chunkIndex);currChunk=compressedData["cachedChunks"].pop();compressedData["cachedChunks"].unshift(currChunk);if(compressedData["debug"]){out("decompressing chunk "+chunkIndex);Module["decompressedChunks"]=(Module["decompressedChunks"]||0)+1}var compressed=compressedData["data"].subarray(compressedStart,compressedStart+compressedSize);var originalSize=LZ4.codec.uncompress(compressed,currChunk);if(chunkIndex<compressedData["successes"].length-1)assert(originalSize===LZ4.CHUNK_SIZE)}}else{currChunk=compressedData["data"].subarray(compressedStart,compressedStart+LZ4.CHUNK_SIZE)}var startInChunk=start%LZ4.CHUNK_SIZE;var endInChunk=Math.min(startInChunk+desired,LZ4.CHUNK_SIZE);buffer.set(currChunk.subarray(startInChunk,endInChunk),offset+written);var currWritten=endInChunk-startInChunk;written+=currWritten}return written},write(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},filesystems:null,syncFSRequests:0,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<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}if(parts[i]==="."){continue}if(parts[i]===".."){current_path=PATH.dirname(current_path);if(FS.isRoot(current)){path=current_path+"/"+parts.slice(i+1).join("/");nlinks--;continue linkloop}else{current=current.parent}continue}current_path=PATH.join2(current_path,parts[i]);try{current=FS.lookupNode(current,parts[i])}catch(e){if(e?.errno===44&&islast&&opts.noent_okay){return{path:current_path}}throw e}if(FS.isMountpoint(current)&&(!islast||opts.follow_mount)){current=current.mounted.root}if(FS.isLink(current.mode)&&(!islast||opts.follow)){if(!current.node_ops.readlink){throw new FS.ErrnoError(52)}var link=current.node_ops.readlink(current);if(!PATH.isAbs(link)){link=PATH.dirname(current_path)+"/"+link}path=link+"/"+parts.slice(i+1).join("/");continue linkloop}}return{path:current_path,node:current}}throw new FS.ErrnoError(32)},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>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}if(perms.includes("w")&&!(node.mode&146)){return 2}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}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},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)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},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);for(var[hash,current]of Object.entries(FS.nameTable)){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;FS.trackingDelegate["onMakeDirectory"]?.(path,mode);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)}FS.trackingDelegate["onMakeSymlink"]?.(oldpath,newpath);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.trackingDelegate["willMovePath"]?.(old_path,new_path);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)}FS.trackingDelegate["onMovePath"]?.(old_path,new_path)},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)}FS.trackingDelegate["willDeletePath"]?.(path);parent.node_ops.rmdir(parent,name);FS.destroyNode(node);FS.trackingDelegate["onDeletePath"]?.(path)},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)}FS.trackingDelegate["willDeletePath"]?.(path);parent.node_ops.unlink(parent,name);FS.destroyNode(node);FS.trackingDelegate["onDeletePath"]?.(path)},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=FS_modeStringToFlags(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)}var origFlags=flags;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)}FS.trackingDelegate["onOpenFile"]?.(path,origFlags);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;if(stream.path){FS.trackingDelegate["onCloseFile"]?.(stream.path)}},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=[];if(stream.path){FS.trackingDelegate["onSeekFile"]?.(stream.path,stream.position,whence)}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;if(stream.path){FS.trackingDelegate["onReadFile"]?.(stream.path,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;if(stream.path){FS.trackingDelegate["onWriteToFile"]?.(stream.path,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"){abort(`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);data=FS_fileDataToTypedArray(data);FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn);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,IDBFS,NODEFS,WORKERFS,PROXYFS}},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;_fflush(0);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){data=FS_fileDataToTypedArray(data);FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;dbg(`forceLoadFile: ${obj.url}`);if(globalThis.XMLHttpRequest){abort("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else{try{obj.contents=readBinary(obj.url)}catch(e){dbg(`forceLoadFile exception: ${e}`);throw new FS.ErrnoError(29)}}},createLazyFile(parent,name,url,canRead,canWrite){class LazyUint8Array{lengthKnown=false;chunks=[];get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}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))abort("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)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("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))abort("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")abort("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(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("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={};for(const[key,fn]of Object.entries(node.stream_ops)){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<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{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})};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){libName=PATH.normalize(libName);var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,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>>>0];var dataSize=HEAPU32[handle+32>>>2>>>0];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)}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==-1){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){entry.value=0;continue}else if(!value){throw new Error(`Dynamic linking error: undefined symbol '${symName}'`)}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else if(typeof value.value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value} (${value})`)}}}};var loadDylibs=async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");for(var lib of dynamicLibraries){await loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})}reportUndefinedSymbols();removeRunDependency("loadDylibs")};var noExitRuntime=false;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>>0]=value;break;case"i8":HEAP8[ptr>>>0]=value;break;case"i16":HEAP16[ptr>>>1>>>0]=value;break;case"i32":HEAP32[ptr>>>2>>>0]=value;break;case"i64":HEAP64[ptr>>>3>>>0]=BigInt(value);break;case"float":HEAPF32[ptr>>>2>>>0]=value;break;case"double":HEAPF64[ptr>>>3>>>0]=value;break;case"*":HEAPU32[ptr>>>2>>>0]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var _JsvError_Check=()=>{};var _Jsv_GetError_import=()=>{};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___assert_fail(condition,filename,line,func){condition>>>=0;filename>>>=0;func>>>=0;return abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}___assert_fail.sig="vppip";function ___call_sighandler(fp,sig){fp>>>=0;return getWasmTableEntry(fp)(sig)}___call_sighandler.sig="vpi";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;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{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{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>>>0]=bytes;return 0;case 21537:var on=HEAP32[arg>>>2>>>0];if(on){sock.stream.flags|=2048}else{sock.stream.flags&=~2048}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)}if(sock.server){throw new FS.ErrnoError(28)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host,port:sock.sport});SOCKFS.emit("listen",sock.stream.fd);sock.server.on("connection",function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);SOCKFS.emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);SOCKFS.emit("connection",sock.stream.fd)}});sock.server.on("close",function(){SOCKFS.emit("close",sock.stream.fd);sock.server=null});sock.server.on("error",function(error){sock.error=23;SOCKFS.emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])})},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<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};var getSocketFromFD=fd=>{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<words.length;w++){if(typeof words[w]=="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_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++;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){addr>>>=0;addrlen>>>=0;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<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str};var readSockaddr=(sa,salen)=>{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];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){addr>>>=0;addrlen>>>=0;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";var SYSCALLS={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){HEAPU32[buf>>>2>>>0]=stat.dev;HEAPU32[buf+4>>>2>>>0]=stat.mode;HEAPU32[buf+8>>>2>>>0]=stat.nlink;HEAPU32[buf+12>>>2>>>0]=stat.uid;HEAPU32[buf+16>>>2>>>0]=stat.gid;HEAPU32[buf+20>>>2>>>0]=stat.rdev;HEAP64[buf+24>>>3>>>0]=BigInt(stat.size);HEAP32[buf+32>>>2>>>0]=4096;HEAP32[buf+36>>>2>>>0]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>>3>>>0]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>>2>>>0]=atime%1e3*1e3*1e3;HEAP64[buf+56>>>3>>>0]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>>2>>>0]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>>3>>>0]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>>2>>>0]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>>3>>>0]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>>2>>>0]=stats.bsize;HEAPU32[buf+60>>>2>>>0]=stats.bsize;HEAP64[buf+8>>>3>>>0]=BigInt(stats.blocks);HEAP64[buf+16>>>3>>>0]=BigInt(stats.bfree);HEAP64[buf+24>>>3>>>0]=BigInt(stats.bavail);HEAP64[buf+32>>>3>>>0]=BigInt(stats.files);HEAP64[buf+40>>>3>>>0]=BigInt(stats.ffree);HEAPU32[buf+48>>>2>>>0]=stats.fsid;HEAPU32[buf+64>>>2>>>0]=stats.flags;HEAPU32[buf+56>>>2>>>0]=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_chdir(path){path>>>=0;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){path>>>=0;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){addr>>>=0;addrlen>>>=0;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){path>>>=0;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="iijji";function ___syscall_fallocate(fd,mode,offset,len){offset=bigintToI53Checked(offset);len=bigintToI53Checked(len);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="iiijj";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){path>>>=0;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){path>>>=0;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>>>0];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;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>>>0]=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){buf>>>=0;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){size>>>=0;buf>>>=0;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){length=bigintToI53Checked(length);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="iij";function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0;try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size<cwdLengthInBytes)return-68;stringToUTF8(cwd,buf,size);return cwdLengthInBytes}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx<endIdx;idx++){var id;var type;var name=stream.getdents[idx];if(name==="."){id=stream.node.id;type=4}else if(name===".."){var lookup=FS.lookupPath(stream.path,{parent:true});id=lookup.node.id;type=4}else{var child;try{child=FS.lookupNode(stream.node,name)}catch(e){if(e?.errno===28){continue}throw e}id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP64[dirp+pos>>>3>>>0]=BigInt(id);HEAP64[dirp+pos+8>>>3>>>0]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>>1>>>0]=280;HEAP8[dirp+pos+18>>>0]=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){addr>>>=0;addrlen>>>=0;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){addr>>>=0;addrlen>>>=0;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){optval>>>=0;optlen>>>=0;try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=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){varargs>>>=0;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>>>0]=termios.c_iflag||0;HEAP32[argp+4>>>2>>>0]=termios.c_oflag||0;HEAP32[argp+8>>>2>>>0]=termios.c_cflag||0;HEAP32[argp+12>>>2>>>0]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=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>>>0];var c_oflag=HEAP32[argp+4>>>2>>>0];var c_cflag=HEAP32[argp+8>>>2>>>0];var c_lflag=HEAP32[argp+12>>>2>>>0];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}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]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21537: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>>>0]=winsize[0];HEAP16[argp+2>>>1>>>0]=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){path>>>=0;buf>>>=0;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){path>>>=0;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){path>>>=0;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){path>>>=0;buf>>>=0;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){path>>>=0;varargs>>>=0;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,timeout,notifyCallback){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<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);bucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=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;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){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){fdPtr>>>=0;try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>>2>>>0]=res.readable_fd;HEAP32[fdPtr+4>>>2>>>0]=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){fds>>>=0;try{var count=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=HEAP32[pollfd>>>2>>>0];var events=HEAP16[pollfd+4>>>1>>>0];var flags=32;var stream=FS.getStream(fd);if(stream){if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream,-1)}else{flags=5}}flags&=events|8|16;if(flags)count++;HEAP16[pollfd+6>>>1>>>0]=flags}return count}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){path>>>=0;buf>>>=0;bufsize>>>=0;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>>>0];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len>>>0]=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){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;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>>>0);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){message>>>=0;try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>>2>>>0];var num=HEAP32[message+12>>>2>>>0];var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>>2>>>0]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>>2>>>0];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<num;i++){var iovbase=HEAPU32[iov+(8*i+0)>>>2>>>0];var iovlen=HEAP32[iov+(8*i+4)>>>2>>>0];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead>>>0);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){oldpath>>>=0;newpath>>>=0;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){path>>>=0;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){message>>>=0;d1>>>=0;d2>>>=0;try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>>2>>>0];var num=HEAP32[message+12>>>2>>>0];var addr,port;var name=HEAPU32[message>>>2>>>0];var namelen=HEAP32[message+4>>>2>>>0];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i<num;i++){total+=HEAP32[iov+(8*i+4)>>>2>>>0]}var view=new Uint8Array(total);var offset=0;for(var i=0;i<num;i++){var iovbase=HEAPU32[iov+(8*i+0)>>>2>>>0];var iovlen=HEAP32[iov+(8*i+4)>>>2>>>0];for(var j=0;j<iovlen;j++){view[offset++]=HEAP8[iovbase+j>>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0;try{var sock=getSocketFromFD(fd);if(!addr){return FS.write(sock.stream,HEAP8,message,length)}var dest=getSocketAddress(addr,addr_len);return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_stat64.sig="ipp";function ___syscall_statfs64(path,size,buf){path>>>=0;size>>>=0;buf>>>=0;try{SYSCALLS.writeStatFs(buf,FS.statfs(SYSCALLS.getStr(path)));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_statfs64.sig="ippp";function ___syscall_symlinkat(target,dirfd,linkpath){target>>>=0;linkpath>>>=0;try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);linkpath=SYSCALLS.calculateAt(dirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(path,length){path>>>=0;length=bigintToI53Checked(length);try{if(isNaN(length))return-61;path=SYSCALLS.getStr(path);FS.truncate(path,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(dirfd,path,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAP32[ptr+4>>>2>>>0]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0;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>>>0];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>>>0];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 __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>>>0];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}};function __dlopen_js(handle){handle>>>=0;return dlopenInternal(handle,{loadAsync:false})}__dlopen_js.sig="pp";function __dlsym_js(handle,symbol,symbolIndex){handle>>>=0;symbol>>>=0;symbolIndex>>>=0;symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];newSymIndex=Object.keys(lib.exports).indexOf(symbol);if(newSymIndex==-1||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}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>>>0]=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;if(!keepRuntimeAlive()){exitRuntime()}_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(runtimeExited||ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";function __emscripten_dlopen_js(handle,onsuccess,onerror,user_data){handle>>>=0;onsuccess>>>=0;onerror>>>=0;user_data>>>=0;function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(onerror)(handle,user_data))}function successCallback(){runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(onsuccess)(handle,user_data))}runtimeKeepalivePush();var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}}__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";function __emscripten_get_progname(str,len){str>>>=0;return stringToUTF8(getExecutableName(),str,len)}__emscripten_get_progname.sig="vpi";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};function __emscripten_log_formatted(flags,str){str>>>=0;str=UTF8ToString(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)}}__emscripten_log_formatted.sig="vip";function __emscripten_lookup_name(name){name>>>=0;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";function __emscripten_system(command){command>>>=0;if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("node:child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=(ret,sig)=>ret<<8|sig;if(ret.status===null){var signalToNumber=sig=>{switch(sig){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;return-52}__emscripten_system.sig="ip";function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getUTCSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getUTCMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getUTCHours();HEAP32[tmPtr+12>>>2>>>0]=date.getUTCDate();HEAP32[tmPtr+16>>>2>>>0]=date.getUTCMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=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>>>0]=yday}__gmtime_js.sig="vjp";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,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(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>>>0]=dst}__localtime_js.sig="vjp";var __mktime_js=function(tmPtr){tmPtr>>>=0;var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>>2>>>0]+1900,HEAP32[tmPtr+16>>>2>>>0],HEAP32[tmPtr+12>>>2>>>0],HEAP32[tmPtr+8>>>2>>>0],HEAP32[tmPtr+4>>>2>>>0],HEAP32[tmPtr>>>2>>>0],0);var dst=HEAP32[tmPtr+32>>>2>>>0];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>>>0]=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>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};__mktime_js.sig="jp";function __mmap_js(len,prot,flags,fd,offset,allocated,addr){len>>>=0;offset=bigintToI53Checked(offset);allocated>>>=0;addr>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>>2>>>0]=res.allocated;HEAPU32[addr>>>2>>>0]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiijpp";function __msync_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);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="ippiiij";function __munmap_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);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="ippiiij";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){tmPtr>>>=0;var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>>2>>>0]+1900,HEAP32[tmPtr+16>>>2>>>0],HEAP32[tmPtr+12>>>2>>>0],HEAP32[tmPtr+8>>>2>>>0],HEAP32[tmPtr+4>>>2>>>0],HEAP32[tmPtr>>>2>>>0],0);var date=new Date(time);HEAP32[tmPtr+24>>>2>>>0]=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>>>0]=yday;return date.getTime()/1e3})();return BigInt(ret)};__timegm_js.sig="jp";var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;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>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=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<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};__tzset_js.sig="vpppp";var _emscripten_get_now_res=()=>{if(ENVIRONMENT_IS_NODE){return 1}return 1e3};_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_res_get(clk_id,pres){pres>>>=0;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}HEAP64[pres>>>3>>>0]=BigInt(nsec);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,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;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);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}_clock_time_get.sig="iijp";var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++>>>0]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>>2>>>0]:ch==106?HEAP64[buf>>>3>>>0]:ch==105?HEAP32[buf>>>2>>>0]:HEAPF64[buf>>>3>>>0]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};function _emscripten_asm_const_int(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}_emscripten_asm_const_int.sig="ippp";function _emscripten_console_error(str){str>>>=0;console.error(UTF8ToString(str))}_emscripten_console_error.sig="vp";function _emscripten_console_log(str){str>>>=0;console.log(UTF8ToString(str))}_emscripten_console_log.sig="vp";function _emscripten_console_trace(str){str>>>=0;console.trace(UTF8ToString(str))}_emscripten_console_trace.sig="vp";function _emscripten_console_warn(str){str>>>=0;console.warn(UTF8ToString(str))}_emscripten_console_warn.sig="vp";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";function _emscripten_err(str){str>>>=0;return err(UTF8ToString(str))}_emscripten_err.sig="vp";var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return 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_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_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_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","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:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret},genObject:(n,buffers,createFunction,objectTable)=>{for(var i=0;i<n;i++){var buffer=GLctx[createFunction]();var id=buffer&&GL.getNewId(objectTable);if(buffer){buffer.name=id;objectTable[id]=buffer}else{GL.recordError(1282)}HEAP32[buffers+i*4>>>2>>>0]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i<count;++i){var len=length?HEAPU32[length+i*4>>>2>>>0]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>>2>>>0],len)}return source},createContext:(canvas,webGLContextAttributes)=>{var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,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);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}for(var ext of getEmscriptenSupportedExtensions(GLctx)){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}}}};var _emscripten_glActiveTexture=x0=>GLctx.activeTexture(x0);_emscripten_glActiveTexture.sig="vi";var _emscripten_glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_emscripten_glAttachShader.sig="vii";var _emscripten_glBeginQuery=(target,id)=>{GLctx.beginQuery(target,GL.queries[id])};_emscripten_glBeginQuery.sig="vii";var _emscripten_glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_emscripten_glBeginQueryEXT.sig="vii";var _emscripten_glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);_emscripten_glBeginTransformFeedback.sig="vi";function _emscripten_glBindAttribLocation(program,index,name){name>>>=0;GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}_emscripten_glBindAttribLocation.sig="viip";var _emscripten_glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};_emscripten_glBindBuffer.sig="vii";var _emscripten_glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};_emscripten_glBindBufferBase.sig="viii";function _emscripten_glBindBufferRange(target,index,buffer,offset,ptrsize){offset>>>=0;ptrsize>>>=0;GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}_emscripten_glBindBufferRange.sig="viiipp";var _emscripten_glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_emscripten_glBindFramebuffer.sig="vii";var _emscripten_glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_emscripten_glBindRenderbuffer.sig="vii";var _emscripten_glBindSampler=(unit,sampler)=>{GLctx.bindSampler(unit,GL.samplers[sampler])};_emscripten_glBindSampler.sig="vii";var _emscripten_glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_emscripten_glBindTexture.sig="vii";var _emscripten_glBindTransformFeedback=(target,id)=>{GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])};_emscripten_glBindTransformFeedback.sig="vii";var _emscripten_glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_emscripten_glBindVertexArray.sig="vi";var _glBindVertexArray=_emscripten_glBindVertexArray;_glBindVertexArray.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArray;_emscripten_glBindVertexArrayOES.sig="vi";var _emscripten_glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_emscripten_glBlendColor.sig="vffff";var _emscripten_glBlendEquation=x0=>GLctx.blendEquation(x0);_emscripten_glBlendEquation.sig="vi";var _emscripten_glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_emscripten_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_emscripten_glBlendFunc.sig="vii";var _emscripten_glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_emscripten_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);_emscripten_glBlitFramebuffer.sig="viiiiiiiiii";function _emscripten_glBufferData(target,size,data,usage){size>>>=0;data>>>=0;GLctx.bufferData(target,data?HEAPU8.subarray(data>>>0,data+size>>>0):size,usage)}_emscripten_glBufferData.sig="vippi";function _emscripten_glBufferSubData(target,offset,size,data){offset>>>=0;size>>>=0;data>>>=0;GLctx.bufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}_emscripten_glBufferSubData.sig="vippp";var _emscripten_glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_emscripten_glCheckFramebufferStatus.sig="ii";var _emscripten_glClear=x0=>GLctx.clear(x0);_emscripten_glClear.sig="vi";var _emscripten_glClearBufferfi=(x0,x1,x2,x3)=>GLctx.clearBufferfi(x0,x1,x2,x3);_emscripten_glClearBufferfi.sig="viifi";function _emscripten_glClearBufferfv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>>2)}_emscripten_glClearBufferfv.sig="viip";function _emscripten_glClearBufferiv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>>2)}_emscripten_glClearBufferiv.sig="viip";function _emscripten_glClearBufferuiv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>>2)}_emscripten_glClearBufferuiv.sig="viip";var _emscripten_glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_emscripten_glClearColor.sig="vffff";var _emscripten_glClearDepthf=x0=>GLctx.clearDepth(x0);_emscripten_glClearDepthf.sig="vf";var _emscripten_glClearStencil=x0=>GLctx.clearStencil(x0);_emscripten_glClearStencil.sig="vi";function _emscripten_glClientWaitSync(sync,flags,timeout){sync>>>=0;timeout=Number(timeout);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}_emscripten_glClientWaitSync.sig="ipij";var _emscripten_glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_emscripten_glClipControlEXT.sig="vii";var _emscripten_glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_emscripten_glColorMask.sig="viiii";var _emscripten_glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_emscripten_glCompileShader.sig="vi";function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){data>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}_emscripten_glCompressedTexImage2D.sig="viiiiiiip";function _emscripten_glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){data>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}_emscripten_glCompressedTexImage3D.sig="viiiiiiiip";function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){data>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data);return}}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";function _emscripten_glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){data>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}_emscripten_glCompressedTexSubImage3D.sig="viiiiiiiiiip";function _emscripten_glCopyBufferSubData(x0,x1,x2,x3,x4){x2>>>=0;x3>>>=0;x4>>>=0;return GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}_emscripten_glCopyBufferSubData.sig="viippp";var _emscripten_glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage3D=(x0,x1,x2,x3,x4,x5,x6,x7,x8)=>GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8);_emscripten_glCopyTexSubImage3D.sig="viiiiiiiii";var _emscripten_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};_emscripten_glCreateProgram.sig="i";var _emscripten_glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_emscripten_glCreateShader.sig="ii";var _emscripten_glCullFace=x0=>GLctx.cullFace(x0);_emscripten_glCullFace.sig="vi";function _emscripten_glDeleteBuffers(n,buffers){buffers>>>=0;for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>>2>>>0];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}_emscripten_glDeleteBuffers.sig="vip";function _emscripten_glDeleteFramebuffers(n,framebuffers){framebuffers>>>=0;for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>>2>>>0];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}_emscripten_glDeleteFramebuffers.sig="vip";var _emscripten_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};_emscripten_glDeleteProgram.sig="vi";function _emscripten_glDeleteQueries(n,ids){ids>>>=0;for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>>2>>>0];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}_emscripten_glDeleteQueries.sig="vip";function _emscripten_glDeleteQueriesEXT(n,ids){ids>>>=0;for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>>2>>>0];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}_emscripten_glDeleteQueriesEXT.sig="vip";function _emscripten_glDeleteRenderbuffers(n,renderbuffers){renderbuffers>>>=0;for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>>2>>>0];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}_emscripten_glDeleteRenderbuffers.sig="vip";function _emscripten_glDeleteSamplers(n,samplers){samplers>>>=0;for(var i=0;i<n;i++){var id=HEAP32[samplers+i*4>>>2>>>0];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}_emscripten_glDeleteSamplers.sig="vip";var _emscripten_glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_emscripten_glDeleteShader.sig="vi";function _emscripten_glDeleteSync(id){id>>>=0;if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}_emscripten_glDeleteSync.sig="vp";function _emscripten_glDeleteTextures(n,textures){textures>>>=0;for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>>2>>>0];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}_emscripten_glDeleteTextures.sig="vip";function _emscripten_glDeleteTransformFeedbacks(n,ids){ids>>>=0;for(var i=0;i<n;i++){var id=HEAP32[ids+i*4>>>2>>>0];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}_emscripten_glDeleteTransformFeedbacks.sig="vip";function _emscripten_glDeleteVertexArrays(n,vaos){vaos>>>=0;for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>>2>>>0];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}_emscripten_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArrays=_emscripten_glDeleteVertexArrays;_glDeleteVertexArrays.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArrays;_emscripten_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDepthFunc=x0=>GLctx.depthFunc(x0);_emscripten_glDepthFunc.sig="vi";var _emscripten_glDepthMask=flag=>{GLctx.depthMask(!!flag)};_emscripten_glDepthMask.sig="vi";var _emscripten_glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_emscripten_glDepthRangef.sig="vff";var _emscripten_glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_emscripten_glDetachShader.sig="vii";var _emscripten_glDisable=x0=>GLctx.disable(x0);_emscripten_glDisable.sig="vi";var _emscripten_glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_emscripten_glDisableVertexAttribArray.sig="vi";var _emscripten_glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_emscripten_glDrawArrays.sig="viii";var _emscripten_glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_emscripten_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstanced=_emscripten_glDrawArraysInstanced;_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstanced;var tempFixedLengthArray=[];function _emscripten_glDrawBuffers(n,bufs){bufs>>>=0;var bufArray=tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>>2>>>0]}GLctx.drawBuffers(bufArray)}_emscripten_glDrawBuffers.sig="vip";var _glDrawBuffers=_emscripten_glDrawBuffers;_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffers;function _emscripten_glDrawElements(mode,count,type,indices){indices>>>=0;GLctx.drawElements(mode,count,type,indices)}_emscripten_glDrawElements.sig="viiip";function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){indices>>>=0;GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}_emscripten_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstanced=_emscripten_glDrawElementsInstanced;_glDrawElementsInstanced.sig="viiipi";var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstanced;var _glDrawElements=_emscripten_glDrawElements;_glDrawElements.sig="viiip";function _emscripten_glDrawRangeElements(mode,start,end,count,type,indices){indices>>>=0;_glDrawElements(mode,count,type,indices)}_emscripten_glDrawRangeElements.sig="viiiiip";var _emscripten_glEnable=x0=>GLctx.enable(x0);_emscripten_glEnable.sig="vi";var _emscripten_glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_emscripten_glEnableVertexAttribArray.sig="vi";var _emscripten_glEndQuery=x0=>GLctx.endQuery(x0);_emscripten_glEndQuery.sig="vi";var _emscripten_glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_emscripten_glEndQueryEXT.sig="vi";var _emscripten_glEndTransformFeedback=()=>GLctx.endTransformFeedback();_emscripten_glEndTransformFeedback.sig="v";function _emscripten_glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}_emscripten_glFenceSync.sig="pii";var _emscripten_glFinish=()=>GLctx.finish();_emscripten_glFinish.sig="v";var _emscripten_glFlush=()=>GLctx.flush();_emscripten_glFlush.sig="v";var _emscripten_glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_emscripten_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_emscripten_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};_emscripten_glFramebufferTextureLayer.sig="viiiii";var _emscripten_glFrontFace=x0=>GLctx.frontFace(x0);_emscripten_glFrontFace.sig="vi";function _emscripten_glGenBuffers(n,buffers){buffers>>>=0;GL.genObject(n,buffers,"createBuffer",GL.buffers)}_emscripten_glGenBuffers.sig="vip";function _emscripten_glGenFramebuffers(n,ids){ids>>>=0;GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)}_emscripten_glGenFramebuffers.sig="vip";function _emscripten_glGenQueries(n,ids){ids>>>=0;GL.genObject(n,ids,"createQuery",GL.queries)}_emscripten_glGenQueries.sig="vip";function _emscripten_glGenQueriesEXT(n,ids){ids>>>=0;for(var i=0;i<n;i++){var query=GLctx.disjointTimerQueryExt["createQueryEXT"]();if(!query){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>>2>>>0]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>>2>>>0]=id}}_emscripten_glGenQueriesEXT.sig="vip";function _emscripten_glGenRenderbuffers(n,renderbuffers){renderbuffers>>>=0;GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}_emscripten_glGenRenderbuffers.sig="vip";function _emscripten_glGenSamplers(n,samplers){samplers>>>=0;GL.genObject(n,samplers,"createSampler",GL.samplers)}_emscripten_glGenSamplers.sig="vip";function _emscripten_glGenTextures(n,textures){textures>>>=0;GL.genObject(n,textures,"createTexture",GL.textures)}_emscripten_glGenTextures.sig="vip";function _emscripten_glGenTransformFeedbacks(n,ids){ids>>>=0;GL.genObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}_emscripten_glGenTransformFeedbacks.sig="vip";function _emscripten_glGenVertexArrays(n,arrays){arrays>>>=0;GL.genObject(n,arrays,"createVertexArray",GL.vaos)}_emscripten_glGenVertexArrays.sig="vip";var _glGenVertexArrays=_emscripten_glGenVertexArrays;_glGenVertexArrays.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArrays;_emscripten_glGenVertexArraysOES.sig="vip";var _emscripten_glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_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>>>0]=numBytesWrittenExclNull;if(size)HEAP32[size>>>2>>>0]=info.size;if(type)HEAP32[type>>>2>>>0]=info.type}};function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}_emscripten_glGetActiveAttrib.sig="viiipppp";function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}_emscripten_glGetActiveUniform.sig="viiipppp";function _emscripten_glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){length>>>=0;uniformBlockName>>>=0;program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>>2>>>0]=0}}_emscripten_glGetActiveUniformBlockName.sig="viiipp";function _emscripten_glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>>2>>>0]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i<result.length;i++){HEAP32[params+i*4>>>2>>>0]=result[i]}}else{HEAP32[params>>>2>>>0]=result}}_emscripten_glGetActiveUniformBlockiv.sig="viiip";function _emscripten_glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){uniformIndices>>>=0;params>>>=0;if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i<uniformCount;i++){ids.push(HEAP32[uniformIndices+i*4>>>2>>>0])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i<len;i++){HEAP32[params+i*4>>>2>>>0]=result[i]}}_emscripten_glGetActiveUniformsiv.sig="viipip";function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){count>>>=0;shaders>>>=0;var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>>2>>>0]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>>2>>>0]=id}}_emscripten_glGetAttachedShaders.sig="viipp";function _emscripten_glGetAttribLocation(program,name){name>>>=0;return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>>2>>>0]=num;var lower=HEAPU32[ptr>>>2>>>0];HEAPU32[ptr+4>>>2>>>0]=(num-lower)/4294967296};var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case 0:HEAP32[p+i*4>>>2>>>0]=result[i];break;case 2:HEAPF32[p+i*4>>>2>>>0]=result[i];break;case 4:HEAP8[p+i>>>0]=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>>>0]=ret;break;case 2:HEAPF32[p>>>2>>>0]=ret;break;case 4:HEAP8[p>>>0]=ret?1:0;break}};function _emscripten_glGetBooleanv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,4)}_emscripten_glGetBooleanv.sig="vip";function _emscripten_glGetBufferParameteri64v(target,value,data){data>>>=0;if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}_emscripten_glGetBufferParameteri64v.sig="viip";function _emscripten_glGetBufferParameteriv(target,value,data){data>>>=0;if(!data){GL.recordError(1281);return}HEAP32[data>>>2>>>0]=GLctx.getBufferParameter(target,value)}_emscripten_glGetBufferParameteriv.sig="viip";var _emscripten_glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_emscripten_glGetError.sig="i";function _emscripten_glGetFloatv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,2)}_emscripten_glGetFloatv.sig="vip";function _emscripten_glGetFragDataLocation(program,name){name>>>=0;return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}_emscripten_glGetFragDataLocation.sig="iip";function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){params>>>=0;var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>>2>>>0]=result}_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var emscriptenWebGLGetIndexed=(target,index,data,type)=>{if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>>2>>>0]=ret;break;case 2:HEAPF32[data>>>2>>>0]=ret;break;case 4:HEAP8[data>>>0]=ret?1:0;break;default:abort("internal emscriptenWebGLGetIndexed() error, bad type: "+type)}};function _emscripten_glGetInteger64i_v(target,index,data){data>>>=0;return emscriptenWebGLGetIndexed(target,index,data,1)}_emscripten_glGetInteger64i_v.sig="viip";function _emscripten_glGetInteger64v(name_,p){p>>>=0;emscriptenWebGLGet(name_,p,1)}_emscripten_glGetInteger64v.sig="vip";function _emscripten_glGetIntegeri_v(target,index,data){data>>>=0;return emscriptenWebGLGetIndexed(target,index,data,0)}_emscripten_glGetIntegeri_v.sig="viip";function _emscripten_glGetIntegerv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,0)}_emscripten_glGetIntegerv.sig="vip";function _emscripten_glGetInternalformativ(target,internalformat,pname,bufSize,params){params>>>=0;if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i<ret.length&&i<bufSize;++i){HEAP32[params+i*4>>>2>>>0]=ret[i]}}_emscripten_glGetInternalformativ.sig="viiiip";function _emscripten_glGetProgramBinary(program,bufSize,length,binaryFormat,binary){length>>>=0;binaryFormat>>>=0;binary>>>=0;GL.recordError(1282)}_emscripten_glGetProgramBinary.sig="viippp";function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;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>>>0]=numBytesWrittenExclNull}_emscripten_glGetProgramInfoLog.sig="viipp";function _emscripten_glGetProgramiv(program,pname,p){p>>>=0;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>>>0]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i<numActiveUniforms;++i){program.maxUniformLength=Math.max(program.maxUniformLength,GLctx.getActiveUniform(program,i).name.length+1)}}HEAP32[p>>>2>>>0]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i<numActiveAttributes;++i){program.maxAttributeLength=Math.max(program.maxAttributeLength,GLctx.getActiveAttrib(program,i).name.length+1)}}HEAP32[p>>>2>>>0]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i<numActiveUniformBlocks;++i){program.maxUniformBlockNameLength=Math.max(program.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(program,i).length+1)}}HEAP32[p>>>2>>>0]=program.maxUniformBlockNameLength}else{HEAP32[p>>>2>>>0]=GLctx.getProgramParameter(program,pname)}}_emscripten_glGetProgramiv.sig="viip";function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}_emscripten_glGetQueryObjecti64vEXT.sig="viip";function _emscripten_glGetQueryObjectivEXT(id,pname,params){params>>>=0;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>>>0]=ret}_emscripten_glGetQueryObjectivEXT.sig="viip";var _glGetQueryObjecti64vEXT=_emscripten_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;function _emscripten_glGetQueryObjectuiv(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>>2>>>0]=ret}_emscripten_glGetQueryObjectuiv.sig="viip";var _glGetQueryObjectivEXT=_emscripten_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;function _emscripten_glGetQueryiv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getQuery(target,pname)}_emscripten_glGetQueryiv.sig="viip";function _emscripten_glGetQueryivEXT(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}_emscripten_glGetQueryivEXT.sig="viip";function _emscripten_glGetRenderbufferParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getRenderbufferParameter(target,pname)}_emscripten_glGetRenderbufferParameteriv.sig="viip";function _emscripten_glGetSamplerParameterfv(sampler,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAPF32[params>>>2>>>0]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}_emscripten_glGetSamplerParameterfv.sig="viip";function _emscripten_glGetSamplerParameteriv(sampler,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}_emscripten_glGetSamplerParameteriv.sig="viip";function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;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>>>0]=numBytesWrittenExclNull}_emscripten_glGetShaderInfoLog.sig="viipp";function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){range>>>=0;precision>>>=0;var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>>2>>>0]=result.rangeMin;HEAP32[range+4>>>2>>>0]=result.rangeMax;HEAP32[precision>>>2>>>0]=result.precision}_emscripten_glGetShaderPrecisionFormat.sig="viipp";function _emscripten_glGetShaderSource(shader,bufSize,length,source){length>>>=0;source>>>=0;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>>>0]=numBytesWrittenExclNull}_emscripten_glGetShaderSource.sig="viipp";function _emscripten_glGetShaderiv(shader,pname,p){p>>>=0;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>>>0]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>>2>>>0]=sourceLength}else{HEAP32[p>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}_emscripten_glGetShaderiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};function _emscripten_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})`;if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.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}_emscripten_glGetString.sig="pi";function _emscripten_glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=webglGetExtensions().map(stringToNewUTF8);stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}_emscripten_glGetStringi.sig="pii";function _emscripten_glGetSynciv(sync,pname,bufSize,length,values){sync>>>=0;length>>>=0;values>>>=0;if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>>2>>>0]=ret;if(length)HEAP32[length>>>2>>>0]=1}}_emscripten_glGetSynciv.sig="vpiipp";function _emscripten_glGetTexParameterfv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAPF32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}_emscripten_glGetTexParameterfv.sig="viip";function _emscripten_glGetTexParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}_emscripten_glGetTexParameteriv.sig="viip";function _emscripten_glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>>2>>>0]=0}if(size)HEAP32[size>>>2>>>0]=info.size;if(type)HEAP32[type>>>2>>>0]=info.type}_emscripten_glGetTransformFeedbackVarying.sig="viiipppp";function _emscripten_glGetUniformBlockIndex(program,uniformBlockName){uniformBlockName>>>=0;return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}_emscripten_glGetUniformBlockIndex.sig="iip";function _emscripten_glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){uniformNames>>>=0;uniformIndices>>>=0;if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i<uniformCount;i++)names.push(UTF8ToString(HEAPU32[uniformNames+i*4>>>2>>>0]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i<len;i++){HEAP32[uniformIndices+i*4>>>2>>>0]=result[i]}}_emscripten_glGetUniformIndices.sig="viipp";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;i<numActiveUniforms;++i){var u=GLctx.getActiveUniform(program,i);var nm=u.name;var sz=u.size;var lb=webglGetLeftBracePos(nm);var arrayName=lb>0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j<sz;++j){uniformLocsById[id]=j;program.uniformArrayNamesById[id++]=arrayName}}}};function _emscripten_glGetUniformLocation(program,name){name>>>=0;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<sizeAndId[0]){arrayIndex+=sizeAndId[1];if(uniformLocsById[arrayIndex]=uniformLocsById[arrayIndex]||GLctx.getUniformLocation(program,name)){return arrayIndex}}}else{GL.recordError(1281)}return-1}_emscripten_glGetUniformLocation.sig="iip";var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var 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>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break}}else{for(var i=0;i<data.length;i++){switch(type){case 0:HEAP32[params+i*4>>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break}}}};function _emscripten_glGetUniformfv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,2)}_emscripten_glGetUniformfv.sig="viip";function _emscripten_glGetUniformiv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,0)}_emscripten_glGetUniformiv.sig="viip";function _emscripten_glGetUniformuiv(program,location,params){params>>>=0;return emscriptenWebGLGetUniform(program,location,params,0)}_emscripten_glGetUniformuiv.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>>>0]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break;case 5:HEAP32[params>>>2>>>0]=Math.fround(data);break}}else{for(var i=0;i<data.length;i++){switch(type){case 0:HEAP32[params+i*4>>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break;case 5:HEAP32[params+i*4>>>2>>>0]=Math.fround(data[i]);break}}}};function _emscripten_glGetVertexAttribIiv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,0)}_emscripten_glGetVertexAttribIiv.sig="viip";var _glGetVertexAttribIiv=_emscripten_glGetVertexAttribIiv;_glGetVertexAttribIiv.sig="viip";var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIiv;_emscripten_glGetVertexAttribIuiv.sig="viip";function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){pointer>>>=0;if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>>2>>>0]=GLctx.getVertexAttribOffset(index,pname)}_emscripten_glGetVertexAttribPointerv.sig="viip";function _emscripten_glGetVertexAttribfv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,2)}_emscripten_glGetVertexAttribfv.sig="viip";function _emscripten_glGetVertexAttribiv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,5)}_emscripten_glGetVertexAttribiv.sig="viip";var _emscripten_glHint=(x0,x1)=>GLctx.hint(x0,x1);_emscripten_glHint.sig="vii";function _emscripten_glInvalidateFramebuffer(target,numAttachments,attachments){attachments>>>=0;var list=tempFixedLengthArray[numAttachments];for(var i=0;i<numAttachments;i++){list[i]=HEAP32[attachments+i*4>>>2>>>0]}GLctx.invalidateFramebuffer(target,list)}_emscripten_glInvalidateFramebuffer.sig="viip";function _emscripten_glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){attachments>>>=0;var list=tempFixedLengthArray[numAttachments];for(var i=0;i<numAttachments;i++){list[i]=HEAP32[attachments+i*4>>>2>>>0]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}_emscripten_glInvalidateSubFramebuffer.sig="viipiiii";var _emscripten_glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_emscripten_glIsBuffer.sig="ii";var _emscripten_glIsEnabled=x0=>GLctx.isEnabled(x0);_emscripten_glIsEnabled.sig="ii";var _emscripten_glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_emscripten_glIsFramebuffer.sig="ii";var _emscripten_glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_emscripten_glIsProgram.sig="ii";var _emscripten_glIsQuery=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)};_emscripten_glIsQuery.sig="ii";var _emscripten_glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_emscripten_glIsQueryEXT.sig="ii";var _emscripten_glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_emscripten_glIsRenderbuffer.sig="ii";var _emscripten_glIsSampler=id=>{var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)};_emscripten_glIsSampler.sig="ii";var _emscripten_glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_emscripten_glIsShader.sig="ii";function _emscripten_glIsSync(sync){sync>>>=0;return GLctx.isSync(GL.syncs[sync])}_emscripten_glIsSync.sig="ip";var _emscripten_glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_emscripten_glIsTexture.sig="ii";var _emscripten_glIsTransformFeedback=id=>GLctx.isTransformFeedback(GL.transformFeedbacks[id]);_emscripten_glIsTransformFeedback.sig="ii";var _emscripten_glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_emscripten_glIsVertexArray.sig="ii";var _glIsVertexArray=_emscripten_glIsVertexArray;_glIsVertexArray.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArray;_emscripten_glIsVertexArrayOES.sig="ii";var _emscripten_glLineWidth=x0=>GLctx.lineWidth(x0);_emscripten_glLineWidth.sig="vf";var _emscripten_glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_emscripten_glLinkProgram.sig="vi";var _emscripten_glPauseTransformFeedback=()=>GLctx.pauseTransformFeedback();_emscripten_glPauseTransformFeedback.sig="v";var _emscripten_glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_emscripten_glPixelStorei.sig="vii";var _emscripten_glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_emscripten_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_emscripten_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_emscripten_glPolygonOffsetClampEXT.sig="vfff";function _emscripten_glProgramBinary(program,binaryFormat,binary,length){binary>>>=0;GL.recordError(1280)}_emscripten_glProgramBinary.sig="viipi";var _emscripten_glProgramParameteri=(program,pname,value)=>{GL.recordError(1280)};_emscripten_glProgramParameteri.sig="viii";var _emscripten_glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_emscripten_glQueryCounterEXT.sig="vii";var _emscripten_glReadBuffer=x0=>GLctx.readBuffer(x0);_emscripten_glReadBuffer.sig="vi";var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap)>>>0,toTypedArrayIndex(pixels+bytes,heap)>>>0)};function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}_emscripten_glReadPixels.sig="viiiiiip";var _emscripten_glReleaseShaderCompiler=()=>{};_emscripten_glReleaseShaderCompiler.sig="v";var _emscripten_glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_emscripten_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);_emscripten_glRenderbufferStorageMultisample.sig="viiiii";var _emscripten_glResumeTransformFeedback=()=>GLctx.resumeTransformFeedback();_emscripten_glResumeTransformFeedback.sig="v";var _emscripten_glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_emscripten_glSampleCoverage.sig="vfi";var _emscripten_glSamplerParameterf=(sampler,pname,param)=>{GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};_emscripten_glSamplerParameterf.sig="viif";function _emscripten_glSamplerParameterfv(sampler,pname,params){params>>>=0;var param=HEAPF32[params>>>2>>>0];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}_emscripten_glSamplerParameterfv.sig="viip";var _emscripten_glSamplerParameteri=(sampler,pname,param)=>{GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};_emscripten_glSamplerParameteri.sig="viii";function _emscripten_glSamplerParameteriv(sampler,pname,params){params>>>=0;var param=HEAP32[params>>>2>>>0];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}_emscripten_glSamplerParameteriv.sig="viip";var _emscripten_glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_emscripten_glScissor.sig="viiii";function _emscripten_glShaderBinary(count,shaders,binaryformat,binary,length){shaders>>>=0;binary>>>=0;GL.recordError(1280)}_emscripten_glShaderBinary.sig="vipipi";function _emscripten_glShaderSource(shader,count,string,length){string>>>=0;length>>>=0;var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}_emscripten_glShaderSource.sig="viipp";var _emscripten_glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_emscripten_glStencilFunc.sig="viii";var _emscripten_glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_emscripten_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilMask=x0=>GLctx.stencilMask(x0);_emscripten_glStencilMask.sig="vi";var _emscripten_glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_emscripten_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_emscripten_glStencilOp.sig="viii";var _emscripten_glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_emscripten_glStencilOpSeparate.sig="viiii";function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}_emscripten_glTexImage2D.sig="viiiiiiiip";function _emscripten_glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){pixels>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height*depth,pixels,internalFormat);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixelData)}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}_emscripten_glTexImage3D.sig="viiiiiiiiip";var _emscripten_glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_emscripten_glTexParameterf.sig="viif";function _emscripten_glTexParameterfv(target,pname,params){params>>>=0;var param=HEAPF32[params>>>2>>>0];GLctx.texParameterf(target,pname,param)}_emscripten_glTexParameterfv.sig="viip";var _emscripten_glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_emscripten_glTexParameteri.sig="viii";function _emscripten_glTexParameteriv(target,pname,params){params>>>=0;var param=HEAP32[params>>>2>>>0];GLctx.texParameteri(target,pname,param)}_emscripten_glTexParameteriv.sig="viip";var _emscripten_glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);_emscripten_glTexStorage2D.sig="viiiii";var _emscripten_glTexStorage3D=(x0,x1,x2,x3,x4,x5)=>GLctx.texStorage3D(x0,x1,x2,x3,x4,x5);_emscripten_glTexStorage3D.sig="viiiiii";function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}_emscripten_glTexSubImage2D.sig="viiiiiiiip";function _emscripten_glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){pixels>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}_emscripten_glTexSubImage3D.sig="viiiiiiiiiip";function _emscripten_glTransformFeedbackVaryings(program,count,varyings,bufferMode){varyings>>>=0;program=GL.programs[program];var vars=[];for(var i=0;i<count;i++)vars.push(UTF8ToString(HEAPU32[varyings+i*4>>>2>>>0]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}_emscripten_glTransformFeedbackVaryings.sig="viipi";var _emscripten_glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}_emscripten_glUniform1fv.sig="viip";var _emscripten_glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i<count;++i){view[i]=HEAP32[value+4*i>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}_emscripten_glUniform1iv.sig="viip";var _emscripten_glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};_emscripten_glUniform1ui.sig="vii";function _emscripten_glUniform1uiv(location,count,value){value>>>=0;count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count)}_emscripten_glUniform1uiv.sig="viip";var _emscripten_glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_emscripten_glUniform2f.sig="viff";function _emscripten_glUniform2fv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i<count;i+=2){view[i]=HEAPF32[value+4*i>>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}_emscripten_glUniform2fv.sig="viip";var _emscripten_glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_emscripten_glUniform2i.sig="viii";function _emscripten_glUniform2iv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i<count;i+=2){view[i]=HEAP32[value+4*i>>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}_emscripten_glUniform2iv.sig="viip";var _emscripten_glUniform2ui=(location,v0,v1)=>{GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)};_emscripten_glUniform2ui.sig="viii";function _emscripten_glUniform2uiv(location,count,value){value>>>=0;count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*2)}_emscripten_glUniform2uiv.sig="viip";var _emscripten_glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_emscripten_glUniform3f.sig="vifff";function _emscripten_glUniform3fv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i<count;i+=3){view[i]=HEAPF32[value+4*i>>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}_emscripten_glUniform3fv.sig="viip";var _emscripten_glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_emscripten_glUniform3i.sig="viiii";function _emscripten_glUniform3iv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i<count;i+=3){view[i]=HEAP32[value+4*i>>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}_emscripten_glUniform3iv.sig="viip";var _emscripten_glUniform3ui=(location,v0,v1,v2)=>{GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)};_emscripten_glUniform3ui.sig="viiii";function _emscripten_glUniform3uiv(location,count,value){value>>>=0;count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*3)}_emscripten_glUniform3uiv.sig="viip";var _emscripten_glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_emscripten_glUniform4f.sig="viffff";function _emscripten_glUniform4fv(location,count,value){value>>>=0;if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>>2;count*=4;for(var i=0;i<count;i+=4){var dst=value+i;view[i]=heap[dst>>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}_emscripten_glUniform4fv.sig="viip";var _emscripten_glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_emscripten_glUniform4i.sig="viiiii";function _emscripten_glUniform4iv(location,count,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i<count;i+=4){view[i]=HEAP32[value+4*i>>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAP32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}_emscripten_glUniform4iv.sig="viip";var _emscripten_glUniform4ui=(location,v0,v1,v2,v3)=>{GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)};_emscripten_glUniform4ui.sig="viiiii";function _emscripten_glUniform4uiv(location,count,value){value>>>=0;count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*4)}_emscripten_glUniform4uiv.sig="viip";var _emscripten_glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};_emscripten_glUniformBlockBinding.sig="viii";function _emscripten_glUniformMatrix2fv(location,count,transpose,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i<count;i+=4){view[i]=HEAPF32[value+4*i>>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}_emscripten_glUniformMatrix2fv.sig="viiip";function _emscripten_glUniformMatrix2x3fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*6)}_emscripten_glUniformMatrix2x3fv.sig="viiip";function _emscripten_glUniformMatrix2x4fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*8)}_emscripten_glUniformMatrix2x4fv.sig="viiip";function _emscripten_glUniformMatrix3fv(location,count,transpose,value){value>>>=0;if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i<count;i+=9){view[i]=HEAPF32[value+4*i>>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0];view[i+4]=HEAPF32[value+(4*i+16)>>>2>>>0];view[i+5]=HEAPF32[value+(4*i+20)>>>2>>>0];view[i+6]=HEAPF32[value+(4*i+24)>>>2>>>0];view[i+7]=HEAPF32[value+(4*i+28)>>>2>>>0];view[i+8]=HEAPF32[value+(4*i+32)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*36>>>2>>>0)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}_emscripten_glUniformMatrix3fv.sig="viiip";function _emscripten_glUniformMatrix3x2fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*6)}_emscripten_glUniformMatrix3x2fv.sig="viiip";function _emscripten_glUniformMatrix3x4fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*12)}_emscripten_glUniformMatrix3x4fv.sig="viiip";function _emscripten_glUniformMatrix4fv(location,count,transpose,value){value>>>=0;if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>>2;count*=16;for(var i=0;i<count;i+=16){var dst=value+i;view[i]=heap[dst>>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0];view[i+4]=heap[dst+4>>>0];view[i+5]=heap[dst+5>>>0];view[i+6]=heap[dst+6>>>0];view[i+7]=heap[dst+7>>>0];view[i+8]=heap[dst+8>>>0];view[i+9]=heap[dst+9>>>0];view[i+10]=heap[dst+10>>>0];view[i+11]=heap[dst+11>>>0];view[i+12]=heap[dst+12>>>0];view[i+13]=heap[dst+13>>>0];view[i+14]=heap[dst+14>>>0];view[i+15]=heap[dst+15>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*64>>>2>>>0)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}_emscripten_glUniformMatrix4fv.sig="viiip";function _emscripten_glUniformMatrix4x2fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*8)}_emscripten_glUniformMatrix4x2fv.sig="viiip";function _emscripten_glUniformMatrix4x3fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*12)}_emscripten_glUniformMatrix4x3fv.sig="viiip";var _emscripten_glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_emscripten_glUseProgram.sig="vi";var _emscripten_glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_emscripten_glValidateProgram.sig="vi";var _emscripten_glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_emscripten_glVertexAttrib1f.sig="vif";function _emscripten_glVertexAttrib1fv(index,v){v>>>=0;GLctx.vertexAttrib1f(index,HEAPF32[v>>>2])}_emscripten_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_emscripten_glVertexAttrib2f.sig="viff";function _emscripten_glVertexAttrib2fv(index,v){v>>>=0;GLctx.vertexAttrib2f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2])}_emscripten_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_emscripten_glVertexAttrib3f.sig="vifff";function _emscripten_glVertexAttrib3fv(index,v){v>>>=0;GLctx.vertexAttrib3f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2])}_emscripten_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_emscripten_glVertexAttrib4f.sig="viffff";function _emscripten_glVertexAttrib4fv(index,v){v>>>=0;GLctx.vertexAttrib4f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2],HEAPF32[v+12>>>2])}_emscripten_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_emscripten_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisor=_emscripten_glVertexAttribDivisor;_glVertexAttribDivisor.sig="vii";var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribI4i=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4i(x0,x1,x2,x3,x4);_emscripten_glVertexAttribI4i.sig="viiiii";function _emscripten_glVertexAttribI4iv(index,v){v>>>=0;GLctx.vertexAttribI4i(index,HEAP32[v>>>2],HEAP32[v+4>>>2],HEAP32[v+8>>>2],HEAP32[v+12>>>2])}_emscripten_glVertexAttribI4iv.sig="vip";var _emscripten_glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);_emscripten_glVertexAttribI4ui.sig="viiiii";function _emscripten_glVertexAttribI4uiv(index,v){v>>>=0;GLctx.vertexAttribI4ui(index,HEAPU32[v>>>2],HEAPU32[v+4>>>2],HEAPU32[v+8>>>2],HEAPU32[v+12>>>2])}_emscripten_glVertexAttribI4uiv.sig="vip";function _emscripten_glVertexAttribIPointer(index,size,type,stride,ptr){ptr>>>=0;GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}_emscripten_glVertexAttribIPointer.sig="viiiip";function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){ptr>>>=0;GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}_emscripten_glVertexAttribPointer.sig="viiiiip";var _emscripten_glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_emscripten_glViewport.sig="viiii";function _emscripten_glWaitSync(sync,flags,timeout){sync>>>=0;timeout=Number(timeout);GLctx.waitSync(GL.syncs[sync],flags,timeout)}_emscripten_glWaitSync.sig="vpij";function _emscripten_out(str){str>>>=0;return 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};function _emscripten_promise_create(){return makePromise().id}_emscripten_promise_create.sig="p";function _emscripten_promise_destroy(id){id>>>=0;promiseMap.free(id)}_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;function _emscripten_promise_resolve(id,result,value){id>>>=0;value>>>=0;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 oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;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_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.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};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}_environ_get.sig="ipp";function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=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){pbuf>>>=0;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>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);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<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_pread(fd,iov,iovcnt,offset,pnum){iov>>>=0;iovcnt>>>=0;offset=bigintToI53Checked(offset);pnum>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippjp";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len){break}if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_pwrite(fd,iov,iovcnt,offset,pnum){iov>>>=0;iovcnt>>>=0;offset=bigintToI53Checked(offset);pnum>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt,offset);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippjp";function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=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,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>>3>>>0]=BigInt(stream.position);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="iijip";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);var rtn=stream.stream_ops?.fsync?.(stream);return rtn}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){iov>>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_write.sig="iippp";function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;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);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}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>>>0]&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>>>0]=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>>>0]=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>>>0]=ai;return 0}_getaddrinfo.sig="ipppp";function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;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 Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var _setprotoent=stayopen=>{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<length;i++,j+=4){var alias=aliases[i];var aliasBuf=_malloc(alias.length+1);stringToAscii(alias,aliasBuf);HEAPU32[aliasListBuf+j>>>2>>>0]=aliasBuf}HEAPU32[aliasListBuf+j>>>2>>>0]=0;var pe=_malloc(12);HEAPU32[pe>>>2>>>0]=nameBuf;HEAPU32[pe+4>>>2>>>0]=aliasListBuf;HEAP32[pe+8>>>2>>>0]=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";function _getprotobyname(name){name>>>=0;name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result}_getprotobyname.sig="pp";function _random_get(buffer,size){buffer>>>=0;size>>>=0;try{randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";var _stackAlloc=stackAlloc;var _stackRestore=stackSave;var _stackSave=stackSave;var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>>2>>>0]=4294967295;HEAPU32[ptr+4>>>2>>>0]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>>2>>>0]=0;HEAPU32[ptr+4>>>2>>>0]=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>>>0]=4294967295;HEAPU32[ptr+4>>>2>>>0]=4294967295}else if(num<0){HEAPU32[ptr>>>2>>>0]=0;HEAPU32[ptr+4>>>2>>>0]=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>>>0]+HEAPU32[ptr+4>>>2>>>0]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var getTempRet0=val=>__emscripten_tempret_get();var setTempRet0=val=>__emscripten_tempret_set(val);var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};function _emscripten_notify_memory_growth(memoryIndex){memoryIndex>>>=0;updateMemoryViews()}_emscripten_notify_memory_growth.sig="vp";var strError=errno=>UTF8ToString(_strerror(errno));var _endprotoent=()=>{};_endprotoent.sig="v";function _getprotoent(number){if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result}_getprotoent.sig="p";function _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]};function _emscripten_run_script(ptr){ptr>>>=0;eval(UTF8ToString(ptr))}_emscripten_run_script.sig="vp";function _emscripten_run_script_int(ptr){ptr>>>=0;return eval(UTF8ToString(ptr))|0}_emscripten_run_script_int.sig="ip";function _emscripten_run_script_string(ptr){ptr>>>=0;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;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};function _emscripten_get_compiler_setting(name){name>>>=0;return abort("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";function _emscripten_print_double(x,to,max){to>>>=0;var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)}_emscripten_print_double.sig="idpi";function _emscripten_asm_const_double(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}_emscripten_asm_const_double.sig="dppp";function _emscripten_asm_const_ptr(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return 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)};function _emscripten_asm_const_int_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1)}_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";function _emscripten_asm_const_ptr_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1)}_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";function _emscripten_asm_const_double_sync_on_main_thread(a1,a2,a3){a1>>>=0;a2>>>=0;a3>>>=0;return _emscripten_asm_const_int_sync_on_main_thread(a1,a2,a3)}_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";function _emscripten_asm_const_async_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0)}_emscripten_asm_const_async_on_main_thread.sig="vppp";function __Unwind_Backtrace(func,arg){func>>>=0;arg>>>=0;var trace=getCallstack();var parts=trace.split("\n");for(var i=0;i<parts.length;i++){var ret=getWasmTableEntry(func)(0,arg);if(ret!==0)return}}__Unwind_Backtrace.sig="ipp";function __Unwind_GetIPInfo(context,ipBefore){context>>>=0;ipBefore>>>=0;return abort("Unwind_GetIPInfo")}__Unwind_GetIPInfo.sig="ppp";function __Unwind_FindEnclosingFunction(ip){ip>>>=0;return 0}__Unwind_FindEnclosingFunction.sig="pp";var autoResumeAudioContext=ctx=>{for(var event of["keydown","mousedown","touchstart"]){for(var element of[document,document.getElementById("canvas")]){element?.addEventListener(event,()=>{if(ctx.state==="suspended")ctx.resume()},{once:true})}}};var dynCall=(sig,ptr,args=[],promising=false)=>{var func=getWasmTableEntry(ptr);var rtn=func(...args);function convert(rtn){return sig[0]=="p"?rtn>>>0:rtn}return convert(rtn)};var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();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";function _emscripten_outn(str,len){str>>>=0;len>>>=0;return out(UTF8ToString(str,len))}_emscripten_outn.sig="vpp";function _emscripten_errn(str,len){str>>>=0;len>>>=0;return err(UTF8ToString(str,len))}_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";function _emscripten_throw_string(str){str>>>=0;throw UTF8ToString(str)}_emscripten_throw_string.sig="vp";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return"_"+x};function __emscripten_fs_load_embedded_files(ptr){ptr>>>=0;do{var name_addr=HEAPU32[ptr>>>2>>>0];ptr+=4;var len=HEAPU32[ptr>>>2>>>0];ptr+=4;var content=HEAPU32[ptr>>>2>>>0];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content>>>0,content+len>>>0),true,true,true)}while(HEAPU32[ptr>>>2>>>0])}__emscripten_fs_load_embedded_files.sig="vp";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=10485760;var STACK_ALIGN=16;var POINTER_SIZE=4;var ASSERTIONS=0;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};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==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{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 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";function _emscripten_math_hypot(count,varargs){varargs>>>=0;var args=[];for(var i=0;i<count;++i){args.push(HEAPF64[varargs+i*8>>>3>>>0])}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 intArrayToString=array=>{var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var AsciiToString=ptr=>{ptr>>>=0;var str="";while(1){var ch=HEAPU8[ptr++>>>0];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx>>>0,endIdx>>>0));var str="";for(var i=idx;i<endIdx;++i){var codeUnit=HEAPU16[i>>>0];str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>>1>>>0]=codeUnit;outPtr+=2}HEAP16[outPtr>>>1>>>0]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str="";var startIdx=ptr>>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i>>>0];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{outPtr>>>=0;maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}HEAP32[outPtr>>>2>>>0]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>>2>>>0]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codePoint=str.codePointAt(i);if(codePoint>65535){i++}len+=4}return len};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){addOnExit(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},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.precedence<y.precedence)},removeDeferredCalls(targetFunction){JSEvents.deferredCalls=JSEvents.deferredCalls.filter(call=>call.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;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}},_removeHandler(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)},registerOrRemoveHandler(eventHandler){if(!eventHandler.target){return-4}if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=function(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};eventHandler.target.addEventListener(eventHandler.eventTypeString,eventHandler.eventListenerFunc,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}return 0},removeSingleHandler(eventHandler){let success=false;for(let i=0;i<JSEvents.eventHandlers.length;++i){const handler=JSEvents.eventHandlers[i];if(handler.target===eventHandler.target&&handler.eventTypeId===eventHandler.eventTypeId&&handler.callbackfunc===eventHandler.callbackfunc&&handler.userData===eventHandler.userData){JSEvents._removeHandler(i--);success=true}}return success?0:-5},getNodeNameForTarget(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target?.nodeName||""},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function getFullscreenElement(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement}var maybeCStringToJsString=cString=>cString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,globalThis.document??0,globalThis.window??0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||globalThis.document?.querySelector(target);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=160;JSEvents.keyEvent||=_malloc(eventSize);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>>3>>>0]=e.timeStamp;var idx=keyEventData>>>2;HEAP32[idx+2>>>0]=e.location;HEAP8[keyEventData+12>>>0]=e.ctrlKey;HEAP8[keyEventData+13>>>0]=e.shiftKey;HEAP8[keyEventData+14>>>0]=e.altKey;HEAP8[keyEventData+15>>>0]=e.metaKey;HEAP8[keyEventData+16>>>0]=e.repeat;HEAP32[idx+5>>>0]=e.charCode;HEAP32[idx+6>>>0]=e.keyCode;HEAP32[idx+7>>>0]=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,eventTypeId,userData,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;function _emscripten_html5_remove_event_listener(target,userData,eventTypeId,callback){target>>>=0;userData>>>=0;callback>>>=0;var eventHandler={target:findEventTarget(target),userData,eventTypeId,callbackfunc:callback};return JSEvents.removeSingleHandler(eventHandler)}_emscripten_html5_remove_event_listener.sig="ippip";function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}_emscripten_set_keypress_callback_on_thread.sig="ippipp";function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}_emscripten_set_keydown_callback_on_thread.sig="ippipp";function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return 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>>>0]=e.timeStamp;var idx=eventStruct>>>2;HEAP32[idx+2>>>0]=e.screenX;HEAP32[idx+3>>>0]=e.screenY;HEAP32[idx+4>>>0]=e.clientX;HEAP32[idx+5>>>0]=e.clientY;HEAP8[eventStruct+24>>>0]=e.ctrlKey;HEAP8[eventStruct+25>>>0]=e.shiftKey;HEAP8[eventStruct+26>>>0]=e.altKey;HEAP8[eventStruct+27>>>0]=e.metaKey;HEAP16[idx*2+14>>>0]=e.button;HEAP16[idx*2+15>>>0]=e.buttons;HEAP32[idx+8>>>0]=e["movementX"];HEAP32[idx+9>>>0]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10>>>0]=e.clientX-(rect.left|0);HEAP32[idx+11>>>0]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=64;JSEvents.mouseEvent||=_malloc(eventSize);target=findEventTarget(target);var mouseEventHandlerFunc=e=>{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,eventTypeId,userData,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread)}_emscripten_set_click_callback_on_thread.sig="ippipp";function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}_emscripten_set_mousedown_callback_on_thread.sig="ippipp";function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}_emscripten_set_mouseup_callback_on_thread.sig="ippipp";function _emscripten_set_dblclick_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread)}_emscripten_set_dblclick_callback_on_thread.sig="ippipp";function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}_emscripten_set_mousemove_callback_on_thread.sig="ippipp";function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";function _emscripten_set_mouseover_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread)}_emscripten_set_mouseover_callback_on_thread.sig="ippipp";function _emscripten_set_mouseout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread)}_emscripten_set_mouseout_callback_on_thread.sig="ippipp";function __emscripten_get_last_mouse_event(){return JSEvents.mouseEvent}__emscripten_get_last_mouse_event.sig="p";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=96;JSEvents.wheelEvent||=_malloc(eventSize);var wheelHandlerFunc=e=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>>3>>>0]=e["deltaX"];HEAPF64[wheelEvent+72>>>3>>>0]=e["deltaY"];HEAPF64[wheelEvent+80>>>3>>>0]=e["deltaZ"];HEAP32[wheelEvent+88>>>2>>>0]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;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)=>{var eventSize=36;JSEvents.uiEvent||=_malloc(eventSize);target=findEventTarget(target);var uiEventHandlerFunc=e=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>>2>>>0]=0;HEAP32[uiEvent+4>>>2>>>0]=b.clientWidth;HEAP32[uiEvent+8>>>2>>>0]=b.clientHeight;HEAP32[uiEvent+12>>>2>>>0]=innerWidth;HEAP32[uiEvent+16>>>2>>>0]=innerHeight;HEAP32[uiEvent+20>>>2>>>0]=outerWidth;HEAP32[uiEvent+24>>>2>>>0]=outerHeight;HEAP32[uiEvent+28>>>2>>>0]=pageXOffset|0;HEAP32[uiEvent+32>>>2>>>0]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}_emscripten_set_resize_callback_on_thread.sig="ippipp";function _emscripten_set_scroll_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return 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)=>{var eventSize=256;JSEvents.focusEvent||=_malloc(eventSize);var focusEventHandlerFunc=e=>{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,eventTypeId,userData,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}_emscripten_set_blur_callback_on_thread.sig="ippipp";function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}_emscripten_set_focus_callback_on_thread.sig="ippipp";function _emscripten_set_focusin_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread)}_emscripten_set_focusin_callback_on_thread.sig="ippipp";function _emscripten_set_focusout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread)}_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>>3>>>0]=e.alpha;HEAPF64[eventStruct+8>>>3>>>0]=e.beta;HEAPF64[eventStruct+16>>>3>>>0]=e.gamma;HEAP8[eventStruct+24>>>0]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=32;JSEvents.deviceOrientationEvent||=_malloc(eventSize);var deviceOrientationEventHandlerFunc=e=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_deviceorientation_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread)}_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";function __emscripten_get_last_deviceorientation_event(){return JSEvents.deviceOrientationEvent}__emscripten_get_last_deviceorientation_event.sig="p";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||{};HEAP32[eventStruct+72>>>2>>>0]=supportedFields;HEAPF64[eventStruct>>>3>>>0]=a["x"];HEAPF64[eventStruct+8>>>3>>>0]=a["y"];HEAPF64[eventStruct+16>>>3>>>0]=a["z"];HEAPF64[eventStruct+24>>>3>>>0]=ag["x"];HEAPF64[eventStruct+32>>>3>>>0]=ag["y"];HEAPF64[eventStruct+40>>>3>>>0]=ag["z"];HEAPF64[eventStruct+48>>>3>>>0]=rr["alpha"];HEAPF64[eventStruct+56>>>3>>>0]=rr["beta"];HEAPF64[eventStruct+64>>>3>>>0]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=80;JSEvents.deviceMotionEvent||=_malloc(eventSize);var deviceMotionEventHandlerFunc=e=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_devicemotion_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread)}_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";function __emscripten_get_last_devicemotion_event(){return JSEvents.deviceMotionEvent}__emscripten_get_last_devicemotion_event.sig="p";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<<orientationIndex}orientationAngle=screenOrientObj.angle}else{orientationAngle=window.orientation}HEAP32[eventStruct>>>2>>>0]=orientationIndex;HEAP32[eventStruct+4>>>2>>>0]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=8;JSEvents.orientationChangeEvent||=_malloc(eventSize);var orientationChangeEventHandlerFunc=e=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_orientationchange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;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";function _emscripten_get_orientation_status(orientationChangeEvent){orientationChangeEvent>>>=0;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=getFullscreenElement();var isFullscreen=!!fullscreenElement;HEAP8[eventStruct>>>0]=isFullscreen;HEAP8[eventStruct+1>>>0]=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>>>0]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>>2>>>0]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>>2>>>0]=screen.width;HEAP32[eventStruct+272>>>2>>>0]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=276;JSEvents.fullscreenChangeEvent||=_malloc(eventSize);var fullscreenChangeEventHandlerFunc=e=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:fullscreenChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;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";function _emscripten_get_fullscreen_status(fullscreenStatus){fullscreenStatus>>>=0;if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0}_emscripten_get_fullscreen_status.sig="ip";function _emscripten_get_canvas_element_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>>2>>>0]=canvas.width;HEAP32[height>>>2>>>0]=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>>>0],HEAP32[h>>>2>>>0]];stackRestore(sp);return size};function _emscripten_set_canvas_element_size(target,width,height){target>>>=0;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(){if(!getFullscreenElement()){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<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}target.style.backgroundColor||="black";document.body.style.backgroundColor||="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){var newWidth=cssWidth*dpiScale|0;var newHeight=cssHeight*dpiScale|0;setCanvasElementSize(target,newWidth,newHeight);if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,newWidth,newHeight)}return restoreOldStyle};var JSEvents_requestFullscreen=(target,strategy)=>{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*y<x*h)h=w*y/x|0;else if(w*y>x*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)};function _emscripten_request_fullscreen(target,deferUntilInEventHandler){target>>>=0;var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)}_emscripten_request_fullscreen.sig="ipi";function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){target>>>=0;fullscreenStrategy>>>=0;var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2>>>0],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2>>>0],filteringMode:HEAP32[fullscreenStrategy+8>>>2>>>0],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2>>>0]};return doRequestFullscreen(target,strategy)}_emscripten_request_fullscreen_strategy.sig="ipip";function _emscripten_enter_soft_fullscreen(target,fullscreenStrategy){target>>>=0;fullscreenStrategy>>>=0;target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2>>>0],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2>>>0],filteringMode:HEAP32[fullscreenStrategy+8>>>2>>>0],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2>>>0],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;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct>>>0]=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)=>{var eventSize=257;JSEvents.pointerlockChangeEvent||=_malloc(eventSize);var pointerlockChangeEventHandlerFunc=e=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!document.body?.requestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;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=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_pointerlockerror_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!document.body?.requestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)}_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";function _emscripten_get_pointerlock_status(pointerlockStatus){pointerlockStatus>>>=0;if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body?.requestPointerLock){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};function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target>>>=0;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";function _emscripten_vibrate_pattern(msecsArray,numEntries){msecsArray>>>=0;if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i<numEntries;++i){var msecs=HEAP32[msecsArray+i*4>>>2>>>0];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>>>0]=document.hidden;HEAP32[eventStruct+4>>>2>>>0]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=8;JSEvents.visibilityChangeEvent||=_malloc(eventSize);var visibilityChangeEventHandlerFunc=e=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";function _emscripten_get_visibility_status(visibilityStatus){visibilityStatus>>>=0;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)=>{var eventSize=1552;JSEvents.touchEvent||=_malloc(eventSize);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>>>0]=e.timeStamp;HEAP8[touchEvent+12>>>0]=e.ctrlKey;HEAP8[touchEvent+13>>>0]=e.shiftKey;HEAP8[touchEvent+14>>>0]=e.altKey;HEAP8[touchEvent+15>>>0]=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>>>0]=t.identifier;HEAP32[idx32+1>>>0]=t.screenX;HEAP32[idx32+2>>>0]=t.screenY;HEAP32[idx32+3>>>0]=t.clientX;HEAP32[idx32+4>>>0]=t.clientY;HEAP32[idx32+5>>>0]=t.pageX;HEAP32[idx32+6>>>0]=t.pageY;HEAP8[idx+28>>>0]=t.isChanged;HEAP8[idx+29>>>0]=t.onTarget;HEAP32[idx32+8>>>0]=t.clientX-(targetRect.left|0);HEAP32[idx32+9>>>0]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>>2>>>0]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}_emscripten_set_touchstart_callback_on_thread.sig="ippipp";function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}_emscripten_set_touchend_callback_on_thread.sig="ippipp";function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}_emscripten_set_touchmove_callback_on_thread.sig="ippipp";function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>>3>>>0]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>>3>>>0]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]=="object"){HEAPF64[eventStruct+i*8+528>>>3>>>0]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>>3>>>0]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]=="object"){HEAP8[eventStruct+i+1040>>>0]=e.buttons[i].pressed}else{HEAP8[eventStruct+i+1040>>>0]=e.buttons[i]==1}}HEAP8[eventStruct+1104>>>0]=e.connected;HEAP32[eventStruct+1108>>>2>>>0]=e.index;HEAP32[eventStruct+8>>>2>>>0]=e.axes.length;HEAP32[eventStruct+12>>>2>>>0]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=1240;JSEvents.gamepadEvent||=_malloc(eventSize);var gamepadEventHandlerFunc=e=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,eventTypeId,userData,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";function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;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";function _emscripten_get_gamepad_status(index,gamepadState){gamepadState>>>=0;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=>{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,eventTypeId,userData,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;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,battery)=>{HEAPF64[eventStruct>>>3>>>0]=battery.chargingTime;HEAPF64[eventStruct+8>>>3>>>0]=battery.dischargingTime;HEAPF64[eventStruct+16>>>3>>>0]=battery.level;HEAP8[eventStruct+24>>>0]=battery.charging};var hasBatteryAPI=()=>globalThis.navigator?.getBattery;var registerBatteryEventCallback=(battery,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var eventSize=32;JSEvents.batteryEvent||=_malloc(eventSize);var batteryEventHandlerFunc=e=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery);if(getWasmTableEntry(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:battery,eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_batterychargingchange_callback_on_thread=function(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!hasBatteryAPI())return-1;navigator.getBattery().then(b=>{registerBatteryEventCallback(b,userData,true,callbackfunc,29,"chargingchange",targetThread)})};_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=function(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!hasBatteryAPI())return-1;navigator.getBattery().then(b=>{registerBatteryEventCallback(b,userData,true,callbackfunc,30,"levelchange",targetThread)})};_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var batteryManager;var _emscripten_get_battery_status=function(batteryState){batteryState>>>=0;if(!hasBatteryAPI())return-1;if(!batteryManager){navigator.getBattery().then(b=>{batteryManager=b});return-7}fillBatteryEventData(batteryState,batteryManager);return 0};_emscripten_get_battery_status.sig="ip";function _emscripten_set_element_css_size(target,width,height){target>>>=0;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";function _emscripten_get_element_css_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>>3>>>0]=rect.width;HEAPF64[height>>>3>>>0]=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=function(cb,userData){cb>>>=0;userData>>>=0;return 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";function _emscripten_request_animation_frame_loop(cb,userData){cb>>>=0;userData>>>=0;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=()=>globalThis.devicePixelRatio??1;_emscripten_get_device_pixel_ratio.sig="d";function _emscripten_get_callstack(flags,str,maxbytes){str>>>=0;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=>{var match;if(match=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(frame)){return+match[1]}else if(match=/:(\d+):\d+(?:\)|$)/.exec(frame)){return 2147483648|+match[1]}return 0};function _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=>{for(var line of callstack){var pc=convertFrameToPC(line);if(pc){UNWIND_CACHE[pc]=line}}};function _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";function _emscripten_stack_unwind_buffer(addr,buffer,count){addr>>>=0;buffer>>>=0;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<count&&stack[i+offset];++i){HEAP32[buffer+i*4>>>2>>>0]=convertFrameToPC(stack[i+offset])}return i}_emscripten_stack_unwind_buffer.sig="ippi";function _emscripten_pc_get_function(pc){pc>>>=0;var frame=UNWIND_CACHE[pc];if(!frame)return 0;var name;var match;if(match=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(frame)){name=match[1]}else if(match=/^\s+at (.*) \(.*\)$/.exec(frame)){name=match[1]}else if(match=/^(.+?)@/.exec(frame)){name=match[1]}else{return 0}_free(_emscripten_pc_get_function.ret??0);_emscripten_pc_get_function.ret=stringToNewUTF8(name);return _emscripten_pc_get_function.ret}_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};function _emscripten_pc_get_file(pc){pc>>>=0;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";function _emscripten_pc_get_line(pc){pc>>>=0;var result=convertPCtoSourceLocation(pc);return result?result.line:0}_emscripten_pc_get_line.sig="ip";function _emscripten_pc_get_column(pc){pc>>>=0;var result=convertPCtoSourceLocation(pc);return result?result.column||0:0}_emscripten_pc_get_column.sig="ip";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)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();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 _emscripten_set_main_loop_timing=(mode,value)=>{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){runtimeKeepalivePush();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)}}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)}}else{if(!MainLoop.setImmediate){if(globalThis.setImmediate){MainLoop.setImmediate=setImmediate}else{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,"*")}}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)}}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(thisMainLoopId<MainLoop.currentlyRunningMainloop){runtimeKeepalivePop();maybeExit();return false}return true}MainLoop.running=false;MainLoop.runner=function MainLoop_runner(){if(ABORT)return;if(MainLoop.queue.length>0){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,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<expected){Module["setStatus"](`{message} ({expected - remaining}/{expected})`)}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},init(){Module["preMainLoop"]&&MainLoop.preMainLoop.push(Module["preMainLoop"]);Module["postMainLoop"]&&MainLoop.postMainLoop.push(Module["postMainLoop"])},runIter(func){if(ABORT)return;for(var pre of MainLoop.preMainLoop){if(pre()===false){return}}callUserCallback(func);for(var post of MainLoop.postMainLoop){post()}},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(MainLoop.nextRAF===0){MainLoop.nextRAF=now+1e3/60}else{while(now+2>=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(globalThis.requestAnimationFrame){requestAnimationFrame(func)}else{MainLoop.fakeRequestAnimationFrame(func)}}};var safeRequestAnimationFrame=func=>{runtimeKeepalivePush();return MainLoop.requestAnimationFrame(()=>{runtimeKeepalivePop();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=function(cb,userData){cb>>>=0;userData>>>=0;runtimeKeepalivePush();return emSetImmediate(()=>{runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(cb)(userData))})};_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{runtimeKeepalivePop();emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=function(cb,userData){cb>>>=0;userData>>>=0;function tick(){callUserCallback(()=>{if(getWasmTableEntry(cb)(userData)){emSetImmediate(tick)}else{runtimeKeepalivePop()}})}runtimeKeepalivePush();emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=function(cb,msecs,userData){cb>>>=0;userData>>>=0;return 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=function(cb,msecs,userData){cb>>>=0;userData>>>=0;function tick(){var t=_emscripten_get_now();var n=t+msecs;runtimeKeepalivePop();callUserCallback(()=>{if(getWasmTableEntry(cb)(t,userData)){runtimeKeepalivePush();var remaining=n-_emscripten_get_now();remaining=Math.max(0,remaining);setTimeout(tick,remaining)}})}runtimeKeepalivePush();return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=function(cb,msecs,userData){cb>>>=0;userData>>>=0;runtimeKeepalivePush();return setInterval(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))},msecs)};_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{runtimeKeepalivePop();clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=function(func,arg,millis){func>>>=0;arg>>>=0;var wrapper=()=>getWasmTableEntry(func)(arg);if(millis>=0||ENVIRONMENT_IS_NODE){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)};function _emscripten_get_main_loop_timing(mode,value){mode>>>=0;value>>>=0;if(mode)HEAP32[mode>>>2>>>0]=MainLoop.timingMode;if(value)HEAP32[value>>>2>>>0]=MainLoop.timingValue}_emscripten_get_main_loop_timing.sig="vpp";function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){func>>>=0;var iterFunc=getWasmTableEntry(func);setMainLoop(iterFunc,fps,simulateInfiniteLoop)}_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=function(func,arg,fps,simulateInfiniteLoop){func>>>=0;arg>>>=0;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=function(func,arg,name){func>>>=0;arg>>>=0;name>>>=0;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=function(func,arg,name){func>>>=0;arg>>>=0;name>>>=0;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<size;i++){var id=HEAP32[idBuf+i*4>>>2>>>0];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{runtimeKeepalivePop();var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>>2>>>0]=0;try{var result=getWasmTableEntry(callback)(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>>2>>>0]}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}};function _emscripten_promise_then(id,onFulfilled,onRejected,userData){id>>>=0;onFulfilled>>>=0;onRejected>>>=0;userData>>>=0;runtimeKeepalivePush();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=function(idBuf,resultBuf,size){idBuf>>>=0;resultBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i<size;i++){var result=results[i];HEAPU32[resultBuf+i*4>>>2>>>0]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>>2>>>0]=result;HEAPU32[ptr+4>>>2>>>0]=value};var _emscripten_promise_all_settled=function(idBuf,resultBuf,size){idBuf>>>=0;resultBuf>>>=0;size>>>=0;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<size;i++,offset+=8){if(results[i].status==="fulfilled"){setPromiseResult(offset,true,results[i].value)}else{setPromiseResult(offset,false,results[i].reason)}}}return resultBuf})});return id};_emscripten_promise_all_settled.sig="pppp";var _emscripten_promise_any=function(idBuf,errorBuf,size){idBuf>>>=0;errorBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i<size;i++){HEAPU32[errorBuf+i*4>>>2>>>0]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";function _emscripten_promise_race(idBuf,size){idBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id}_emscripten_promise_race.sig="ppp";function _emscripten_promise_await(returnValuePtr,id){returnValuePtr>>>=0;id>>>=0;abort("emscripten_promise_await is only available with ASYNCIFY")}_emscripten_promise_await.sig="vpp";var getExceptionMessageCommon=ptr=>{var sp=stackSave();var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>>2>>>0];var message_addr=HEAPU32[message_addr_addr>>>2>>>0];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}stackRestore(sp);return[type,message]};var getCppExceptionTag=()=>___cpp_exception;var getCppExceptionThrownObjectFromWebAssemblyException=ex=>{var unwind_header=ex.getArg(getCppExceptionTag(),0);return ___thrown_object_from_unwind_exception(unwind_header)};var incrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_increment_exception_refcount(ptr)};var decrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_decrement_exception_refcount(ptr)};var getExceptionMessage=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);return getExceptionMessageCommon(ptr)};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"]=name=>!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name);imagePlugin["handle"]=async(byteArray,name)=>{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);return new Promise((resolve,reject)=>{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);resolve(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);reject()};img.src=url})};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=name=>!Module["noAudioDecoding"]&&name.slice(-4)in{".ogg":1,".wav":1,".mp3":1};audioPlugin["handle"]=async(byteArray,name)=>new Promise((resolve,reject)=>{var done=false;function finish(audio){if(done)return;done=true;Browser.preloadedAudios[name]=audio;resolve(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=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<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=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}var canvas=Browser.getCanvas();if(canvas){document.addEventListener("pointerlockchange",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:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);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(getFullscreenElement()===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:abort("unrecognized mouse wheel delta mode: "+event.deltaMode)}break;default:abort("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>>>0];flags=flags|8388608;HEAP32[SDL.screen>>>2>>>0]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2>>>0];flags=flags&~8388608;HEAP32[SDL.screen>>>2>>>0]=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<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if(getFullscreenElement()===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}};var requestFullscreen=Browser.requestFullscreen;var setCanvasSize=Browser.setCanvasSize;var getUserMedia=Browser.getUserMedia;var createContext=Browser.createContext;var _emscripten_run_preload_plugins=function(file,onload,onerror){file>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),data.object.contents,true,true,()=>{runtimeKeepalivePop();if(onload)getWasmTableEntry(onload)(file)},()=>{runtimeKeepalivePop();if(onerror)getWasmTableEntry(onerror)(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=function(data,size,suffix,arg,onload,onerror){data>>>=0;suffix>>>=0;arg>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data>>>0,data+size>>>0),true,true,()=>{runtimeKeepalivePop();if(onload)getWasmTableEntry(onload)(arg,cname)},()=>{runtimeKeepalivePop();if(onerror)getWasmTableEntry(onerror)(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=function(script,millis){script>>>=0;safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async function(url,onload,onerror){url>>>=0;onload>>>=0;onerror>>>=0;url=UTF8ToString(url);runtimeKeepalivePush();var loadDone=()=>{runtimeKeepalivePop();if(onload){var onloadCallback=()=>callUserCallback(getWasmTableEntry(onload));if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{runtimeKeepalivePop();if(onerror){callUserCallback(getWasmTableEntry(onerror))}};if(ENVIRONMENT_IS_NODE){try{var data=await readAsync(url,false);eval(data);loadDone()}catch(e){err(e);loadError()}return}var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";function _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";function _emscripten_set_window_title(title){title>>>=0;return document.title=UTF8ToString(title)}_emscripten_set_window_title.sig="vp";function _emscripten_get_screen_size(width,height){width>>>=0;height>>>=0;HEAP32[width>>>2>>>0]=screen.width;HEAP32[height>>>2>>>0]=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;i<rules.length;i++){if(rules[i].cssText.startsWith("canvas")){styleSheet.deleteRule(i);i--}}styleSheet.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)};_emscripten_hide_mouse.sig="v";var _emscripten_set_canvas_size=(width,height)=>Browser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";function _emscripten_get_canvas_size(width,height,isFullscreen){width>>>=0;height>>>=0;isFullscreen>>>=0;var canvas=Browser.getCanvas();HEAP32[width>>>2>>>0]=canvas.width;HEAP32[height>>>2>>>0]=canvas.height;HEAP32[isFullscreen>>>2>>>0]=Browser.isFullscreen?1:0}_emscripten_get_canvas_size.sig="vppp";function _emscripten_create_worker(url){url>>>=0;url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0};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;runtimeKeepalivePop()}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>>>0);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";function _emscripten_call_worker(id,funcName,data,size,callback,arg){funcName>>>=0;data>>>=0;callback>>>=0;arg>>>=0;funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){runtimeKeepalivePush();callbackId=info.callbacks.length;info.callbacks.push({func:getWasmTableEntry(callback),arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data>>>0,data+size>>>0)):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>>>0);HEAP32[w>>>2>>>0]=canvas.width;HEAP32[h>>>2>>>0]=canvas.height;return buf};function _emscripten_get_preloaded_image_data(path,w,h){path>>>=0;w>>>=0;h>>>=0;return getPreloadedImageData(UTF8ToString(path),w,h)}_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];function _emscripten_get_preloaded_image_data_from_FILE(file,w,h){file>>>=0;w>>>=0;h>>>=0;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 _emscripten_async_wget=function(url,file,onload,onerror){url>>>=0;file>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){runtimeKeepalivePop();callUserCallback(()=>withStackSave(()=>getWasmTableEntry(callback)(stringToUTF8OnStack(_file))))}}var destinationDirectory=PATH.dirname(_file);FS_preloadFile(destinationDirectory,PATH.basename(_file),_url,true,true,false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)}).then(()=>doCallback(onload)).catch(()=>doCallback(onerror))};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async function(url,userdata,onload,onerror){url>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();try{var byteArray=await asyncLoad(UTF8ToString(url));runtimeKeepalivePop();callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer>>>0);getWasmTableEntry(onload)(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){runtimeKeepalivePop();callUserCallback(()=>{getWasmTableEntry(onerror)(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=function(url,file,request,param,userdata,onload,onerror,onprogress){url>>>=0;file>>>=0;request>>>=0;param>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;onprogress>>>=0;runtimeKeepalivePush();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=>{runtimeKeepalivePop();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=>{runtimeKeepalivePop();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=>{runtimeKeepalivePop();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";function _emscripten_async_wget2_data(url,request,param,userdata,free,onload,onerror,onprogress){url>>>=0;request>>>=0;param>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;onprogress>>>=0;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>>>0);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";function ___asctime_r(tmPtr,buf){tmPtr>>>=0;buf>>>=0;var date={tm_sec:HEAP32[tmPtr>>>2>>>0],tm_min:HEAP32[tmPtr+4>>>2>>>0],tm_hour:HEAP32[tmPtr+8>>>2>>>0],tm_mday:HEAP32[tmPtr+12>>>2>>>0],tm_mon:HEAP32[tmPtr+16>>>2>>>0],tm_year:HEAP32[tmPtr+20>>>2>>>0],tm_wday:HEAP32[tmPtr+24>>>2>>>0]};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};function _strptime(buf,format,tm){buf>>>=0;format>>>=0;tm>>>=0;var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={A:"%a",B:"%b",c:"%a %b %d %H:%M:%S %Y",D:"%m\\/%d\\/%y",e:"%d",F:"%Y-%m-%d",h:"%b",R:"%H\\:%M",r:"%I\\:%M\\:%S\\s%p",T:"%H\\:%M\\:%S",x:"%m\\/%d\\/(?:%y|%Y)",X:"%H\\:%M\\:%S"};var DATE_PATTERNS={a:"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)",b:"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)",C:"\\d\\d",d:"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31",H:"\\d(?!\\d)|[0,1]\\d|20|21|22|23",I:"\\d(?!\\d)|0\\d|10|11|12",j:"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d",m:"0[1-9]|[1-9](?!\\d)|10|11|12",M:"0\\d|\\d(?!\\d)|[1-5]\\d",n:" ",p:"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.",S:"0\\d|\\d(?!\\d)|[1-5]\\d|60",U:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",W:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",w:"[0-6]",y:"\\d\\d",Y:"\\d\\d\\d\\d",t:" ",z:"Z|(?:[\\+\\-]\\d\\d:?(?:\\d\\d)?)"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};var capture=[];var pattern_out=pattern.replace(/%(.)/g,(m,c)=>EQUIVALENT_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>>>0]+1900,1970,9999),month:fixup(HEAP32[tm+16>>>2>>>0],0,11),day:fixup(HEAP32[tm+12>>>2>>>0],1,31),hour:fixup(HEAP32[tm+8>>>2>>>0],0,23),min:fixup(HEAP32[tm+4>>>2>>>0],0,59),sec:fixup(HEAP32[tm>>>2>>>0],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>>>0]=fullDate.getSeconds();HEAP32[tm+4>>>2>>>0]=fullDate.getMinutes();HEAP32[tm+8>>>2>>>0]=fullDate.getHours();HEAP32[tm+12>>>2>>>0]=fullDate.getDate();HEAP32[tm+16>>>2>>>0]=fullDate.getMonth();HEAP32[tm+20>>>2>>>0]=fullDate.getFullYear()-1900;HEAP32[tm+24>>>2>>>0]=fullDate.getDay();HEAP32[tm+28>>>2>>>0]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>>2>>>0]=0;HEAP32[tm+36>>>2>>>0]=date.gmtoff;return buf+lengthBytesUTF8(matches[0])}return 0}_strptime.sig="pppp";function _strptime_l(buf,format,tm,locale){buf>>>=0;format>>>=0;tm>>>=0;locale>>>=0;return _strptime(buf,format,tm)}_strptime_l.sig="ppppp";function __dlsym_catchup_js(handle,symbolIndex){handle>>>=0;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_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_trackingDelegate=(...args)=>FS.trackingDelegate(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...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 _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)}})}runtimeKeepalivePush();SOCKFS.on(event,callback?_callback:null)};function _emscripten_set_socket_error_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("error",userData,callback)}_emscripten_set_socket_error_callback.sig="vpp";function _emscripten_set_socket_open_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("open",userData,callback)}_emscripten_set_socket_open_callback.sig="vpp";function _emscripten_set_socket_listen_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("listen",userData,callback)}_emscripten_set_socket_listen_callback.sig="vpp";function _emscripten_set_socket_connection_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("connection",userData,callback)}_emscripten_set_socket_connection_callback.sig="vpp";function _emscripten_set_socket_message_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("message",userData,callback)}_emscripten_set_socket_message_callback.sig="vpp";function _emscripten_set_socket_close_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("close",userData,callback)}_emscripten_set_socket_close_callback.sig="vpp";function _emscripten_webgl_enable_ANGLE_instanced_arrays(ctx){ctx>>>=0;return webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";function _emscripten_webgl_enable_OES_vertex_array_object(ctx){ctx>>>=0;return webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";function _emscripten_webgl_enable_WEBGL_draw_buffers(ctx){ctx>>>=0;return webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw(ctx){ctx>>>=0;return webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";function _emscripten_webgl_enable_EXT_polygon_offset_clamp(ctx){ctx>>>=0;return webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";function _emscripten_webgl_enable_EXT_clip_control(ctx){ctx>>>=0;return webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_EXT_clip_control.sig="ip";function _emscripten_webgl_enable_WEBGL_polygon_mode(ctx){ctx>>>=0;return webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";var _glPixelStorei=_emscripten_glPixelStorei;_glPixelStorei.sig="vii";var _glGetString=_emscripten_glGetString;_glGetString.sig="pi";var _glGetIntegerv=_emscripten_glGetIntegerv;_glGetIntegerv.sig="vip";var _glGetFloatv=_emscripten_glGetFloatv;_glGetFloatv.sig="vip";var _glGetBooleanv=_emscripten_glGetBooleanv;_glGetBooleanv.sig="vip";var _glDeleteTextures=_emscripten_glDeleteTextures;_glDeleteTextures.sig="vip";var _glCompressedTexImage2D=_emscripten_glCompressedTexImage2D;_glCompressedTexImage2D.sig="viiiiiiip";var _glCompressedTexSubImage2D=_emscripten_glCompressedTexSubImage2D;_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glTexImage2D=_emscripten_glTexImage2D;_glTexImage2D.sig="viiiiiiiip";var _glTexSubImage2D=_emscripten_glTexSubImage2D;_glTexSubImage2D.sig="viiiiiiiip";var _glReadPixels=_emscripten_glReadPixels;_glReadPixels.sig="viiiiiip";var _glBindTexture=_emscripten_glBindTexture;_glBindTexture.sig="vii";var _glGetTexParameterfv=_emscripten_glGetTexParameterfv;_glGetTexParameterfv.sig="viip";var _glGetTexParameteriv=_emscripten_glGetTexParameteriv;_glGetTexParameteriv.sig="viip";var _glTexParameterfv=_emscripten_glTexParameterfv;_glTexParameterfv.sig="viip";var _glTexParameteriv=_emscripten_glTexParameteriv;_glTexParameteriv.sig="viip";var _glIsTexture=_emscripten_glIsTexture;_glIsTexture.sig="ii";var _glGenBuffers=_emscripten_glGenBuffers;_glGenBuffers.sig="vip";var _glGenTextures=_emscripten_glGenTextures;_glGenTextures.sig="vip";var _glDeleteBuffers=_emscripten_glDeleteBuffers;_glDeleteBuffers.sig="vip";var _glGetBufferParameteriv=_emscripten_glGetBufferParameteriv;_glGetBufferParameteriv.sig="viip";var _glBufferData=_emscripten_glBufferData;_glBufferData.sig="vippi";var _glBufferSubData=_emscripten_glBufferSubData;_glBufferSubData.sig="vippp";var _glGenQueriesEXT=_emscripten_glGenQueriesEXT;var _glDeleteQueriesEXT=_emscripten_glDeleteQueriesEXT;var _glIsQueryEXT=_emscripten_glIsQueryEXT;var _glBeginQueryEXT=_emscripten_glBeginQueryEXT;var _glEndQueryEXT=_emscripten_glEndQueryEXT;var _glQueryCounterEXT=_emscripten_glQueryCounterEXT;var _glGetQueryivEXT=_emscripten_glGetQueryivEXT;var _glGetQueryObjectuivEXT=_emscripten_glGetQueryObjectuivEXT;var _glGetQueryObjectui64vEXT=_emscripten_glGetQueryObjectui64vEXT;var _glIsBuffer=_emscripten_glIsBuffer;_glIsBuffer.sig="ii";var _glGenRenderbuffers=_emscripten_glGenRenderbuffers;_glGenRenderbuffers.sig="vip";var _glDeleteRenderbuffers=_emscripten_glDeleteRenderbuffers;_glDeleteRenderbuffers.sig="vip";var _glBindRenderbuffer=_emscripten_glBindRenderbuffer;_glBindRenderbuffer.sig="vii";var _glGetRenderbufferParameteriv=_emscripten_glGetRenderbufferParameteriv;_glGetRenderbufferParameteriv.sig="viip";var _glIsRenderbuffer=_emscripten_glIsRenderbuffer;_glIsRenderbuffer.sig="ii";var _glGetUniformfv=_emscripten_glGetUniformfv;_glGetUniformfv.sig="viip";var _glGetUniformiv=_emscripten_glGetUniformiv;_glGetUniformiv.sig="viip";var _glGetUniformLocation=_emscripten_glGetUniformLocation;_glGetUniformLocation.sig="iip";var _glGetVertexAttribfv=_emscripten_glGetVertexAttribfv;_glGetVertexAttribfv.sig="viip";var _glGetVertexAttribiv=_emscripten_glGetVertexAttribiv;_glGetVertexAttribiv.sig="viip";var _glGetVertexAttribPointerv=_emscripten_glGetVertexAttribPointerv;_glGetVertexAttribPointerv.sig="viip";var _glUniform1f=_emscripten_glUniform1f;_glUniform1f.sig="vif";var _glUniform2f=_emscripten_glUniform2f;_glUniform2f.sig="viff";var _glUniform3f=_emscripten_glUniform3f;_glUniform3f.sig="vifff";var _glUniform4f=_emscripten_glUniform4f;_glUniform4f.sig="viffff";var _glUniform1i=_emscripten_glUniform1i;_glUniform1i.sig="vii";var _glUniform2i=_emscripten_glUniform2i;_glUniform2i.sig="viii";var _glUniform3i=_emscripten_glUniform3i;_glUniform3i.sig="viiii";var _glUniform4i=_emscripten_glUniform4i;_glUniform4i.sig="viiiii";var _glUniform1iv=_emscripten_glUniform1iv;_glUniform1iv.sig="viip";var _glUniform2iv=_emscripten_glUniform2iv;_glUniform2iv.sig="viip";var _glUniform3iv=_emscripten_glUniform3iv;_glUniform3iv.sig="viip";var _glUniform4iv=_emscripten_glUniform4iv;_glUniform4iv.sig="viip";var _glUniform1fv=_emscripten_glUniform1fv;_glUniform1fv.sig="viip";var _glUniform2fv=_emscripten_glUniform2fv;_glUniform2fv.sig="viip";var _glUniform3fv=_emscripten_glUniform3fv;_glUniform3fv.sig="viip";var _glUniform4fv=_emscripten_glUniform4fv;_glUniform4fv.sig="viip";var _glUniformMatrix2fv=_emscripten_glUniformMatrix2fv;_glUniformMatrix2fv.sig="viiip";var _glUniformMatrix3fv=_emscripten_glUniformMatrix3fv;_glUniformMatrix3fv.sig="viiip";var _glUniformMatrix4fv=_emscripten_glUniformMatrix4fv;_glUniformMatrix4fv.sig="viiip";var _glBindBuffer=_emscripten_glBindBuffer;_glBindBuffer.sig="vii";var _glVertexAttrib1fv=_emscripten_glVertexAttrib1fv;_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2fv=_emscripten_glVertexAttrib2fv;_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3fv=_emscripten_glVertexAttrib3fv;_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4fv=_emscripten_glVertexAttrib4fv;_glVertexAttrib4fv.sig="vip";var _glGetAttribLocation=_emscripten_glGetAttribLocation;_glGetAttribLocation.sig="iip";var _glGetActiveAttrib=_emscripten_glGetActiveAttrib;_glGetActiveAttrib.sig="viiipppp";var _glGetActiveUniform=_emscripten_glGetActiveUniform;_glGetActiveUniform.sig="viiipppp";var _glCreateShader=_emscripten_glCreateShader;_glCreateShader.sig="ii";var _glDeleteShader=_emscripten_glDeleteShader;_glDeleteShader.sig="vi";var _glGetAttachedShaders=_emscripten_glGetAttachedShaders;_glGetAttachedShaders.sig="viipp";var _glShaderSource=_emscripten_glShaderSource;_glShaderSource.sig="viipp";var _glGetShaderSource=_emscripten_glGetShaderSource;_glGetShaderSource.sig="viipp";var _glCompileShader=_emscripten_glCompileShader;_glCompileShader.sig="vi";var _glGetShaderInfoLog=_emscripten_glGetShaderInfoLog;_glGetShaderInfoLog.sig="viipp";var _glGetShaderiv=_emscripten_glGetShaderiv;_glGetShaderiv.sig="viip";var _glGetProgramiv=_emscripten_glGetProgramiv;_glGetProgramiv.sig="viip";var _glIsShader=_emscripten_glIsShader;_glIsShader.sig="ii";var _glCreateProgram=_emscripten_glCreateProgram;_glCreateProgram.sig="i";var _glDeleteProgram=_emscripten_glDeleteProgram;_glDeleteProgram.sig="vi";var _glAttachShader=_emscripten_glAttachShader;_glAttachShader.sig="vii";var _glDetachShader=_emscripten_glDetachShader;_glDetachShader.sig="vii";var _glGetShaderPrecisionFormat=_emscripten_glGetShaderPrecisionFormat;_glGetShaderPrecisionFormat.sig="viipp";var _glLinkProgram=_emscripten_glLinkProgram;_glLinkProgram.sig="vi";var _glGetProgramInfoLog=_emscripten_glGetProgramInfoLog;_glGetProgramInfoLog.sig="viipp";var _glUseProgram=_emscripten_glUseProgram;_glUseProgram.sig="vi";var _glValidateProgram=_emscripten_glValidateProgram;_glValidateProgram.sig="vi";var _glIsProgram=_emscripten_glIsProgram;_glIsProgram.sig="ii";var _glBindAttribLocation=_emscripten_glBindAttribLocation;_glBindAttribLocation.sig="viip";var _glBindFramebuffer=_emscripten_glBindFramebuffer;_glBindFramebuffer.sig="vii";var _glGenFramebuffers=_emscripten_glGenFramebuffers;_glGenFramebuffers.sig="vip";var _glDeleteFramebuffers=_emscripten_glDeleteFramebuffers;_glDeleteFramebuffers.sig="vip";var _glFramebufferRenderbuffer=_emscripten_glFramebufferRenderbuffer;_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=_emscripten_glFramebufferTexture2D;_glFramebufferTexture2D.sig="viiiii";var _glGetFramebufferAttachmentParameteriv=_emscripten_glGetFramebufferAttachmentParameteriv;_glGetFramebufferAttachmentParameteriv.sig="viiip";var _glIsFramebuffer=_emscripten_glIsFramebuffer;_glIsFramebuffer.sig="ii";function _emscripten_glVertexPointer(size,type,stride,ptr){ptr>>>=0;return abort("Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation.")}_emscripten_glVertexPointer.sig="viiip";var _glVertexPointer=_emscripten_glVertexPointer;_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=()=>abort("Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation.");_emscripten_glMatrixMode.sig="vi";var _glMatrixMode=_emscripten_glMatrixMode;_glMatrixMode.sig="vi";var _emscripten_glBegin=()=>abort("Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation.");_emscripten_glBegin.sig="vi";var _glBegin=_emscripten_glBegin;_glBegin.sig="vi";var _emscripten_glLoadIdentity=()=>abort("Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation.");_emscripten_glLoadIdentity.sig="v";var _glLoadIdentity=_emscripten_glLoadIdentity;_glLoadIdentity.sig="v";var _glGenVertexArraysOES=_emscripten_glGenVertexArraysOES;_glGenVertexArraysOES.sig="vip";var _glDeleteVertexArraysOES=_emscripten_glDeleteVertexArraysOES;_glDeleteVertexArraysOES.sig="vip";var _glBindVertexArrayOES=_emscripten_glBindVertexArrayOES;_glBindVertexArrayOES.sig="vi";var _glIsVertexArrayOES=_emscripten_glIsVertexArrayOES;_glIsVertexArrayOES.sig="ii";var _glVertexAttribPointer=_emscripten_glVertexAttribPointer;_glVertexAttribPointer.sig="viiiiip";var _glEnableVertexAttribArray=_emscripten_glEnableVertexAttribArray;_glEnableVertexAttribArray.sig="vi";var _glDisableVertexAttribArray=_emscripten_glDisableVertexAttribArray;_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=_emscripten_glDrawArrays;_glDrawArrays.sig="viii";var _glShaderBinary=_emscripten_glShaderBinary;_glShaderBinary.sig="vipipi";var _glReleaseShaderCompiler=_emscripten_glReleaseShaderCompiler;_glReleaseShaderCompiler.sig="v";var _glGetError=_emscripten_glGetError;_glGetError.sig="i";var _glVertexAttribDivisorNV=_emscripten_glVertexAttribDivisorNV;var _glDrawArraysInstancedNV=_emscripten_glDrawArraysInstancedNV;var _glDrawElementsInstancedNV=_emscripten_glDrawElementsInstancedNV;var _glVertexAttribDivisorEXT=_emscripten_glVertexAttribDivisorEXT;var _glDrawArraysInstancedEXT=_emscripten_glDrawArraysInstancedEXT;var _glDrawElementsInstancedEXT=_emscripten_glDrawElementsInstancedEXT;var _glVertexAttribDivisorARB=_emscripten_glVertexAttribDivisorARB;var _glDrawArraysInstancedARB=_emscripten_glDrawArraysInstancedARB;var _glDrawElementsInstancedARB=_emscripten_glDrawElementsInstancedARB;var _glVertexAttribDivisorANGLE=_emscripten_glVertexAttribDivisorANGLE;var _glDrawArraysInstancedANGLE=_emscripten_glDrawArraysInstancedANGLE;var _glDrawElementsInstancedANGLE=_emscripten_glDrawElementsInstancedANGLE;var _glDrawBuffersEXT=_emscripten_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_emscripten_glDrawBuffersWEBGL;var _glColorMask=_emscripten_glColorMask;_glColorMask.sig="viiii";var _glDepthMask=_emscripten_glDepthMask;_glDepthMask.sig="vi";var _glSampleCoverage=_emscripten_glSampleCoverage;_glSampleCoverage.sig="vfi";function _emscripten_glMultiDrawArraysWEBGL(mode,firsts,counts,drawcount){firsts>>>=0;counts>>>=0;GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,drawcount)}_emscripten_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArraysWEBGL=_emscripten_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArrays=_glMultiDrawArraysWEBGL;_emscripten_glMultiDrawArrays.sig="vippi";var _glMultiDrawArrays=_emscripten_glMultiDrawArrays;_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;var _glMultiDrawArraysANGLE=_emscripten_glMultiDrawArraysANGLE;function _emscripten_glMultiDrawArraysInstancedWEBGL(mode,firsts,counts,instanceCounts,drawcount){firsts>>>=0;counts>>>=0;instanceCounts>>>=0;GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,HEAP32,instanceCounts>>>2,drawcount)}_emscripten_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedWEBGL=_emscripten_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;var _glMultiDrawArraysInstancedANGLE=_emscripten_glMultiDrawArraysInstancedANGLE;function _emscripten_glMultiDrawElementsWEBGL(mode,counts,type,offsets,drawcount){counts>>>=0;offsets>>>=0;GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,drawcount)}_emscripten_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElementsWEBGL=_emscripten_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElementsWEBGL;_emscripten_glMultiDrawElements.sig="vipipi";var _glMultiDrawElements=_emscripten_glMultiDrawElements;_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;var _glMultiDrawElementsANGLE=_emscripten_glMultiDrawElementsANGLE;function _emscripten_glMultiDrawElementsInstancedWEBGL(mode,counts,type,offsets,instanceCounts,drawcount){counts>>>=0;offsets>>>=0;instanceCounts>>>=0;GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,HEAP32,instanceCounts>>>2,drawcount)}_emscripten_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedWEBGL=_emscripten_glMultiDrawElementsInstancedWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glMultiDrawElementsInstancedANGLE=_emscripten_glMultiDrawElementsInstancedANGLE;var _glPolygonOffsetClampEXT=_emscripten_glPolygonOffsetClampEXT;var _glClipControlEXT=_emscripten_glClipControlEXT;var _glPolygonModeWEBGL=_emscripten_glPolygonModeWEBGL;var _glFinish=_emscripten_glFinish;_glFinish.sig="v";var _glFlush=_emscripten_glFlush;_glFlush.sig="v";var _emscripten_glClearDepth=x0=>GLctx.clearDepth(x0);_emscripten_glClearDepth.sig="vd";var _glClearDepth=_emscripten_glClearDepth;_glClearDepth.sig="vd";var _glClearDepthf=_emscripten_glClearDepthf;_glClearDepthf.sig="vf";var _glDepthFunc=_emscripten_glDepthFunc;_glDepthFunc.sig="vi";var _glEnable=_emscripten_glEnable;_glEnable.sig="vi";var _glDisable=_emscripten_glDisable;_glDisable.sig="vi";var _glFrontFace=_emscripten_glFrontFace;_glFrontFace.sig="vi";var _glCullFace=_emscripten_glCullFace;_glCullFace.sig="vi";var _glClear=_emscripten_glClear;_glClear.sig="vi";var _glLineWidth=_emscripten_glLineWidth;_glLineWidth.sig="vf";var _glClearStencil=_emscripten_glClearStencil;_glClearStencil.sig="vi";var _glStencilMask=_emscripten_glStencilMask;_glStencilMask.sig="vi";var _glCheckFramebufferStatus=_emscripten_glCheckFramebufferStatus;_glCheckFramebufferStatus.sig="ii";var _glGenerateMipmap=_emscripten_glGenerateMipmap;_glGenerateMipmap.sig="vi";var _glActiveTexture=_emscripten_glActiveTexture;_glActiveTexture.sig="vi";var _glBlendEquation=_emscripten_glBlendEquation;_glBlendEquation.sig="vi";var _glIsEnabled=_emscripten_glIsEnabled;_glIsEnabled.sig="ii";var _glBlendFunc=_emscripten_glBlendFunc;_glBlendFunc.sig="vii";var _glBlendEquationSeparate=_emscripten_glBlendEquationSeparate;_glBlendEquationSeparate.sig="vii";var _emscripten_glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_emscripten_glDepthRange.sig="vdd";var _glDepthRange=_emscripten_glDepthRange;_glDepthRange.sig="vdd";var _glDepthRangef=_emscripten_glDepthRangef;_glDepthRangef.sig="vff";var _glStencilMaskSeparate=_emscripten_glStencilMaskSeparate;_glStencilMaskSeparate.sig="vii";var _glHint=_emscripten_glHint;_glHint.sig="vii";var _glPolygonOffset=_emscripten_glPolygonOffset;_glPolygonOffset.sig="vff";var _glVertexAttrib1f=_emscripten_glVertexAttrib1f;_glVertexAttrib1f.sig="vif";var _glTexParameteri=_emscripten_glTexParameteri;_glTexParameteri.sig="viii";var _glTexParameterf=_emscripten_glTexParameterf;_glTexParameterf.sig="viif";var _glVertexAttrib2f=_emscripten_glVertexAttrib2f;_glVertexAttrib2f.sig="viff";var _glStencilFunc=_emscripten_glStencilFunc;_glStencilFunc.sig="viii";var _glStencilOp=_emscripten_glStencilOp;_glStencilOp.sig="viii";var _glViewport=_emscripten_glViewport;_glViewport.sig="viiii";var _glClearColor=_emscripten_glClearColor;_glClearColor.sig="vffff";var _glScissor=_emscripten_glScissor;_glScissor.sig="viiii";var _glVertexAttrib3f=_emscripten_glVertexAttrib3f;_glVertexAttrib3f.sig="vifff";var _glRenderbufferStorage=_emscripten_glRenderbufferStorage;_glRenderbufferStorage.sig="viiii";var _glBlendFuncSeparate=_emscripten_glBlendFuncSeparate;_glBlendFuncSeparate.sig="viiii";var _glBlendColor=_emscripten_glBlendColor;_glBlendColor.sig="vffff";var _glStencilFuncSeparate=_emscripten_glStencilFuncSeparate;_glStencilFuncSeparate.sig="viiii";var _glStencilOpSeparate=_emscripten_glStencilOpSeparate;_glStencilOpSeparate.sig="viiii";var _glVertexAttrib4f=_emscripten_glVertexAttrib4f;_glVertexAttrib4f.sig="viffff";var _glCopyTexImage2D=_emscripten_glCopyTexImage2D;_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=_emscripten_glCopyTexSubImage2D;_glCopyTexSubImage2D.sig="viiiiiiii";function _emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){ctx>>>=0;return webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){ctx>>>=0;return webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance.sig="ip";var _glGetStringi=_emscripten_glGetStringi;_glGetStringi.sig="pii";var _glGetInteger64v=_emscripten_glGetInteger64v;_glGetInteger64v.sig="vip";var _glGetInternalformativ=_emscripten_glGetInternalformativ;_glGetInternalformativ.sig="viiiip";var _glCompressedTexImage3D=_emscripten_glCompressedTexImage3D;_glCompressedTexImage3D.sig="viiiiiiiip";var _glCompressedTexSubImage3D=_emscripten_glCompressedTexSubImage3D;_glCompressedTexSubImage3D.sig="viiiiiiiiiip";var _glGetBufferParameteri64v=_emscripten_glGetBufferParameteri64v;_glGetBufferParameteri64v.sig="viip";function _emscripten_glGetBufferSubData(target,offset,size,data){offset>>>=0;size>>>=0;data>>>=0;if(!data){GL.recordError(1281);return}size&&GLctx.getBufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}_emscripten_glGetBufferSubData.sig="vippp";var _glGetBufferSubData=_emscripten_glGetBufferSubData;_glGetBufferSubData.sig="vippp";var _glInvalidateFramebuffer=_emscripten_glInvalidateFramebuffer;_glInvalidateFramebuffer.sig="viip";var _glInvalidateSubFramebuffer=_emscripten_glInvalidateSubFramebuffer;_glInvalidateSubFramebuffer.sig="viipiiii";var _glTexImage3D=_emscripten_glTexImage3D;_glTexImage3D.sig="viiiiiiiiip";var _glTexSubImage3D=_emscripten_glTexSubImage3D;_glTexSubImage3D.sig="viiiiiiiiiip";var _glGenQueries=_emscripten_glGenQueries;_glGenQueries.sig="vip";var _glDeleteQueries=_emscripten_glDeleteQueries;_glDeleteQueries.sig="vip";var _glIsQuery=_emscripten_glIsQuery;_glIsQuery.sig="ii";var _glBeginQuery=_emscripten_glBeginQuery;_glBeginQuery.sig="vii";var _glGetQueryiv=_emscripten_glGetQueryiv;_glGetQueryiv.sig="viip";var _glGetQueryObjectuiv=_emscripten_glGetQueryObjectuiv;_glGetQueryObjectuiv.sig="viip";var _glGenSamplers=_emscripten_glGenSamplers;_glGenSamplers.sig="vip";var _glDeleteSamplers=_emscripten_glDeleteSamplers;_glDeleteSamplers.sig="vip";var _glIsSampler=_emscripten_glIsSampler;_glIsSampler.sig="ii";var _glBindSampler=_emscripten_glBindSampler;_glBindSampler.sig="vii";var _glSamplerParameterf=_emscripten_glSamplerParameterf;_glSamplerParameterf.sig="viif";var _glSamplerParameteri=_emscripten_glSamplerParameteri;_glSamplerParameteri.sig="viii";var _glSamplerParameterfv=_emscripten_glSamplerParameterfv;_glSamplerParameterfv.sig="viip";var _glSamplerParameteriv=_emscripten_glSamplerParameteriv;_glSamplerParameteriv.sig="viip";var _glGetSamplerParameterfv=_emscripten_glGetSamplerParameterfv;_glGetSamplerParameterfv.sig="viip";var _glGetSamplerParameteriv=_emscripten_glGetSamplerParameteriv;_glGetSamplerParameteriv.sig="viip";var _glGenTransformFeedbacks=_emscripten_glGenTransformFeedbacks;_glGenTransformFeedbacks.sig="vip";var _glDeleteTransformFeedbacks=_emscripten_glDeleteTransformFeedbacks;_glDeleteTransformFeedbacks.sig="vip";var _glIsTransformFeedback=_emscripten_glIsTransformFeedback;_glIsTransformFeedback.sig="ii";var _glBindTransformFeedback=_emscripten_glBindTransformFeedback;_glBindTransformFeedback.sig="vii";var _glTransformFeedbackVaryings=_emscripten_glTransformFeedbackVaryings;_glTransformFeedbackVaryings.sig="viipi";var _glGetTransformFeedbackVarying=_emscripten_glGetTransformFeedbackVarying;_glGetTransformFeedbackVarying.sig="viiipppp";var _glGetIntegeri_v=_emscripten_glGetIntegeri_v;_glGetIntegeri_v.sig="viip";var _glGetInteger64i_v=_emscripten_glGetInteger64i_v;_glGetInteger64i_v.sig="viip";var _glBindBufferBase=_emscripten_glBindBufferBase;_glBindBufferBase.sig="viii";var _glBindBufferRange=_emscripten_glBindBufferRange;_glBindBufferRange.sig="viiipp";var _glGetUniformIndices=_emscripten_glGetUniformIndices;_glGetUniformIndices.sig="viipp";var _glGetActiveUniformsiv=_emscripten_glGetActiveUniformsiv;_glGetActiveUniformsiv.sig="viipip";var _glGetUniformBlockIndex=_emscripten_glGetUniformBlockIndex;_glGetUniformBlockIndex.sig="iip";var _glGetActiveUniformBlockiv=_emscripten_glGetActiveUniformBlockiv;_glGetActiveUniformBlockiv.sig="viiip";var _glGetActiveUniformBlockName=_emscripten_glGetActiveUniformBlockName;_glGetActiveUniformBlockName.sig="viiipp";var _glUniformBlockBinding=_emscripten_glUniformBlockBinding;_glUniformBlockBinding.sig="viii";var _glClearBufferiv=_emscripten_glClearBufferiv;_glClearBufferiv.sig="viip";var _glClearBufferuiv=_emscripten_glClearBufferuiv;_glClearBufferuiv.sig="viip";var _glClearBufferfv=_emscripten_glClearBufferfv;_glClearBufferfv.sig="viip";var _glFenceSync=_emscripten_glFenceSync;_glFenceSync.sig="pii";var _glDeleteSync=_emscripten_glDeleteSync;_glDeleteSync.sig="vp";var _glClientWaitSync=_emscripten_glClientWaitSync;_glClientWaitSync.sig="ipij";var _glWaitSync=_emscripten_glWaitSync;_glWaitSync.sig="vpij";var _glGetSynciv=_emscripten_glGetSynciv;_glGetSynciv.sig="vpiipp";var _glIsSync=_emscripten_glIsSync;_glIsSync.sig="ip";var _glGetUniformuiv=_emscripten_glGetUniformuiv;_glGetUniformuiv.sig="viip";var _glGetFragDataLocation=_emscripten_glGetFragDataLocation;_glGetFragDataLocation.sig="iip";var _glGetVertexAttribIuiv=_emscripten_glGetVertexAttribIuiv;_glGetVertexAttribIuiv.sig="viip";var _glUniform1ui=_emscripten_glUniform1ui;_glUniform1ui.sig="vii";var _glUniform2ui=_emscripten_glUniform2ui;_glUniform2ui.sig="viii";var _glUniform3ui=_emscripten_glUniform3ui;_glUniform3ui.sig="viiii";var _glUniform4ui=_emscripten_glUniform4ui;_glUniform4ui.sig="viiiii";var _glUniform1uiv=_emscripten_glUniform1uiv;_glUniform1uiv.sig="viip";var _glUniform2uiv=_emscripten_glUniform2uiv;_glUniform2uiv.sig="viip";var _glUniform3uiv=_emscripten_glUniform3uiv;_glUniform3uiv.sig="viip";var _glUniform4uiv=_emscripten_glUniform4uiv;_glUniform4uiv.sig="viip";var _glUniformMatrix2x3fv=_emscripten_glUniformMatrix2x3fv;_glUniformMatrix2x3fv.sig="viiip";var _glUniformMatrix3x2fv=_emscripten_glUniformMatrix3x2fv;_glUniformMatrix3x2fv.sig="viiip";var _glUniformMatrix2x4fv=_emscripten_glUniformMatrix2x4fv;_glUniformMatrix2x4fv.sig="viiip";var _glUniformMatrix4x2fv=_emscripten_glUniformMatrix4x2fv;_glUniformMatrix4x2fv.sig="viiip";var _glUniformMatrix3x4fv=_emscripten_glUniformMatrix3x4fv;_glUniformMatrix3x4fv.sig="viiip";var _glUniformMatrix4x3fv=_emscripten_glUniformMatrix4x3fv;_glUniformMatrix4x3fv.sig="viiip";var _glVertexAttribI4iv=_emscripten_glVertexAttribI4iv;_glVertexAttribI4iv.sig="vip";var _glVertexAttribI4uiv=_emscripten_glVertexAttribI4uiv;_glVertexAttribI4uiv.sig="vip";var _glProgramParameteri=_emscripten_glProgramParameteri;_glProgramParameteri.sig="viii";var _glGetProgramBinary=_emscripten_glGetProgramBinary;_glGetProgramBinary.sig="viippp";var _glProgramBinary=_emscripten_glProgramBinary;_glProgramBinary.sig="viipi";var _glFramebufferTextureLayer=_emscripten_glFramebufferTextureLayer;_glFramebufferTextureLayer.sig="viiiii";var _glVertexAttribIPointer=_emscripten_glVertexAttribIPointer;_glVertexAttribIPointer.sig="viiiip";var _glDrawRangeElements=_emscripten_glDrawRangeElements;_glDrawRangeElements.sig="viiiiip";var _emscripten_glDrawArraysInstancedBaseInstanceWEBGL=(mode,first,count,instanceCount,baseInstance)=>{GLctx.dibvbi["drawArraysInstancedBaseInstanceWEBGL"](mode,first,count,instanceCount,baseInstance)};_emscripten_glDrawArraysInstancedBaseInstanceWEBGL.sig="viiiii";var _glDrawArraysInstancedBaseInstanceWEBGL=_emscripten_glDrawArraysInstancedBaseInstanceWEBGL;var _emscripten_glDrawArraysInstancedBaseInstance=_glDrawArraysInstancedBaseInstanceWEBGL;_emscripten_glDrawArraysInstancedBaseInstance.sig="viiiii";var _glDrawArraysInstancedBaseInstance=_emscripten_glDrawArraysInstancedBaseInstance;_glDrawArraysInstancedBaseInstance.sig="viiiii";var _emscripten_glDrawArraysInstancedBaseInstanceANGLE=_glDrawArraysInstancedBaseInstanceWEBGL;var _glDrawArraysInstancedBaseInstanceANGLE=_emscripten_glDrawArraysInstancedBaseInstanceANGLE;var _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL=(mode,count,type,offset,instanceCount,baseVertex,baseinstance)=>{GLctx.dibvbi["drawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,count,type,offset,instanceCount,baseVertex,baseinstance)};_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL.sig="viiiiiii";var _glDrawElementsInstancedBaseVertexBaseInstanceWEBGL=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _glDrawElementsInstancedBaseVertexBaseInstanceANGLE=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;var _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL=(mode,firsts,counts,instanceCounts,baseInstances,drawCount)=>{GLctx.mdibvbi["multiDrawArraysInstancedBaseInstanceWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,HEAP32,instanceCounts>>>2,HEAPU32,baseInstances>>>2,drawCount)};_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL.sig="viiiiii";var _glMultiDrawArraysInstancedBaseInstanceWEBGL=_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL;var _emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE=_glMultiDrawArraysInstancedBaseInstanceWEBGL;var _glMultiDrawArraysInstancedBaseInstanceANGLE=_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE;var _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL=(mode,counts,type,offsets,instanceCounts,baseVertices,baseInstances,drawCount)=>{GLctx.mdibvbi["multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,HEAP32,instanceCounts>>>2,HEAP32,baseVertices>>>2,HEAPU32,baseInstances>>>2,drawCount)};_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL.sig="viiiiiiii";var _glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;var _glEndTransformFeedback=_emscripten_glEndTransformFeedback;_glEndTransformFeedback.sig="v";var _glPauseTransformFeedback=_emscripten_glPauseTransformFeedback;_glPauseTransformFeedback.sig="v";var _glResumeTransformFeedback=_emscripten_glResumeTransformFeedback;_glResumeTransformFeedback.sig="v";var _glBeginTransformFeedback=_emscripten_glBeginTransformFeedback;_glBeginTransformFeedback.sig="vi";var _glReadBuffer=_emscripten_glReadBuffer;_glReadBuffer.sig="vi";var _glEndQuery=_emscripten_glEndQuery;_glEndQuery.sig="vi";var _glClearBufferfi=_emscripten_glClearBufferfi;_glClearBufferfi.sig="viifi";var _glVertexAttribI4i=_emscripten_glVertexAttribI4i;_glVertexAttribI4i.sig="viiiii";var _glVertexAttribI4ui=_emscripten_glVertexAttribI4ui;_glVertexAttribI4ui.sig="viiiii";var _glCopyBufferSubData=_emscripten_glCopyBufferSubData;_glCopyBufferSubData.sig="viippp";var _glTexStorage2D=_emscripten_glTexStorage2D;_glTexStorage2D.sig="viiiii";var _glRenderbufferStorageMultisample=_emscripten_glRenderbufferStorageMultisample;_glRenderbufferStorageMultisample.sig="viiiii";var _glTexStorage3D=_emscripten_glTexStorage3D;_glTexStorage3D.sig="viiiiii";var _glCopyTexSubImage3D=_emscripten_glCopyTexSubImage3D;_glCopyTexSubImage3D.sig="viiiiiiiii";var _glBlitFramebuffer=_emscripten_glBlitFramebuffer;_glBlitFramebuffer.sig="viiiiiiiiii";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>>>0);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>>>0]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end>>>0]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>>0]=0};var allocateUTF8=(...args)=>stringToNewUTF8(...args);var allocateUTF8OnStack=(...args)=>stringToUTF8OnStack(...args);var demangle=func=>{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]===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;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));return bits/8}return 0}}}var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;var webSockets=new HandleAllocator;var WS={socketEvent:null,getSocket(socketId){if(!webSockets.has(socketId)){return 0}return webSockets.get(socketId)},getSocketEvent(socketId){this.socketEvent||=_malloc(520);HEAPU32[this.socketEvent>>>2>>>0]=socketId;return this.socketEvent}};function _emscripten_websocket_get_ready_state(socketId,readyState){readyState>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}HEAP16[readyState>>>1>>>0]=socket.readyState;return 0}_emscripten_websocket_get_ready_state.sig="iip";function _emscripten_websocket_get_buffered_amount(socketId,bufferedAmount){bufferedAmount>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}HEAPU32[bufferedAmount>>>2>>>0]=socket.bufferedAmount;return 0}_emscripten_websocket_get_buffered_amount.sig="iip";function _emscripten_websocket_get_extensions(socketId,extensions,extensionsLength){extensions>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!extensions)return-5;stringToUTF8(socket.extensions,extensions,extensionsLength);return 0}_emscripten_websocket_get_extensions.sig="iipi";function _emscripten_websocket_get_extensions_length(socketId,extensionsLength){extensionsLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!extensionsLength)return-5;HEAP32[extensionsLength>>>2>>>0]=lengthBytesUTF8(socket.extensions)+1;return 0}_emscripten_websocket_get_extensions_length.sig="iip";function _emscripten_websocket_get_protocol(socketId,protocol,protocolLength){protocol>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!protocol)return-5;stringToUTF8(socket.protocol,protocol,protocolLength);return 0}_emscripten_websocket_get_protocol.sig="iipi";function _emscripten_websocket_get_protocol_length(socketId,protocolLength){protocolLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!protocolLength)return-5;HEAP32[protocolLength>>>2>>>0]=lengthBytesUTF8(socket.protocol)+1;return 0}_emscripten_websocket_get_protocol_length.sig="iip";function _emscripten_websocket_get_url(socketId,url,urlLength){url>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!url)return-5;stringToUTF8(socket.url,url,urlLength);return 0}_emscripten_websocket_get_url.sig="iipi";function _emscripten_websocket_get_url_length(socketId,urlLength){urlLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!urlLength)return-5;HEAP32[urlLength>>>2>>>0]=lengthBytesUTF8(socket.url)+1;return 0}_emscripten_websocket_get_url_length.sig="iip";function _emscripten_websocket_set_onopen_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onopen=e=>{var eventPtr=WS.getSocketEvent(socketId);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onopen_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onerror_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onerror=e=>{var eventPtr=WS.getSocketEvent(socketId);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onerror_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onclose_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onclose=e=>{var eventPtr=WS.getSocketEvent(socketId);HEAP8[eventPtr+4>>>0]=e.wasClean,HEAP16[eventPtr+6>>>1>>>0]=e.code,stringToUTF8(e.reason,eventPtr+8,512);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onclose_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onmessage_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onmessage=e=>{var isText=typeof e.data=="string";if(isText){var buf=stringToNewUTF8(e.data);var len=lengthBytesUTF8(e.data)+1}else{var len=e.data.byteLength;var buf=_malloc(len);HEAP8.set(new Uint8Array(e.data),buf>>>0)}var eventPtr=WS.getSocketEvent(socketId);HEAPU32[eventPtr+4>>>2>>>0]=buf,HEAP32[eventPtr+8>>>2>>>0]=len,HEAP8[eventPtr+12>>>0]=isText,getWasmTableEntry(callbackFunc)(0,eventPtr,userData);_free(buf)};return 0}_emscripten_websocket_set_onmessage_callback_on_thread.sig="iippp";function _emscripten_websocket_new(createAttributes){createAttributes>>>=0;if(!globalThis.WebSocket){return-1}if(!createAttributes){return-5}var url=UTF8ToString(HEAPU32[createAttributes>>>2>>>0]);var protocols=HEAPU32[createAttributes+4>>>2>>>0];var socket=protocols?new WebSocket(url,UTF8ToString(protocols).split(",")):new WebSocket(url);socket.binaryType="arraybuffer";var socketId=webSockets.allocate(socket);return socketId}_emscripten_websocket_new.sig="ip";function _emscripten_websocket_send_utf8_text(socketId,textData){textData>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}var str=UTF8ToString(textData);socket.send(str);return 0}_emscripten_websocket_send_utf8_text.sig="iip";function _emscripten_websocket_send_binary(socketId,binaryData,dataLength){binaryData>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.send(HEAPU8.subarray(binaryData>>>0,binaryData+dataLength>>>0));return 0}_emscripten_websocket_send_binary.sig="iipi";function _emscripten_websocket_close(socketId,code,reason){reason>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}var reasonStr=reason?UTF8ToString(reason):undefined;if(reason)socket.close(code||undefined,UTF8ToString(reason));else if(code)socket.close(code);else socket.close();return 0}_emscripten_websocket_close.sig="iiip";var _emscripten_websocket_delete=socketId=>{var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onopen=socket.onerror=socket.onclose=socket.onmessage=null;webSockets.free(socketId);return 0};_emscripten_websocket_delete.sig="ii";var _emscripten_websocket_is_supported=()=>typeof WebSocket!="undefined";_emscripten_websocket_is_supported.sig="i";var _emscripten_websocket_deinitialize=()=>{for(var i in webSockets.allocated){if(webSockets.has(i)){var socket=webSockets.get(i);socket.close();_emscripten_websocket_delete(i)}}};_emscripten_websocket_deinitialize.sig="v";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength<len?dstLength:len;var heap=heapType?HEAPF32:HEAP32;dst=dst>>>2;for(var i=0;i<writeLength;++i){heap[dst+i>>>0]=arr[i]}return len};var webglPowerPreferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){target>>>=0;attributes>>>=0;var attr32=attributes>>>2;var powerPreference=HEAP32[attr32+(8>>2)>>>0];var contextAttributes={alpha:!!HEAP8[attributes+0>>>0],depth:!!HEAP8[attributes+1>>>0],stencil:!!HEAP8[attributes+2>>>0],antialias:!!HEAP8[attributes+3>>>0],premultipliedAlpha:!!HEAP8[attributes+4>>>0],preserveDrawingBuffer:!!HEAP8[attributes+5>>>0],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12>>>0],majorVersion:HEAP32[attr32+(16>>2)>>>0],minorVersion:HEAP32[attr32+(20>>2)>>>0],enableExtensionsByDefault:HEAP8[attributes+24>>>0],explicitSwapControl:HEAP8[attributes+25>>>0],proxyContextToMainThread:HEAP32[attr32+(28>>2)>>>0],renderViaOffscreenBackBuffer:HEAP8[attributes+32>>>0]};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";function _emscripten_webgl_do_get_current_context(){return 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";function _emscripten_webgl_make_context_current(contextHandle){contextHandle>>>=0;var success=GL.makeContextCurrent(contextHandle);return success?0:-5}_emscripten_webgl_make_context_current.sig="ip";function _emscripten_webgl_get_drawing_buffer_size(contextHandle,width,height){contextHandle>>>=0;width>>>=0;height>>>=0;var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>>2>>>0]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>>2>>>0]=GLContext.GLctx.drawingBufferHeight;return 0}_emscripten_webgl_get_drawing_buffer_size.sig="ippp";function _emscripten_webgl_get_context_attributes(c,a){c>>>=0;a>>>=0;if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx?.getContextAttributes();if(!t)return-3;HEAP8[a>>>0]=t.alpha;HEAP8[a+1>>>0]=t.depth;HEAP8[a+2>>>0]=t.stencil;HEAP8[a+3>>>0]=t.antialias;HEAP8[a+4>>>0]=t.premultipliedAlpha;HEAP8[a+5>>>0]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>>2>>>0]=power;HEAP8[a+12>>>0]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>>2>>>0]=c.version;HEAP32[a+20>>>2>>>0]=0;HEAP8[a+24>>>0]=c.attributes.enableExtensionsByDefault;return 0}_emscripten_webgl_get_context_attributes.sig="ipp";function _emscripten_webgl_destroy_context(contextHandle){contextHandle>>>=0;if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}_emscripten_webgl_destroy_context.sig="ip";function _emscripten_webgl_enable_extension(contextHandle,extension){contextHandle>>>=0;extension>>>=0;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_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(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=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,eventTypeId,userData,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_webglcontextlost_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0}_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";function _emscripten_set_webglcontextrestored_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0}_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";function _emscripten_is_webgl_context_lost(contextHandle){contextHandle>>>=0;return!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost()}_emscripten_is_webgl_context_lost.sig="ip";function _emscripten_webgl_get_supported_extensions(){return 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";function _emscripten_webgl_get_program_info_log_utf8(program){return 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";function _emscripten_webgl_get_shader_info_log_utf8(shader){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]))}_emscripten_webgl_get_shader_info_log_utf8.sig="pi";function _emscripten_webgl_get_shader_source_utf8(shader){return 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";function _emscripten_webgl_get_vertex_attrib_v(index,param,dst,dstLength,dstType){dst>>>=0;return 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";function _emscripten_webgl_get_uniform_v(program,location,dst,dstLength,dstType){dst>>>=0;return writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType)}_emscripten_webgl_get_uniform_v.sig="iiipii";function _emscripten_webgl_get_parameter_v(param,dst,dstLength,dstType){dst>>>=0;return 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";function _emscripten_webgl_get_parameter_utf8(param){return stringToNewUTF8(GLctx.getParameter(param))}_emscripten_webgl_get_parameter_utf8.sig="pi";function _emscripten_webgl_get_parameter_i64v(param,dst){dst>>>=0;return writeI53ToI64(dst,GLctx.getParameter(param))}_emscripten_webgl_get_parameter_i64v.sig="vip";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>>>0];if(param==12321){var alphaSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>>2>>>0];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>>>0]=1}if(config&&config_size>0){HEAPU32[config>>>2>>>0]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetDisplay(nativeDisplayType){nativeDisplayType>>>=0;EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3}_eglGetDisplay.sig="pp";function _eglInitialize(display,majorVersion,minorVersion){display>>>=0;majorVersion>>>=0;minorVersion>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>>2>>>0]=1}if(minorVersion){HEAP32[minorVersion>>>2>>>0]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}_eglInitialize.sig="ippp";function _eglTerminate(display){display>>>=0;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";function _eglGetConfigs(display,configs,config_size,numConfigs){display>>>=0;configs>>>=0;numConfigs>>>=0;return EGL.chooseConfig(display,0,configs,config_size,numConfigs)}_eglGetConfigs.sig="ippip";function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){display>>>=0;attrib_list>>>=0;configs>>>=0;numConfigs>>>=0;return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}_eglChooseConfig.sig="ipppip";function _eglGetConfigAttrib(display,config,attribute,value){display>>>=0;config>>>=0;value>>>=0;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>>>0]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>>2>>>0]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>>2>>>0]=8;return 1;case 12323:HEAP32[value>>>2>>>0]=8;return 1;case 12324:HEAP32[value>>>2>>>0]=8;return 1;case 12325:HEAP32[value>>>2>>>0]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>>2>>>0]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>>2>>>0]=12344;return 1;case 12328:HEAP32[value>>>2>>>0]=62002;return 1;case 12329:HEAP32[value>>>2>>>0]=0;return 1;case 12330:HEAP32[value>>>2>>>0]=4096;return 1;case 12331:HEAP32[value>>>2>>>0]=16777216;return 1;case 12332:HEAP32[value>>>2>>>0]=4096;return 1;case 12333:HEAP32[value>>>2>>>0]=0;return 1;case 12334:HEAP32[value>>>2>>>0]=0;return 1;case 12335:HEAP32[value>>>2>>>0]=12344;return 1;case 12337:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>>2>>>0]=4;return 1;case 12340:HEAP32[value>>>2>>>0]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>>2>>>0]=-1;return 1;case 12345:case 12346:HEAP32[value>>>2>>>0]=0;return 1;case 12347:HEAP32[value>>>2>>>0]=0;return 1;case 12348:HEAP32[value>>>2>>>0]=1;return 1;case 12349:case 12350:HEAP32[value>>>2>>>0]=0;return 1;case 12351:HEAP32[value>>>2>>>0]=12430;return 1;case 12352:HEAP32[value>>>2>>>0]=4;return 1;case 12354:HEAP32[value>>>2>>>0]=0;return 1;default:EGL.setErrorCode(12292);return 0}}_eglGetConfigAttrib.sig="ippip";function _eglCreateWindowSurface(display,config,win,attrib_list){display>>>=0;config>>>=0;attrib_list>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}_eglCreateWindowSurface.sig="pppip";function _eglDestroySurface(display,surface){display>>>=0;surface>>>=0;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";function _eglCreateContext(display,config,hmm,contextAttribs){display>>>=0;config>>>=0;hmm>>>=0;contextAttribs>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>>2>>>0];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>>2>>>0]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(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";function _eglDestroyContext(display,context){display>>>=0;context>>>=0;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";function _eglQuerySurface(display,surface,attribute,value){display>>>=0;surface>>>=0;value>>>=0;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>>>0]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>>2>>>0]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>>2>>>0]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>>2>>>0]=-1;return 1;case 12433:HEAP32[value>>>2>>>0]=-1;return 1;case 12434:HEAP32[value>>>2>>>0]=-1;return 1;case 12422:HEAP32[value>>>2>>>0]=12420;return 1;case 12441:HEAP32[value>>>2>>>0]=12442;return 1;case 12435:HEAP32[value>>>2>>>0]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}}_eglQuerySurface.sig="ippip";function _eglQueryContext(display,context,attribute,value){display>>>=0;context>>>=0;value>>>=0;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>>>0]=62002;return 1;case 12439:HEAP32[value>>>2>>>0]=12448;return 1;case 12440:HEAP32[value>>>2>>>0]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>>2>>>0]=12420;return 1;default:EGL.setErrorCode(12292);return 0}}_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";function _eglQueryString(display,name){display>>>=0;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";function _eglSwapInterval(display,interval){display>>>=0;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";function _eglMakeCurrent(display,draw,read,context){display>>>=0;draw>>>=0;read>>>=0;context>>>=0;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";function _eglGetCurrentContext(){return EGL.currentContext}_eglGetCurrentContext.sig="p";function _eglGetCurrentSurface(readdraw){if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}}_eglGetCurrentSurface.sig="pi";function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}_eglGetCurrentDisplay.sig="p";function _eglSwapBuffers(dpy,surface){dpy>>>=0;surface>>>=0;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 _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";function _SDL_LockSurface(surf){surf>>>=0;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>>>0]=surfData.buffer}HEAPU32[surf+20>>>2>>>0]=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<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){abort("CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set")}else{HEAPU8.set(surfData.image.data,surfData.buffer>>>0)}}return 0}_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:true,discardOnLock:false,opaqueFrontBuffer:true},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,unicode:false,ttfContext:null,audio:null,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect(rect){return{x:HEAP32[rect>>>2>>>0],y:HEAP32[rect+4>>>2>>>0],w:HEAP32[rect+8>>>2>>>0],h:HEAP32[rect+12>>>2>>>0]}},updateRect(rect,r){HEAP32[rect>>>2>>>0]=r.x;HEAP32[rect+4>>>2>>>0]=r.y;HEAP32[rect+8>>>2>>>0]=r.w;HEAP32[rect+12>>>2>>>0]=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>>>0];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>>2>>>0];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>>>0]=flags;HEAPU32[surf+4>>>2>>>0]=pixelFormat;HEAP32[surf+8>>>2>>>0]=width;HEAP32[surf+12>>>2>>>0]=height;HEAP32[surf+16>>>2>>>0]=width*bpp;HEAPU32[surf+20>>>2>>>0]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>>2>>>0]=0;HEAP32[surf+40>>>2>>>0]=0;HEAP32[surf+44>>>2>>>0]=canvas.width;HEAP32[surf+48>>>2>>>0]=canvas.height;HEAP32[surf+56>>>2>>>0]=1;HEAP32[pixelFormat>>>2>>>0]=-2042224636;HEAP32[pixelFormat+4>>>2>>>0]=0;HEAP8[pixelFormat+8>>>0]=bpp*8;HEAP8[pixelFormat+9>>>0]=bpp;HEAP32[pixelFormat+12>>>2>>>0]=rmask||255;HEAP32[pixelFormat+16>>>2>>>0]=gmask||65280;HEAP32[pixelFormat+20>>>2>>>0]=bmask||16711680;HEAP32[pixelFormat+24>>>2>>>0]=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<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+(base+x)>>>0]]}}},freeSurface(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>>2>>>0];if(refcount>1){HEAP32[refcountPointer>>>2>>>0]=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>>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)}case"mousemove":{Browser.calculateMouseEvent(event);break}}},flushEventsToHandler(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){getWasmTableEntry(SDL.eventHandler)(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>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>>0]=down?1:0;HEAP8[ptr+9>>>0]=0;HEAP32[ptr+12>>>2>>>0]=scan;HEAP32[ptr+16>>>2>>>0]=key;HEAP16[ptr+20>>>1>>>0]=SDL.modState;HEAP32[ptr+24>>>2>>>0]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>>2>>>0]=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>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP32[ptr+8>>>2>>>0]=0;HEAP32[ptr+12>>>2>>>0]=0;HEAP8[ptr+16>>>0]=event.button+1;HEAP8[ptr+17>>>0]=down?1:0;HEAP32[ptr+20>>>2>>>0]=Browser.mouseX;HEAP32[ptr+24>>>2>>>0]=Browser.mouseY}else{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP32[ptr+8>>>2>>>0]=0;HEAP32[ptr+12>>>2>>>0]=0;HEAP32[ptr+16>>>2>>>0]=SDL.buttonState;HEAP32[ptr+20>>>2>>>0]=Browser.mouseX;HEAP32[ptr+24>>>2>>>0]=Browser.mouseY;HEAP32[ptr+28>>>2>>>0]=Browser.mouseMovementX;HEAP32[ptr+32>>>2>>>0]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>>2>>>0]=event.deltaX;HEAP32[ptr+20>>>2>>>0]=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>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=_SDL_GetTicks();HEAP64[ptr+8>>>3>>>0]=BigInt(touch.deviceID);HEAP64[ptr+16>>>3>>>0]=BigInt(touch.identifier);HEAPF32[ptr+24>>>2>>>0]=x;HEAPF32[ptr+28>>>2>>>0]=y;HEAPF32[ptr+32>>>2>>>0]=dx;HEAPF32[ptr+36>>>2>>>0]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>>2>>>0]=touch.force}else{HEAPF32[ptr+40>>>2>>>0]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=event.w;HEAP32[ptr+8>>>2>>>0]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>>0]=event.index;HEAP8[ptr+5>>>0]=event.button;HEAP8[ptr+6>>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>>0]=event.index;HEAP8[ptr+5>>>0]=event.axis;HEAP32[ptr+8>>>2>>>0]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=12;break}case"blur":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=visibilityEventID;break}default:abort("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<num;i++){SDL.channels[i]={audio:null,volume:1}}},setGetVolume(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){err(`setGetVolume failed to set audio volume: ${e}`)}}}return ret},setPannerPosition(info,x,y,z){info?.audio?.webAudioPannerNode?.["setPosition"](x,y,z)},playWebAudio(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined){abort("Cannot play back audio object that was not loaded")}webAudio.onDecodeComplete.push(()=>{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<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){abort("Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!")}if(audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>>1>>>0]/32768}}else if(audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAPF32[heapPtr+(j*numChannels+c)*4>>>2>>>0]}}else{abort("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;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}},joystickAxisValueConversion(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)},getGamepads(){if(!navigator.getGamepads){return[]}return navigator.getGamepads()},getGamepad(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};function _SDL_Linked_Version(){if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version>>>0]=1;HEAP8[SDL.version+1>>>0]=3;HEAP8[SDL.version+2>>>0]=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";function _SDL_GetVideoInfo(){var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>>2>>>0]=canvas.width;HEAP32[ret+16>>>2>>>0]=canvas.height;return ret}_SDL_GetVideoInfo.sig="p";function _SDL_ListModes(format,flags){format>>>=0;return-1}_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";function _SDL_VideoDriverName(buf,max_size){buf>>>=0;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<size){var value=driverName[index];HEAP8[buf+index>>>0]=value;index++}HEAP8[buf+index>>>0]=0;return buf}_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=function(width,height,depth,flags){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)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";function _SDL_GetVideoSurface(){return SDL.screen}_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;i<SDL.numChannels;++i){var chan=SDL.channels[i];if(chan.audio){chan.audio.pause();chan.audio=undefined}}var audio=SDL.music.audio;audio?.pause();SDL.music.audio=undefined};_SDL_AudioQuit.sig="v";var _SDL_VideoQuit=()=>out("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";function _SDL_UnlockSurface(surf){surf>>>=0;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;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<num){var val=HEAP32[src>>>0];data[dst]=val&255;data[dst+1]=val>>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>>>0,src+num>>>0));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src>>>0,src+data32.length>>>0))}}}else{var canvas=Browser.getCanvas();var width=canvas.width;var height=canvas.height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}_SDL_UnlockSurface.sig="vp";function _SDL_Flip(surf){surf>>>=0}_SDL_Flip.sig="ip";function _SDL_UpdateRect(surf,x,y,w,h){surf>>>=0}_SDL_UpdateRect.sig="vpiiii";function _SDL_UpdateRects(surf,numrects,rects){surf>>>=0;rects>>>=0}_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>{var now=Date.now();while(Date.now()-now<delay){}};_SDL_Delay.sig="vi";function _SDL_WM_SetCaption(title,icon){title>>>=0;icon>>>=0;if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)}_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";function _SDL_GetKeyboardState(numKeys){numKeys>>>=0;if(numKeys){HEAP32[numKeys>>>2>>>0]=65536}return SDL.keyboardState}_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);function _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";function _SDL_GetMouseState(x,y){x>>>=0;y>>>=0;if(x)HEAP32[x>>>2>>>0]=Browser.mouseX;if(y)HEAP32[y>>>2>>>0]=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:document.exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";function _SDL_GetError(){SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage}_SDL_GetError.sig="p";function _SDL_SetError(fmt,varargs){fmt>>>=0;varargs>>>=0}_SDL_SetError.sig="vpp";function _SDL_CreateRGBSurface(flags,width,height,depth,rmask,gmask,bmask,amask){return SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask)}_SDL_CreateRGBSurface.sig="piiiiiiii";function _SDL_CreateRGBSurfaceFrom(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask){pixels>>>=0;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<height;++row){var baseOfSrc=row*pitch;var baseOfDst=row*pitchOfDst;for(var col=0;col<width*4;++col){image.data[baseOfDst+col]=HEAPU8[pixels+(baseOfDst+col)>>>0]}}data.ctx.putImageData(image,0,0);return surf}_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";function _SDL_ConvertSurface(surf,format,flags){surf>>>=0;format>>>=0;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";function _SDL_DisplayFormat(surf){surf>>>=0;return _SDL_ConvertSurface(surf,0,0)}_SDL_DisplayFormat.sig="pp";function _SDL_DisplayFormatAlpha(surf){surf>>>=0;return _SDL_ConvertSurface(surf,0,0)}_SDL_DisplayFormatAlpha.sig="pp";function _SDL_FreeSurface(surf){surf>>>=0;if(surf)SDL.freeSurface(surf)}_SDL_FreeSurface.sig="vp";function _SDL_UpperBlit(src,srcrect,dst,dstrect){src>>>=0;srcrect>>>=0;dst>>>=0;dstrect>>>=0;return SDL.blitSurface(src,srcrect,dst,dstrect,false)}_SDL_UpperBlit.sig="ipppp";function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){src>>>=0;srcrect>>>=0;dst>>>=0;dstrect>>>=0;return 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";function _SDL_GetClipRect(surf,rect){surf>>>=0;rect>>>=0;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";function _SDL_SetClipRect(surf,rect){surf>>>=0;rect>>>=0;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";function _SDL_FillRect(surf,rect,color){surf>>>=0;rect>>>=0;var surfData=SDL.surfaces[surf];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";function _zoomSurface(src,x,y,smooth){src>>>=0;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";function _rotozoomSurface(src,angle,zoom,smooth){src>>>=0;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";function _SDL_SetAlpha(surf,flag,alpha){surf>>>=0;var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}}_SDL_SetAlpha.sig="ipii";function _SDL_SetColorKey(surf,flag,key){surf>>>=0;warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0}_SDL_SetColorKey.sig="ipii";function _SDL_PollEvent(ptr){ptr>>>=0;return SDL.pollEvent(ptr)}_SDL_PollEvent.sig="ip";function _SDL_PushEvent(ptr){ptr>>>=0;var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0}_SDL_PushEvent.sig="ip";function _SDL_PeepEvents(events,requestedEventCount,action,from,to){events>>>=0;switch(action){case 2:{var index=0;var retrievedEventCount=0;while(index<SDL.events.length&&retrievedEventCount<requestedEventCount){var event=SDL.events[index];var type=SDL.DOMEventToSDLEvent[event.type];if(from<=type&&type<=to){if(SDL.makeCEvent(event,events)===false){index++}else{SDL.events.splice(index,1);retrievedEventCount++}}else{index++}}return retrievedEventCount}default:abort("SDL_PeepEvents does not yet support that action: "+action)}}_SDL_PeepEvents.sig="ipiiii";var _SDL_PumpEvents=()=>SDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";function _emscripten_SDL_SetEventHandler(handler,userdata){handler>>>=0;userdata>>>=0;SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)}_emscripten_SDL_SetEventHandler.sig="vpp";function _SDL_SetColors(surf,colors,firstColor,nColors){surf>>>=0;colors>>>=0;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<nColors;++i){var index=(firstColor+i)*4;surfData.colors[index]=HEAPU8[colors+i*4>>>0];surfData.colors[index+1]=HEAPU8[colors+(i*4+1)>>>0];surfData.colors[index+2]=HEAPU8[colors+(i*4+2)>>>0];surfData.colors[index+3]=255}return 1}_SDL_SetColors.sig="ippii";function _SDL_SetPalette(surf,flags,colors,firstColor,nColors){surf>>>=0;colors>>>=0;return _SDL_SetColors(surf,colors,firstColor,nColors)}_SDL_SetPalette.sig="ipipii";function _SDL_MapRGB(fmt,r,g,b){fmt>>>=0;SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080}_SDL_MapRGB.sig="ipiii";function _SDL_MapRGBA(fmt,r,g,b,a){fmt>>>=0;SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24}_SDL_MapRGBA.sig="ipiiii";function _SDL_GetRGB(pixel,fmt,r,g,b){fmt>>>=0;r>>>=0;g>>>=0;b>>>=0;SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>>0]=pixel&255}if(g){HEAP8[g>>>0]=pixel>>8&255}if(b){HEAP8[b>>>0]=pixel>>16&255}}_SDL_GetRGB.sig="vipppp";function _SDL_GetRGBA(pixel,fmt,r,g,b,a){fmt>>>=0;r>>>=0;g>>>=0;b>>>=0;a>>>=0;SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>>0]=pixel&255}if(g){HEAP8[g>>>0]=pixel>>8&255}if(b){HEAP8[b>>>0]=pixel>>16&255}if(a){HEAP8[a>>>0]=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";function _SDL_WM_ToggleFullScreen(surf){surf>>>=0;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";function _SDL_FreeRW(rwopsID){rwopsID>>>=0;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=function(rwopsID,freeSrc){rwopsID>>>=0;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>>>0],height:HEAP32[y>>>2>>>0],size:HEAP32[x>>>2>>>0]*HEAP32[y>>>2>>>0]*HEAP32[comp>>>2>>>0],bpp:HEAP32[comp>>>2>>>0]}};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>>>0,raw.data+raw.size>>>0))}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<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>>0];data[destPtr++]=HEAPU8[sourcePtr++>>>0];data[destPtr++]=HEAPU8[sourcePtr++>>>0];data[destPtr++]=255}}else if(raw.bpp==2){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var gray=HEAPU8[sourcePtr++>>>0];var alpha=HEAPU8[sourcePtr++>>>0];data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=alpha}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{err(`cannot handle bpp ${raw.bpp}`);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";function _SDL_RWFromFile(_name,mode){_name>>>=0;mode>>>=0;var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id}_SDL_RWFromFile.sig="ppp";function _IMG_Load(filename){filename>>>=0;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";function _SDL_OpenAudio(desired,obtained){desired>>>=0;obtained>>>=0;try{SDL.audio={freq:HEAPU32[desired>>>2>>>0],format:HEAPU16[desired+4>>>1>>>0],channels:HEAPU8[desired+6>>>0],samples:HEAPU16[desired+8>>>1>>>0],callback:HEAPU32[desired+16>>>2>>>0],userdata:HEAPU32[desired+20>>>2>>>0],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{abort("Invalid SDL audio format "+SDL.audio.format+"!")}if(SDL.audio.freq<=0){abort("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{abort(`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){abort(`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){abort(`Unsupported audio callback buffer size ${SDL.audio.samples}!`)}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){abort(`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{abort(`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.numSimultaneouslyQueuedBuffers;++i){var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];if(secsUntilNextPlayStart>=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<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(secsUntilNextPlayStart-preemptBufferFeedSecs)));if(SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers){++SDL.audio.numAudioTimersPending;safeSetTimeout(SDL.audio.caller,1)}}};SDL.audio.audioOutput=new Audio;SDL.openAudioContext();if(!SDL.audioContext)abort("Web Audio API is not available!");autoResumeAudioContext(SDL.audioContext);SDL.audio.nextPlayTime=0;SDL.audio.pushAudio=(ptr,sizeBytes)=>{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){abort("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>>>0]=SDL.audio.freq;HEAP16[obtained+4>>>1>>>0]=SDL.audio.format;HEAP8[obtained+6>>>0]=SDL.audio.channels;HEAP8[obtained+7>>>0]=SDL.audio.silence;HEAP16[obtained+8>>>1>>>0]=SDL.audio.samples;HEAPU32[obtained+16>>>2>>>0]=SDL.audio.callback;HEAPU32[obtained+20>>>2>>>0]=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]=0;HEAP16[obtained+4>>>1>>>0]=0;HEAP8[obtained+6>>>0]=0;HEAP8[obtained+7>>>0]=0;HEAP16[obtained+8>>>1>>>0]=0;HEAPU32[obtained+16>>>2>>>0]=0;HEAPU32[obtained+20>>>2>>>0]=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";function _SDL_CreateMutex(){return 0}_SDL_CreateMutex.sig="p";function _SDL_mutexP(mutex){mutex>>>=0;return 0}_SDL_mutexP.sig="ip";function _SDL_mutexV(mutex){mutex>>>=0;return 0}_SDL_mutexV.sig="ip";function _SDL_DestroyMutex(mutex){mutex>>>=0}_SDL_DestroyMutex.sig="vp";function _SDL_CreateCond(){return 0}_SDL_CreateCond.sig="p";function _SDL_CondSignal(cond){cond>>>=0}_SDL_CondSignal.sig="ip";function _SDL_CondWait(cond,mutex){cond>>>=0;mutex>>>=0}_SDL_CondWait.sig="ipp";function _SDL_DestroyCond(cond){cond>>>=0}_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";function _Mix_ChannelFinished(func){func>>>=0;SDL.channelFinished=func}_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i<SDL.numChannels-1;i++){_Mix_Volume(i,volume)}return _Mix_Volume(SDL.numChannels-1,volume)}return SDL.setGetVolume(SDL.channels[channel],volume)};_Mix_Volume.sig="iii";var _Mix_SetPanning=(channel,left,right)=>{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";function _Mix_LoadWAV_RW(rwopsID,freesrc){rwopsID>>>=0;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>>>0,rwops.bytes+rwops.count>>>0)}}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";function _Mix_LoadWAV(filename){filename>>>=0;var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result}_Mix_LoadWAV.sig="pp";function _Mix_QuickLoad_RAW(mem,len){mem>>>=0;var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i<numSamples;++i){buffer[i]=HEAP16[mem+i*2>>>1>>>0]/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";function _Mix_FreeChunk(id){id>>>=0;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<SDL.channels.length;++i)halt(i)}return 0};_Mix_HaltChannel.sig="ii";function _Mix_PlayChannelTimed(channel,id,loops,ticks){id>>>=0;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<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){err(`All ${SDL.numChannels} channels in use!`);return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function(){if(channelInfo.audio===this||channelInfo.audio.webAudioNode===this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)getWasmTableEntry(SDL.channelFinished)(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){getWasmTableEntry(SDL.hookMusicFinished)()}return 0};_Mix_HaltMusic.sig="i";function _Mix_HookMusicFinished(func){func>>>=0;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";function _Mix_LoadMUS_RW(filename){filename>>>=0;return _Mix_LoadWAV_RW(filename,0)}_Mix_LoadMUS_RW.sig="pp";function _Mix_LoadMUS(filename){filename>>>=0;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";function _Mix_PlayMusic(id,loops){id>>>=0;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";function _Mix_FadeInMusicPos(a1,a2,a3,a4){a1>>>=0;return _Mix_PlayMusic(a1,a2)}_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=a1=>_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<SDL.channels.length;i++){count+=_Mix_Playing(i)}return count}var info=SDL.channels[channel];if(info?.audio&&!info.audio.paused){return 1}return 0};_Mix_Playing.sig="ii";var _Mix_Pause=channel=>{if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Pause(i)}return}var info=SDL.channels[channel];if(info?.audio){info.audio.pause()}else{}};_Mix_Pause.sig="vi";var _Mix_Paused=channel=>{if(channel===-1){var pausedCount=0;for(var i=0;i<SDL.channels.length;i++){pausedCount+=_Mix_Paused(i)}return pausedCount}var info=SDL.channels[channel];return info?.audio?.paused?1:0};_Mix_Paused.sig="ii";var _Mix_PausedMusic=()=>SDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i<SDL.channels.length;i++){_Mix_Resume(i)}return}var info=SDL.channels[channel];if(info?.audio)info.audio.play()};_Mix_Resume.sig="vi";var _TTF_Init=()=>{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(!SDL.ttfContext.measureText){throw 1}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";function _TTF_OpenFont(name,size){name>>>=0;name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id}_TTF_OpenFont.sig="ppi";function _TTF_CloseFont(font){font>>>=0;SDL.fonts[font]=null}_TTF_CloseFont.sig="vp";function _TTF_RenderText_Solid(font,text,color){font>>>=0;text>>>=0;color>>>=0;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";function _TTF_RenderText_Shaded(a1,a2,a3,a4){a1>>>=0;a2>>>=0;a3>>>=0;a4>>>=0;return _TTF_RenderText_Solid(a1,a2,a3)}_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";function _TTF_SizeText(font,text,w,h){font>>>=0;text>>>=0;w>>>=0;h>>>=0;var fontData=SDL.fonts[font];if(w){HEAP32[w>>>2>>>0]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>>2>>>0]=fontData.size}return 0}_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";function _TTF_GlyphMetrics(font,ch,minx,maxx,miny,maxy,advance){font>>>=0;minx>>>=0;maxx>>>=0;miny>>>=0;maxy>>>=0;advance>>>=0;var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>>2>>>0]=width}if(minx){HEAP32[minx>>>2>>>0]=0}if(maxx){HEAP32[maxx>>>2>>>0]=width}if(miny){HEAP32[miny>>>2>>>0]=0}if(maxy){HEAP32[maxy>>>2>>>0]=fontData.size}}_TTF_GlyphMetrics.sig="ipippppp";function _TTF_FontAscent(font){font>>>=0;var fontData=SDL.fonts[font];return fontData.size*.98|0}_TTF_FontAscent.sig="ip";function _TTF_FontDescent(font){font>>>=0;var fontData=SDL.fonts[font];return fontData.size*.02|0}_TTF_FontDescent.sig="ip";function _TTF_FontHeight(font){font>>>=0;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];var x=x1<x2?x1:x2;var y=y1<y2?y1:y2;var w=Math.abs(x2-x1);var h=Math.abs(y2-y1);surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action+"Rect"](x,y,w,h);surfData.ctx.restore()},drawLine:(surf,x1,y1,x2,y2,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];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];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})`};function _boxColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color))}_boxColor.sig="ipiiiii";function _boxRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_boxRGBA.sig="ipiiiiiiii";function _rectangleColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}_rectangleColor.sig="ipiiiii";function _rectangleRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_rectangleRGBA.sig="ipiiiiiiii";function _ellipseColor(surf,x,y,rx,ry,color){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}_ellipseColor.sig="ipiiiii";function _ellipseRGBA(surf,x,y,rx,ry,r,g,b,a){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_ellipseRGBA.sig="ipiiiiiiii";function _filledEllipseColor(surf,x,y,rx,ry,color){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color))}_filledEllipseColor.sig="ipiiiii";function _filledEllipseRGBA(surf,x,y,rx,ry,r,g,b,a){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_filledEllipseRGBA.sig="ipiiiiiiii";function _lineColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color))}_lineColor.sig="ipiiiii";function _lineRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a))}_lineRGBA.sig="ipiiiiiiii";function _pixelRGBA(surf,x1,y1,r,g,b,a){surf>>>=0;return _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";function _SDL_GL_GetAttribute(attr,value){value>>>=0;if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>>2>>>0]=SDL.glAttributes[attr];return 0}_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(extension){extension>>>=0;return GLctx?.getExtension(UTF8ToString(extension))?1:0}_SDL_GL_ExtensionSupported.sig="ip";function _SDL_DestroyWindow(window){window>>>=0}_SDL_DestroyWindow.sig="vp";function _SDL_DestroyRenderer(renderer){renderer>>>=0}_SDL_DestroyRenderer.sig="vp";function _SDL_GetWindowFlags(window){window>>>=0;if(Browser.isFullscreen){return 1}return 0}_SDL_GetWindowFlags.sig="ip";function _SDL_GL_SwapWindow(window){window>>>=0}_SDL_GL_SwapWindow.sig="vp";function _SDL_GL_MakeCurrent(window,context){window>>>=0;context>>>=0}_SDL_GL_MakeCurrent.sig="ipp";function _SDL_GL_DeleteContext(context){context>>>=0}_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";function _SDL_SetWindowTitle(window,title){window>>>=0;title>>>=0;if(title)document.title=UTF8ToString(title)}_SDL_SetWindowTitle.sig="vpp";function _SDL_GetWindowSize(window,width,height){window>>>=0;width>>>=0;height>>>=0;var canvas=Browser.getCanvas();if(width)HEAP32[width>>>2>>>0]=canvas.width;if(height)HEAP32[height>>>2>>>0]=canvas.height}_SDL_GetWindowSize.sig="vppp";function _SDL_LogSetOutputFunction(callback,userdata){callback>>>=0;userdata>>>=0}_SDL_LogSetOutputFunction.sig="vpp";function _SDL_SetWindowFullscreen(window,fullscreen){window>>>=0;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";function _SDL_SetGammaRamp(redTable,greenTable,blueTable){redTable>>>=0;greenTable>>>=0;blueTable>>>=0;return-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";function _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";function _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";function _SDL_JoystickIndex(joystick){joystick>>>=0;return joystick-1}_SDL_JoystickIndex.sig="ip";function _SDL_JoystickNumAxes(joystick){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0}_SDL_JoystickNumAxes.sig="ip";function _SDL_JoystickNumBalls(joystick){joystick>>>=0;return 0}_SDL_JoystickNumBalls.sig="ip";function _SDL_JoystickNumHats(joystick){joystick>>>=0;return 0}_SDL_JoystickNumHats.sig="ip";function _SDL_JoystickNumButtons(joystick){joystick>>>=0;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";function _SDL_JoystickGetAxis(joystick,axis){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0}_SDL_JoystickGetAxis.sig="ipi";function _SDL_JoystickGetHat(joystick,hat){joystick>>>=0;return 0}_SDL_JoystickGetHat.sig="ipi";function _SDL_JoystickGetBall(joystick,ball,dxptr,dyptr){joystick>>>=0;dxptr>>>=0;dyptr>>>=0;return-1}_SDL_JoystickGetBall.sig="ipipp";function _SDL_JoystickGetButton(joystick,button){joystick>>>=0;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";function _SDL_JoystickClose(joystick){joystick>>>=0;delete SDL.lastJoystickState[joystick]}_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";function _SDL_RWFromConstMem(mem,size){mem>>>=0;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";function _SDL_GetCurrentAudioDriver(){return stringToNewUTF8("Emscripten Audio")}_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";function _SDL_GetAudioDriver(index){return _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=function(interval,callback,param){callback>>>=0;param>>>=0;return safeSetTimeout(()=>getWasmTableEntry(callback)(interval,param),interval)};_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(fs,data,pfnBeginThread,pfnEndThread){fs>>>=0;data>>>=0;return abort("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";function _SDL_WaitThread(thread,status){thread>>>=0;status>>>=0;return abort("SDL_WaitThread: TODO")}_SDL_WaitThread.sig="vpp";function _SDL_GetThreadID(thread){thread>>>=0;return abort("SDL_GetThreadID: TODO")}_SDL_GetThreadID.sig="pp";function _SDL_ThreadID(){return 0}_SDL_ThreadID.sig="p";function _SDL_AllocRW(){return abort("SDL_AllocRW: TODO")}_SDL_AllocRW.sig="p";function _SDL_CondBroadcast(cond){cond>>>=0;return abort("SDL_CondBroadcast: TODO")}_SDL_CondBroadcast.sig="ip";function _SDL_CondWaitTimeout(cond,mutex,ms){cond>>>=0;mutex>>>=0;return abort("SDL_CondWaitTimeout: TODO")}_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>abort("SDL_WM_IconifyWindow TODO");_SDL_WM_IconifyWindow.sig="i";function _Mix_SetPostMix(func,arg){func>>>=0;arg>>>=0;return warnOnce("Mix_SetPostMix: TODO")}_Mix_SetPostMix.sig="vpp";function _Mix_VolumeChunk(chunk,volume){chunk>>>=0;return abort("Mix_VolumeChunk: TODO")}_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>abort("Mix_SetPosition: TODO");_Mix_SetPosition.sig="iiii";function _Mix_QuerySpec(frequency,format,channels){frequency>>>=0;format>>>=0;channels>>>=0;return abort("Mix_QuerySpec: TODO")}_Mix_QuerySpec.sig="ippp";function _Mix_FadeInChannelTimed(channel,chunk,loop,ms,ticks){chunk>>>=0;return abort("Mix_FadeInChannelTimed")}_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>abort("Mix_FadeOutChannel");_Mix_FadeOutChannel.sig="iii";function _Mix_Linked_Version(){return abort("Mix_Linked_Version: TODO")}_Mix_Linked_Version.sig="p";function _SDL_SaveBMP_RW(surface,dst,freedst){surface>>>=0;dst>>>=0;return abort("SDL_SaveBMP_RW: TODO")}_SDL_SaveBMP_RW.sig="ippi";function _SDL_WM_SetIcon(icon,mask){icon>>>=0;mask>>>=0}_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";registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();for(var base64ReverseLookup=new Uint8Array(123),__b64i=25;__b64i>=0;--__b64i){base64ReverseLookup[48+__b64i]=52+__b64i;base64ReverseLookup[65+__b64i]=__b64i;base64ReverseLookup[97+__b64i]=26+__b64i}base64ReverseLookup[43]=62;base64ReverseLookup[47]=63;if(ENVIRONMENT_IS_NODE){NODEFS.staticInit()}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)}Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();if(globalThis.setImmediate){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(globalThis.addEventListener){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?.());{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"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ERRNO_CODES"]=ERRNO_CODES;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["LZ4"]=LZ4;Module["ExitStatus"]=ExitStatus;Module["GOTHandler"]=GOTHandler;Module["GOT"]=GOT;Module["addOnPostRun"]=addOnPostRun;Module["onPostRuns"]=onPostRuns;Module["callRuntimeCallbacks"]=callRuntimeCallbacks;Module["addOnPreRun"]=addOnPreRun;Module["onPreRuns"]=onPreRuns;Module["getDylinkMetadata"]=getDylinkMetadata;Module["UTF8ArrayToString"]=UTF8ArrayToString;Module["UTF8Decoder"]=UTF8Decoder;Module["findStringEnd"]=findStringEnd;Module["getValue"]=getValue;Module["loadDylibs"]=loadDylibs;Module["loadDynamicLibrary"]=loadDynamicLibrary;Module["LDSO"]=LDSO;Module["newDSO"]=newDSO;Module["loadWebAssemblyModule"]=loadWebAssemblyModule;Module["getMemory"]=getMemory;Module["alignMemory"]=alignMemory;Module["updateGOT"]=updateGOT;Module["isInternalSym"]=isInternalSym;Module["addFunction"]=addFunction;Module["getFunctionAddress"]=getFunctionAddress;Module["updateTableMap"]=updateTableMap;Module["getWasmTableEntry"]=getWasmTableEntry;Module["wasmTableMirror"]=wasmTableMirror;Module["functionsInTableMap"]=functionsInTableMap;Module["getEmptyTableSlot"]=getEmptyTableSlot;Module["freeTableIndexes"]=freeTableIndexes;Module["setWasmTableEntry"]=setWasmTableEntry;Module["convertJsFunctionToWasm"]=convertJsFunctionToWasm;Module["uleb128EncodeWithLen"]=uleb128EncodeWithLen;Module["generateTypePack"]=generateTypePack;Module["wasmTypeCodes"]=wasmTypeCodes;Module["relocateExports"]=relocateExports;Module["isImmutableGlobal"]=isImmutableGlobal;Module["resolveGlobalSymbol"]=resolveGlobalSymbol;Module["isSymbolDefined"]=isSymbolDefined;Module["createNamedFunction"]=createNamedFunction;Module["addOnPostCtor"]=addOnPostCtor;Module["onPostCtors"]=onPostCtors;Module["UTF8ToString"]=UTF8ToString;Module["mergeLibSymbols"]=mergeLibSymbols;Module["asyncLoad"]=asyncLoad;Module["preloadedWasm"]=preloadedWasm;Module["registerWasmPlugin"]=registerWasmPlugin;Module["preloadPlugins"]=preloadPlugins;Module["findLibraryFS"]=findLibraryFS;Module["replaceORIGIN"]=replaceORIGIN;Module["PATH"]=PATH;Module["withStackSave"]=withStackSave;Module["stackSave"]=stackSave;Module["stackRestore"]=stackRestore;Module["stackAlloc"]=stackAlloc;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["stringToUTF8OnStack"]=stringToUTF8OnStack;Module["stringToUTF8"]=stringToUTF8;Module["stringToUTF8Array"]=stringToUTF8Array;Module["FS"]=FS;Module["randomFill"]=randomFill;Module["initRandomFill"]=initRandomFill;Module["base64Decode"]=base64Decode;Module["PATH_FS"]=PATH_FS;Module["TTY"]=TTY;Module["FS_stdin_getChar"]=FS_stdin_getChar;Module["FS_stdin_getChar_buffer"]=FS_stdin_getChar_buffer;Module["intArrayFromString"]=intArrayFromString;Module["MEMFS"]=MEMFS;Module["mmapAlloc"]=mmapAlloc;Module["zeroMemory"]=zeroMemory;Module["FS_modeStringToFlags"]=FS_modeStringToFlags;Module["FS_fileDataToTypedArray"]=FS_fileDataToTypedArray;Module["FS_getMode"]=FS_getMode;Module["IDBFS"]=IDBFS;Module["NODEFS"]=NODEFS;Module["ERRNO_CODES"]=ERRNO_CODES;Module["WORKERFS"]=WORKERFS;Module["PROXYFS"]=PROXYFS;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_createDataFile"]=FS_createDataFile;Module["getUniqueRunDependency"]=getUniqueRunDependency;Module["addRunDependency"]=addRunDependency;Module["runDependencies"]=runDependencies;Module["removeRunDependency"]=removeRunDependency;Module["dependenciesFulfilled"]=dependenciesFulfilled;Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;Module["LZ4"]=LZ4;Module["reportUndefinedSymbols"]=reportUndefinedSymbols;Module["noExitRuntime"]=noExitRuntime;Module["setValue"]=setValue;Module["_JsvError_Check"]=_JsvError_Check;Module["_Jsv_GetError_import"]=_Jsv_GetError_import;Module["___assert_fail"]=___assert_fail;Module["bigintToI53Checked"]=bigintToI53Checked;Module["INT53_MAX"]=INT53_MAX;Module["INT53_MIN"]=INT53_MIN;Module["___call_sighandler"]=___call_sighandler;Module["___syscall_accept4"]=___syscall_accept4;Module["getSocketFromFD"]=getSocketFromFD;Module["SOCKFS"]=SOCKFS;Module["writeSockaddr"]=writeSockaddr;Module["inetPton4"]=inetPton4;Module["inetPton6"]=inetPton6;Module["DNS"]=DNS;Module["___syscall_bind"]=___syscall_bind;Module["getSocketAddress"]=getSocketAddress;Module["readSockaddr"]=readSockaddr;Module["inetNtop4"]=inetNtop4;Module["inetNtop6"]=inetNtop6;Module["___syscall_chdir"]=___syscall_chdir;Module["SYSCALLS"]=SYSCALLS;Module["___syscall_chmod"]=___syscall_chmod;Module["___syscall_connect"]=___syscall_connect;Module["___syscall_dup"]=___syscall_dup;Module["___syscall_dup3"]=___syscall_dup3;Module["___syscall_faccessat"]=___syscall_faccessat;Module["___syscall_fadvise64"]=___syscall_fadvise64;Module["___syscall_fallocate"]=___syscall_fallocate;Module["___syscall_fchdir"]=___syscall_fchdir;Module["___syscall_fchmod"]=___syscall_fchmod;Module["___syscall_fchmodat2"]=___syscall_fchmodat2;Module["___syscall_fchown32"]=___syscall_fchown32;Module["___syscall_fchownat"]=___syscall_fchownat;Module["___syscall_fcntl64"]=___syscall_fcntl64;Module["syscallGetVarargP"]=syscallGetVarargP;Module["syscallGetVarargI"]=syscallGetVarargI;Module["___syscall_fdatasync"]=___syscall_fdatasync;Module["___syscall_fstat64"]=___syscall_fstat64;Module["___syscall_fstatfs64"]=___syscall_fstatfs64;Module["___syscall_ftruncate64"]=___syscall_ftruncate64;Module["___syscall_getcwd"]=___syscall_getcwd;Module["___syscall_getdents64"]=___syscall_getdents64;Module["___syscall_getpeername"]=___syscall_getpeername;Module["___syscall_getsockname"]=___syscall_getsockname;Module["___syscall_getsockopt"]=___syscall_getsockopt;Module["___syscall_ioctl"]=___syscall_ioctl;Module["___syscall_listen"]=___syscall_listen;Module["___syscall_lstat64"]=___syscall_lstat64;Module["___syscall_mkdirat"]=___syscall_mkdirat;Module["___syscall_mknodat"]=___syscall_mknodat;Module["___syscall_newfstatat"]=___syscall_newfstatat;Module["___syscall_openat"]=___syscall_openat;Module["___syscall_pipe"]=___syscall_pipe;Module["PIPEFS"]=PIPEFS;Module["___syscall_poll"]=___syscall_poll;Module["___syscall_readlinkat"]=___syscall_readlinkat;Module["___syscall_recvfrom"]=___syscall_recvfrom;Module["___syscall_recvmsg"]=___syscall_recvmsg;Module["___syscall_renameat"]=___syscall_renameat;Module["___syscall_rmdir"]=___syscall_rmdir;Module["___syscall_sendmsg"]=___syscall_sendmsg;Module["___syscall_sendto"]=___syscall_sendto;Module["___syscall_socket"]=___syscall_socket;Module["___syscall_stat64"]=___syscall_stat64;Module["___syscall_statfs64"]=___syscall_statfs64;Module["___syscall_symlinkat"]=___syscall_symlinkat;Module["___syscall_truncate64"]=___syscall_truncate64;Module["___syscall_unlinkat"]=___syscall_unlinkat;Module["___syscall_utimensat"]=___syscall_utimensat;Module["readI53FromI64"]=readI53FromI64;Module["__abort_js"]=__abort_js;Module["__dlopen_js"]=__dlopen_js;Module["dlopenInternal"]=dlopenInternal;Module["dlSetError"]=dlSetError;Module["__dlsym_js"]=__dlsym_js;Module["__emscripten_dlopen_js"]=__emscripten_dlopen_js;Module["callUserCallback"]=callUserCallback;Module["handleException"]=handleException;Module["maybeExit"]=maybeExit;Module["_exit"]=_exit;Module["exitJS"]=exitJS;Module["_proc_exit"]=_proc_exit;Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;Module["runtimeKeepalivePush"]=runtimeKeepalivePush;Module["runtimeKeepalivePop"]=runtimeKeepalivePop;Module["__emscripten_get_progname"]=__emscripten_get_progname;Module["getExecutableName"]=getExecutableName;Module["__emscripten_log_formatted"]=__emscripten_log_formatted;Module["getCallstack"]=getCallstack;Module["jsStackTrace"]=jsStackTrace;Module["__emscripten_lookup_name"]=__emscripten_lookup_name;Module["__emscripten_runtime_keepalive_clear"]=__emscripten_runtime_keepalive_clear;Module["__emscripten_system"]=__emscripten_system;Module["__gmtime_js"]=__gmtime_js;Module["__localtime_js"]=__localtime_js;Module["ydayFromDate"]=ydayFromDate;Module["isLeapYear"]=isLeapYear;Module["MONTH_DAYS_LEAP_CUMULATIVE"]=MONTH_DAYS_LEAP_CUMULATIVE;Module["MONTH_DAYS_REGULAR_CUMULATIVE"]=MONTH_DAYS_REGULAR_CUMULATIVE;Module["__mktime_js"]=__mktime_js;Module["__mmap_js"]=__mmap_js;Module["__msync_js"]=__msync_js;Module["__munmap_js"]=__munmap_js;Module["__setitimer_js"]=__setitimer_js;Module["timers"]=timers;Module["_emscripten_get_now"]=_emscripten_get_now;Module["__timegm_js"]=__timegm_js;Module["__tzset_js"]=__tzset_js;Module["_clock_res_get"]=_clock_res_get;Module["_emscripten_get_now_res"]=_emscripten_get_now_res;Module["nowIsMonotonic"]=nowIsMonotonic;Module["checkWasiClock"]=checkWasiClock;Module["_clock_time_get"]=_clock_time_get;Module["_emscripten_date_now"]=_emscripten_date_now;Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;Module["runEmAsmFunction"]=runEmAsmFunction;Module["readEmAsmArgs"]=readEmAsmArgs;Module["readEmAsmArgsArray"]=readEmAsmArgsArray;Module["_emscripten_console_error"]=_emscripten_console_error;Module["_emscripten_console_log"]=_emscripten_console_log;Module["_emscripten_console_trace"]=_emscripten_console_trace;Module["_emscripten_console_warn"]=_emscripten_console_warn;Module["_emscripten_debugger"]=_emscripten_debugger;Module["_emscripten_err"]=_emscripten_err;Module["_emscripten_get_heap_max"]=_emscripten_get_heap_max;Module["getHeapMax"]=getHeapMax;Module["_emscripten_glActiveTexture"]=_emscripten_glActiveTexture;Module["GL"]=GL;Module["GLctx"]=GLctx;Module["webgl_enable_ANGLE_instanced_arrays"]=webgl_enable_ANGLE_instanced_arrays;Module["webgl_enable_OES_vertex_array_object"]=webgl_enable_OES_vertex_array_object;Module["webgl_enable_WEBGL_draw_buffers"]=webgl_enable_WEBGL_draw_buffers;Module["webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance"]=webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance;Module["webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance"]=webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance;Module["webgl_enable_EXT_polygon_offset_clamp"]=webgl_enable_EXT_polygon_offset_clamp;Module["webgl_enable_EXT_clip_control"]=webgl_enable_EXT_clip_control;Module["webgl_enable_WEBGL_polygon_mode"]=webgl_enable_WEBGL_polygon_mode;Module["webgl_enable_WEBGL_multi_draw"]=webgl_enable_WEBGL_multi_draw;Module["getEmscriptenSupportedExtensions"]=getEmscriptenSupportedExtensions;Module["_emscripten_glAttachShader"]=_emscripten_glAttachShader;Module["_emscripten_glBeginQuery"]=_emscripten_glBeginQuery;Module["_emscripten_glBeginQueryEXT"]=_emscripten_glBeginQueryEXT;Module["_emscripten_glBeginTransformFeedback"]=_emscripten_glBeginTransformFeedback;Module["_emscripten_glBindAttribLocation"]=_emscripten_glBindAttribLocation;Module["_emscripten_glBindBuffer"]=_emscripten_glBindBuffer;Module["_emscripten_glBindBufferBase"]=_emscripten_glBindBufferBase;Module["_emscripten_glBindBufferRange"]=_emscripten_glBindBufferRange;Module["_emscripten_glBindFramebuffer"]=_emscripten_glBindFramebuffer;Module["_emscripten_glBindRenderbuffer"]=_emscripten_glBindRenderbuffer;Module["_emscripten_glBindSampler"]=_emscripten_glBindSampler;Module["_emscripten_glBindTexture"]=_emscripten_glBindTexture;Module["_emscripten_glBindTransformFeedback"]=_emscripten_glBindTransformFeedback;Module["_emscripten_glBindVertexArray"]=_emscripten_glBindVertexArray;Module["_emscripten_glBindVertexArrayOES"]=_emscripten_glBindVertexArrayOES;Module["_glBindVertexArray"]=_glBindVertexArray;Module["_emscripten_glBlendColor"]=_emscripten_glBlendColor;Module["_emscripten_glBlendEquation"]=_emscripten_glBlendEquation;Module["_emscripten_glBlendEquationSeparate"]=_emscripten_glBlendEquationSeparate;Module["_emscripten_glBlendFunc"]=_emscripten_glBlendFunc;Module["_emscripten_glBlendFuncSeparate"]=_emscripten_glBlendFuncSeparate;Module["_emscripten_glBlitFramebuffer"]=_emscripten_glBlitFramebuffer;Module["_emscripten_glBufferData"]=_emscripten_glBufferData;Module["_emscripten_glBufferSubData"]=_emscripten_glBufferSubData;Module["_emscripten_glCheckFramebufferStatus"]=_emscripten_glCheckFramebufferStatus;Module["_emscripten_glClear"]=_emscripten_glClear;Module["_emscripten_glClearBufferfi"]=_emscripten_glClearBufferfi;Module["_emscripten_glClearBufferfv"]=_emscripten_glClearBufferfv;Module["_emscripten_glClearBufferiv"]=_emscripten_glClearBufferiv;Module["_emscripten_glClearBufferuiv"]=_emscripten_glClearBufferuiv;Module["_emscripten_glClearColor"]=_emscripten_glClearColor;Module["_emscripten_glClearDepthf"]=_emscripten_glClearDepthf;Module["_emscripten_glClearStencil"]=_emscripten_glClearStencil;Module["_emscripten_glClientWaitSync"]=_emscripten_glClientWaitSync;Module["_emscripten_glClipControlEXT"]=_emscripten_glClipControlEXT;Module["_emscripten_glColorMask"]=_emscripten_glColorMask;Module["_emscripten_glCompileShader"]=_emscripten_glCompileShader;Module["_emscripten_glCompressedTexImage2D"]=_emscripten_glCompressedTexImage2D;Module["_emscripten_glCompressedTexImage3D"]=_emscripten_glCompressedTexImage3D;Module["_emscripten_glCompressedTexSubImage2D"]=_emscripten_glCompressedTexSubImage2D;Module["_emscripten_glCompressedTexSubImage3D"]=_emscripten_glCompressedTexSubImage3D;Module["_emscripten_glCopyBufferSubData"]=_emscripten_glCopyBufferSubData;Module["_emscripten_glCopyTexImage2D"]=_emscripten_glCopyTexImage2D;Module["_emscripten_glCopyTexSubImage2D"]=_emscripten_glCopyTexSubImage2D;Module["_emscripten_glCopyTexSubImage3D"]=_emscripten_glCopyTexSubImage3D;Module["_emscripten_glCreateProgram"]=_emscripten_glCreateProgram;Module["_emscripten_glCreateShader"]=_emscripten_glCreateShader;Module["_emscripten_glCullFace"]=_emscripten_glCullFace;Module["_emscripten_glDeleteBuffers"]=_emscripten_glDeleteBuffers;Module["_emscripten_glDeleteFramebuffers"]=_emscripten_glDeleteFramebuffers;Module["_emscripten_glDeleteProgram"]=_emscripten_glDeleteProgram;Module["_emscripten_glDeleteQueries"]=_emscripten_glDeleteQueries;Module["_emscripten_glDeleteQueriesEXT"]=_emscripten_glDeleteQueriesEXT;Module["_emscripten_glDeleteRenderbuffers"]=_emscripten_glDeleteRenderbuffers;Module["_emscripten_glDeleteSamplers"]=_emscripten_glDeleteSamplers;Module["_emscripten_glDeleteShader"]=_emscripten_glDeleteShader;Module["_emscripten_glDeleteSync"]=_emscripten_glDeleteSync;Module["_emscripten_glDeleteTextures"]=_emscripten_glDeleteTextures;Module["_emscripten_glDeleteTransformFeedbacks"]=_emscripten_glDeleteTransformFeedbacks;Module["_emscripten_glDeleteVertexArrays"]=_emscripten_glDeleteVertexArrays;Module["_emscripten_glDeleteVertexArraysOES"]=_emscripten_glDeleteVertexArraysOES;Module["_glDeleteVertexArrays"]=_glDeleteVertexArrays;Module["_emscripten_glDepthFunc"]=_emscripten_glDepthFunc;Module["_emscripten_glDepthMask"]=_emscripten_glDepthMask;Module["_emscripten_glDepthRangef"]=_emscripten_glDepthRangef;Module["_emscripten_glDetachShader"]=_emscripten_glDetachShader;Module["_emscripten_glDisable"]=_emscripten_glDisable;Module["_emscripten_glDisableVertexAttribArray"]=_emscripten_glDisableVertexAttribArray;Module["_emscripten_glDrawArrays"]=_emscripten_glDrawArrays;Module["_emscripten_glDrawArraysInstanced"]=_emscripten_glDrawArraysInstanced;Module["_emscripten_glDrawArraysInstancedANGLE"]=_emscripten_glDrawArraysInstancedANGLE;Module["_glDrawArraysInstanced"]=_glDrawArraysInstanced;Module["_emscripten_glDrawArraysInstancedARB"]=_emscripten_glDrawArraysInstancedARB;Module["_emscripten_glDrawArraysInstancedEXT"]=_emscripten_glDrawArraysInstancedEXT;Module["_emscripten_glDrawArraysInstancedNV"]=_emscripten_glDrawArraysInstancedNV;Module["_emscripten_glDrawBuffers"]=_emscripten_glDrawBuffers;Module["tempFixedLengthArray"]=tempFixedLengthArray;Module["_emscripten_glDrawBuffersEXT"]=_emscripten_glDrawBuffersEXT;Module["_glDrawBuffers"]=_glDrawBuffers;Module["_emscripten_glDrawBuffersWEBGL"]=_emscripten_glDrawBuffersWEBGL;Module["_emscripten_glDrawElements"]=_emscripten_glDrawElements;Module["_emscripten_glDrawElementsInstanced"]=_emscripten_glDrawElementsInstanced;Module["_emscripten_glDrawElementsInstancedANGLE"]=_emscripten_glDrawElementsInstancedANGLE;Module["_glDrawElementsInstanced"]=_glDrawElementsInstanced;Module["_emscripten_glDrawElementsInstancedARB"]=_emscripten_glDrawElementsInstancedARB;Module["_emscripten_glDrawElementsInstancedEXT"]=_emscripten_glDrawElementsInstancedEXT;Module["_emscripten_glDrawElementsInstancedNV"]=_emscripten_glDrawElementsInstancedNV;Module["_emscripten_glDrawRangeElements"]=_emscripten_glDrawRangeElements;Module["_glDrawElements"]=_glDrawElements;Module["_emscripten_glEnable"]=_emscripten_glEnable;Module["_emscripten_glEnableVertexAttribArray"]=_emscripten_glEnableVertexAttribArray;Module["_emscripten_glEndQuery"]=_emscripten_glEndQuery;Module["_emscripten_glEndQueryEXT"]=_emscripten_glEndQueryEXT;Module["_emscripten_glEndTransformFeedback"]=_emscripten_glEndTransformFeedback;Module["_emscripten_glFenceSync"]=_emscripten_glFenceSync;Module["_emscripten_glFinish"]=_emscripten_glFinish;Module["_emscripten_glFlush"]=_emscripten_glFlush;Module["_emscripten_glFramebufferRenderbuffer"]=_emscripten_glFramebufferRenderbuffer;Module["_emscripten_glFramebufferTexture2D"]=_emscripten_glFramebufferTexture2D;Module["_emscripten_glFramebufferTextureLayer"]=_emscripten_glFramebufferTextureLayer;Module["_emscripten_glFrontFace"]=_emscripten_glFrontFace;Module["_emscripten_glGenBuffers"]=_emscripten_glGenBuffers;Module["_emscripten_glGenFramebuffers"]=_emscripten_glGenFramebuffers;Module["_emscripten_glGenQueries"]=_emscripten_glGenQueries;Module["_emscripten_glGenQueriesEXT"]=_emscripten_glGenQueriesEXT;Module["_emscripten_glGenRenderbuffers"]=_emscripten_glGenRenderbuffers;Module["_emscripten_glGenSamplers"]=_emscripten_glGenSamplers;Module["_emscripten_glGenTextures"]=_emscripten_glGenTextures;Module["_emscripten_glGenTransformFeedbacks"]=_emscripten_glGenTransformFeedbacks;Module["_emscripten_glGenVertexArrays"]=_emscripten_glGenVertexArrays;Module["_emscripten_glGenVertexArraysOES"]=_emscripten_glGenVertexArraysOES;Module["_glGenVertexArrays"]=_glGenVertexArrays;Module["_emscripten_glGenerateMipmap"]=_emscripten_glGenerateMipmap;Module["_emscripten_glGetActiveAttrib"]=_emscripten_glGetActiveAttrib;Module["__glGetActiveAttribOrUniform"]=__glGetActiveAttribOrUniform;Module["_emscripten_glGetActiveUniform"]=_emscripten_glGetActiveUniform;Module["_emscripten_glGetActiveUniformBlockName"]=_emscripten_glGetActiveUniformBlockName;Module["_emscripten_glGetActiveUniformBlockiv"]=_emscripten_glGetActiveUniformBlockiv;Module["_emscripten_glGetActiveUniformsiv"]=_emscripten_glGetActiveUniformsiv;Module["_emscripten_glGetAttachedShaders"]=_emscripten_glGetAttachedShaders;Module["_emscripten_glGetAttribLocation"]=_emscripten_glGetAttribLocation;Module["_emscripten_glGetBooleanv"]=_emscripten_glGetBooleanv;Module["emscriptenWebGLGet"]=emscriptenWebGLGet;Module["writeI53ToI64"]=writeI53ToI64;Module["webglGetExtensions"]=webglGetExtensions;Module["_emscripten_glGetBufferParameteri64v"]=_emscripten_glGetBufferParameteri64v;Module["_emscripten_glGetBufferParameteriv"]=_emscripten_glGetBufferParameteriv;Module["_emscripten_glGetError"]=_emscripten_glGetError;Module["_emscripten_glGetFloatv"]=_emscripten_glGetFloatv;Module["_emscripten_glGetFragDataLocation"]=_emscripten_glGetFragDataLocation;Module["_emscripten_glGetFramebufferAttachmentParameteriv"]=_emscripten_glGetFramebufferAttachmentParameteriv;Module["_emscripten_glGetInteger64i_v"]=_emscripten_glGetInteger64i_v;Module["emscriptenWebGLGetIndexed"]=emscriptenWebGLGetIndexed;Module["_emscripten_glGetInteger64v"]=_emscripten_glGetInteger64v;Module["_emscripten_glGetIntegeri_v"]=_emscripten_glGetIntegeri_v;Module["_emscripten_glGetIntegerv"]=_emscripten_glGetIntegerv;Module["_emscripten_glGetInternalformativ"]=_emscripten_glGetInternalformativ;Module["_emscripten_glGetProgramBinary"]=_emscripten_glGetProgramBinary;Module["_emscripten_glGetProgramInfoLog"]=_emscripten_glGetProgramInfoLog;Module["_emscripten_glGetProgramiv"]=_emscripten_glGetProgramiv;Module["_emscripten_glGetQueryObjecti64vEXT"]=_emscripten_glGetQueryObjecti64vEXT;Module["_emscripten_glGetQueryObjectivEXT"]=_emscripten_glGetQueryObjectivEXT;Module["_emscripten_glGetQueryObjectui64vEXT"]=_emscripten_glGetQueryObjectui64vEXT;Module["_glGetQueryObjecti64vEXT"]=_glGetQueryObjecti64vEXT;Module["_emscripten_glGetQueryObjectuiv"]=_emscripten_glGetQueryObjectuiv;Module["_emscripten_glGetQueryObjectuivEXT"]=_emscripten_glGetQueryObjectuivEXT;Module["_glGetQueryObjectivEXT"]=_glGetQueryObjectivEXT;Module["_emscripten_glGetQueryiv"]=_emscripten_glGetQueryiv;Module["_emscripten_glGetQueryivEXT"]=_emscripten_glGetQueryivEXT;Module["_emscripten_glGetRenderbufferParameteriv"]=_emscripten_glGetRenderbufferParameteriv;Module["_emscripten_glGetSamplerParameterfv"]=_emscripten_glGetSamplerParameterfv;Module["_emscripten_glGetSamplerParameteriv"]=_emscripten_glGetSamplerParameteriv;Module["_emscripten_glGetShaderInfoLog"]=_emscripten_glGetShaderInfoLog;Module["_emscripten_glGetShaderPrecisionFormat"]=_emscripten_glGetShaderPrecisionFormat;Module["_emscripten_glGetShaderSource"]=_emscripten_glGetShaderSource;Module["_emscripten_glGetShaderiv"]=_emscripten_glGetShaderiv;Module["_emscripten_glGetString"]=_emscripten_glGetString;Module["stringToNewUTF8"]=stringToNewUTF8;Module["_emscripten_glGetStringi"]=_emscripten_glGetStringi;Module["_emscripten_glGetSynciv"]=_emscripten_glGetSynciv;Module["_emscripten_glGetTexParameterfv"]=_emscripten_glGetTexParameterfv;Module["_emscripten_glGetTexParameteriv"]=_emscripten_glGetTexParameteriv;Module["_emscripten_glGetTransformFeedbackVarying"]=_emscripten_glGetTransformFeedbackVarying;Module["_emscripten_glGetUniformBlockIndex"]=_emscripten_glGetUniformBlockIndex;Module["_emscripten_glGetUniformIndices"]=_emscripten_glGetUniformIndices;Module["_emscripten_glGetUniformLocation"]=_emscripten_glGetUniformLocation;Module["jstoi_q"]=jstoi_q;Module["webglPrepareUniformLocationsBeforeFirstUse"]=webglPrepareUniformLocationsBeforeFirstUse;Module["webglGetLeftBracePos"]=webglGetLeftBracePos;Module["_emscripten_glGetUniformfv"]=_emscripten_glGetUniformfv;Module["emscriptenWebGLGetUniform"]=emscriptenWebGLGetUniform;Module["webglGetUniformLocation"]=webglGetUniformLocation;Module["_emscripten_glGetUniformiv"]=_emscripten_glGetUniformiv;Module["_emscripten_glGetUniformuiv"]=_emscripten_glGetUniformuiv;Module["_emscripten_glGetVertexAttribIiv"]=_emscripten_glGetVertexAttribIiv;Module["emscriptenWebGLGetVertexAttrib"]=emscriptenWebGLGetVertexAttrib;Module["_emscripten_glGetVertexAttribIuiv"]=_emscripten_glGetVertexAttribIuiv;Module["_glGetVertexAttribIiv"]=_glGetVertexAttribIiv;Module["_emscripten_glGetVertexAttribPointerv"]=_emscripten_glGetVertexAttribPointerv;Module["_emscripten_glGetVertexAttribfv"]=_emscripten_glGetVertexAttribfv;Module["_emscripten_glGetVertexAttribiv"]=_emscripten_glGetVertexAttribiv;Module["_emscripten_glHint"]=_emscripten_glHint;Module["_emscripten_glInvalidateFramebuffer"]=_emscripten_glInvalidateFramebuffer;Module["_emscripten_glInvalidateSubFramebuffer"]=_emscripten_glInvalidateSubFramebuffer;Module["_emscripten_glIsBuffer"]=_emscripten_glIsBuffer;Module["_emscripten_glIsEnabled"]=_emscripten_glIsEnabled;Module["_emscripten_glIsFramebuffer"]=_emscripten_glIsFramebuffer;Module["_emscripten_glIsProgram"]=_emscripten_glIsProgram;Module["_emscripten_glIsQuery"]=_emscripten_glIsQuery;Module["_emscripten_glIsQueryEXT"]=_emscripten_glIsQueryEXT;Module["_emscripten_glIsRenderbuffer"]=_emscripten_glIsRenderbuffer;Module["_emscripten_glIsSampler"]=_emscripten_glIsSampler;Module["_emscripten_glIsShader"]=_emscripten_glIsShader;Module["_emscripten_glIsSync"]=_emscripten_glIsSync;Module["_emscripten_glIsTexture"]=_emscripten_glIsTexture;Module["_emscripten_glIsTransformFeedback"]=_emscripten_glIsTransformFeedback;Module["_emscripten_glIsVertexArray"]=_emscripten_glIsVertexArray;Module["_emscripten_glIsVertexArrayOES"]=_emscripten_glIsVertexArrayOES;Module["_glIsVertexArray"]=_glIsVertexArray;Module["_emscripten_glLineWidth"]=_emscripten_glLineWidth;Module["_emscripten_glLinkProgram"]=_emscripten_glLinkProgram;Module["_emscripten_glPauseTransformFeedback"]=_emscripten_glPauseTransformFeedback;Module["_emscripten_glPixelStorei"]=_emscripten_glPixelStorei;Module["_emscripten_glPolygonModeWEBGL"]=_emscripten_glPolygonModeWEBGL;Module["_emscripten_glPolygonOffset"]=_emscripten_glPolygonOffset;Module["_emscripten_glPolygonOffsetClampEXT"]=_emscripten_glPolygonOffsetClampEXT;Module["_emscripten_glProgramBinary"]=_emscripten_glProgramBinary;Module["_emscripten_glProgramParameteri"]=_emscripten_glProgramParameteri;Module["_emscripten_glQueryCounterEXT"]=_emscripten_glQueryCounterEXT;Module["_emscripten_glReadBuffer"]=_emscripten_glReadBuffer;Module["_emscripten_glReadPixels"]=_emscripten_glReadPixels;Module["emscriptenWebGLGetTexPixelData"]=emscriptenWebGLGetTexPixelData;Module["computeUnpackAlignedImageSize"]=computeUnpackAlignedImageSize;Module["colorChannelsInGlTextureFormat"]=colorChannelsInGlTextureFormat;Module["heapObjectForWebGLType"]=heapObjectForWebGLType;Module["toTypedArrayIndex"]=toTypedArrayIndex;Module["_emscripten_glReleaseShaderCompiler"]=_emscripten_glReleaseShaderCompiler;Module["_emscripten_glRenderbufferStorage"]=_emscripten_glRenderbufferStorage;Module["_emscripten_glRenderbufferStorageMultisample"]=_emscripten_glRenderbufferStorageMultisample;Module["_emscripten_glResumeTransformFeedback"]=_emscripten_glResumeTransformFeedback;Module["_emscripten_glSampleCoverage"]=_emscripten_glSampleCoverage;Module["_emscripten_glSamplerParameterf"]=_emscripten_glSamplerParameterf;Module["_emscripten_glSamplerParameterfv"]=_emscripten_glSamplerParameterfv;Module["_emscripten_glSamplerParameteri"]=_emscripten_glSamplerParameteri;Module["_emscripten_glSamplerParameteriv"]=_emscripten_glSamplerParameteriv;Module["_emscripten_glScissor"]=_emscripten_glScissor;Module["_emscripten_glShaderBinary"]=_emscripten_glShaderBinary;Module["_emscripten_glShaderSource"]=_emscripten_glShaderSource;Module["_emscripten_glStencilFunc"]=_emscripten_glStencilFunc;Module["_emscripten_glStencilFuncSeparate"]=_emscripten_glStencilFuncSeparate;Module["_emscripten_glStencilMask"]=_emscripten_glStencilMask;Module["_emscripten_glStencilMaskSeparate"]=_emscripten_glStencilMaskSeparate;Module["_emscripten_glStencilOp"]=_emscripten_glStencilOp;Module["_emscripten_glStencilOpSeparate"]=_emscripten_glStencilOpSeparate;Module["_emscripten_glTexImage2D"]=_emscripten_glTexImage2D;Module["_emscripten_glTexImage3D"]=_emscripten_glTexImage3D;Module["_emscripten_glTexParameterf"]=_emscripten_glTexParameterf;Module["_emscripten_glTexParameterfv"]=_emscripten_glTexParameterfv;Module["_emscripten_glTexParameteri"]=_emscripten_glTexParameteri;Module["_emscripten_glTexParameteriv"]=_emscripten_glTexParameteriv;Module["_emscripten_glTexStorage2D"]=_emscripten_glTexStorage2D;Module["_emscripten_glTexStorage3D"]=_emscripten_glTexStorage3D;Module["_emscripten_glTexSubImage2D"]=_emscripten_glTexSubImage2D;Module["_emscripten_glTexSubImage3D"]=_emscripten_glTexSubImage3D;Module["_emscripten_glTransformFeedbackVaryings"]=_emscripten_glTransformFeedbackVaryings;Module["_emscripten_glUniform1f"]=_emscripten_glUniform1f;Module["_emscripten_glUniform1fv"]=_emscripten_glUniform1fv;Module["miniTempWebGLFloatBuffers"]=miniTempWebGLFloatBuffers;Module["_emscripten_glUniform1i"]=_emscripten_glUniform1i;Module["_emscripten_glUniform1iv"]=_emscripten_glUniform1iv;Module["miniTempWebGLIntBuffers"]=miniTempWebGLIntBuffers;Module["_emscripten_glUniform1ui"]=_emscripten_glUniform1ui;Module["_emscripten_glUniform1uiv"]=_emscripten_glUniform1uiv;Module["_emscripten_glUniform2f"]=_emscripten_glUniform2f;Module["_emscripten_glUniform2fv"]=_emscripten_glUniform2fv;Module["_emscripten_glUniform2i"]=_emscripten_glUniform2i;Module["_emscripten_glUniform2iv"]=_emscripten_glUniform2iv;Module["_emscripten_glUniform2ui"]=_emscripten_glUniform2ui;Module["_emscripten_glUniform2uiv"]=_emscripten_glUniform2uiv;Module["_emscripten_glUniform3f"]=_emscripten_glUniform3f;Module["_emscripten_glUniform3fv"]=_emscripten_glUniform3fv;Module["_emscripten_glUniform3i"]=_emscripten_glUniform3i;Module["_emscripten_glUniform3iv"]=_emscripten_glUniform3iv;Module["_emscripten_glUniform3ui"]=_emscripten_glUniform3ui;Module["_emscripten_glUniform3uiv"]=_emscripten_glUniform3uiv;Module["_emscripten_glUniform4f"]=_emscripten_glUniform4f;Module["_emscripten_glUniform4fv"]=_emscripten_glUniform4fv;Module["_emscripten_glUniform4i"]=_emscripten_glUniform4i;Module["_emscripten_glUniform4iv"]=_emscripten_glUniform4iv;Module["_emscripten_glUniform4ui"]=_emscripten_glUniform4ui;Module["_emscripten_glUniform4uiv"]=_emscripten_glUniform4uiv;Module["_emscripten_glUniformBlockBinding"]=_emscripten_glUniformBlockBinding;Module["_emscripten_glUniformMatrix2fv"]=_emscripten_glUniformMatrix2fv;Module["_emscripten_glUniformMatrix2x3fv"]=_emscripten_glUniformMatrix2x3fv;Module["_emscripten_glUniformMatrix2x4fv"]=_emscripten_glUniformMatrix2x4fv;Module["_emscripten_glUniformMatrix3fv"]=_emscripten_glUniformMatrix3fv;Module["_emscripten_glUniformMatrix3x2fv"]=_emscripten_glUniformMatrix3x2fv;Module["_emscripten_glUniformMatrix3x4fv"]=_emscripten_glUniformMatrix3x4fv;Module["_emscripten_glUniformMatrix4fv"]=_emscripten_glUniformMatrix4fv;Module["_emscripten_glUniformMatrix4x2fv"]=_emscripten_glUniformMatrix4x2fv;Module["_emscripten_glUniformMatrix4x3fv"]=_emscripten_glUniformMatrix4x3fv;Module["_emscripten_glUseProgram"]=_emscripten_glUseProgram;Module["_emscripten_glValidateProgram"]=_emscripten_glValidateProgram;Module["_emscripten_glVertexAttrib1f"]=_emscripten_glVertexAttrib1f;Module["_emscripten_glVertexAttrib1fv"]=_emscripten_glVertexAttrib1fv;Module["_emscripten_glVertexAttrib2f"]=_emscripten_glVertexAttrib2f;Module["_emscripten_glVertexAttrib2fv"]=_emscripten_glVertexAttrib2fv;Module["_emscripten_glVertexAttrib3f"]=_emscripten_glVertexAttrib3f;Module["_emscripten_glVertexAttrib3fv"]=_emscripten_glVertexAttrib3fv;Module["_emscripten_glVertexAttrib4f"]=_emscripten_glVertexAttrib4f;Module["_emscripten_glVertexAttrib4fv"]=_emscripten_glVertexAttrib4fv;Module["_emscripten_glVertexAttribDivisor"]=_emscripten_glVertexAttribDivisor;Module["_emscripten_glVertexAttribDivisorANGLE"]=_emscripten_glVertexAttribDivisorANGLE;Module["_glVertexAttribDivisor"]=_glVertexAttribDivisor;Module["_emscripten_glVertexAttribDivisorARB"]=_emscripten_glVertexAttribDivisorARB;Module["_emscripten_glVertexAttribDivisorEXT"]=_emscripten_glVertexAttribDivisorEXT;Module["_emscripten_glVertexAttribDivisorNV"]=_emscripten_glVertexAttribDivisorNV;Module["_emscripten_glVertexAttribI4i"]=_emscripten_glVertexAttribI4i;Module["_emscripten_glVertexAttribI4iv"]=_emscripten_glVertexAttribI4iv;Module["_emscripten_glVertexAttribI4ui"]=_emscripten_glVertexAttribI4ui;Module["_emscripten_glVertexAttribI4uiv"]=_emscripten_glVertexAttribI4uiv;Module["_emscripten_glVertexAttribIPointer"]=_emscripten_glVertexAttribIPointer;Module["_emscripten_glVertexAttribPointer"]=_emscripten_glVertexAttribPointer;Module["_emscripten_glViewport"]=_emscripten_glViewport;Module["_emscripten_glWaitSync"]=_emscripten_glWaitSync;Module["_emscripten_out"]=_emscripten_out;Module["_emscripten_promise_create"]=_emscripten_promise_create;Module["makePromise"]=makePromise;Module["promiseMap"]=promiseMap;Module["HandleAllocator"]=HandleAllocator;Module["_emscripten_promise_destroy"]=_emscripten_promise_destroy;Module["_emscripten_promise_resolve"]=_emscripten_promise_resolve;Module["getPromise"]=getPromise;Module["_emscripten_resize_heap"]=_emscripten_resize_heap;Module["growMemory"]=growMemory;Module["_emscripten_runtime_keepalive_pop"]=_emscripten_runtime_keepalive_pop;Module["_emscripten_runtime_keepalive_push"]=_emscripten_runtime_keepalive_push;Module["_environ_get"]=_environ_get;Module["getEnvStrings"]=getEnvStrings;Module["ENV"]=ENV;Module["_environ_sizes_get"]=_environ_sizes_get;Module["_fd_close"]=_fd_close;Module["_fd_fdstat_get"]=_fd_fdstat_get;Module["_fd_pread"]=_fd_pread;Module["doReadv"]=doReadv;Module["_fd_pwrite"]=_fd_pwrite;Module["doWritev"]=doWritev;Module["_fd_read"]=_fd_read;Module["_fd_seek"]=_fd_seek;Module["_fd_sync"]=_fd_sync;Module["_fd_write"]=_fd_write;Module["_getaddrinfo"]=_getaddrinfo;Module["_getnameinfo"]=_getnameinfo;Module["_getprotobyname"]=_getprotobyname;Module["_setprotoent"]=_setprotoent;Module["Protocols"]=Protocols;Module["stringToAscii"]=stringToAscii;Module["_random_get"]=_random_get;Module["_stackAlloc"]=_stackAlloc;Module["_stackRestore"]=_stackRestore;Module["_stackSave"]=_stackSave;Module["FS_createPath"]=FS_createPath;Module["FS_unlink"]=FS_unlink;Module["FS_createLazyFile"]=FS_createLazyFile;Module["FS_createDevice"]=FS_createDevice;Module["writeI53ToI64Clamped"]=writeI53ToI64Clamped;Module["writeI53ToI64Signaling"]=writeI53ToI64Signaling;Module["writeI53ToU64Clamped"]=writeI53ToU64Clamped;Module["writeI53ToU64Signaling"]=writeI53ToU64Signaling;Module["readI53FromU64"]=readI53FromU64;Module["convertI32PairToI53"]=convertI32PairToI53;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;Module["convertU32PairToI53"]=convertU32PairToI53;Module["getTempRet0"]=getTempRet0;Module["setTempRet0"]=setTempRet0;Module["ptrToString"]=ptrToString;Module["_emscripten_notify_memory_growth"]=_emscripten_notify_memory_growth;Module["strError"]=strError;Module["_endprotoent"]=_endprotoent;Module["_getprotoent"]=_getprotoent;Module["_getprotobynumber"]=_getprotobynumber;Module["Sockets"]=Sockets;Module["_emscripten_run_script"]=_emscripten_run_script;Module["_emscripten_run_script_int"]=_emscripten_run_script_int;Module["_emscripten_run_script_string"]=_emscripten_run_script_string;Module["_emscripten_random"]=_emscripten_random;Module["_emscripten_performance_now"]=_emscripten_performance_now;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;Module["warnOnce"]=warnOnce;Module["_emscripten_get_compiler_setting"]=_emscripten_get_compiler_setting;Module["_emscripten_has_asyncify"]=_emscripten_has_asyncify;Module["_emscripten_print_double"]=_emscripten_print_double;Module["_emscripten_asm_const_double"]=_emscripten_asm_const_double;Module["_emscripten_asm_const_ptr"]=_emscripten_asm_const_ptr;Module["runMainThreadEmAsm"]=runMainThreadEmAsm;Module["_emscripten_asm_const_int_sync_on_main_thread"]=_emscripten_asm_const_int_sync_on_main_thread;Module["_emscripten_asm_const_ptr_sync_on_main_thread"]=_emscripten_asm_const_ptr_sync_on_main_thread;Module["_emscripten_asm_const_double_sync_on_main_thread"]=_emscripten_asm_const_double_sync_on_main_thread;Module["_emscripten_asm_const_async_on_main_thread"]=_emscripten_asm_const_async_on_main_thread;Module["__Unwind_Backtrace"]=__Unwind_Backtrace;Module["__Unwind_GetIPInfo"]=__Unwind_GetIPInfo;Module["__Unwind_FindEnclosingFunction"]=__Unwind_FindEnclosingFunction;Module["autoResumeAudioContext"]=autoResumeAudioContext;Module["getDynCaller"]=getDynCaller;Module["dynCall"]=dynCall;Module["_emscripten_exit_with_live_runtime"]=_emscripten_exit_with_live_runtime;Module["_emscripten_force_exit"]=_emscripten_force_exit;Module["_emscripten_outn"]=_emscripten_outn;Module["_emscripten_errn"]=_emscripten_errn;Module["_emscripten_throw_number"]=_emscripten_throw_number;Module["_emscripten_throw_string"]=_emscripten_throw_string;Module["_emscripten_runtime_keepalive_check"]=_emscripten_runtime_keepalive_check;Module["asmjsMangle"]=asmjsMangle;Module["__emscripten_fs_load_embedded_files"]=__emscripten_fs_load_embedded_files;Module["onInits"]=onInits;Module["addOnInit"]=addOnInit;Module["onMains"]=onMains;Module["addOnPreMain"]=addOnPreMain;Module["onExits"]=onExits;Module["addOnExit"]=addOnExit;Module["STACK_SIZE"]=STACK_SIZE;Module["STACK_ALIGN"]=STACK_ALIGN;Module["POINTER_SIZE"]=POINTER_SIZE;Module["ASSERTIONS"]=ASSERTIONS;Module["getCFunc"]=getCFunc;Module["ccall"]=ccall;Module["writeArrayToMemory"]=writeArrayToMemory;Module["cwrap"]=cwrap;Module["removeFunction"]=removeFunction;Module["_emscripten_math_cbrt"]=_emscripten_math_cbrt;Module["_emscripten_math_pow"]=_emscripten_math_pow;Module["_emscripten_math_random"]=_emscripten_math_random;Module["_emscripten_math_sign"]=_emscripten_math_sign;Module["_emscripten_math_sqrt"]=_emscripten_math_sqrt;Module["_emscripten_math_exp"]=_emscripten_math_exp;Module["_emscripten_math_expm1"]=_emscripten_math_expm1;Module["_emscripten_math_fmod"]=_emscripten_math_fmod;Module["_emscripten_math_log"]=_emscripten_math_log;Module["_emscripten_math_log1p"]=_emscripten_math_log1p;Module["_emscripten_math_log10"]=_emscripten_math_log10;Module["_emscripten_math_log2"]=_emscripten_math_log2;Module["_emscripten_math_round"]=_emscripten_math_round;Module["_emscripten_math_acos"]=_emscripten_math_acos;Module["_emscripten_math_acosh"]=_emscripten_math_acosh;Module["_emscripten_math_asin"]=_emscripten_math_asin;Module["_emscripten_math_asinh"]=_emscripten_math_asinh;Module["_emscripten_math_atan"]=_emscripten_math_atan;Module["_emscripten_math_atanh"]=_emscripten_math_atanh;Module["_emscripten_math_atan2"]=_emscripten_math_atan2;Module["_emscripten_math_cos"]=_emscripten_math_cos;Module["_emscripten_math_cosh"]=_emscripten_math_cosh;Module["_emscripten_math_hypot"]=_emscripten_math_hypot;Module["_emscripten_math_sin"]=_emscripten_math_sin;Module["_emscripten_math_sinh"]=_emscripten_math_sinh;Module["_emscripten_math_tan"]=_emscripten_math_tan;Module["_emscripten_math_tanh"]=_emscripten_math_tanh;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16Decoder"]=UTF16Decoder;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["lengthBytesUTF16"]=lengthBytesUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["lengthBytesUTF32"]=lengthBytesUTF32;Module["JSEvents"]=JSEvents;Module["getFullscreenElement"]=getFullscreenElement;Module["registerKeyEventCallback"]=registerKeyEventCallback;Module["findEventTarget"]=findEventTarget;Module["maybeCStringToJsString"]=maybeCStringToJsString;Module["specialHTMLTargets"]=specialHTMLTargets;Module["findCanvasEventTarget"]=findCanvasEventTarget;Module["_emscripten_html5_remove_event_listener"]=_emscripten_html5_remove_event_listener;Module["_emscripten_set_keypress_callback_on_thread"]=_emscripten_set_keypress_callback_on_thread;Module["_emscripten_set_keydown_callback_on_thread"]=_emscripten_set_keydown_callback_on_thread;Module["_emscripten_set_keyup_callback_on_thread"]=_emscripten_set_keyup_callback_on_thread;Module["getBoundingClientRect"]=getBoundingClientRect;Module["fillMouseEventData"]=fillMouseEventData;Module["registerMouseEventCallback"]=registerMouseEventCallback;Module["_emscripten_set_click_callback_on_thread"]=_emscripten_set_click_callback_on_thread;Module["_emscripten_set_mousedown_callback_on_thread"]=_emscripten_set_mousedown_callback_on_thread;Module["_emscripten_set_mouseup_callback_on_thread"]=_emscripten_set_mouseup_callback_on_thread;Module["_emscripten_set_dblclick_callback_on_thread"]=_emscripten_set_dblclick_callback_on_thread;Module["_emscripten_set_mousemove_callback_on_thread"]=_emscripten_set_mousemove_callback_on_thread;Module["_emscripten_set_mouseenter_callback_on_thread"]=_emscripten_set_mouseenter_callback_on_thread;Module["_emscripten_set_mouseleave_callback_on_thread"]=_emscripten_set_mouseleave_callback_on_thread;Module["_emscripten_set_mouseover_callback_on_thread"]=_emscripten_set_mouseover_callback_on_thread;Module["_emscripten_set_mouseout_callback_on_thread"]=_emscripten_set_mouseout_callback_on_thread;Module["__emscripten_get_last_mouse_event"]=__emscripten_get_last_mouse_event;Module["registerWheelEventCallback"]=registerWheelEventCallback;Module["_emscripten_set_wheel_callback_on_thread"]=_emscripten_set_wheel_callback_on_thread;Module["registerUiEventCallback"]=registerUiEventCallback;Module["_emscripten_set_resize_callback_on_thread"]=_emscripten_set_resize_callback_on_thread;Module["_emscripten_set_scroll_callback_on_thread"]=_emscripten_set_scroll_callback_on_thread;Module["registerFocusEventCallback"]=registerFocusEventCallback;Module["_emscripten_set_blur_callback_on_thread"]=_emscripten_set_blur_callback_on_thread;Module["_emscripten_set_focus_callback_on_thread"]=_emscripten_set_focus_callback_on_thread;Module["_emscripten_set_focusin_callback_on_thread"]=_emscripten_set_focusin_callback_on_thread;Module["_emscripten_set_focusout_callback_on_thread"]=_emscripten_set_focusout_callback_on_thread;Module["fillDeviceOrientationEventData"]=fillDeviceOrientationEventData;Module["registerDeviceOrientationEventCallback"]=registerDeviceOrientationEventCallback;Module["_emscripten_set_deviceorientation_callback_on_thread"]=_emscripten_set_deviceorientation_callback_on_thread;Module["__emscripten_get_last_deviceorientation_event"]=__emscripten_get_last_deviceorientation_event;Module["fillDeviceMotionEventData"]=fillDeviceMotionEventData;Module["registerDeviceMotionEventCallback"]=registerDeviceMotionEventCallback;Module["_emscripten_set_devicemotion_callback_on_thread"]=_emscripten_set_devicemotion_callback_on_thread;Module["__emscripten_get_last_devicemotion_event"]=__emscripten_get_last_devicemotion_event;Module["screenOrientation"]=screenOrientation;Module["fillOrientationChangeEventData"]=fillOrientationChangeEventData;Module["registerOrientationChangeEventCallback"]=registerOrientationChangeEventCallback;Module["_emscripten_set_orientationchange_callback_on_thread"]=_emscripten_set_orientationchange_callback_on_thread;Module["_emscripten_get_orientation_status"]=_emscripten_get_orientation_status;Module["_emscripten_lock_orientation"]=_emscripten_lock_orientation;Module["_emscripten_unlock_orientation"]=_emscripten_unlock_orientation;Module["fillFullscreenChangeEventData"]=fillFullscreenChangeEventData;Module["registerFullscreenChangeEventCallback"]=registerFullscreenChangeEventCallback;Module["_emscripten_set_fullscreenchange_callback_on_thread"]=_emscripten_set_fullscreenchange_callback_on_thread;Module["_emscripten_get_fullscreen_status"]=_emscripten_get_fullscreen_status;Module["JSEvents_requestFullscreen"]=JSEvents_requestFullscreen;Module["JSEvents_resizeCanvasForFullscreen"]=JSEvents_resizeCanvasForFullscreen;Module["registerRestoreOldStyle"]=registerRestoreOldStyle;Module["getCanvasElementSize"]=getCanvasElementSize;Module["_emscripten_get_canvas_element_size"]=_emscripten_get_canvas_element_size;Module["setCanvasElementSize"]=setCanvasElementSize;Module["_emscripten_set_canvas_element_size"]=_emscripten_set_canvas_element_size;Module["currentFullscreenStrategy"]=currentFullscreenStrategy;Module["setLetterbox"]=setLetterbox;Module["hideEverythingExceptGivenElement"]=hideEverythingExceptGivenElement;Module["restoreHiddenElements"]=restoreHiddenElements;Module["restoreOldWindowedStyle"]=restoreOldWindowedStyle;Module["softFullscreenResizeWebGLRenderTarget"]=softFullscreenResizeWebGLRenderTarget;Module["doRequestFullscreen"]=doRequestFullscreen;Module["_emscripten_request_fullscreen"]=_emscripten_request_fullscreen;Module["_emscripten_request_fullscreen_strategy"]=_emscripten_request_fullscreen_strategy;Module["_emscripten_enter_soft_fullscreen"]=_emscripten_enter_soft_fullscreen;Module["_emscripten_exit_soft_fullscreen"]=_emscripten_exit_soft_fullscreen;Module["_emscripten_exit_fullscreen"]=_emscripten_exit_fullscreen;Module["fillPointerlockChangeEventData"]=fillPointerlockChangeEventData;Module["registerPointerlockChangeEventCallback"]=registerPointerlockChangeEventCallback;Module["_emscripten_set_pointerlockchange_callback_on_thread"]=_emscripten_set_pointerlockchange_callback_on_thread;Module["registerPointerlockErrorEventCallback"]=registerPointerlockErrorEventCallback;Module["_emscripten_set_pointerlockerror_callback_on_thread"]=_emscripten_set_pointerlockerror_callback_on_thread;Module["_emscripten_get_pointerlock_status"]=_emscripten_get_pointerlock_status;Module["requestPointerLock"]=requestPointerLock;Module["_emscripten_request_pointerlock"]=_emscripten_request_pointerlock;Module["_emscripten_exit_pointerlock"]=_emscripten_exit_pointerlock;Module["_emscripten_vibrate"]=_emscripten_vibrate;Module["_emscripten_vibrate_pattern"]=_emscripten_vibrate_pattern;Module["fillVisibilityChangeEventData"]=fillVisibilityChangeEventData;Module["registerVisibilityChangeEventCallback"]=registerVisibilityChangeEventCallback;Module["_emscripten_set_visibilitychange_callback_on_thread"]=_emscripten_set_visibilitychange_callback_on_thread;Module["_emscripten_get_visibility_status"]=_emscripten_get_visibility_status;Module["registerTouchEventCallback"]=registerTouchEventCallback;Module["_emscripten_set_touchstart_callback_on_thread"]=_emscripten_set_touchstart_callback_on_thread;Module["_emscripten_set_touchend_callback_on_thread"]=_emscripten_set_touchend_callback_on_thread;Module["_emscripten_set_touchmove_callback_on_thread"]=_emscripten_set_touchmove_callback_on_thread;Module["_emscripten_set_touchcancel_callback_on_thread"]=_emscripten_set_touchcancel_callback_on_thread;Module["fillGamepadEventData"]=fillGamepadEventData;Module["registerGamepadEventCallback"]=registerGamepadEventCallback;Module["_emscripten_set_gamepadconnected_callback_on_thread"]=_emscripten_set_gamepadconnected_callback_on_thread;Module["_emscripten_sample_gamepad_data"]=_emscripten_sample_gamepad_data;Module["_emscripten_set_gamepaddisconnected_callback_on_thread"]=_emscripten_set_gamepaddisconnected_callback_on_thread;Module["_emscripten_get_num_gamepads"]=_emscripten_get_num_gamepads;Module["_emscripten_get_gamepad_status"]=_emscripten_get_gamepad_status;Module["registerBeforeUnloadEventCallback"]=registerBeforeUnloadEventCallback;Module["_emscripten_set_beforeunload_callback_on_thread"]=_emscripten_set_beforeunload_callback_on_thread;Module["fillBatteryEventData"]=fillBatteryEventData;Module["hasBatteryAPI"]=hasBatteryAPI;Module["registerBatteryEventCallback"]=registerBatteryEventCallback;Module["_emscripten_set_batterychargingchange_callback_on_thread"]=_emscripten_set_batterychargingchange_callback_on_thread;Module["_emscripten_set_batterylevelchange_callback_on_thread"]=_emscripten_set_batterylevelchange_callback_on_thread;Module["batteryManager"]=batteryManager;Module["_emscripten_get_battery_status"]=_emscripten_get_battery_status;Module["_emscripten_set_element_css_size"]=_emscripten_set_element_css_size;Module["_emscripten_get_element_css_size"]=_emscripten_get_element_css_size;Module["_emscripten_html5_remove_all_event_listeners"]=_emscripten_html5_remove_all_event_listeners;Module["_emscripten_request_animation_frame"]=_emscripten_request_animation_frame;Module["_emscripten_cancel_animation_frame"]=_emscripten_cancel_animation_frame;Module["_emscripten_request_animation_frame_loop"]=_emscripten_request_animation_frame_loop;Module["_emscripten_get_device_pixel_ratio"]=_emscripten_get_device_pixel_ratio;Module["_emscripten_get_callstack"]=_emscripten_get_callstack;Module["convertFrameToPC"]=convertFrameToPC;Module["_emscripten_return_address"]=_emscripten_return_address;Module["UNWIND_CACHE"]=UNWIND_CACHE;Module["_emscripten_stack_snapshot"]=_emscripten_stack_snapshot;Module["saveInUnwindCache"]=saveInUnwindCache;Module["_emscripten_stack_unwind_buffer"]=_emscripten_stack_unwind_buffer;Module["_emscripten_pc_get_function"]=_emscripten_pc_get_function;Module["convertPCtoSourceLocation"]=convertPCtoSourceLocation;Module["_emscripten_pc_get_file"]=_emscripten_pc_get_file;Module["_emscripten_pc_get_line"]=_emscripten_pc_get_line;Module["_emscripten_pc_get_column"]=_emscripten_pc_get_column;Module["wasiRightsToMuslOFlags"]=wasiRightsToMuslOFlags;Module["wasiOFlagsToMuslOFlags"]=wasiOFlagsToMuslOFlags;Module["_emscripten_unwind_to_js_event_loop"]=_emscripten_unwind_to_js_event_loop;Module["safeSetTimeout"]=safeSetTimeout;Module["setImmediateWrapped"]=setImmediateWrapped;Module["safeRequestAnimationFrame"]=safeRequestAnimationFrame;Module["MainLoop"]=MainLoop;Module["setMainLoop"]=setMainLoop;Module["_emscripten_set_main_loop_timing"]=_emscripten_set_main_loop_timing;Module["clearImmediateWrapped"]=clearImmediateWrapped;Module["emSetImmediate"]=emSetImmediate;Module["emClearImmediate"]=emClearImmediate;Module["emClearImmediate_deps"]=emClearImmediate_deps;Module["_emscripten_set_immediate"]=_emscripten_set_immediate;Module["_emscripten_clear_immediate"]=_emscripten_clear_immediate;Module["_emscripten_set_immediate_loop"]=_emscripten_set_immediate_loop;Module["_emscripten_set_timeout"]=_emscripten_set_timeout;Module["_emscripten_clear_timeout"]=_emscripten_clear_timeout;Module["_emscripten_set_timeout_loop"]=_emscripten_set_timeout_loop;Module["_emscripten_set_interval"]=_emscripten_set_interval;Module["_emscripten_clear_interval"]=_emscripten_clear_interval;Module["_emscripten_async_call"]=_emscripten_async_call;Module["registerPostMainLoop"]=registerPostMainLoop;Module["registerPreMainLoop"]=registerPreMainLoop;Module["_emscripten_get_main_loop_timing"]=_emscripten_get_main_loop_timing;Module["_emscripten_set_main_loop"]=_emscripten_set_main_loop;Module["_emscripten_set_main_loop_arg"]=_emscripten_set_main_loop_arg;Module["_emscripten_cancel_main_loop"]=_emscripten_cancel_main_loop;Module["_emscripten_pause_main_loop"]=_emscripten_pause_main_loop;Module["_emscripten_resume_main_loop"]=_emscripten_resume_main_loop;Module["__emscripten_push_main_loop_blocker"]=__emscripten_push_main_loop_blocker;Module["__emscripten_push_uncounted_main_loop_blocker"]=__emscripten_push_uncounted_main_loop_blocker;Module["_emscripten_set_main_loop_expected_blockers"]=_emscripten_set_main_loop_expected_blockers;Module["idsToPromises"]=idsToPromises;Module["makePromiseCallback"]=makePromiseCallback;Module["_emscripten_promise_then"]=_emscripten_promise_then;Module["_emscripten_promise_all"]=_emscripten_promise_all;Module["setPromiseResult"]=setPromiseResult;Module["_emscripten_promise_all_settled"]=_emscripten_promise_all_settled;Module["_emscripten_promise_any"]=_emscripten_promise_any;Module["_emscripten_promise_race"]=_emscripten_promise_race;Module["_emscripten_promise_await"]=_emscripten_promise_await;Module["getExceptionMessageCommon"]=getExceptionMessageCommon;Module["getCppExceptionTag"]=getCppExceptionTag;Module["getCppExceptionThrownObjectFromWebAssemblyException"]=getCppExceptionThrownObjectFromWebAssemblyException;Module["incrementExceptionRefcount"]=incrementExceptionRefcount;Module["decrementExceptionRefcount"]=decrementExceptionRefcount;Module["getExceptionMessage"]=getExceptionMessage;Module["Browser"]=Browser;Module["requestFullscreen"]=requestFullscreen;Module["setCanvasSize"]=setCanvasSize;Module["getUserMedia"]=getUserMedia;Module["createContext"]=createContext;Module["_emscripten_run_preload_plugins"]=_emscripten_run_preload_plugins;Module["Browser_asyncPrepareDataCounter"]=Browser_asyncPrepareDataCounter;Module["_emscripten_run_preload_plugins_data"]=_emscripten_run_preload_plugins_data;Module["_emscripten_async_run_script"]=_emscripten_async_run_script;Module["_emscripten_async_load_script"]=_emscripten_async_load_script;Module["_emscripten_get_window_title"]=_emscripten_get_window_title;Module["_emscripten_set_window_title"]=_emscripten_set_window_title;Module["_emscripten_get_screen_size"]=_emscripten_get_screen_size;Module["_emscripten_hide_mouse"]=_emscripten_hide_mouse;Module["_emscripten_set_canvas_size"]=_emscripten_set_canvas_size;Module["_emscripten_get_canvas_size"]=_emscripten_get_canvas_size;Module["_emscripten_create_worker"]=_emscripten_create_worker;Module["_emscripten_destroy_worker"]=_emscripten_destroy_worker;Module["_emscripten_call_worker"]=_emscripten_call_worker;Module["_emscripten_get_worker_queue_size"]=_emscripten_get_worker_queue_size;Module["_emscripten_get_preloaded_image_data"]=_emscripten_get_preloaded_image_data;Module["getPreloadedImageData"]=getPreloadedImageData;Module["getPreloadedImageData__data"]=getPreloadedImageData__data;Module["_emscripten_get_preloaded_image_data_from_FILE"]=_emscripten_get_preloaded_image_data_from_FILE;Module["wget"]=wget;Module["_emscripten_async_wget"]=_emscripten_async_wget;Module["FS_mkdirTree"]=FS_mkdirTree;Module["_emscripten_async_wget_data"]=_emscripten_async_wget_data;Module["_emscripten_async_wget2"]=_emscripten_async_wget2;Module["_emscripten_async_wget2_data"]=_emscripten_async_wget2_data;Module["_emscripten_async_wget2_abort"]=_emscripten_async_wget2_abort;Module["___asctime_r"]=___asctime_r;Module["MONTH_DAYS_REGULAR"]=MONTH_DAYS_REGULAR;Module["MONTH_DAYS_LEAP"]=MONTH_DAYS_LEAP;Module["arraySum"]=arraySum;Module["addDays"]=addDays;Module["_strptime"]=_strptime;Module["_strptime_l"]=_strptime_l;Module["__dlsym_catchup_js"]=__dlsym_catchup_js;Module["FS_readFile"]=FS_readFile;Module["FS_root"]=FS_root;Module["FS_mounts"]=FS_mounts;Module["FS_devices"]=FS_devices;Module["FS_streams"]=FS_streams;Module["FS_nextInode"]=FS_nextInode;Module["FS_nameTable"]=FS_nameTable;Module["FS_currentPath"]=FS_currentPath;Module["FS_initialized"]=FS_initialized;Module["FS_ignorePermissions"]=FS_ignorePermissions;Module["FS_trackingDelegate"]=FS_trackingDelegate;Module["FS_filesystems"]=FS_filesystems;Module["FS_syncFSRequests"]=FS_syncFSRequests;Module["FS_lookupPath"]=FS_lookupPath;Module["FS_getPath"]=FS_getPath;Module["FS_hashName"]=FS_hashName;Module["FS_hashAddNode"]=FS_hashAddNode;Module["FS_hashRemoveNode"]=FS_hashRemoveNode;Module["FS_lookupNode"]=FS_lookupNode;Module["FS_createNode"]=FS_createNode;Module["FS_destroyNode"]=FS_destroyNode;Module["FS_isRoot"]=FS_isRoot;Module["FS_isMountpoint"]=FS_isMountpoint;Module["FS_isFile"]=FS_isFile;Module["FS_isDir"]=FS_isDir;Module["FS_isLink"]=FS_isLink;Module["FS_isChrdev"]=FS_isChrdev;Module["FS_isBlkdev"]=FS_isBlkdev;Module["FS_isFIFO"]=FS_isFIFO;Module["FS_isSocket"]=FS_isSocket;Module["FS_flagsToPermissionString"]=FS_flagsToPermissionString;Module["FS_nodePermissions"]=FS_nodePermissions;Module["FS_mayLookup"]=FS_mayLookup;Module["FS_mayCreate"]=FS_mayCreate;Module["FS_mayDelete"]=FS_mayDelete;Module["FS_mayOpen"]=FS_mayOpen;Module["FS_checkOpExists"]=FS_checkOpExists;Module["FS_nextfd"]=FS_nextfd;Module["FS_getStreamChecked"]=FS_getStreamChecked;Module["FS_getStream"]=FS_getStream;Module["FS_createStream"]=FS_createStream;Module["FS_closeStream"]=FS_closeStream;Module["FS_dupStream"]=FS_dupStream;Module["FS_doSetAttr"]=FS_doSetAttr;Module["FS_chrdev_stream_ops"]=FS_chrdev_stream_ops;Module["FS_major"]=FS_major;Module["FS_minor"]=FS_minor;Module["FS_makedev"]=FS_makedev;Module["FS_registerDevice"]=FS_registerDevice;Module["FS_getDevice"]=FS_getDevice;Module["FS_getMounts"]=FS_getMounts;Module["FS_syncfs"]=FS_syncfs;Module["FS_mount"]=FS_mount;Module["FS_unmount"]=FS_unmount;Module["FS_lookup"]=FS_lookup;Module["FS_mknod"]=FS_mknod;Module["FS_statfs"]=FS_statfs;Module["FS_statfsStream"]=FS_statfsStream;Module["FS_statfsNode"]=FS_statfsNode;Module["FS_create"]=FS_create;Module["FS_mkdir"]=FS_mkdir;Module["FS_mkdev"]=FS_mkdev;Module["FS_symlink"]=FS_symlink;Module["FS_rename"]=FS_rename;Module["FS_rmdir"]=FS_rmdir;Module["FS_readdir"]=FS_readdir;Module["FS_readlink"]=FS_readlink;Module["FS_stat"]=FS_stat;Module["FS_fstat"]=FS_fstat;Module["FS_lstat"]=FS_lstat;Module["FS_doChmod"]=FS_doChmod;Module["FS_chmod"]=FS_chmod;Module["FS_lchmod"]=FS_lchmod;Module["FS_fchmod"]=FS_fchmod;Module["FS_doChown"]=FS_doChown;Module["FS_chown"]=FS_chown;Module["FS_lchown"]=FS_lchown;Module["FS_fchown"]=FS_fchown;Module["FS_doTruncate"]=FS_doTruncate;Module["FS_truncate"]=FS_truncate;Module["FS_ftruncate"]=FS_ftruncate;Module["FS_utime"]=FS_utime;Module["FS_open"]=FS_open;Module["FS_close"]=FS_close;Module["FS_isClosed"]=FS_isClosed;Module["FS_llseek"]=FS_llseek;Module["FS_read"]=FS_read;Module["FS_write"]=FS_write;Module["FS_mmap"]=FS_mmap;Module["FS_msync"]=FS_msync;Module["FS_ioctl"]=FS_ioctl;Module["FS_writeFile"]=FS_writeFile;Module["FS_cwd"]=FS_cwd;Module["FS_chdir"]=FS_chdir;Module["FS_createDefaultDirectories"]=FS_createDefaultDirectories;Module["FS_createDefaultDevices"]=FS_createDefaultDevices;Module["FS_createSpecialDirectories"]=FS_createSpecialDirectories;Module["FS_createStandardStreams"]=FS_createStandardStreams;Module["FS_staticInit"]=FS_staticInit;Module["FS_init"]=FS_init;Module["FS_quit"]=FS_quit;Module["FS_findObject"]=FS_findObject;Module["FS_analyzePath"]=FS_analyzePath;Module["FS_createFile"]=FS_createFile;Module["FS_forceLoadFile"]=FS_forceLoadFile;Module["_setNetworkCallback"]=_setNetworkCallback;Module["_emscripten_set_socket_error_callback"]=_emscripten_set_socket_error_callback;Module["_emscripten_set_socket_open_callback"]=_emscripten_set_socket_open_callback;Module["_emscripten_set_socket_listen_callback"]=_emscripten_set_socket_listen_callback;Module["_emscripten_set_socket_connection_callback"]=_emscripten_set_socket_connection_callback;Module["_emscripten_set_socket_message_callback"]=_emscripten_set_socket_message_callback;Module["_emscripten_set_socket_close_callback"]=_emscripten_set_socket_close_callback;Module["_emscripten_webgl_enable_ANGLE_instanced_arrays"]=_emscripten_webgl_enable_ANGLE_instanced_arrays;Module["_emscripten_webgl_enable_OES_vertex_array_object"]=_emscripten_webgl_enable_OES_vertex_array_object;Module["_emscripten_webgl_enable_WEBGL_draw_buffers"]=_emscripten_webgl_enable_WEBGL_draw_buffers;Module["_emscripten_webgl_enable_WEBGL_multi_draw"]=_emscripten_webgl_enable_WEBGL_multi_draw;Module["_emscripten_webgl_enable_EXT_polygon_offset_clamp"]=_emscripten_webgl_enable_EXT_polygon_offset_clamp;Module["_emscripten_webgl_enable_EXT_clip_control"]=_emscripten_webgl_enable_EXT_clip_control;Module["_emscripten_webgl_enable_WEBGL_polygon_mode"]=_emscripten_webgl_enable_WEBGL_polygon_mode;Module["_glPixelStorei"]=_glPixelStorei;Module["_glGetString"]=_glGetString;Module["_glGetIntegerv"]=_glGetIntegerv;Module["_glGetFloatv"]=_glGetFloatv;Module["_glGetBooleanv"]=_glGetBooleanv;Module["_glDeleteTextures"]=_glDeleteTextures;Module["_glCompressedTexImage2D"]=_glCompressedTexImage2D;Module["_glCompressedTexSubImage2D"]=_glCompressedTexSubImage2D;Module["_glTexImage2D"]=_glTexImage2D;Module["_glTexSubImage2D"]=_glTexSubImage2D;Module["_glReadPixels"]=_glReadPixels;Module["_glBindTexture"]=_glBindTexture;Module["_glGetTexParameterfv"]=_glGetTexParameterfv;Module["_glGetTexParameteriv"]=_glGetTexParameteriv;Module["_glTexParameterfv"]=_glTexParameterfv;Module["_glTexParameteriv"]=_glTexParameteriv;Module["_glIsTexture"]=_glIsTexture;Module["_glGenBuffers"]=_glGenBuffers;Module["_glGenTextures"]=_glGenTextures;Module["_glDeleteBuffers"]=_glDeleteBuffers;Module["_glGetBufferParameteriv"]=_glGetBufferParameteriv;Module["_glBufferData"]=_glBufferData;Module["_glBufferSubData"]=_glBufferSubData;Module["_glGenQueriesEXT"]=_glGenQueriesEXT;Module["_glDeleteQueriesEXT"]=_glDeleteQueriesEXT;Module["_glIsQueryEXT"]=_glIsQueryEXT;Module["_glBeginQueryEXT"]=_glBeginQueryEXT;Module["_glEndQueryEXT"]=_glEndQueryEXT;Module["_glQueryCounterEXT"]=_glQueryCounterEXT;Module["_glGetQueryivEXT"]=_glGetQueryivEXT;Module["_glGetQueryObjectuivEXT"]=_glGetQueryObjectuivEXT;Module["_glGetQueryObjectui64vEXT"]=_glGetQueryObjectui64vEXT;Module["_glIsBuffer"]=_glIsBuffer;Module["_glGenRenderbuffers"]=_glGenRenderbuffers;Module["_glDeleteRenderbuffers"]=_glDeleteRenderbuffers;Module["_glBindRenderbuffer"]=_glBindRenderbuffer;Module["_glGetRenderbufferParameteriv"]=_glGetRenderbufferParameteriv;Module["_glIsRenderbuffer"]=_glIsRenderbuffer;Module["_glGetUniformfv"]=_glGetUniformfv;Module["_glGetUniformiv"]=_glGetUniformiv;Module["_glGetUniformLocation"]=_glGetUniformLocation;Module["_glGetVertexAttribfv"]=_glGetVertexAttribfv;Module["_glGetVertexAttribiv"]=_glGetVertexAttribiv;Module["_glGetVertexAttribPointerv"]=_glGetVertexAttribPointerv;Module["_glUniform1f"]=_glUniform1f;Module["_glUniform2f"]=_glUniform2f;Module["_glUniform3f"]=_glUniform3f;Module["_glUniform4f"]=_glUniform4f;Module["_glUniform1i"]=_glUniform1i;Module["_glUniform2i"]=_glUniform2i;Module["_glUniform3i"]=_glUniform3i;Module["_glUniform4i"]=_glUniform4i;Module["_glUniform1iv"]=_glUniform1iv;Module["_glUniform2iv"]=_glUniform2iv;Module["_glUniform3iv"]=_glUniform3iv;Module["_glUniform4iv"]=_glUniform4iv;Module["_glUniform1fv"]=_glUniform1fv;Module["_glUniform2fv"]=_glUniform2fv;Module["_glUniform3fv"]=_glUniform3fv;Module["_glUniform4fv"]=_glUniform4fv;Module["_glUniformMatrix2fv"]=_glUniformMatrix2fv;Module["_glUniformMatrix3fv"]=_glUniformMatrix3fv;Module["_glUniformMatrix4fv"]=_glUniformMatrix4fv;Module["_glBindBuffer"]=_glBindBuffer;Module["_glVertexAttrib1fv"]=_glVertexAttrib1fv;Module["_glVertexAttrib2fv"]=_glVertexAttrib2fv;Module["_glVertexAttrib3fv"]=_glVertexAttrib3fv;Module["_glVertexAttrib4fv"]=_glVertexAttrib4fv;Module["_glGetAttribLocation"]=_glGetAttribLocation;Module["_glGetActiveAttrib"]=_glGetActiveAttrib;Module["_glGetActiveUniform"]=_glGetActiveUniform;Module["_glCreateShader"]=_glCreateShader;Module["_glDeleteShader"]=_glDeleteShader;Module["_glGetAttachedShaders"]=_glGetAttachedShaders;Module["_glShaderSource"]=_glShaderSource;Module["_glGetShaderSource"]=_glGetShaderSource;Module["_glCompileShader"]=_glCompileShader;Module["_glGetShaderInfoLog"]=_glGetShaderInfoLog;Module["_glGetShaderiv"]=_glGetShaderiv;Module["_glGetProgramiv"]=_glGetProgramiv;Module["_glIsShader"]=_glIsShader;Module["_glCreateProgram"]=_glCreateProgram;Module["_glDeleteProgram"]=_glDeleteProgram;Module["_glAttachShader"]=_glAttachShader;Module["_glDetachShader"]=_glDetachShader;Module["_glGetShaderPrecisionFormat"]=_glGetShaderPrecisionFormat;Module["_glLinkProgram"]=_glLinkProgram;Module["_glGetProgramInfoLog"]=_glGetProgramInfoLog;Module["_glUseProgram"]=_glUseProgram;Module["_glValidateProgram"]=_glValidateProgram;Module["_glIsProgram"]=_glIsProgram;Module["_glBindAttribLocation"]=_glBindAttribLocation;Module["_glBindFramebuffer"]=_glBindFramebuffer;Module["_glGenFramebuffers"]=_glGenFramebuffers;Module["_glDeleteFramebuffers"]=_glDeleteFramebuffers;Module["_glFramebufferRenderbuffer"]=_glFramebufferRenderbuffer;Module["_glFramebufferTexture2D"]=_glFramebufferTexture2D;Module["_glGetFramebufferAttachmentParameteriv"]=_glGetFramebufferAttachmentParameteriv;Module["_glIsFramebuffer"]=_glIsFramebuffer;Module["_emscripten_glVertexPointer"]=_emscripten_glVertexPointer;Module["_glVertexPointer"]=_glVertexPointer;Module["_emscripten_glMatrixMode"]=_emscripten_glMatrixMode;Module["_glMatrixMode"]=_glMatrixMode;Module["_emscripten_glBegin"]=_emscripten_glBegin;Module["_glBegin"]=_glBegin;Module["_emscripten_glLoadIdentity"]=_emscripten_glLoadIdentity;Module["_glLoadIdentity"]=_glLoadIdentity;Module["_glGenVertexArraysOES"]=_glGenVertexArraysOES;Module["_glDeleteVertexArraysOES"]=_glDeleteVertexArraysOES;Module["_glBindVertexArrayOES"]=_glBindVertexArrayOES;Module["_glIsVertexArrayOES"]=_glIsVertexArrayOES;Module["_glVertexAttribPointer"]=_glVertexAttribPointer;Module["_glEnableVertexAttribArray"]=_glEnableVertexAttribArray;Module["_glDisableVertexAttribArray"]=_glDisableVertexAttribArray;Module["_glDrawArrays"]=_glDrawArrays;Module["_glShaderBinary"]=_glShaderBinary;Module["_glReleaseShaderCompiler"]=_glReleaseShaderCompiler;Module["_glGetError"]=_glGetError;Module["_glVertexAttribDivisorNV"]=_glVertexAttribDivisorNV;Module["_glDrawArraysInstancedNV"]=_glDrawArraysInstancedNV;Module["_glDrawElementsInstancedNV"]=_glDrawElementsInstancedNV;Module["_glVertexAttribDivisorEXT"]=_glVertexAttribDivisorEXT;Module["_glDrawArraysInstancedEXT"]=_glDrawArraysInstancedEXT;Module["_glDrawElementsInstancedEXT"]=_glDrawElementsInstancedEXT;Module["_glVertexAttribDivisorARB"]=_glVertexAttribDivisorARB;Module["_glDrawArraysInstancedARB"]=_glDrawArraysInstancedARB;Module["_glDrawElementsInstancedARB"]=_glDrawElementsInstancedARB;Module["_glVertexAttribDivisorANGLE"]=_glVertexAttribDivisorANGLE;Module["_glDrawArraysInstancedANGLE"]=_glDrawArraysInstancedANGLE;Module["_glDrawElementsInstancedANGLE"]=_glDrawElementsInstancedANGLE;Module["_glDrawBuffersEXT"]=_glDrawBuffersEXT;Module["_glDrawBuffersWEBGL"]=_glDrawBuffersWEBGL;Module["_glColorMask"]=_glColorMask;Module["_glDepthMask"]=_glDepthMask;Module["_glSampleCoverage"]=_glSampleCoverage;Module["_emscripten_glMultiDrawArrays"]=_emscripten_glMultiDrawArrays;Module["_glMultiDrawArraysWEBGL"]=_glMultiDrawArraysWEBGL;Module["_emscripten_glMultiDrawArraysWEBGL"]=_emscripten_glMultiDrawArraysWEBGL;Module["_glMultiDrawArrays"]=_glMultiDrawArrays;Module["_emscripten_glMultiDrawArraysANGLE"]=_emscripten_glMultiDrawArraysANGLE;Module["_glMultiDrawArraysANGLE"]=_glMultiDrawArraysANGLE;Module["_emscripten_glMultiDrawArraysInstancedANGLE"]=_emscripten_glMultiDrawArraysInstancedANGLE;Module["_glMultiDrawArraysInstancedWEBGL"]=_glMultiDrawArraysInstancedWEBGL;Module["_emscripten_glMultiDrawArraysInstancedWEBGL"]=_emscripten_glMultiDrawArraysInstancedWEBGL;Module["_glMultiDrawArraysInstancedANGLE"]=_glMultiDrawArraysInstancedANGLE;Module["_emscripten_glMultiDrawElements"]=_emscripten_glMultiDrawElements;Module["_glMultiDrawElementsWEBGL"]=_glMultiDrawElementsWEBGL;Module["_emscripten_glMultiDrawElementsWEBGL"]=_emscripten_glMultiDrawElementsWEBGL;Module["_glMultiDrawElements"]=_glMultiDrawElements;Module["_emscripten_glMultiDrawElementsANGLE"]=_emscripten_glMultiDrawElementsANGLE;Module["_glMultiDrawElementsANGLE"]=_glMultiDrawElementsANGLE;Module["_emscripten_glMultiDrawElementsInstancedANGLE"]=_emscripten_glMultiDrawElementsInstancedANGLE;Module["_glMultiDrawElementsInstancedWEBGL"]=_glMultiDrawElementsInstancedWEBGL;Module["_emscripten_glMultiDrawElementsInstancedWEBGL"]=_emscripten_glMultiDrawElementsInstancedWEBGL;Module["_glMultiDrawElementsInstancedANGLE"]=_glMultiDrawElementsInstancedANGLE;Module["_glPolygonOffsetClampEXT"]=_glPolygonOffsetClampEXT;Module["_glClipControlEXT"]=_glClipControlEXT;Module["_glPolygonModeWEBGL"]=_glPolygonModeWEBGL;Module["_glFinish"]=_glFinish;Module["_glFlush"]=_glFlush;Module["_emscripten_glClearDepth"]=_emscripten_glClearDepth;Module["_glClearDepth"]=_glClearDepth;Module["_glClearDepthf"]=_glClearDepthf;Module["_glDepthFunc"]=_glDepthFunc;Module["_glEnable"]=_glEnable;Module["_glDisable"]=_glDisable;Module["_glFrontFace"]=_glFrontFace;Module["_glCullFace"]=_glCullFace;Module["_glClear"]=_glClear;Module["_glLineWidth"]=_glLineWidth;Module["_glClearStencil"]=_glClearStencil;Module["_glStencilMask"]=_glStencilMask;Module["_glCheckFramebufferStatus"]=_glCheckFramebufferStatus;Module["_glGenerateMipmap"]=_glGenerateMipmap;Module["_glActiveTexture"]=_glActiveTexture;Module["_glBlendEquation"]=_glBlendEquation;Module["_glIsEnabled"]=_glIsEnabled;Module["_glBlendFunc"]=_glBlendFunc;Module["_glBlendEquationSeparate"]=_glBlendEquationSeparate;Module["_emscripten_glDepthRange"]=_emscripten_glDepthRange;Module["_glDepthRange"]=_glDepthRange;Module["_glDepthRangef"]=_glDepthRangef;Module["_glStencilMaskSeparate"]=_glStencilMaskSeparate;Module["_glHint"]=_glHint;Module["_glPolygonOffset"]=_glPolygonOffset;Module["_glVertexAttrib1f"]=_glVertexAttrib1f;Module["_glTexParameteri"]=_glTexParameteri;Module["_glTexParameterf"]=_glTexParameterf;Module["_glVertexAttrib2f"]=_glVertexAttrib2f;Module["_glStencilFunc"]=_glStencilFunc;Module["_glStencilOp"]=_glStencilOp;Module["_glViewport"]=_glViewport;Module["_glClearColor"]=_glClearColor;Module["_glScissor"]=_glScissor;Module["_glVertexAttrib3f"]=_glVertexAttrib3f;Module["_glRenderbufferStorage"]=_glRenderbufferStorage;Module["_glBlendFuncSeparate"]=_glBlendFuncSeparate;Module["_glBlendColor"]=_glBlendColor;Module["_glStencilFuncSeparate"]=_glStencilFuncSeparate;Module["_glStencilOpSeparate"]=_glStencilOpSeparate;Module["_glVertexAttrib4f"]=_glVertexAttrib4f;Module["_glCopyTexImage2D"]=_glCopyTexImage2D;Module["_glCopyTexSubImage2D"]=_glCopyTexSubImage2D;Module["_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance"]=_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance;Module["_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance"]=_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance;Module["_glGetStringi"]=_glGetStringi;Module["_glGetInteger64v"]=_glGetInteger64v;Module["_glGetInternalformativ"]=_glGetInternalformativ;Module["_glCompressedTexImage3D"]=_glCompressedTexImage3D;Module["_glCompressedTexSubImage3D"]=_glCompressedTexSubImage3D;Module["_glGetBufferParameteri64v"]=_glGetBufferParameteri64v;Module["_emscripten_glGetBufferSubData"]=_emscripten_glGetBufferSubData;Module["_glGetBufferSubData"]=_glGetBufferSubData;Module["_glInvalidateFramebuffer"]=_glInvalidateFramebuffer;Module["_glInvalidateSubFramebuffer"]=_glInvalidateSubFramebuffer;Module["_glTexImage3D"]=_glTexImage3D;Module["_glTexSubImage3D"]=_glTexSubImage3D;Module["_glGenQueries"]=_glGenQueries;Module["_glDeleteQueries"]=_glDeleteQueries;Module["_glIsQuery"]=_glIsQuery;Module["_glBeginQuery"]=_glBeginQuery;Module["_glGetQueryiv"]=_glGetQueryiv;Module["_glGetQueryObjectuiv"]=_glGetQueryObjectuiv;Module["_glGenSamplers"]=_glGenSamplers;Module["_glDeleteSamplers"]=_glDeleteSamplers;Module["_glIsSampler"]=_glIsSampler;Module["_glBindSampler"]=_glBindSampler;Module["_glSamplerParameterf"]=_glSamplerParameterf;Module["_glSamplerParameteri"]=_glSamplerParameteri;Module["_glSamplerParameterfv"]=_glSamplerParameterfv;Module["_glSamplerParameteriv"]=_glSamplerParameteriv;Module["_glGetSamplerParameterfv"]=_glGetSamplerParameterfv;Module["_glGetSamplerParameteriv"]=_glGetSamplerParameteriv;Module["_glGenTransformFeedbacks"]=_glGenTransformFeedbacks;Module["_glDeleteTransformFeedbacks"]=_glDeleteTransformFeedbacks;Module["_glIsTransformFeedback"]=_glIsTransformFeedback;Module["_glBindTransformFeedback"]=_glBindTransformFeedback;Module["_glTransformFeedbackVaryings"]=_glTransformFeedbackVaryings;Module["_glGetTransformFeedbackVarying"]=_glGetTransformFeedbackVarying;Module["_glGetIntegeri_v"]=_glGetIntegeri_v;Module["_glGetInteger64i_v"]=_glGetInteger64i_v;Module["_glBindBufferBase"]=_glBindBufferBase;Module["_glBindBufferRange"]=_glBindBufferRange;Module["_glGetUniformIndices"]=_glGetUniformIndices;Module["_glGetActiveUniformsiv"]=_glGetActiveUniformsiv;Module["_glGetUniformBlockIndex"]=_glGetUniformBlockIndex;Module["_glGetActiveUniformBlockiv"]=_glGetActiveUniformBlockiv;Module["_glGetActiveUniformBlockName"]=_glGetActiveUniformBlockName;Module["_glUniformBlockBinding"]=_glUniformBlockBinding;Module["_glClearBufferiv"]=_glClearBufferiv;Module["_glClearBufferuiv"]=_glClearBufferuiv;Module["_glClearBufferfv"]=_glClearBufferfv;Module["_glFenceSync"]=_glFenceSync;Module["_glDeleteSync"]=_glDeleteSync;Module["_glClientWaitSync"]=_glClientWaitSync;Module["_glWaitSync"]=_glWaitSync;Module["_glGetSynciv"]=_glGetSynciv;Module["_glIsSync"]=_glIsSync;Module["_glGetUniformuiv"]=_glGetUniformuiv;Module["_glGetFragDataLocation"]=_glGetFragDataLocation;Module["_glGetVertexAttribIuiv"]=_glGetVertexAttribIuiv;Module["_glUniform1ui"]=_glUniform1ui;Module["_glUniform2ui"]=_glUniform2ui;Module["_glUniform3ui"]=_glUniform3ui;Module["_glUniform4ui"]=_glUniform4ui;Module["_glUniform1uiv"]=_glUniform1uiv;Module["_glUniform2uiv"]=_glUniform2uiv;Module["_glUniform3uiv"]=_glUniform3uiv;Module["_glUniform4uiv"]=_glUniform4uiv;Module["_glUniformMatrix2x3fv"]=_glUniformMatrix2x3fv;Module["_glUniformMatrix3x2fv"]=_glUniformMatrix3x2fv;Module["_glUniformMatrix2x4fv"]=_glUniformMatrix2x4fv;Module["_glUniformMatrix4x2fv"]=_glUniformMatrix4x2fv;Module["_glUniformMatrix3x4fv"]=_glUniformMatrix3x4fv;Module["_glUniformMatrix4x3fv"]=_glUniformMatrix4x3fv;Module["_glVertexAttribI4iv"]=_glVertexAttribI4iv;Module["_glVertexAttribI4uiv"]=_glVertexAttribI4uiv;Module["_glProgramParameteri"]=_glProgramParameteri;Module["_glGetProgramBinary"]=_glGetProgramBinary;Module["_glProgramBinary"]=_glProgramBinary;Module["_glFramebufferTextureLayer"]=_glFramebufferTextureLayer;Module["_glVertexAttribIPointer"]=_glVertexAttribIPointer;Module["_glDrawRangeElements"]=_glDrawRangeElements;Module["_emscripten_glDrawArraysInstancedBaseInstanceWEBGL"]=_emscripten_glDrawArraysInstancedBaseInstanceWEBGL;Module["_glDrawArraysInstancedBaseInstanceWEBGL"]=_glDrawArraysInstancedBaseInstanceWEBGL;Module["_emscripten_glDrawArraysInstancedBaseInstance"]=_emscripten_glDrawArraysInstancedBaseInstance;Module["_glDrawArraysInstancedBaseInstance"]=_glDrawArraysInstancedBaseInstance;Module["_emscripten_glDrawArraysInstancedBaseInstanceANGLE"]=_emscripten_glDrawArraysInstancedBaseInstanceANGLE;Module["_glDrawArraysInstancedBaseInstanceANGLE"]=_glDrawArraysInstancedBaseInstanceANGLE;Module["_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_glDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL"]=_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL;Module["_glMultiDrawArraysInstancedBaseInstanceWEBGL"]=_glMultiDrawArraysInstancedBaseInstanceWEBGL;Module["_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE"]=_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE;Module["_glMultiDrawArraysInstancedBaseInstanceANGLE"]=_glMultiDrawArraysInstancedBaseInstanceANGLE;Module["_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_glEndTransformFeedback"]=_glEndTransformFeedback;Module["_glPauseTransformFeedback"]=_glPauseTransformFeedback;Module["_glResumeTransformFeedback"]=_glResumeTransformFeedback;Module["_glBeginTransformFeedback"]=_glBeginTransformFeedback;Module["_glReadBuffer"]=_glReadBuffer;Module["_glEndQuery"]=_glEndQuery;Module["_glClearBufferfi"]=_glClearBufferfi;Module["_glVertexAttribI4i"]=_glVertexAttribI4i;Module["_glVertexAttribI4ui"]=_glVertexAttribI4ui;Module["_glCopyBufferSubData"]=_glCopyBufferSubData;Module["_glTexStorage2D"]=_glTexStorage2D;Module["_glRenderbufferStorageMultisample"]=_glRenderbufferStorageMultisample;Module["_glTexStorage3D"]=_glTexStorage3D;Module["_glCopyTexSubImage3D"]=_glCopyTexSubImage3D;Module["_glBlitFramebuffer"]=_glBlitFramebuffer;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["allocate"]=allocate;Module["writeStringToMemory"]=writeStringToMemory;Module["writeAsciiToMemory"]=writeAsciiToMemory;Module["allocateUTF8"]=allocateUTF8;Module["allocateUTF8OnStack"]=allocateUTF8OnStack;Module["demangle"]=demangle;Module["stackTrace"]=stackTrace;Module["print"]=print;Module["printErr"]=printErr;Module["jstoi_s"]=jstoi_s;Module["getNativeTypeSize"]=getNativeTypeSize;Module["_emscripten_is_main_browser_thread"]=_emscripten_is_main_browser_thread;Module["webSockets"]=webSockets;Module["WS"]=WS;Module["_emscripten_websocket_get_ready_state"]=_emscripten_websocket_get_ready_state;Module["_emscripten_websocket_get_buffered_amount"]=_emscripten_websocket_get_buffered_amount;Module["_emscripten_websocket_get_extensions"]=_emscripten_websocket_get_extensions;Module["_emscripten_websocket_get_extensions_length"]=_emscripten_websocket_get_extensions_length;Module["_emscripten_websocket_get_protocol"]=_emscripten_websocket_get_protocol;Module["_emscripten_websocket_get_protocol_length"]=_emscripten_websocket_get_protocol_length;Module["_emscripten_websocket_get_url"]=_emscripten_websocket_get_url;Module["_emscripten_websocket_get_url_length"]=_emscripten_websocket_get_url_length;Module["_emscripten_websocket_set_onopen_callback_on_thread"]=_emscripten_websocket_set_onopen_callback_on_thread;Module["_emscripten_websocket_set_onerror_callback_on_thread"]=_emscripten_websocket_set_onerror_callback_on_thread;Module["_emscripten_websocket_set_onclose_callback_on_thread"]=_emscripten_websocket_set_onclose_callback_on_thread;Module["_emscripten_websocket_set_onmessage_callback_on_thread"]=_emscripten_websocket_set_onmessage_callback_on_thread;Module["_emscripten_websocket_new"]=_emscripten_websocket_new;Module["_emscripten_websocket_send_utf8_text"]=_emscripten_websocket_send_utf8_text;Module["_emscripten_websocket_send_binary"]=_emscripten_websocket_send_binary;Module["_emscripten_websocket_close"]=_emscripten_websocket_close;Module["_emscripten_websocket_delete"]=_emscripten_websocket_delete;Module["_emscripten_websocket_is_supported"]=_emscripten_websocket_is_supported;Module["_emscripten_websocket_deinitialize"]=_emscripten_websocket_deinitialize;Module["writeGLArray"]=writeGLArray;Module["webglPowerPreferences"]=webglPowerPreferences;Module["_emscripten_webgl_create_context"]=_emscripten_webgl_create_context;Module["_emscripten_webgl_do_create_context"]=_emscripten_webgl_do_create_context;Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;Module["_emscripten_webgl_do_get_current_context"]=_emscripten_webgl_do_get_current_context;Module["_emscripten_webgl_commit_frame"]=_emscripten_webgl_commit_frame;Module["_emscripten_webgl_do_commit_frame"]=_emscripten_webgl_do_commit_frame;Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;Module["_emscripten_webgl_get_drawing_buffer_size"]=_emscripten_webgl_get_drawing_buffer_size;Module["_emscripten_webgl_get_context_attributes"]=_emscripten_webgl_get_context_attributes;Module["_emscripten_webgl_destroy_context"]=_emscripten_webgl_destroy_context;Module["_emscripten_webgl_enable_extension"]=_emscripten_webgl_enable_extension;Module["_emscripten_supports_offscreencanvas"]=_emscripten_supports_offscreencanvas;Module["registerWebGlEventCallback"]=registerWebGlEventCallback;Module["_emscripten_set_webglcontextlost_callback_on_thread"]=_emscripten_set_webglcontextlost_callback_on_thread;Module["_emscripten_set_webglcontextrestored_callback_on_thread"]=_emscripten_set_webglcontextrestored_callback_on_thread;Module["_emscripten_is_webgl_context_lost"]=_emscripten_is_webgl_context_lost;Module["_emscripten_webgl_get_supported_extensions"]=_emscripten_webgl_get_supported_extensions;Module["_emscripten_webgl_get_program_parameter_d"]=_emscripten_webgl_get_program_parameter_d;Module["_emscripten_webgl_get_program_info_log_utf8"]=_emscripten_webgl_get_program_info_log_utf8;Module["_emscripten_webgl_get_shader_parameter_d"]=_emscripten_webgl_get_shader_parameter_d;Module["_emscripten_webgl_get_shader_info_log_utf8"]=_emscripten_webgl_get_shader_info_log_utf8;Module["_emscripten_webgl_get_shader_source_utf8"]=_emscripten_webgl_get_shader_source_utf8;Module["_emscripten_webgl_get_vertex_attrib_d"]=_emscripten_webgl_get_vertex_attrib_d;Module["_emscripten_webgl_get_vertex_attrib_o"]=_emscripten_webgl_get_vertex_attrib_o;Module["_emscripten_webgl_get_vertex_attrib_v"]=_emscripten_webgl_get_vertex_attrib_v;Module["_emscripten_webgl_get_uniform_d"]=_emscripten_webgl_get_uniform_d;Module["_emscripten_webgl_get_uniform_v"]=_emscripten_webgl_get_uniform_v;Module["_emscripten_webgl_get_parameter_v"]=_emscripten_webgl_get_parameter_v;Module["_emscripten_webgl_get_parameter_d"]=_emscripten_webgl_get_parameter_d;Module["_emscripten_webgl_get_parameter_o"]=_emscripten_webgl_get_parameter_o;Module["_emscripten_webgl_get_parameter_utf8"]=_emscripten_webgl_get_parameter_utf8;Module["_emscripten_webgl_get_parameter_i64v"]=_emscripten_webgl_get_parameter_i64v;Module["EGL"]=EGL;Module["_eglGetDisplay"]=_eglGetDisplay;Module["_eglInitialize"]=_eglInitialize;Module["_eglTerminate"]=_eglTerminate;Module["_eglGetConfigs"]=_eglGetConfigs;Module["_eglChooseConfig"]=_eglChooseConfig;Module["_eglGetConfigAttrib"]=_eglGetConfigAttrib;Module["_eglCreateWindowSurface"]=_eglCreateWindowSurface;Module["_eglDestroySurface"]=_eglDestroySurface;Module["_eglCreateContext"]=_eglCreateContext;Module["_eglDestroyContext"]=_eglDestroyContext;Module["_eglQuerySurface"]=_eglQuerySurface;Module["_eglQueryContext"]=_eglQueryContext;Module["_eglGetError"]=_eglGetError;Module["_eglQueryString"]=_eglQueryString;Module["_eglBindAPI"]=_eglBindAPI;Module["_eglQueryAPI"]=_eglQueryAPI;Module["_eglWaitClient"]=_eglWaitClient;Module["_eglWaitNative"]=_eglWaitNative;Module["_eglWaitGL"]=_eglWaitGL;Module["_eglSwapInterval"]=_eglSwapInterval;Module["_eglMakeCurrent"]=_eglMakeCurrent;Module["_eglGetCurrentContext"]=_eglGetCurrentContext;Module["_eglGetCurrentSurface"]=_eglGetCurrentSurface;Module["_eglGetCurrentDisplay"]=_eglGetCurrentDisplay;Module["_eglSwapBuffers"]=_eglSwapBuffers;Module["_eglReleaseThread"]=_eglReleaseThread;Module["SDL"]=SDL;Module["_SDL_GetTicks"]=_SDL_GetTicks;Module["_SDL_LockSurface"]=_SDL_LockSurface;Module["_SDL_Linked_Version"]=_SDL_Linked_Version;Module["_SDL_Init"]=_SDL_Init;Module["_SDL_WasInit"]=_SDL_WasInit;Module["_SDL_GetVideoInfo"]=_SDL_GetVideoInfo;Module["_SDL_ListModes"]=_SDL_ListModes;Module["_SDL_VideoModeOK"]=_SDL_VideoModeOK;Module["_SDL_AudioDriverName"]=_SDL_AudioDriverName;Module["_SDL_VideoDriverName"]=_SDL_VideoDriverName;Module["_SDL_SetVideoMode"]=_SDL_SetVideoMode;Module["_SDL_GetVideoSurface"]=_SDL_GetVideoSurface;Module["_SDL_AudioQuit"]=_SDL_AudioQuit;Module["_SDL_VideoQuit"]=_SDL_VideoQuit;Module["_SDL_QuitSubSystem"]=_SDL_QuitSubSystem;Module["_SDL_Quit"]=_SDL_Quit;Module["_SDL_UnlockSurface"]=_SDL_UnlockSurface;Module["_SDL_Flip"]=_SDL_Flip;Module["_SDL_UpdateRect"]=_SDL_UpdateRect;Module["_SDL_UpdateRects"]=_SDL_UpdateRects;Module["_SDL_Delay"]=_SDL_Delay;Module["_SDL_WM_SetCaption"]=_SDL_WM_SetCaption;Module["_SDL_EnableKeyRepeat"]=_SDL_EnableKeyRepeat;Module["_SDL_GetKeyboardState"]=_SDL_GetKeyboardState;Module["_SDL_GetKeyState"]=_SDL_GetKeyState;Module["_SDL_GetKeyName"]=_SDL_GetKeyName;Module["_SDL_GetModState"]=_SDL_GetModState;Module["_SDL_GetMouseState"]=_SDL_GetMouseState;Module["_SDL_WarpMouse"]=_SDL_WarpMouse;Module["_SDL_ShowCursor"]=_SDL_ShowCursor;Module["_SDL_GetError"]=_SDL_GetError;Module["_SDL_SetError"]=_SDL_SetError;Module["_SDL_CreateRGBSurface"]=_SDL_CreateRGBSurface;Module["_SDL_CreateRGBSurfaceFrom"]=_SDL_CreateRGBSurfaceFrom;Module["_SDL_ConvertSurface"]=_SDL_ConvertSurface;Module["_SDL_DisplayFormat"]=_SDL_DisplayFormat;Module["_SDL_DisplayFormatAlpha"]=_SDL_DisplayFormatAlpha;Module["_SDL_FreeSurface"]=_SDL_FreeSurface;Module["_SDL_UpperBlit"]=_SDL_UpperBlit;Module["_SDL_UpperBlitScaled"]=_SDL_UpperBlitScaled;Module["_SDL_LowerBlit"]=_SDL_LowerBlit;Module["_SDL_LowerBlitScaled"]=_SDL_LowerBlitScaled;Module["_SDL_GetClipRect"]=_SDL_GetClipRect;Module["_SDL_SetClipRect"]=_SDL_SetClipRect;Module["_SDL_FillRect"]=_SDL_FillRect;Module["_zoomSurface"]=_zoomSurface;Module["_rotozoomSurface"]=_rotozoomSurface;Module["_SDL_SetAlpha"]=_SDL_SetAlpha;Module["_SDL_SetColorKey"]=_SDL_SetColorKey;Module["_SDL_PollEvent"]=_SDL_PollEvent;Module["_SDL_PushEvent"]=_SDL_PushEvent;Module["_SDL_PeepEvents"]=_SDL_PeepEvents;Module["_SDL_PumpEvents"]=_SDL_PumpEvents;Module["_emscripten_SDL_SetEventHandler"]=_emscripten_SDL_SetEventHandler;Module["_SDL_SetColors"]=_SDL_SetColors;Module["_SDL_SetPalette"]=_SDL_SetPalette;Module["_SDL_MapRGB"]=_SDL_MapRGB;Module["_SDL_MapRGBA"]=_SDL_MapRGBA;Module["_SDL_GetRGB"]=_SDL_GetRGB;Module["_SDL_GetRGBA"]=_SDL_GetRGBA;Module["_SDL_GetAppState"]=_SDL_GetAppState;Module["_SDL_WM_GrabInput"]=_SDL_WM_GrabInput;Module["_SDL_WM_ToggleFullScreen"]=_SDL_WM_ToggleFullScreen;Module["_IMG_Init"]=_IMG_Init;Module["_IMG_Load_RW"]=_IMG_Load_RW;Module["_SDL_FreeRW"]=_SDL_FreeRW;Module["_SDL_LoadBMP_RW"]=_SDL_LoadBMP_RW;Module["_IMG_Load"]=_IMG_Load;Module["_SDL_RWFromFile"]=_SDL_RWFromFile;Module["_IMG_Quit"]=_IMG_Quit;Module["_SDL_OpenAudio"]=_SDL_OpenAudio;Module["_SDL_PauseAudio"]=_SDL_PauseAudio;Module["_SDL_CloseAudio"]=_SDL_CloseAudio;Module["_SDL_LockAudio"]=_SDL_LockAudio;Module["_SDL_UnlockAudio"]=_SDL_UnlockAudio;Module["_SDL_CreateMutex"]=_SDL_CreateMutex;Module["_SDL_mutexP"]=_SDL_mutexP;Module["_SDL_mutexV"]=_SDL_mutexV;Module["_SDL_DestroyMutex"]=_SDL_DestroyMutex;Module["_SDL_CreateCond"]=_SDL_CreateCond;Module["_SDL_CondSignal"]=_SDL_CondSignal;Module["_SDL_CondWait"]=_SDL_CondWait;Module["_SDL_DestroyCond"]=_SDL_DestroyCond;Module["_SDL_StartTextInput"]=_SDL_StartTextInput;Module["_SDL_StopTextInput"]=_SDL_StopTextInput;Module["_Mix_Init"]=_Mix_Init;Module["_Mix_Quit"]=_Mix_Quit;Module["_Mix_OpenAudio"]=_Mix_OpenAudio;Module["_Mix_CloseAudio"]=_Mix_CloseAudio;Module["_Mix_AllocateChannels"]=_Mix_AllocateChannels;Module["_Mix_ChannelFinished"]=_Mix_ChannelFinished;Module["_Mix_Volume"]=_Mix_Volume;Module["_Mix_SetPanning"]=_Mix_SetPanning;Module["_Mix_LoadWAV_RW"]=_Mix_LoadWAV_RW;Module["_Mix_LoadWAV"]=_Mix_LoadWAV;Module["_Mix_QuickLoad_RAW"]=_Mix_QuickLoad_RAW;Module["_Mix_FreeChunk"]=_Mix_FreeChunk;Module["_Mix_ReserveChannels"]=_Mix_ReserveChannels;Module["_Mix_PlayChannelTimed"]=_Mix_PlayChannelTimed;Module["_Mix_HaltChannel"]=_Mix_HaltChannel;Module["_Mix_FadingChannel"]=_Mix_FadingChannel;Module["_Mix_HookMusicFinished"]=_Mix_HookMusicFinished;Module["_Mix_HaltMusic"]=_Mix_HaltMusic;Module["_Mix_VolumeMusic"]=_Mix_VolumeMusic;Module["_Mix_LoadMUS_RW"]=_Mix_LoadMUS_RW;Module["_Mix_LoadMUS"]=_Mix_LoadMUS;Module["_Mix_FreeMusic"]=_Mix_FreeMusic;Module["_Mix_PlayMusic"]=_Mix_PlayMusic;Module["_Mix_PauseMusic"]=_Mix_PauseMusic;Module["_Mix_ResumeMusic"]=_Mix_ResumeMusic;Module["_Mix_FadeInMusicPos"]=_Mix_FadeInMusicPos;Module["_Mix_FadeOutMusic"]=_Mix_FadeOutMusic;Module["_Mix_PlayingMusic"]=_Mix_PlayingMusic;Module["_Mix_Playing"]=_Mix_Playing;Module["_Mix_Pause"]=_Mix_Pause;Module["_Mix_Paused"]=_Mix_Paused;Module["_Mix_PausedMusic"]=_Mix_PausedMusic;Module["_Mix_Resume"]=_Mix_Resume;Module["_TTF_Init"]=_TTF_Init;Module["_TTF_OpenFont"]=_TTF_OpenFont;Module["_TTF_CloseFont"]=_TTF_CloseFont;Module["_TTF_RenderText_Solid"]=_TTF_RenderText_Solid;Module["_TTF_RenderText_Blended"]=_TTF_RenderText_Blended;Module["_TTF_RenderText_Shaded"]=_TTF_RenderText_Shaded;Module["_TTF_RenderUTF8_Solid"]=_TTF_RenderUTF8_Solid;Module["_TTF_SizeUTF8"]=_TTF_SizeUTF8;Module["_TTF_SizeText"]=_TTF_SizeText;Module["_TTF_GlyphMetrics"]=_TTF_GlyphMetrics;Module["_TTF_FontAscent"]=_TTF_FontAscent;Module["_TTF_FontDescent"]=_TTF_FontDescent;Module["_TTF_FontHeight"]=_TTF_FontHeight;Module["_TTF_FontLineSkip"]=_TTF_FontLineSkip;Module["_TTF_Quit"]=_TTF_Quit;Module["SDL_gfx"]=SDL_gfx;Module["_boxColor"]=_boxColor;Module["_boxRGBA"]=_boxRGBA;Module["_rectangleColor"]=_rectangleColor;Module["_rectangleRGBA"]=_rectangleRGBA;Module["_ellipseColor"]=_ellipseColor;Module["_ellipseRGBA"]=_ellipseRGBA;Module["_filledEllipseColor"]=_filledEllipseColor;Module["_filledEllipseRGBA"]=_filledEllipseRGBA;Module["_lineColor"]=_lineColor;Module["_lineRGBA"]=_lineRGBA;Module["_pixelRGBA"]=_pixelRGBA;Module["_SDL_GL_SetAttribute"]=_SDL_GL_SetAttribute;Module["_SDL_GL_GetAttribute"]=_SDL_GL_GetAttribute;Module["_SDL_GL_SwapBuffers"]=_SDL_GL_SwapBuffers;Module["_SDL_GL_ExtensionSupported"]=_SDL_GL_ExtensionSupported;Module["_SDL_DestroyWindow"]=_SDL_DestroyWindow;Module["_SDL_DestroyRenderer"]=_SDL_DestroyRenderer;Module["_SDL_GetWindowFlags"]=_SDL_GetWindowFlags;Module["_SDL_GL_SwapWindow"]=_SDL_GL_SwapWindow;Module["_SDL_GL_MakeCurrent"]=_SDL_GL_MakeCurrent;Module["_SDL_GL_DeleteContext"]=_SDL_GL_DeleteContext;Module["_SDL_GL_GetSwapInterval"]=_SDL_GL_GetSwapInterval;Module["_SDL_GL_SetSwapInterval"]=_SDL_GL_SetSwapInterval;Module["_SDL_SetWindowTitle"]=_SDL_SetWindowTitle;Module["_SDL_GetWindowSize"]=_SDL_GetWindowSize;Module["_SDL_LogSetOutputFunction"]=_SDL_LogSetOutputFunction;Module["_SDL_SetWindowFullscreen"]=_SDL_SetWindowFullscreen;Module["_SDL_ClearError"]=_SDL_ClearError;Module["_SDL_SetGamma"]=_SDL_SetGamma;Module["_SDL_SetGammaRamp"]=_SDL_SetGammaRamp;Module["_SDL_NumJoysticks"]=_SDL_NumJoysticks;Module["_SDL_JoystickName"]=_SDL_JoystickName;Module["_SDL_JoystickOpen"]=_SDL_JoystickOpen;Module["_SDL_JoystickOpened"]=_SDL_JoystickOpened;Module["_SDL_JoystickIndex"]=_SDL_JoystickIndex;Module["_SDL_JoystickNumAxes"]=_SDL_JoystickNumAxes;Module["_SDL_JoystickNumBalls"]=_SDL_JoystickNumBalls;Module["_SDL_JoystickNumHats"]=_SDL_JoystickNumHats;Module["_SDL_JoystickNumButtons"]=_SDL_JoystickNumButtons;Module["_SDL_JoystickUpdate"]=_SDL_JoystickUpdate;Module["_SDL_JoystickEventState"]=_SDL_JoystickEventState;Module["_SDL_JoystickGetAxis"]=_SDL_JoystickGetAxis;Module["_SDL_JoystickGetHat"]=_SDL_JoystickGetHat;Module["_SDL_JoystickGetBall"]=_SDL_JoystickGetBall;Module["_SDL_JoystickGetButton"]=_SDL_JoystickGetButton;Module["_SDL_JoystickClose"]=_SDL_JoystickClose;Module["_SDL_InitSubSystem"]=_SDL_InitSubSystem;Module["_SDL_RWFromConstMem"]=_SDL_RWFromConstMem;Module["_SDL_RWFromMem"]=_SDL_RWFromMem;Module["_SDL_GetNumAudioDrivers"]=_SDL_GetNumAudioDrivers;Module["_SDL_GetCurrentAudioDriver"]=_SDL_GetCurrentAudioDriver;Module["_SDL_GetScancodeFromKey"]=_SDL_GetScancodeFromKey;Module["_SDL_GetAudioDriver"]=_SDL_GetAudioDriver;Module["_SDL_EnableUNICODE"]=_SDL_EnableUNICODE;Module["_SDL_AddTimer"]=_SDL_AddTimer;Module["_SDL_RemoveTimer"]=_SDL_RemoveTimer;Module["_SDL_CreateThread"]=_SDL_CreateThread;Module["_SDL_WaitThread"]=_SDL_WaitThread;Module["_SDL_GetThreadID"]=_SDL_GetThreadID;Module["_SDL_ThreadID"]=_SDL_ThreadID;Module["_SDL_AllocRW"]=_SDL_AllocRW;Module["_SDL_CondBroadcast"]=_SDL_CondBroadcast;Module["_SDL_CondWaitTimeout"]=_SDL_CondWaitTimeout;Module["_SDL_WM_IconifyWindow"]=_SDL_WM_IconifyWindow;Module["_Mix_SetPostMix"]=_Mix_SetPostMix;Module["_Mix_VolumeChunk"]=_Mix_VolumeChunk;Module["_Mix_SetPosition"]=_Mix_SetPosition;Module["_Mix_QuerySpec"]=_Mix_QuerySpec;Module["_Mix_FadeInChannelTimed"]=_Mix_FadeInChannelTimed;Module["_Mix_FadeOutChannel"]=_Mix_FadeOutChannel;Module["_Mix_Linked_Version"]=_Mix_Linked_Version;Module["_SDL_SaveBMP_RW"]=_SDL_SaveBMP_RW;Module["_SDL_WM_SetIcon"]=_SDL_WM_SetIcon;Module["_SDL_HasRDTSC"]=_SDL_HasRDTSC;Module["_SDL_HasMMX"]=_SDL_HasMMX;Module["_SDL_HasMMXExt"]=_SDL_HasMMXExt;Module["_SDL_Has3DNow"]=_SDL_Has3DNow;Module["_SDL_Has3DNowExt"]=_SDL_Has3DNowExt;Module["_SDL_HasSSE"]=_SDL_HasSSE;Module["_SDL_HasSSE2"]=_SDL_HasSSE2;Module["_SDL_HasAltiVec"]=_SDL_HasAltiVec;var ASM_CONSTS={3964040:()=>{throw new Error("intentionally triggered fatal error!")},3964097:()=>{wasmImports["open64"]=wasmImports["open"]},3964146:()=>jspiSupported};function console_error(msg){let jsmsg=UTF8ToString(msg);console.error(jsmsg)}function console_error_obj(obj){console.error(obj)}function new_error(type,msg,err){return new API.PythonError(UTF8ToString(type),msg,err)}new_error.sig="eiei";function fail_test(){API.fail_test=true}fail_test.sig="v";function capture_stderr(){API.capture_stderr()}capture_stderr.sig="v";function restore_stderr(){return API.restore_stderr()}restore_stderr.sig="e";function raw_call_js(func){func()}raw_call_js.sig="ve";function hiwire_invalid_ref_js(type,ref){API.fail_test=!!1;if(type===1&&!ref){if(_PyErr_Occurred()){const e=_wrap_exception();console.error("Pyodide internal error: Argument to hiwire_get is falsy. This was "+"probably because the Python error indicator was set when get_value was "+"called. The Python error that caused this was:",e);throw e}else{const msg="Pyodide internal error: Argument to hiwire_get is falsy (but error "+"indicator is not set).";console.error(msg);throw new Error(msg)}}const typestr={[1]:"get",[2]:"incref",[3]:"decref"}[type];const msg=`hiwire_${typestr} on invalid reference ${ref}. This is most likely due `+"to use after free. It may also be due to memory corruption.";console.error(msg);throw new Error(msg)}hiwire_invalid_ref_js.sig="vii";function set_pyodide_module(mod){API._pyodide=mod}set_pyodide_module.sig="ve";function js2python_immutable_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return 0}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_immutable_js.sig="ie";function js2python_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return _JsProxy_create(value)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_js.sig="ie";function js2python_convert(v,depth,defaultConverter){try{return Module.js2python_convert(v,{depth,defaultConverter})}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_convert.sig="ieie";function JsProxy_GetAttr_js(jsobj,ptrkey){try{const jskey=normalizeReservedWords(UTF8ToString(ptrkey));const result=jsobj[jskey];if(result===undefined&&!(jskey in jsobj)){return Module.error}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetAttr_js.sig="eei";function JsProxy_SetAttr_js(jsobj,ptrkey,jsval){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));jsobj[jskey]=jsval}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_SetAttr_js.sig="ieie";function JsProxy_DelAttr_js(jsobj,ptrkey){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));delete jsobj[jskey]}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_DelAttr_js.sig="iei";function JsProxy_GetIter_js(obj){try{return obj[Symbol.iterator]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetIter_js.sig="ee";function handle_next_result_js(res,done,msg){try{let errmsg;if(typeof res!=="object"){errmsg=`Result should have type "object" not "${typeof res}"`}else if(typeof res.done==="undefined"){if(typeof res.then==="function"){errmsg=`Result was a promise, use anext() / asend() / athrow() instead.`}else{errmsg=`Result has no "done" field.`}}if(errmsg){HEAPU32[(msg>>>2)+0>>>0]=stringToNewUTF8(errmsg);HEAPU32[(done>>>2)+0>>>0]=-1}HEAPU32[(done>>>2)+0>>>0]=res.done;return res.value}catch(e){Module.handle_js_error(e);return-1}return 0}handle_next_result_js.sig="eeii";function JsException_new_helper(name_ptr,message_ptr,stack_ptr){try{let name=UTF8ToString(name_ptr);let message=UTF8ToString(message_ptr);let stack=UTF8ToString(stack_ptr);return API.deserializeError(name,message,stack)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsException_new_helper.sig="eiii";function JsProxy_GetAsyncIter_js(obj){try{return obj[Symbol.asyncIterator]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetAsyncIter_js.sig="ee";function _agen_handle_result_js(p,msg,set_result,set_exception,closing){try{let errmsg;if(typeof p!=="object"){errmsg=`Result of anext() should be object not ${typeof p}`}else if(typeof p.then!=="function"){if(typeof p.done==="boolean"){errmsg=`Result of anext() was not a promise, use next() instead.`}else{errmsg=`Result of anext() was not a promise.`}}if(errmsg){HEAPU32[(msg>>>2)+0>>>0]=stringToNewUTF8(errmsg);return-1}_Py_IncRef(set_result);_Py_IncRef(set_exception);p.then(({done,value})=>{__agen_handle_result_js_c(set_result,set_exception,done,value,closing)},err=>{__agen_handle_result_js_c(set_result,set_exception,-1,err,closing)}).finally(()=>{_Py_DecRef(set_result);_Py_DecRef(set_exception)});return 0}catch(e){Module.handle_js_error(e);return-1}return 0}_agen_handle_result_js.sig="ieiiii";function get_length_helper(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}else{return-2}if(result<0){return-3}if(result>2147483647){return-4}return result}catch(e){Module.handle_js_error(e);return-1}return 0}get_length_helper.sig="ie";function get_length_string(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}return stringToNewUTF8(" "+result.toString())}catch(e){Module.handle_js_error(e);return 0}errNoRet()}get_length_string.sig="ie";function destroy_jsarray_entries(array){for(let v of array){try{if(typeof v.destroy==="function"){v.destroy()}}catch(e){console.warn("Weird error:",e)}}}destroy_jsarray_entries.sig="ve";function JsArray_repeat_js(o,count){try{if(!Array.isArray(o)){o=Array.from(o)}return Array.from({length:count},()=>o).flat()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsArray_repeat_js.sig="eei";function JsArray_inplace_repeat_js(o,count){try{o.splice(0,o.length,...Array.from({length:count},()=>o).flat())}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_inplace_repeat_js.sig="iei";function JsArray_reversed_iterator(array){return new ReversedIterator(array)}class ReversedIterator{constructor(array){this._array=array;this._i=array.length-1}__length_hint__(){return this._array.length}[Symbol.toStringTag](){return"ReverseIterator"}next(){const i=this._i;const a=this._array;const done=i<0;const value=done?undefined:a[i];this._i--;return{done,value}}}JsArray_reversed_iterator.sig="ee";function JsArray_index_js(o,v,start,stop){try{for(let i=start;i<stop;i++){if(o[i]===v){return i}}return-2}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_index_js.sig="ieeii";function JsArray_count_js(o,v){try{let result=0;for(let i=0;i<o.length;i++){if(o[i]===v){result++}}return result}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_count_js.sig="iee";function JsArray_reverse_js(array){try{array.reverse()}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_reverse_js.sig="ie";function JsProxy_subscript_js(obj,key){try{let result=obj.get(key);if(result===undefined){if(obj.has&&typeof obj.has==="function"&&!obj.has(key)){return Module.error}}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_subscript_js.sig="eee";function JsProxy_exit_js(obj){try{obj[Symbol.dispose]()}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_exit_js.sig="ie";function JsProxy_aexit_js(obj){try{return obj[Symbol.asyncDispose]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_aexit_js.sig="ee";function JsMap_GetIter_js(obj){try{let result;if(typeof obj.keys==="function"){result=obj.keys()}else{result=obj[Symbol.iterator]()}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsMap_GetIter_js.sig="ee";function JsMap_clear_js(map){try{if(map&&typeof map.clear==="function"){map.clear();return 1}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}JsMap_clear_js.sig="ie";function JsProxy_Dir_js(jsobj){try{let result=[];do{const names=Object.getOwnPropertyNames(jsobj);result.push(...names.filter(s=>{let c=s.charCodeAt(0);return c<48||c>57}).map(word=>isReservedWord(word.replace(/_*$/,""))?word+"_":word))}while(jsobj=Object.getPrototypeOf(jsobj));return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_Dir_js.sig="ee";function JsProxy_Bool_js(val){try{if(!val){return!!0}if(val.size===0){if(/HTML[A-Za-z]*Element/.test(getTypeTag(val))){return!!1}return!!0}if(val.length===0&&JsvArray_Check(val)){return!!0}if(val.byteLength===0){return!!0}return!!1}catch(e){return!!0}}JsProxy_Bool_js.sig="ie";function JsObjMap_GetIter_js(obj){try{return Module.iterObject(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsObjMap_GetIter_js.sig="ee";function JsObjMap_length_js(obj){try{let length=0;for(let _ of Module.iterObject(obj)){length++}return length}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_length_js.sig="ie";function JsObjMap_subscript_js(obj,key){try{if(!Object.prototype.hasOwnProperty.call(obj,key)){return Module.error}return obj[key]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsObjMap_subscript_js.sig="eee";function JsObjMap_ass_subscript_js(obj,key,value){try{if(value===Module.error){if(!Object.prototype.hasOwnProperty.call(obj,key)){return-1}delete obj[key]}else{obj[key]=value}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_ass_subscript_js.sig="ieee";function JsObjMap_contains_js(obj,key){try{return Object.prototype.hasOwnProperty.call(obj,key)}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_contains_js.sig="iee";function JsModule_GetAll_js(o){try{return Object.getOwnPropertyNames(o)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsModule_GetAll_js.sig="ee";function JsBuffer_DecodeString_js(buffer,encoding){try{let encoding_js;if(encoding){encoding_js=UTF8ToString(encoding)}const decoder=new TextDecoder(encoding_js,{fatal:!!1,ignoreBOM:!!1});let res;try{res=decoder.decode(buffer)}catch(e){if(e instanceof TypeError){return Module.error}throw e}return res}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsBuffer_DecodeString_js.sig="eei";function JsBuffer_get_info(jsobj,byteLength_ptr,format_ptr,size_ptr,checked_ptr){const[format_utf8,size,checked]=Module.get_buffer_datatype(jsobj);HEAPU32[(byteLength_ptr>>>2)+0>>>0]=jsobj.byteLength;HEAPU32[(format_ptr>>>2)+0>>>0]=format_utf8;HEAPU32[(size_ptr>>>2)+0>>>0]=size;HEAPU8[(checked_ptr>>>0)+0>>>0]=checked}JsBuffer_get_info.sig="veiiii";function JsDoubleProxy_unwrap_js(id){try{return Module.PyProxy_getPtr(id)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}JsDoubleProxy_unwrap_js.sig="ie";function JsProxy_to_weakref_js(pyproxy){try{return new WeakRef(pyproxy)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_to_weakref_js.sig="ee";function JsProxy_compute_typeflags(obj,is_py_json){try{let type_flags=0;if(API.isPyProxy(obj)&&!pyproxyIsAlive(obj)){return 0}const typeTag=getTypeTag(obj);function safeBool(cb){try{return cb()}catch(e){return!!0}}const isBufferView=safeBool(()=>ArrayBuffer.isView(obj));const isArray=safeBool(()=>Array.isArray(obj));const constructorName=safeBool(()=>obj.constructor.name)||"";const hasLength=isArray||hasProperty(obj,"length")&&typeof obj!=="function";if(typeof obj==="function"){type_flags|=1<<11}if(hasMethod(obj,"then")){type_flags|=1<<9}if(hasMethod(obj,Symbol.iterator)){type_flags|=1<<0}if(hasMethod(obj,Symbol.asyncIterator)){type_flags|=1<<17}if(hasMethod(obj,"next")&&(hasMethod(obj,Symbol.iterator)||!hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<1}if(hasMethod(obj,"next")&&(!hasMethod(obj,Symbol.iterator)||hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<20}if(hasLength||hasProperty(obj,"size")){type_flags|=1<<2}if(hasMethod(obj,"get")){type_flags|=1<<3}if(hasMethod(obj,"set")){type_flags|=1<<4}if(hasMethod(obj,"has")){type_flags|=1<<5}if(hasMethod(obj,"includes")){type_flags|=1<<6}if(Symbol.asyncDispose){if(hasMethod(obj,Symbol.dispose)){type_flags|=1<<7}if(hasMethod(obj,Symbol.asyncDispose)){type_flags|=1<<8}}if((isBufferView||typeTag==="[object ArrayBuffer]")&&!(type_flags&1<<11)){type_flags|=1<<10}if(API.isPyProxy(obj)){type_flags|=1<<15}if(isArray){type_flags|=1<<12}if(isBufferView&&typeTag!=="[object DataView]"){type_flags|=1<<14}if(!isArray&&hasLength&&type_flags&1<<0&&!(type_flags&(1<<1|1<<14))){type_flags|=1<<13}if(typeTag==="[object Generator]"){type_flags|=1<<18}if(typeTag==="[object AsyncGenerator]"){type_flags|=1<<19}if(hasProperty(obj,"name")&&hasProperty(obj,"message")&&(hasProperty(obj,"stack")||constructorName==="DOMException")&&!(type_flags&(1<<11|1<<10))){type_flags|=1<<21}if(is_py_json&&type_flags&(1<<12|1<<13|1<<1)){type_flags|=1<<23}if(is_py_json&&!(type_flags&(1<<12|1<<14|1<<13|1<<10|1<<15|1<<1|1<<11|1<<21))){type_flags|=1<<22}return type_flags}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_compute_typeflags.sig="iei";function is_comlink_proxy(obj){try{return!!(API.Comlink&&value[API.Comlink.createEndpoint])}catch(e){return!!0}}is_comlink_proxy.sig="ie";function can_run_sync_js(){return!!validSuspender.value}can_run_sync_js.sig="i";function my_dict_converter(){return Object.fromEntries}my_dict_converter.sig="e";function get_async_js_call_done_callback(proxies){try{return function(result){let msg="This borrowed proxy was automatically destroyed "+"at the end of an asynchronous function call. Try "+"using create_proxy or create_once_callable.";for(let px of proxies){Module.pyproxy_destroy(px,msg,!!0)}if(API.isPyProxy(result)){Module.pyproxy_destroy(result,msg,!!0)}}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}get_async_js_call_done_callback.sig="ee";function wrap_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when a generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"Generator"},[Symbol.iterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}wrap_generator.sig="eee";function wrap_async_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when an asynchronous generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return async function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=await gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"AsyncGenerator"},[Symbol.asyncIterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}wrap_async_generator.sig="eee";function throw_no_gil(){throw new API.NoGilError("Attempted to use PyProxy when Python GIL not held")}throw_no_gil.sig="v";function pyproxy_Check(val){return API.isPyProxy(val)}pyproxy_Check.sig="ie";function pyproxy_AsPyObject(val){if(!API.isPyProxy(val)||!pyproxyIsAlive(val)){return 0}return Module.PyProxy_getPtr(val)}pyproxy_AsPyObject.sig="ie";function destroy_proxies(proxies,msg_ptr){let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}for(let px of proxies){Module.pyproxy_destroy(px,msg,false)}}destroy_proxies.sig="vei";function gc_register_proxies(proxies){for(let px of proxies){Module.gc_register_proxy(Module.PyProxy_getAttrs(px).shared)}}gc_register_proxies.sig="ve";function destroy_proxy(px,msg_ptr){const{shared,props}=Module.PyProxy_getAttrsQuiet(px);if(!shared.ptr){return}if(props.roundtrip){return}let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}Module.pyproxy_destroy(px,msg,false)}destroy_proxy.sig="vei";function proxy_cache_get(proxyCache,descr){const proxy=proxyCache.get(descr);if(!proxy){return Module.error}if(pyproxyIsAlive(proxy)){return proxy}else{proxyCache.delete(descr);return Module.error}}proxy_cache_get.sig="eei";function proxy_cache_set(proxyCache,descr,proxy){proxyCache.set(descr,proxy)}proxy_cache_set.sig="veie";function _pyproxyGen_make_result(done,value){return{done:!!done,value}}_pyproxyGen_make_result.sig="eie";function array_to_js(array,len){return Array.from(HEAP32.subarray(array/4>>>0,array/4+len>>>0))}array_to_js.sig="eii";function _pyproxy_get_buffer_result(start_ptr,smallest_ptr,largest_ptr,readonly,format,itemsize,shape,strides,view,c_contiguous,f_contiguous,sentinel){format=UTF8ToString(format);return{start_ptr,smallest_ptr,largest_ptr,readonly,format,itemsize,shape,strides,view,c_contiguous,f_contiguous}}_pyproxy_get_buffer_result.sig="eiiiiiieeiiii";function pyproxy_new_ex(ptrobj,capture_this,roundtrip,gcRegister,jsonAdaptor){try{return Module.pyproxy_new(ptrobj,{props:{captureThis:!!capture_this,roundtrip:!!roundtrip},gcRegister,jsonAdaptor})}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}pyproxy_new_ex.sig="eiiiii";function pyproxy_new(ptrobj){try{return Module.pyproxy_new(ptrobj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}pyproxy_new.sig="ei";function create_once_callable(obj,may_syncify){try{_Py_IncRef(obj);let alreadyCalled=!!0;function wrapper(...args){if(alreadyCalled){throw new Error("OnceProxy can only be called once")}try{if(may_syncify){return Module.callPyObjectMaybePromising(obj,args)}else{return Module.callPyObject(obj,args)}}finally{wrapper.destroy()}}wrapper.destroy=function(){if(alreadyCalled){throw new Error("OnceProxy has already been destroyed")}alreadyCalled=!!1;Module.finalizationRegistry.unregister(wrapper);_Py_DecRef(obj)};Module.finalizationRegistry.register(wrapper,{ptr:obj},wrapper);return wrapper}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}create_once_callable.sig="eii";function create_promise_handles(handle_result,handle_exception,done_callback,js2py_converter){try{if(handle_result){_Py_IncRef(handle_result)}if(handle_exception){_Py_IncRef(handle_exception)}if(js2py_converter){_Py_IncRef(js2py_converter)}if(!done_callback){done_callback=x=>{}}let used=!!0;function checkUsed(){if(used){throw new Error("One of the promise handles has already been called.")}}function destroy(){checkUsed();used=!!1;if(handle_result){_Py_DecRef(handle_result)}if(handle_exception){_Py_DecRef(handle_exception)}if(js2py_converter){_Py_DecRef(js2py_converter)}}function onFulfilled(res){checkUsed();try{if(handle_result){return _create_promise_handles_result_helper(handle_result,js2py_converter,res)}}finally{done_callback(res);destroy()}}function onRejected(err){checkUsed();try{if(handle_exception){return Module.callPyObjectMaybePromising(handle_exception,[err])}}finally{done_callback(undefined);destroy()}}onFulfilled.destroy=destroy;onRejected.destroy=destroy;return[onFulfilled,onRejected]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}create_promise_handles.sig="eiiei";function _python2js_buffer_inner(buf,itemsize,ndim,format,shape,strides,suboffsets){try{let converter=Module.get_converter(format,itemsize);return Module._python2js_buffer_recursive(buf,0,{ndim,format,itemsize,shape,strides,suboffsets,converter})}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_buffer_inner.sig="eiiiiiii";function jslib_init_js(){try{HEAP32[_Jsr_undefined/4>>>0]=_hiwire_intern(undefined);HEAP32[_Jsr_true/4>>>0]=_hiwire_intern(true);HEAP32[_Jsr_false/4>>>0]=_hiwire_intern(false);HEAP32[_Jsr_error/4>>>0]=_hiwire_intern(_Jsv_GetError());HEAP32[_Jsr_novalue/4>>>0]=_hiwire_intern({noValueMarker:1});Module.novalue=_hiwire_get(HEAP32[_Jsr_novalue/4>>>0]);Module.error=_hiwire_get(HEAP32[_Jsr_error/4>>>0]);Hiwire.num_keys=_hiwire_num_refs;return 0}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_js.sig="i";function JsvNoValue_Check(v){return v===Module.novalue}JsvNoValue_Check.sig="ie";function JsvBigInt_fromInt(x){return BigInt(x)}JsvBigInt_fromInt.sig="ei";function JsvNum_fromInt(x){return x}JsvNum_fromInt.sig="ei";function JsvNum_fromDouble(val){return val}JsvNum_fromDouble.sig="ed";function JsvNum_toInt(v){return v}JsvNum_toInt.sig="ie";function JsvBigInt_fromDigits(digits,ndigits){let result=BigInt(0);for(let i=0;i<ndigits;i++){result+=BigInt(HEAPU32[(digits>>>2)+i>>>0])<<BigInt(32*i)}result+=BigInt(HEAPU32[(digits>>>2)+ndigits-1>>>0]&2147483648)<<BigInt(1+32*(ndigits-1));return result}JsvBigInt_fromDigits.sig="eii";function Jsv_BigIntToNum(x){if(-Number.MAX_SAFE_INTEGER<x&&x<Number.MAX_SAFE_INTEGER){return Number(x)}return x}Jsv_BigIntToNum.sig="ee";function Jsv_to_bool(x){return!!x}Jsv_to_bool.sig="ie";function Jsv_typeof(x){return typeof x}Jsv_typeof.sig="ee";function Jsv_constructorName(obj){try{return stringToNewUTF8(obj.constructor.name)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}Jsv_constructorName.sig="ie";function JsvUTF8ToString(ptr){return UTF8ToString(ptr)}JsvUTF8ToString.sig="ei";function JsvArray_New(){return[]}JsvArray_New.sig="e";function JsvArray_Check(obj){try{if(Array.isArray(obj)){return true}let typeTag=getTypeTag(obj);if(typeTag==="[object HTMLCollection]"||typeTag==="[object NodeList]"){return true}if(ArrayBuffer.isView(obj)&&obj.constructor.name!=="DataView"){return true}return false}catch(e){return false}}JsvArray_Check.sig="ie";function JsvArray_Get(arr,idx){try{const result=arr[idx];if(result===undefined&&!(idx in arr)){return Module.error}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_Get.sig="eei";function JsvArray_Set(arr,idx,val){try{arr[idx]=val}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_Set.sig="ieie";function JsvArray_Delete(arr,idx){try{if(idx<0||idx>=arr.length){return Module.error}return arr.splice(idx,1)[0]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_Delete.sig="eei";function JsvArray_Push(arr,obj){return arr.push(obj)}JsvArray_Push.sig="iee";function JsvArray_Extend(arr,vals){arr.push(...vals)}JsvArray_Extend.sig="vee";function JsvArray_Insert(arr,idx,value){try{arr.splice(idx,0,value)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_Insert.sig="ieie";function JsvArray_ShallowCopy(arr){try{return"slice"in arr?arr.slice():Array.from(arr)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_ShallowCopy.sig="ee";function JsvArray_slice(obj,length,start,stop,step){try{let result;if(step===1&&obj.slice){result=obj.slice(start,stop)}else{result=Array.from({length},(_,i)=>obj[start+i*step])}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_slice.sig="eeiiii";function JsvArray_slice_assign(obj,slicelength,start,stop,step,values_length,values){try{let jsvalues=[];for(let i=0;i<values_length;i++){const ref=_python2js(HEAPU32[(values>>>2)+i>>>0]);if(ref===Module.error){return-1}jsvalues.push(ref)}if(step===1){obj.splice(start,slicelength,...jsvalues)}else{if(values!==0){for(let i=0;i<slicelength;i++){obj.splice(start+i*step,1,jsvalues[i])}}else{for(let i=slicelength-1;i>=0;i--){obj.splice(start+i*step,1)}}}}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_slice_assign.sig="ieiiiiii";function JsvObject_New(){return{}}JsvObject_New.sig="e";function JsvObject_SetAttr(obj,attr,value){try{obj[attr]=value}catch(e){Module.handle_js_error(e);return-1}return 0}JsvObject_SetAttr.sig="ieee";function JsvObject_Entries(obj){try{return Object.entries(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Entries.sig="ee";function JsvObject_Keys(obj){try{return Object.keys(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Keys.sig="ee";function JsvObject_Values(obj){try{return Object.values(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Values.sig="ee";function JsvObject_toString(obj){try{if(hasMethod(obj,"toString")){return obj.toString()}return Object.prototype.toString.call(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_toString.sig="ee";function JsvObject_CallMethod(obj,meth,args){try{return obj[meth](...args)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod.sig="eeee";function JsvObject_CallMethod_NoArgs(obj,meth){try{return obj[meth]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_NoArgs.sig="eee";function JsvObject_CallMethod_OneArg(obj,meth,arg){try{return obj[meth](arg)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_OneArg.sig="eeee";function JsvObject_CallMethod_TwoArgs(obj,meth,arg1,arg2){try{return obj[meth](arg1,arg2)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_TwoArgs.sig="eeeee";function JsvFunction_Check(obj){try{return typeof obj==="function"}catch(e){return false}}JsvFunction_Check.sig="ie";function JsvFunction_CallBound(func,this_,args){try{return Function.prototype.apply.apply(func,[this_,args])}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_CallBound.sig="eeee";function JsvFunction_Call_OneArg(func,arg){try{return func(arg)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_Call_OneArg.sig="eee";function JsvFunction_Construct(func,args){try{return Reflect.construct(func,args)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_Construct.sig="eee";function JsvPromise_Check(obj){try{return isPromise(obj)}catch(e){return false}}JsvPromise_Check.sig="ie";function JsvPromise_Resolve(obj){try{return Promise.resolve(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvPromise_Resolve.sig="ee";function jslib_init_buffers_js(){try{const dtypes_str=Array.from("bBhHiIqQfd").join(String.fromCharCode(0));const dtypes_ptr=stringToNewUTF8(dtypes_str);const dtypes_map=Object.fromEntries(Object.entries(dtypes_str).map(([idx,val])=>[val,dtypes_ptr+ +idx]));const buffer_datatype_map=new Map([["Int8Array",[dtypes_map["b"],1,true]],["Uint8Array",[dtypes_map["B"],1,true]],["Uint8ClampedArray",[dtypes_map["B"],1,true]],["Int16Array",[dtypes_map["h"],2,true]],["Uint16Array",[dtypes_map["H"],2,true]],["Int32Array",[dtypes_map["i"],4,true]],["Uint32Array",[dtypes_map["I"],4,true]],["Float32Array",[dtypes_map["f"],4,true]],["Float64Array",[dtypes_map["d"],8,true]],["BigInt64Array",[dtypes_map["q"],8,true]],["BigUint64Array",[dtypes_map["Q"],8,true]],["DataView",[dtypes_map["B"],1,false]],["ArrayBuffer",[dtypes_map["B"],1,false]]]);Module.get_buffer_datatype=function(jsobj){return buffer_datatype_map.get(jsobj.constructor.name)||[0,0,false]}}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_buffers_js.sig="i";function JsvBuffer_assignToPtr(buf,ptr){try{Module.HEAPU8.set(bufferAsUint8Array(buf),ptr)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignToPtr.sig="iei";function JsvBuffer_assignFromPtr(buf,ptr){try{bufferAsUint8Array(buf).set(Module.HEAPU8.subarray(ptr,ptr+buf.byteLength))}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignFromPtr.sig="iei";function JsvBuffer_readFromFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.read(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_readFromFile.sig="iei";function JsvBuffer_writeToFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_writeToFile.sig="iei";function JsvBuffer_intoFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength,undefined,true)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_intoFile.sig="iei";function JsvGenerator_Check(obj){try{return getTypeTag(obj)==="[object Generator]"}catch(e){return false}}JsvGenerator_Check.sig="ie";function JsvAsyncGenerator_Check(obj){try{return getTypeTag(obj)==="[object AsyncGenerator]"}catch(e){return false}}JsvAsyncGenerator_Check.sig="ie";function JsvError_Throw(e){throw e}JsvError_Throw.sig="ve";function Jsv_less_than(a,b){try{return!!(a<b)}catch(e){return false}}Jsv_less_than.sig="iee";function Jsv_less_than_equal(a,b){try{return!!(a<=b)}catch(e){return false}}Jsv_less_than_equal.sig="iee";function Jsv_equal(a,b){try{return!!(a===b)}catch(e){return false}}Jsv_equal.sig="iee";function Jsv_not_equal(a,b){try{return!!(a!==b)}catch(e){return false}}Jsv_not_equal.sig="iee";function Jsv_greater_than(a,b){try{return!!(a>b)}catch(e){return false}}Jsv_greater_than.sig="iee";function Jsv_greater_than_equal(a,b){try{return!!(a>=b)}catch(e){return false}}Jsv_greater_than_equal.sig="iee";function JsvMap_New(){try{return new Map}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvMap_New.sig="e";function JsvLiteralMap_New(){try{return new API.LiteralMap}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvLiteralMap_New.sig="e";function JsvMap_Set(map,key,val){try{map.set(key,val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvMap_Set.sig="ieee";function JsvSet_New(){try{return new Set}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvSet_New.sig="e";function JsvSet_Add(set,val){try{set.add(val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvSet_Add.sig="iee";function _python2js_addto_postprocess_list(list,parent,key,value){list.push([parent,key,value])}_python2js_addto_postprocess_list.sig="veeei";function _python2js_handle_postprocess_list(list,cache){for(const[parent,key,ptr]of list){let val=cache.get(ptr);if(parent.constructor.name==="LiteralMap"){parent.set(key,val)}else{parent[key]=val}}}_python2js_handle_postprocess_list.sig="vee";function _python2js_ascii(ptr,len){try{if(len>=64){let decoder=Module._asciiTextDecoder;if(!decoder){decoder=Module._asciiTextDecoder=new TextDecoder("latin1")}return decoder.decode(Module.HEAPU8.subarray(ptr,ptr+len))}let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCharCode(HEAPU8[(ptr>>>0)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ascii.sig="eii";function _python2js_ucs1(ptr,len){try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCharCode(HEAPU8[(ptr>>>0)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs1.sig="eii";function _python2js_ucs2(ptr,len){try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCharCode(HEAPU16[(ptr>>>1)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs2.sig="eii";function _python2js_ucs4(ptr,len){try{let jsstr="";for(let i=0;i<len;++i){jsstr+=String.fromCodePoint(HEAPU32[(ptr>>>2)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs4.sig="eii";function _python2js_add_to_cache(cache,pyparent,jsparent){try{cache.set(pyparent,jsparent)}catch(e){Module.handle_js_error(e);return-1}return 0}_python2js_add_to_cache.sig="ieie";function _python2js_cache_lookup(cache,pyparent){return cache.get(pyparent)||Module.error}_python2js_cache_lookup.sig="eei";function _JsObject_Set_js(obj,key,value){try{if(key in obj){return-2}obj[key]=value}catch(e){Module.handle_js_error(e);return-1}return 0}_JsObject_Set_js.sig="ieee";function _JsArray_PushEntry_helper(array,key,value){try{array.push([key,value])}catch(e){Module.handle_js_error(e);return-1}return 0}_JsArray_PushEntry_helper.sig="ieee";function _JsArray_PostProcess_helper(jscontext,array){try{return jscontext.dict_converter(array)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_JsArray_PostProcess_helper.sig="eee";function python2js__default_converter_js(jscontext,object){try{let proxy=Module.pyproxy_new(object);try{return jscontext.default_converter(proxy,jscontext.converter,jscontext.cacheConversion)}finally{proxy.destroy()}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js__default_converter_js.sig="eei";function python2js__eager_converter_js(jscontext,object){try{if(jscontext.eager_visited.has(object)){return Module.novalue}jscontext.eager_visited.add(object);const proxy=Module.pyproxy_new(object);try{return jscontext.eager_converter(proxy,jscontext.converter,jscontext.cacheConversion)}finally{proxy.destroy()}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js__eager_converter_js.sig="eei";function python2js_custom__create_jscontext(context,cache,dict_converter,default_converter,eager_converter){try{const jscontext={};if(dict_converter){jscontext.dict_converter=dict_converter}if(default_converter){jscontext.default_converter=default_converter;jscontext.cacheConversion=function(input,output){if(!API.isPyProxy(input)){throw new TypeError("The first argument to cacheConversion must be a PyProxy.")}const input_ptr=Module.PyProxy_getPtr(input);cache.set(input_ptr,output)}}if(eager_converter){jscontext.eager_converter=eager_converter;jscontext.eager_visited=new Set}if(default_converter||eager_converter){jscontext.converter=function(x){if(!API.isPyProxy(x)){return x}const ptr=Module.PyProxy_getPtr(x);let res;try{res=__python2js(context,ptr)}catch(e){API.fatal_error(e)}if(res===Module.error){_pythonexc2js()}return res}}return jscontext}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js_custom__create_jscontext.sig="eieeee";function destroy_proxies_js(proxies_id){try{for(const proxy of proxies_id){proxy.destroy()}}catch(e){Module.handle_js_error(e);return-1}return 0}destroy_proxies_js.sig="ie";function pyodide_js_init(){"use strict";(()=>{var Qr=Object.create;var tt=Object.defineProperty;var Xr=Object.getOwnPropertyDescriptor;var Zr=Object.getOwnPropertyNames;var en=Object.getPrototypeOf,tn=Object.prototype.hasOwnProperty;var a=(t,e)=>tt(t,"name",{value:e,configurable:!0}),x=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var rn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Zr(e))!tn.call(t,o)&&o!==r&&tt(t,o,{get:()=>e[o],enumerable:!(n=Xr(e,o))||n.enumerable});return t};var M=(t,e,r)=>(r=t!=null?Qr(en(t)):{},rn(e||!t||!t.__esModule?tt(r,"default",{value:t,enumerable:!0}):r,t));function nn(t){return!isNaN(parseFloat(t))&&isFinite(t)}a(nn,"_isNumber");function j(t){return t.charAt(0).toUpperCase()+t.substring(1)}a(j,"_capitalize");function rt(t){return function(){return this[t]}}a(rt,"_getter");var K=["isConstructor","isEval","isNative","isToplevel"],V=["columnNumber","lineNumber"],J=["fileName","functionName","source"],on=["args"],an=["evalOrigin"],he=K.concat(V,J,on,an);function T(t){if(t)for(var e=0;e<he.length;e++)t[he[e]]!==void 0&&this["set"+j(he[e])](t[he[e]])}a(T,"StackFrame");T.prototype={getArgs:a(function(){return this.args},"getArgs"),setArgs:a(function(t){if(Object.prototype.toString.call(t)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=t},"setArgs"),getEvalOrigin:a(function(){return this.evalOrigin},"getEvalOrigin"),setEvalOrigin:a(function(t){if(t instanceof T)this.evalOrigin=t;else if(t instanceof Object)this.evalOrigin=new T(t);else throw new TypeError("Eval Origin must be an Object or StackFrame")},"setEvalOrigin"),toString:a(function(){var t=this.getFileName()||"",e=this.getLineNumber()||"",r=this.getColumnNumber()||"",n=this.getFunctionName()||"";return this.getIsEval()?t?"[eval] ("+t+":"+e+":"+r+")":"[eval]:"+e+":"+r:n?n+" ("+t+":"+e+":"+r+")":t+":"+e+":"+r},"toString")};T.fromString=a(function(e){var r=e.indexOf("("),n=e.lastIndexOf(")"),o=e.substring(0,r),i=e.substring(r+1,n).split(","),s=e.substring(n+1);if(s.indexOf("@")===0)var l=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(s,""),u=l[1],d=l[2],p=l[3];return new T({functionName:o,args:i||void 0,fileName:u,lineNumber:d||void 0,columnNumber:p||void 0})},"StackFrame$$fromString");for($=0;$<K.length;$++)T.prototype["get"+j(K[$])]=rt(K[$]),T.prototype["set"+j(K[$])]=function(t){return function(e){this[t]=!!e}}(K[$]);var $;for(W=0;W<V.length;W++)T.prototype["get"+j(V[W])]=rt(V[W]),T.prototype["set"+j(V[W])]=function(t){return function(e){if(!nn(e))throw new TypeError(t+" must be a Number");this[t]=Number(e)}}(V[W]);var W;for(H=0;H<J.length;H++)T.prototype["get"+j(J[H])]=rt(J[H]),T.prototype["set"+j(J[H])]=function(t){return function(e){this[t]=String(e)}}(J[H]);var H,be=T;function sn(){var t=/^\s*at .*(\S+:\d+|\(native\))/m,e=/^(eval@)?(\[native code])?$/;return{parse:a(function(n){if(n.stack&&n.stack.match(t))return this.parseV8OrIE(n);if(n.stack)return this.parseFFOrSafari(n);throw new Error("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:a(function(n){if(n.indexOf(":")===-1)return[n];var o=/(.+?)(?::(\d+))?(?::(\d+))?$/,i=o.exec(n.replace(/[()]/g,""));return[i[1],i[2]||void 0,i[3]||void 0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:a(function(n){var o=n.stack.split(`\n`).filter(function(i){return!!i.match(t)},this);return o.map(function(i){i.indexOf("(eval ")>-1&&(i=i.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var s=i.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),l=s.match(/ (\(.+\)$)/);s=l?s.replace(l[0],""):s;var u=this.extractLocation(l?l[1]:s),d=l&&s||void 0,p=["eval","<anonymous>"].indexOf(u[0])>-1?void 0:u[0];return new be({functionName:d,fileName:p,lineNumber:u[1],columnNumber:u[2],source:i})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:a(function(n){var o=n.stack.split(`\n`).filter(function(i){return!i.match(e)},this);return o.map(function(i){if(i.indexOf(" > eval")>-1&&(i=i.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),i.indexOf("@")===-1&&i.indexOf(":")===-1)return new be({functionName:i});var s=/((.*".+"[^@]*)?[^@]*)(?:@)/,l=i.match(s),u=l&&l[1]?l[1]:void 0,d=this.extractLocation(i.replace(s,""));return new be({functionName:u,fileName:d[0],lineNumber:d[1],columnNumber:d[2],source:i})},this)},"ErrorStackParser$$parseFFOrSafari")}}a(sn,"ErrorStackParser");var ln=new sn;var nt=ln;function jt(t){if(typeof t=="string")t=new Error(t);else if(t&&typeof t=="object"&&t.name==="ExitStatus"){let e=t.status;t=new te(t.message),t.status=e}else if(typeof t!="object"||t===null||typeof t.stack!="string"||typeof t.message!="string"){let e=API.getTypeTag(t),r=`A value of type ${typeof t} with tag ${e} was thrown as an error!`;try{r+=`\nString interpolation of the thrown value gives """${t}""".`}catch{r+=`\nString interpolation of the thrown value fails.`}try{r+=`\nThe thrown value's toString method returns """${t.toString()}""".`}catch{r+=`\nThe thrown value's toString method fails.`}t=new Error(r)}return t}a(jt,"ensureCaughtObjectIsError");var ot=class extends Error{static{a(this,"CppException")}constructor(e,r,n){let o=Module.getCppExceptionThrownObjectFromWebAssemblyException(n);r||(r=`The exception is an object of type ${e} at address ${o} which does not inherit from std::exception`),super(r),this.ty=e}get name(){return`${this.constructor.name} ${this.ty}`}},cn=WebAssembly.Exception,un=a(t=>t instanceof cn,"isWasmException");function zt(t){let[e,r]=Module.getExceptionMessage(t);return new ot(e,r,t)}a(zt,"convertCppException");Tests.convertCppException=zt;var Wt=!1;API.fatal_error=function(t){if(t&&t.pyodide_fatal_error)return;if(Wt){console.error("Recursive call to fatal_error. Inner error was:"),console.error(t);return}if(t instanceof re)throw t;typeof t=="number"||un(t)?t=zt(t):t=jt(t),t.pyodide_fatal_error=!0,Wt=!0;let e=t instanceof te;e||(console.error("Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers."),console.error("The cause of the fatal error was:"),API.inTestHoist?(console.error(t.toString()),console.error(t.stack)):console.error(t));try{e||_dump_traceback();let n=`Pyodide already ${e?"exited":"fatally failed"} and can no longer be used.`;for(let o of Reflect.ownKeys(API.public_api))typeof o=="string"&&o.startsWith("_")||o==="version"||Object.defineProperty(API.public_api,o,{enumerable:!0,configurable:!0,get:a(()=>{throw new Error(n)},"get")});API.on_fatal&&API.on_fatal(t)}catch(r){console.error("Another error occurred while handling the fatal error:"),console.error(r)}throw t};API.maybe_fatal_error=function(t){API._skip_unwind_fatal_error&&t==="unwind"||API.fatal_error(t)};var at=[];API.capture_stderr=function(){at=[],Module.FS.createDevice("/dev","capture_stderr",null,t=>at.push(t)),Module.FS.closeStream(2),Module.FS.open("/dev/capture_stderr",1)};API.restore_stderr=function(){return Module.FS.closeStream(2),Module.FS.unlink("/dev/capture_stderr"),Module.FS.open("/dev/stderr",1),UTF8ArrayToString(new Uint8Array(at))};API.fatal_loading_error=function(...t){let e=t.join(" ");if(_PyErr_Occurred()){API.capture_stderr(),_PyErr_Print();let r=API.restore_stderr();e+=`\n`+r}throw new Pe(e)};function it(t){if(!t)return!1;let e=t.fileName||"";if(e.includes("wasm-function"))return!0;if(!e.includes("pyodide.asm.mjs"))return!1;let r=t.functionName||"";return r.startsWith("Object.")&&(r=r.slice(7)),API.public_api&&r in API.public_api&&r!=="PythonError"?(t.functionName=r,!1):!0}a(it,"isPyodideFrame");function Ht(t){return it(t)&&t.functionName==="new_error"}a(Ht,"isErrorStart");Module.handle_js_error=function(t){if(t&&t.pyodide_fatal_error)throw t;if(t instanceof R)return;let e=!1;t instanceof z&&(e=_restore_sys_last_exception(t.__error_address));let r,n;try{r=nt.parse(t)}catch{n=!0}if(n&&(t=jt(t)),!e){let o=_JsProxy_create(t);_set_error(o),_Py_DecRef(o)}if(!n){if(Ht(r[0])||Ht(r[1]))for(;it(r[0]);)r.shift();for(let o of r){if(it(o))break;let i=stringToNewUTF8(o.functionName||"???"),s=stringToNewUTF8(o.fileName||"???.js");__PyTraceback_Add(i,s,o.lineNumber),_free(i),_free(s)}}};var z=class extends Error{static{a(this,"PythonError")}constructor(e,r,n){let o=Error.stackTraceLimit;Error.stackTraceLimit=1/0,super(r),Error.stackTraceLimit=o,this.type=e,this.__error_address=n}};API.PythonError=z;var R=class extends Error{static{a(this,"_PropagatePythonError")}constructor(){super("If you are seeing this message, an internal Pyodide error has occurred. Please report it to the Pyodide maintainers.")}};Module._PropagatePythonError=R;function dn(t){Object.defineProperty(t.prototype,"name",{value:t.name})}a(dn,"setName");var Pe=class extends Error{static{a(this,"FatalPyodideError")}},te=class extends Error{static{a(this,"Exit")}},re=class extends Error{static{a(this,"NoGilError")}};[R,Pe,te,z,re].forEach(dn);API.NoGilError=re;API.errorConstructors=new Map([EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(t=>t).map(t=>[t.name,t]));API.deserializeError=function(t,e,r){let n=API.errorConstructors.get(t)||Error,o=new n(e);return API.errorConstructors.has(t)||(o.name=t),o.message=e,o.stack=r,o};function yn(t){let e=0,r=t.length,n=new Uint32Array(r),o=0;for(let l=0;l<r;l++){let u=t.charCodeAt(l),d;if(u>=55296&&u<=56319){let p=t.charCodeAt(l+1);p>=56320&&p<=57343?(d=(u-55296)*1024+(p-56320)+65536,l++):d=u}else d=u;n[o++]=d,e=d>e?d:e}let i=_PyUnicode_New(o,e);if(i===0)throw new R;let s=_PyUnicode_Data(i);if(e>65535)for(let l=0;l<o;l++)HEAPU32[(s>>>2)+l>>>0]=n[l];else if(e>255)for(let l=0;l<o;l++)HEAPU16[(s>>>1)+l>>>0]=n[l];else for(let l=0;l<o;l++)HEAPU8[(s>>>0)+l>>>0]=n[l];return i}a(yn,"js2python_string");function pn(t){let e=t,r=0;for(t<0&&(t=-t),t<<=BigInt(1);t;)r++,t>>=BigInt(32);let n=stackSave(),o=stackAlloc(r*4);t=e;for(let l=0;l<r;l++)HEAPU32[(o>>>2)+l>>>0]=Number(t&BigInt(4294967295)),t>>=BigInt(32);let i=__PyLong_FromByteArray(o,r*4,!0,!0);stackRestore(n);let s=__js2python_bigint(i);return _Py_DecRef(i),s}a(pn,"js2python_bigint");function ne(t){let e=fn(t);if(e===0)throw new R;return e}a(ne,"js2python_convertImmutable");Module.js2python_convertImmutable=ne;function fn(t){let e=typeof t;if(e==="string")return yn(t);if(e==="number")return Number.isSafeInteger(t)?_PyLong_FromDouble(t):_PyFloat_FromDouble(t);if(e==="bigint")return pn(t);if(t===void 0)return __js2python_none();if(t===null)return __js2python_null();if(t===!0)return __js2python_true();if(t===!1)return __js2python_false();if(API.isPyProxy(t)){let{props:r,shared:n}=Module.PyProxy_getAttrs(t);return r.roundtrip?_JsProxy_create(t):__js2python_pyproxy(n.ptr)}}a(fn,"js2python_convertImmutableInner");function mn(t,e){let r=_PyList_New(t.length);if(r===0)return 0;let n=0;try{e.cache.set(t,r);for(let o=0;o<t.length;o++){if(n=Se(t[o],e),_Py_IncRef(n),_PyList_SetItem(r,o,n)===-1)throw new R;_Py_DecRef(n),n=0}}catch(o){throw _Py_DecRef(n),_Py_DecRef(r),o}return r}a(mn,"js2python_convertList");function Gt(t,e,r){let n=_PyDict_New();if(n===0)return 0;let o=0,i=0;try{r.cache.set(t,n);for(let[s,l]of e){if(o=ne(s),o===void 0){let u=s.constructor&&s.constructor.name||typeof s;throw new Error(`Cannot use key of type ${u} as a key to a Python dict`)}if(i=Se(l,r),_PyDict_SetItem(n,o,i)===-1)throw new R;_Py_DecRef(o),o=0,_Py_DecRef(i),i=0}}catch(s){throw _Py_DecRef(o),_Py_DecRef(i),_Py_DecRef(n),s}return n}a(Gt,"js2python_convertMap");function gn(t,e){let r=_PySet_New(0);if(r===0)return 0;let n=0;try{e.cache.set(t,r);for(let o of t){if(n=ne(o),n===void 0){let s=o.constructor&&o.constructor.name||typeof o;throw new Error(`Cannot use key of type ${s} as a key to a Python set`)}if(_PySet_Add(r,n)===-1)throw new R;_Py_DecRef(n),n=0}}catch(o){throw _Py_DecRef(n),_Py_DecRef(r),o}return r}a(gn,"js2python_convertSet");function Kt(t,e){if(t.has(1)&&t.has(!0))throw new Error(`Cannot faithfully convert ${e} into Python since it contains both 1 and true as keys.`);if(t.has(0)&&t.has(!1))throw new Error(`Cannot faithfully convert ${e} into Python since it contains both 0 and false as keys.`)}a(Kt,"checkBoolIntCollision");function _n(t,e){let r=getTypeTag(t);if(Array.isArray(t)||t==="[object HTMLCollection]"||t==="[object NodeList]")return mn(t,e);if(r==="[object Map]"||t instanceof Map)return Kt(t,"Map"),Gt(t,t.entries(),e);if(r==="[object Set]"||t instanceof Set)return Kt(t,"Set"),gn(t,e);if(r==="[object Object]"&&(t.constructor===void 0||t.constructor.name==="Object"))return Gt(t,Object.entries(t),e);if(r==="[object ArrayBuffer]"||ArrayBuffer.isView(t)){let[n,o]=Module.get_buffer_datatype(t);return _JsBuffer_CopyIntoMemoryView(t,t.byteLength,n,o)}}a(_n,"js2python_convertOther");function Se(t,e){let r=ne(t);if(r!==void 0)return r;if(e.depth===0)return _JsProxy_create(t);if(r=e.cache.get(t),r!==void 0)return _Py_IncRef(r),r;e.depth--;try{if(r=_n(t,e),r!==void 0)return r;if(!e.defaultConverter)return _JsProxy_create(t);let n=e.defaultConverter(t,e.converter,e.cacheConversion);return r=ne(n),API.isPyProxy(n)&&Module.pyproxy_destroy(n,"",!1),r!==void 0?r:_JsProxy_create(n)}finally{e.depth++}}a(Se,"js2python_convert_with_context");function hn(t,{depth:e,defaultConverter:r}){let n={cache:new Map,depth:e,defaultConverter:r,converter:a(o=>Module.pyproxy_new(Se(o,n)),"converter"),cacheConversion(o,i){if(API.isPyProxy(i))n.cache.set(o,Module.PyProxy_getPtr(i));else throw new Error("Second argument should be a PyProxy!")}};return Se(t,n)}a(hn,"js2python_convert");Module.js2python_convert=hn;Module.processBufferFormatString=function(t,e=""){if(t.length>2)throw new Error(`Expected format string to have length <= 2, got '${t}'.`+e);let r=t.slice(-1),n=t.slice(0,-1),o;switch(n){case"!":case">":o=!0;break;case"<":case"@":case"=":case"":o=!1;break;default:throw new Error(`Unrecognized alignment character ${n}.`+e)}let i;switch(r){case"b":i=Int8Array;break;case"s":case"p":case"c":case"B":case"?":i=Uint8Array;break;case"h":i=Int16Array;break;case"H":i=Uint16Array;break;case"i":case"l":case"n":i=Int32Array;break;case"I":case"L":case"N":case"P":i=Uint32Array;break;case"q":if(globalThis.BigInt64Array===void 0)throw new Error("BigInt64Array is not supported on this browser."+e);i=BigInt64Array;break;case"Q":if(globalThis.BigUint64Array===void 0)throw new Error("BigUint64Array is not supported on this browser."+e);i=BigUint64Array;break;case"f":i=Float32Array;break;case"d":i=Float64Array;break;case"e":throw new Error("Javascript has no Float16 support.");default:throw new Error(`Unrecognized format character '${r}'.`+e)}return[i,o]};Module.python2js_buffer_1d_contiguous=function(t,e,r){let n=e*r;return HEAP8.slice(t,t+n).buffer};Module.python2js_buffer_1d_noncontiguous=function(t,e,r,n,o){let i=o*n,s=new Uint8Array(i);for(let l=0;l<n;++l){let u=t+l*e;r>=0&&(u=HEAPU32[(u>>>2)+0>>>0]+r),s.set(HEAP8.subarray(u>>>0,u+o>>>0),l*o)}return s.buffer};Module._python2js_buffer_recursive=function(t,e,r){let{shape:n,strides:o,ndim:i,converter:s,itemsize:l,suboffsets:u}=r,d=HEAPU32[(n>>>2)+e>>>0],p=HEAP32[(o>>>2)+e>>>0],v=-1;if(i===0)return s(Module.python2js_buffer_1d_contiguous(t,l,1));if(u!==0&&(v=HEAP32[(u>>>2)+e>>>0]),e===i-1){let g;return p===l&&v<0?g=Module.python2js_buffer_1d_contiguous(t,p,d):g=Module.python2js_buffer_1d_noncontiguous(t,p,v,d,l),s(g)}let P=[];for(let g=0;g<d;++g){let E=t+g*p;v>=0&&(curptr=HEAPU32[(curptr>>>2)+0>>>0]+v),P.push(Module._python2js_buffer_recursive(E,e+1,r))}return P};Module.get_converter=function(t,e){let r=UTF8ToString(t),[n,o]=Module.processBufferFormatString(r);switch(r.slice(-1)){case"s":let d=new TextDecoder("utf8",{ignoreBOM:!0});return p=>d.decode(p);case"?":return p=>Array.from(new Uint8Array(p),v=>!!v)}if(!o)return d=>new n(d);let s,l;switch(e){case 2:s="getUint16",l="setUint16";break;case 4:s="getUint32",l="setUint32";break;case 8:s="getFloat64",l="setFloat64";break;default:throw new Error(`Unexpected size ${e}`)}function u(d){let p=new DataView(d),v=p[s].bind(p),P=p[l].bind(p);for(let g=0;g<p.byteLength;g+=e)P(g,v(g,!0),!1);return d}return a(u,"swapFunc"),d=>new n(u(d))};function bn(t){try{return t instanceof S}catch{return!1}}a(bn,"isPyProxy");API.isPyProxy=bn;globalThis.FinalizationRegistry?Module.finalizationRegistry=new FinalizationRegistry(({ptr:t,cache:e})=>{e&&(e.leaked=!0,er(e));try{_check_gil();let r=validSuspender.value;validSuspender.value=!1,_Py_DecRef(t),validSuspender.value=r}catch(r){API.fatal_error(r)}}):Module.finalizationRegistry={register(){},unregister(){}};var st=new Map;Module.pyproxy_alloc_map=st;var Pt,St;Module.enable_pyproxy_allocation_tracing=function(){Pt=a(function(t){st.set(t,Error().stack)},"trace_pyproxy_alloc"),St=a(function(t){st.delete(t)},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing=function(){Pt=a(function(t){},"trace_pyproxy_alloc"),St=a(function(t){},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing();var Qt=Symbol("pyproxy.attrs");function Pn(t,e){_check_gil();let r=validSuspender.value;validSuspender.value=!1;try{return _pyproxy_getflags(t,e)}finally{validSuspender.value=r}}a(Pn,"pyproxy_getflags");function ae(t,{flags:e,cache:r,props:n,shared:o,gcRegister:i,jsonAdaptor:s}={}){i===void 0&&(i=!0);let l=e!==void 0?e:Pn(t,!!s);l===-1&&_pythonexc2js();let u=l&8192,d=l&32768,p=l&1<<17,v=Module.getPyProxyClass(l),P;l&256?(P=a(function(){},"target"),Object.setPrototypeOf(P,v.prototype),delete P.length,delete P.name,P.prototype=void 0):P=Object.create(v.prototype);let g=!!o;o||(r||(r={map:new Map,json_adaptor_map:new Map,refcnt:0}),r.refcnt++,o={ptr:t,cache:r,flags:l,promise:void 0,destroyed_msg:void 0,gcRegistered:!1},_Py_IncRef(t)),n={isBound:!!n?.isBound,captureThis:!!n?.captureThis,boundArgs:n?.boundArgs??[],boundThis:n?.boundThis,roundtrip:!!n?.roundtrip};let E;d?E=C:u?E=Tn:p?E=Mn:E=I;let B=new Proxy(P,E);!g&&i&&Xt(o),g||Pt(B);let k={shared:o,props:n};return P[Qt]=k,B}a(ae,"pyproxy_new");Module.pyproxy_new=ae;function Xt(t){let{ptr:e,cache:r}=t,n={ptr:e,cache:r};t.gcRegistered=!0,Module.finalizationRegistry.register(t,n,t)}a(Xt,"gc_register_proxy");Module.gc_register_proxy=Xt;function He(t){return t[Qt]}a(He,"_getAttrsQuiet");Module.PyProxy_getAttrsQuiet=He;function F(t){let e=He(t);if(!e.shared.ptr)throw new Error(e.shared.destroyed_msg);return e}a(F,"_getAttrs");Module.PyProxy_getAttrs=F;function h(t){return F(t).shared.ptr}a(h,"_getPtr");function w(t){return Object.getPrototypeOf(t).$$flags}a(w,"_getFlags");function Zt(t){return!!(w(t)&98304)}a(Zt,"isJsonAdaptor");function Vt(t,e,r){let{captureThis:n,boundArgs:o,boundThis:i,isBound:s}=F(t).props;return n?s?[i].concat(o,r):[e].concat(r):s?o.concat(r):r}a(Vt,"_adjustArgs");var Jt=new Map;Module.getPyProxyClass=function(t){let e=[[1,lt],[2,q],[4,G],[8,U],[16,ut],[32,yt],[2048,pt],[512,dt],[1024,ft],[4096,mt],[64,ht],[128,bt],[256,Be],[8192,gt],[16384,_t]],r=Jt.get(t);if(r)return r;let n={};for(let[l,u]of e)t&l&&Object.assign(n,Object.getOwnPropertyDescriptors(u.prototype));(t&8192||t&2)&&Object.assign(n,Object.getOwnPropertyDescriptors(ct.prototype)),n.constructor=Object.getOwnPropertyDescriptor(S.prototype,"constructor"),Object.assign(n,Object.getOwnPropertyDescriptors({$$flags:t}));let o=t&256?nr:rr,i=Object.create(o,n);function s(){}return a(s,"NewPyProxyClass"),s.prototype=i,Jt.set(t,s),s};Module.PyProxy_getPtr=h;var qt="This borrowed attribute proxy was automatically destroyed in the process of destroying the proxy it was borrowed from. Try using the 'copy' method.";function er(t){if(t&&(t.refcnt--,!t.leaked&&t.refcnt===0)){for(let e of t.map.values())Module.pyproxy_destroy(e,qt,!0);for(let e of t.json_adaptor_map.values())Module.pyproxy_destroy(e,qt,!0)}}a(er,"pyproxy_decref_cache");function Sn(t,e){if(e=e||"Object has already been destroyed",API.debug_ffi){let r=t.type,n;try{n=t.toString()}catch(o){if(o.pyodide_fatal_error)throw o}e+=`\nThe object was of type "${r}" and `,n?e+=`had repr "${n}"`:e+="an error was raised when trying to generate its repr"}else e+="\nFor more information about the cause of this error, use `pyodide.setDebug(true)`";return e}a(Sn,"generateDestroyedMessage");Module.pyproxy_destroy=function(t,e,r){let{shared:n,props:o}=He(t);if(!n.ptr||!r&&o.roundtrip)return;n.destroyed_msg=Sn(t,e);let i=n.ptr;n.ptr=0,n.gcRegistered&&Module.finalizationRegistry.unregister(n),er(n.cache);try{_check_gil();let s=validSuspender.value;validSuspender.value=!1,_Py_DecRef(i),St(t),validSuspender.value=s}catch(s){API.fatal_error(s)}};function xe(t,e,r){let n=e.length,o=Object.keys(r),i=Object.values(r),s=o.length;e.push(...i);let l;try{_check_gil();let u=validSuspender.value;validSuspender.value=!1,l=__pyproxy_apply(t,e,n,o,s),validSuspender.value=u}catch(u){API.maybe_fatal_error(u);return}if(l===Module.error&&_pythonexc2js(),l&&l.type==="coroutine"&&l._ensure_future){_check_gil();let u=validSuspender.value;validSuspender.value=!1;let d=__iscoroutinefunction(t);validSuspender.value=u,d&&l._ensure_future()}return l}a(xe,"callPyObjectKwargs");async function we(t,e,r){if(!Module.jspiSupported)throw new Error("WebAssembly stack switching not supported in this JavaScript runtime");let n=e.length,o=Object.keys(r),i=Object.values(r),s=o.length;e.push(...i),_Py_IncRef(t),await new Promise(d=>API.scheduleCallback(d,0));let l,u=_malloc(4);try{enterTask(),_check_gil();let d=validSuspender.value;validSuspender.value=!1,l=await Module.promisingApply(t,e,n,o,s,u),validSuspender.value=d}catch(d){API.fatal_error(d)}try{if(l=l[0],l===Module.error&&(_PyErr_SetRaisedException(HEAPU32[u/4>>>0]),_pythonexc2js()),l&&l.type==="coroutine"&&l._ensure_future){_check_gil();let d=validSuspender.value;validSuspender.value=!1;let p=__iscoroutinefunction(t);validSuspender.value=d,p&&l._ensure_future()}return l}finally{_free(u),_Py_DecRef(t)}}a(we,"callPyObjectKwargsPromising");Module.callPyObjectMaybePromising=async function(t,e){return Module.jspiSupported?await we(t,e,{}):xe(t,e,{})};Module.callPyObject=function(t,e){return xe(t,e,{})};var tr=Symbol.dispose??Symbol("dispose"),S=class t{static{a(this,"PyProxy")}static[Symbol.hasInstance](e){return[t,or].some(r=>Function.prototype[Symbol.hasInstance].call(r,e))}constructor(){throw new TypeError("PyProxy is not a constructor")}get[Symbol.toStringTag](){return"PyProxy"}get type(){let e=h(this);return __pyproxy_type(e)}toString(){let e=h(this),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxy_repr(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}destroy(e={}){e=Object.assign({message:"",destroyRoundtrip:!0},e);let{message:r,destroyRoundtrip:n}=e;Module.pyproxy_destroy(this,r,n)}[tr](){this.destroy()}copy(){let e=F(this);return ae(e.shared.ptr,{flags:w(this),cache:e.shared.cache,props:e.props})}toJs({depth:e=-1,pyproxies:r=void 0,create_pyproxies:n=!0,dict_converter:o=void 0,default_converter:i=void 0,eager_converter:s=void 0}={}){let l=h(this),u,d;n?r?d=r:d=[]:d=Module.error;try{_check_gil();let p=validSuspender.value;validSuspender.value=!1,u=_python2js_custom(l,e,d,o??Module.error,i??Module.error,s??Module.error),validSuspender.value=p}catch(p){API.fatal_error(p)}return u===Module.error&&_pythonexc2js(),u}},rr=S.prototype;Tests.Function=Function;var nr=Object.create(Function.prototype,Object.getOwnPropertyDescriptors(rr));function or(){}a(or,"PyProxyFunction");or.prototype=nr;var Ae=class extends S{static{a(this,"PyProxyWithLength")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&1)}},lt=class{static{a(this,"PyLengthMethods")}get length(){let e=h(this),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=_PyObject_Size(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===-1&&_pythonexc2js(),r}},Ie=class extends S{static{a(this,"PyProxyWithGet")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&2)}},ct=class{static{a(this,"PyAsJsonAdaptorMethods")}asJsJson(){let{shared:e,props:r}=F(this),n=w(this);return n&8192?n|=65536:n|=32768,ae(e.ptr,{shared:e,flags:n,props:r})}},q=class{static{a(this,"PyGetItemMethods")}get(e){let{shared:r}=F(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_getitem(r.ptr,e,r.cache.json_adaptor_map,Zt(this)),validSuspender.value=o}catch(o){API.fatal_error(o)}if(n===Module.error)if(_PyErr_Occurred())_pythonexc2js();else return;return n}asJsJson(){throw new Error("Should not happen")}},Ee=class extends S{static{a(this,"PyProxyWithSet")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&4)}},G=class{static{a(this,"PySetItemMethods")}set(e,r){let n=h(this),o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_setitem(n,e,r),validSuspender.value=i}catch(i){API.fatal_error(i)}o===-1&&_pythonexc2js()}delete(e){let r=h(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_delitem(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}n===-1&&_pythonexc2js()}},ke=class extends S{static{a(this,"PyProxyWithHas")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&8)}},U=class{static{a(this,"PyContainsMethods")}has(e){let r=h(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_contains(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===-1&&_pythonexc2js(),n===1}};function*vn(t,e,r,n){let o=[];try{for(;;){_check_gil();let i=validSuspender.value;validSuspender.value=!1;let s=__pyproxy_iter_next(t,r,n);if(validSuspender.value=i,s===Module.error)break;yield s,!n&&API.isPyProxy(s)&&o.push(s)}}catch(i){API.fatal_error(i)}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(t)}try{o.forEach(i=>Module.pyproxy_destroy(i,"This borrowed proxy was automatically destroyed when an iterator was exhausted."))}catch{}_PyErr_Occurred()&&_pythonexc2js()}a(vn,"iter_helper");var Ne=class extends S{static{a(this,"PyIterable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&48)}},ut=class{static{a(this,"PyIterableMethods")}[Symbol.iterator](){let{shared:e}=F(this),r={},n;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,n=_PyObject_GetIter(e.ptr),validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let o=vn(n,r,e.cache.json_adaptor_map,Zt(this));return Module.finalizationRegistry.register(o,{ptr:n},r),o}};async function*wn(t,e){try{for(;;){let r;try{_check_gil();let n=validSuspender.value;if(validSuspender.value=!1,r=__pyproxy_aiter_next(t),validSuspender.value=n,r===Module.error)break}catch(n){API.fatal_error(n)}try{yield await r}catch(n){if(n&&typeof n=="object"&&n.type==="StopAsyncIteration")return;throw n}finally{r.destroy()}}}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(t)}_PyErr_Occurred()&&_pythonexc2js()}a(wn,"aiter_helper");var Oe=class extends S{static{a(this,"PyAsyncIterable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&1536)}},dt=class{static{a(this,"PyAsyncIterableMethods")}[Symbol.asyncIterator](){let e=h(this),r={},n;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,n=_PyObject_GetAIter(e),validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let o=wn(n,r);return Module.finalizationRegistry.register(o,{ptr:n},r),o}},Te=class extends S{static{a(this,"PyIterator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&32)}},yt=class{static{a(this,"PyIteratorMethods")}[Symbol.iterator](){return this}next(e=void 0){let r,n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_Send(h(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}return r===Module.error&&_pythonexc2js(),r}},De=class extends S{static{a(this,"PyGenerator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&2048)}},pt=class{static{a(this,"PyGeneratorMethods")}throw(e){let r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_throw(h(this),e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}return(e){let r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_return(h(this),e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}},Me=class extends S{static{a(this,"PyAsyncIterator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&1024)}},ft=class{static{a(this,"PyAsyncIteratorMethods")}[Symbol.asyncIterator](){return this}async next(e=void 0){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_asend(h(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"&&o.type==="StopAsyncIteration")return{done:!0,value:n};throw o}finally{r.destroy()}return{done:!1,value:n}}},Re=class extends S{static{a(this,"PyAsyncGenerator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&4096)}},mt=class{static{a(this,"PyAsyncGeneratorMethods")}async throw(e){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_athrow(h(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"){if(o.type==="StopAsyncIteration")return{done:!0,value:n};if(o.type==="GeneratorExit")return{done:!0,value:n}}throw o}finally{r.destroy()}return{done:!1,value:n}}async return(e){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_areturn(h(this)),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"){if(o.type==="StopAsyncIteration")return{done:!0,value:n};if(o.type==="GeneratorExit")return{done:!0,value:e}}throw o}finally{r.destroy()}return{done:!1,value:n}}},Fe=class extends S{static{a(this,"PySequence")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&8192)}};function xn(t,e){let r=t.toString(),n=e.toString();return r===n?0:r<n?-1:1}a(xn,"defaultCompareFunc");var gt=class{static{a(this,"PySequenceMethods")}get[Symbol.isConcatSpreadable](){return!0}join(e){return Array.prototype.join.call(this,e)}slice(e,r){return Array.prototype.slice.call(this,e,r)}lastIndexOf(e,r){return r===void 0&&(r=this.length),Array.prototype.lastIndexOf.call(this,e,r)}indexOf(e,r){return Array.prototype.indexOf.call(this,e,r)}forEach(e,r){Array.prototype.forEach.call(this,e,r)}map(e,r){return Array.prototype.map.call(this,e,r)}filter(e,r){return Array.prototype.filter.call(this,e,r)}some(e,r){return Array.prototype.some.call(this,e,r)}every(e,r){return Array.prototype.every.call(this,e,r)}reduce(...e){return Array.prototype.reduce.apply(this,e)}reduceRight(...e){return Array.prototype.reduceRight.apply(this,e)}at(e){return Array.prototype.at.call(this,e)}concat(...e){return Array.prototype.concat.apply(this,e)}includes(e){return this.has(e)}entries(){return Array.prototype.entries.call(this)}keys(){return Array.prototype.keys.call(this)}values(){return Array.prototype.values.call(this)}find(e,r){return Array.prototype.find.call(this,e,r)}findIndex(e,r){return Array.prototype.findIndex.call(this,e,r)}toJSON(){return Array.from(this)}asJsJson(){throw new Error("Should not happen")}},Le=class extends S{static{a(this,"PyMutableSequence")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&8192)}},_t=class{static{a(this,"PyMutableSequenceMethods")}reverse(){return this.$reverse(),this}sort(e){let r=API.public_api.pyimport("functools"),n=r.cmp_to_key,o;e?o=e:o=xn;function i(l,u){return l===void 0&&u===void 0?0:l===void 0?1:u===void 0?-1:o(l,u)}a(i,"wrapper");let s;try{s=n(i),this.$sort.callKwargs({key:s})}finally{s?.destroy(),n.destroy(),r.destroy()}return this}splice(e,r,...n){return r===void 0&&(r=1<<30),Nn(this,e,e+r,n)}push(...e){for(let r of e)this.append(r);return this.length}pop(){return Yt(this,!1)}shift(){return Yt(this,!0)}unshift(...e){return e.forEach((r,n)=>{this.insert(n,r)}),this.length}copyWithin(...e){return Array.prototype.copyWithin.apply(this,e),this}fill(...e){return Array.prototype.fill.apply(this,e),this}};function An(t,e){let r=h(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_hasattr(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===-1&&_pythonexc2js(),n!==0}a(An,"python_hasattr");function In(t,e){let{shared:r}=F(t),n=r.cache.map,o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_getattr(r.ptr,e,n),validSuspender.value=i}catch(i){API.fatal_error(i)}if(o===Module.error){_PyErr_Occurred()&&_pythonexc2js();return}return o}a(In,"python_getattr");function En(t,e,r){let n=h(t),o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_setattr(n,e,r),validSuspender.value=i}catch(i){API.fatal_error(i)}o===-1&&_pythonexc2js()}a(En,"python_setattr");function kn(t,e){let r=h(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_delattr(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}n===-1&&_pythonexc2js()}a(kn,"python_delattr");function Nn(t,e,r,n){let o=h(t),i;try{_check_gil();let s=validSuspender.value;validSuspender.value=!1,i=__pyproxy_slice_assign(o,e,r,n),validSuspender.value=s}catch(s){API.fatal_error(s)}return i===Module.error&&_pythonexc2js(),i}a(Nn,"python_slice_assign");function Yt(t,e){let r=h(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_pop(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===Module.error&&_pythonexc2js(),n}a(Yt,"python_pop");var On=new Set(["name","length","caller","arguments"]);function ve(t,e,r){return t instanceof Function?e in t&&!(On.has(e)||r&&e==="prototype"):e in t}a(ve,"filteredHasKey");var I={isExtensible(){return!0},has(t,e){return ve(t,e,!1)?!0:typeof e=="symbol"?!1:(e.startsWith("$")&&(e=e.slice(1)),An(t,e))},get(t,e){return typeof e=="symbol"||ve(t,e,!0)?Reflect.get(t,e):(e.startsWith("$")&&(e=e.slice(1)),In(t,e))},set(t,e,r){let n=Object.getOwnPropertyDescriptor(t,e);return n&&!n.writable&&!n.set?!1:typeof e=="symbol"||ve(t,e,!0)?Reflect.set(t,e,r):(e.startsWith("$")&&(e=e.slice(1)),En(t,e,r),!0)},deleteProperty(t,e){let r=Object.getOwnPropertyDescriptor(t,e);return r&&!r.configurable?!1:typeof e=="symbol"||ve(t,e,!0)?Reflect.deleteProperty(t,e):(e.startsWith("$")&&(e=e.slice(1)),kn(t,e),!0)},ownKeys(t){let e=h(t),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxy_ownKeys(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r.push(...Reflect.ownKeys(t)),r},apply(t,e,r){return t.apply(e,r)}};function oe(t){return t&&typeof t=="object"&&t.constructor&&t.constructor.name==="PythonError"}a(oe,"isPythonError");var Tn={isExtensible(){return!0},has(t,e){return typeof e=="string"&&/^[0-9]+$/.test(e)?Number(e)<t.length:I.has(t,e)},get(t,e){if(e==="length")return t.length;if(typeof e=="string"&&/^[0-9]+$/.test(e))try{return q.prototype.get.call(t,Number(e))}catch(r){if(oe(r)&&r.type=="IndexError")return;throw r}return I.get(t,e)},set(t,e,r){if(typeof e=="string"&&/^[0-9]+$/.test(e))try{return G.prototype.set.call(t,Number(e),r),!0}catch(n){if(oe(n)&&n.type=="IndexError")return!1;throw n}return I.set(t,e,r)},deleteProperty(t,e){if(typeof e=="string"&&/^[0-9]+$/.test(e))try{return G.prototype.delete.call(t,Number(e)),!0}catch(r){if(oe(r)&&r.type=="IndexError")return!1;throw r}return I.deleteProperty(t,e)},ownKeys(t){let e=I.ownKeys(t);return e.push(...Array.from({length:t.length},(r,n)=>n.toString())),e.push("length"),e}},Dn=new Set(["copy","constructor","$$flags","toString","destroy"]),C={isExtensible(){return!0},has(t,e){return U.prototype.has.call(t,e)?!0:typeof e=="string"&&/^[0-9]+$/.test(e)?U.prototype.has.call(t,Number(e)):!1},get(t,e){if(typeof e=="symbol"||Dn.has(e))return Reflect.get(...arguments);let r=q.prototype.get.call(t,e);return r!==void 0||U.prototype.has.call(t,e)?r:typeof e=="string"&&/^[0-9]+$/.test(e)?q.prototype.get.call(t,Number(e)):Reflect.get(...arguments)},set(t,e,r){if(typeof e=="symbol")return!1;!U.prototype.has.call(t,e)&&typeof e=="string"&&/^[0-9]+$/.test(e)&&(e=Number(e));try{return G.prototype.set.call(t,e,r),!0}catch(n){if(oe(n)&&n.type==="KeyError")return!1;throw n}},deleteProperty(t,e){if(typeof e=="symbol")return!1;!U.prototype.has.call(t,e)&&typeof e=="string"&&/^[0-9]+$/.test(e)&&(e=Number(e));try{return G.prototype.delete.call(t,e),!0}catch(r){if(oe(r)&&r.type==="KeyError")return!1;throw r}},getOwnPropertyDescriptor(t,e){return C.has(t,e)?{configurable:!0,enumerable:!0,value:C.get(t,e),writable:!0}:void 0},ownKeys(t){let e=new Set;return ar(t,e),Array.from(e)}};function ar(t,e){let r=I.get(t,"keys")();for(let n of r)typeof n=="string"?e.add(n):typeof n=="number"&&e.add(n.toString());r.destroy()}a(ar,"dictOwnKeysHelper");var Mn={isExtensible(){return!0},has(t,e){return I.has(t,e)?!0:C.has(t,e)},get(t,e){let r=I.get(t,e);return r!==void 0||I.has(t,e)?r:C.get(t,e)},set(t,e,r){return I.has(t,e)?I.set(t,e,r):C.set(t,e,r)},deleteProperty(t,e){return I.has(t,e)?I.deleteProperty(t,e):C.deleteProperty(t,e)},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t,e)??C.getOwnPropertyDescriptor(t,e)},ownKeys(t){let e=new Set(I.ownKeys(t));return ar(t,e),Array.from(e)}},Ue=class extends S{static{a(this,"PyAwaitable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&64)}},ht=class{static{a(this,"PyAwaitableMethods")}_ensure_future(){let{shared:e}=He(this);if(e.promise)return e.promise;let r=e.ptr;r||F(this);let n,o,i=new Promise((l,u)=>{n=l,o=u}),s;try{_check_gil();let l=validSuspender.value;validSuspender.value=!1,s=__pyproxy_ensure_future(r,n,o),validSuspender.value=l}catch(l){API.fatal_error(l)}return s===-1&&_pythonexc2js(),e.promise=i,this.destroy(),i}then(e,r){return this._ensure_future().then(e,r)}catch(e){return this._ensure_future().catch(e)}finally(e){return this._ensure_future().finally(e)}},Ce=class extends S{static{a(this,"PyCallable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&256)}},Be=class{static{a(this,"PyCallableMethods")}apply(e,r){return r=function(...n){return n}.apply(void 0,r),r=Vt(this,e,r),Module.callPyObject(h(this),r)}call(e,...r){return r=Vt(this,e,r),Module.callPyObject(h(this),r)}callWithOptions({relaxed:e,kwargs:r,promising:n},...o){let i={};if(r){if(o.length===0)throw new TypeError("callWithOptions with 'kwargs: true' requires at least one argument (the key word argument object)");if(i=o.pop(),i.constructor!==void 0&&i.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object")}let s=e?API.pyodide_code.relaxed_call:this;return e&&o.unshift(this),(n?we:xe)(h(s),o,i)}callKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let r=e.pop();if(r.constructor!==void 0&&r.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return xe(h(this),e,r)}callRelaxed(...e){return API.pyodide_code.relaxed_call(this,...e)}callKwargsRelaxed(...e){return API.pyodide_code.relaxed_call.callKwargs(this,...e)}callPromising(...e){return we(h(this),e,{})}callPromisingKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let r=e.pop();if(r.constructor!==void 0&&r.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return we(h(this),e,r)}bind(e,...r){let{shared:n,props:o}=F(this),{boundArgs:i,boundThis:s,isBound:l}=o,u=e;l&&(u=s);let d=i.concat(r);return o=Object.assign({},o,{boundArgs:d,isBound:!0,boundThis:u}),ae(n.ptr,{shared:n,flags:w(this),props:o})}captureThis(){let{props:e,shared:r}=F(this);return e=Object.assign({},e,{captureThis:!0}),ae(r.ptr,{shared:r,flags:w(this),props:e})}};Be.prototype.prototype=Function.prototype;var Rn=new Map([["i8",Int8Array],["u8",Uint8Array],["u8clamped",Uint8ClampedArray],["i16",Int16Array],["u16",Uint16Array],["i32",Int32Array],["u32",Uint32Array],["i32",Int32Array],["u32",Uint32Array],["i64",globalThis.BigInt64Array],["u64",globalThis.BigUint64Array],["f32",Float32Array],["f64",Float64Array],["dataview",DataView]]),$e=class extends S{static{a(this,"PyBuffer")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(w(e)&128)}},bt=class{static{a(this,"PyBufferMethods")}getBuffer(e){let r;if(e&&(r=Rn.get(e),r===void 0))throw new Error(`Unknown type ${e}`);let n=h(this),o;try{_check_gil();let N=validSuspender.value;validSuspender.value=!1,o=__pyproxy_get_buffer(n),validSuspender.value=N}catch(N){API.fatal_error(N)}o===Module.error&&_pythonexc2js();let{start_ptr:i,smallest_ptr:s,largest_ptr:l,readonly:u,format:d,itemsize:p,shape:v,strides:P,view:g,c_contiguous:E,f_contiguous:B}=o,k=!1;try{let N=!1;r===void 0&&([r,N]=Module.processBufferFormatString(d," In this case, you can pass an explicit type argument."));let L=parseInt(r.name.replace(/[^0-9]/g,""))/8||1;if(N&&L>1)throw new Error("JavaScript has no native support for big endian buffers. In this case, you can pass an explicit type argument. For instance, `getBuffer('dataview')` will return a `DataView`which has native support for reading big endian data. Alternatively, toJs will automatically convert the buffer to little endian.");let A=l-s;if(A!==0&&(i%L!==0||s%L!==0||l%L!==0))throw new Error(`Buffer does not have valid alignment for a ${r.name}`);let c=A/L,y=(i-s)/L,f;A===0?f=new r:f=new r(HEAPU32.buffer,s,c);for(let _ of P.keys())P[_]/=L;return k=!0,Object.create(ie.prototype,Object.getOwnPropertyDescriptors({offset:y,readonly:u,format:d,itemsize:p,ndim:v.length,nbytes:A,shape:v,strides:P,data:f,c_contiguous:E,f_contiguous:B,_view_ptr:g,_released:!1}))}finally{if(!k)try{_check_gil();let N=validSuspender.value;validSuspender.value=!1,_PyBuffer_Release(g),_PyMem_Free(g),validSuspender.value=N}catch(N){API.fatal_error(N)}}}},We=class extends S{static{a(this,"PyDict")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&e.type==="dict"}},ie=class{static{a(this,"PyBufferView")}constructor(){throw new TypeError("PyBufferView is not a constructor")}release(){if(!this._released){try{_check_gil();let e=validSuspender.value;validSuspender.value=!1,_PyBuffer_Release(this._view_ptr),_PyMem_Free(this._view_ptr),validSuspender.value=e}catch(e){API.fatal_error(e)}this._released=!0,this.data=Module.error}}[tr](){this.release()}};var ir={PyProxy:S,PyProxyWithLength:Ae,PyProxyWithGet:Ie,PyProxyWithSet:Ee,PyProxyWithHas:ke,PyDict:We,PyIterable:Ne,PyAsyncIterable:Oe,PyIterator:Te,PyAsyncIterator:Me,PyGenerator:De,PyAsyncGenerator:Re,PyAwaitable:Ue,PyCallable:Ce,PyBuffer:$e,PyBufferView:ie,PythonError:z,PySequence:Fe,PyMutableSequence:Le};function sr(t){t.id!=="canvas"&&console.warn("If you are using canvas element for SDL library, it should have id 'canvas' to work properly."),Module.canvas=t}a(sr,"setCanvas2D");function lr(){return Module.canvas}a(lr,"getCanvas2D");function Fn(t){sr(t)}a(Fn,"setCanvas3D");function Ln(){return lr()}a(Ln,"getCanvas3D");var cr={setCanvas2D:sr,getCanvas2D:lr,setCanvas3D:Fn,getCanvas3D:Ln};var ur=new Map([["INSTALLER","pyodide.unpackArchive"]]);function Un(){if(typeof API<"u"&&API!==globalThis.API)return API.runtimeEnv;let t=typeof Bun<"u",e=typeof Deno<"u",r=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&!process.browser,n=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome")===-1&&navigator.userAgent.indexOf("Safari")>-1,o=typeof read=="function"&&typeof load=="function",i=typeof navigator=="object"&&navigator.userAgent?.includes("Cloudflare-Workers");return Cn({IN_BUN:t,IN_DENO:e,IN_NODE:r,IN_SAFARI:n,IN_SHELL:o,IN_WORKERD:i})}a(Un,"getGlobalRuntimeEnv");var b=Un();function Cn(t){let e=t.IN_NODE&&typeof module<"u"&&module.exports&&typeof x=="function"&&typeof __dirname=="string",r=t.IN_NODE&&!e,n=!t.IN_NODE&&!t.IN_DENO&&!t.IN_BUN,o=n&&typeof window<"u"&&typeof window.document<"u"&&typeof document.createElement=="function"&&"sessionStorage"in window&&typeof globalThis.importScripts!="function",i=n&&typeof globalThis.WorkerGlobalScope<"u"&&typeof globalThis.self<"u"&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(i&&Bn())throw new Error("Classic web workers are not supported");let s={...t,IN_BROWSER:n,IN_BROWSER_MAIN_THREAD:o,IN_BROWSER_WEB_WORKER:i,IN_NODE_COMMONJS:e,IN_NODE_ESM:r};if(!(s.IN_BROWSER_MAIN_THREAD||s.IN_BROWSER_WEB_WORKER||s.IN_NODE||s.IN_SHELL||s.IN_WORKERD))throw new Error(`Cannot determine runtime environment: ${JSON.stringify(s)}`);return s}a(Cn,"calculateDerivedFlags");function Bn(){try{return globalThis.importScripts("data:text/javascript,"),!0}catch{return!1}}a(Bn,"isClassicWorker");function se(){let t=a(()=>{},"_resolve"),e=a(()=>{},"_reject"),r=new Promise((n,o)=>{t=n,e=o});return r.resolve=t,r.reject=e,r}a(se,"createResolvable");function je(){let t=Promise.resolve();async function e(){let r=t,n;return t=new Promise(o=>n=o),await r,n}return a(e,"acquireLock"),e}a(je,"createLock");var $n=/[-_.]+/g;function dr(t){return t.replace($n,"-").toLowerCase()}a(dr,"canonicalizePackageName");var Wn=/^.*?([^\/]*)\.whl$/;function yr(t){let e=Wn.exec(t);if(e){let r=e[1].toLowerCase().split("-");return{name:r[0],version:r[1],fileName:r.join("-")+".whl"}}}a(yr,"uriToPackageData");function pr(t){return btoa(t.match(/\w{2}/g).map(function(e){return String.fromCharCode(parseInt(e,16))}).join(""))}a(pr,"base16ToBase64");var mr,vt,Hn,Ge,Y;async function gr(){if(!b.IN_NODE||(mr=(await import("node:url")).default,Ge=await import("node:fs"),Y=await import("node:fs/promises"),Hn=(await import("node:vm")).default,vt=await import("node:path"),hr=vt.sep,typeof x<"u"))return;let t=Ge,e=await import("node:crypto"),r=await import("ws"),n=await import("node:child_process"),o={fs:t,crypto:e,ws:r,child_process:n};globalThis.require=function(i){return o[i]}}a(gr,"initNodeModules");function _r(t){return t.includes("://")||t.startsWith("/")}a(_r,"isAbsolute");function jn(t,e){return vt.resolve(e||".",t)}a(jn,"node_resolvePath");function zn(t,e){return e===void 0&&(e=location),new URL(t,e).toString()}a(zn,"browser_resolvePath");var le;b.IN_NODE?le=jn:b.IN_SHELL?le=a(t=>t,"resolvePath"):le=zn;var hr;b.IN_NODE||(hr="/");function Gn(t,e){return t.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?{response:fetch(t)}:{binary:Y.readFile(t).then(r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}}a(Gn,"node_getBinaryResponse");function Kn(t,e){if(t.startsWith("file://")&&(t=t.slice(7)),t.includes("://"))throw new Error("Shell cannot fetch urls");return{binary:Promise.resolve(new Uint8Array(readbuffer(t)))}}a(Kn,"shell_getBinaryResponse");function Vn(t,e){let r=new URL(t,location);return{response:fetch(r,e?{integrity:e}:{})}}a(Vn,"browser_getBinaryResponse");var ze;b.IN_NODE?ze=Gn:b.IN_SHELL?ze=Kn:ze=Vn;async function ce(t,e){let{response:r,binary:n}=ze(t,e);if(n)return n;let o=await r;if(!o.ok)throw new Error(`Failed to load '${t}': request failed.`);return new Uint8Array(await o.arrayBuffer())}a(ce,"loadBinaryFile");var fr;b.IN_NODE?fr=Jn:fr=a(async t=>await import(t),"loadScript");async function Jn(t){return t.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?await import(t):await import(mr.pathToFileURL(t).href)}a(Jn,"nodeLoadScript");async function br(t){if(b.IN_NODE&&t)try{await Y.stat(t)}catch{await Y.mkdir(t,{recursive:!0})}}a(br,"ensureDirNode");var ue=class{constructor(e,r){this._lock=je();this.#t=e,this.#e=r}static{a(this,"DynlibLoader")}#t;#e;async loadDynlib(e){let r=await this._lock();try{let n=this.#e.stackSave(),o=this.#e.stringToUTF8OnStack(e);try{let i=this.#e._emscripten_dlopen_promise(o,2);this.#e.stackRestore(n);let s=this.#e.getPromise(i);this.#e.promiseMap.free(i),await s}catch(i){let s=this.getDLError();throw new Error(`Failed to load dynamic library ${e}: ${s??i}`)}}catch(n){throw n&&n.message&&n.message.includes("need to see wasm magic number")?new Error(`Failed to load dynamic library ${e} $. We probably just tried to load a linux .so file or something.`):n}finally{r()}}getDLError(){let e=this.#e._dlerror();return e===0?void 0:this.#e.UTF8ToString(e,512).trim()}async loadDynlibsFromPackage(e,r){for(let n of r)await this.loadDynlib(n)}};if(typeof API<"u"&&typeof Module<"u"){let t=new ue(API,Module);API.loadDynlib=t.loadDynlib.bind(t)}var de=class{static{a(this,"Installer")}#t;#e;constructor(e,r){this.#t=e,this.#e=new ue(e,r)}async install(e,r,n,o){let i=this.#t.package_loader.unpack_buffer.callKwargs({buffer:e,filename:r,extract_dir:n,metadata:o,calculate_dynlibs:!0});await this.#e.loadDynlibsFromPackage({file_name:r},i)}},Pr;if(typeof API<"u"&&typeof Module<"u"){let t=new de(API,Module);Pr=t.install.bind(t),API.install=Pr}function qn(t,e,r){t();let n;try{n=r()}catch(o){throw e(),o}return n instanceof Promise?n.finally(()=>e()):(e(),n)}a(qn,"withContext");function Sr(t,e){return function(r){return function(...n){return qn(t,e,()=>r.apply(this,n))}}}a(Sr,"createContextWrapper");async function Yn(t){await gr();let e=await t,r=typeof e=="string"?JSON.parse(e):e;if(!r.packages)throw new Error("Loaded pyodide lock file does not contain the expected key 'packages'.");if(r.info.abi_version!==API.abiVersion)throw new Error(`Lock file ABI version doesn't match Pyodide ABI version.\n lockfile version: ${r.info.abi_version}\n pyodide version: ${API.abiVersion}`);API.lockfile=r,API.lockfile_info=r.info,API.lockfile_packages=r.packages,API.lockfile_unvendored_stdlibs_and_test=[],API._import_name_to_package_name=new Map;for(let i of Object.keys(API.lockfile_packages)){let s=API.lockfile_packages[i];for(let l of s.imports)API._import_name_to_package_name.set(l,i)}let n=API.config.packages;await pe(n,{messageCallback(){}}),await API.bootstrapFinalizedPromise,API.flushPackageManagerBuffers(),API._pyodide._importhook.register_module_not_found_hook(API._import_name_to_package_name),API.package_loader.init_loaded_packages()}a(Yn,"initializePackageIndex");var Qn="default channel",Xn="pyodide.loadPackage",wt=class{constructor(e,r){this.cdnURL="";this.loadedPackages={};this._lock=je();this.streamReady=!1;this.stdoutBuffer=[];this.stderrBuffer=[];this.defaultChannel=Qn;this.#t=e,this.#e=r,this.#r=new de(e,r),b.IN_NODE?(this.installBaseUrl=this.#t.config.packageCacheDir??this.#t.config.packageBaseUrl,this.cdnURL=this.#t.config.cdnUrl):this.installBaseUrl=this.#t.config.packageBaseUrl,this.stdout=n=>{if(!this.streamReady){this.stdoutBuffer.push(n);return}let o=this.#e.stackSave();try{let i=this.#e.stringToUTF8OnStack(n);this.#e._print_stdout(i)}finally{this.#e.stackRestore(o)}},this.stderr=n=>{if(!this.streamReady){this.stderrBuffer.push(n);return}let o=this.#e.stackSave();try{let i=this.#e.stringToUTF8OnStack(n);this.#e._print_stderr(i)}finally{this.#e.stackRestore(o)}}}static{a(this,"PackageManager")}#t;#e;#r;async loadPackage(e,r={checkIntegrity:!0}){return this.setCallbacks(r.messageCallback,r.errorCallback)(this.loadPackageInner.bind(this))(e,r)}async loadPackageInner(e,r={checkIntegrity:!0}){let n=new Set,o=eo(e),i=this.recursiveDependencies(o);for(let[d,{name:p,normalizedName:v,channel:P}]of i){let g=this.getLoadedPackageChannel(p);g&&(i.delete(v),g===P||P===this.defaultChannel?this.logStdout(`${p} already loaded from ${g}`):this.logStderr(`URI mismatch, attempting to load package ${p} from ${P} while it is already loaded from ${g}. To override a dependency, load the custom package first.`))}if(i.size===0)return this.logStdout("No new packages to load"),[];let s=Array.from(i.values(),({name:d})=>d).sort().join(", "),l=new Map,u=await this._lock();try{this.logStdout(`Loading ${s}`);for(let[d,p]of i){if(this.getLoadedPackageChannel(p.name)){i.delete(p.normalizedName);continue}p.installPromise=this.downloadAndInstall(p,i,n,l,r.checkIntegrity)}if(await Promise.all(Array.from(i.values(),({installPromise:d})=>d)),n.size>0){let d=Array.from(n,p=>p.name).sort().join(", ");this.logStdout(`Loaded ${d}`)}if(l.size>0){let d=Array.from(l.keys()).sort().join(", ");this.logStdout(`Failed to load ${d}`);for(let[p,v]of l)this.logStderr(`The following error occurred while loading ${p}:`),this.logStderr(v.message)}return await this.#t.bootstrapFinalizedPromise,this.#t.importlib.invalidate_caches(),Array.from(n,Zn)}finally{u()}}addPackageToLoad(e,r){let n=dr(e);if(r.has(n))return;let o=this.#t.lockfile_packages[n];if(!o)throw new Error(`No known package with name '${e}'`);if(r.set(n,{name:o.name,normalizedName:n,channel:this.defaultChannel,depends:o.depends,installPromise:void 0,done:se(),packageData:o}),!this.getLoadedPackageChannel(o.name))for(let i of o.depends)this.addPackageToLoad(i,r)}recursiveDependencies(e){let r=new Map;for(let n of e){let o=yr(n);if(o===void 0){this.addPackageToLoad(n,r);continue}let{name:i,version:s,fileName:l}=o,u=n;if(r.has(i)&&r.get(i).channel!==u){this.logStderr(`Loading same package ${i} from ${u} and ${r.get(i).channel}`);continue}r.set(i,{name:i,normalizedName:i,channel:u,depends:[],installPromise:void 0,done:se(),packageData:{name:i,version:s,file_name:l,install_dir:"site",sha256:"",package_type:"package",imports:[],depends:[]}})}return r}async downloadPackage(e,r=!0){await br(this.installBaseUrl);let n,o,i;if(e.channel===this.defaultChannel){if(!(e.normalizedName in this.#t.lockfile_packages))throw new Error(`Internal error: no entry for package named ${name}`);let l=this.#t.lockfile_packages[e.normalizedName];if(n=l.file_name,!_r(n)&&!this.installBaseUrl)throw new Error(`Lock file file_name for package "${e.name}" is relative path "${n}" but no packageBaseUrl provided to loadPyodide.`);o=le(n,this.installBaseUrl),i="sha256-"+pr(l.sha256)}else o=e.channel,i=void 0;r||(i=void 0);try{return await ce(o,i)}catch(l){if(!b.IN_NODE||e.channel!==this.defaultChannel||!n||n.startsWith("/"))throw l}this.logStdout(`Didn't find package ${n} locally, attempting to load from ${this.cdnURL}`);let s=await ce(this.cdnURL+n);return this.logStdout(`Package ${n} loaded from ${this.cdnURL}, caching the wheel in node_modules for future use.`),await Y.writeFile(o,s),s}async installPackage(e,r){let n=this.#t.lockfile_packages[e.normalizedName];n||(n=e.packageData);let o=n.file_name,i=this.#t.package_loader.get_install_dir(n.install_dir);await this.#r.install(r,o,i,new Map([["INSTALLER",Xn],["PYODIDE_SOURCE",e.channel===this.defaultChannel?"pyodide":e.channel]]))}async downloadAndInstall(e,r,n,o,i=!0){if(ye[e.name]===void 0)try{let s=await this.downloadPackage(e,i),l=e.depends.map(u=>r.has(u)?r.get(u).done:Promise.resolve());await this.#t.bootstrapFinalizedPromise,await Promise.all(l),await this.installPackage(e,s),n.add(e.packageData),ye[e.name]=e.channel}catch(s){o.set(e.name,s)}finally{e.done.resolve()}}flushBuffers(){this.streamReady=!0;for(let e of this.stdoutBuffer)this.stdout(e);for(let e of this.stderrBuffer)this.stderr(e);this.stdoutBuffer=[],this.stderrBuffer=[]}getLoadedPackageChannel(e){let r=this.loadedPackages[e];return r===void 0?null:r}setCallbacks(e,r){let n=this.stdout,o=this.stderr;return Sr(()=>{this.stdout=e||n,this.stderr=r||o},()=>{this.stdout=n,this.stderr=o})}logStdout(e){this.stdout(e)}logStderr(e){this.stderr(e)}};function Zn({name:t,version:e,file_name:r,package_type:n}){return{name:t,version:e,fileName:r,packageType:n}}a(Zn,"filterPackageData");function eo(t){return typeof t.toJs=="function"&&(t=t.toJs()),Array.isArray(t)||(t=[t]),t}a(eo,"toStringArray");var pe,ye;if(typeof API<"u"&&typeof Module<"u"){let t=new wt(API,Module);pe=t.loadPackage.bind(t),ye=t.loadedPackages,API.flushPackageManagerBuffers=t.flushBuffers.bind(t),API.lockFilePromise&&(API.packageIndexReady=Yn(API.lockFilePromise)),API.packageManager=t}var vr="314.0.3";var Tt=b.IN_NODE?x("node:fs"):void 0,Ar=b.IN_NODE?x("node:tty"):void 0;function Ir(t){try{Tt.fsyncSync(t)}catch(e){if(e?.code==="EINVAL"||(t===0||t===1||t===2)&&(e?.code==="ENOTSUP"||e?.code==="EBADF"||e?.code==="EPERM"))return;throw e}}a(Ir,"nodeFsync");var Er=!1,Ve={},D={};function At(t){Ve[D.stdin]=t}a(At,"_setStdinOps");function to(t){Ve[D.stdout]=t}a(to,"_setStdoutOps");function ro(t){Ve[D.stderr]=t}a(ro,"_setStderrOps");function no(t){return t&&typeof t=="object"&&"errno"in t}a(no,"isErrnoError");var oo=new Int32Array(new WebAssembly.Memory({shared:!0,initial:1,maximum:1}).buffer);function ao(t){try{return Atomics.wait(oo,0,0,t),!0}catch{return!1}}a(ao,"syncSleep");function io(t){for(;;)try{return t()}catch(e){if(e&&e.code==="EAGAIN"&&ao(100))continue;throw e}}a(io,"handleEAGAIN");function wr(t,e,r){let n;try{n=io(e)}catch(o){throw o&&o.code&&Module.ERRNO_CODES[o.code]?new FS.ErrnoError(Module.ERRNO_CODES[o.code]):no(o)?o:(console.error(`Error thrown in ${r}:`),console.error(o),new FS.ErrnoError(29))}if(n===void 0)throw console.warn(`${r} returned undefined; a correct implementation must return a number`),new FS.ErrnoError(29);return n!==0&&(t.node.timestamp=Date.now()),n}a(wr,"readWriteHelper");var xr=a((t,e,r)=>API.typedArrayAsUint8Array(t).subarray(e,e+r),"prepareBuffer"),so={ioctl_tiocgwinsz(t){let{rows:e=24,columns:r=80}=t.devops.getTerminalSize?.()??{};return[e,r]}},xt={open:a(function(t){let e=Ve[t.node.rdev];if(!e)throw new FS.ErrnoError(43);t.devops=e,t.tty=t.devops.isatty?{ops:so,devops:e}:void 0,t.seekable=!1},"open"),close:a(function(t){t.stream_ops.fsync(t)},"close"),fsync:a(function(t){let e=t.devops;e.fsync&&e.fsync()},"fsync"),read:a(function(t,e,r,n,o){return e=xr(e,r,n),wr(t,()=>t.devops.read(e),"read")},"read"),write:a(function(t,e,r,n,o){return e=xr(e,r,n),wr(t,()=>t.devops.write(e),"write")},"write")};function Je(){Er&&(FS.closeStream(0),FS.closeStream(1),FS.closeStream(2),FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1))}a(Je,"refreshStreams");API.initializeStreams=function(t,e,r){let n=FS.createDevice.major++;D.stdin=FS.makedev(n,0),D.stdout=FS.makedev(n,1),D.stderr=FS.makedev(n,2),FS.registerDevice(D.stdin,xt),FS.registerDevice(D.stdout,xt),FS.registerDevice(D.stderr,xt),FS.unlink("/dev/stdin"),FS.unlink("/dev/stdout"),FS.unlink("/dev/stderr"),FS.mkdev("/dev/stdin",D.stdin),FS.mkdev("/dev/stdout",D.stdout),FS.mkdev("/dev/stderr",D.stderr),fe({stdin:t}),Dt({batched:e}),Mt({batched:r}),Er=!0,Je()};function lo(){b.IN_NODE?fe(new Et(process.stdin)):fe({stdin:a(()=>prompt(),"stdin")})}a(lo,"setDefaultStdin");function co(){At(new It),Je()}a(co,"setStdinError");function fe(t={}){let{stdin:e,error:r,isatty:n,autoEOF:o,read:i}=t,s=+!!e+ +!!r+ +!!i;if(s>1)throw new TypeError("At most one of stdin, read, and error must be provided.");if(!e&&o!==void 0)throw new TypeError("The 'autoEOF' option can only be used with the 'stdin' option");if(s===0){lo();return}r&&co(),e&&(o=o===void 0?!0:o,At(new kt(e.bind(t),!!n,o))),i&&At(t),Je()}a(fe,"setStdin");function kr(t,e,r){let n=t,{raw:o,isatty:i,batched:s,write:l}=n;if(!o&&!l&&i)throw new TypeError("Cannot set 'isatty' to true unless 'raw' or 'write' is provided");let u=+!!o+ +!!s+ +!!l;if(u>1)throw new TypeError("At most one of 'raw', 'batched', and 'write' must be passed");u===0&&(n=r(),({raw:o,isatty:i,batched:s,write:l}=n)),o&&e(new Nt(n)),s&&e(new Ot(s.bind(n))),l&&e(n),Je()}a(kr,"_setStdwrite");function uo(){return b.IN_NODE?new Ke(process.stdout):{batched:a(t=>console.log(t),"batched")}}a(uo,"_getStdoutDefaults");function yo(){return b.IN_NODE?new Ke(process.stderr):{batched:a(t=>console.warn(t),"batched")}}a(yo,"_getStderrDefaults");function Dt(t){kr(t??{},to,uo)}a(Dt,"setStdout");function Mt(t){kr(t??{},ro,yo)}a(Mt,"setStderr");var po=globalThis.TextEncoder??function(){},fo=new po,It=class{static{a(this,"ErrorReader")}read(e){throw new FS.ErrnoError(29)}},Et=class{static{a(this,"NodeReader")}constructor(e){this.stream=e,this.isatty=Ar.isatty(e.fd)}read(e){try{return Tt.readSync(this.stream.fd,e)}catch(r){if(r.toString().includes("EOF"))return 0;throw r}}fsync(){Ir(this.stream.fd)}},kt=class{static{a(this,"LegacyReader")}constructor(e,r,n){this.infunc=e,this.isatty=r,this.autoEOF=n,this.index=0,this.saved=void 0,this.insertEOF=!1}_getInput(){if(this.saved)return this.saved;let e=this.infunc();if(typeof e=="number")return e;if(e!=null){if(ArrayBuffer.isView(e)){if(e.BYTES_PER_ELEMENT!==1)throw console.warn(`Expected BYTES_PER_ELEMENT to be 1, infunc gave ${e.constructor}`),new FS.ErrnoError(29);return e}if(typeof e=="string")return e.endsWith(`\n`)||(e+=`\n`),e;if(Object.prototype.toString.call(e)==="[object ArrayBuffer]")return new Uint8Array(e);throw console.warn("Expected result to be undefined, null, string, array buffer, or array buffer view"),new FS.ErrnoError(29)}}read(e){if(this.insertEOF)return this.insertEOF=!1,0;let r=0;for(;;){let n=this._getInput();if(typeof n=="number"){e[0]=n,e=e.subarray(1),r++;continue}let o;if(n&&n.length>0)if(typeof n=="string"){let{read:i,written:s}=fo.encodeInto(n,e);this.saved=n.slice(i),r+=s,o=e[s-1],e=e.subarray(s)}else{let i;n.length>e.length?(e.set(n.subarray(0,e.length)),this.saved=n.subarray(e.length),i=e.length):(e.set(n),this.saved=void 0,i=n.length),r+=i,o=e[i-1],e=e.subarray(i)}if(!(n&&n.length>0)||this.autoEOF||e.length===0)return this.insertEOF=r>0&&this.autoEOF&&o!==10,r}}fsync(){}},Nt=class{static{a(this,"CharacterCodeWriter")}constructor(e){this.options=e,this.isatty=!!e.isatty}write(e){for(let r of e)this.options.raw(r);return e.length}getTerminalSize(){return this.options.getTerminalSize?.()}},Ot=class{constructor(e){this.isatty=!1;this.out=e,this.output=[]}static{a(this,"StringWriter")}write(e){for(let r of e)r===10?(this.out(UTF8ArrayToString(new Uint8Array(this.output))),this.output=[]):r!==0&&this.output.push(r);return e.length}fsync(){this.output&&this.output.length>0&&(this.out(UTF8ArrayToString(new Uint8Array(this.output))),this.output=[])}},Ke=class{static{a(this,"NodeWriter")}constructor(e){this.stream=e,this.isatty=Ar.isatty(e.fd)}write(e){return Tt.writeSync(this.stream.fd,e)}fsync(){Ir(this.stream.fd)}getTerminalSize(){return this.stream}};var Rt="sched$"+Math.random().toString(36).slice(2)+"$",X={},Nr=0,Q=null,Ft=[];function mo(){if(!b.IN_BROWSER_MAIN_THREAD)return;let t=a(e=>{if(typeof e.data=="string"&&e.data.indexOf(Rt)===0){let r=+e.data.slice(Rt.length),n=X[r];if(!n)return;try{n()}finally{delete X[r]}}},"onGlobalMessage");globalThis.addEventListener("message",t,!1)}a(mo,"installPostMessageHandler");mo();function go(){Q||b.IN_SAFARI||b.IN_DENO||b.IN_NODE||typeof globalThis.MessageChannel=="function"&&(Q=new MessageChannel,Q.port1.onmessage=()=>{let t=Ft.length;for(let e=0;e<t;e++){let r=Ft.shift(),n=X[r];if(n)try{n()}finally{delete X[r]}}},Q.port1.start?.())}a(go,"ensureSharedChannel");go();function _o(t){if(b.IN_NODE)setImmediate(t);else if(Q){let e=Nr++;X[e]=t,Ft.push(e),Q.port2.postMessage(0)}else if(b.IN_BROWSER_MAIN_THREAD&&typeof globalThis.postMessage=="function"){let e=Nr++;X[e]=t,globalThis.postMessage(Rt+e,"*")}else setTimeout(t,0)}a(_o,"scheduleCallbackImmediate");function me(t,e=0){e<=2?_o(t):setTimeout(t,e)}a(me,"scheduleCallback");function Or(t){return new Promise(e=>me(e,t))}a(Or,"sleep");var{get:ho,getOwnPropertyDescriptor:bo,ownKeys:Po}=Reflect,So=a(t=>({value:t,enumerable:!0,writable:!0,configurable:!0}),"getPropertyDescriptor"),Dr=Symbol(),Tr="prototype",vo={deleteProperty:a((t,e)=>t.has(e)?t.delete(e):delete t[e],"deleteProperty"),get(t,e,r){if(e===Dr)return t;let n=t[e];return typeof n=="function"&&e!=="constructor"&&(n=n.bind(t)),n||=t.get(e),n},getOwnPropertyDescriptor(t,e){if(t.has(e))return So(t.get(e));if(e in t)return bo(t,e)},has:a((t,e)=>t.has(e)||e in t,"has"),ownKeys:a(t=>[...t.keys(),...Po(t)].filter(e=>["string","symbol"].includes(typeof e)),"ownKeys"),set:a((t,e,r)=>(t.set(e,r),!0),"set")},wo=new Proxy(class extends Map{static{a(this,"LiteralMap")}constructor(...e){return new Proxy(super(...e),vo)}},{get(t,e,...r){return e!==Tr&&e in t[Tr]?(n,...o)=>{let i=n[Dr],s=i[e];return typeof s=="function"&&(s=s.apply(i,o)),s===i?n:s}:ho(t,e,...r)}}),Mr=wo;var qe=new FinalizationRegistry(t=>void t());function xo(t){let e=new AbortController;for(let l of t)if(l.aborted)return e.abort(l.reason),e.signal;let r=new WeakRef(e),n=[],o=t.length;t.forEach(l=>{let u=new WeakRef(l);function d(){r.deref()?.abort(u.deref()?.reason)}a(d,"abort"),l.addEventListener("abort",d),n.push([u,d]),qe.register(l,()=>!--o&&i(),l)});function i(){n.forEach(([l,u])=>{let d=l.deref();d&&(d.removeEventListener("abort",u),qe.unregister(d));let p=r.deref();p&&(qe.unregister(p.signal),delete p.signal.__controller)})}a(i,"clear");let{signal:s}=e;return qe.register(s,i,s),s.addEventListener("abort",i),s.__controller=e,s}a(xo,"abortSignalAny");var Rr=xo;API.getExpectedKeys=function(){return[null,API.config.jsglobals,API.public_api,API,me,API,{}]};var Cr=Symbol("getAccessorList"),Fr=Symbol("getObject");function Ye(t,e=[]){return new Proxy(t,{get(r,n,o){if(n===Cr)return e;if(n===Fr)return r;let i=Reflect.get(...arguments),s=Reflect.getOwnPropertyDescriptor(r,n);return s&&s.writable===!1&&!s.configurable||s&&s.set&&!s.get||!["object","function"].includes(typeof i)?i:Ye(i,[...e,n])},apply(r,n,o){return n=n?.[Fr]??n,Reflect.apply(r,n,o)},getPrototypeOf(){return Ye(Reflect.getPrototypeOf(...arguments),[...e,"[getProtoTypeOf]"])}})}a(Ye,"makeGlobalsProxy");var Br=1886286592,Qe=48;function Ao(t,e){if(e.length!==8)throw new Error("Expected 256 bit buffer");for(let r=0;r<32;r++)e[r]=parseInt(t.slice(r*8,(r+1)*8),16)}a(Ao,"encodeBuildId");function Io(t){if(t.length!==8)throw new Error("Expected 256 bit buffer");return Array.from(t,e=>e.toString(16).padStart(8,"0")).join("")}a(Io,"decodeBuildId");function Lr(t,e,r){if(e===r)return;if(typeof r=="function"&&typeof e!="function")throw console.warn(r,e),new Error(`Expected function at index ${t}`);let n=!1;try{n=JSON.stringify(e)===JSON.stringify(r)}catch(o){console.warn(o)}if(!n)throw console.warn(r,e),new Error(`Unexpected hiwire entry at index ${t}`)}a(Lr,"checkEntry");var ge=6;API.serializeHiwireState=function(t,e){e||(e=Lr);let r=[],n=API.getExpectedKeys();for(let s=0;s<n.length;s++){let l;try{l=Module.__hiwire_get(s)}catch{throw new Error(`Failed to get value at index ${s}`)}Lr(s,l,n[s])}for(let s=n.length;;s++){let l;try{l=Module.__hiwire_get(s)}catch{break}if(!["object","function"].includes(typeof l))throw new Error(`Unexpected object of type ${typeof l} at index ${s}`);if(l===null){r.push(l);continue}let u;try{u=l[Cr]}catch{}if(u){r.push({path:u});continue}if(l===API){r.push({API:!0});continue}if(l===API.abortSignalAny){r.push({abortSignalAny:!0});continue}if(t){let d=t(l);try{JSON.stringify(d)}catch{throw console.warn(`Serializer returned result that cannot be JSON.stringify'd at index ${s}.`),console.warn(" Input: ",l),console.warn(" Output:",d),new Error(`Serializer returned result that cannot be JSON.stringify'd at index ${s}.`)}r.push({serialized:d});continue}throw new Error(`Can't serialize object at index ${s}`)}let o=[];if(Module.__hiwire_immortal_get(ge)?.noValueMarker!==1)throw new Error(`Internal error: expected js_no_value object at index ${ge}`);for(let s=ge+1;;s++){let l;try{l=Module.__hiwire_immortal_get(s)}catch{break}if(typeof l!="string")throw new Error("Expected a string");o.push(l)}return{hiwireKeys:r,immortalKeys:o}};API.makeSnapshot=function(t){if(!API.config._makeSnapshot)throw new Error("makeSnapshot only works if you passed the makeSnapshot option to loadPyodide");let e=API.serializeHiwireState(t),r=JSON.stringify(e),n=Qe+2*r.length;n=Math.ceil(n/16)*16;let o=new Uint8Array(n+Module.HEAP8.length),i=new TextEncoder,{written:s}=i.encodeInto(r,o.subarray(Qe)),l=new Uint32Array(o.buffer);return l[0]=Br,l[1]=n,l[2]=s,l[3]=0,Ao(API.config.BUILD_ID,l.subarray(4,12)),o.subarray(n).set(Module.HEAP8),o};API.restoreSnapshot=function(t){let e=new Uint32Array(t.buffer,t.byteOffset,t.byteLength/4);if(e[0]!==Br)throw new Error("Snapshot has invalid magic number");let r=e[1],n=e[2],o=Io(e.subarray(4,12));if(o!==API.config.BUILD_ID)throw new Error(`Snapshot build id mismatch\nexpected: ${API.config.BUILD_ID}\ngot : ${o}\n`);let i=t.subarray(Qe,Qe+n);t=t.subarray(r);let s=(new TextDecoder).decode(i),l=JSON.parse(s);return Module.HEAP8.set(t),l};function $r(){if(Module._jslib_init(),Module.__hiwire_immortal_get(ge)?.noValueMarker!==1)throw new Error(`Internal error: expected js_no_value object at index ${ge}`);Module._init_pyodide_proxy(),Module.runtimeKeepalivePush()}a($r,"syncUpSnapshotLoad1");function Ur(t,e){if(Module.__hiwire_set(t,e)<0)throw new Error("table set failed")}a(Ur,"tableSet");function Wr(t,e,r){let n=API.getExpectedKeys();n.forEach((o,i)=>Ur(i,o)),e.hiwireKeys.forEach((o,i)=>{let s;if(!o)s=o;else if("path"in o)s=o.path.reduce((l,u)=>l[u],t)||null;else if("abortSignalAny"in o)s=API.abortSignalAny;else if("API"in o)s=API;else{if(!r)throw new Error("You must pass an appropriate deserializer as _snapshotDeserializer");s=r(o.serialized)}Ur(n.length+i,s)}),e.immortalKeys.forEach(o=>Module.__hiwire_immortal_add(o))}a(Wr,"syncUpSnapshotLoad2");async function Hr(t,e){return new Promise((r,n)=>{t.FS.syncfs(e,o=>{o?n(o):r()})})}a(Hr,"syncfs");async function jr(t){return await Hr(t,!1)}a(jr,"syncLocalToRemote");async function zr(t){return await Hr(t,!0)}a(zr,"syncRemoteToLocal");function Eo(t){return typeof t=="object"&&t!==null&&Object.hasOwn(t,"hostname")&&Object.hasOwn(t,"port")}a(Eo,"isSocketAddress");var Xe=null,Lt=null,Ut=null;async function Gr(){if(Xe)return;let[t,e,r]=await Promise.all([import("node:net"),import("node:tls"),import("node:stream")]);Xe=t,Lt=e,Ut=a(n=>r.Duplex.toWeb(n),"_duplexToWeb")}a(Gr,"init");function ko(){if(!Xe)throw new Error("wintercg-sockets: call init() first");return Xe}a(ko,"getNet");function No(){if(!Lt)throw new Error("wintercg-sockets: call init() first");return Lt}a(No,"getTls");function Oo(){if(!Ut)throw new Error("wintercg-sockets: call init() first");return Ut}a(Oo,"getDuplexToWeb");var _e=class extends TypeError{static{a(this,"SocketError")}constructor(e){super(`SocketError: ${e}`)}};function Kr(t,e){if(typeof t=="string"){let r=new URL(`https://${t}`);t={hostname:r.hostname,port:parseInt(r.port===""?"443":r.port)}}return new Ct(t,e)}a(Kr,"connect");var Ct=class t{constructor(e,r){this.startTlsCalled=!1;let n=ko(),o=No(),i=Oo();if(this.secureTransport=r?.secureTransport??"off",this.allowHalfOpen=r?.allowHalfOpen??!0,this.openedIsResolved=!1,this.opened=new Promise((u,d)=>{this.openedResolve=p=>{this.openedIsResolved=!0,u(p)},this.openedReject=(...p)=>{this.openedIsResolved=!0,d(...p)}}),this.closed=new Promise((u,d)=>{this.closedResolve=(...p)=>{u(...p)},this.closedReject=(...p)=>{d(...p)}}),Eo(e)){let u={host:e.hostname,port:e.port,allowHalfOpen:this.allowHalfOpen};this.secureTransport==="on"?this._socket=o.connect(u):this._socket=n.connect(u)}else this._socket=new o.TLSSocket(e);this._socket instanceof o.TLSSocket?this._socket.on("secureConnect",()=>{this.openedResolve({remoteAddress:this._socket.remoteAddress,localAddress:this._socket.localAddress})}):this._socket.on("connect",()=>{this.openedResolve({remoteAddress:this._socket.remoteAddress,localAddress:this._socket.localAddress})}),this._socket.on("close",u=>{u||this.closedResolve()}),this._socket.on("error",u=>{let d=new _e(u instanceof Error?u.message:u);this.openedIsResolved||this.openedReject(d),this.closedReject(d)});let{readable:s,writable:l}=i(this._socket);this.readable=s,this.writable=l}static{a(this,"Socket")}close(){return this._socket.end(()=>{this.closedResolve()}),this.closed}startTls(){if(this.secureTransport!=="starttls")throw new _e("secureTransport must be set to 'starttls'");if(this.startTlsCalled)throw new _e("can only call startTls once");return this.startTlsCalled=!0,new t(this._socket,{secureTransport:"on"})}};async function Vr(t){t||(await Gr(),t=Kr);let e=Module,r=e.FS,n=e.API,o=16895,i=0,s=1,l=2,u=0,d=4,p=6,v=8;function P(c){let y=c.reader;if(c.readPending||c.eof||!y)return;c.readPending=!0;let f=(async()=>{try{let m;try{m=await y.read()}catch{c.reader===y&&(c.eof=!0,g(c));return}if(c.reader!==y)return;if(m.done){c.eof=!0,g(c);return}c.recvBuffer.push(m.value),c.recvBufferBytes+=m.value.length,g(c)}finally{c.readPending=!1}})();c.readSettled=f,f.finally(()=>{c.readSettled===f&&(c.readSettled=null)})}a(P,"startRead");function g(c){c.dataAvailable&&(c.dataAvailable.resolve(),c.dataAvailable=null)}a(g,"notifyDataAvailable");function E(c){return c.recvBufferBytes>0||c.eof||!c.reader?Promise.resolve():(c.dataAvailable??=se(),P(c),c.dataAvailable)}a(E,"waitForData");function B(c,y){if(c.recvBufferBytes===0)return new Uint8Array(0);if(c.recvBuffer.length===1&&c.recvBuffer[0].length<=y){let _=c.recvBuffer.shift();return c.recvBufferBytes=0,_}let f=new Uint8Array(Math.min(y,c.recvBufferBytes)),m=0;for(;m<f.length&&c.recvBuffer.length>0;){let _=c.recvBuffer[0],O=f.length-m;_.length<=O?(f.set(_,m),m+=_.length,c.recvBuffer.shift()):(f.set(_.subarray(0,O),m),c.recvBuffer[0]=_.subarray(O),m+=O)}return c.recvBufferBytes-=f.length,f}a(B,"drainBuffer");let k={poll(c){let y=0;return(c.recvBufferBytes>0||c.eof)&&(y|=65),c.connected&&c.writer&&(y|=4),c.closed&&(y|=16),y},async pollAsync(c,y,f){let m=a(()=>k.poll(c)&(y|8|16),"getRequestedEvents"),_=m();return _||f===0?_:(f<0?await E(c):await Promise.race([E(c),Or(f)]),m())},ioctl(c,y){return y===21531?c.recvBufferBytes:-28},fcntl64(c,y,f){return y===3?c.stream.flags:y===4?(c.stream.flags=e.HEAP32[f/4],0):-28},close(c){return c.closed=!0,g(c),c.wcgSocket&&(c.reader=null,c.writer=null,c.wcgSocket.close().catch(()=>{}),c.wcgSocket=null),c.recvBuffer=[],c.recvBufferBytes=0,c.connected=!1,c.connecting=!1,0},async connectAsync(c,y,f,m){if(c.wcgSocket)return-30;c.connecting=!0,c.daddr=y,c.dport=f;let _=t({hostname:y,port:f},{secureTransport:m?.secureTransport??"starttls",allowHalfOpen:!1});c.wcgSocket=_;try{return await _.opened,c.connected=!0,c.connecting=!1,c.reader=_.readable.getReader(),c.writer=_.writable.getWriter(),_.closed.then(()=>{c.closed=!0},()=>{c.closed=!0}),0}catch{return c.error=14,c.connecting=!1,-c.error}},async sendmsgAsync(c,y){if(!c.writer)return-53;try{return await c.writer.write(y),y.length}catch(f){let m=f instanceof Error?f.message:String(f);return m.includes("EPIPE")||m.includes("ECONNRESET")?-64:-29}},async recvmsgAsync(c,y){let f=a(()=>{let _=B(c,y);return _.length>0?_:c.eof?0:null},"tryDrain"),m=f();if(m!==null)return m;if(c.stream.flags&2048)return P(c),f()??-6;for(;c.recvBufferBytes===0&&!c.eof&&c.reader;)await E(c);return f()??-6},shutdown(c,y){return y!==i&&y!==s&&y!==l?-28:((y===i||y===l)&&c.reader&&(c.reader=null,c.recvBuffer=[],c.recvBufferBytes=0,c.eof=!0,g(c)),(y===s||y===l)&&c.writer&&(c.writer=null),c.reader===null&&c.writer===null&&c.wcgSocket&&(c.wcgSocket.close().catch(()=>{}),c.wcgSocket=null,c.connected=!1,c.closed=!0),0)},async startTls(c){if(!c.wcgSocket)return-53;for(;c.readPending&&c.readSettled;)await c.readSettled;c.reader&&(c.reader.releaseLock(),c.reader=null),c.writer&&(c.writer.releaseLock(),c.writer=null);let y=c.wcgSocket.startTls();return c.wcgSocket=y,c.reader=y.readable.getReader(),c.writer=y.writable.getWriter(),c.recvBuffer=[],c.recvBufferBytes=0,c.eof=!1,y.closed.then(()=>{c.closed=!0},()=>{c.closed=!0}),P(c),0},bind(c,y,f){throw new r.ErrnoError(138)},listen(c,y){throw new r.ErrnoError(138)},accept(c){throw new r.ErrnoError(138)}},N={poll(c){let y=c.node.sock;return k.poll(y)},ioctl(c,y){let f=c.node.sock;return k.ioctl(f,y)},write(){throw new r.ErrnoError(138)},close(c){let y=c.node.sock;k.close(y)}},L=0,A={root:null,mount(){return r.createNode(null,"/",o,0)},createSocket(c,y,f){if(c!==2)throw new r.ErrnoError(5);if(y&=-526337,y!==1)throw y===2?new r.ErrnoError(138):new r.ErrnoError(28);if(f&&f!==6)throw new r.ErrnoError(66);let m={family:c,type:y,protocol:f,error:null,wcgSocket:null,reader:null,writer:null,recvBuffer:[],recvBufferBytes:0,eof:!1,dataAvailable:null,readPending:!1,readSettled:null,connected:!1,connecting:!1,closed:!1,sock_ops:k},_=`socket[${L++}]`,O=r.createNode(A.root,_,49152,0);O.sock=m;let Z=r.createStream({path:_,node:O,flags:2,seekable:!1,stream_ops:N});return m.stream=Z,m},getSocket(c){let y=r.getStream(c);return!y||!r.isSocket(y.node.mode)?null:y.node.sock},async pollAsync(c,y,f){let m=0,_=[];for(let O=0;O<y;O++){let Z=c+v*O,Yr=e.HEAP32[Z+u>>2],$t=e.HEAP16[Z+d>>1],Ze=a(et=>{et&=$t|8|16,e.HEAP16[Z+p>>1]=et,et&&m++},"setRevents"),ee=A.getSocket(Yr);ee?f===0?Ze(ee.sock_ops.poll(ee)):_.push(ee.sock_ops.pollAsync(ee,$t,f).then(Ze)):Ze(32)}return await Promise.all(_),m}};n._nodeSock={async connect(c,y,f){let m=A.getSocket(c);if(!m)throw new r.ErrnoError(8);let _=await k.connectAsync(m,y,f);if(_<0)throw new r.ErrnoError(-_)},async recv(c,y){let f=A.getSocket(c);if(!f)throw new r.ErrnoError(8);for(;f.recvBufferBytes===0&&!f.eof&&f.reader;)await E(f);return B(f,y)},async send(c,y){let f=A.getSocket(c);if(!f)throw new r.ErrnoError(8);let m;return y instanceof Uint8Array?m=y:y.toJs?m=y.toJs():m=new Uint8Array(y),await k.sendmsgAsync(f,m)},async startTls(c){let y=A.getSocket(c);return y?await k.startTls(y):-8}},e.FS.filesystems.NODESOCKFS=A,A.root=e.FS.mount(A,{},null),e.SOCKFS.createSocket=A.createSocket,e.SOCKFS.pollAsync=A.pollAsync}a(Vr,"initializeNodeSockFS");API.loadBinaryFile=ce;API.rawRun=a(function(e){let r=Module.stringToNewUTF8(e);Module.API.capture_stderr();let n=_PyRun_SimpleString(r);_free(r);let o=Module.API.restore_stderr().trim();return[n,o]},"rawRun");API.runPythonInternal=function(t){return API._pyodide._base.eval_code(t,API.runPythonInternal_dict)};API.setPyProxyToStringMethod=function(t){Module.HEAP8[Module._compat_to_string_repr]=+t};API.setCompatToJsLiteralMap=function(t){Module.HEAP8[Module._compat_dict_to_literalmap]=+t};API.setCompatNullToNone=function(t){Module.HEAP8[Module._compat_null_to_none]=+t};API.saveState=()=>API.pyodide_py._state.save_state();API.restoreState=t=>API.pyodide_py._state.restore_state(t);API.scheduleCallback=me;API.initializeNodeSockFS=Vr;typeof AbortSignal<"u"&&AbortSignal.any?API.abortSignalAny=AbortSignal.any:API.abortSignalAny=Rr;API.LiteralMap=Mr;function Jr(t){Module.FS.mkdirTree(t);let{node:e}=Module.FS.lookupPath(t,{follow_mount:!1});if(Module.FS.isMountpoint(e))throw new Error(`path '${t}' is already a file system mount point`);if(!Module.FS.isDir(e.mode))throw new Error(`path '${t}' points to a file not a directory`);for(let r in e.contents)throw new Error(`directory '${t}' is not empty`)}a(Jr,"ensureMountPathExists");var Bt=class{static{a(this,"PyodideAPI_")}static{this.version=vr}static{this.loadPackage=pe}static{this.loadedPackages=ye}static{this.ffi=ir}static{this.setStdin=fe}static{this.setStdout=Dt}static{this.setStderr=Mt}static{this.globals={}}static{this.FS={}}static{this.PATH={}}static{this.canvas=cr}static{this.ERRNO_CODES={}}static{this.pyodide_py={}}static async loadPackagesFromImports(e,r={checkIntegrity:!0}){let n=API.pyodide_code.find_imports(e),o;try{o=n.toJs()}finally{n.destroy()}if(o.length===0)return[];let i=API._import_name_to_package_name,s=new Set;for(let l of o)i.has(l)&&s.add(i.get(l));return s.size?await pe(Array.from(s),r):[]}static runPython(e,r={}){return r.globals||(r.globals=API.globals),API.pyodide_code.eval_code.callKwargs(e,r)}static async runPythonAsync(e,r={}){return r.globals||(r.globals=API.globals),await API.pyodide_code.eval_code_async.callKwargs(e,r)}static registerJsModule(e,r){API.pyodide_ffi.register_js_module(e,r)}static unregisterJsModule(e){API.pyodide_ffi.unregister_js_module(e)}static toPy(e,{depth:r,defaultConverter:n}={depth:-1}){switch(typeof e){case"string":case"number":case"boolean":case"bigint":case"undefined":return e}if(!e||API.isPyProxy(e))return e;let o=0,i=0;try{o=Module.js2python_convert(e,{depth:r,defaultConverter:n})}catch(s){throw s instanceof Module._PropagatePythonError&&_pythonexc2js(),s}try{if(_JsProxy_Check(o))return e;i=_python2js(o),i===null&&_pythonexc2js()}finally{_Py_DecRef(o)}return i}static pyimport(e){return API.pyodide_base.pyimport_impl(e)}static unpackArchive(e,r,n={}){if(!ArrayBuffer.isView(e)&&API.getTypeTag(e)!=="[object ArrayBuffer]")throw new TypeError("Expected argument 'buffer' to be an ArrayBuffer or an ArrayBuffer view");API.typedArrayAsUint8Array(e);let o=n.extractDir;API.package_loader.unpack_buffer.callKwargs({buffer:e,format:r,extract_dir:o,metadata:ur})}static async mountNativeFS(e,r){if(r.constructor.name!=="FileSystemDirectoryHandle")throw new TypeError("Expected argument 'fileSystemHandle' to be a FileSystemDirectoryHandle");return Jr(e),Module.FS.mount(Module.FS.filesystems.NATIVEFS_ASYNC,{fileSystemHandle:r},e),await zr(Module),{syncfs:a(async()=>await jr(Module),"syncfs")}}static mountNodeFS(e,r){if(!b.IN_NODE)throw new Error("mountNodeFS only works in Node");Jr(e);let n;try{n=Ge.lstatSync(r)}catch{throw new Error(`hostPath '${r}' does not exist`)}if(!n.isDirectory())throw new Error(`hostPath '${r}' is not a directory`);Module.FS.mount(Module.FS.filesystems.NODEFS,{root:r},e)}static async useNodeSockFS(e){if(!b.IN_NODE)throw new Error("useNodeSockFS only works in Node");await API.initializeNodeSockFS(e?.connect)}static registerComlink(e){API._Comlink=e}static setInterruptBuffer(e){Module.HEAP8[Module._Py_EMSCRIPTEN_SIGNAL_HANDLING]=+!!e,Module.Py_EmscriptenSignalBuffer=e}static checkInterrupt(){if(_PyGILState_Check()){__PyErr_CheckSignals()&&_pythonexc2js();return}else{let e=Module.Py_EmscriptenSignalBuffer;if(e&&e[0]===2)throw new Module.FS.ErrnoError(27)}}static setDebug(e){let r=!!API.debug_ffi;return API.debug_ffi=e,r}static makeMemorySnapshot({serializer:e}={}){if(!API.config._makeSnapshot)throw new Error("Can only use pyodide.makeMemorySnapshot if the _makeSnapshot option is passed to loadPyodide");return API.makeSnapshot(e)}static get lockfile(){return API.lockfile}static get lockfileBaseUrl(){return API.config.packageCacheDir??API.config.packageBaseUrl}};function To(){let t=Object.getOwnPropertyDescriptors(Bt);delete t.prototype;let e=Object.create({},t);return API.public_api=e,e.FS=Module.FS,e.PATH=Module.PATH,e.ERRNO_CODES=Module.ERRNO_CODES,e._module=Module,e._api=API,e}a(To,"makePublicAPI");function Do(t,e){return new Proxy(t,{get(r,n){return n==="get"?o=>{let i=r.get(o);return i===void 0&&(i=e.get(o)),i}:n==="has"?o=>r.has(o)||e.has(o):Reflect.get(r,n)}})}a(Do,"wrapPythonGlobals");var qr;API.bootstrapFinalizedPromise=new Promise(t=>qr=t);API.finalizeBootstrap=function(t,e){t&&$r();let[r,n]=API.rawRun("import _pyodide_core");r&&API.fatal_loading_error(`Failed to import _pyodide_core\n`,n),API.runPythonInternal_dict=API._pyodide._base.eval_code("{}"),API.importlib=API.runPythonInternal("import importlib; importlib");let o=API.importlib.import_module;API.sys=o("sys"),API.os=o("os");let i=API.runPythonInternal("import __main__; __main__.__dict__"),s=API.runPythonInternal("import builtins; builtins.__dict__");API.globals=Do(i,s);let l=API._pyodide._importhook,u=To();API.config._makeSnapshot&&(API.config.jsglobals=Ye(API.config.jsglobals));let d=API.config.jsglobals;return t?Wr(d,t,e):(l.register_js_finder(),l.register_js_module("js",d),l.register_js_module("pyodide_js",u),l.register_windows_finder()),API.pyodide_py=o("pyodide"),API.pyodide_code=o("pyodide.code"),API.pyodide_ffi=o("pyodide.ffi"),API.package_loader=o("pyodide._package_loader"),API.pyodide_base=o("_pyodide._base"),API.sitepackages=API.package_loader.SITE_PACKAGES.__str__(),API.dsodir=API.package_loader.DSO_DIR.__str__(),API.defaultLdLibraryPath=[API.dsodir,API.sitepackages],API.os.environ.__setitem__("LD_LIBRARY_PATH",API.defaultLdLibraryPath.join(":")),u.pyodide_py=API.pyodide_py,u.globals=API.globals,qr(),u}})()}var StackSwitching=(()=>{var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var stack_switching_exports={};__export(stack_switching_exports,{StackState:()=>StackState,createPromising:()=>createPromising,enterTask:()=>enterTask,jspiSupported:()=>jspiSupported,newJspiSupported:()=>newJspiSupported,oldJspiSupported:()=>oldJspiSupported,promisingApply:()=>promisingApply,promisingRunMain:()=>promisingRunMain,suspenderGlobal:()=>suspenderGlobal,validSuspender:()=>validSuspender});var suspenderGlobal={value:null};var validSuspender={value:false};var promisingApplyHandler;function promisingApply(...args){validSuspender.value=true;Module.stackStop=stackSave();return promisingApplyHandler(...args)}var promisingRunMainHandler;function promisingRunMain(...args){validSuspender.value=true;Module.stackStop=stackSave();return promisingRunMainHandler(...args)}function createPromising(wasm_func){if(Module.newJspiSupported){const promisingFunc=WebAssembly.promising(wasm_func);async function wrapper(...args){const orig=validSuspender.value;validSuspender.value=true;try{return await promisingFunc(null,...args)}finally{validSuspender.value=orig}}return wrapper}const{parameters}=wasmFunctionType(wasm_func);parameters.shift();return new WebAssembly.Function({parameters,results:["externref"]},wasm_func,{promising:"first"})}function initSuspenders(){promisingApplyHandler=createPromising(wasmExports._pyproxy_apply_promising);if(wasmExports.run_main_promising){promisingRunMainHandler=createPromising(wasmExports.run_main_promising)}}var stackStates=[];var taskSizeTotal=500;var taskSizeCount=1;function setStackPosition(stackPosition){evictStackUpTo(stackPosition);stackRestore(stackPosition)}var stackTop;function enterTask(){if(stackTop===void 0){stackTop=stackSave();return}const threshold=taskSizeTotal/taskSizeCount*.8;let lastStop=stackStates.at(-1)?.stop;for(let idx=stackStates.length-2;idx>=-1;idx--){const state=idx>=0?stackStates[idx]:{start:stackTop,stop:stackTop};if(state.start-lastStop>threshold){setStackPosition(state.start);return}lastStop=state.stop}const bottomUsed=stackStates.at(-1)?.start??stackTop;if(bottomUsed>stackSave()){setStackPosition(bottomUsed);return}}function evictStackUpTo(stop){let total=0;while(stackStates.length>0&&stackStates.at(-1).stop<stop){total+=stackStates.pop()._save()}const last=stackStates.at(-1);if(last&&last.stop!==stop){total+=last._save_up_to(stop)}if(last&&last.stop===stop){stackStates.pop()}return total}var StackState=class{constructor(){this.start=stackSave();this.stop=Module.stackStop;this._copy=new Uint8Array(0);taskSizeTotal+=this.stop-this.start;taskSizeCount++;if(this.start!==this.stop){stackStates.push(this)}}restore(){let total=evictStackUpTo(this.stop);if(this._copy.length!==0){Module.HEAP8.set(this._copy,this.start);total+=this._copy.length;this._copy=new Uint8Array(0)}Module.stackStop=this.stop;stackRestore(this.start);return total}_save_up_to(stop){let sz1=this._copy.length;let sz2=stop-this.start;if(sz2<=sz1){return 0}const new_segment=HEAP8.subarray(this.start+sz1>>>0,this.start+sz2>>>0);const c=new Uint8Array(sz2);c.set(this._copy);c.set(new_segment,sz1);this._copy=c;return sz2}_save(){return this._save_up_to(this.stop)}};var canConstructWasm=true;try{new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0]))}catch(e){canConstructWasm=false}var newJspiSupported=canConstructWasm&&"Suspending"in WebAssembly;var oldJspiSupported=canConstructWasm&&"Suspender"in WebAssembly;var jspiSupported=newJspiSupported||oldJspiSupported;Module.newJspiSupported=newJspiSupported;Module.oldJspiSupported=oldJspiSupported;Module.jspiSupported=jspiSupported;if(jspiSupported){Module.preRun.push(initSuspenders)}return __toCommonJS(stack_switching_exports)})();const{StackState,createPromising,enterTask,jspiSupported,newJspiSupported,oldJspiSupported,promisingApply,promisingRunMain,suspenderGlobal,validSuspender}=StackSwitching;Object.assign(Module,StackSwitching);const API=Module.API;const Hiwire={};const Tests={};API.tests=Tests;API.version="314.0.3";API.abiVersion="2026_0";Module.hiwire=Hiwire;function getTypeTag(x){try{return Object.prototype.toString.call(x)}catch(e){return""}}API.getTypeTag=getTypeTag;function hasProperty(obj,prop){try{while(obj){if(Object.hasOwn(obj,prop)){return true}obj=Object.getPrototypeOf(obj)}}catch(e){}return false}function hasMethod(obj,prop){try{return typeof obj[prop]==="function"}catch(e){return false}}const pyproxyIsAlive=px=>!!Module.PyProxy_getAttrsQuiet(px).shared.ptr;API.pyproxyIsAlive=pyproxyIsAlive;const errNoRet=()=>{throw new Error("Assertion error: control reached end of function without return")};function isPromise(obj){try{return typeof obj?.then==="function"}catch(e){return false}}API.isPromise=isPromise;function bufferAsUint8Array(arg){if(ArrayBuffer.isView(arg)){return new Uint8Array(arg.buffer,arg.byteOffset,arg.byteLength)}else{return new Uint8Array(arg)}}API.typedArrayAsUint8Array=bufferAsUint8Array;Module.iterObject=function*(object){for(let k in object){if(Object.hasOwn(object,k)){yield k}}};function wasmFunctionType(wasm_func){if(!WebAssembly.Function){throw new Error("No type reflection")}if(WebAssembly.Function.type){return WebAssembly.Function.type(wasm_func)}return wasm_func.type()}const pythonReservedWords=new Set(["False","await","else","import","pass","None","break","except","in","raise","True","class","finally","is","return","and","continue","for","lambda","try","as","def","from","nonlocal","while","assert","del","global","not","with","async","elif","if","or","yield"]);function isReservedWord(word){return pythonReservedWords.has(word)}function normalizeReservedWords(word){const noTrailing_=word.replace(/_*$/,"");if(!isReservedWord(noTrailing_)){return word}if(noTrailing_!==word){return word.slice(0,-1)}return word}pyodide_js_init();pyodide_js_init.sig="v";function set_suspender(suspender){suspenderGlobal.value=suspender}set_suspender.sig="ve";function get_suspender(){return suspenderGlobal.value}get_suspender.sig="e";function syncifyHandler(x,y){return Module.error}async function inner(x,y){try{return await(x??y)}catch(e){if(e&&e.pyodide_fatal_error){throw e}Module.syncify_error=e;return Module.error}}if(newJspiSupported){syncifyHandler=new WebAssembly.Suspending(inner)}else if(oldJspiSupported){syncifyHandler=new WebAssembly.Function({parameters:["externref","externref"],results:["externref"]},inner,{suspending:"first"})}syncifyHandler.sig="eee";function JsvPromise_Syncify_handleError(){if(!Module.syncify_error){return}Module.handle_js_error(Module.syncify_error);delete Module.syncify_error}JsvPromise_Syncify_handleError.sig="v";function saveState(){if(!validSuspender.value){return Module.error}const stackState=new StackState;const threadState=_captureThreadState();if(threadState===0){return Module.error}return{threadState,stackState,suspender:suspenderGlobal.value}}saveState.sig="e";function restoreState(state){state.stackState.restore();_restoreThreadState(state.threadState);suspenderGlobal.value=state.suspender;validSuspender.value=true}restoreState.sig="ve";function _maybe_connect_async(fd,addr,addrlen){var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.connectAsync)return null;var info=Module.getSocketAddress(addr,addrlen);return sock.sock_ops.connectAsync(sock,info.addr,info.port)}_maybe_connect_async.sig="eiii";function _maybe_recvfrom_async(fd,buf,len){var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.recvmsgAsync)return null;return async function(){var result=await sock.sock_ops.recvmsgAsync(sock,len);if(typeof result==="number")return result;Module.HEAPU8.set(result,buf);return result.length}()}_maybe_recvfrom_async.sig="eiii";function _maybe_sendto_async(fd,message,length){var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.sendmsgAsync)return null;var data=Module.HEAPU8.slice(message,message+length);return sock.sock_ops.sendmsgAsync(sock,data)}_maybe_sendto_async.sig="eiii";function _try_fcntl64(fd,cmd,arg,result){var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.fcntl64)return false;Module.HEAP32[result>>2]=sock.sock_ops.fcntl64(sock,cmd,arg);if(Module.HEAP32[result>>2]<0)return false;return true}_try_fcntl64.sig="iiiii";function _maybe_poll_async(fds,nfds,timeout){if(!Module.SOCKFS.pollAsync){return null}for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=Module.HEAP32[pollfd>>2];var stream=Module.FS.getStream(fd);if(!stream){continue}var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.pollAsync){return null}}return Module.SOCKFS.pollAsync(fds,nfds,timeout)}_maybe_poll_async.sig="eiii";function _try_shutdown(fd,how,result){var sock=Module.SOCKFS.getSocket(fd);if(!sock?.sock_ops?.shutdown)return false;Module.HEAP32[result>>2]=sock.sock_ops.shutdown(sock,how);return true}_try_shutdown.sig="iiii";function _Py_emscripten_runtime(){var info;if(typeof navigator=="object"){info=navigator.userAgent}else if(typeof process=="object"){info="Node.js ".concat(process.version)}else{info="UNKNOWN"}var len=lengthBytesUTF8(info)+1;var res=_malloc(len);if(res)stringToUTF8(info,res,len);return res}_Py_emscripten_runtime.sig="i";function _Py_CheckEmscriptenSignals_Helper(){if(!Module.Py_EmscriptenSignalBuffer){return 0}try{let result=Module.Py_EmscriptenSignalBuffer[0];Module.Py_EmscriptenSignalBuffer[0]=0;return result}catch(e){return 0}}_Py_CheckEmscriptenSignals_Helper.sig="i";function _PyEM_TrampolineCall_JS(func,arg1,arg2,arg3){return wasmTable.get(func)(arg1,arg2,arg3)}function getPyEMTrampolinePtr(){let isIOS=globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&typeof navigator.maxTouchPoints!=="undefined"&&navigator.maxTouchPoints>1);if(isIOS){return 0}let trampolineModule;try{trampolineModule=getWasmTrampolineModule()}catch(e){return 0}const trampolineInstance=new WebAssembly.Instance(trampolineModule,{env:{__indirect_function_table:wasmTable,memory:wasmMemory}});return addFunction(trampolineInstance.exports.trampoline_call)}addOnPreRun(function setEmscriptenTrampoline(){const ptr=getPyEMTrampolinePtr();const offset=HEAP32[__PyEM_EMSCRIPTEN_TRAMPOLINE_OFFSET/4>>>0];HEAP32[(__PyRuntime+offset)/4>>>0]=ptr});_PyEM_TrampolineCall_JS.sig="iiiii";function getWasmTrampolineModule(){return new WebAssembly.Module(hexStringToUTF8Array("0061736d0100000001200560037f7f7f017f60027f7f017f60017f017f6000017f60057f7f7f7f7f017f02310203656e76066d656d6f727902000103656e76195f5f696e6469726563745f66756e6374696f6e5f7461626c6501700001030201040713010f7472616d706f6c696e655f63616c6c00000a60015e002000410136020020012500fb1400044020022003200420011100000f0b20012500fb140104402002200320011101000f0b20012500fb14020440200220011102000f0b20012500fb1403044020011103000f0b2000410036020041000b00780970726f647563657273010c70726f6365737365642d62790105636c616e675832332e302e30676974202868747470733a2f6769746875622e636f6d2f6c6c766d2f6c6c766d2d70726f6a6563742065353932376665636638613663653839653161346561633562383238653764343236373634353261290098010f7461726765745f6665617475726573092b0f6d757461626c652d676c6f62616c732b136e6f6e7472617070696e672d6670746f696e742b0b62756c6b2d6d656d6f72792b087369676e2d6578742b0f7265666572656e63652d74797065732b0a6d756c746976616c75652b0267632b0f62756c6b2d6d656d6f72792d6f70742b1663616c6c2d696e6469726563742d6f7665726c6f6e67"))}function hexStringToUTF8Array(hex){const bytes=[];for(let i=0;i<hex.length;i+=2){bytes.push(parseInt(hex.substr(i,2),16))}return new Uint8Array(bytes)}function __syscall_getuid32_js(){if(ENVIRONMENT_IS_NODE){return process.getuid()}return 0}__syscall_getuid32_js.sig="i";function __syscall_umask_js(mask){if(ENVIRONMENT_IS_NODE){try{return process.umask(mask)}catch(e){return 0}}return 0}__syscall_umask_js.sig="ii";function emscripten_set_up_async_input_device_js(){let idx=0;const encoder=new TextEncoder;const bufs=[encoder.encode("ab\n"),encoder.encode("fi\n"),encoder.encode("xy\n")];function sleep(t){return new Promise(res=>setTimeout(res,t))}FS.createAsyncInputDevice("/dev","blah",async()=>{await sleep(5);return bufs[idx++%3]});return!!WebAssembly.promising}emscripten_set_up_async_input_device_js.sig="i";function emscripten_log_impl_js(arg){console.warn(UTF8ToString(arg))}emscripten_log_impl_js.sig="vi";function unbox_small_structs(type_ptr){var type_id=HEAPU16[(type_ptr+6>>1)+0>>>0];while(type_id===13){var elements=HEAPU32[(type_ptr+8>>2)+0>>>0];var first_element=HEAPU32[(elements>>2)+0>>>0];if(first_element===0){type_id=0;break}else if(HEAPU32[(elements>>2)+1>>>0]===0){type_ptr=first_element;type_id=HEAPU16[(first_element+6>>1)+0>>>0]}else{break}}return[type_ptr,type_id]}function ffi_call_js(cif,fn,rvalue,avalue){var abi=HEAPU32[(cif>>2)+0>>>0];var nargs=HEAPU32[(cif>>2)+1>>>0];var nfixedargs=HEAPU32[(cif>>2)+6>>>0];var arg_types_ptr=HEAPU32[(cif>>2)+2>>>0];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3>>>0]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var orig_stack_ptr=stackSave();var cur_stack_ptr=orig_stack_ptr;var args=[];var ret_by_arg=!!0;if(rtype_id===15){throw new Error("complex ret marshalling nyi")}if(rtype_id<0||rtype_id>15){throw new Error("Unexpected rtype "+rtype_id)}if(rtype_id===4||rtype_id===13){args.push(rvalue);ret_by_arg=!!1}for(var i=0;i<nfixedargs;i++){var arg_ptr=HEAPU32[(avalue>>2)+i>>>0];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 1:case 10:case 9:case 14:args.push(HEAPU32[(arg_ptr>>2)+0>>>0]);break;case 2:args.push(HEAPF32[(arg_ptr>>2)+0>>>0]);break;case 3:args.push(HEAPF64[(arg_ptr>>3)+0>>>0]);break;case 5:args.push(HEAPU8[arg_ptr+0>>>0]);break;case 6:args.push(HEAP8[arg_ptr+0>>>0]);break;case 7:args.push(HEAPU16[(arg_ptr>>1)+0>>>0]);break;case 8:args.push(HEAP16[(arg_ptr>>1)+0>>>0]);break;case 11:case 12:args.push(HEAPU64[(arg_ptr>>3)+0>>>0]);break;case 4:args.push(HEAPU64[(arg_ptr>>3)+0>>>0]);args.push(HEAPU64[(arg_ptr>>3)+1>>>0]);break;case 13:var size=HEAPU32[(arg_type_ptr>>2)+0>>>0];var align=HEAPU16[(arg_type_ptr+4>>1)+0>>>0];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr>>>0,cur_stack_ptr+size>>>0).set(HEAP8.subarray(arg_ptr>>>0,arg_ptr+size>>>0));args.push(cur_stack_ptr);break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected type "+arg_type_id)}}if(nfixedargs!=nargs){var struct_arg_info=[];for(var i=nargs-1;i>=nfixedargs;i--){var arg_ptr=HEAPU32[(avalue>>2)+i>>>0];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 5:case 6:cur_stack_ptr-=1,cur_stack_ptr&=~(1-1);HEAPU8[cur_stack_ptr+0>>>0]=HEAPU8[arg_ptr+0>>>0];break;case 7:case 8:cur_stack_ptr-=2,cur_stack_ptr&=~(2-1);HEAPU16[(cur_stack_ptr>>1)+0>>>0]=HEAPU16[(arg_ptr>>1)+0>>>0];break;case 1:case 9:case 10:case 14:case 2:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];break;case 3:case 11:case 12:cur_stack_ptr-=8,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];HEAPU32[(cur_stack_ptr>>2)+1>>>0]=HEAPU32[(arg_ptr>>2)+1>>>0];break;case 4:cur_stack_ptr-=16,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];HEAPU32[(cur_stack_ptr>>2)+1>>>0]=HEAPU32[(arg_ptr>>2)+1>>>0];HEAPU32[(cur_stack_ptr>>2)+2>>>0]=HEAPU32[(arg_ptr>>2)+2>>>0];HEAPU32[(cur_stack_ptr>>2)+3>>>0]=HEAPU32[(arg_ptr>>2)+3>>>0];break;case 13:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);struct_arg_info.push([cur_stack_ptr,arg_ptr,HEAPU32[(arg_type_ptr>>2)+0>>>0],HEAPU16[(arg_type_ptr+4>>1)+0>>>0]]);break;case 15:throw new Error("complex arg marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}args.push(cur_stack_ptr);for(var i=0;i<struct_arg_info.length;i++){var struct_info=struct_arg_info[i];var arg_target=struct_info[0];var arg_ptr=struct_info[1];var size=struct_info[2];var align=struct_info[3];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr>>>0,cur_stack_ptr+size>>>0).set(HEAP8.subarray(arg_ptr>>>0,arg_ptr+size>>>0));HEAPU32[(arg_target>>2)+0>>>0]=cur_stack_ptr}}stackRestore(cur_stack_ptr);stackAlloc(0);var result=(0,getWasmTableEntry(fn).apply(null,args));stackRestore(orig_stack_ptr);if(ret_by_arg){return}switch(rtype_id){case 0:break;case 1:case 9:case 10:case 14:HEAPU32[(rvalue>>2)+0>>>0]=result;break;case 2:HEAPF32[(rvalue>>2)+0>>>0]=result;break;case 3:HEAPF64[(rvalue>>3)+0>>>0]=result;break;case 5:case 6:HEAPU8[rvalue+0>>>0]=result;break;case 7:case 8:HEAPU16[(rvalue>>1)+0>>>0]=result;break;case 11:case 12:HEAPU64[(rvalue>>3)+0>>>0]=result;break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}}ffi_call_js.sig="viiii";function ffi_closure_alloc_js(size,code){var closure=_malloc(size);var index=getEmptyTableSlot();HEAPU32[(code>>2)+0>>>0]=index;HEAPU32[(closure>>2)+0>>>0]=index;return closure}ffi_closure_alloc_js.sig="iii";function ffi_closure_free_js(closure){var index=HEAPU32[(closure>>2)+0>>>0];freeTableIndexes.push(index);_free(closure)}ffi_closure_free_js.sig="vi";function ffi_prep_closure_loc_js(closure,cif,fun,user_data,codeloc){var abi=HEAPU32[(cif>>2)+0>>>0];var nargs=HEAPU32[(cif>>2)+1>>>0];var nfixedargs=HEAPU32[(cif>>2)+6>>>0];var arg_types_ptr=HEAPU32[(cif>>2)+2>>>0];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3>>>0]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var sig;var ret_by_arg=!!0;switch(rtype_id){case 0:sig="v";break;case 13:case 4:sig="vi";ret_by_arg=!!1;break;case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:sig="i";break;case 2:sig="f";break;case 3:sig="d";break;case 11:case 12:sig="j";break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}var unboxed_arg_type_id_list=[];var unboxed_arg_type_info_list=[];for(var i=0;i<nargs;i++){var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];unboxed_arg_type_id_list.push(arg_type_id);unboxed_arg_type_info_list.push([HEAPU32[(arg_type_ptr>>2)+0>>>0],HEAPU16[(arg_type_ptr+4>>1)+0>>>0]])}for(var i=0;i<nfixedargs;i++){switch(unboxed_arg_type_id_list[i]){case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:case 13:sig+="i";break;case 2:sig+="f";break;case 3:sig+="d";break;case 4:sig+="jj";break;case 11:case 12:sig+="j";break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}if(nfixedargs<nargs){sig+="i"}0;function trampoline(){var args=Array.prototype.slice.call(arguments);var size=0;var orig_stack_ptr=stackSave();var cur_ptr=orig_stack_ptr;var ret_ptr;var jsarg_idx=0;if(ret_by_arg){ret_ptr=args[jsarg_idx++]}else{cur_ptr-=8,cur_ptr&=~(8-1);ret_ptr=cur_ptr}cur_ptr-=4*nargs;var args_ptr=cur_ptr;var carg_idx=0;for(;carg_idx<nfixedargs;carg_idx++){var cur_arg=args[jsarg_idx++];var arg_type_info=unboxed_arg_type_info_list[carg_idx];var arg_size=arg_type_info[0];var arg_align=arg_type_info[1];var arg_type_id=unboxed_arg_type_id_list[carg_idx];switch(arg_type_id){case 5:case 6:cur_ptr-=1,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU8[cur_ptr+0>>>0]=cur_arg;break;case 7:case 8:cur_ptr-=2,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU16[(cur_ptr>>1)+0>>>0]=cur_arg;break;case 1:case 9:case 10:case 14:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU32[(cur_ptr>>2)+0>>>0]=cur_arg;break;case 13:cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr>>>0,cur_ptr+arg_size>>>0).set(HEAP8.subarray(cur_arg>>>0,cur_arg+arg_size>>>0));HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;break;case 2:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPF32[(cur_ptr>>2)+0>>>0]=cur_arg;break;case 3:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPF64[(cur_ptr>>3)+0>>>0]=cur_arg;break;case 11:case 12:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU64[(cur_ptr>>3)+0>>>0]=cur_arg;break;case 4:cur_ptr-=16,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU64[(cur_ptr>>3)+0>>>0]=cur_arg;cur_arg=args[jsarg_idx++];HEAPU64[(cur_ptr>>3)+1>>>0]=cur_arg;break}}var varargs=args[args.length-1];for(;carg_idx<nargs;carg_idx++){var arg_type_id=unboxed_arg_type_id_list[carg_idx];var arg_type_info=unboxed_arg_type_info_list[carg_idx];var arg_size=arg_type_info[0];var arg_align=arg_type_info[1];if(arg_type_id===13){var struct_ptr=HEAPU32[(varargs>>2)+0>>>0];cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr>>>0,cur_ptr+arg_size>>>0).set(HEAP8.subarray(struct_ptr>>>0,struct_ptr+arg_size>>>0));HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr}else{HEAPU32[(args_ptr>>2)+carg_idx>>>0]=varargs}varargs+=4}stackRestore(cur_ptr);stackAlloc(0);0;getWasmTableEntry(HEAPU32[(closure>>2)+2>>>0])(HEAPU32[(closure>>2)+1>>>0],ret_ptr,args_ptr,HEAPU32[(closure>>2)+3>>>0]);stackRestore(orig_stack_ptr);if(!ret_by_arg){switch(sig[0]){case"i":return HEAPU32[(ret_ptr>>2)+0>>>0];case"j":return HEAPU64[(ret_ptr>>3)+0>>>0];case"d":return HEAPF64[(ret_ptr>>3)+0>>>0];case"f":return HEAPF32[(ret_ptr>>2)+0>>>0]}}}try{var wasm_trampoline=convertJsFunctionToWasm(trampoline,sig)}catch(e){return 1}setWasmTableEntry(codeloc,wasm_trampoline);HEAPU32[(closure>>2)+1>>>0]=cif;HEAPU32[(closure>>2)+2>>>0]=fun;HEAPU32[(closure>>2)+3>>>0]=user_data;return 0}ffi_prep_closure_loc_js.sig="iiiiii";function __hiwire_deduplicate_new(){return new Map}__hiwire_deduplicate_new.sig="e";function __hiwire_deduplicate_get(map,value){return map.get(value)}__hiwire_deduplicate_get.sig="iee";function __hiwire_deduplicate_set(map,value,ref){map.set(value,ref)}__hiwire_deduplicate_set.sig="veei";function __hiwire_deduplicate_delete(map,value){map.delete(value)}__hiwire_deduplicate_delete.sig="vee";var _set_method_docstring,_PyObject_GetAttrString,__PyUnicode_FromId,_PyObject_VectorcallMethod,_PyUnicode_AsUTF8AndSize,_malloc,__Py_Dealloc,_PyErr_Format,_add_methods_and_set_docstrings,_PyModule_AddFunctions,_docstring_init,_PyImport_ImportModule,_dump_traceback,_fileno,_PyGILState_GetThisThreadState,_set_error,_PyErr_SetObject,_restore_sys_last_exception,_PySys_GetObject,_PyErr_SetRaisedException,_wrap_exception,_PyErr_GetRaisedException,_hiwire_get,_PyErr_GivenExceptionMatches,_PyErr_Print,__PyObject_GetAttrId,_PyUnicode_AsUTF8,_PySys_WriteStderr,_PyErr_DisplayException,_JsvString_FromId,_pythonexc2js,_trigger_fatal_error,_raw_call,_JsProxy_Val,_error_handling_init,_hiwire_invalid_ref,_init_pyodide_proxy,_python2js,_PyInit__pyodide_core,_PyErr_Occurred,__PyErr_FormatFromCause,_PyModule_Create2,_PyImport_GetModuleDict,_PyDict_SetItemString,_jslib_init,_python2js_init,_jsproxy_init,_jsproxy_call_init,_pyproxy_init,_jsbind_init,_pyodide_export,_PyUnicode_Data,__js2python_none,__js2python_null,__js2python_true,__js2python_false,__js2python_pyproxy,__js2python_bigint,_PyObject_CallOneArg,_js2python_immutable,_js2python,_JsProxy_getflags,_PyLong_AsLong,_JsProxy_is_py_json,_js2python_as_py_json,_JsProxy_create_with_type,_JsProxy_bind_sig,_JsRef_toVal,_PyErr_SetString,_JsProxy_create_with_this,_JsProxy_bind_class,_clear_method_call_singleton,_hiwire_decref,_JsProxy_GetMethod,__PyObject_GenericGetAttrWithDict,_strcmp,_PyArg_ParseTuple,_Js2PyConverter_convert,_hiwire_new,_hiwire_incref,_JsProxy_GetAttr,_handle_next_result,_free,_JsProxy_create_objmap,_JsProxy_am_send,_python2js_track_proxies,_JsvObject_CallMethodId_OneArg,_JsProxy_IterNext,__PyGen_SetStopIterationValue,_JsGenerator_send,_PyErr_SetNone,_JsException_js_error_getter,_process_throw_args,_PyErr_NormalizeException,_PyException_GetTraceback,_PyException_SetTraceback,_PyErr_Restore,_PyErr_ExceptionMatches,_PyErr_Clear,_JsvObject_CallMethodId_NoArgs,_PyErr_Fetch,__agen_handle_result_js_c,__agen_handle_result,_JsArray_sq_item,_JsArray_sq_ass_item,_JsTypedArray_sq_ass_item,_JsMap_update,_wrap_promise,_PyTuple_GetItem,_JsvObject_CallMethodId,_JsModule_GetAll,_PyType_IsSubtype,_JsProxy_Check,_JsBuffer_CopyIntoMemoryView,_PyMem_Malloc,_PyMemoryView_FromObject,_JsBuffer_cinit,_hiwire_new_deduplicate,_JsRef_new,_PyTuple_Pack,_PyLong_FromLong,_PyDict_GetItemWithError,_PyObject_SelfIter,_PyVectorcall_Call,_PyErr_NoMemory,_PyType_FromSpecWithBases,_PyObject_SetAttr,_PyMem_Free,_PyDict_SetItem,_JsProxy_create,_JsProxy_init_docstrings,_run_sync_not_supported,_run_sync,_py_is_awaitable,_JsvPromise_Syncify,_can_run_sync,_PyDict_New,_PyObject_SetAttrString,_PyModule_AddObject,_PyType_Ready,_JsMethod_Vectorcall_impl,_JsvObject_CallMethodId_TwoArgs,_PyObject_Repr,_PyIndex_Check,_PyNumber_AsSsize_t,_PySlice_Unpack,_PySlice_AdjustIndices,_PySequence_Fast,_PyArg_ParseTupleAndKeywords,_PySet_New,__PySet_Update,_PyUnicode_FromString,_PySet_Discard,_PyList_New,_PyList_Extend,_PyList_Sort,__PyArg_ParseStack,__PyArg_CheckPositional,_PyObject_GetIter,_PyObject_RichCompareBool,_PyErr_WarnEx,__PyArg_ParseStackAndKeywords,_hiwire_pop,_puts,_PyObject_GenericSetAttr,_Py_HashBuffer,_JsMethod_Construct_impl,_PyNumber_Index,_PyLong_AsSsize_t,_PyLong_FromSsize_t,_PyObject_GetItem,_PyObject_DelItem,_PyObject_SetItem,_PyObject_GetBuffer,_PyBuffer_Release,_PyBytes_FromStringAndSize,_PyObject_Vectorcall,_Py_EnterRecursiveCall,_Py_LeaveRecursiveCall,_Py2JsConverter_convert,_PyUnicode_Equal,_PyObject_GC_UnTrack,_PyUnicode_FromFormat,_PyType_GenericNew,_PyObject_IsInstance,_python2js_inner,_python2js_custom,_check_gil,_PyGILState_Check,_PyGen_GetCode,_pyproxy_getflags,_PyObject_HasAttr,_PyObject_IsSubclass,__pyproxy_repr,_PyObject_Str,__pyproxy_type,__pyproxy_hasattr,_python2js_json_adaptor,__pyproxy_getattr,__PyObject_GetMethod,__pyproxy_setattr,__pyproxy_delattr,_PyObject_DelAttr,__pyproxy_getitem,__pyproxy_setitem,__pyproxy_delitem,__pyproxy_slice_assign,_PySequence_Size,_PySequence_GetSlice,_PySequence_SetSlice,_python2js_with_depth,__pyproxy_pop,__pyproxy_contains,_PySequence_Contains,__pyproxy_ownKeys,_PyObject_Dir,_PyList_Size,_PyList_GetItem,__pyproxy_apply,_PyTuple_New,__pyproxy_apply_promising,__iscoroutinefunction,__pyproxy_iter_next,_PyIter_Next,__pyproxyGen_Send,_PyIter_Send,__pyproxyGen_return,__PyGen_FetchStopIterationValue,__pyproxyGen_throw,__pyproxyGen_asend,__pyproxyGen_areturn,__pyproxyGen_athrow,__pyproxy_aiter_next,_FutureDoneCallback_call_resolve,_FutureDoneCallback_call_reject,_FutureDoneCallback_call,_PyArg_UnpackTuple,__pyproxy_ensure_future,__pyproxy_get_buffer,_PyBuffer_FillContiguousStrides,_PyBuffer_IsContiguous,_create_promise_handles_result_helper,__python2js_buffer,_Jsv_GetError,_jslib_init_buffers,_JsRef_pop,_JsrString_FromId,_hiwire_intern,__python2js,_PySequence_GetItem,_PyObject_CheckBuffer,_PyLong_AsLongAndOverflow,_python2js__default_converter,_python2js__eager_converter,__PyLong_NumBits,__PyLong_AsByteArray,_PyFloat_AsDouble,_restoreThreadState,_PyThreadState_Swap,_PyThreadState_Delete,_captureThreadState,_PyInterpreterState_Get,_PyThreadState_New,_syscall_syncify,_PyGILState_Ensure,_PyGILState_Release,_print_stdout,_fiprintf,_print_stderr,___wrap___syscall_connect,___wrap___syscall_recvfrom,___wrap___syscall_sendto,___wrap___syscall_fcntl64,___wrap___syscall_poll,___wrap___syscall_shutdown,___syscall_setsockopt,_main,_PyImport_AppendInittab,_PyPreConfig_InitPythonConfig,_Py_PreInitializeFromBytesArgs,_PyStatus_Exception,_PyConfig_InitPythonConfig,_PyConfig_SetBytesArgv,_PyConfig_SetBytesString,_Py_InitializeFromConfig,_PyConfig_Clear,_Py_ExitStatusException,_run_main,_run_main_promising,_Py_GetBuildInfo,_PyOS_snprintf,__PyToken_OneChar,__PyToken_TwoChars,__PyToken_ThreeChars,_strlen,_PyUnicode_DecodeUTF8,__PyArena_Malloc,_strncpy,_PyMem_Realloc,_PyMem_Calloc,_strncmp,__PyArena_AddPyObject,_PyBytes_AsString,_PyImport_ImportModuleAttrString,_PyUnicode_InternFromString,__PyType_Name,__PyUnicode_EqualToASCIIString,__PyUnicode_InternImmortal,_PyBytes_AsStringAndSize,_strchr,_PyUnicode_Decode,_Py_BuildValue,_PyUnicode_CompareWithASCIIString,___errno_location,_PyOS_strtoul,_PyLong_FromString,_PyOS_strtol,_PyOS_string_to_double,_PyComplex_FromCComplex,_PyFloat_FromDouble,_PyUnicode_FromFormatV,__PyErr_ProgramDecodedTextObject,_Py_GetConstant,_PyBytes_Concat,_PyUnicodeWriter_Create,_PyUnicodeWriter_WriteStr,_PyUnicodeWriter_Discard,_PyUnicodeWriter_Finish,_strpbrk,__PyUnicode_IsWhitespace,_PyUnicode_Substring,_PyThreadState_Get,__Py_ReachedRecursionLimitWithMargin,_PyUnicode_DecodeUTF8Stateful,_siprintf,__PyUnicode_DecodeUnicodeEscapeInternal2,__PyErr_BadInternalCall,__PyBytes_DecodeEscape2,_PyBytes_Size,_PyErr_WarnExplicitObject,_PySys_Audit,_memchr,__Py_FatalErrorFunc,__PyUnicode_ScanIdentifier,_PyUnicode_AsUTF8String,__PyUnicode_IsPrintable,_PyOS_Readline,_strcpy,_PyObject_CallNoArgs,__Py_UniversalNewlineFgetsWithSize,_fopencookie,_fclose,_getc,_ungetc,_ftell,_lseek,_PyErr_SetFromErrnoWithFilename,_PyObject_CallFunction,_PyObject_GetAttr,__PyObject_MakeTpCall,__Py_CheckFunctionResult,_read,_strcspn,_fflush,_fputs,_PyMem_RawFree,_PyEval_RestoreThread,_PyEval_SaveThread,_PyMem_RawRealloc,__PyInterpreterState_Main,_clearerr,_fgets,_feof,_PyErr_CheckSignals,_PyMutex_Lock,_isatty,_PyMutex_Unlock,_PyObject_Type,__PyErr_SetString,_PyObject_Size,_PyMapping_Size,_PyObject_Length,_PyObject_LengthHint,__PyErr_ExceptionMatches,__PyErr_Clear,__PyObject_LookupSpecial,_Py_GenericAlias,_PyObject_GetOptionalAttr,__PyNumber_Index,__PyErr_Format,_PyMapping_GetOptionalItem,_PyDict_GetItemRef,_PySequence_SetItem,_PySequence_DelItem,_PyObject_DelItemString,_PyObject_CheckReadBuffer,_PyObject_AsCharBuffer,_PyObject_AsReadBuffer,_PyObject_AsWriteBuffer,_PyBuffer_GetPointer,_PyBuffer_SizeFromFormat,_PyObject_CallFunctionObjArgs,_PyBuffer_FromContiguous,_PyObject_CopyData,_PyBuffer_FillInfo,__PyBuffer_ReleaseInInterpreter,__PyBuffer_ReleaseInInterpreterAndRawFree,_PyObject_Format,_PyNumber_Check,_PyNumber_Or,_PyNumber_Xor,_PyNumber_And,_PyNumber_Lshift,_PyNumber_Rshift,_PyNumber_Subtract,_PyNumber_Divmod,_PyNumber_Add,_PyNumber_Multiply,_PyNumber_MatrixMultiply,_PyNumber_FloorDivide,_PyNumber_TrueDivide,_PyNumber_Remainder,_PyNumber_Power,_PyNumber_InPlaceOr,_PyNumber_InPlaceXor,_PyNumber_InPlaceAnd,_PyNumber_InPlaceLshift,_PyNumber_InPlaceRshift,_PyNumber_InPlaceSubtract,_PyNumber_InPlaceMatrixMultiply,_PyNumber_InPlaceFloorDivide,_PyNumber_InPlaceTrueDivide,_PyNumber_InPlaceRemainder,_PyNumber_InPlaceAdd,_PyNumber_InPlaceMultiply,_PyNumber_InPlacePower,_PyNumber_Negative,_PyNumber_Positive,_PyNumber_Invert,_PyNumber_Absolute,_PyErr_WarnFormat,__PyLong_Copy,_PyNumber_Long,_PyLong_FromUnicodeObject,_PyNumber_Float,_PyLong_AsDouble,_PyFloat_FromString,_PyNumber_ToBase,__PyLong_Format,_PySequence_Check,_PySequence_Length,_PySequence_Concat,_PySequence_Repeat,_PySequence_InPlaceConcat,_PySequence_InPlaceRepeat,__PySlice_FromIndices,_PySequence_DelSlice,_PySequence_Tuple,_PyList_AsTuple,__PyList_AppendTakeRefListResize,__PyList_AsTupleAndClear,__PyTuple_FromArraySteal,_PySeqIter_New,_PySequence_List,__PyList_Extend,_PySequence_Count,_PySequence_In,_PySequence_Index,_PyMapping_Check,_PyMapping_Length,_PyMapping_GetItemString,_PyMapping_GetOptionalItemString,_PyMapping_SetItemString,_PyMapping_HasKeyStringWithError,_PyMapping_HasKeyWithError,_PyMapping_HasKeyString,_PyErr_FormatUnraisable,_PyMapping_HasKey,_PyMapping_Keys,_PyDict_Keys,_PyMapping_Items,_PyDict_Items,_PyMapping_Values,_PyDict_Values,__Py_CheckRecursiveCall,_PyObject_IsTrue,_PyIter_Check,_PyObject_GetAIter,_PyAIter_Check,_PyIter_NextItem,_PyBool_FromLong,__Py_SetImmortal,__PyArg_NoKeywords,_memrchr,_memcmp,_PyByteArray_FromObject,_PyByteArray_FromStringAndSize,__PyObject_New,_PyByteArray_Size,_PyByteArray_AsString,_PyByteArray_Resize,_PyByteArray_Concat,_PyUnicode_FromStringAndSize,__Py_GetConfig,__PyObject_GC_New,__PyArg_UnpackKeywords,__PyArg_BadArgument,_PyUnicode_AsEncodedString,_PyBuffer_ToContiguous,_PyObject_GC_Del,__PyBytes_Repeat,__PyObject_GetState,_PyUnicode_DecodeLatin1,_PyLong_AsInt,_PyLong_FromSize_t,__PyEval_SliceIndex,_PyUnicode_GetDefaultEncoding,_PyUnicode_FromEncodedObject,_PyList_Append,_PyList_Reverse,__PyEval_GetBuiltin,_PyObject_GenericGetAttr,_PyType_GenericAlloc,_PyObject_Free,_PyObject_Malloc,__Py_NewReference,_PyObject_Calloc,_PyBytes_FromString,_PyBytes_FromFormatV,__PyBytesWriter_Resize,__PyBytesWriter_Finish,__PyBytesWriter_Init,__PyBytesWriter_Alloc,__PyBytesWriter_WriteBytes,__PyBytes_Resize,__PyBytesWriter_Dealloc,_PyBytes_FromFormat,_PyObject_ASCII,_PyOS_double_to_string,__PyBytesWriter_Prepare,_PyBytes_DecodeEscape,__PyBytes_Find,__PyBytes_ReverseFind,_PyBytes_Repr,_PyUnicode_New,_PyBytes_Join,_PyBytes_FromObject,_PyErr_BadArgument,_PyObject_Realloc,__Py_NewReferenceNoTotal,_PyBytes_ConcatAndDel,_PyVectorcall_Function,__PyTuple_FromArray,__PyDict_FromItems,_PyDict_Next,_PyObject_VectorcallDict,_PyModule_GetNameObject,_PyCallable_Check,__PyStack_AsDict,_PyObject_Call,_PyCFunction_Call,_PyEval_CallObjectWithKeywords,_PyObject_CallObject,_PyEval_CallFunction,__PyObject_CallFunction_SizeT,_PyObject_CallMethod,_PyEval_CallMethod,__PyObject_CallMethod,__PyObject_CallMethodId,__PyObject_CallMethod_SizeT,_PyObject_CallMethodObjArgs,_PyVectorcall_NARGS,_PyCapsule_New,_PyCapsule_IsValid,_PyCapsule_GetPointer,_PyCapsule_GetName,_PyCapsule_GetDestructor,_PyCapsule_GetContext,_PyCapsule_SetPointer,_PyCapsule_SetName,_PyCapsule_SetDestructor,_PyCapsule_SetContext,__PyCapsule_SetTraverse,_PyCapsule_Import,_PyCell_New,_PyCell_Get,_PyCell_Set,_PyObject_RichCompare,_PyMethod_Function,_PyMethod_Self,_PyMethod_New,_PyObject_ClearWeakRefs,_PyObject_GenericHash,_PyObject_Hash,__PyType_GetDict,__PyType_LookupRef,_PyInstanceMethod_New,_PyInstanceMethod_Function,_PyCode_AddWatcher,_PyCode_ClearWatcher,__PyObject_NewVar,__PyUnicode_InternMortal,_PyUnstable_Code_NewWithPosOnlyArgs,_PyUnicode_Compare,__PyTuple_Resize,_PyUnstable_Code_New,_PyCode_NewEmpty,_PyUnicode_DecodeFSDefault,__PyCode_CheckLineNumber,_PyCode_Addr2Line,_PyCode_Addr2Location,_PyUnstable_Code_GetExtra,_PyUnstable_Code_SetExtra,_PyCode_GetVarnames,_PyCode_GetCellvars,_PyCode_GetFreevars,__PyCode_GetVarCounts,__PyCode_SetUnboundVarCounts,_PySet_Contains,_PySet_Add,_PyDict_Contains,__PyCode_CheckNoInternalState,__PyCode_CheckNoExternalState,__PyCode_VerifyStateless,__PyCode_CheckPureFunction,__PyCode_ReturnsOnlyNone,_PyTuple_Size,_PyCode_GetCode,__PyCode_ConstantKey,_PyComplex_AsCComplex,__PySet_NextEntry,_PyFrozenSet_New,_PySlice_New,_PyLong_FromVoidPtr,__PyUnicode_Copy,__Py_c_sum,__Py_cr_sum,__Py_c_diff,__Py_cr_diff,__Py_rc_diff,__Py_c_neg,__Py_c_prod,__Py_cr_prod,__Py_c_quot,__Py_cr_quot,__Py_rc_quot,__Py_c_pow,_atan2,_hypot,_pow,_log,_exp,_sin,_cos,__Py_c_abs,_PyComplex_FromDoubles,_PyComplex_RealAsDouble,_PyComplex_ImagAsDouble,__Py_HashDouble,__PyUnicode_TransformDecimalAndSpaceToASCII,__PyUnicodeWriter_Init,__PyUnicodeWriter_Dealloc,__PyUnicodeWriter_Finish,_PyCMethod_New,_PyMember_GetOne,_PyMember_SetOne,_PyTuple_GetSlice,_PyWrapper_New,_PyDescr_NewMethod,__PyObject_FunctionStr,_PyDescr_NewClassMethod,_PyDescr_NewMember,_PyDescr_NewGetSet,_PyDescr_NewWrapper,_PyDescr_IsData,_PyDictProxy_New,_Py_HashPointer,_PyType_GetQualName,_PyException_GetCause,_PyException_SetCause,_PyException_GetContext,_PyException_SetContext,_PyException_GetArgs,_PyException_SetArgs,_PyExceptionClass_Name,_PyUnstable_Exc_PrepReraiseStar,_PyUnicodeEncodeError_GetEncoding,_PyUnicodeDecodeError_GetEncoding,_PyUnicodeEncodeError_GetObject,_PyUnicodeDecodeError_GetObject,_PyUnicodeTranslateError_GetObject,_PyUnicodeEncodeError_GetStart,_PyUnicodeDecodeError_GetStart,_PyUnicodeTranslateError_GetStart,_PyUnicodeEncodeError_SetStart,_PyUnicodeDecodeError_SetStart,_PyUnicodeTranslateError_SetStart,_PyUnicodeEncodeError_GetEnd,_PyUnicodeDecodeError_GetEnd,_PyUnicodeTranslateError_GetEnd,_PyUnicodeEncodeError_SetEnd,_PyUnicodeDecodeError_SetEnd,_PyUnicodeTranslateError_SetEnd,_PyUnicodeEncodeError_GetReason,_PyUnicodeDecodeError_GetReason,_PyUnicodeTranslateError_GetReason,_PyUnicodeEncodeError_SetReason,_PyUnicodeDecodeError_SetReason,_PyUnicodeTranslateError_SetReason,_PyUnicodeDecodeError_Create,__PyErr_SetRaisedException,_PyModule_GetDict,_PyErr_NewException,_PyDict_Copy,_PyUnicode_ReadChar,_PyObject_GenericGetDict,_PyObject_GenericSetDict,_PyObject_HasAttrWithError,_PyList_SetSlice,_PyUnicodeWriter_WriteChar,_PyUnicodeWriter_WriteASCII,_PyObject_GC_Track,__Py_union_type_or,__PyEval_NoToolsForUnwind,__PyGen_yf,_PyObject_CallFinalizerFromDealloc,__Py_MakeCoro,__PyObject_GC_NewVar,_PyUnstable_InterpreterFrame_GetLine,_PyGen_NewWithQualName,_PyGen_New,__PyCoro_GetAwaitableIter,_PyCoro_New,_PyAsyncGen_New,__PyEval_EvalFrameDefault,_PyFile_FromFd,_PyFile_GetLine,_PyFile_WriteObject,_PyFile_WriteString,_PyObject_AsFileDescriptor,__PyLong_FileDescriptor_Converter,_flockfile,_getc_unlocked,_funlockfile,_Py_UniversalNewlineFgets,_PyFile_NewStdPrinter,_PyFile_SetOpenCodeHook,_Py_IsInitialized,_PyFile_OpenCodeObject,_PyFile_OpenCode,__PyUnicode_AsUTF8String,__Py_write,_PyFloat_GetMax,_PyFloat_GetMin,_PyFloat_GetInfo,_PyStructSequence_New,_PyStructSequence_SetItem,__PyFloat_ExactDealloc,_PyLong_GetSign,_frexp,_modf,_PyLong_FromDouble,__PyLong_Lshift,_PyFloat_Pack2,_ldexp,_PyFloat_Pack4,_PyFloat_Pack8,_PyFloat_Unpack2,_PyFloat_Unpack4,_PyFloat_Unpack8,_fmod,_PyErr_SetFromErrno,_round,_strtol,_Py_ReprEnter,_PyDict_Update,_Py_ReprLeave,_PyDict_Size,_PyFrame_GetLineNumber,_PyFrame_New,_PyFrame_GetVar,__PyUnicode_Equal,_PyFrame_GetVarString,_PyFrame_FastToLocalsWithError,_PyFrame_FastToLocals,_PyFrame_LocalsToFast,__PyFrame_IsEntryFrame,_PyFrame_GetCode,_PyFrame_GetBack,_PyFrame_GetLocals,_PyFrame_GetGlobals,_PyFrame_GetBuiltins,_PyFrame_GetLasti,_PyFrame_GetGenerator,__PyErr_SetKeyError,_PyDict_DelItem,_PyDict_Pop,_PyCompile_OpcodeStackEffect,_PyFunction_AddWatcher,_PyFunction_ClearWatcher,_PyFunction_NewWithQualName,__PyFunction_SetVersion,_PyFunction_New,_PyFunction_GetCode,_PyFunction_GetGlobals,_PyFunction_GetModule,_PyFunction_GetDefaults,_PyFunction_SetDefaults,__PyEval_StopTheWorld,__PyEval_StartTheWorld,_PyFunction_SetVectorcall,_PyFunction_GetKwDefaults,_PyFunction_SetKwDefaults,_PyFunction_GetClosure,_PyFunction_SetClosure,_PyFunction_GetAnnotations,_PyFunction_SetAnnotations,__PyFunction_VerifyStateless,_PyClassMethod_New,_PyStaticMethod_New,__PyInterpolation_Build,_PyCallIter_New,_PyList_GetItemRef,_PyList_SetItem,_PyList_Insert,_PyList_GetSlice,__PySet_NextEntryRef,_PyList_Clear,__PyList_FromStackRefStealOnSuccess,__PyList_SliceSubscript,_PyUnicodeWriter_WriteRepr,__PyEval_SliceIndexNotNone,_PyObject_HashNotImplemented,__PyLong_New,__PyLong_FromDigits,_PyLong_FromUnsignedLong,_PyLong_FromUnsignedLongLong,_PyLong_AsUnsignedLong,_PyLong_AsSize_t,_PyLong_AsUnsignedLongMask,_PyLong_IsPositive,_PyLong_IsNegative,_PyLong_IsZero,__PyLong_Sign,__PyLong_FromByteArray,_PyLong_AsNativeBytes,_PyLong_FromNativeBytes,_PyLong_FromUnsignedNativeBytes,_PyLong_AsVoidPtr,_PyLong_FromLongLong,_PyLong_AsLongLong,_PyLong_AsUnsignedLongLong,_PyLong_AsUnsignedLongLongMask,_PyLong_AsLongLongAndOverflow,__PyLong_UnsignedShort_Converter,__PyLong_UnsignedInt_Converter,__PyLong_UnsignedLong_Converter,__PyLong_UnsignedLongLong_Converter,__PyLong_Size_t_Converter,__PyLong_UInt8_Converter,__PyLong_UInt16_Converter,__PyLong_UInt32_Converter,__PyLong_UInt64_Converter,__PyUnicodeWriter_PrepareInternal,__PyUnicodeWriter_WriteStr,__PyLong_Frexp,__PyLong_ExactDealloc,__PyLong_Add,__PyLong_Subtract,__PyLong_Multiply,__PyLong_Rshift,__PyLong_GCD,__PyLong_DivmodNear,_PyLong_GetInfo,_PyUnstable_Long_IsCompact,_PyUnstable_Long_CompactValue,_PyLong_FromInt32,_PyLong_FromUInt32,_PyLong_FromInt64,_PyLong_FromUInt64,_PyLong_AsInt32,_PyLong_AsInt64,_PyLong_AsUInt32,_PyLong_AsUInt64,_PyLong_GetNativeLayout,_PyLong_Export,_PyLong_FreeExport,_PyLongWriter_Create,_PyLongWriter_Discard,_PyLongWriter_Finish,_PyObject_Bytes,__PyObject_AssertFailed,__PyDict_NewPresized,_PyDict_GetItem,__PyErr_GetRaisedException,__PyDict_GetItem_KnownHash,__PyDict_GetItemRef_KnownHash_LockHeld,__PyDict_GetItemStringWithError,__PyDict_LoadGlobal,__PyDict_LoadGlobalStackRef,_PyEval_GetBuiltins,__PyDict_SetItem_Take2,__PyDict_SetItem_KnownHash_LockHeld,__PyDict_SetItem_KnownHash,__PyDict_DelItem_KnownHash,__PyDict_DelItemIf,_PyDict_Clear,_PyDict_PopString,__PyDict_Pop,_PyDict_MergeFromSeq2,__PyErr_FormatNote,_PyDict_Merge,__PyDict_MergeEx,_PyDict_SetDefaultRef,_PyDict_SetDefault,__PyDict_SizeOf,_PyDict_ContainsString,_PyDict_GetItemString,_PyDict_GetItemStringRef,_PyDict_DelItemString,_PyObject_VisitManagedDict,__PyObject_SetManagedDict,_PyObject_ClearManagedDict,_PyDict_Watch,_PyDict_Unwatch,_PyDict_AddWatcher,_PyDict_ClearWatcher,__PyDict_SendEvent,_PyArg_ValidateKeywordArguments,_PyODict_New,_PyODict_SetItem,_PyODict_DelItem,__PyErr_ChainExceptions1,_PyMemoryView_FromMemory,_PyMemoryView_FromBuffer,_PyMemoryView_GetContiguous,_PyUnicode_AsASCIIString,_PyCFunction_New,_PyCFunction_NewEx,_PyCFunction_GetFunction,_PyCFunction_GetSelf,_PyCFunction_GetFlags,_PyModuleDef_Init,_PyModule_NewObject,_PyModule_New,_PyModule_SetDocString,_PyModule_FromDefAndSpec2,_PyModule_ExecDef,_PyModule_GetName,_PyModule_GetFilenameObject,_PyModule_GetFilename,_PyModule_GetDef,_PyModule_GetState,_PyUnicode_AsWideChar,_wcsrchr,_wcscmp,__PySys_GetOptionalAttrString,_PySys_FormatStderr,_PyUnicode_Join,__PyNamespace_New,__PyArg_NoPositional,__PyUnicode_CheckConsistency,__PyObject_IsFreed,_fwrite,_fputc,__PyObject_Dump,_Py_IncRef,_Py_DecRef,__Py_IncRef,__Py_DecRef,_PyObject_Init,_PyObject_InitVar,_PyObject_CallFinalizer,_PyObject_Print,_ferror,__Py_BreakPoint,_PyUnicode_DecodeASCII,_PyObject_HasAttrStringWithError,_PyObject_GetOptionalAttrString,_PyObject_HasAttrString,_PyObject_DelAttrString,__PyObject_GetDictPtr,__PyObject_GenericSetAttrWithDict,_PyObject_Not,_PyObject_IS_GC,__Py_SetImmortalUntracked,_PyUnstable_Object_EnableDeferredRefcount,_PyUnstable_Object_IsUniqueReferencedTemporary,_PyUnstable_TryIncRef,_PyUnstable_EnableTryIncRef,__Py_ResurrectReference,__Py_ForgetReference,_PyThreadState_GetDict,__PyTrash_thread_deposit_object,__PyTrash_thread_destroy_chain,_PyObject_GET_WEAKREFS_LISTPTR,_Py_NewRef,_Py_XNewRef,_Py_Is,_Py_IsNone,_Py_IsTrue,_Py_IsFalse,__Py_SetRefcnt,_PyRefTracer_SetTracer,_PyRefTracer_GetTracer,_Py_GetConstantBorrowed,_Py_TYPE,_Py_REFCNT,_PyUnstable_IsImmortal,_PyUnstable_Object_IsUniquelyReferenced,_sleep,_abort,_getenv,_sbrk,_clock_gettime,_vsnprintf,_atexit,_strstr,_snprintf,_calloc,_realloc,_wcslen,__PyMem_GetCurrentAllocatorName,_PyMem_SetupDebugHooks,_PyMem_GetAllocator,_PyMem_SetAllocator,_PyObject_GetArenaAllocator,_PyObject_SetArenaAllocator,_PyMem_RawMalloc,_PyMem_RawCalloc,__PyMem_Strdup,__PyMutex_LockTimed,_PyPickleBuffer_FromObject,_PyPickleBuffer_GetBuffer,_PyPickleBuffer_Release,__PySlice_GetLongIndices,__PySet_AddTakeRef,__PySet_Contains,_PySet_Size,_PySet_Clear,_PySet_Pop,_PySlice_GetIndices,_PySlice_GetIndicesEx,_PyStructSequence_GetItem,_PyStructSequence_InitType2,_PyStructSequence_InitType,__PyStructSequence_NewType,_PyUnicodeWriter_WriteUTF8,_PyStructSequence_NewType,_PyUnicode_Concat,__PyTemplate_Build,_PyTuple_SetItem,__PyTuple_FromStackRefStealOnSuccess,__PyObject_GC_Resize,__PyStaticType_GetBuiltins,_PyType_GetDict,_strrchr,_PyType_ClearCache,_PyType_AddWatcher,_PyType_ClearWatcher,_PyType_Watch,_PyType_Unwatch,_PyType_Modified,__PyType_SetVersion,_PyUnstable_Type_AssignVersionTag,_PyType_GetFullyQualifiedName,__PyType_NewManagedObject,__PyObject_LookupSpecialMethod,__PyObject_MaybeCallSpecialNoArgs,__PyObject_MaybeCallSpecialOneArg,_PyType_GetFlags,_PyType_SUPPORTS_WEAKREFS,_PyType_FromMetaclass,_PyType_FromModuleAndSpec,_PyType_FromSpec,_PyType_GetName,_PyType_GetModuleName,_PyType_GetSlot,_PyType_GetModule,_PyType_GetModuleState,_PyType_GetModuleByDef,_PyType_GetBaseByToken,_PyObject_GetTypeData,_PyType_GetTypeDataSize,_PyObject_GetItemData,__PyType_Lookup,_PyUnicode_IsIdentifier,_PyEval_GetGlobals,__PyStaticType_InitForExtension,__PyType_GetSlotWrapperNames,_PyType_Freeze,__PySuper_Lookup,_PyWeakref_NewRef,_PyImport_GetModule,_PyImport_Import,__Py_hashtable_len,__Py_GetErrorHandler,_PyUnicode_CopyCharacters,_PyUnicode_Resize,_PyUnicode_FromWideChar,_PyUnicodeWriter_WriteWideChar,_PyUnicodeWriter_WriteUCS4,_PyUnicode_FromKindAndData,_PyUnicode_AsUCS4,_PyUnicode_AsUCS4Copy,__PyUnicodeWriter_WriteASCIIString,_PyUnicode_Fill,_PyUnicodeWriter_Format,_PyUnicode_AsWideCharString,_PyUnicode_FromOrdinal,_PyUnicode_FromObject,_PyCodec_LookupError,_PyUnicode_DecodeUTF16Stateful,_PyUnicode_DecodeUTF32Stateful,_PyUnicode_DecodeUTF16,_PyUnicode_DecodeUTF32,_PyUnicode_AsDecodedObject,_PyCodec_Decode,_PyUnicode_AsDecodedUnicode,_PyUnicode_AsEncodedObject,_PyCodec_Encode,_PyUnicode_EncodeLocale,__Py_EncodeLocaleEx,_PyCodec_StrictErrors,_PyUnicode_EncodeFSDefault,__PyUnicode_EncodeUTF16,__PyUnicode_EncodeUTF32,_PyUnicode_AsEncodedUnicode,_PyUnicode_DecodeLocaleAndSize,__Py_DecodeLocaleEx,_PyUnicode_DecodeLocale,_PyUnicode_DecodeFSDefaultAndSize,_PyUnicode_FSConverter,_PyOS_FSPath,_PyUnicode_FSDecoder,_wmemchr,__PyUnicode_AsUTF8NoNUL,_PyUnicode_GetSize,_PyUnicode_GetLength,_PyUnicode_WriteChar,_PyUnicode_DecodeUTF7,_PyUnicode_DecodeUTF7Stateful,_PyUnicode_AsUTF32String,_PyUnicode_AsUTF16String,_PyUnicode_DecodeUnicodeEscape,_PyUnicode_AsUnicodeEscapeString,_PyUnicode_DecodeRawUnicodeEscape,_PyUnicode_AsRawUnicodeEscapeString,_PyUnicode_AsLatin1String,__PyUnicodeWriter_PrepareKindInternal,_PyUnicode_DecodeCharmap,_PyUnicode_BuildEncodingMap,_PyUnicode_AsCharmapString,_PyUnicode_Translate,__PyUnicode_ToDecimalDigit,_PyUnicode_Count,_PyUnicode_Find,_PyUnicode_FindChar,_PyUnicode_Tailmatch,__PyUnicode_JoinArray,_PyUnicode_Splitlines,__PyUnicode_IsLinebreak,_wmemcmp,_PyUnicode_EqualToUTF8,_PyUnicode_EqualToUTF8AndSize,_PyUnicode_RichCompare,_PyUnicode_Contains,_PyUnicode_Append,_PyUnicode_AppendAndDel,_PyUnicode_Replace,_PyUnicode_Split,_PyUnicode_Partition,_PyUnicode_RPartition,_PyUnicode_RSplit,__PyUnicodeWriter_WriteChar,__PyUnicodeWriter_WriteSubstring,_PyUnicodeWriter_WriteSubstring,_PyUnicodeWriter_DecodeUTF8Stateful,__PyUnicodeWriter_WriteLatin1String,_PyUnicode_Format,__PyUnicode_ExactDealloc,__Py_hashtable_new_full,__Py_hashtable_get,__Py_hashtable_set,__PyUnicode_InternInPlace,_PyUnicode_InternInPlace,_PyUnicode_InternImmortal,__Py_hashtable_destroy,_PyInit__string,_PyUnicode_KIND,_PyUnicode_DATA,__PyUnicode_IsLowercase,__PyUnicode_IsUppercase,__PyUnicode_IsTitlecase,__PyUnicode_IsDecimalDigit,__PyUnicode_IsDigit,__PyUnicode_IsNumeric,__PyUnicode_IsAlpha,__PyUnicode_ToNumeric,__PyUnicode_ToTitlecase,__PyUnicode_ToDigit,__PyUnicode_ToUppercase,__PyUnicode_ToLowercase,__PyWeakref_ClearRef,_PyWeakref_NewProxy,_PyWeakref_IsDead,_PyWeakref_GetRef,_PyWeakref_GetObject,_PyUnstable_Object_ClearWeakRefsNoCallbacks,__PyWeakref_IsDead,_PyInit__contextvars,_PyContext_CopyCurrent,_PyModule_AddType,_PyContextVar_New,_PyErr_ResourceWarning,__PyRecursiveMutex_Lock,_PyContextVar_Get,_PyErr_WarnExplicit,_PyErr_WarnExplicitFormat,__Py_IsInterpreterFinalizing,__PyWarnings_Init,_PyThreadState_GetFrame,__PySys_GetOptionalAttr,__Py_DisplaySourceLine,_PyModule_AddObjectRef,_PyInit__ast,__PyOnceFlag_CallOnceSlow,_PyModule_AddIntConstant,_PyInit__tokenize,_PyErr_SyntaxLocationObject,_PyImport_ImportModuleLevelObject,__PySys_GetRequiredAttrString,_PyEval_MergeCompilerFlags,__PyArena_New,__PyArena_Free,__PyAST_Compile,_Py_CompileStringObject,_PyEval_EvalCode,_PyRun_StringFlags,_PyEval_EvalCodeEx,__PySys_GetRequiredAttr,_Py_GetRecursionLimit,_Py_SetRecursionLimit,_emscripten_stack_get_base,_emscripten_stack_get_end,__Py_InitializeRecursionLimits,_PyUnstable_ThreadState_SetStackProtection,_PyUnstable_ThreadState_ResetStackProtection,__PyEval_MatchKeys,__PyEval_MatchClass,__PyEvalFramePushAndInit,_PyEval_EvalFrame,_PyEval_EvalFrameEx,__PyObjectArray_FromStackRefArray,__PyObjectArray_Free,__PyEval_FrameClearAndPop,_PyTraceBack_Here,__PyEval_MonitorRaise,__Py_HandlePending,__Py_Check_ArgsIterable,__PyEval_CheckExceptStarTypeValid,__PyEval_ExceptionGroupMatch,_PyErr_SetHandledException,__PyEval_FormatExcCheckArg,__PyEval_FormatKwargsError,__PyEval_GetANext,__PyEval_GetAwaitable,__PyEval_ImportFrom,__PyEval_ImportName,__PyEval_FormatExcUnbound,__PyEval_LoadGlobalStackRef,__PyEval_LoadName,__PyEval_SpecialMethodCanSuggest,__PyThreadState_PopFrame,__PyEval_UnpackIterableStackRef,__PyEval_CheckExceptTypeValid,_PyThreadState_EnterTracing,_PyThreadState_LeaveTracing,_PyEval_SetProfile,__PyEval_SetProfile,_PyEval_SetProfileAllThreads,_PyEval_SetTrace,_PyEval_SetTraceAllThreads,_PyEval_GetFrame,_PyEval_GetLocals,__PyInterpreterState_IsRunningMain,_PyImport_ImportModuleLevel,_PyEval_GetFrameLocals,_PyEval_GetFrameGlobals,_PyEval_GetFrameBuiltins,_PyEval_GetFuncName,_PyEval_GetFuncDesc,__PyEval_FormatAwaitableError,_PyUnstable_Eval_RequestCodeExtraIndex,_PyCodec_Register,_PyCodec_Unregister,_PyCodec_KnownEncoding,_PyCodec_Encoder,_PyCodec_Decoder,_PyCodec_IncrementalEncoder,_PyCodec_IncrementalDecoder,_PyCodec_StreamReader,_PyCodec_StreamWriter,_PyCodec_RegisterError,_PyCodec_IgnoreErrors,_PyCodec_ReplaceErrors,_PyCodec_XMLCharRefReplaceErrors,_PyCodec_BackslashReplaceErrors,_PyCodec_NameReplaceErrors,_PyStatus_NoMemory,_PyStatus_Error,_PyStatus_Ok,__PyCompile_CleanDoc,__PyInstructionSequence_New,__PyCompile_CodeGen,__PyCompile_Assemble,_PyCode_Optimize,__PyContext_NewHamtForTests,_PyContext_New,_PyContext_Copy,_PyContext_AddWatcher,_PyContext_ClearWatcher,_PyContext_Enter,_PyContext_Exit,_PyContextVar_Set,_PyContextVar_Reset,__PyCriticalSection_BeginSlow,__PyCriticalSection2_BeginSlow,__PyCriticalSection_SuspendAll,__PyCriticalSection_Resume,_PyCriticalSection_Begin,_PyCriticalSection_BeginMutex,_PyCriticalSection_End,_PyCriticalSection2_Begin,_PyCriticalSection2_BeginMutex,_PyCriticalSection2_End,__PyEval_AddPendingCall,__PyXIData_GetNotShareableErrorType,__PyXIData_SetNotShareableError,__PyXIData_FormatNotShareableError,__PyXI_UnwrapNotShareableError,__PyXI_InitFailure,__PyXIData_Lookup,__PyXIData_RegisterClass,__PyXIData_UnregisterClass,__PyBytes_GetData,__PyBytes_FromData,__PyBytes_FromXIData,__PyBytes_GetXIData,_PyInterpreterState_GetID,__PyBytes_GetXIDataWrapped,__PyCode_FromXIData,__PyMarshal_ReadObjectFromXIData,_PyMarshal_ReadObjectFromString,__PyCode_GetXIData,__PyMarshal_GetXIData,_PyMarshal_WriteObjectToString,__PyFunction_FromXIData,__PyFunction_GetXIData,__PyXIData_New,__PyXIData_Free,__PyXIData_Clear,__PyXIData_Init,__PyXIData_InitWithSize,__PyObject_CheckXIData,__PyObject_GetXIDataNoFallback,__PyObject_GetXIData,__PyPickle_GetXIData,__PyPickle_LoadFromXIData,_PyInterpreterState_GetDict,__PyImport_SetModule,__PyCode_GetScriptXIData,_Py_CompileStringExFlags,__PyCode_GetPureScriptXIData,__PyXIData_NewObject,__PyXIData_Release,__PyInterpreterState_LookUpID,__PyXIData_ReleaseAndRawFree,__PyXI_NewExcInfo,__PyXI_FreeExcInfo,__PyXI_FormatExcInfo,__PyXI_ExcInfoAsObject,__PyXI_NewFailure,__PyXI_FreeFailure,__PyXI_GetFailureCode,__PyXI_InitFailureUTF8,__PyXI_NewSession,__PyXI_FreeSession,__PyXI_Enter,__PyThreadState_NewBound,__PyInterpreterState_SetRunningMain,__PyInterpreterState_SetNotRunningMain,_PyThreadState_Clear,__PyErr_SetInterpreterAlreadyRunning,__PyXI_Exit,__PyXI_ClearResult,__PyXI_GetMainNamespace,__PyXI_Preserve,__PyXI_GetPreserved,_PyErr_PrintEx,__PyXI_NewInterpreter,_Py_NewInterpreterFromConfig,__PyErr_SetFromPyStatus,_PyThreadState_GetInterpreter,__PyXI_EndInterpreter,__PyInterpreterState_IsReady,_PyInterpreterState_Delete,_Py_EndInterpreter,__PyErr_SetLocaleString,_PyErr_GetHandledException,_PyErr_GetExcInfo,_PyErr_SetExcInfo,_PyErr_SetFromErrnoWithFilenameObject,_PyErr_SetFromErrnoWithFilenameObjects,_strerror,_PyErr_SetImportErrorSubclass,_PyErr_SetImportError,_PyErr_BadInternalCall,__PyErr_FormatV,_PyErr_FormatV,_PyErr_NewExceptionWithDoc,_PyTraceBack_Print,_PyErr_WriteUnraisable,_PyErr_SyntaxLocation,_PyErr_SyntaxLocationEx,_PyErr_RangedSyntaxLocationObject,_PyErr_ProgramTextObject,_PyErr_ProgramText,_Py_fopen,_PyCompile_OpcodeStackEffectWithJump,__PyCompile_OptimizeCfg,_PyUnstable_InterpreterFrame_GetCode,_PyUnstable_InterpreterFrame_GetLasti,_Py_FrozenMain,_Py_GETENV,_Py_GetVersion,_Py_GetCopyright,_PyImport_ImportFrozenModule,_PyRun_AnyFileExFlags,_Py_FinalizeEx,_PyGC_Enable,_PyGC_Disable,_PyGC_IsEnabled,_PyTime_PerfCounterRaw,_PyTime_AsSecondsDouble,_PyGC_Collect,_PyUnstable_Object_GC_NewWithExtraData,_PyObject_GC_IsTracked,_PyObject_GC_IsFinalized,_PyUnstable_GC_VisitObjects,_PyInterpreterState_ThreadHead,_PyThreadState_Next,_PyArg_Parse,__PyArg_Parse_SizeT,__PyArg_ParseTuple_SizeT,_PyArg_VaParse,__PyArg_VaParse_SizeT,__PyArg_ParseTupleAndKeywords_SizeT,_PyArg_VaParseTupleAndKeywords,__PyArg_VaParseTupleAndKeywords_SizeT,__PyArg_ParseTupleAndKeywordsFast,_Py_GetCompiler,_Py_GetPlatform,_PyEval_ThreadsInitialized,_PyThread_init_thread,_pthread_cond_destroy,_pthread_mutex_destroy,_PyEval_InitThreads,_PyEval_AcquireLock,_pthread_mutex_lock,_pthread_cond_timedwait,_pthread_mutex_unlock,_pthread_cond_signal,_PyEval_ReleaseLock,_pthread_cond_wait,_PyEval_AcquireThread,_PyEval_ReleaseThread,_Py_AddPendingCall,__PyEval_MakePendingCalls,_Py_MakePendingCalls,_pthread_mutex_init,__Py_hashtable_hash_ptr,__Py_hashtable_compare_direct,__Py_hashtable_size,__Py_hashtable_steal,__Py_hashtable_foreach,__Py_hashtable_new,__Py_hashtable_clear,__PyRecursiveMutex_Unlock,_PyThread_get_thread_ident_ex,_PyImport_AddModuleRef,_PyImport_AddModuleObject,_PyImport_AddModule,_PyState_FindModule,__PyState_AddModule,_PyState_AddModule,_PyState_RemoveModule,__PyImport_ClearExtension,_PyImport_ExtendInittab,_PyImport_GetMagicNumber,_PyImport_GetMagicTag,_PyImport_ExecCodeModule,_PyImport_ExecCodeModuleObject,_PyImport_ExecCodeModuleWithPathnames,_PyImport_ExecCodeModuleEx,_PyImport_ImportFrozenModuleObject,_PyImport_GetImporter,_PyImport_ImportModuleNoBlock,__PyTime_AsMicroseconds,_PyImport_ReloadModule,_PyImport_ImportModuleAttr,_PyInit__imp,__PyRecursiveMutex_IsLockedByCurrentThread,_PyModule_Add,_PyStatus_Exit,_PyStatus_IsError,_PyStatus_IsExit,_PyWideStringList_Insert,_PyWideStringList_Append,_Py_GetArgcArgv,__PyConfig_InitCompatConfig,_PyConfig_InitIsolatedConfig,_PyConfig_SetString,_Py_DecodeLocale,__PyConfig_AsDict,__PyConfig_FromDict,_wcschr,_setvbuf,_PyConfig_SetArgv,_PyConfig_SetWideStringList,_putchar,_iprintf,_wcstok,_strtoul,_wcstol,_setlocale,_PyConfig_Read,__Py_GetConfigsAsDict,_PyInitConfig_Create,_PyPreConfig_InitIsolatedConfig,_PyInitConfig_Free,_PyInitConfig_GetError,_strdup,_PyInitConfig_GetExitCode,_PyInitConfig_HasOption,_PyInitConfig_GetInt,_PyInitConfig_GetStr,_PyInitConfig_GetStrList,_PyInitConfig_FreeStrList,_PyInitConfig_SetInt,_PyInitConfig_SetStr,_PyInitConfig_SetStrList,_PyInitConfig_AddModule,_Py_InitializeFromInitConfig,_Py_PreInitializeFromArgs,_PyConfig_Get,_PyConfig_GetInt,_PyConfig_Names,_PyConfig_Set,_PySys_SetObject,__PyInterpreterConfig_AsDict,__PyInterpreterConfig_InitFromDict,__PyInterpreterConfig_UpdateFromDict,__PyInterpreterConfig_InitFromState,_PyMonitoring_EnterScope,_PyMonitoring_ExitScope,__PyMonitoring_FirePyStartEvent,__PyMonitoring_FirePyResumeEvent,__PyMonitoring_FirePyReturnEvent,__PyMonitoring_FirePyYieldEvent,__PyMonitoring_FireCallEvent,__PyMonitoring_FireLineEvent,__PyMonitoring_FireJumpEvent,__PyMonitoring_FireBranchEvent,__PyMonitoring_FireBranchRightEvent,__PyMonitoring_FireBranchLeftEvent,__PyMonitoring_FireCReturnEvent,__PyMonitoring_FirePyThrowEvent,__PyMonitoring_FireRaiseEvent,__PyMonitoring_FireCRaiseEvent,__PyMonitoring_FireReraiseEvent,__PyMonitoring_FireExceptionHandledEvent,__PyMonitoring_FirePyUnwindEvent,__PyMonitoring_FireStopIterationEvent,__PyCompile_GetUnaryIntrinsicName,__PyCompile_GetBinaryIntrinsicName,_PyTime_MonotonicRaw,__PyParkingLot_Park,__PyDeadline_Get,__PyParkingLot_Unpark,__PySemaphore_Init,__PySemaphore_Wait,__PySemaphore_Destroy,__PySemaphore_Wakeup,__PyEvent_IsSet,__PyEvent_Notify,__PyParkingLot_UnparkAll,_PyEvent_Wait,_PyEvent_WaitTimed,__PyRWMutex_RLock,__PyRWMutex_RUnlock,__PyRWMutex_Lock,__PyRWMutex_Unlock,__PySeqLock_LockWrite,_sched_yield,__PySeqLock_AbandonWrite,__PySeqLock_UnlockWrite,__PySeqLock_BeginRead,__PySeqLock_EndRead,__PySeqLock_AfterFork,_PyMutex_IsLocked,_PyMarshal_WriteLongToFile,_PyMarshal_WriteObjectToFile,_PyMarshal_ReadShortFromFile,_PyMarshal_ReadLongFromFile,_PyMarshal_ReadLastObjectFromFile,__Py_fstat_noraise,_fread,_PyMarshal_ReadObjectFromFile,_PyMarshal_Init,__Py_convert_optional_to_ssize_t,__Py_BuildValue_SizeT,_Py_VaBuildValue,__Py_VaBuildValue_SizeT,_PyModule_AddStringConstant,_Py_PACK_FULL_VERSION,_Py_PACK_VERSION,_PyOS_vsnprintf,_pthread_cond_init,_PyTime_TimeRaw,__PyTime_AsTimespec_clamp,__PyParkingLot_AfterFork,__PyPathConfig_ClearGlobal,_wcscpy,_Py_SetPath,_Py_SetPythonHome,_Py_SetProgramName,_Py_GetPath,_Py_GetPrefix,_Py_GetExecPrefix,_Py_GetProgramFullPath,_Py_GetPythonHome,_Py_GetProgramName,_wcsncpy,_wcsncmp,__PyPreConfig_InitCompatConfig,__Py_SetLocaleFromEnv,_PyHash_GetFuncDef,_Py_IsFinalizing,_nl_langinfo,_setenv,_Py_PreInitialize,_Py_InitializeEx,_Py_FatalError,_Py_Initialize,__PyThreadState_New,_Py_Finalize,__PyInterpreterState_New,_Py_NewInterpreter,__Py_write_noraise,_vfprintf,__Py_FatalRefcountErrorFunc,_Py_AtExit,_Py_Exit,_Py_FdIsInteractive,_PyOS_getsig,_signal,_PyOS_setsig,_siginterrupt,__Py_IsValidFD,_PyOS_mystrnicmp,__PyThreadState_GetCurrent,_PyThread_tss_create,_PyThread_tss_is_created,_PyThread_tss_delete,_PyThread_get_thread_ident,_PyThread_tss_get,_PyThread_tss_set,_PyInterpreterState_New,_PyInterpreterState_Clear,__PyInterpreterState_GetWhence,__PyInterpreterState_ObjectToID,__PyInterpreterState_GetIDObject,__PyInterpreterState_IDIncref,__PyInterpreterState_IDDecref,__PyInterpreterState_RequiresIDRef,__PyInterpreterState_RequireIDRef,__PyInterpreterState_LookUpIDObject,__PyThreadState_Prealloc,__PyThreadState_Init,_PyThreadState_DeleteCurrent,__PyThreadState_GetDict,_PyThreadState_GetID,_PyThreadState_SetAsyncExc,_PyThreadState_GetUnchecked,_PyInterpreterState_Head,_PyInterpreterState_Main,_PyInterpreterState_Next,__PyThread_CurrentFrames,__PyInterpreterState_GetEvalFrameFunc,__PyInterpreterState_SetEvalFrameFunc,_rewind,_PyRun_InteractiveLoopFlags,_PyRun_InteractiveOneObject,_PyRun_InteractiveOneFlags,_PyRun_SimpleFileExFlags,_PyRun_SimpleStringFlags,_PyErr_Display,_PyRun_FileExFlags,_PyRun_AnyFile,_PyRun_AnyFileEx,_PyRun_AnyFileFlags,_PyRun_File,_PyRun_FileEx,_PyRun_FileFlags,_PyRun_SimpleFile,_PyRun_SimpleFileEx,_PyRun_String,_PyRun_SimpleString,_Py_CompileString,_Py_CompileStringFlags,_PyRun_InteractiveOne,_PyRun_InteractiveLoop,__PyLong_AsTime_t,__PyLong_FromTime_t,__PyTime_ObjectToTime_t,__PyTime_ObjectToTimespec,__PyTime_ObjectToTimeval,__PyTime_FromSeconds,__PyTime_FromLong,__PyTime_FromSecondsObject,__PyTime_FromMillisecondsObject,__PyTime_AsLong,__PyTime_AsMilliseconds,__PyTime_AsTimeval,__PyTime_AsTimeval_clamp,__PyTime_AsTimevalTime_t,__PyTime_AsTimespec,_PyTime_Time,_clock_getres,_PyTime_Monotonic,__PyTime_MonotonicWithInfo,_PyTime_PerfCounter,__PyTime_localtime,_localtime_r,__PyTime_gmtime,_gmtime_r,__PyDeadline_Init,_getentropy,__Py_open,_close,__Py_fstat,__Py_open_noraise,__PyOS_URandomNonblock,_PySys_AuditTuple,_PySys_AddAuditHook,__PySys_GetSizeOf,_PyUnstable_PerfMapState_Init,_getpid,_open,_fdopen,_PyThread_allocate_lock,_PyUnstable_WritePerfMapEntry,_PyThread_acquire_lock,_PyThread_release_lock,_PyUnstable_PerfMapState_Fini,_PyThread_free_lock,_PyUnstable_CopyPerfMapFile,_fopen,_PySys_ResetWarnOptions,_PySys_AddWarnOptionUnicode,_PySys_AddWarnOption,_PySys_HasWarnOptions,_PySys_AddXOption,_PySys_GetXOptions,_PyThread_GetInfo,_PySys_SetPath,_PySys_SetArgvEx,_PySys_SetArgv,_PySys_WriteStdout,_PySys_FormatStdout,_access,_pthread_condattr_init,_pthread_condattr_setclock,_PyThread_start_joinable_thread,_pthread_attr_init,_pthread_attr_setstacksize,_pthread_attr_destroy,_pthread_create,_PyThread_start_new_thread,_pthread_detach,_PyThread_join_thread,_pthread_join,_PyThread_detach_thread,_pthread_self,_PyThread_exit_thread,_PyThread_acquire_lock_timed,_pthread_mutex_trylock,_PyThread_create_key,_pthread_key_create,_pthread_key_delete,_PyThread_delete_key,_PyThread_delete_key_value,_pthread_setspecific,_PyThread_set_key_value,_PyThread_get_key_value,_pthread_getspecific,_PyThread_ReInitTLS,_PyThread_get_stacksize,_PyThread_set_stacksize,_PyThread_ParseTimeoutArg,_PyThread_acquire_lock_timed_with_retries,_PyThread_tss_alloc,_PyThread_tss_free,_confstr,__PyTraceback_Add,__Py_DumpStack,__Py_InitDumpStack,_PyTraceMalloc_Track,_PyTraceMalloc_Untrack,__PyTraceMalloc_GetTraceback,_PyOS_mystricmp,__Py_strhex,__Py_strhex_bytes_with_sep,_localeconv,_mbstowcs,_mbrtowc,_Py_EncodeLocale,_fstat,_stat,__Py_stat,_fcntl,__Py_set_inheritable,_ioctl,__Py_set_inheritable_async_safe,_wcstombs,_Py_fclose,_write,_readlink,_realpath,_getcwd,__Py_normpath,__Py_dup,__Py_closerange,_sysconf,__Py_UTF8_Edit_Cost,_PyUnstable_PerfTrampoline_CompileCode,_PyUnstable_PerfTrampoline_SetPersistAfterFork,_dlopen,_dlerror,_dlsym,_PyErr_SetInterruptEx,_PyInit__ctypes,_PyInit__posixsubprocess,_PyInit__bz2,_PyInit_zlib,_PyInit__hmac,_PyInit__sqlite3,_PyInit__lzma,_PyInit__zstd,_PyInit_array,_PyInit__asyncio,_PyInit__bisect,_PyInit__csv,_PyInit__heapq,_PyInit__json,_PyInit__lsprof,_PyInit__pickle,_PyInit__queue,_PyInit__random,_PyInit__remote_debugging,_PyInit__struct,_PyInit__zoneinfo,_PyInit_math,_PyInit_cmath,_PyInit__statistics,_PyInit__decimal,_PyInit_binascii,_PyInit__md5,_PyInit__sha1,_PyInit__sha2,_PyInit__sha3,_PyInit__blake2,_PyInit_pyexpat,_PyInit__elementtree,_PyInit__codecs_cn,_PyInit__codecs_hk,_PyInit__codecs_iso2022,_PyInit__codecs_jp,_PyInit__codecs_kr,_PyInit__codecs_tw,_PyInit__multibytecodec,_PyInit_unicodedata,_PyInit_fcntl,_PyInit_mmap,_PyInit_select,_PyInit__socket,_PyInit_termios,_PyInit_xxsubtype,_PyInit__xxtestfuzz,_PyInit__testbuffer,_PyInit__testinternalcapi,_PyInit__testcapi,_PyInit__testlimitedcapi,_PyInit__testclinic,_PyInit__testclinic_limited,_PyInit_atexit,_PyInit_faulthandler,_PyInit_posix,_PyInit__signal,_PyInit__tracemalloc,_PyInit__suggestions,_PyInit__datetime,_PyInit__codecs,_PyInit__collections,_PyInit_errno,_PyInit__io,_PyInit_itertools,_PyInit__sre,_PyInit__sysconfig,_PyInit__thread,_PyInit_time,_PyInit__types,_PyInit__typing,_PyInit__weakref,_PyInit__abc,_PyInit__functools,_PyInit__locale,_PyInit__opcode,_PyInit__operator,_PyInit__stat,_PyInit__symtable,_PyInit_gc,_Py_RunMain,_perror,_kill,_Py_Main,_Py_BytesMain,_ffi_closure_alloc,_ffi_closure_free,_memmove,_memset,_strcat,_ffi_prep_cif,_ffi_prep_closure_loc,_ffi_prep_cif_var,_ffi_call,_dlclose,___extenddftf2,___trunctfdf2,__Py_Gid_Converter,__Py_Uid_Converter,_PyOS_BeforeFork,_PyOS_AfterFork_Parent,_fork,_PyOS_AfterFork_Child,__exit,_dup,_dup2,_chdir,_umask,__Py_RestoreSignals,_setsid,_setpgid,_setregid,_setreuid,_execve,_execv,_opendir,_dirfd,_readdir,_closedir,_BZ2_bzCompressEnd,_BZ2_bzCompressInit,_BZ2_bzCompress,_BZ2_bzDecompressEnd,_BZ2_bzDecompressInit,_BZ2_bzDecompress,_adler32,_deflateInit2_,_deflateEnd,_deflate,_deflateSetDictionary,_crc32,_inflateInit2_,_inflateEnd,_inflate,_inflateSetDictionary,_zlibVersion,_deflateCopy,_inflateCopy,_sqlite3_blob_close,_sqlite3_blob_bytes,_sqlite3_blob_read,_sqlite3_blob_write,_sqlite3_trace_v2,_sqlite3_progress_handler,_sqlite3_set_authorizer,_sqlite3_open_v2,_sqlite3_busy_timeout,_sqlite3_close,_sqlite3_get_autocommit,_sqlite3_prepare_v2,_sqlite3_step,_sqlite3_finalize,_sqlite3_close_v2,_sqlite3_backup_init,_sqlite3_backup_step,_sqlite3_backup_remaining,_sqlite3_backup_pagecount,_sqlite3_sleep,_sqlite3_backup_finish,_sqlite3_limit,_sqlite3_create_function_v2,_sqlite3_create_collation_v2,_sqlite3_interrupt,_sqlite3_serialize,_sqlite3_free,_sqlite3_malloc64,_sqlite3_deserialize,_sqlite3_libversion_number,_sqlite3_create_window_function,_sqlite3_db_config,_sqlite3_user_data,_sqlite3_aggregate_context,_sqlite3_result_error_nomem,_sqlite3_result_error_toobig,_sqlite3_result_error,_sqlite3_value_type,_sqlite3_value_double,_sqlite3_context_db_handle,_sqlite3_value_text,_sqlite3_errcode,_sqlite3_value_bytes,_sqlite3_value_blob,_sqlite3_value_int64,_sqlite3_result_null,_sqlite3_result_int64,_sqlite3_result_double,_sqlite3_result_text,_sqlite3_result_blob,_sqlite3_expanded_sql,_sqlite3_db_handle,_sqlite3_blob_open,_sqlite3_total_changes,_sqlite3_stricmp,_sqlite3_reset,_sqlite3_stmt_readonly,_sqlite3_stmt_busy,_sqlite3_bind_parameter_count,_sqlite3_bind_parameter_name,_sqlite3_column_count,_sqlite3_column_name,_sqlite3_column_decltype,_sqlite3_changes,_sqlite3_last_insert_rowid,_sqlite3_bind_null,_sqlite3_bind_int64,_sqlite3_bind_double,_sqlite3_bind_text,_sqlite3_bind_blob,_sqlite3_data_count,_sqlite3_column_blob,_sqlite3_column_bytes,_sqlite3_column_type,_sqlite3_column_double,_sqlite3_column_text,_sqlite3_column_int64,_sqlite3_exec,_sqlite3_complete,_sqlite3_initialize,_sqlite3_errstr,_sqlite3_libversion,_sqlite3_threadsafe,_sqlite3_extended_errcode,_sqlite3_errmsg,_lzma_check_is_supported,_lzma_properties_size,_lzma_properties_encode,_lzma_properties_decode,_lzma_lzma_preset,_lzma_end,_lzma_code,_lzma_easy_encoder,_lzma_stream_encoder,_lzma_alone_encoder,_lzma_raw_encoder,_lzma_auto_decoder,_lzma_stream_decoder,_lzma_alone_decoder,_lzma_get_check,_lzma_raw_decoder,_ZSTD_getErrorName,_ZSTD_cParam_getBounds,_ZSTD_dParam_getBounds,_ZSTD_isError,_ZDICT_trainFromBuffer,_ZDICT_isError,_ZDICT_finalizeDictionary,_ZSTD_findFrameCompressedSize,_ZSTD_getFrameContentSize,_ZSTD_getDictID_fromFrame,_ZSTD_versionNumber,_ZSTD_versionString,_ZSTD_defaultCLevel,_ZSTD_DStreamOutSize,_ZSTD_createCDict,_ZSTD_freeCDict,_ZSTD_createCCtx,_ZSTD_minCLevel,_ZSTD_maxCLevel,_ZSTD_CCtx_setParameter,_ZSTD_CCtx_refCDict,_ZSTD_CCtx_loadDictionary,_ZSTD_CCtx_refPrefix,_ZSTD_freeCCtx,_ZSTD_compressStream2,_ZSTD_CCtx_reset,_ZSTD_CCtx_setPledgedSrcSize,_ZSTD_compressBound,_ZSTD_createDCtx,_ZSTD_createDDict,_ZSTD_DCtx_refDDict,_ZSTD_DCtx_loadDictionary,_ZSTD_DCtx_refPrefix,_ZSTD_DCtx_setParameter,_ZSTD_freeDCtx,_ZSTD_decompressStream,_ZSTD_DCtx_reset,_ZSTD_getDictID_fromDict,_ZSTD_freeDDict,_getpagesize,_acos,_acosh,_asin,_asinh,_atan,_atanh,_cbrt,_copysign,_cosh,_erf,_erfc,_exp2,_expm1,_fabs,_fma,_log10,_log2,_sinh,_sqrt,_tan,_tanh,_nextafter,_log1p,_strncat,_flock,_mmap,_munmap,_msync,_madvise,_ftruncate,_mremap,_select,_poll,_inet_ntop,_gethostbyname,_gethostbyaddr,_gethostname,_getservbyname,_ntohs,_htons,_getservbyport,_ntohl,_htonl,_inet_aton,_inet_ntoa,_inet_pton,_gai_strerror,_freeaddrinfo,_if_nameindex,_if_freenameindex,_if_nametoindex,_if_indextoname,___h_errno_location,_hstrerror,_getsockname,_socket,_getsockopt,_bind,_getpeername,_listen,_setsockopt,_shutdown,_accept4,_accept,_connect,_recv,_recvfrom,_send,_sendto,_recvmsg,_sendmsg,_tcgetattr,_cfgetispeed,_cfgetospeed,_cfsetispeed,_cfsetospeed,_tcsetattr,_tcsendbreak,_tcdrain,_tcflush,_tcflow,_clock,__Py_Get_Getpath_CodeObject,_usleep,_raise,__pthread_cleanup_push,_PyUnstable_AtExit,_PyInit__testcapi_datetime,_getrlimit,_setrlimit,_sigfillset,_pthread_sigmask,_PyOS_AfterFork,__PyLong_FromGid,_sigemptyset,_sigaddset,_ttyname_r,_fchdir,_fchmod,_fchmodat,_chmod,_fchown,_fchownat,_chown,_chroot,_ctermid,_fdopendir,_rewinddir,_mkdirat,_mkdir,_getpriority,_readlinkat,_unlinkat,_rmdir,_symlink,_system,_uname,_futimesat,_futimens,_times,_fexecve,_posix_openpt,_grantpt,_unlockpt,_ptsname_r,_login_tty,_getgid,_getpgrp,_getppid,_getuid,_getlogin_r,_killpg,_setuid,_setgid,_getpgid,_setpgrp,_wait,_wait3,_wait4,_waitid,_waitpid,_getsid,_tcgetpgrp,_tcsetpgrp,_openat,_dup3,_lockf,_readv,_pread,_writev,_pwrite,_pipe,_truncate,_posix_fadvise,_unsetenv,_fsync,_sync,_fdatasync,_fstatvfs,_statvfs,_fpathconf,_pathconf,_getloadavg,_lstat,_fstatat,_renameat,_rename,_unlink,_utimes,_PySignal_SetWakeupFd,__PyErr_CheckSignals,_PyErr_SetInterrupt,_PyOS_InterruptOccurred,__PyOS_IsMainThread,_getitimer,_strsignal,_pause,_sigpending,_sigwait,_sigwaitinfo,_sigtimedwait,_sigismember,___libc_current_sigrtmin,___libc_current_sigrtmax,_strftime,_isalnum,_tolower,_toupper,_clock_settime,_pthread_getcpuclockid,_clock_nanosleep,_time,_mktime,_wcsftime,_wcscoll,_wcsxfrm,_gettext,_dgettext,_dcgettext,_textdomain,_bindtextdomain,_bind_textdomain_codeset,_gettimeofday,___small_fprintf,_ffi_prep_closure,_ffi_get_struct_offsets,_ffi_java_raw_size,_ffi_java_raw_to_ptrarray,_ffi_java_ptrarray_to_raw,_ffi_java_raw_call,_ffi_prep_java_raw_closure_loc,_ffi_prep_java_raw_closure,_ffi_tramp_is_supported,_ffi_tramp_alloc,_ffi_tramp_set_parms,_ffi_tramp_get_addr,_ffi_tramp_free,_lzma_version_number,_lzma_version_string,_lzma_get_progress,_lzma_memusage,_lzma_memlimit_get,_lzma_memlimit_set,_lzma_block_compressed_size,_lzma_block_unpadded_size,_lzma_check_size,_lzma_block_total_size,_lzma_filters_copy,_lzma_physmem,_lzma_index_init,_lzma_index_end,_lzma_index_memusage,_lzma_index_memused,_lzma_index_block_count,_lzma_index_stream_count,_lzma_index_size,_lzma_vli_size,_lzma_index_total_size,_lzma_index_stream_size,_lzma_index_file_size,_lzma_index_uncompressed_size,_lzma_index_checks,_lzma_index_stream_flags,_lzma_stream_flags_compare,_lzma_index_stream_padding,_lzma_index_append,_lzma_index_cat,_lzma_index_dup,_lzma_index_iter_init,_lzma_index_iter_rewind,_lzma_index_iter_next,_lzma_index_iter_locate,_lzma_block_buffer_bound,_lzma_block_buffer_encode,_lzma_block_uncomp_encode,_lzma_block_header_size,_lzma_block_header_encode,_lzma_block_encoder,_lzma_filter_flags_size,_lzma_vli_encode,_lzma_filter_flags_encode,_lzma_crc32,_lzma_easy_buffer_encode,_lzma_stream_buffer_encode,_lzma_easy_encoder_memusage,_lzma_raw_encoder_memusage,_lzma_raw_buffer_encode,_lzma_filter_encoder_is_supported,_lzma_filters_update,_lzma_index_encoder,_lzma_index_buffer_encode,_lzma_stream_buffer_bound,_lzma_stream_header_encode,_lzma_stream_footer_encode,_lzma_cputhreads,_lzma_stream_encoder_mt,_lzma_stream_encoder_mt_memusage,_pthread_condattr_destroy,_lzma_block_buffer_decode,_lzma_block_decoder,_lzma_block_header_decode,_lzma_vli_decode,_lzma_filter_flags_decode,_lzma_easy_decoder_memusage,_lzma_raw_decoder_memusage,_lzma_raw_buffer_decode,_lzma_filter_decoder_is_supported,_lzma_index_decoder,_lzma_index_buffer_decode,_lzma_index_hash_init,_lzma_index_hash_end,_lzma_index_hash_size,_lzma_index_hash_append,_lzma_index_hash_decode,_lzma_stream_buffer_decode,_lzma_stream_header_decode,_lzma_stream_footer_decode,_lzma_crc64,_lzma_mf_is_supported,_lzma_mode_is_supported,_sqlite3_status64,_sqlite3_log,_sqlite3_status,_sqlite3_db_status,_sqlite3_msize,_sqlite3_vfs_find,_sqlite3_config,_sqlite3_os_init,_sqlite3_vfs_register,_sqlite3_vfs_unregister,_sqlite3_release_memory,_sqlite3_memory_alarm,_sqlite3_soft_heap_limit64,_sqlite3_memory_used,_sqlite3_soft_heap_limit,_sqlite3_hard_heap_limit64,_sqlite3_memory_highwater,_sqlite3_malloc,_sqlite3_realloc,_sqlite3_realloc64,_sqlite3_str_vappendf,_sqlite3_str_append,___multf3,___addtf3,___gttf2,___getf2,___divtf3,___lttf2,_sqlite3_str_appendf,_sqlite3_str_appendchar,_sqlite3_str_reset,___fixtfsi,___floatsitf,___subtf3,_sqlite3_str_appendall,_sqlite3_str_finish,_sqlite3_str_errcode,_sqlite3_str_length,_sqlite3_str_value,_sqlite3_str_new,_sqlite3_vmprintf,_sqlite3_mprintf,_sqlite3_vsnprintf,_sqlite3_snprintf,_sqlite3_randomness,_sqlite3_strnicmp,_sqlite3_uri_parameter,_sqlite3_uri_boolean,_sqlite3_os_end,_sqlite3_column_int,_sqlite3_file_control,_sqlite3_database_file_object,_sqlite3_enable_shared_cache,_sqlite3_expired,_sqlite3_clear_bindings,_sqlite3_value_bytes16,_sqlite3_value_int,_sqlite3_value_subtype,_sqlite3_value_pointer,_sqlite3_value_text16,_sqlite3_value_text16be,_sqlite3_value_text16le,_sqlite3_value_nochange,_sqlite3_value_frombind,_sqlite3_value_dup,_sqlite3_value_free,_sqlite3_result_blob64,_sqlite3_result_error16,_sqlite3_result_int,_sqlite3_result_pointer,_sqlite3_result_subtype,_sqlite3_result_text64,_sqlite3_result_text16,_sqlite3_result_text16be,_sqlite3_result_text16le,_sqlite3_result_value,_sqlite3_result_zeroblob,_sqlite3_result_zeroblob64,_sqlite3_result_error_code,_sqlite3_vtab_nochange,_sqlite3_vtab_in_first,_sqlite3_vtab_in_next,_sqlite3_get_auxdata,_sqlite3_set_auxdata,_sqlite3_aggregate_count,_sqlite3_column_bytes16,_sqlite3_column_value,_sqlite3_column_text16,_sqlite3_column_name16,_sqlite3_column_decltype16,_sqlite3_bind_blob64,_sqlite3_bind_int,_sqlite3_bind_pointer,_sqlite3_bind_text64,_sqlite3_bind_text16,_sqlite3_bind_value,_sqlite3_bind_zeroblob,_sqlite3_bind_zeroblob64,_sqlite3_bind_parameter_index,_sqlite3_transfer_bindings,_sqlite3_stmt_isexplain,_sqlite3_next_stmt,_sqlite3_stmt_status,_sqlite3_sql,_sqlite3_value_numeric_type,_sqlite3_blob_reopen,_sqlite3_strglob,_sqlite3_strlike,_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_complete16,_sqlite3_shutdown,_sqlite3_db_mutex,_sqlite3_db_release_memory,_sqlite3_db_cacheflush,_sqlite3_set_last_insert_rowid,_sqlite3_changes64,_sqlite3_total_changes64,_sqlite3_txn_state,_sqlite3_busy_handler,_sqlite3_create_function,_sqlite3_create_function16,_sqlite3_overload_function,_sqlite3_trace,_sqlite3_profile,_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_system_errno,_sqlite3_open,_sqlite3_free_filename,_sqlite3_open16,_sqlite3_create_collation,_sqlite3_create_collation16,_sqlite3_collation_needed,_sqlite3_collation_needed16,_sqlite3_global_recover,_sqlite3_thread_cleanup,_sqlite3_table_column_metadata,_sqlite3_extended_result_codes,_sqlite3_test_control,_sqlite3_create_filename,_sqlite3_uri_key,_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_rtree_geometry_callback,_sqlite3_rtree_query_callback,_sqlite3_sourceid,___floatditf,_qsort,_posix_fallocate,_geteuid,_trunc,_FSE_versionNumber,_FSE_isError,_FSE_getErrorName,_ERR_getErrorString,_HUF_isError,_HUF_getErrorName,_FSE_readNCount_bmi2,_FSE_readNCount,_HUF_readStats,_HUF_readStats_wksp,_FSE_decompress_wksp_bmi2,_FSE_buildDTable_wksp,_POOL_create,_POOL_create_advanced,_POOL_free,_POOL_joinJobs,_POOL_resize,_POOL_add,_POOL_tryAdd,_POOL_sizeof,_ZSTD_XXH_versionNumber,_ZSTD_XXH32,_ZSTD_XXH32_createState,_ZSTD_XXH32_freeState,_ZSTD_XXH32_copyState,_ZSTD_XXH32_reset,_ZSTD_XXH32_update,_ZSTD_XXH32_digest,_ZSTD_XXH32_canonicalFromHash,_ZSTD_XXH32_hashFromCanonical,_ZSTD_XXH64,_ZSTD_XXH64_createState,_ZSTD_XXH64_freeState,_ZSTD_XXH64_copyState,_ZSTD_XXH64_reset,_ZSTD_XXH64_update,_ZSTD_XXH64_digest,_ZSTD_XXH64_canonicalFromHash,_ZSTD_XXH64_hashFromCanonical,_ZSTD_getErrorCode,_ZSTD_getErrorString,_FSE_buildCTable_wksp,_FSE_NCountWriteBound,_FSE_writeNCount,_FSE_optimalTableLog_internal,_FSE_optimalTableLog,_FSE_normalizeCount,_FSE_buildCTable_rle,_FSE_compress_usingCTable,_FSE_compressBound,_HIST_isError,_HIST_add,_HIST_count_simple,_HIST_countFast_wksp,_HIST_count_wksp,_HIST_countFast,_HIST_count,_HUF_readCTableHeader,_HUF_writeCTable_wksp,_HUF_readCTable,_HUF_getNbBitsFromCTable,_HUF_buildCTable_wksp,_HUF_estimateCompressedSize,_HUF_validateCTable,_HUF_compressBound,_HUF_compress1X_usingCTable,_HUF_compress4X_usingCTable,_HUF_cardinality,_HUF_minTableLog,_HUF_optimalTableLog,_HUF_compress1X_repeat,_HUF_compress4X_repeat,_ZSTD_createCCtx_advanced,_ZSTD_initStaticCCtx,_ZSTD_sizeof_CCtx,_ZSTD_sizeof_CStream,_ZSTD_getSeqStore,_ZSTD_createCCtxParams,_ZSTD_freeCCtxParams,_ZSTD_CCtxParams_reset,_ZSTD_CCtxParams_init,_ZSTD_CCtxParams_init_advanced,_ZSTD_checkCParams,_ZSTD_CCtxParams_setParameter,_ZSTD_CCtx_getParameter,_ZSTD_CCtxParams_getParameter,_ZSTD_CCtx_setParametersUsingCCtxParams,_ZSTD_CCtx_setCParams,_ZSTD_CCtx_setFParams,_ZSTD_CCtx_setParams,_ZSTD_CCtx_loadDictionary_advanced,_ZSTD_CCtx_loadDictionary_byReference,_ZSTD_CCtx_refThreadPool,_ZSTD_CCtx_refPrefix_advanced,_ZSTD_cycleLog,_ZSTD_adjustCParams,_ZSTD_getCParamsFromCCtxParams,_ZSTD_estimateCCtxSize_usingCCtxParams,_ZSTD_ldm_getTableSize,_ZSTD_ldm_getMaxNbSeq,_ZSTD_estimateCCtxSize_usingCParams,_ZSTD_ldm_adjustParameters,_ZSTD_estimateCCtxSize,_ZSTD_estimateCStreamSize_usingCCtxParams,_ZSTD_estimateCStreamSize_usingCParams,_ZSTD_estimateCStreamSize,_ZSTD_getFrameProgression,_ZSTD_toFlushNow,_ZSTD_reset_compressedBlockState,_ZSTD_invalidateRepCodes,_ZSTD_copyCCtx,_ZSTD_seqToCodes,_ZSTD_selectBlockCompressor,_ZSTD_resetSeqStore,_ZSTD_sequenceBound,_ZSTD_generateSequences,_ZSTD_compress2,_ZSTD_mergeBlockDelimiters,_ZSTD_buildBlockEntropyStats,_ZSTD_writeSkippableFrame,_ZSTD_writeLastEmptyBlock,_ZSTD_referenceExternalSequences,_ZSTD_compressContinue_public,_ZSTD_splitBlock,_ZSTD_compressSuperBlock,_ZSTD_compressContinue,_ZSTD_getBlockSize,_ZSTD_compressBlock_deprecated,_ZSTD_compressBlock,_ZSTD_loadCEntropy,_ZSTD_compressBegin_advanced_internal,_ZSTD_compressBegin_advanced,_ZSTD_compressBegin_usingDict,_ZSTD_compressBegin,_ZSTD_CCtx_trace,_ZSTD_compressEnd_public,_ZSTD_compressEnd,_ZSTD_compress_advanced,_ZSTD_compress_advanced_internal,_ZSTD_compress_usingDict,_ZSTD_compressCCtx,_ZSTD_compress,_ZSTD_estimateCDictSize_advanced,_ZSTD_estimateCDictSize,_ZSTD_sizeof_CDict,_ZSTD_createCDict_advanced,_ZSTD_createCDict_advanced2,_ZSTD_createCDict_byReference,_ZSTD_initStaticCDict,_ZSTD_getCParamsFromCDict,_ZSTD_getDictID_fromCDict,_ZSTD_compressBegin_usingCDict_advanced,_ZSTD_compressBegin_usingCDict_deprecated,_ZSTD_compressBegin_usingCDict,_ZSTD_compress_usingCDict_advanced,_ZSTD_compress_usingCDict,_ZSTD_createCStream,_ZSTD_createCStream_advanced,_ZSTD_initStaticCStream,_ZSTD_freeCStream,_ZSTD_CStreamInSize,_ZSTD_CStreamOutSize,_ZSTD_resetCStream,_ZSTD_initCStream_internal,_ZSTD_initCStream_usingCDict_advanced,_ZSTD_initCStream_usingCDict,_ZSTD_initCStream_advanced,_ZSTD_initCStream_usingDict,_ZSTD_initCStream_srcSize,_ZSTD_initCStream,_ZSTD_compressStream,_ZSTD_compressStream2_simpleArgs,_ZSTD_compressSequences,_ZSTD_convertBlockSequences,_ZSTD_get1BlockSummary,_ZSTD_compressSequencesAndLiterals,_ZSTD_flushStream,_ZSTD_endStream,_ZSTD_getCParams,_ZSTD_getParams,_ZSTD_registerSequenceProducer,_ZSTD_CCtxParams_registerSequenceProducer,_ZSTD_selectEncodingType,_ZSTD_buildCTable,_ZSTD_ldm_skipRawSeqStoreBytes,_ZSTD_ldm_skipSequences,_ZSTD_ldm_blockCompress,_ZSTD_ldm_generateSequences,_ZSTD_crossEntropyCost,_ZSTD_fseBitCost,_ZSTD_compressLiterals,_ZSTD_encodeSequences,_ZSTD_ldm_fillHashTable,_ZSTD_fillHashTable,_ZSTD_fillDoubleHashTable,_ZSTD_dedicatedDictSearch_lazy_loadDictionary,_ZSTD_row_update,_ZSTD_insertAndFindFirstIndex,_ZSTD_updateTree,_ZSTD_compressBlock_fast,_ZSTD_compressBlock_doubleFast,_ZSTD_compressBlock_greedy,_ZSTD_compressBlock_lazy,_ZSTD_compressBlock_lazy2,_ZSTD_compressBlock_btlazy2,_ZSTD_compressBlock_btopt,_ZSTD_compressBlock_btultra,_ZSTD_compressBlock_btultra2,_ZSTD_compressBlock_fast_extDict,_ZSTD_compressBlock_doubleFast_extDict,_ZSTD_compressBlock_greedy_extDict,_ZSTD_compressBlock_lazy_extDict,_ZSTD_compressBlock_lazy2_extDict,_ZSTD_compressBlock_btlazy2_extDict,_ZSTD_compressBlock_btopt_extDict,_ZSTD_compressBlock_btultra_extDict,_ZSTD_compressBlock_fast_dictMatchState,_ZSTD_compressBlock_doubleFast_dictMatchState,_ZSTD_compressBlock_greedy_dictMatchState,_ZSTD_compressBlock_lazy_dictMatchState,_ZSTD_compressBlock_lazy2_dictMatchState,_ZSTD_compressBlock_btlazy2_dictMatchState,_ZSTD_compressBlock_btopt_dictMatchState,_ZSTD_compressBlock_btultra_dictMatchState,_ZSTD_compressBlock_greedy_dedicatedDictSearch,_ZSTD_compressBlock_lazy_dedicatedDictSearch,_ZSTD_compressBlock_lazy2_dedicatedDictSearch,_ZSTD_compressBlock_greedy_row,_ZSTD_compressBlock_lazy_row,_ZSTD_compressBlock_lazy2_row,_ZSTD_compressBlock_greedy_extDict_row,_ZSTD_compressBlock_lazy_extDict_row,_ZSTD_compressBlock_lazy2_extDict_row,_ZSTD_compressBlock_greedy_dictMatchState_row,_ZSTD_compressBlock_lazy_dictMatchState_row,_ZSTD_compressBlock_lazy2_dictMatchState_row,_ZSTD_compressBlock_greedy_dedicatedDictSearch_row,_ZSTD_compressBlock_lazy_dedicatedDictSearch_row,_ZSTD_compressBlock_lazy2_dedicatedDictSearch_row,_ZSTD_noCompressLiterals,_ZSTD_compressRleLiteralsBlock,_ZSTDMT_createCCtx_advanced,_ZSTDMT_freeCCtx,_ZSTDMT_sizeof_CCtx,_ZSTDMT_updateCParams_whileCompressing,_ZSTDMT_getFrameProgression,_ZSTDMT_toFlushNow,_ZSTDMT_initCStream_internal,_ZSTDMT_nextInputSizeHint,_ZSTDMT_compressStream_generic,_HUF_readDTableX1_wksp,_HUF_readDTableX2_wksp,_HUF_decompress1X2_DCtx_wksp,_HUF_selectDecoder,_HUF_decompress1X_DCtx_wksp,_HUF_decompress1X1_DCtx_wksp,_HUF_decompress1X_usingDTable,_HUF_decompress4X_usingDTable,_HUF_decompress4X_hufOnly_wksp,_ZSTD_DDict_dictContent,_ZSTD_DDict_dictSize,_ZSTD_copyDDictParameters,_ZSTD_createDDict_advanced,_ZSTD_loadDEntropy,_ZSTD_createDDict_byReference,_ZSTD_initStaticDDict,_ZSTD_estimateDDictSize,_ZSTD_sizeof_DDict,_ZSTD_getDictID_fromDDict,_ZSTD_sizeof_DCtx,_ZSTD_estimateDCtxSize,_ZSTD_initStaticDCtx,_ZSTD_createDCtx_advanced,_ZSTD_copyDCtx,_ZSTD_isFrame,_ZSTD_isSkippableFrame,_ZSTD_frameHeaderSize,_ZSTD_getFrameHeader_advanced,_ZSTD_getFrameHeader,_ZSTD_readSkippableFrame,_ZSTD_findDecompressedSize,_ZSTD_getDecompressedSize,_ZSTD_decompressBound,_ZSTD_getcBlockSize,_ZSTD_decompressionMargin,_ZSTD_insertBlock,_ZSTD_checkContinuity,_ZSTD_decompress_usingDict,_ZSTD_decompressBegin_usingDDict,_ZSTD_decompressBegin_usingDict,_ZSTD_decompressBlock_internal,_ZSTD_decompressDCtx,_ZSTD_decompress_usingDDict,_ZSTD_decompress,_ZSTD_nextSrcSizeToDecompress,_ZSTD_nextInputType,_ZSTD_decompressContinue,_ZSTD_buildFSETable,_ZSTD_decompressBegin,_ZSTD_createDStream,_ZSTD_initStaticDStream,_ZSTD_createDStream_advanced,_ZSTD_freeDStream,_ZSTD_DStreamInSize,_ZSTD_DCtx_loadDictionary_advanced,_ZSTD_DCtx_loadDictionary_byReference,_ZSTD_DCtx_refPrefix_advanced,_ZSTD_initDStream_usingDict,_ZSTD_initDStream,_ZSTD_initDStream_usingDDict,_ZSTD_resetDStream,_ZSTD_DCtx_setMaxWindowSize,_ZSTD_DCtx_setFormat,_ZSTD_DCtx_getParameter,_ZSTD_sizeof_DStream,_ZSTD_decodingBufferSize_min,_ZSTD_estimateDStreamSize,_ZSTD_estimateDStreamSize_fromFrame,_ZSTD_decompressStream_simpleArgs,_ZSTD_decodeLiteralsBlock_wrapper,_ZSTD_decodeSeqHeaders,_ZSTD_decompressBlock_deprecated,_ZSTD_decompressBlock,_COVER_sum,_COVER_warnOnSmallCorpus,_COVER_computeEpochs,_ZDICT_trainFromBuffer_cover,_COVER_checkTotalCompressedSize,_COVER_best_init,_COVER_best_wait,_COVER_best_destroy,_COVER_best_start,_COVER_best_finish,_COVER_dictSelectionError,_COVER_dictSelectionIsError,_COVER_dictSelectionFree,_COVER_selectDict,_ZDICT_optimizeTrainFromBuffer_cover,_divsufsort,_divbwt,_ZDICT_trainFromBuffer_fastCover,_ZDICT_optimizeTrainFromBuffer_fastCover,_ZDICT_getErrorName,_ZDICT_getDictID,_ZDICT_getDictHeaderSize,_ZDICT_trainFromBuffer_legacy,_ZDICT_addEntropyTablesFromBuffer,__hiwire_immortal_add,__hiwire_immortal_get,__hiwire_get,__hiwire_set,_hiwire_num_refs,__hiwire_slot_info,__hiwire_delete,__hiwire_immortal_table_init,_emscripten_GetProcAddress,_emscripten_webgl1_get_proc_address,__webgl1_match_ext_proc_address_without_suffix,_emscripten_webgl2_get_proc_address,__webgl2_match_ext_proc_address_without_suffix,_emscripten_webgl_get_proc_address,_SDL_GL_GetProcAddress,_eglGetProcAddress,_glfwGetProcAddress,_emscripten_webgl_init_context_attributes,_emscripten_is_main_runtime_thread,_BZ2_blockSort,_BZ2_bz__AssertH__fail,_BZ2_bzlibVersion,_BZ2_compressBlock,_BZ2_indexIntoF,_BZ2_decompress,_BZ2_bzWriteOpen,_BZ2_bzWrite,_BZ2_bzWriteClose,_BZ2_bzWriteClose64,_BZ2_bzReadOpen,_BZ2_bzReadClose,_BZ2_bzRead,_fgetc,_BZ2_bzReadGetUnused,_BZ2_bzBuffToBuffCompress,_BZ2_bzBuffToBuffDecompress,_BZ2_bzopen,_BZ2_bzdopen,_BZ2_bzread,_BZ2_bzwrite,_BZ2_bzflush,_BZ2_bzclose,_BZ2_bzerror,_BZ2_bsInitWrite,_BZ2_hbMakeCodeLengths,_BZ2_hbAssignCodes,_BZ2_hbCreateDecodeTables,_adler32_z,_adler32_combine,_adler32_combine64,_compress2,_deflateInit_,_compress,_compressBound,_get_crc_table,_crc32_z,_crc32_combine64,_crc32_combine,_crc32_combine_gen64,_crc32_combine_gen,_crc32_combine_op,_zcalloc,_zcfree,_deflateReset,_deflateResetKeep,_deflateGetDictionary,__tr_init,_deflateSetHeader,_deflatePending,_deflatePrime,__tr_flush_bits,_deflateParams,__tr_align,__tr_stored_block,_deflateTune,_deflateBound,__tr_flush_block,_gzclose,_gzclose_r,_gzclose_w,_gzopen,_gzopen64,_gzdopen,_gzbuffer,_gzrewind,_gzseek64,_gz_error,_gzseek,_gztell64,_gztell,_gzoffset64,_gzoffset,_gzeof,_gzerror,_gzclearerr,_gz_intmax,_gzread,_gzfread,_gzgetc,_gzgetc_,_gzungetc,_inflateReset,_gzgets,_gzdirect,_gzwrite,_gzfwrite,_gzputc,_gzputs,_gzvprintf,_gzprintf,_gzflush,_gzsetparams,_inflateBackInit_,_inflateBack,_inflate_table,_inflate_fast,_inflateBackEnd,_inflateResetKeep,_inflateReset2,_inflateInit_,_inflatePrime,_inflateGetDictionary,_inflateGetHeader,_inflateSync,_inflateSyncPoint,_inflateUndermine,_inflateValidate,_inflateMark,_inflateCodesUsed,__tr_tally,_uncompress2,_uncompress,_zlibCompileFlags,_zError,_getdate,_stime,_clock_getcpuclockid,_getpwnam,_getpwuid,_getpwnam_r,_getpwuid_r,_setpwent,_endpwent,_getpwent,_getgrnam,_getgrgid,_getgrnam_r,_getgrgid_r,_getgrent,_endgrent,_setgrent,_vfork,_posix_spawn,_popen,_pclose,_setgroups,_sigaltstack,___syscall_uname,___syscall_setpgid,___syscall_sync,___syscall_getsid,___syscall_getpgid,___syscall_getpid,___syscall_getppid,___syscall_linkat,___syscall_getgroups32,___syscall_setsid,___syscall_getrusage,___syscall_getpriority,___syscall_setpriority,___syscall_setdomainname,___syscall_getgid32,___syscall_geteuid32,___syscall_getegid32,___syscall_getresuid32,___syscall_getresgid32,___syscall_pause,___syscall_madvise,___syscall_mlock,___syscall_munlock,___syscall_mprotect,___syscall_mremap,___syscall_mlockall,___syscall_munlockall,___syscall_prlimit64,___syscall_acct,___syscall_mincore,___syscall_pipe2,___syscall_pselect6,___syscall_ppoll,___syscall_recvmmsg,___syscall_sendmmsg,___syscall_shutdown,___syscall_socketpair,___syscall_wait4,__Exit,_cosf,_sinf,_expf,___ctype_b_loc,___ctype_get_mb_cur_max,___get_tp,___ctype_tolower_loc,___ctype_toupper_loc,___emscripten_environ_constructor,_emscripten_builtin_malloc,___flt_rounds,_fegetround,___fmodeflags,___fpclassify,___fpclassifyf,___fpclassifyl,___mo_lookup,___month_to_secs,___overflow,_scalbn,_floor,___fixtfdi,___signbit,___signbitf,___signbitl,_memcpy,___stack_chk_fail,___wasi_syscall_ret,___synccall,_fabsl,___year_to_secs,___lock,___unlock,_tzset,___uflow,___fxstat,___fxstatat,___lxstat,___xstat,___xmknod,_mknod,___xmknodat,_mknodat,_a64l,_l64a,_abs,_acct,_acosf,_sqrtf,_acoshf,_log1pf,_logf,_acoshl,_acosl,___eqtf2,___netf2,_sqrtl,_alarm,_setitimer,_aligned_alloc,_posix_memalign,_alphasort,_strcoll,_asctime,___nl_langinfo_l,_asctime_r,_asinf,_fabsf,_asinhf,_asinhl,_asinl,_asprintf,_vasprintf,_at_quick_exit,_atan2f,_atanf,_atan2l,_atanl,_atanhf,_atanhl,_log1pl,___funcs_on_exit,____cxa_finalize,____cxa_atexit,___libc_calloc,___atexit,___cxa_atexit,___cxa_finalize,_atof,_strtod,_atoi,_atol,_atoll,_basename,___xpg_basename,_bcmp,_bcopy,_strcasecmp,_bsearch,_btowc,_bzero,_c16rtomb,_wcrtomb,_c32rtomb,_cabs,_cabsf,_hypotf,_cabsl,_hypotl,_cacos,_casin,_cacosf,_casinf,_cacosh,_cacoshf,_cacoshl,_cacosl,_casinl,_call_once,_carg,_cargf,_cargl,_csqrt,_clog,_csqrtf,_clogf,_casinh,_casinhf,_casinhl,_csqrtl,_clogl,_catan,_catanf,_catanh,_catanhf,_catanhl,_catanl,_logl,___trunctfsf2,___extendsftf2,_catclose,_catgets,_catopen,_cbrtf,_cbrtl,_ccos,_ccosh,_ccosf,_ccoshf,_coshf,_sinhf,_copysignf,_ccoshl,_ccosl,_ceil,_ceilf,_ceill,_cexp,_cexpf,_cexpl,_cfmakeraw,_cfsetspeed,_cimag,_cimagf,_cimagl,_clearenv,_clearerr_unlocked,___wasi_timestamp_to_timespec,_emscripten_thread_sleep,_cnd_broadcast,_cnd_destroy,_cnd_init,_cnd_signal,_cnd_timedwait,_cnd_wait,_conj,_conjf,_conjl,_copysignl,_expm1f,_coshl,_cosl,_cpow,___muldc3,_cpowf,___mulsc3,_cpowl,___unordtf2,___multc3,_cproj,_cprojf,_cprojl,_creal,_crealf,_creall,_creat,_crypt,___crypt_blowfish,___crypt_des,___crypt_md5,_strnlen,___crypt_sha256,___crypt_sha512,_crypt_r,_sprintf,_csin,_csinh,_csinf,_csinhf,_csinhl,_csinl,_ctan,_ctanh,_ctanf,_ctanhf,_tanf,_ctanhl,_ctanl,_ctime,_localtime,_ctime_r,_dcngettext,___gettextdomain,_dngettext,_difftime,_dirname,_div,_dladdr,___libc_free,___libc_malloc,___dl_seterr,_dn_comp,_dn_expand,_dn_skipname,_dprintf,_vdprintf,_erand48,_drand48,___wasi_fd_is_valid,___duplocale,_duplocale,_new_dlevent,__emscripten_find_dylib,_strspn,_pthread_setcancelstate,_emscripten_dlopen,_emscripten_dlopen_promise,_ecvt,_emscripten_console_logf,_emscripten_console_errorf,_emscripten_console_warnf,_emscripten_console_tracef,_emscripten_outf,_emscripten_errf,_emscripten_log,_emscripten_fiber_init,_emscripten_fiber_init_from_current_context,_emscripten_get_heap_size,__emscripten_memcpy_bulkmem,_emscripten_builtin_memcpy,___memset,_emscripten_builtin_memset,__emscripten_memset_bulkmem,___syscall_munmap,_emscripten_builtin_free,___syscall_msync,___syscall_mmap2,_emscripten_builtin_memalign,_emscripten_scan_stack,_emscripten_stack_get_current,_dysize,__emscripten_yield,__emscripten_check_timers,_setkey,_encrypt,_sethostent,_gethostent,_getnetent,_endhostent,_setnetent,_endnetent,_erff,_erfcf,_erfl,_erfcl,_vwarn,_fprintf,_vwarnx,_putc,_verr,_verrx,_warn,_warnx,_err,_errx,_ether_aton_r,_ether_aton,_ether_ntoa_r,_ether_ntoa,_ether_line,_ether_ntohost,_ether_hostton,_euidaccess,_faccessat,_eaccess,_execl,_execle,_execlp,_execvp,_execvpe,_exp10,_pow10,_exp10f,_modff,_exp2f,_pow10f,_exp10l,_modfl,_exp2l,_powl,_pow10l,___letf2,_scalbnl,_expl,_explicit_bzero,_expm1l,__flushlbf,___fsetlocking,___fwriting,___freading,___freadable,___fwritable,___flbf,___fbufsize,___fpending,___fpurge,_fpurge,___freadahead,___freadptr,___freadptrinc,___fseterr,_fcvt,_fdim,_fdimf,_fdiml,_fegetexceptflag,_fetestexcept,_feholdexcept,_fegetenv,_feclearexcept,_feraiseexcept,___fesetround,_fesetenv,_feof_unlocked,__IO_feof_unlocked,_ferror_unlocked,__IO_ferror_unlocked,_fesetexceptflag,_fesetround,_feupdateenv,_fflush_unlocked,_ffs,_ffsl,_ffsll,_emscripten_futex_wake,_fgetln,_getline,_fgetpos,_fgets_unlocked,___fgetwc_unlocked,_fwide,_mbtowc,_fgetwc,_fgetwc_unlocked,_getwc_unlocked,_fgetws,_fgetws_unlocked,_fileno_unlocked,_finite,_finitef,___floatunsitf,_fmodl,_ftrylockfile,_floorf,_floorl,_fmaf,_fmal,_frexpl,_nextafterl,_ilogbl,_fmax,_fmaxf,_fmaxl,_fmemopen,_fmin,_fminf,_fminl,_fmodf,_fmtmsg,_fnmatch,_towupper,_towlower,_wctype,_iswctype,_forkpty,_openpty,_pipe2,_vfiprintf,___small_vfprintf,_fputs_unlocked,___fputwc_unlocked,_wctomb,_fputwc,_fputwc_unlocked,_putwc_unlocked,_fputws,_wcsrtombs,_fputws_unlocked,_fread_unlocked,_freelocale,___freelocale,_freopen,_frexpf,_fscanf,_vfscanf,___isoc99_fscanf,_fseek,_fseeko,_fsetpos,_ftello,_ftime,_utimensat,_fwprintf,_vfwprintf,_fwrite_unlocked,_fwscanf,_vfwscanf,___isoc99_fwscanf,_gcvt,_get_current_dir_name,__IO_getc,_fgetc_unlocked,__IO_getc_unlocked,_getchar,_getchar_unlocked,_getdelim,___getdelim,_getdents,_getdomainname,_getegid,_getgroups,_gethostid,_freeifaddrs,_getifaddrs,___getitimer,_getlogin,_getopt,___posix_getopt,_getopt_long,_getopt_long_only,_mblen,_getresgid,_getresuid,_getrusage,_gets,_getservbyname_r,_getservbyport_r,_getsubopt,_gettid,_getw,_getwc,_getwchar,_getwchar_unlocked,_glob,_globfree,_gmtime,_herror,_hcreate,_hdestroy,_hsearch,_hcreate_r,_hdestroy_r,_hsearch_r,_iconv_open,_iconv,_iconv_close,_ilogb,_ilogbf,_imaxabs,_imaxdiv,_index,_inet_addr,_inet_network,_inet_makeaddr,_inet_lnaof,_inet_netof,_insque,_remque,___intscan,___multi3,___isalnum_l,_isalnum_l,_isalpha,___isalpha_l,_isalpha_l,_isascii,_isblank,___isblank_l,_isblank_l,_iscntrl,___iscntrl_l,_iscntrl_l,_isdigit,___isdigit_l,_isdigit_l,_isgraph,___isgraph_l,_isgraph_l,_islower,___islower_l,_islower_l,_isprint,___isprint_l,_isprint_l,_ispunct,___ispunct_l,_ispunct_l,_issetugid,_isspace,___isspace_l,_isspace_l,_isupper,___isupper_l,_isupper_l,_iswalnum,_iswalpha,___iswalnum_l,_iswalnum_l,___iswalpha_l,_iswalpha_l,_iswblank,___iswblank_l,_iswblank_l,_iswcntrl,___iswcntrl_l,_iswcntrl_l,_iswgraph,_iswlower,_iswprint,_iswpunct,_iswspace,_iswupper,_iswxdigit,___iswctype_l,___wctype_l,_iswctype_l,_wctype_l,_iswdigit,___iswdigit_l,_iswdigit_l,___iswgraph_l,_iswgraph_l,___iswlower_l,_iswlower_l,___iswprint_l,_iswprint_l,___iswpunct_l,_iswpunct_l,___iswspace_l,_iswspace_l,___iswupper_l,_iswupper_l,___iswxdigit_l,_iswxdigit_l,_isxdigit,___isxdigit_l,_isxdigit_l,_j0,_y0,_j0f,_y0f,_j1,_y1,_j1f,_y1f,_jn,_yn,_jnf,_ynf,_labs,___nl_langinfo,_nl_langinfo_l,_lchmod,_lchown,_lcong48,_ldexpf,_scalbnf,_ldexpl,_ldiv,_get_nprocs_conf,_get_nprocs,_get_phys_pages,_get_avphys_pages,_lgamma,_lgamma_r,_lgammaf,_lgammaf_r,___lgammal_r,_lgammal,_lgammal_r,_emscripten_has_threading_support,_emscripten_num_logical_cores,_emscripten_futex_wait,_emscripten_main_thread_process_queued_calls,_emscripten_current_thread_process_queued_calls,_pthread_mutex_consistent,_pthread_barrier_init,_pthread_barrier_destroy,_pthread_barrier_wait,_pthread_cond_broadcast,_pthread_atfork,_pthread_cancel,_pthread_testcancel,___pthread_detach,_pthread_equal,_pthread_mutexattr_init,_pthread_mutexattr_setprotocol,_pthread_mutexattr_settype,_pthread_mutexattr_destroy,_pthread_mutexattr_setpshared,_pthread_condattr_setpshared,_pthread_setcanceltype,_pthread_rwlock_init,_pthread_rwlock_destroy,_pthread_rwlock_rdlock,_pthread_rwlock_tryrdlock,_pthread_rwlock_timedrdlock,_pthread_rwlock_wrlock,_pthread_rwlock_trywrlock,_pthread_rwlock_timedwrlock,_pthread_rwlock_unlock,_pthread_rwlockattr_init,_pthread_rwlockattr_destroy,_pthread_rwlockattr_setpshared,_pthread_spin_init,_pthread_spin_destroy,_pthread_spin_lock,_pthread_spin_trylock,_pthread_spin_unlock,_sem_init,_sem_post,_sem_wait,_sem_trywait,_sem_destroy,_pthread_mutex_timedlock,_emscripten_builtin_pthread_create,_emscripten_builtin_pthread_join,_pthread_once,_emscripten_builtin_pthread_exit,_pthread_exit,_emscripten_builtin_pthread_detach,_thrd_detach,_link,_linkat,_llabs,_lldiv,_llrint,_rint,_llrintf,_rintf,_llrintl,_rintl,_llround,_llroundf,_roundf,_llroundl,_roundl,_log10f,_log10l,_log2f,_log2l,_logb,_logbf,_logbl,_strtoull,_nrand48,_lrand48,_lrint,_lrintf,_lrintl,_lround,_lroundf,_lroundl,_lsearch,_lfind,_mbrlen,_mbrtoc16,_mbrtoc32,_mbsinit,_mbsnrtowcs,_mbsrtowcs,_memccpy,_memmem,_mempcpy,_mincore,_mkdtemp,_mkfifo,_mkfifoat,_mkostemp,_mkostemps,_mkstemp,_mkstemps,_mktemp,_timegm,_mlock,_mlockall,_emscripten_builtin_mmap,_setmntent,_endmntent,_getmntent_r,_sscanf,_getmntent,_addmntent,_hasmntopt,_mprotect,_jrand48,_mrand48,_mtx_destroy,_mtx_init,_mtx_lock,_mtx_timedlock,_mtx_trylock,_mtx_unlock,_munlock,_munlockall,_emscripten_builtin_munmap,_nan,_nanf,_nanl,_nanosleep,_nearbyint,_nearbyintf,_nearbyintl,_getnetbyaddr,_getnetbyname,___newlocale,_newlocale,_nextafterf,_nexttoward,_nexttowardf,_nexttowardl,_nftw,_nice,_setpriority,_ns_get16,_ns_get32,_ns_put16,_ns_put32,_ns_skiprr,_ns_initparse,_ns_name_uncompress,_ns_parserr,_open_memstream,_open_wmemstream,_posix_close,_posix_madvise,_posix_spawn_file_actions_addchdir_np,_posix_spawn_file_actions_addclose,_posix_spawn_file_actions_adddup2,_posix_spawn_file_actions_addfchdir_np,_posix_spawn_file_actions_addopen,_posix_spawn_file_actions_destroy,_posix_spawn_file_actions_init,_posix_spawnattr_destroy,_posix_spawnattr_getflags,_posix_spawnattr_getpgroup,_posix_spawnattr_getsigdefault,_posix_spawnattr_getsigmask,_posix_spawnattr_init,_posix_spawnattr_getschedparam,_posix_spawnattr_setschedparam,_posix_spawnattr_getschedpolicy,_posix_spawnattr_setschedpolicy,_posix_spawnattr_setflags,_posix_spawnattr_setpgroup,_posix_spawnattr_setsigdefault,_posix_spawnattr_setsigmask,_powf,_ppoll,_preadv,_printf,___small_printf,_em_proxying_queue_create,_em_proxying_queue_destroy,_emscripten_proxy_get_system_queue,_emscripten_proxy_execute_queue,_emscripten_proxy_finish,_emscripten_proxy_async,_emscripten_proxy_sync,_emscripten_proxy_sync_with_ctx,_pselect,_pthread_attr_getdetachstate,_pthread_attr_getguardsize,_pthread_attr_getinheritsched,_pthread_attr_getschedparam,_pthread_attr_getschedpolicy,_pthread_attr_getscope,_pthread_attr_getstack,_pthread_attr_getstacksize,_pthread_barrierattr_getpshared,_pthread_condattr_getclock,_pthread_condattr_getpshared,_pthread_mutexattr_getprotocol,_pthread_mutexattr_getpshared,_pthread_mutexattr_getrobust,_pthread_mutexattr_gettype,_pthread_rwlockattr_getpshared,_pthread_attr_setdetachstate,_pthread_attr_setguardsize,_pthread_attr_setinheritsched,_pthread_attr_setschedparam,_pthread_attr_setschedpolicy,_pthread_attr_setscope,_pthread_attr_setstack,__pthread_cleanup_pop,_pthread_getattr_np,_pthread_getconcurrency,_pthread_getschedparam,_thrd_current,_emscripten_main_runtime_thread_id,_pthread_setconcurrency,_pthread_setschedprio,___sig_is_blocked,_sigorset,_sigandset,_sigdelset,_ptsname,__IO_putc,_putc_unlocked,_fputc_unlocked,__IO_putc_unlocked,_putchar_unlocked,_putenv,_putw,_putwc,_putwchar,_putwchar_unlocked,_pwritev,_qsort_r,_quick_exit,_action_abort,_action_terminate,_srand,_rand,_rand_r,_srandom,_initstate,_setstate,_random,_readdir_r,_reallocarray,_recvmmsg,_regcomp,_regfree,_regerror,_regexec,_remainder,_remquo,_drem,_remainderf,_remquof,_dremf,_remainderl,_remquol,_remove,_res_init,_res_mkquery,___res_msend,_res_send,___res_state,_rindex,_scalb,_scalbf,_scalbln,_scalblnf,_scalblnl,_scandir,_scanf,_vscanf,___isoc99_scanf,_secure_getenv,_seed48,_seekdir,_sendmmsg,_endservent,_setservent,_getservent,_setbuf,_setbuffer,_setdomainname,_setegid,_seteuid,__emscripten_timeout,_setlinebuf,_setresgid,_setresuid,_shm_open,_shm_unlink,_sigaction,_sigisemptyset,_bsd_signal,___sysv_signal,_significand,_significandf,_sigprocmask,_sincos,_sincosf,_sincosl,_sinhl,_sinl,_sockatmark,_vsprintf,_vsiprintf,___small_sprintf,___small_vsprintf,_srand48,_vsscanf,___isoc99_sscanf,_statfs,_fstatfs,_statx,_stpcpy,_stpncpy,___strcasecmp_l,_strcasecmp_l,_strcasestr,_strncasecmp,_strchrnul,___strcoll_l,_strcoll_l,___strerror_l,_strerror_l,_strerror_r,___xpg_strerror_r,_strfmon_l,_strfmon,_strftime_l,_strlcat,_strlcpy,_strlwr,___strncasecmp_l,_strncasecmp_l,_strndup,_strsep,_strtof,_strtold,_strtof_l,_strtod_l,_strtold_l,___strtof_l,___strtod_l,___strtold_l,_strtok,_strtok_r,_strtoll,_strtoimax,_strtoumax,___strtol_internal,___strtoul_internal,___strtoll_internal,___strtoull_internal,___strtoimax_internal,___strtoumax_internal,_strtoull_l,_strtoll_l,_strtoul_l,_strtol_l,_strupr,_strverscmp,___strxfrm_l,_strxfrm,_strxfrm_l,_swab,_swprintf,_vswprintf,_swscanf,_vswscanf,___isoc99_swscanf,_symlinkat,_setlogmask,_closelog,_openlog,_syslog,_vsyslog,_tanhf,_tanhl,_tanl,_tcgetsid,_tcgetwinsize,_tcsetwinsize,_tdelete,_tdestroy,_telldir,_tempnam,_ngettext,_tfind,_tgamma,_tgammaf,_tgammal,_thrd_create,_thrd_exit,_thrd_join,_thrd_sleep,_thrd_yield,_emscripten_set_thread_name,_timespec_get,_tmpfile,_tmpnam,_toascii,___tolower_l,_tolower_l,___toupper_l,_toupper_l,___towupper_l,___towlower_l,_towupper_l,_towlower_l,_truncf,_truncl,_tsearch,_tss_create,_tss_delete,_tss_set,_ttyname,_twalk,_ualarm,_ungetwc,___uselocale,_uselocale,_utime,_versionsort,___vfprintf_internal,___isoc99_vfscanf,_wcsnlen,___isoc99_vfwscanf,_vprintf,___isoc99_vscanf,_vsniprintf,___small_vsnprintf,___isoc99_vsscanf,___isoc99_vswscanf,_vwprintf,_vwscanf,___isoc99_vwscanf,_wcpcpy,_wcpncpy,_wcscasecmp,_wcsncasecmp,_wcscasecmp_l,_wcscat,___wcscoll_l,_wcscoll_l,_wcscspn,_wcsdup,_wmemcpy,___wcsftime_l,_wcstoul,_wcsftime_l,_wcsncasecmp_l,_wcsncat,_wmemset,_wcsnrtombs,_wcspbrk,_wcsspn,_wcsstr,_wcstof,_wcstod,_wcstold,_wcstoull,_wcstoll,_wcstoimax,_wcstoumax,_wcswcs,_wcswidth,_wcwidth,___wcsxfrm_l,_wcsxfrm_l,_wctob,_wctrans,_towctrans,___wctrans_l,___towctrans_l,_wctrans_l,_towctrans_l,_wmemmove,_wprintf,_wscanf,___isoc99_wscanf,___libc_realloc,_realloc_in_place,_memalign,_valloc,_pvalloc,_mallinfo,_mallopt,_malloc_trim,_malloc_usable_size,_malloc_footprint,_malloc_max_footprint,_malloc_footprint_limit,_malloc_set_footprint_limit,_independent_calloc,_independent_comalloc,_bulk_free,_emscripten_builtin_realloc,_emscripten_builtin_calloc,_emscripten_get_sbrk_ptr,__sbrk64,_brk,___trap,___absvdi2,___absvsi2,___absvti2,___adddf3,___fe_getround,___fe_raise_inexact,___addsf3,___ashlti3,___lshrti3,___addvdi3,___addvsi3,___addvti3,___ashldi3,___ashrdi3,___ashrti3,___atomic_is_lock_free,___atomic_load,___atomic_store,___atomic_compare_exchange,___atomic_exchange,___atomic_load_1,___atomic_load_2,___atomic_load_4,___atomic_load_8,___atomic_load_16,___atomic_store_1,___atomic_store_2,___atomic_store_4,___atomic_store_8,___atomic_store_16,___atomic_exchange_1,___atomic_exchange_2,___atomic_exchange_4,___atomic_exchange_8,___atomic_exchange_16,___atomic_compare_exchange_1,___atomic_compare_exchange_2,___atomic_compare_exchange_4,___atomic_compare_exchange_8,___atomic_compare_exchange_16,___atomic_fetch_add_1,___atomic_fetch_add_2,___atomic_fetch_add_4,___atomic_fetch_add_8,___atomic_fetch_add_16,___atomic_fetch_sub_1,___atomic_fetch_sub_2,___atomic_fetch_sub_4,___atomic_fetch_sub_8,___atomic_fetch_sub_16,___atomic_fetch_and_1,___atomic_fetch_and_2,___atomic_fetch_and_4,___atomic_fetch_and_8,___atomic_fetch_and_16,___atomic_fetch_or_1,___atomic_fetch_or_2,___atomic_fetch_or_4,___atomic_fetch_or_8,___atomic_fetch_or_16,___atomic_fetch_xor_1,___atomic_fetch_xor_2,___atomic_fetch_xor_4,___atomic_fetch_xor_8,___atomic_fetch_xor_16,___atomic_fetch_nand_1,___atomic_fetch_nand_2,___atomic_fetch_nand_4,___atomic_fetch_nand_8,___atomic_fetch_nand_16,_atomic_flag_clear,_atomic_flag_clear_explicit,_atomic_flag_test_and_set,_atomic_flag_test_and_set_explicit,_atomic_signal_fence,_atomic_thread_fence,___bswapdi2,___bswapsi2,___clear_cache,___clzdi2,___clzsi2,___clzti2,___cmpdi2,___cmpti2,___ledf2,___gedf2,___unorddf2,___eqdf2,___ltdf2,___nedf2,___gtdf2,___lesf2,___gesf2,___unordsf2,___eqsf2,___ltsf2,___nesf2,___gtsf2,___ctzdi2,___ctzsi2,___ctzti2,___divdc3,___divdf3,___divdi3,___udivmoddi4,___divmoddi4,___divmodsi4,___udivmodsi4,___divmodti4,___udivmodti4,___divsc3,___divsf3,___divsi3,___divtc3,___divti3,_setThrew,___wasm_setjmp,___wasm_setjmp_test,___wasm_longjmp,__emscripten_tempret_set,__emscripten_tempret_get,___get_temp_ret,___set_temp_ret,_getTempRet0,_setTempRet0,___emutls_get_address,___enable_execute_stack,___extendhfdf2,___extendhfsf2,___gnu_h2f_ieee,___extendsfdf2,___ffsdi2,___ffssi2,___ffsti2,___fixdfdi,___fixunsdfdi,___fixdfsi,___fixdfti,___fixsfdi,___fixunssfdi,___fixsfsi,___fixsfti,___fixtfti,___fixunsdfsi,___fixunsdfti,___fixunssfsi,___fixunssfti,___fixunstfdi,___fixunstfsi,___fixunstfti,___floatdidf,___floatdisf,___floatsidf,___floatsisf,___floattidf,___floattisf,___floattitf,___floatundidf,___floatundisf,___floatunditf,___floatunsidf,___floatunsisf,___floatuntidf,___floatuntisf,___floatuntitf,___lshrdi3,___moddi3,___modsi3,___modti3,___muldf3,___muldi3,___mulodi4,___mulosi4,___muloti4,___udivti3,___mulsf3,___mulvdi3,___mulvsi3,___mulvti3,___negdf2,___negdi2,___negsf2,___negti2,___negvdi2,___negvsi2,___negvti2,___paritydi2,___paritysi2,___parityti2,___popcountdi2,___popcountsi2,___popcountti2,___powidf2,___powisf2,___powitf2,_emscripten_stack_init,_emscripten_stack_set_limits,_emscripten_stack_get_free,__emscripten_stack_restore,__emscripten_stack_alloc,___subdf3,___subsf3,___subvdi3,___subvsi3,___subvti3,___truncdfhf2,___truncdfsf2,___truncsfhf2,___gnu_f2h_ieee,___ucmpdi2,___ucmpti2,___udivdi3,___udivsi3,___umoddi3,___umodsi3,___umodti3,___cxa_begin_catch,___cxa_rethrow,___cxa_end_catch,___cxa_allocate_exception,___cxa_free_exception,___cxa_throw,___cxa_pure_virtual,___cxa_uncaught_exceptions,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_current_primary_exception,___cxa_rethrow_primary_exception,___cxa_init_primary_exception,___dynamic_cast,___cxa_bad_cast,___cxa_bad_typeid,___cxa_throw_bad_array_new_length,___cxa_get_globals_fast,___cxa_demangle,___cxa_allocate_dependent_exception,___cxa_free_dependent_exception,___cxa_get_globals,__Unwind_RaiseException,___cxa_get_exception_ptr,__Unwind_DeleteException,___cxa_call_terminate,___cxa_current_exception_type,___cxa_uncaught_exception,___thrown_object_from_unwind_exception,___get_exception_message,___get_exception_terminate_message,___cxa_guard_acquire,___cxa_guard_release,___cxa_guard_abort,___gxx_personality_wasm0,__Unwind_GetLanguageSpecificData,__Unwind_GetIP,__Unwind_GetRegionStart,__Unwind_SetGR,__Unwind_SetIP,___cxa_call_unexpected,___cxa_thread_atexit,___cxa_deleted_virtual,__Unwind_CallPersonality,_gethostbyaddr_r,_gethostbyname2,_gethostbyname2_r,_gethostbyname_r,_socketpair,memory,___stack_pointer,_py_docstring_mod,_PyExc_AttributeError,_stdout,_Jsr_error,_PyExc_ModuleNotFoundError,__Py_NoneStruct,_internal_error,_conversion_error,__indirect_function_table,_PyExc_ImportError,_pyodide_export_,_pystate_keepalive_,_pystate_keepalive,_compat_null_to_none,_py_jsnull,__Py_TrueStruct,__Py_FalseStruct,_py_JsBigInt,_Jsr_undefined,_jsbind,_PyExc_TypeError,_PyExc_StopIteration,_PyTraceBack_Type,_PyExc_GeneratorExit,_PyExc_StopAsyncIteration,_PyExc_RuntimeError,_PyExc_IndexError,_PyExc_Exception,_PyExc_BaseException,_methods,_PyExc_SystemError,_PyExc_KeyError,_PySlice_Type,_PyLong_Type,_PyBool_Type,_PyExc_ValueError,_PyExc_NotImplementedError,_PyBaseObject_Type,_PyExc_OverflowError,_PyList_Type,_PyTuple_Type,_PyExc_RuntimeWarning,__Py_NotImplementedStruct,_default_signature,_no_default,_PyCoro_Type,_PyGen_Type,_PyDict_Type,_compat_to_string_repr,_PyMethod_Type,_PyFunction_Type,_py_buffer_len_offset,_py_buffer_shape_offset,_Jsr_true,_Jsr_false,_Jsr_novalue,_PySet_Type,_PyFloat_Type,_compat_dict_to_literalmap,_stderr,__PyParser_TokenNames,_PyExc_SyntaxError,__PyExc_IncompleteInputError,_PyExc_LookupError,_PyExc_UnicodeDecodeError,__PyRuntime,_PyExc_IndentationError,_PyExc_KeyboardInterrupt,_PyExc_TabError,_PyExc_UnicodeError,_stdin,_PyExc_MemoryError,_PyComplex_Type,_PyUnicode_Type,_PyBytes_Type,__Py_EllipsisObject,__Py_ctype_table,_PyExc_DeprecationWarning,_PyExc_SyntaxWarning,__Py_ctype_tolower,_PyExc_OSError,__PyOS_ReadlineTState,_PyOS_InputHook,_PyOS_ReadlineFunctionPointer,_PyType_Type,_PyExc_BufferError,_PyByteArray_Type,__PyByteArray_empty_string,__PyUnion_Type,__Py_ctype_toupper,_Py_hexdigits,_PyExc_BytesWarning,_PyByteArrayIter_Type,__PyLong_DigitValue,_PyBytesIter_Type,_PyModule_Type,_PyCapsule_Type,_PyCell_Type,_PyInstanceMethod_Type,_PyCode_Type,_PyFrozenSet_Type,_PyExc_ZeroDivisionError,_PyMethodDescr_Type,_PyClassMethodDescr_Type,_PyMemberDescr_Type,_PyGetSetDescr_Type,_PyWrapperDescr_Type,_PyDictProxy_Type,_PyProperty_Type,_PyReversed_Type,_PyEnum_Type,_PyExc_BaseExceptionGroup,_PyExc_UnicodeTranslateError,_PyExc_BlockingIOError,_PyExc_BrokenPipeError,_PyExc_ChildProcessError,_PyExc_ConnectionAbortedError,_PyExc_ConnectionRefusedError,_PyExc_ConnectionResetError,_PyExc_FileExistsError,_PyExc_FileNotFoundError,_PyExc_IsADirectoryError,_PyExc_NotADirectoryError,_PyExc_InterruptedError,_PyExc_PermissionError,_PyExc_ProcessLookupError,_PyExc_TimeoutError,_PyExc_EnvironmentError,_PyExc_IOError,_PyExc_SystemExit,_PyExc_ConnectionError,_PyExc_EOFError,_PyExc_RecursionError,_PyExc_PythonFinalizationError,_PyExc_NameError,_PyExc_UnboundLocalError,_PyExc_UnicodeEncodeError,_PyExc_AssertionError,_PyExc_ArithmeticError,_PyExc_FloatingPointError,_PyExc_ReferenceError,_PyExc_Warning,_PyExc_UserWarning,_PyExc_PendingDeprecationWarning,_PyExc_FutureWarning,_PyExc_ImportWarning,_PyExc_UnicodeWarning,_PyExc_EncodingWarning,_PyExc_ResourceWarning,_Py_GenericAliasType,_PyAsyncGen_Type,__PyAsyncGenASend_Type,_PyStdPrinter_Type,__Py_SwappedOp,_PyFrameLocalsProxy_Type,_PyFrame_Type,_PyClassMethod_Type,_PyStaticMethod_Type,_PySeqIter_Type,_PyCallIter_Type,_PyDictKeys_Type,_PyDictValues_Type,_PyDictItems_Type,_PyListIter_Type,_PyListRevIter_Type,_PyDictIterKey_Type,_PyDictRevIterKey_Type,_PyDictRevIterValue_Type,_PyDictIterItem_Type,_PyDictIterValue_Type,_PyDictRevIterItem_Type,_PyODict_Type,_PyODictIter_Type,_PyODictKeys_Type,_PyODictValues_Type,_PyODictItems_Type,_PyMemoryView_Type,_PyCMethod_Type,_PyCFunction_Type,_PyModuleDef_Type,__PyNone_Type,__PyNotImplemented_Type,_PyContextToken_Type,_PyContextVar_Type,_PyContext_Type,_PyEllipsis_Type,_PyFilter_Type,_PyLongRangeIter_Type,_PyMap_Type,_PyPickleBuffer_Type,_PyRangeIter_Type,_PyRange_Type,_PySetIter_Type,_PySuper_Type,_PyTupleIter_Type,_PyUnicodeIter_Type,_PyZip_Type,__PyWeakref_CallableProxyType,__PyWeakref_ProxyType,__PyWeakref_RefType,__PySet_Dummy,_PyStructSequence_UnnamedField,__Py_ascii_whitespace,__Py_InitCleanup,__PyEval_BinaryOps,__PyIntrinsics_UnaryFunctions,__PyIntrinsics_BinaryFunctions,__PyEval_ConversionFuncs,__Py_SpecialMethods,__Py_emscripten_signal_clock,_Py_EMSCRIPTEN_SIGNAL_HANDLING,__Py_FunctionAttributeOffsets,_PyExc_InterpreterError,_PyExc_InterpreterNotFoundError,_PyUnstable_ExecutableKinds,_Py_Version,_PyImport_Inittab,__PyImport_FrozenBootstrap,_PyImport_FrozenModules,__PyImport_FrozenStdlib,__PyImport_FrozenTest,_Py_IgnoreEnvironmentFlag,_Py_IsolatedFlag,_Py_BytesWarningFlag,_Py_InspectFlag,_Py_InteractiveFlag,_Py_OptimizeFlag,_Py_DebugFlag,_Py_VerboseFlag,_Py_QuietFlag,_Py_FrozenFlag,_Py_UnbufferedStdioFlag,_Py_NoSiteFlag,_Py_DontWriteBytecodeFlag,_Py_NoUserSiteDirectory,_Py_HashRandomizationFlag,_Py_FileSystemDefaultEncoding,_Py_HasFileSystemDefaultEncoding,_Py_FileSystemDefaultEncodeErrors,_Py_UTF8Mode,__Py_HashSecret,_PY_TIMEOUT_MAX,__Py_emscripten_signal_in_memory,__PyEM_EMSCRIPTEN_TRAMPOLINE_OFFSET,_ffi_type_pointer,_ffi_type_void,_ffi_type_sint32,_ffi_type_uint64,_ffi_type_sint64,_ffi_type_uint32,_ffi_type_uint16,_ffi_type_sint16,_ffi_type_uint8,_ffi_type_sint8,_ffi_type_double,_ffi_type_longdouble,_ffi_type_float,_environ,_sqlite3_version,_sqlite3_data_directory,_sqlite3_temp_directory,_sqlite3one,_g_debuglevel,_g_ZSTD_threading_useless_symbol,__deduplicate_map,_BZ2_crc32Table,_BZ2_rNums,_z_errmsg,__length_code,__dist_code,_deflate_copyright,_inflate_copyright,___environ,____environ,__environ,___stack_chk_guard,___tzname,_daylight,_timezone,___timezone,___daylight,_tzname,___progname,___optreset,_optind,___optpos,_optarg,_optopt,_opterr,_optreset,_h_errno,___signgam,__ns_flagdata,___progname_full,_program_invocation_short_name,_program_invocation_name,___stack_low,___stack_high,___sig_pending,___sig_actions,_signgam,___heap_base,___c_longjmp,___THREW__,___threwValue,___cpp_exception,___cxa_unexpected_handler,___cxa_terminate_handler,___cxa_new_handler,___wasm_lpad_context,_in6addr_any,_in6addr_loopback,wasmTable,wasmMemory;function assignWasmExports(wasmExports){_set_method_docstring=Module["_set_method_docstring"]=wasmExports["set_method_docstring"];_PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=wasmExports["PyObject_GetAttrString"];__PyUnicode_FromId=Module["__PyUnicode_FromId"]=wasmExports["_PyUnicode_FromId"];_PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=wasmExports["PyObject_VectorcallMethod"];_PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=wasmExports["PyUnicode_AsUTF8AndSize"];_malloc=Module["_malloc"]=wasmExports["malloc"];__Py_Dealloc=Module["__Py_Dealloc"]=wasmExports["_Py_Dealloc"];_PyErr_Format=Module["_PyErr_Format"]=wasmExports["PyErr_Format"];_add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=wasmExports["add_methods_and_set_docstrings"];_PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=wasmExports["PyModule_AddFunctions"];_docstring_init=Module["_docstring_init"]=wasmExports["docstring_init"];_PyImport_ImportModule=Module["_PyImport_ImportModule"]=wasmExports["PyImport_ImportModule"];_dump_traceback=Module["_dump_traceback"]=wasmExports["dump_traceback"];_fileno=Module["_fileno"]=wasmExports["fileno"];_PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=wasmExports["PyGILState_GetThisThreadState"];_set_error=Module["_set_error"]=wasmExports["set_error"];_PyErr_SetObject=Module["_PyErr_SetObject"]=wasmExports["PyErr_SetObject"];_restore_sys_last_exception=Module["_restore_sys_last_exception"]=wasmExports["restore_sys_last_exception"];_PySys_GetObject=Module["_PySys_GetObject"]=wasmExports["PySys_GetObject"];_PyErr_SetRaisedException=Module["_PyErr_SetRaisedException"]=wasmExports["PyErr_SetRaisedException"];_wrap_exception=Module["_wrap_exception"]=wasmExports["wrap_exception"];_PyErr_GetRaisedException=Module["_PyErr_GetRaisedException"]=wasmExports["PyErr_GetRaisedException"];_hiwire_get=Module["_hiwire_get"]=wasmExports["hiwire_get"];_PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=wasmExports["PyErr_GivenExceptionMatches"];_PyErr_Print=Module["_PyErr_Print"]=wasmExports["PyErr_Print"];__PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=wasmExports["_PyObject_GetAttrId"];_PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=wasmExports["PyUnicode_AsUTF8"];_PySys_WriteStderr=Module["_PySys_WriteStderr"]=wasmExports["PySys_WriteStderr"];_PyErr_DisplayException=Module["_PyErr_DisplayException"]=wasmExports["PyErr_DisplayException"];_JsvString_FromId=Module["_JsvString_FromId"]=wasmExports["JsvString_FromId"];_pythonexc2js=Module["_pythonexc2js"]=wasmExports["pythonexc2js"];_trigger_fatal_error=Module["_trigger_fatal_error"]=wasmExports["trigger_fatal_error"];_raw_call=Module["_raw_call"]=wasmExports["raw_call"];_JsProxy_Val=Module["_JsProxy_Val"]=wasmExports["JsProxy_Val"];_error_handling_init=Module["_error_handling_init"]=wasmExports["error_handling_init"];_hiwire_invalid_ref=Module["_hiwire_invalid_ref"]=wasmExports["hiwire_invalid_ref"];_init_pyodide_proxy=Module["_init_pyodide_proxy"]=wasmExports["init_pyodide_proxy"];_python2js=Module["_python2js"]=wasmExports["python2js"];_PyInit__pyodide_core=Module["_PyInit__pyodide_core"]=wasmExports["PyInit__pyodide_core"];_PyErr_Occurred=Module["_PyErr_Occurred"]=wasmExports["PyErr_Occurred"];__PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=wasmExports["_PyErr_FormatFromCause"];_PyModule_Create2=Module["_PyModule_Create2"]=wasmExports["PyModule_Create2"];_PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=wasmExports["PyImport_GetModuleDict"];_PyDict_SetItemString=Module["_PyDict_SetItemString"]=wasmExports["PyDict_SetItemString"];_jslib_init=Module["_jslib_init"]=wasmExports["jslib_init"];_python2js_init=Module["_python2js_init"]=wasmExports["python2js_init"];_jsproxy_init=Module["_jsproxy_init"]=wasmExports["jsproxy_init"];_jsproxy_call_init=Module["_jsproxy_call_init"]=wasmExports["jsproxy_call_init"];_pyproxy_init=Module["_pyproxy_init"]=wasmExports["pyproxy_init"];_jsbind_init=Module["_jsbind_init"]=wasmExports["jsbind_init"];_pyodide_export=Module["_pyodide_export"]=wasmExports["pyodide_export"];_PyUnicode_Data=Module["_PyUnicode_Data"]=wasmExports["PyUnicode_Data"];__js2python_none=Module["__js2python_none"]=wasmExports["_js2python_none"];__js2python_null=Module["__js2python_null"]=wasmExports["_js2python_null"];__js2python_true=Module["__js2python_true"]=wasmExports["_js2python_true"];__js2python_false=Module["__js2python_false"]=wasmExports["_js2python_false"];__js2python_pyproxy=Module["__js2python_pyproxy"]=wasmExports["_js2python_pyproxy"];__js2python_bigint=Module["__js2python_bigint"]=wasmExports["_js2python_bigint"];_PyObject_CallOneArg=Module["_PyObject_CallOneArg"]=wasmExports["PyObject_CallOneArg"];_js2python_immutable=Module["_js2python_immutable"]=wasmExports["js2python_immutable"];_js2python=Module["_js2python"]=wasmExports["js2python"];_JsProxy_getflags=Module["_JsProxy_getflags"]=wasmExports["JsProxy_getflags"];_PyLong_AsLong=Module["_PyLong_AsLong"]=wasmExports["PyLong_AsLong"];_JsProxy_is_py_json=Module["_JsProxy_is_py_json"]=wasmExports["JsProxy_is_py_json"];_js2python_as_py_json=Module["_js2python_as_py_json"]=wasmExports["js2python_as_py_json"];_JsProxy_create_with_type=Module["_JsProxy_create_with_type"]=wasmExports["JsProxy_create_with_type"];_JsProxy_bind_sig=Module["_JsProxy_bind_sig"]=wasmExports["JsProxy_bind_sig"];_JsRef_toVal=Module["_JsRef_toVal"]=wasmExports["JsRef_toVal"];_PyErr_SetString=Module["_PyErr_SetString"]=wasmExports["PyErr_SetString"];_JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=wasmExports["JsProxy_create_with_this"];_JsProxy_bind_class=Module["_JsProxy_bind_class"]=wasmExports["JsProxy_bind_class"];_clear_method_call_singleton=Module["_clear_method_call_singleton"]=wasmExports["clear_method_call_singleton"];_hiwire_decref=Module["_hiwire_decref"]=wasmExports["hiwire_decref"];_JsProxy_GetMethod=Module["_JsProxy_GetMethod"]=wasmExports["JsProxy_GetMethod"];__PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=wasmExports["_PyObject_GenericGetAttrWithDict"];_strcmp=Module["_strcmp"]=wasmExports["strcmp"];_PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=wasmExports["PyArg_ParseTuple"];_Js2PyConverter_convert=Module["_Js2PyConverter_convert"]=wasmExports["Js2PyConverter_convert"];_hiwire_new=Module["_hiwire_new"]=wasmExports["hiwire_new"];_hiwire_incref=Module["_hiwire_incref"]=wasmExports["hiwire_incref"];_JsProxy_GetAttr=Module["_JsProxy_GetAttr"]=wasmExports["JsProxy_GetAttr"];_handle_next_result=Module["_handle_next_result"]=wasmExports["handle_next_result"];_free=Module["_free"]=wasmExports["free"];_JsProxy_create_objmap=Module["_JsProxy_create_objmap"]=wasmExports["JsProxy_create_objmap"];_JsProxy_am_send=Module["_JsProxy_am_send"]=wasmExports["JsProxy_am_send"];_python2js_track_proxies=Module["_python2js_track_proxies"]=wasmExports["python2js_track_proxies"];_JsvObject_CallMethodId_OneArg=Module["_JsvObject_CallMethodId_OneArg"]=wasmExports["JsvObject_CallMethodId_OneArg"];_JsProxy_IterNext=Module["_JsProxy_IterNext"]=wasmExports["JsProxy_IterNext"];__PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=wasmExports["_PyGen_SetStopIterationValue"];_JsGenerator_send=Module["_JsGenerator_send"]=wasmExports["JsGenerator_send"];_PyErr_SetNone=Module["_PyErr_SetNone"]=wasmExports["PyErr_SetNone"];_JsException_js_error_getter=Module["_JsException_js_error_getter"]=wasmExports["JsException_js_error_getter"];_process_throw_args=Module["_process_throw_args"]=wasmExports["process_throw_args"];_PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=wasmExports["PyErr_NormalizeException"];_PyException_GetTraceback=Module["_PyException_GetTraceback"]=wasmExports["PyException_GetTraceback"];_PyException_SetTraceback=Module["_PyException_SetTraceback"]=wasmExports["PyException_SetTraceback"];_PyErr_Restore=Module["_PyErr_Restore"]=wasmExports["PyErr_Restore"];_PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=wasmExports["PyErr_ExceptionMatches"];_PyErr_Clear=Module["_PyErr_Clear"]=wasmExports["PyErr_Clear"];_JsvObject_CallMethodId_NoArgs=Module["_JsvObject_CallMethodId_NoArgs"]=wasmExports["JsvObject_CallMethodId_NoArgs"];_PyErr_Fetch=Module["_PyErr_Fetch"]=wasmExports["PyErr_Fetch"];__agen_handle_result_js_c=Module["__agen_handle_result_js_c"]=wasmExports["_agen_handle_result_js_c"];__agen_handle_result=Module["__agen_handle_result"]=wasmExports["_agen_handle_result"];_JsArray_sq_item=Module["_JsArray_sq_item"]=wasmExports["JsArray_sq_item"];_JsArray_sq_ass_item=Module["_JsArray_sq_ass_item"]=wasmExports["JsArray_sq_ass_item"];_JsTypedArray_sq_ass_item=Module["_JsTypedArray_sq_ass_item"]=wasmExports["JsTypedArray_sq_ass_item"];_JsMap_update=Module["_JsMap_update"]=wasmExports["JsMap_update"];_wrap_promise=Module["_wrap_promise"]=wasmExports["wrap_promise"];_PyTuple_GetItem=Module["_PyTuple_GetItem"]=wasmExports["PyTuple_GetItem"];_JsvObject_CallMethodId=Module["_JsvObject_CallMethodId"]=wasmExports["JsvObject_CallMethodId"];_JsModule_GetAll=Module["_JsModule_GetAll"]=wasmExports["JsModule_GetAll"];_PyType_IsSubtype=Module["_PyType_IsSubtype"]=wasmExports["PyType_IsSubtype"];_JsProxy_Check=Module["_JsProxy_Check"]=wasmExports["JsProxy_Check"];_JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=wasmExports["JsBuffer_CopyIntoMemoryView"];_PyMem_Malloc=Module["_PyMem_Malloc"]=wasmExports["PyMem_Malloc"];_PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=wasmExports["PyMemoryView_FromObject"];_JsBuffer_cinit=Module["_JsBuffer_cinit"]=wasmExports["JsBuffer_cinit"];_hiwire_new_deduplicate=Module["_hiwire_new_deduplicate"]=wasmExports["hiwire_new_deduplicate"];_JsRef_new=Module["_JsRef_new"]=wasmExports["JsRef_new"];_PyTuple_Pack=Module["_PyTuple_Pack"]=wasmExports["PyTuple_Pack"];_PyLong_FromLong=Module["_PyLong_FromLong"]=wasmExports["PyLong_FromLong"];_PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=wasmExports["PyDict_GetItemWithError"];_PyObject_SelfIter=Module["_PyObject_SelfIter"]=wasmExports["PyObject_SelfIter"];_PyVectorcall_Call=Module["_PyVectorcall_Call"]=wasmExports["PyVectorcall_Call"];_PyErr_NoMemory=Module["_PyErr_NoMemory"]=wasmExports["PyErr_NoMemory"];_PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=wasmExports["PyType_FromSpecWithBases"];_PyObject_SetAttr=Module["_PyObject_SetAttr"]=wasmExports["PyObject_SetAttr"];_PyMem_Free=Module["_PyMem_Free"]=wasmExports["PyMem_Free"];_PyDict_SetItem=Module["_PyDict_SetItem"]=wasmExports["PyDict_SetItem"];_JsProxy_create=Module["_JsProxy_create"]=wasmExports["JsProxy_create"];_JsProxy_init_docstrings=Module["_JsProxy_init_docstrings"]=wasmExports["JsProxy_init_docstrings"];_run_sync_not_supported=Module["_run_sync_not_supported"]=wasmExports["run_sync_not_supported"];_run_sync=Module["_run_sync"]=wasmExports["run_sync"];_py_is_awaitable=Module["_py_is_awaitable"]=wasmExports["py_is_awaitable"];_JsvPromise_Syncify=Module["_JsvPromise_Syncify"]=wasmExports["JsvPromise_Syncify"];_can_run_sync=Module["_can_run_sync"]=wasmExports["can_run_sync"];_PyDict_New=Module["_PyDict_New"]=wasmExports["PyDict_New"];_PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=wasmExports["PyObject_SetAttrString"];_PyModule_AddObject=Module["_PyModule_AddObject"]=wasmExports["PyModule_AddObject"];_PyType_Ready=Module["_PyType_Ready"]=wasmExports["PyType_Ready"];_JsMethod_Vectorcall_impl=Module["_JsMethod_Vectorcall_impl"]=wasmExports["JsMethod_Vectorcall_impl"];_JsvObject_CallMethodId_TwoArgs=Module["_JsvObject_CallMethodId_TwoArgs"]=wasmExports["JsvObject_CallMethodId_TwoArgs"];_PyObject_Repr=Module["_PyObject_Repr"]=wasmExports["PyObject_Repr"];_PyIndex_Check=Module["_PyIndex_Check"]=wasmExports["PyIndex_Check"];_PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=wasmExports["PyNumber_AsSsize_t"];_PySlice_Unpack=Module["_PySlice_Unpack"]=wasmExports["PySlice_Unpack"];_PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=wasmExports["PySlice_AdjustIndices"];_PySequence_Fast=Module["_PySequence_Fast"]=wasmExports["PySequence_Fast"];_PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=wasmExports["PyArg_ParseTupleAndKeywords"];_PySet_New=Module["_PySet_New"]=wasmExports["PySet_New"];__PySet_Update=Module["__PySet_Update"]=wasmExports["_PySet_Update"];_PyUnicode_FromString=Module["_PyUnicode_FromString"]=wasmExports["PyUnicode_FromString"];_PySet_Discard=Module["_PySet_Discard"]=wasmExports["PySet_Discard"];_PyList_New=Module["_PyList_New"]=wasmExports["PyList_New"];_PyList_Extend=Module["_PyList_Extend"]=wasmExports["PyList_Extend"];_PyList_Sort=Module["_PyList_Sort"]=wasmExports["PyList_Sort"];__PyArg_ParseStack=Module["__PyArg_ParseStack"]=wasmExports["_PyArg_ParseStack"];__PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=wasmExports["_PyArg_CheckPositional"];_PyObject_GetIter=Module["_PyObject_GetIter"]=wasmExports["PyObject_GetIter"];_PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=wasmExports["PyObject_RichCompareBool"];_PyErr_WarnEx=Module["_PyErr_WarnEx"]=wasmExports["PyErr_WarnEx"];__PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=wasmExports["_PyArg_ParseStackAndKeywords"];_hiwire_pop=Module["_hiwire_pop"]=wasmExports["hiwire_pop"];_puts=Module["_puts"]=wasmExports["puts"];_PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=wasmExports["PyObject_GenericSetAttr"];_Py_HashBuffer=Module["_Py_HashBuffer"]=wasmExports["Py_HashBuffer"];_JsMethod_Construct_impl=Module["_JsMethod_Construct_impl"]=wasmExports["JsMethod_Construct_impl"];_PyNumber_Index=Module["_PyNumber_Index"]=wasmExports["PyNumber_Index"];_PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=wasmExports["PyLong_AsSsize_t"];_PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=wasmExports["PyLong_FromSsize_t"];_PyObject_GetItem=Module["_PyObject_GetItem"]=wasmExports["PyObject_GetItem"];_PyObject_DelItem=Module["_PyObject_DelItem"]=wasmExports["PyObject_DelItem"];_PyObject_SetItem=Module["_PyObject_SetItem"]=wasmExports["PyObject_SetItem"];_PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=wasmExports["PyObject_GetBuffer"];_PyBuffer_Release=Module["_PyBuffer_Release"]=wasmExports["PyBuffer_Release"];_PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=wasmExports["PyBytes_FromStringAndSize"];_PyObject_Vectorcall=Module["_PyObject_Vectorcall"]=wasmExports["PyObject_Vectorcall"];_Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=wasmExports["Py_EnterRecursiveCall"];_Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=wasmExports["Py_LeaveRecursiveCall"];_Py2JsConverter_convert=Module["_Py2JsConverter_convert"]=wasmExports["Py2JsConverter_convert"];_PyUnicode_Equal=Module["_PyUnicode_Equal"]=wasmExports["PyUnicode_Equal"];_PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=wasmExports["PyObject_GC_UnTrack"];_PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=wasmExports["PyUnicode_FromFormat"];_PyType_GenericNew=Module["_PyType_GenericNew"]=wasmExports["PyType_GenericNew"];_PyObject_IsInstance=Module["_PyObject_IsInstance"]=wasmExports["PyObject_IsInstance"];_python2js_inner=Module["_python2js_inner"]=wasmExports["python2js_inner"];_python2js_custom=Module["_python2js_custom"]=wasmExports["python2js_custom"];_check_gil=Module["_check_gil"]=wasmExports["check_gil"];_PyGILState_Check=Module["_PyGILState_Check"]=wasmExports["PyGILState_Check"];_PyGen_GetCode=Module["_PyGen_GetCode"]=wasmExports["PyGen_GetCode"];_pyproxy_getflags=Module["_pyproxy_getflags"]=wasmExports["pyproxy_getflags"];_PyObject_HasAttr=Module["_PyObject_HasAttr"]=wasmExports["PyObject_HasAttr"];_PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=wasmExports["PyObject_IsSubclass"];__pyproxy_repr=Module["__pyproxy_repr"]=wasmExports["_pyproxy_repr"];_PyObject_Str=Module["_PyObject_Str"]=wasmExports["PyObject_Str"];__pyproxy_type=Module["__pyproxy_type"]=wasmExports["_pyproxy_type"];__pyproxy_hasattr=Module["__pyproxy_hasattr"]=wasmExports["_pyproxy_hasattr"];_python2js_json_adaptor=Module["_python2js_json_adaptor"]=wasmExports["python2js_json_adaptor"];__pyproxy_getattr=Module["__pyproxy_getattr"]=wasmExports["_pyproxy_getattr"];__PyObject_GetMethod=Module["__PyObject_GetMethod"]=wasmExports["_PyObject_GetMethod"];__pyproxy_setattr=Module["__pyproxy_setattr"]=wasmExports["_pyproxy_setattr"];__pyproxy_delattr=Module["__pyproxy_delattr"]=wasmExports["_pyproxy_delattr"];_PyObject_DelAttr=Module["_PyObject_DelAttr"]=wasmExports["PyObject_DelAttr"];__pyproxy_getitem=Module["__pyproxy_getitem"]=wasmExports["_pyproxy_getitem"];__pyproxy_setitem=Module["__pyproxy_setitem"]=wasmExports["_pyproxy_setitem"];__pyproxy_delitem=Module["__pyproxy_delitem"]=wasmExports["_pyproxy_delitem"];__pyproxy_slice_assign=Module["__pyproxy_slice_assign"]=wasmExports["_pyproxy_slice_assign"];_PySequence_Size=Module["_PySequence_Size"]=wasmExports["PySequence_Size"];_PySequence_GetSlice=Module["_PySequence_GetSlice"]=wasmExports["PySequence_GetSlice"];_PySequence_SetSlice=Module["_PySequence_SetSlice"]=wasmExports["PySequence_SetSlice"];_python2js_with_depth=Module["_python2js_with_depth"]=wasmExports["python2js_with_depth"];__pyproxy_pop=Module["__pyproxy_pop"]=wasmExports["_pyproxy_pop"];__pyproxy_contains=Module["__pyproxy_contains"]=wasmExports["_pyproxy_contains"];_PySequence_Contains=Module["_PySequence_Contains"]=wasmExports["PySequence_Contains"];__pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=wasmExports["_pyproxy_ownKeys"];_PyObject_Dir=Module["_PyObject_Dir"]=wasmExports["PyObject_Dir"];_PyList_Size=Module["_PyList_Size"]=wasmExports["PyList_Size"];_PyList_GetItem=Module["_PyList_GetItem"]=wasmExports["PyList_GetItem"];__pyproxy_apply=Module["__pyproxy_apply"]=wasmExports["_pyproxy_apply"];_PyTuple_New=Module["_PyTuple_New"]=wasmExports["PyTuple_New"];__pyproxy_apply_promising=Module["__pyproxy_apply_promising"]=wasmExports["_pyproxy_apply_promising"];__iscoroutinefunction=Module["__iscoroutinefunction"]=wasmExports["_iscoroutinefunction"];__pyproxy_iter_next=Module["__pyproxy_iter_next"]=wasmExports["_pyproxy_iter_next"];_PyIter_Next=Module["_PyIter_Next"]=wasmExports["PyIter_Next"];__pyproxyGen_Send=Module["__pyproxyGen_Send"]=wasmExports["_pyproxyGen_Send"];_PyIter_Send=Module["_PyIter_Send"]=wasmExports["PyIter_Send"];__pyproxyGen_return=Module["__pyproxyGen_return"]=wasmExports["_pyproxyGen_return"];__PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=wasmExports["_PyGen_FetchStopIterationValue"];__pyproxyGen_throw=Module["__pyproxyGen_throw"]=wasmExports["_pyproxyGen_throw"];__pyproxyGen_asend=Module["__pyproxyGen_asend"]=wasmExports["_pyproxyGen_asend"];__pyproxyGen_areturn=Module["__pyproxyGen_areturn"]=wasmExports["_pyproxyGen_areturn"];__pyproxyGen_athrow=Module["__pyproxyGen_athrow"]=wasmExports["_pyproxyGen_athrow"];__pyproxy_aiter_next=Module["__pyproxy_aiter_next"]=wasmExports["_pyproxy_aiter_next"];_FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=wasmExports["FutureDoneCallback_call_resolve"];_FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=wasmExports["FutureDoneCallback_call_reject"];_FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=wasmExports["FutureDoneCallback_call"];_PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=wasmExports["PyArg_UnpackTuple"];__pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=wasmExports["_pyproxy_ensure_future"];__pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=wasmExports["_pyproxy_get_buffer"];_PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=wasmExports["PyBuffer_FillContiguousStrides"];_PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=wasmExports["PyBuffer_IsContiguous"];_create_promise_handles_result_helper=Module["_create_promise_handles_result_helper"]=wasmExports["create_promise_handles_result_helper"];__python2js_buffer=Module["__python2js_buffer"]=wasmExports["_python2js_buffer"];_Jsv_GetError=Module["_Jsv_GetError"]=wasmExports["Jsv_GetError"];_jslib_init_buffers=Module["_jslib_init_buffers"]=wasmExports["jslib_init_buffers"];_JsRef_pop=Module["_JsRef_pop"]=wasmExports["JsRef_pop"];_JsrString_FromId=Module["_JsrString_FromId"]=wasmExports["JsrString_FromId"];_hiwire_intern=Module["_hiwire_intern"]=wasmExports["hiwire_intern"];__python2js=Module["__python2js"]=wasmExports["_python2js"];_PySequence_GetItem=Module["_PySequence_GetItem"]=wasmExports["PySequence_GetItem"];_PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=wasmExports["PyObject_CheckBuffer"];_PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=wasmExports["PyLong_AsLongAndOverflow"];_python2js__default_converter=Module["_python2js__default_converter"]=wasmExports["python2js__default_converter"];_python2js__eager_converter=Module["_python2js__eager_converter"]=wasmExports["python2js__eager_converter"];__PyLong_NumBits=Module["__PyLong_NumBits"]=wasmExports["_PyLong_NumBits"];__PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=wasmExports["_PyLong_AsByteArray"];_PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=wasmExports["PyFloat_AsDouble"];_restoreThreadState=Module["_restoreThreadState"]=wasmExports["restoreThreadState"];_PyThreadState_Swap=Module["_PyThreadState_Swap"]=wasmExports["PyThreadState_Swap"];_PyThreadState_Delete=Module["_PyThreadState_Delete"]=wasmExports["PyThreadState_Delete"];_captureThreadState=Module["_captureThreadState"]=wasmExports["captureThreadState"];_PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=wasmExports["PyInterpreterState_Get"];_PyThreadState_New=Module["_PyThreadState_New"]=wasmExports["PyThreadState_New"];_syscall_syncify=Module["_syscall_syncify"]=wasmExports["syscall_syncify"];_PyGILState_Ensure=Module["_PyGILState_Ensure"]=wasmExports["PyGILState_Ensure"];_PyGILState_Release=Module["_PyGILState_Release"]=wasmExports["PyGILState_Release"];_print_stdout=Module["_print_stdout"]=wasmExports["print_stdout"];_fiprintf=Module["_fiprintf"]=wasmExports["fiprintf"];_print_stderr=Module["_print_stderr"]=wasmExports["print_stderr"];___wrap___syscall_connect=Module["___wrap___syscall_connect"]=wasmExports["__wrap___syscall_connect"];___wrap___syscall_recvfrom=Module["___wrap___syscall_recvfrom"]=wasmExports["__wrap___syscall_recvfrom"];___wrap___syscall_sendto=Module["___wrap___syscall_sendto"]=wasmExports["__wrap___syscall_sendto"];___wrap___syscall_fcntl64=Module["___wrap___syscall_fcntl64"]=wasmExports["__wrap___syscall_fcntl64"];___wrap___syscall_poll=Module["___wrap___syscall_poll"]=wasmExports["__wrap___syscall_poll"];___wrap___syscall_shutdown=Module["___wrap___syscall_shutdown"]=wasmExports["__wrap___syscall_shutdown"];___syscall_setsockopt=Module["___syscall_setsockopt"]=wasmExports["__syscall_setsockopt"];_main=Module["_main"]=wasmExports["__main_argc_argv"];_PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=wasmExports["PyImport_AppendInittab"];_PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=wasmExports["PyPreConfig_InitPythonConfig"];_Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=wasmExports["Py_PreInitializeFromBytesArgs"];_PyStatus_Exception=Module["_PyStatus_Exception"]=wasmExports["PyStatus_Exception"];_PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=wasmExports["PyConfig_InitPythonConfig"];_PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=wasmExports["PyConfig_SetBytesArgv"];_PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=wasmExports["PyConfig_SetBytesString"];_Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=wasmExports["Py_InitializeFromConfig"];_PyConfig_Clear=Module["_PyConfig_Clear"]=wasmExports["PyConfig_Clear"];_Py_ExitStatusException=Module["_Py_ExitStatusException"]=wasmExports["Py_ExitStatusException"];_run_main=Module["_run_main"]=wasmExports["run_main"];_run_main_promising=Module["_run_main_promising"]=wasmExports["run_main_promising"];_Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=wasmExports["Py_GetBuildInfo"];_PyOS_snprintf=Module["_PyOS_snprintf"]=wasmExports["PyOS_snprintf"];__PyToken_OneChar=Module["__PyToken_OneChar"]=wasmExports["_PyToken_OneChar"];__PyToken_TwoChars=Module["__PyToken_TwoChars"]=wasmExports["_PyToken_TwoChars"];__PyToken_ThreeChars=Module["__PyToken_ThreeChars"]=wasmExports["_PyToken_ThreeChars"];_strlen=Module["_strlen"]=wasmExports["strlen"];_PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=wasmExports["PyUnicode_DecodeUTF8"];__PyArena_Malloc=Module["__PyArena_Malloc"]=wasmExports["_PyArena_Malloc"];_strncpy=Module["_strncpy"]=wasmExports["strncpy"];_PyMem_Realloc=Module["_PyMem_Realloc"]=wasmExports["PyMem_Realloc"];_PyMem_Calloc=Module["_PyMem_Calloc"]=wasmExports["PyMem_Calloc"];_strncmp=Module["_strncmp"]=wasmExports["strncmp"];__PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=wasmExports["_PyArena_AddPyObject"];_PyBytes_AsString=Module["_PyBytes_AsString"]=wasmExports["PyBytes_AsString"];_PyImport_ImportModuleAttrString=Module["_PyImport_ImportModuleAttrString"]=wasmExports["PyImport_ImportModuleAttrString"];_PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=wasmExports["PyUnicode_InternFromString"];__PyType_Name=Module["__PyType_Name"]=wasmExports["_PyType_Name"];__PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=wasmExports["_PyUnicode_EqualToASCIIString"];__PyUnicode_InternImmortal=Module["__PyUnicode_InternImmortal"]=wasmExports["_PyUnicode_InternImmortal"];_PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=wasmExports["PyBytes_AsStringAndSize"];_strchr=Module["_strchr"]=wasmExports["strchr"];_PyUnicode_Decode=Module["_PyUnicode_Decode"]=wasmExports["PyUnicode_Decode"];_Py_BuildValue=Module["_Py_BuildValue"]=wasmExports["Py_BuildValue"];_PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=wasmExports["PyUnicode_CompareWithASCIIString"];___errno_location=Module["___errno_location"]=wasmExports["__errno_location"];_PyOS_strtoul=Module["_PyOS_strtoul"]=wasmExports["PyOS_strtoul"];_PyLong_FromString=Module["_PyLong_FromString"]=wasmExports["PyLong_FromString"];_PyOS_strtol=Module["_PyOS_strtol"]=wasmExports["PyOS_strtol"];_PyOS_string_to_double=Module["_PyOS_string_to_double"]=wasmExports["PyOS_string_to_double"];_PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=wasmExports["PyComplex_FromCComplex"];_PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=wasmExports["PyFloat_FromDouble"];_PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=wasmExports["PyUnicode_FromFormatV"];__PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=wasmExports["_PyErr_ProgramDecodedTextObject"];_Py_GetConstant=Module["_Py_GetConstant"]=wasmExports["Py_GetConstant"];_PyBytes_Concat=Module["_PyBytes_Concat"]=wasmExports["PyBytes_Concat"];_PyUnicodeWriter_Create=Module["_PyUnicodeWriter_Create"]=wasmExports["PyUnicodeWriter_Create"];_PyUnicodeWriter_WriteStr=Module["_PyUnicodeWriter_WriteStr"]=wasmExports["PyUnicodeWriter_WriteStr"];_PyUnicodeWriter_Discard=Module["_PyUnicodeWriter_Discard"]=wasmExports["PyUnicodeWriter_Discard"];_PyUnicodeWriter_Finish=Module["_PyUnicodeWriter_Finish"]=wasmExports["PyUnicodeWriter_Finish"];_strpbrk=Module["_strpbrk"]=wasmExports["strpbrk"];__PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=wasmExports["_PyUnicode_IsWhitespace"];_PyUnicode_Substring=Module["_PyUnicode_Substring"]=wasmExports["PyUnicode_Substring"];_PyThreadState_Get=Module["_PyThreadState_Get"]=wasmExports["PyThreadState_Get"];__Py_ReachedRecursionLimitWithMargin=Module["__Py_ReachedRecursionLimitWithMargin"]=wasmExports["_Py_ReachedRecursionLimitWithMargin"];_PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=wasmExports["PyUnicode_DecodeUTF8Stateful"];_siprintf=Module["_siprintf"]=wasmExports["siprintf"];__PyUnicode_DecodeUnicodeEscapeInternal2=Module["__PyUnicode_DecodeUnicodeEscapeInternal2"]=wasmExports["_PyUnicode_DecodeUnicodeEscapeInternal2"];__PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=wasmExports["_PyErr_BadInternalCall"];__PyBytes_DecodeEscape2=Module["__PyBytes_DecodeEscape2"]=wasmExports["_PyBytes_DecodeEscape2"];_PyBytes_Size=Module["_PyBytes_Size"]=wasmExports["PyBytes_Size"];_PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=wasmExports["PyErr_WarnExplicitObject"];_PySys_Audit=Module["_PySys_Audit"]=wasmExports["PySys_Audit"];_memchr=Module["_memchr"]=wasmExports["memchr"];__Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=wasmExports["_Py_FatalErrorFunc"];__PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=wasmExports["_PyUnicode_ScanIdentifier"];_PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=wasmExports["PyUnicode_AsUTF8String"];__PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=wasmExports["_PyUnicode_IsPrintable"];_PyOS_Readline=Module["_PyOS_Readline"]=wasmExports["PyOS_Readline"];_strcpy=Module["_strcpy"]=wasmExports["strcpy"];_PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=wasmExports["PyObject_CallNoArgs"];__Py_UniversalNewlineFgetsWithSize=Module["__Py_UniversalNewlineFgetsWithSize"]=wasmExports["_Py_UniversalNewlineFgetsWithSize"];_fopencookie=Module["_fopencookie"]=wasmExports["fopencookie"];_fclose=Module["_fclose"]=wasmExports["fclose"];_getc=Module["_getc"]=wasmExports["getc"];_ungetc=Module["_ungetc"]=wasmExports["ungetc"];_ftell=Module["_ftell"]=wasmExports["ftell"];_lseek=Module["_lseek"]=wasmExports["lseek"];_PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=wasmExports["PyErr_SetFromErrnoWithFilename"];_PyObject_CallFunction=Module["_PyObject_CallFunction"]=wasmExports["PyObject_CallFunction"];_PyObject_GetAttr=Module["_PyObject_GetAttr"]=wasmExports["PyObject_GetAttr"];__PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=wasmExports["_PyObject_MakeTpCall"];__Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=wasmExports["_Py_CheckFunctionResult"];_read=Module["_read"]=wasmExports["read"];_strcspn=Module["_strcspn"]=wasmExports["strcspn"];_fflush=Module["_fflush"]=wasmExports["fflush"];_fputs=Module["_fputs"]=wasmExports["fputs"];_PyMem_RawFree=Module["_PyMem_RawFree"]=wasmExports["PyMem_RawFree"];_PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=wasmExports["PyEval_RestoreThread"];_PyEval_SaveThread=Module["_PyEval_SaveThread"]=wasmExports["PyEval_SaveThread"];_PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=wasmExports["PyMem_RawRealloc"];__PyInterpreterState_Main=Module["__PyInterpreterState_Main"]=wasmExports["_PyInterpreterState_Main"];_clearerr=Module["_clearerr"]=wasmExports["clearerr"];_fgets=Module["_fgets"]=wasmExports["fgets"];_feof=Module["_feof"]=wasmExports["feof"];_PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=wasmExports["PyErr_CheckSignals"];_PyMutex_Lock=Module["_PyMutex_Lock"]=wasmExports["PyMutex_Lock"];_isatty=Module["_isatty"]=wasmExports["isatty"];_PyMutex_Unlock=Module["_PyMutex_Unlock"]=wasmExports["PyMutex_Unlock"];_PyObject_Type=Module["_PyObject_Type"]=wasmExports["PyObject_Type"];__PyErr_SetString=Module["__PyErr_SetString"]=wasmExports["_PyErr_SetString"];_PyObject_Size=Module["_PyObject_Size"]=wasmExports["PyObject_Size"];_PyMapping_Size=Module["_PyMapping_Size"]=wasmExports["PyMapping_Size"];_PyObject_Length=Module["_PyObject_Length"]=wasmExports["PyObject_Length"];_PyObject_LengthHint=Module["_PyObject_LengthHint"]=wasmExports["PyObject_LengthHint"];__PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=wasmExports["_PyErr_ExceptionMatches"];__PyErr_Clear=Module["__PyErr_Clear"]=wasmExports["_PyErr_Clear"];__PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=wasmExports["_PyObject_LookupSpecial"];_Py_GenericAlias=Module["_Py_GenericAlias"]=wasmExports["Py_GenericAlias"];_PyObject_GetOptionalAttr=Module["_PyObject_GetOptionalAttr"]=wasmExports["PyObject_GetOptionalAttr"];__PyNumber_Index=Module["__PyNumber_Index"]=wasmExports["_PyNumber_Index"];__PyErr_Format=Module["__PyErr_Format"]=wasmExports["_PyErr_Format"];_PyMapping_GetOptionalItem=Module["_PyMapping_GetOptionalItem"]=wasmExports["PyMapping_GetOptionalItem"];_PyDict_GetItemRef=Module["_PyDict_GetItemRef"]=wasmExports["PyDict_GetItemRef"];_PySequence_SetItem=Module["_PySequence_SetItem"]=wasmExports["PySequence_SetItem"];_PySequence_DelItem=Module["_PySequence_DelItem"]=wasmExports["PySequence_DelItem"];_PyObject_DelItemString=Module["_PyObject_DelItemString"]=wasmExports["PyObject_DelItemString"];_PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=wasmExports["PyObject_CheckReadBuffer"];_PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=wasmExports["PyObject_AsCharBuffer"];_PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=wasmExports["PyObject_AsReadBuffer"];_PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=wasmExports["PyObject_AsWriteBuffer"];_PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=wasmExports["PyBuffer_GetPointer"];_PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=wasmExports["PyBuffer_SizeFromFormat"];_PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=wasmExports["PyObject_CallFunctionObjArgs"];_PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=wasmExports["PyBuffer_FromContiguous"];_PyObject_CopyData=Module["_PyObject_CopyData"]=wasmExports["PyObject_CopyData"];_PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=wasmExports["PyBuffer_FillInfo"];__PyBuffer_ReleaseInInterpreter=Module["__PyBuffer_ReleaseInInterpreter"]=wasmExports["_PyBuffer_ReleaseInInterpreter"];__PyBuffer_ReleaseInInterpreterAndRawFree=Module["__PyBuffer_ReleaseInInterpreterAndRawFree"]=wasmExports["_PyBuffer_ReleaseInInterpreterAndRawFree"];_PyObject_Format=Module["_PyObject_Format"]=wasmExports["PyObject_Format"];_PyNumber_Check=Module["_PyNumber_Check"]=wasmExports["PyNumber_Check"];_PyNumber_Or=Module["_PyNumber_Or"]=wasmExports["PyNumber_Or"];_PyNumber_Xor=Module["_PyNumber_Xor"]=wasmExports["PyNumber_Xor"];_PyNumber_And=Module["_PyNumber_And"]=wasmExports["PyNumber_And"];_PyNumber_Lshift=Module["_PyNumber_Lshift"]=wasmExports["PyNumber_Lshift"];_PyNumber_Rshift=Module["_PyNumber_Rshift"]=wasmExports["PyNumber_Rshift"];_PyNumber_Subtract=Module["_PyNumber_Subtract"]=wasmExports["PyNumber_Subtract"];_PyNumber_Divmod=Module["_PyNumber_Divmod"]=wasmExports["PyNumber_Divmod"];_PyNumber_Add=Module["_PyNumber_Add"]=wasmExports["PyNumber_Add"];_PyNumber_Multiply=Module["_PyNumber_Multiply"]=wasmExports["PyNumber_Multiply"];_PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=wasmExports["PyNumber_MatrixMultiply"];_PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=wasmExports["PyNumber_FloorDivide"];_PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=wasmExports["PyNumber_TrueDivide"];_PyNumber_Remainder=Module["_PyNumber_Remainder"]=wasmExports["PyNumber_Remainder"];_PyNumber_Power=Module["_PyNumber_Power"]=wasmExports["PyNumber_Power"];_PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=wasmExports["PyNumber_InPlaceOr"];_PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=wasmExports["PyNumber_InPlaceXor"];_PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=wasmExports["PyNumber_InPlaceAnd"];_PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=wasmExports["PyNumber_InPlaceLshift"];_PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=wasmExports["PyNumber_InPlaceRshift"];_PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=wasmExports["PyNumber_InPlaceSubtract"];_PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=wasmExports["PyNumber_InPlaceMatrixMultiply"];_PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=wasmExports["PyNumber_InPlaceFloorDivide"];_PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=wasmExports["PyNumber_InPlaceTrueDivide"];_PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=wasmExports["PyNumber_InPlaceRemainder"];_PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=wasmExports["PyNumber_InPlaceAdd"];_PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=wasmExports["PyNumber_InPlaceMultiply"];_PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=wasmExports["PyNumber_InPlacePower"];_PyNumber_Negative=Module["_PyNumber_Negative"]=wasmExports["PyNumber_Negative"];_PyNumber_Positive=Module["_PyNumber_Positive"]=wasmExports["PyNumber_Positive"];_PyNumber_Invert=Module["_PyNumber_Invert"]=wasmExports["PyNumber_Invert"];_PyNumber_Absolute=Module["_PyNumber_Absolute"]=wasmExports["PyNumber_Absolute"];_PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=wasmExports["PyErr_WarnFormat"];__PyLong_Copy=Module["__PyLong_Copy"]=wasmExports["_PyLong_Copy"];_PyNumber_Long=Module["_PyNumber_Long"]=wasmExports["PyNumber_Long"];_PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=wasmExports["PyLong_FromUnicodeObject"];_PyNumber_Float=Module["_PyNumber_Float"]=wasmExports["PyNumber_Float"];_PyLong_AsDouble=Module["_PyLong_AsDouble"]=wasmExports["PyLong_AsDouble"];_PyFloat_FromString=Module["_PyFloat_FromString"]=wasmExports["PyFloat_FromString"];_PyNumber_ToBase=Module["_PyNumber_ToBase"]=wasmExports["PyNumber_ToBase"];__PyLong_Format=Module["__PyLong_Format"]=wasmExports["_PyLong_Format"];_PySequence_Check=Module["_PySequence_Check"]=wasmExports["PySequence_Check"];_PySequence_Length=Module["_PySequence_Length"]=wasmExports["PySequence_Length"];_PySequence_Concat=Module["_PySequence_Concat"]=wasmExports["PySequence_Concat"];_PySequence_Repeat=Module["_PySequence_Repeat"]=wasmExports["PySequence_Repeat"];_PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=wasmExports["PySequence_InPlaceConcat"];_PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=wasmExports["PySequence_InPlaceRepeat"];__PySlice_FromIndices=Module["__PySlice_FromIndices"]=wasmExports["_PySlice_FromIndices"];_PySequence_DelSlice=Module["_PySequence_DelSlice"]=wasmExports["PySequence_DelSlice"];_PySequence_Tuple=Module["_PySequence_Tuple"]=wasmExports["PySequence_Tuple"];_PyList_AsTuple=Module["_PyList_AsTuple"]=wasmExports["PyList_AsTuple"];__PyList_AppendTakeRefListResize=Module["__PyList_AppendTakeRefListResize"]=wasmExports["_PyList_AppendTakeRefListResize"];__PyList_AsTupleAndClear=Module["__PyList_AsTupleAndClear"]=wasmExports["_PyList_AsTupleAndClear"];__PyTuple_FromArraySteal=Module["__PyTuple_FromArraySteal"]=wasmExports["_PyTuple_FromArraySteal"];_PySeqIter_New=Module["_PySeqIter_New"]=wasmExports["PySeqIter_New"];_PySequence_List=Module["_PySequence_List"]=wasmExports["PySequence_List"];__PyList_Extend=Module["__PyList_Extend"]=wasmExports["_PyList_Extend"];_PySequence_Count=Module["_PySequence_Count"]=wasmExports["PySequence_Count"];_PySequence_In=Module["_PySequence_In"]=wasmExports["PySequence_In"];_PySequence_Index=Module["_PySequence_Index"]=wasmExports["PySequence_Index"];_PyMapping_Check=Module["_PyMapping_Check"]=wasmExports["PyMapping_Check"];_PyMapping_Length=Module["_PyMapping_Length"]=wasmExports["PyMapping_Length"];_PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=wasmExports["PyMapping_GetItemString"];_PyMapping_GetOptionalItemString=Module["_PyMapping_GetOptionalItemString"]=wasmExports["PyMapping_GetOptionalItemString"];_PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=wasmExports["PyMapping_SetItemString"];_PyMapping_HasKeyStringWithError=Module["_PyMapping_HasKeyStringWithError"]=wasmExports["PyMapping_HasKeyStringWithError"];_PyMapping_HasKeyWithError=Module["_PyMapping_HasKeyWithError"]=wasmExports["PyMapping_HasKeyWithError"];_PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=wasmExports["PyMapping_HasKeyString"];_PyErr_FormatUnraisable=Module["_PyErr_FormatUnraisable"]=wasmExports["PyErr_FormatUnraisable"];_PyMapping_HasKey=Module["_PyMapping_HasKey"]=wasmExports["PyMapping_HasKey"];_PyMapping_Keys=Module["_PyMapping_Keys"]=wasmExports["PyMapping_Keys"];_PyDict_Keys=Module["_PyDict_Keys"]=wasmExports["PyDict_Keys"];_PyMapping_Items=Module["_PyMapping_Items"]=wasmExports["PyMapping_Items"];_PyDict_Items=Module["_PyDict_Items"]=wasmExports["PyDict_Items"];_PyMapping_Values=Module["_PyMapping_Values"]=wasmExports["PyMapping_Values"];_PyDict_Values=Module["_PyDict_Values"]=wasmExports["PyDict_Values"];__Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=wasmExports["_Py_CheckRecursiveCall"];_PyObject_IsTrue=Module["_PyObject_IsTrue"]=wasmExports["PyObject_IsTrue"];_PyIter_Check=Module["_PyIter_Check"]=wasmExports["PyIter_Check"];_PyObject_GetAIter=Module["_PyObject_GetAIter"]=wasmExports["PyObject_GetAIter"];_PyAIter_Check=Module["_PyAIter_Check"]=wasmExports["PyAIter_Check"];_PyIter_NextItem=Module["_PyIter_NextItem"]=wasmExports["PyIter_NextItem"];_PyBool_FromLong=Module["_PyBool_FromLong"]=wasmExports["PyBool_FromLong"];__Py_SetImmortal=Module["__Py_SetImmortal"]=wasmExports["_Py_SetImmortal"];__PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=wasmExports["_PyArg_NoKeywords"];_memrchr=Module["_memrchr"]=wasmExports["memrchr"];_memcmp=Module["_memcmp"]=wasmExports["memcmp"];_PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=wasmExports["PyByteArray_FromObject"];_PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=wasmExports["PyByteArray_FromStringAndSize"];__PyObject_New=Module["__PyObject_New"]=wasmExports["_PyObject_New"];_PyByteArray_Size=Module["_PyByteArray_Size"]=wasmExports["PyByteArray_Size"];_PyByteArray_AsString=Module["_PyByteArray_AsString"]=wasmExports["PyByteArray_AsString"];_PyByteArray_Resize=Module["_PyByteArray_Resize"]=wasmExports["PyByteArray_Resize"];_PyByteArray_Concat=Module["_PyByteArray_Concat"]=wasmExports["PyByteArray_Concat"];_PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=wasmExports["PyUnicode_FromStringAndSize"];__Py_GetConfig=Module["__Py_GetConfig"]=wasmExports["_Py_GetConfig"];__PyObject_GC_New=Module["__PyObject_GC_New"]=wasmExports["_PyObject_GC_New"];__PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=wasmExports["_PyArg_UnpackKeywords"];__PyArg_BadArgument=Module["__PyArg_BadArgument"]=wasmExports["_PyArg_BadArgument"];_PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=wasmExports["PyUnicode_AsEncodedString"];_PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=wasmExports["PyBuffer_ToContiguous"];_PyObject_GC_Del=Module["_PyObject_GC_Del"]=wasmExports["PyObject_GC_Del"];__PyBytes_Repeat=Module["__PyBytes_Repeat"]=wasmExports["_PyBytes_Repeat"];__PyObject_GetState=Module["__PyObject_GetState"]=wasmExports["_PyObject_GetState"];_PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=wasmExports["PyUnicode_DecodeLatin1"];_PyLong_AsInt=Module["_PyLong_AsInt"]=wasmExports["PyLong_AsInt"];_PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=wasmExports["PyLong_FromSize_t"];__PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=wasmExports["_PyEval_SliceIndex"];_PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=wasmExports["PyUnicode_GetDefaultEncoding"];_PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=wasmExports["PyUnicode_FromEncodedObject"];_PyList_Append=Module["_PyList_Append"]=wasmExports["PyList_Append"];_PyList_Reverse=Module["_PyList_Reverse"]=wasmExports["PyList_Reverse"];__PyEval_GetBuiltin=Module["__PyEval_GetBuiltin"]=wasmExports["_PyEval_GetBuiltin"];_PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=wasmExports["PyObject_GenericGetAttr"];_PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=wasmExports["PyType_GenericAlloc"];_PyObject_Free=Module["_PyObject_Free"]=wasmExports["PyObject_Free"];_PyObject_Malloc=Module["_PyObject_Malloc"]=wasmExports["PyObject_Malloc"];__Py_NewReference=Module["__Py_NewReference"]=wasmExports["_Py_NewReference"];_PyObject_Calloc=Module["_PyObject_Calloc"]=wasmExports["PyObject_Calloc"];_PyBytes_FromString=Module["_PyBytes_FromString"]=wasmExports["PyBytes_FromString"];_PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=wasmExports["PyBytes_FromFormatV"];__PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=wasmExports["_PyBytesWriter_Resize"];__PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=wasmExports["_PyBytesWriter_Finish"];__PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=wasmExports["_PyBytesWriter_Init"];__PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=wasmExports["_PyBytesWriter_Alloc"];__PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=wasmExports["_PyBytesWriter_WriteBytes"];__PyBytes_Resize=Module["__PyBytes_Resize"]=wasmExports["_PyBytes_Resize"];__PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=wasmExports["_PyBytesWriter_Dealloc"];_PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=wasmExports["PyBytes_FromFormat"];_PyObject_ASCII=Module["_PyObject_ASCII"]=wasmExports["PyObject_ASCII"];_PyOS_double_to_string=Module["_PyOS_double_to_string"]=wasmExports["PyOS_double_to_string"];__PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=wasmExports["_PyBytesWriter_Prepare"];_PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=wasmExports["PyBytes_DecodeEscape"];__PyBytes_Find=Module["__PyBytes_Find"]=wasmExports["_PyBytes_Find"];__PyBytes_ReverseFind=Module["__PyBytes_ReverseFind"]=wasmExports["_PyBytes_ReverseFind"];_PyBytes_Repr=Module["_PyBytes_Repr"]=wasmExports["PyBytes_Repr"];_PyUnicode_New=Module["_PyUnicode_New"]=wasmExports["PyUnicode_New"];_PyBytes_Join=Module["_PyBytes_Join"]=wasmExports["PyBytes_Join"];_PyBytes_FromObject=Module["_PyBytes_FromObject"]=wasmExports["PyBytes_FromObject"];_PyErr_BadArgument=Module["_PyErr_BadArgument"]=wasmExports["PyErr_BadArgument"];_PyObject_Realloc=Module["_PyObject_Realloc"]=wasmExports["PyObject_Realloc"];__Py_NewReferenceNoTotal=Module["__Py_NewReferenceNoTotal"]=wasmExports["_Py_NewReferenceNoTotal"];_PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=wasmExports["PyBytes_ConcatAndDel"];_PyVectorcall_Function=Module["_PyVectorcall_Function"]=wasmExports["PyVectorcall_Function"];__PyTuple_FromArray=Module["__PyTuple_FromArray"]=wasmExports["_PyTuple_FromArray"];__PyDict_FromItems=Module["__PyDict_FromItems"]=wasmExports["_PyDict_FromItems"];_PyDict_Next=Module["_PyDict_Next"]=wasmExports["PyDict_Next"];_PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=wasmExports["PyObject_VectorcallDict"];_PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=wasmExports["PyModule_GetNameObject"];_PyCallable_Check=Module["_PyCallable_Check"]=wasmExports["PyCallable_Check"];__PyStack_AsDict=Module["__PyStack_AsDict"]=wasmExports["_PyStack_AsDict"];_PyObject_Call=Module["_PyObject_Call"]=wasmExports["PyObject_Call"];_PyCFunction_Call=Module["_PyCFunction_Call"]=wasmExports["PyCFunction_Call"];_PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=wasmExports["PyEval_CallObjectWithKeywords"];_PyObject_CallObject=Module["_PyObject_CallObject"]=wasmExports["PyObject_CallObject"];_PyEval_CallFunction=Module["_PyEval_CallFunction"]=wasmExports["PyEval_CallFunction"];__PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=wasmExports["_PyObject_CallFunction_SizeT"];_PyObject_CallMethod=Module["_PyObject_CallMethod"]=wasmExports["PyObject_CallMethod"];_PyEval_CallMethod=Module["_PyEval_CallMethod"]=wasmExports["PyEval_CallMethod"];__PyObject_CallMethod=Module["__PyObject_CallMethod"]=wasmExports["_PyObject_CallMethod"];__PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=wasmExports["_PyObject_CallMethodId"];__PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=wasmExports["_PyObject_CallMethod_SizeT"];_PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=wasmExports["PyObject_CallMethodObjArgs"];_PyVectorcall_NARGS=Module["_PyVectorcall_NARGS"]=wasmExports["PyVectorcall_NARGS"];_PyCapsule_New=Module["_PyCapsule_New"]=wasmExports["PyCapsule_New"];_PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=wasmExports["PyCapsule_IsValid"];_PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=wasmExports["PyCapsule_GetPointer"];_PyCapsule_GetName=Module["_PyCapsule_GetName"]=wasmExports["PyCapsule_GetName"];_PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=wasmExports["PyCapsule_GetDestructor"];_PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=wasmExports["PyCapsule_GetContext"];_PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=wasmExports["PyCapsule_SetPointer"];_PyCapsule_SetName=Module["_PyCapsule_SetName"]=wasmExports["PyCapsule_SetName"];_PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=wasmExports["PyCapsule_SetDestructor"];_PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=wasmExports["PyCapsule_SetContext"];__PyCapsule_SetTraverse=Module["__PyCapsule_SetTraverse"]=wasmExports["_PyCapsule_SetTraverse"];_PyCapsule_Import=Module["_PyCapsule_Import"]=wasmExports["PyCapsule_Import"];_PyCell_New=Module["_PyCell_New"]=wasmExports["PyCell_New"];_PyCell_Get=Module["_PyCell_Get"]=wasmExports["PyCell_Get"];_PyCell_Set=Module["_PyCell_Set"]=wasmExports["PyCell_Set"];_PyObject_RichCompare=Module["_PyObject_RichCompare"]=wasmExports["PyObject_RichCompare"];_PyMethod_Function=Module["_PyMethod_Function"]=wasmExports["PyMethod_Function"];_PyMethod_Self=Module["_PyMethod_Self"]=wasmExports["PyMethod_Self"];_PyMethod_New=Module["_PyMethod_New"]=wasmExports["PyMethod_New"];_PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=wasmExports["PyObject_ClearWeakRefs"];_PyObject_GenericHash=Module["_PyObject_GenericHash"]=wasmExports["PyObject_GenericHash"];_PyObject_Hash=Module["_PyObject_Hash"]=wasmExports["PyObject_Hash"];__PyType_GetDict=Module["__PyType_GetDict"]=wasmExports["_PyType_GetDict"];__PyType_LookupRef=Module["__PyType_LookupRef"]=wasmExports["_PyType_LookupRef"];_PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=wasmExports["PyInstanceMethod_New"];_PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=wasmExports["PyInstanceMethod_Function"];_PyCode_AddWatcher=Module["_PyCode_AddWatcher"]=wasmExports["PyCode_AddWatcher"];_PyCode_ClearWatcher=Module["_PyCode_ClearWatcher"]=wasmExports["PyCode_ClearWatcher"];__PyObject_NewVar=Module["__PyObject_NewVar"]=wasmExports["_PyObject_NewVar"];__PyUnicode_InternMortal=Module["__PyUnicode_InternMortal"]=wasmExports["_PyUnicode_InternMortal"];_PyUnstable_Code_NewWithPosOnlyArgs=Module["_PyUnstable_Code_NewWithPosOnlyArgs"]=wasmExports["PyUnstable_Code_NewWithPosOnlyArgs"];_PyUnicode_Compare=Module["_PyUnicode_Compare"]=wasmExports["PyUnicode_Compare"];__PyTuple_Resize=Module["__PyTuple_Resize"]=wasmExports["_PyTuple_Resize"];_PyUnstable_Code_New=Module["_PyUnstable_Code_New"]=wasmExports["PyUnstable_Code_New"];_PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=wasmExports["PyCode_NewEmpty"];_PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=wasmExports["PyUnicode_DecodeFSDefault"];__PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=wasmExports["_PyCode_CheckLineNumber"];_PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=wasmExports["PyCode_Addr2Line"];_PyCode_Addr2Location=Module["_PyCode_Addr2Location"]=wasmExports["PyCode_Addr2Location"];_PyUnstable_Code_GetExtra=Module["_PyUnstable_Code_GetExtra"]=wasmExports["PyUnstable_Code_GetExtra"];_PyUnstable_Code_SetExtra=Module["_PyUnstable_Code_SetExtra"]=wasmExports["PyUnstable_Code_SetExtra"];_PyCode_GetVarnames=Module["_PyCode_GetVarnames"]=wasmExports["PyCode_GetVarnames"];_PyCode_GetCellvars=Module["_PyCode_GetCellvars"]=wasmExports["PyCode_GetCellvars"];_PyCode_GetFreevars=Module["_PyCode_GetFreevars"]=wasmExports["PyCode_GetFreevars"];__PyCode_GetVarCounts=Module["__PyCode_GetVarCounts"]=wasmExports["_PyCode_GetVarCounts"];__PyCode_SetUnboundVarCounts=Module["__PyCode_SetUnboundVarCounts"]=wasmExports["_PyCode_SetUnboundVarCounts"];_PySet_Contains=Module["_PySet_Contains"]=wasmExports["PySet_Contains"];_PySet_Add=Module["_PySet_Add"]=wasmExports["PySet_Add"];_PyDict_Contains=Module["_PyDict_Contains"]=wasmExports["PyDict_Contains"];__PyCode_CheckNoInternalState=Module["__PyCode_CheckNoInternalState"]=wasmExports["_PyCode_CheckNoInternalState"];__PyCode_CheckNoExternalState=Module["__PyCode_CheckNoExternalState"]=wasmExports["_PyCode_CheckNoExternalState"];__PyCode_VerifyStateless=Module["__PyCode_VerifyStateless"]=wasmExports["_PyCode_VerifyStateless"];__PyCode_CheckPureFunction=Module["__PyCode_CheckPureFunction"]=wasmExports["_PyCode_CheckPureFunction"];__PyCode_ReturnsOnlyNone=Module["__PyCode_ReturnsOnlyNone"]=wasmExports["_PyCode_ReturnsOnlyNone"];_PyTuple_Size=Module["_PyTuple_Size"]=wasmExports["PyTuple_Size"];_PyCode_GetCode=Module["_PyCode_GetCode"]=wasmExports["PyCode_GetCode"];__PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=wasmExports["_PyCode_ConstantKey"];_PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=wasmExports["PyComplex_AsCComplex"];__PySet_NextEntry=Module["__PySet_NextEntry"]=wasmExports["_PySet_NextEntry"];_PyFrozenSet_New=Module["_PyFrozenSet_New"]=wasmExports["PyFrozenSet_New"];_PySlice_New=Module["_PySlice_New"]=wasmExports["PySlice_New"];_PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=wasmExports["PyLong_FromVoidPtr"];__PyUnicode_Copy=Module["__PyUnicode_Copy"]=wasmExports["_PyUnicode_Copy"];__Py_c_sum=Module["__Py_c_sum"]=wasmExports["_Py_c_sum"];__Py_cr_sum=Module["__Py_cr_sum"]=wasmExports["_Py_cr_sum"];__Py_c_diff=Module["__Py_c_diff"]=wasmExports["_Py_c_diff"];__Py_cr_diff=Module["__Py_cr_diff"]=wasmExports["_Py_cr_diff"];__Py_rc_diff=Module["__Py_rc_diff"]=wasmExports["_Py_rc_diff"];__Py_c_neg=Module["__Py_c_neg"]=wasmExports["_Py_c_neg"];__Py_c_prod=Module["__Py_c_prod"]=wasmExports["_Py_c_prod"];__Py_cr_prod=Module["__Py_cr_prod"]=wasmExports["_Py_cr_prod"];__Py_c_quot=Module["__Py_c_quot"]=wasmExports["_Py_c_quot"];__Py_cr_quot=Module["__Py_cr_quot"]=wasmExports["_Py_cr_quot"];__Py_rc_quot=Module["__Py_rc_quot"]=wasmExports["_Py_rc_quot"];__Py_c_pow=Module["__Py_c_pow"]=wasmExports["_Py_c_pow"];_atan2=Module["_atan2"]=wasmExports["atan2"];_hypot=Module["_hypot"]=wasmExports["hypot"];_pow=Module["_pow"]=wasmExports["pow"];_log=Module["_log"]=wasmExports["log"];_exp=Module["_exp"]=wasmExports["exp"];_sin=Module["_sin"]=wasmExports["sin"];_cos=Module["_cos"]=wasmExports["cos"];__Py_c_abs=Module["__Py_c_abs"]=wasmExports["_Py_c_abs"];_PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=wasmExports["PyComplex_FromDoubles"];_PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=wasmExports["PyComplex_RealAsDouble"];_PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=wasmExports["PyComplex_ImagAsDouble"];__Py_HashDouble=Module["__Py_HashDouble"]=wasmExports["_Py_HashDouble"];__PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=wasmExports["_PyUnicode_TransformDecimalAndSpaceToASCII"];__PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=wasmExports["_PyUnicodeWriter_Init"];__PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=wasmExports["_PyUnicodeWriter_Dealloc"];__PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=wasmExports["_PyUnicodeWriter_Finish"];_PyCMethod_New=Module["_PyCMethod_New"]=wasmExports["PyCMethod_New"];_PyMember_GetOne=Module["_PyMember_GetOne"]=wasmExports["PyMember_GetOne"];_PyMember_SetOne=Module["_PyMember_SetOne"]=wasmExports["PyMember_SetOne"];_PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=wasmExports["PyTuple_GetSlice"];_PyWrapper_New=Module["_PyWrapper_New"]=wasmExports["PyWrapper_New"];_PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=wasmExports["PyDescr_NewMethod"];__PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=wasmExports["_PyObject_FunctionStr"];_PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=wasmExports["PyDescr_NewClassMethod"];_PyDescr_NewMember=Module["_PyDescr_NewMember"]=wasmExports["PyDescr_NewMember"];_PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=wasmExports["PyDescr_NewGetSet"];_PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=wasmExports["PyDescr_NewWrapper"];_PyDescr_IsData=Module["_PyDescr_IsData"]=wasmExports["PyDescr_IsData"];_PyDictProxy_New=Module["_PyDictProxy_New"]=wasmExports["PyDictProxy_New"];_Py_HashPointer=Module["_Py_HashPointer"]=wasmExports["Py_HashPointer"];_PyType_GetQualName=Module["_PyType_GetQualName"]=wasmExports["PyType_GetQualName"];_PyException_GetCause=Module["_PyException_GetCause"]=wasmExports["PyException_GetCause"];_PyException_SetCause=Module["_PyException_SetCause"]=wasmExports["PyException_SetCause"];_PyException_GetContext=Module["_PyException_GetContext"]=wasmExports["PyException_GetContext"];_PyException_SetContext=Module["_PyException_SetContext"]=wasmExports["PyException_SetContext"];_PyException_GetArgs=Module["_PyException_GetArgs"]=wasmExports["PyException_GetArgs"];_PyException_SetArgs=Module["_PyException_SetArgs"]=wasmExports["PyException_SetArgs"];_PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=wasmExports["PyExceptionClass_Name"];_PyUnstable_Exc_PrepReraiseStar=Module["_PyUnstable_Exc_PrepReraiseStar"]=wasmExports["PyUnstable_Exc_PrepReraiseStar"];_PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=wasmExports["PyUnicodeEncodeError_GetEncoding"];_PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=wasmExports["PyUnicodeDecodeError_GetEncoding"];_PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=wasmExports["PyUnicodeEncodeError_GetObject"];_PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=wasmExports["PyUnicodeDecodeError_GetObject"];_PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=wasmExports["PyUnicodeTranslateError_GetObject"];_PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=wasmExports["PyUnicodeEncodeError_GetStart"];_PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=wasmExports["PyUnicodeDecodeError_GetStart"];_PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=wasmExports["PyUnicodeTranslateError_GetStart"];_PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=wasmExports["PyUnicodeEncodeError_SetStart"];_PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=wasmExports["PyUnicodeDecodeError_SetStart"];_PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=wasmExports["PyUnicodeTranslateError_SetStart"];_PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=wasmExports["PyUnicodeEncodeError_GetEnd"];_PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=wasmExports["PyUnicodeDecodeError_GetEnd"];_PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=wasmExports["PyUnicodeTranslateError_GetEnd"];_PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=wasmExports["PyUnicodeEncodeError_SetEnd"];_PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=wasmExports["PyUnicodeDecodeError_SetEnd"];_PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=wasmExports["PyUnicodeTranslateError_SetEnd"];_PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=wasmExports["PyUnicodeEncodeError_GetReason"];_PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=wasmExports["PyUnicodeDecodeError_GetReason"];_PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=wasmExports["PyUnicodeTranslateError_GetReason"];_PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=wasmExports["PyUnicodeEncodeError_SetReason"];_PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=wasmExports["PyUnicodeDecodeError_SetReason"];_PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=wasmExports["PyUnicodeTranslateError_SetReason"];_PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=wasmExports["PyUnicodeDecodeError_Create"];__PyErr_SetRaisedException=Module["__PyErr_SetRaisedException"]=wasmExports["_PyErr_SetRaisedException"];_PyModule_GetDict=Module["_PyModule_GetDict"]=wasmExports["PyModule_GetDict"];_PyErr_NewException=Module["_PyErr_NewException"]=wasmExports["PyErr_NewException"];_PyDict_Copy=Module["_PyDict_Copy"]=wasmExports["PyDict_Copy"];_PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=wasmExports["PyUnicode_ReadChar"];_PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=wasmExports["PyObject_GenericGetDict"];_PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=wasmExports["PyObject_GenericSetDict"];_PyObject_HasAttrWithError=Module["_PyObject_HasAttrWithError"]=wasmExports["PyObject_HasAttrWithError"];_PyList_SetSlice=Module["_PyList_SetSlice"]=wasmExports["PyList_SetSlice"];_PyUnicodeWriter_WriteChar=Module["_PyUnicodeWriter_WriteChar"]=wasmExports["PyUnicodeWriter_WriteChar"];_PyUnicodeWriter_WriteASCII=Module["_PyUnicodeWriter_WriteASCII"]=wasmExports["PyUnicodeWriter_WriteASCII"];_PyObject_GC_Track=Module["_PyObject_GC_Track"]=wasmExports["PyObject_GC_Track"];__Py_union_type_or=Module["__Py_union_type_or"]=wasmExports["_Py_union_type_or"];__PyEval_NoToolsForUnwind=Module["__PyEval_NoToolsForUnwind"]=wasmExports["_PyEval_NoToolsForUnwind"];__PyGen_yf=Module["__PyGen_yf"]=wasmExports["_PyGen_yf"];_PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=wasmExports["PyObject_CallFinalizerFromDealloc"];__Py_MakeCoro=Module["__Py_MakeCoro"]=wasmExports["_Py_MakeCoro"];__PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=wasmExports["_PyObject_GC_NewVar"];_PyUnstable_InterpreterFrame_GetLine=Module["_PyUnstable_InterpreterFrame_GetLine"]=wasmExports["PyUnstable_InterpreterFrame_GetLine"];_PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=wasmExports["PyGen_NewWithQualName"];_PyGen_New=Module["_PyGen_New"]=wasmExports["PyGen_New"];__PyCoro_GetAwaitableIter=Module["__PyCoro_GetAwaitableIter"]=wasmExports["_PyCoro_GetAwaitableIter"];_PyCoro_New=Module["_PyCoro_New"]=wasmExports["PyCoro_New"];_PyAsyncGen_New=Module["_PyAsyncGen_New"]=wasmExports["PyAsyncGen_New"];__PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=wasmExports["_PyEval_EvalFrameDefault"];_PyFile_FromFd=Module["_PyFile_FromFd"]=wasmExports["PyFile_FromFd"];_PyFile_GetLine=Module["_PyFile_GetLine"]=wasmExports["PyFile_GetLine"];_PyFile_WriteObject=Module["_PyFile_WriteObject"]=wasmExports["PyFile_WriteObject"];_PyFile_WriteString=Module["_PyFile_WriteString"]=wasmExports["PyFile_WriteString"];_PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=wasmExports["PyObject_AsFileDescriptor"];__PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=wasmExports["_PyLong_FileDescriptor_Converter"];_flockfile=Module["_flockfile"]=wasmExports["flockfile"];_getc_unlocked=Module["_getc_unlocked"]=wasmExports["getc_unlocked"];_funlockfile=Module["_funlockfile"]=wasmExports["funlockfile"];_Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=wasmExports["Py_UniversalNewlineFgets"];_PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=wasmExports["PyFile_NewStdPrinter"];_PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=wasmExports["PyFile_SetOpenCodeHook"];_Py_IsInitialized=Module["_Py_IsInitialized"]=wasmExports["Py_IsInitialized"];_PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=wasmExports["PyFile_OpenCodeObject"];_PyFile_OpenCode=Module["_PyFile_OpenCode"]=wasmExports["PyFile_OpenCode"];__PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=wasmExports["_PyUnicode_AsUTF8String"];__Py_write=Module["__Py_write"]=wasmExports["_Py_write"];_PyFloat_GetMax=Module["_PyFloat_GetMax"]=wasmExports["PyFloat_GetMax"];_PyFloat_GetMin=Module["_PyFloat_GetMin"]=wasmExports["PyFloat_GetMin"];_PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=wasmExports["PyFloat_GetInfo"];_PyStructSequence_New=Module["_PyStructSequence_New"]=wasmExports["PyStructSequence_New"];_PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=wasmExports["PyStructSequence_SetItem"];__PyFloat_ExactDealloc=Module["__PyFloat_ExactDealloc"]=wasmExports["_PyFloat_ExactDealloc"];_PyLong_GetSign=Module["_PyLong_GetSign"]=wasmExports["PyLong_GetSign"];_frexp=Module["_frexp"]=wasmExports["frexp"];_modf=Module["_modf"]=wasmExports["modf"];_PyLong_FromDouble=Module["_PyLong_FromDouble"]=wasmExports["PyLong_FromDouble"];__PyLong_Lshift=Module["__PyLong_Lshift"]=wasmExports["_PyLong_Lshift"];_PyFloat_Pack2=Module["_PyFloat_Pack2"]=wasmExports["PyFloat_Pack2"];_ldexp=Module["_ldexp"]=wasmExports["ldexp"];_PyFloat_Pack4=Module["_PyFloat_Pack4"]=wasmExports["PyFloat_Pack4"];_PyFloat_Pack8=Module["_PyFloat_Pack8"]=wasmExports["PyFloat_Pack8"];_PyFloat_Unpack2=Module["_PyFloat_Unpack2"]=wasmExports["PyFloat_Unpack2"];_PyFloat_Unpack4=Module["_PyFloat_Unpack4"]=wasmExports["PyFloat_Unpack4"];_PyFloat_Unpack8=Module["_PyFloat_Unpack8"]=wasmExports["PyFloat_Unpack8"];_fmod=Module["_fmod"]=wasmExports["fmod"];_PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=wasmExports["PyErr_SetFromErrno"];_round=Module["_round"]=wasmExports["round"];_strtol=Module["_strtol"]=wasmExports["strtol"];_Py_ReprEnter=Module["_Py_ReprEnter"]=wasmExports["Py_ReprEnter"];_PyDict_Update=Module["_PyDict_Update"]=wasmExports["PyDict_Update"];_Py_ReprLeave=Module["_Py_ReprLeave"]=wasmExports["Py_ReprLeave"];_PyDict_Size=Module["_PyDict_Size"]=wasmExports["PyDict_Size"];_PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=wasmExports["PyFrame_GetLineNumber"];_PyFrame_New=Module["_PyFrame_New"]=wasmExports["PyFrame_New"];_PyFrame_GetVar=Module["_PyFrame_GetVar"]=wasmExports["PyFrame_GetVar"];__PyUnicode_Equal=Module["__PyUnicode_Equal"]=wasmExports["_PyUnicode_Equal"];_PyFrame_GetVarString=Module["_PyFrame_GetVarString"]=wasmExports["PyFrame_GetVarString"];_PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=wasmExports["PyFrame_FastToLocalsWithError"];_PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=wasmExports["PyFrame_FastToLocals"];_PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=wasmExports["PyFrame_LocalsToFast"];__PyFrame_IsEntryFrame=Module["__PyFrame_IsEntryFrame"]=wasmExports["_PyFrame_IsEntryFrame"];_PyFrame_GetCode=Module["_PyFrame_GetCode"]=wasmExports["PyFrame_GetCode"];_PyFrame_GetBack=Module["_PyFrame_GetBack"]=wasmExports["PyFrame_GetBack"];_PyFrame_GetLocals=Module["_PyFrame_GetLocals"]=wasmExports["PyFrame_GetLocals"];_PyFrame_GetGlobals=Module["_PyFrame_GetGlobals"]=wasmExports["PyFrame_GetGlobals"];_PyFrame_GetBuiltins=Module["_PyFrame_GetBuiltins"]=wasmExports["PyFrame_GetBuiltins"];_PyFrame_GetLasti=Module["_PyFrame_GetLasti"]=wasmExports["PyFrame_GetLasti"];_PyFrame_GetGenerator=Module["_PyFrame_GetGenerator"]=wasmExports["PyFrame_GetGenerator"];__PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=wasmExports["_PyErr_SetKeyError"];_PyDict_DelItem=Module["_PyDict_DelItem"]=wasmExports["PyDict_DelItem"];_PyDict_Pop=Module["_PyDict_Pop"]=wasmExports["PyDict_Pop"];_PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=wasmExports["PyCompile_OpcodeStackEffect"];_PyFunction_AddWatcher=Module["_PyFunction_AddWatcher"]=wasmExports["PyFunction_AddWatcher"];_PyFunction_ClearWatcher=Module["_PyFunction_ClearWatcher"]=wasmExports["PyFunction_ClearWatcher"];_PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=wasmExports["PyFunction_NewWithQualName"];__PyFunction_SetVersion=Module["__PyFunction_SetVersion"]=wasmExports["_PyFunction_SetVersion"];_PyFunction_New=Module["_PyFunction_New"]=wasmExports["PyFunction_New"];_PyFunction_GetCode=Module["_PyFunction_GetCode"]=wasmExports["PyFunction_GetCode"];_PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=wasmExports["PyFunction_GetGlobals"];_PyFunction_GetModule=Module["_PyFunction_GetModule"]=wasmExports["PyFunction_GetModule"];_PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=wasmExports["PyFunction_GetDefaults"];_PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=wasmExports["PyFunction_SetDefaults"];__PyEval_StopTheWorld=Module["__PyEval_StopTheWorld"]=wasmExports["_PyEval_StopTheWorld"];__PyEval_StartTheWorld=Module["__PyEval_StartTheWorld"]=wasmExports["_PyEval_StartTheWorld"];_PyFunction_SetVectorcall=Module["_PyFunction_SetVectorcall"]=wasmExports["PyFunction_SetVectorcall"];_PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=wasmExports["PyFunction_GetKwDefaults"];_PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=wasmExports["PyFunction_SetKwDefaults"];_PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=wasmExports["PyFunction_GetClosure"];_PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=wasmExports["PyFunction_SetClosure"];_PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=wasmExports["PyFunction_GetAnnotations"];_PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=wasmExports["PyFunction_SetAnnotations"];__PyFunction_VerifyStateless=Module["__PyFunction_VerifyStateless"]=wasmExports["_PyFunction_VerifyStateless"];_PyClassMethod_New=Module["_PyClassMethod_New"]=wasmExports["PyClassMethod_New"];_PyStaticMethod_New=Module["_PyStaticMethod_New"]=wasmExports["PyStaticMethod_New"];__PyInterpolation_Build=Module["__PyInterpolation_Build"]=wasmExports["_PyInterpolation_Build"];_PyCallIter_New=Module["_PyCallIter_New"]=wasmExports["PyCallIter_New"];_PyList_GetItemRef=Module["_PyList_GetItemRef"]=wasmExports["PyList_GetItemRef"];_PyList_SetItem=Module["_PyList_SetItem"]=wasmExports["PyList_SetItem"];_PyList_Insert=Module["_PyList_Insert"]=wasmExports["PyList_Insert"];_PyList_GetSlice=Module["_PyList_GetSlice"]=wasmExports["PyList_GetSlice"];__PySet_NextEntryRef=Module["__PySet_NextEntryRef"]=wasmExports["_PySet_NextEntryRef"];_PyList_Clear=Module["_PyList_Clear"]=wasmExports["PyList_Clear"];__PyList_FromStackRefStealOnSuccess=Module["__PyList_FromStackRefStealOnSuccess"]=wasmExports["_PyList_FromStackRefStealOnSuccess"];__PyList_SliceSubscript=Module["__PyList_SliceSubscript"]=wasmExports["_PyList_SliceSubscript"];_PyUnicodeWriter_WriteRepr=Module["_PyUnicodeWriter_WriteRepr"]=wasmExports["PyUnicodeWriter_WriteRepr"];__PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=wasmExports["_PyEval_SliceIndexNotNone"];_PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=wasmExports["PyObject_HashNotImplemented"];__PyLong_New=Module["__PyLong_New"]=wasmExports["_PyLong_New"];__PyLong_FromDigits=Module["__PyLong_FromDigits"]=wasmExports["_PyLong_FromDigits"];_PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=wasmExports["PyLong_FromUnsignedLong"];_PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=wasmExports["PyLong_FromUnsignedLongLong"];_PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=wasmExports["PyLong_AsUnsignedLong"];_PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=wasmExports["PyLong_AsSize_t"];_PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=wasmExports["PyLong_AsUnsignedLongMask"];_PyLong_IsPositive=Module["_PyLong_IsPositive"]=wasmExports["PyLong_IsPositive"];_PyLong_IsNegative=Module["_PyLong_IsNegative"]=wasmExports["PyLong_IsNegative"];_PyLong_IsZero=Module["_PyLong_IsZero"]=wasmExports["PyLong_IsZero"];__PyLong_Sign=Module["__PyLong_Sign"]=wasmExports["_PyLong_Sign"];__PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=wasmExports["_PyLong_FromByteArray"];_PyLong_AsNativeBytes=Module["_PyLong_AsNativeBytes"]=wasmExports["PyLong_AsNativeBytes"];_PyLong_FromNativeBytes=Module["_PyLong_FromNativeBytes"]=wasmExports["PyLong_FromNativeBytes"];_PyLong_FromUnsignedNativeBytes=Module["_PyLong_FromUnsignedNativeBytes"]=wasmExports["PyLong_FromUnsignedNativeBytes"];_PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=wasmExports["PyLong_AsVoidPtr"];_PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=wasmExports["PyLong_FromLongLong"];_PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=wasmExports["PyLong_AsLongLong"];_PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=wasmExports["PyLong_AsUnsignedLongLong"];_PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=wasmExports["PyLong_AsUnsignedLongLongMask"];_PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=wasmExports["PyLong_AsLongLongAndOverflow"];__PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=wasmExports["_PyLong_UnsignedShort_Converter"];__PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=wasmExports["_PyLong_UnsignedInt_Converter"];__PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=wasmExports["_PyLong_UnsignedLong_Converter"];__PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=wasmExports["_PyLong_UnsignedLongLong_Converter"];__PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=wasmExports["_PyLong_Size_t_Converter"];__PyLong_UInt8_Converter=Module["__PyLong_UInt8_Converter"]=wasmExports["_PyLong_UInt8_Converter"];__PyLong_UInt16_Converter=Module["__PyLong_UInt16_Converter"]=wasmExports["_PyLong_UInt16_Converter"];__PyLong_UInt32_Converter=Module["__PyLong_UInt32_Converter"]=wasmExports["_PyLong_UInt32_Converter"];__PyLong_UInt64_Converter=Module["__PyLong_UInt64_Converter"]=wasmExports["_PyLong_UInt64_Converter"];__PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=wasmExports["_PyUnicodeWriter_PrepareInternal"];__PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=wasmExports["_PyUnicodeWriter_WriteStr"];__PyLong_Frexp=Module["__PyLong_Frexp"]=wasmExports["_PyLong_Frexp"];__PyLong_ExactDealloc=Module["__PyLong_ExactDealloc"]=wasmExports["_PyLong_ExactDealloc"];__PyLong_Add=Module["__PyLong_Add"]=wasmExports["_PyLong_Add"];__PyLong_Subtract=Module["__PyLong_Subtract"]=wasmExports["_PyLong_Subtract"];__PyLong_Multiply=Module["__PyLong_Multiply"]=wasmExports["_PyLong_Multiply"];__PyLong_Rshift=Module["__PyLong_Rshift"]=wasmExports["_PyLong_Rshift"];__PyLong_GCD=Module["__PyLong_GCD"]=wasmExports["_PyLong_GCD"];__PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=wasmExports["_PyLong_DivmodNear"];_PyLong_GetInfo=Module["_PyLong_GetInfo"]=wasmExports["PyLong_GetInfo"];_PyUnstable_Long_IsCompact=Module["_PyUnstable_Long_IsCompact"]=wasmExports["PyUnstable_Long_IsCompact"];_PyUnstable_Long_CompactValue=Module["_PyUnstable_Long_CompactValue"]=wasmExports["PyUnstable_Long_CompactValue"];_PyLong_FromInt32=Module["_PyLong_FromInt32"]=wasmExports["PyLong_FromInt32"];_PyLong_FromUInt32=Module["_PyLong_FromUInt32"]=wasmExports["PyLong_FromUInt32"];_PyLong_FromInt64=Module["_PyLong_FromInt64"]=wasmExports["PyLong_FromInt64"];_PyLong_FromUInt64=Module["_PyLong_FromUInt64"]=wasmExports["PyLong_FromUInt64"];_PyLong_AsInt32=Module["_PyLong_AsInt32"]=wasmExports["PyLong_AsInt32"];_PyLong_AsInt64=Module["_PyLong_AsInt64"]=wasmExports["PyLong_AsInt64"];_PyLong_AsUInt32=Module["_PyLong_AsUInt32"]=wasmExports["PyLong_AsUInt32"];_PyLong_AsUInt64=Module["_PyLong_AsUInt64"]=wasmExports["PyLong_AsUInt64"];_PyLong_GetNativeLayout=Module["_PyLong_GetNativeLayout"]=wasmExports["PyLong_GetNativeLayout"];_PyLong_Export=Module["_PyLong_Export"]=wasmExports["PyLong_Export"];_PyLong_FreeExport=Module["_PyLong_FreeExport"]=wasmExports["PyLong_FreeExport"];_PyLongWriter_Create=Module["_PyLongWriter_Create"]=wasmExports["PyLongWriter_Create"];_PyLongWriter_Discard=Module["_PyLongWriter_Discard"]=wasmExports["PyLongWriter_Discard"];_PyLongWriter_Finish=Module["_PyLongWriter_Finish"]=wasmExports["PyLongWriter_Finish"];_PyObject_Bytes=Module["_PyObject_Bytes"]=wasmExports["PyObject_Bytes"];__PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=wasmExports["_PyObject_AssertFailed"];__PyDict_NewPresized=Module["__PyDict_NewPresized"]=wasmExports["_PyDict_NewPresized"];_PyDict_GetItem=Module["_PyDict_GetItem"]=wasmExports["PyDict_GetItem"];__PyErr_GetRaisedException=Module["__PyErr_GetRaisedException"]=wasmExports["_PyErr_GetRaisedException"];__PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=wasmExports["_PyDict_GetItem_KnownHash"];__PyDict_GetItemRef_KnownHash_LockHeld=Module["__PyDict_GetItemRef_KnownHash_LockHeld"]=wasmExports["_PyDict_GetItemRef_KnownHash_LockHeld"];__PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=wasmExports["_PyDict_GetItemStringWithError"];__PyDict_LoadGlobal=Module["__PyDict_LoadGlobal"]=wasmExports["_PyDict_LoadGlobal"];__PyDict_LoadGlobalStackRef=Module["__PyDict_LoadGlobalStackRef"]=wasmExports["_PyDict_LoadGlobalStackRef"];_PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=wasmExports["PyEval_GetBuiltins"];__PyDict_SetItem_Take2=Module["__PyDict_SetItem_Take2"]=wasmExports["_PyDict_SetItem_Take2"];__PyDict_SetItem_KnownHash_LockHeld=Module["__PyDict_SetItem_KnownHash_LockHeld"]=wasmExports["_PyDict_SetItem_KnownHash_LockHeld"];__PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=wasmExports["_PyDict_SetItem_KnownHash"];__PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=wasmExports["_PyDict_DelItem_KnownHash"];__PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=wasmExports["_PyDict_DelItemIf"];_PyDict_Clear=Module["_PyDict_Clear"]=wasmExports["PyDict_Clear"];_PyDict_PopString=Module["_PyDict_PopString"]=wasmExports["PyDict_PopString"];__PyDict_Pop=Module["__PyDict_Pop"]=wasmExports["_PyDict_Pop"];_PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=wasmExports["PyDict_MergeFromSeq2"];__PyErr_FormatNote=Module["__PyErr_FormatNote"]=wasmExports["_PyErr_FormatNote"];_PyDict_Merge=Module["_PyDict_Merge"]=wasmExports["PyDict_Merge"];__PyDict_MergeEx=Module["__PyDict_MergeEx"]=wasmExports["_PyDict_MergeEx"];_PyDict_SetDefaultRef=Module["_PyDict_SetDefaultRef"]=wasmExports["PyDict_SetDefaultRef"];_PyDict_SetDefault=Module["_PyDict_SetDefault"]=wasmExports["PyDict_SetDefault"];__PyDict_SizeOf=Module["__PyDict_SizeOf"]=wasmExports["_PyDict_SizeOf"];_PyDict_ContainsString=Module["_PyDict_ContainsString"]=wasmExports["PyDict_ContainsString"];_PyDict_GetItemString=Module["_PyDict_GetItemString"]=wasmExports["PyDict_GetItemString"];_PyDict_GetItemStringRef=Module["_PyDict_GetItemStringRef"]=wasmExports["PyDict_GetItemStringRef"];_PyDict_DelItemString=Module["_PyDict_DelItemString"]=wasmExports["PyDict_DelItemString"];_PyObject_VisitManagedDict=Module["_PyObject_VisitManagedDict"]=wasmExports["PyObject_VisitManagedDict"];__PyObject_SetManagedDict=Module["__PyObject_SetManagedDict"]=wasmExports["_PyObject_SetManagedDict"];_PyObject_ClearManagedDict=Module["_PyObject_ClearManagedDict"]=wasmExports["PyObject_ClearManagedDict"];_PyDict_Watch=Module["_PyDict_Watch"]=wasmExports["PyDict_Watch"];_PyDict_Unwatch=Module["_PyDict_Unwatch"]=wasmExports["PyDict_Unwatch"];_PyDict_AddWatcher=Module["_PyDict_AddWatcher"]=wasmExports["PyDict_AddWatcher"];_PyDict_ClearWatcher=Module["_PyDict_ClearWatcher"]=wasmExports["PyDict_ClearWatcher"];__PyDict_SendEvent=Module["__PyDict_SendEvent"]=wasmExports["_PyDict_SendEvent"];_PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=wasmExports["PyArg_ValidateKeywordArguments"];_PyODict_New=Module["_PyODict_New"]=wasmExports["PyODict_New"];_PyODict_SetItem=Module["_PyODict_SetItem"]=wasmExports["PyODict_SetItem"];_PyODict_DelItem=Module["_PyODict_DelItem"]=wasmExports["PyODict_DelItem"];__PyErr_ChainExceptions1=Module["__PyErr_ChainExceptions1"]=wasmExports["_PyErr_ChainExceptions1"];_PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=wasmExports["PyMemoryView_FromMemory"];_PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=wasmExports["PyMemoryView_FromBuffer"];_PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=wasmExports["PyMemoryView_GetContiguous"];_PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=wasmExports["PyUnicode_AsASCIIString"];_PyCFunction_New=Module["_PyCFunction_New"]=wasmExports["PyCFunction_New"];_PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=wasmExports["PyCFunction_NewEx"];_PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=wasmExports["PyCFunction_GetFunction"];_PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=wasmExports["PyCFunction_GetSelf"];_PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=wasmExports["PyCFunction_GetFlags"];_PyModuleDef_Init=Module["_PyModuleDef_Init"]=wasmExports["PyModuleDef_Init"];_PyModule_NewObject=Module["_PyModule_NewObject"]=wasmExports["PyModule_NewObject"];_PyModule_New=Module["_PyModule_New"]=wasmExports["PyModule_New"];_PyModule_SetDocString=Module["_PyModule_SetDocString"]=wasmExports["PyModule_SetDocString"];_PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=wasmExports["PyModule_FromDefAndSpec2"];_PyModule_ExecDef=Module["_PyModule_ExecDef"]=wasmExports["PyModule_ExecDef"];_PyModule_GetName=Module["_PyModule_GetName"]=wasmExports["PyModule_GetName"];_PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=wasmExports["PyModule_GetFilenameObject"];_PyModule_GetFilename=Module["_PyModule_GetFilename"]=wasmExports["PyModule_GetFilename"];_PyModule_GetDef=Module["_PyModule_GetDef"]=wasmExports["PyModule_GetDef"];_PyModule_GetState=Module["_PyModule_GetState"]=wasmExports["PyModule_GetState"];_PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=wasmExports["PyUnicode_AsWideChar"];_wcsrchr=Module["_wcsrchr"]=wasmExports["wcsrchr"];_wcscmp=Module["_wcscmp"]=wasmExports["wcscmp"];__PySys_GetOptionalAttrString=Module["__PySys_GetOptionalAttrString"]=wasmExports["_PySys_GetOptionalAttrString"];_PySys_FormatStderr=Module["_PySys_FormatStderr"]=wasmExports["PySys_FormatStderr"];_PyUnicode_Join=Module["_PyUnicode_Join"]=wasmExports["PyUnicode_Join"];__PyNamespace_New=Module["__PyNamespace_New"]=wasmExports["_PyNamespace_New"];__PyArg_NoPositional=Module["__PyArg_NoPositional"]=wasmExports["_PyArg_NoPositional"];__PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=wasmExports["_PyUnicode_CheckConsistency"];__PyObject_IsFreed=Module["__PyObject_IsFreed"]=wasmExports["_PyObject_IsFreed"];_fwrite=Module["_fwrite"]=wasmExports["fwrite"];_fputc=Module["_fputc"]=wasmExports["fputc"];__PyObject_Dump=Module["__PyObject_Dump"]=wasmExports["_PyObject_Dump"];_Py_IncRef=Module["_Py_IncRef"]=wasmExports["Py_IncRef"];_Py_DecRef=Module["_Py_DecRef"]=wasmExports["Py_DecRef"];__Py_IncRef=Module["__Py_IncRef"]=wasmExports["_Py_IncRef"];__Py_DecRef=Module["__Py_DecRef"]=wasmExports["_Py_DecRef"];_PyObject_Init=Module["_PyObject_Init"]=wasmExports["PyObject_Init"];_PyObject_InitVar=Module["_PyObject_InitVar"]=wasmExports["PyObject_InitVar"];_PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=wasmExports["PyObject_CallFinalizer"];_PyObject_Print=Module["_PyObject_Print"]=wasmExports["PyObject_Print"];_ferror=Module["_ferror"]=wasmExports["ferror"];__Py_BreakPoint=Module["__Py_BreakPoint"]=wasmExports["_Py_BreakPoint"];_PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=wasmExports["PyUnicode_DecodeASCII"];_PyObject_HasAttrStringWithError=Module["_PyObject_HasAttrStringWithError"]=wasmExports["PyObject_HasAttrStringWithError"];_PyObject_GetOptionalAttrString=Module["_PyObject_GetOptionalAttrString"]=wasmExports["PyObject_GetOptionalAttrString"];_PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=wasmExports["PyObject_HasAttrString"];_PyObject_DelAttrString=Module["_PyObject_DelAttrString"]=wasmExports["PyObject_DelAttrString"];__PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=wasmExports["_PyObject_GetDictPtr"];__PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=wasmExports["_PyObject_GenericSetAttrWithDict"];_PyObject_Not=Module["_PyObject_Not"]=wasmExports["PyObject_Not"];_PyObject_IS_GC=Module["_PyObject_IS_GC"]=wasmExports["PyObject_IS_GC"];__Py_SetImmortalUntracked=Module["__Py_SetImmortalUntracked"]=wasmExports["_Py_SetImmortalUntracked"];_PyUnstable_Object_EnableDeferredRefcount=Module["_PyUnstable_Object_EnableDeferredRefcount"]=wasmExports["PyUnstable_Object_EnableDeferredRefcount"];_PyUnstable_Object_IsUniqueReferencedTemporary=Module["_PyUnstable_Object_IsUniqueReferencedTemporary"]=wasmExports["PyUnstable_Object_IsUniqueReferencedTemporary"];_PyUnstable_TryIncRef=Module["_PyUnstable_TryIncRef"]=wasmExports["PyUnstable_TryIncRef"];_PyUnstable_EnableTryIncRef=Module["_PyUnstable_EnableTryIncRef"]=wasmExports["PyUnstable_EnableTryIncRef"];__Py_ResurrectReference=Module["__Py_ResurrectReference"]=wasmExports["_Py_ResurrectReference"];__Py_ForgetReference=Module["__Py_ForgetReference"]=wasmExports["_Py_ForgetReference"];_PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=wasmExports["PyThreadState_GetDict"];__PyTrash_thread_deposit_object=Module["__PyTrash_thread_deposit_object"]=wasmExports["_PyTrash_thread_deposit_object"];__PyTrash_thread_destroy_chain=Module["__PyTrash_thread_destroy_chain"]=wasmExports["_PyTrash_thread_destroy_chain"];_PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=wasmExports["PyObject_GET_WEAKREFS_LISTPTR"];_Py_NewRef=Module["_Py_NewRef"]=wasmExports["Py_NewRef"];_Py_XNewRef=Module["_Py_XNewRef"]=wasmExports["Py_XNewRef"];_Py_Is=Module["_Py_Is"]=wasmExports["Py_Is"];_Py_IsNone=Module["_Py_IsNone"]=wasmExports["Py_IsNone"];_Py_IsTrue=Module["_Py_IsTrue"]=wasmExports["Py_IsTrue"];_Py_IsFalse=Module["_Py_IsFalse"]=wasmExports["Py_IsFalse"];__Py_SetRefcnt=Module["__Py_SetRefcnt"]=wasmExports["_Py_SetRefcnt"];_PyRefTracer_SetTracer=Module["_PyRefTracer_SetTracer"]=wasmExports["PyRefTracer_SetTracer"];_PyRefTracer_GetTracer=Module["_PyRefTracer_GetTracer"]=wasmExports["PyRefTracer_GetTracer"];_Py_GetConstantBorrowed=Module["_Py_GetConstantBorrowed"]=wasmExports["Py_GetConstantBorrowed"];_Py_TYPE=Module["_Py_TYPE"]=wasmExports["Py_TYPE"];_Py_REFCNT=Module["_Py_REFCNT"]=wasmExports["Py_REFCNT"];_PyUnstable_IsImmortal=Module["_PyUnstable_IsImmortal"]=wasmExports["PyUnstable_IsImmortal"];_PyUnstable_Object_IsUniquelyReferenced=Module["_PyUnstable_Object_IsUniquelyReferenced"]=wasmExports["PyUnstable_Object_IsUniquelyReferenced"];_sleep=Module["_sleep"]=wasmExports["sleep"];_abort=Module["_abort"]=wasmExports["abort"];_getenv=Module["_getenv"]=wasmExports["getenv"];_sbrk=Module["_sbrk"]=wasmExports["sbrk"];_clock_gettime=Module["_clock_gettime"]=wasmExports["clock_gettime"];_vsnprintf=Module["_vsnprintf"]=wasmExports["vsnprintf"];_atexit=Module["_atexit"]=wasmExports["atexit"];_strstr=Module["_strstr"]=wasmExports["strstr"];_snprintf=Module["_snprintf"]=wasmExports["snprintf"];_calloc=Module["_calloc"]=wasmExports["calloc"];_realloc=Module["_realloc"]=wasmExports["realloc"];_wcslen=Module["_wcslen"]=wasmExports["wcslen"];__PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=wasmExports["_PyMem_GetCurrentAllocatorName"];_PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=wasmExports["PyMem_SetupDebugHooks"];_PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=wasmExports["PyMem_GetAllocator"];_PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=wasmExports["PyMem_SetAllocator"];_PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=wasmExports["PyObject_GetArenaAllocator"];_PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=wasmExports["PyObject_SetArenaAllocator"];_PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=wasmExports["PyMem_RawMalloc"];_PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=wasmExports["PyMem_RawCalloc"];__PyMem_Strdup=Module["__PyMem_Strdup"]=wasmExports["_PyMem_Strdup"];__PyMutex_LockTimed=Module["__PyMutex_LockTimed"]=wasmExports["_PyMutex_LockTimed"];_PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=wasmExports["PyPickleBuffer_FromObject"];_PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=wasmExports["PyPickleBuffer_GetBuffer"];_PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=wasmExports["PyPickleBuffer_Release"];__PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=wasmExports["_PySlice_GetLongIndices"];__PySet_AddTakeRef=Module["__PySet_AddTakeRef"]=wasmExports["_PySet_AddTakeRef"];__PySet_Contains=Module["__PySet_Contains"]=wasmExports["_PySet_Contains"];_PySet_Size=Module["_PySet_Size"]=wasmExports["PySet_Size"];_PySet_Clear=Module["_PySet_Clear"]=wasmExports["PySet_Clear"];_PySet_Pop=Module["_PySet_Pop"]=wasmExports["PySet_Pop"];_PySlice_GetIndices=Module["_PySlice_GetIndices"]=wasmExports["PySlice_GetIndices"];_PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=wasmExports["PySlice_GetIndicesEx"];_PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=wasmExports["PyStructSequence_GetItem"];_PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=wasmExports["PyStructSequence_InitType2"];_PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=wasmExports["PyStructSequence_InitType"];__PyStructSequence_NewType=Module["__PyStructSequence_NewType"]=wasmExports["_PyStructSequence_NewType"];_PyUnicodeWriter_WriteUTF8=Module["_PyUnicodeWriter_WriteUTF8"]=wasmExports["PyUnicodeWriter_WriteUTF8"];_PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=wasmExports["PyStructSequence_NewType"];_PyUnicode_Concat=Module["_PyUnicode_Concat"]=wasmExports["PyUnicode_Concat"];__PyTemplate_Build=Module["__PyTemplate_Build"]=wasmExports["_PyTemplate_Build"];_PyTuple_SetItem=Module["_PyTuple_SetItem"]=wasmExports["PyTuple_SetItem"];__PyTuple_FromStackRefStealOnSuccess=Module["__PyTuple_FromStackRefStealOnSuccess"]=wasmExports["_PyTuple_FromStackRefStealOnSuccess"];__PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=wasmExports["_PyObject_GC_Resize"];__PyStaticType_GetBuiltins=Module["__PyStaticType_GetBuiltins"]=wasmExports["_PyStaticType_GetBuiltins"];_PyType_GetDict=Module["_PyType_GetDict"]=wasmExports["PyType_GetDict"];_strrchr=Module["_strrchr"]=wasmExports["strrchr"];_PyType_ClearCache=Module["_PyType_ClearCache"]=wasmExports["PyType_ClearCache"];_PyType_AddWatcher=Module["_PyType_AddWatcher"]=wasmExports["PyType_AddWatcher"];_PyType_ClearWatcher=Module["_PyType_ClearWatcher"]=wasmExports["PyType_ClearWatcher"];_PyType_Watch=Module["_PyType_Watch"]=wasmExports["PyType_Watch"];_PyType_Unwatch=Module["_PyType_Unwatch"]=wasmExports["PyType_Unwatch"];_PyType_Modified=Module["_PyType_Modified"]=wasmExports["PyType_Modified"];__PyType_SetVersion=Module["__PyType_SetVersion"]=wasmExports["_PyType_SetVersion"];_PyUnstable_Type_AssignVersionTag=Module["_PyUnstable_Type_AssignVersionTag"]=wasmExports["PyUnstable_Type_AssignVersionTag"];_PyType_GetFullyQualifiedName=Module["_PyType_GetFullyQualifiedName"]=wasmExports["PyType_GetFullyQualifiedName"];__PyType_NewManagedObject=Module["__PyType_NewManagedObject"]=wasmExports["_PyType_NewManagedObject"];__PyObject_LookupSpecialMethod=Module["__PyObject_LookupSpecialMethod"]=wasmExports["_PyObject_LookupSpecialMethod"];__PyObject_MaybeCallSpecialNoArgs=Module["__PyObject_MaybeCallSpecialNoArgs"]=wasmExports["_PyObject_MaybeCallSpecialNoArgs"];__PyObject_MaybeCallSpecialOneArg=Module["__PyObject_MaybeCallSpecialOneArg"]=wasmExports["_PyObject_MaybeCallSpecialOneArg"];_PyType_GetFlags=Module["_PyType_GetFlags"]=wasmExports["PyType_GetFlags"];_PyType_SUPPORTS_WEAKREFS=Module["_PyType_SUPPORTS_WEAKREFS"]=wasmExports["PyType_SUPPORTS_WEAKREFS"];_PyType_FromMetaclass=Module["_PyType_FromMetaclass"]=wasmExports["PyType_FromMetaclass"];_PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=wasmExports["PyType_FromModuleAndSpec"];_PyType_FromSpec=Module["_PyType_FromSpec"]=wasmExports["PyType_FromSpec"];_PyType_GetName=Module["_PyType_GetName"]=wasmExports["PyType_GetName"];_PyType_GetModuleName=Module["_PyType_GetModuleName"]=wasmExports["PyType_GetModuleName"];_PyType_GetSlot=Module["_PyType_GetSlot"]=wasmExports["PyType_GetSlot"];_PyType_GetModule=Module["_PyType_GetModule"]=wasmExports["PyType_GetModule"];_PyType_GetModuleState=Module["_PyType_GetModuleState"]=wasmExports["PyType_GetModuleState"];_PyType_GetModuleByDef=Module["_PyType_GetModuleByDef"]=wasmExports["PyType_GetModuleByDef"];_PyType_GetBaseByToken=Module["_PyType_GetBaseByToken"]=wasmExports["PyType_GetBaseByToken"];_PyObject_GetTypeData=Module["_PyObject_GetTypeData"]=wasmExports["PyObject_GetTypeData"];_PyType_GetTypeDataSize=Module["_PyType_GetTypeDataSize"]=wasmExports["PyType_GetTypeDataSize"];_PyObject_GetItemData=Module["_PyObject_GetItemData"]=wasmExports["PyObject_GetItemData"];__PyType_Lookup=Module["__PyType_Lookup"]=wasmExports["_PyType_Lookup"];_PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=wasmExports["PyUnicode_IsIdentifier"];_PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=wasmExports["PyEval_GetGlobals"];__PyStaticType_InitForExtension=Module["__PyStaticType_InitForExtension"]=wasmExports["_PyStaticType_InitForExtension"];__PyType_GetSlotWrapperNames=Module["__PyType_GetSlotWrapperNames"]=wasmExports["_PyType_GetSlotWrapperNames"];_PyType_Freeze=Module["_PyType_Freeze"]=wasmExports["PyType_Freeze"];__PySuper_Lookup=Module["__PySuper_Lookup"]=wasmExports["_PySuper_Lookup"];_PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=wasmExports["PyWeakref_NewRef"];_PyImport_GetModule=Module["_PyImport_GetModule"]=wasmExports["PyImport_GetModule"];_PyImport_Import=Module["_PyImport_Import"]=wasmExports["PyImport_Import"];__Py_hashtable_len=Module["__Py_hashtable_len"]=wasmExports["_Py_hashtable_len"];__Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=wasmExports["_Py_GetErrorHandler"];_PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=wasmExports["PyUnicode_CopyCharacters"];_PyUnicode_Resize=Module["_PyUnicode_Resize"]=wasmExports["PyUnicode_Resize"];_PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=wasmExports["PyUnicode_FromWideChar"];_PyUnicodeWriter_WriteWideChar=Module["_PyUnicodeWriter_WriteWideChar"]=wasmExports["PyUnicodeWriter_WriteWideChar"];_PyUnicodeWriter_WriteUCS4=Module["_PyUnicodeWriter_WriteUCS4"]=wasmExports["PyUnicodeWriter_WriteUCS4"];_PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=wasmExports["PyUnicode_FromKindAndData"];_PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=wasmExports["PyUnicode_AsUCS4"];_PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=wasmExports["PyUnicode_AsUCS4Copy"];__PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=wasmExports["_PyUnicodeWriter_WriteASCIIString"];_PyUnicode_Fill=Module["_PyUnicode_Fill"]=wasmExports["PyUnicode_Fill"];_PyUnicodeWriter_Format=Module["_PyUnicodeWriter_Format"]=wasmExports["PyUnicodeWriter_Format"];_PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=wasmExports["PyUnicode_AsWideCharString"];_PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=wasmExports["PyUnicode_FromOrdinal"];_PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=wasmExports["PyUnicode_FromObject"];_PyCodec_LookupError=Module["_PyCodec_LookupError"]=wasmExports["PyCodec_LookupError"];_PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=wasmExports["PyUnicode_DecodeUTF16Stateful"];_PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=wasmExports["PyUnicode_DecodeUTF32Stateful"];_PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=wasmExports["PyUnicode_DecodeUTF16"];_PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=wasmExports["PyUnicode_DecodeUTF32"];_PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=wasmExports["PyUnicode_AsDecodedObject"];_PyCodec_Decode=Module["_PyCodec_Decode"]=wasmExports["PyCodec_Decode"];_PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=wasmExports["PyUnicode_AsDecodedUnicode"];_PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=wasmExports["PyUnicode_AsEncodedObject"];_PyCodec_Encode=Module["_PyCodec_Encode"]=wasmExports["PyCodec_Encode"];_PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=wasmExports["PyUnicode_EncodeLocale"];__Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=wasmExports["_Py_EncodeLocaleEx"];_PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=wasmExports["PyCodec_StrictErrors"];_PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=wasmExports["PyUnicode_EncodeFSDefault"];__PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=wasmExports["_PyUnicode_EncodeUTF16"];__PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=wasmExports["_PyUnicode_EncodeUTF32"];_PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=wasmExports["PyUnicode_AsEncodedUnicode"];_PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=wasmExports["PyUnicode_DecodeLocaleAndSize"];__Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=wasmExports["_Py_DecodeLocaleEx"];_PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=wasmExports["PyUnicode_DecodeLocale"];_PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=wasmExports["PyUnicode_DecodeFSDefaultAndSize"];_PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=wasmExports["PyUnicode_FSConverter"];_PyOS_FSPath=Module["_PyOS_FSPath"]=wasmExports["PyOS_FSPath"];_PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=wasmExports["PyUnicode_FSDecoder"];_wmemchr=Module["_wmemchr"]=wasmExports["wmemchr"];__PyUnicode_AsUTF8NoNUL=Module["__PyUnicode_AsUTF8NoNUL"]=wasmExports["_PyUnicode_AsUTF8NoNUL"];_PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=wasmExports["PyUnicode_GetSize"];_PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=wasmExports["PyUnicode_GetLength"];_PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=wasmExports["PyUnicode_WriteChar"];_PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=wasmExports["PyUnicode_DecodeUTF7"];_PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=wasmExports["PyUnicode_DecodeUTF7Stateful"];_PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=wasmExports["PyUnicode_AsUTF32String"];_PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=wasmExports["PyUnicode_AsUTF16String"];_PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=wasmExports["PyUnicode_DecodeUnicodeEscape"];_PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=wasmExports["PyUnicode_AsUnicodeEscapeString"];_PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=wasmExports["PyUnicode_DecodeRawUnicodeEscape"];_PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=wasmExports["PyUnicode_AsRawUnicodeEscapeString"];_PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=wasmExports["PyUnicode_AsLatin1String"];__PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=wasmExports["_PyUnicodeWriter_PrepareKindInternal"];_PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=wasmExports["PyUnicode_DecodeCharmap"];_PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=wasmExports["PyUnicode_BuildEncodingMap"];_PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=wasmExports["PyUnicode_AsCharmapString"];_PyUnicode_Translate=Module["_PyUnicode_Translate"]=wasmExports["PyUnicode_Translate"];__PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=wasmExports["_PyUnicode_ToDecimalDigit"];_PyUnicode_Count=Module["_PyUnicode_Count"]=wasmExports["PyUnicode_Count"];_PyUnicode_Find=Module["_PyUnicode_Find"]=wasmExports["PyUnicode_Find"];_PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=wasmExports["PyUnicode_FindChar"];_PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=wasmExports["PyUnicode_Tailmatch"];__PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=wasmExports["_PyUnicode_JoinArray"];_PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=wasmExports["PyUnicode_Splitlines"];__PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=wasmExports["_PyUnicode_IsLinebreak"];_wmemcmp=Module["_wmemcmp"]=wasmExports["wmemcmp"];_PyUnicode_EqualToUTF8=Module["_PyUnicode_EqualToUTF8"]=wasmExports["PyUnicode_EqualToUTF8"];_PyUnicode_EqualToUTF8AndSize=Module["_PyUnicode_EqualToUTF8AndSize"]=wasmExports["PyUnicode_EqualToUTF8AndSize"];_PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=wasmExports["PyUnicode_RichCompare"];_PyUnicode_Contains=Module["_PyUnicode_Contains"]=wasmExports["PyUnicode_Contains"];_PyUnicode_Append=Module["_PyUnicode_Append"]=wasmExports["PyUnicode_Append"];_PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=wasmExports["PyUnicode_AppendAndDel"];_PyUnicode_Replace=Module["_PyUnicode_Replace"]=wasmExports["PyUnicode_Replace"];_PyUnicode_Split=Module["_PyUnicode_Split"]=wasmExports["PyUnicode_Split"];_PyUnicode_Partition=Module["_PyUnicode_Partition"]=wasmExports["PyUnicode_Partition"];_PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=wasmExports["PyUnicode_RPartition"];_PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=wasmExports["PyUnicode_RSplit"];__PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=wasmExports["_PyUnicodeWriter_WriteChar"];__PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=wasmExports["_PyUnicodeWriter_WriteSubstring"];_PyUnicodeWriter_WriteSubstring=Module["_PyUnicodeWriter_WriteSubstring"]=wasmExports["PyUnicodeWriter_WriteSubstring"];_PyUnicodeWriter_DecodeUTF8Stateful=Module["_PyUnicodeWriter_DecodeUTF8Stateful"]=wasmExports["PyUnicodeWriter_DecodeUTF8Stateful"];__PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=wasmExports["_PyUnicodeWriter_WriteLatin1String"];_PyUnicode_Format=Module["_PyUnicode_Format"]=wasmExports["PyUnicode_Format"];__PyUnicode_ExactDealloc=Module["__PyUnicode_ExactDealloc"]=wasmExports["_PyUnicode_ExactDealloc"];__Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=wasmExports["_Py_hashtable_new_full"];__Py_hashtable_get=Module["__Py_hashtable_get"]=wasmExports["_Py_hashtable_get"];__Py_hashtable_set=Module["__Py_hashtable_set"]=wasmExports["_Py_hashtable_set"];__PyUnicode_InternInPlace=Module["__PyUnicode_InternInPlace"]=wasmExports["_PyUnicode_InternInPlace"];_PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=wasmExports["PyUnicode_InternInPlace"];_PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=wasmExports["PyUnicode_InternImmortal"];__Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=wasmExports["_Py_hashtable_destroy"];_PyInit__string=Module["_PyInit__string"]=wasmExports["PyInit__string"];_PyUnicode_KIND=Module["_PyUnicode_KIND"]=wasmExports["PyUnicode_KIND"];_PyUnicode_DATA=Module["_PyUnicode_DATA"]=wasmExports["PyUnicode_DATA"];__PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=wasmExports["_PyUnicode_IsLowercase"];__PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=wasmExports["_PyUnicode_IsUppercase"];__PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=wasmExports["_PyUnicode_IsTitlecase"];__PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=wasmExports["_PyUnicode_IsDecimalDigit"];__PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=wasmExports["_PyUnicode_IsDigit"];__PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=wasmExports["_PyUnicode_IsNumeric"];__PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=wasmExports["_PyUnicode_IsAlpha"];__PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=wasmExports["_PyUnicode_ToNumeric"];__PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=wasmExports["_PyUnicode_ToTitlecase"];__PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=wasmExports["_PyUnicode_ToDigit"];__PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=wasmExports["_PyUnicode_ToUppercase"];__PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=wasmExports["_PyUnicode_ToLowercase"];__PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=wasmExports["_PyWeakref_ClearRef"];_PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=wasmExports["PyWeakref_NewProxy"];_PyWeakref_IsDead=Module["_PyWeakref_IsDead"]=wasmExports["PyWeakref_IsDead"];_PyWeakref_GetRef=Module["_PyWeakref_GetRef"]=wasmExports["PyWeakref_GetRef"];_PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=wasmExports["PyWeakref_GetObject"];_PyUnstable_Object_ClearWeakRefsNoCallbacks=Module["_PyUnstable_Object_ClearWeakRefsNoCallbacks"]=wasmExports["PyUnstable_Object_ClearWeakRefsNoCallbacks"];__PyWeakref_IsDead=Module["__PyWeakref_IsDead"]=wasmExports["_PyWeakref_IsDead"];_PyInit__contextvars=Module["_PyInit__contextvars"]=wasmExports["PyInit__contextvars"];_PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=wasmExports["PyContext_CopyCurrent"];_PyModule_AddType=Module["_PyModule_AddType"]=wasmExports["PyModule_AddType"];_PyContextVar_New=Module["_PyContextVar_New"]=wasmExports["PyContextVar_New"];_PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=wasmExports["PyErr_ResourceWarning"];__PyRecursiveMutex_Lock=Module["__PyRecursiveMutex_Lock"]=wasmExports["_PyRecursiveMutex_Lock"];_PyContextVar_Get=Module["_PyContextVar_Get"]=wasmExports["PyContextVar_Get"];_PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=wasmExports["PyErr_WarnExplicit"];_PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=wasmExports["PyErr_WarnExplicitFormat"];__Py_IsInterpreterFinalizing=Module["__Py_IsInterpreterFinalizing"]=wasmExports["_Py_IsInterpreterFinalizing"];__PyWarnings_Init=Module["__PyWarnings_Init"]=wasmExports["_PyWarnings_Init"];_PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=wasmExports["PyThreadState_GetFrame"];__PySys_GetOptionalAttr=Module["__PySys_GetOptionalAttr"]=wasmExports["_PySys_GetOptionalAttr"];__Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=wasmExports["_Py_DisplaySourceLine"];_PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=wasmExports["PyModule_AddObjectRef"];_PyInit__ast=Module["_PyInit__ast"]=wasmExports["PyInit__ast"];__PyOnceFlag_CallOnceSlow=Module["__PyOnceFlag_CallOnceSlow"]=wasmExports["_PyOnceFlag_CallOnceSlow"];_PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=wasmExports["PyModule_AddIntConstant"];_PyInit__tokenize=Module["_PyInit__tokenize"]=wasmExports["PyInit__tokenize"];_PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=wasmExports["PyErr_SyntaxLocationObject"];_PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=wasmExports["PyImport_ImportModuleLevelObject"];__PySys_GetRequiredAttrString=Module["__PySys_GetRequiredAttrString"]=wasmExports["_PySys_GetRequiredAttrString"];_PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=wasmExports["PyEval_MergeCompilerFlags"];__PyArena_New=Module["__PyArena_New"]=wasmExports["_PyArena_New"];__PyArena_Free=Module["__PyArena_Free"]=wasmExports["_PyArena_Free"];__PyAST_Compile=Module["__PyAST_Compile"]=wasmExports["_PyAST_Compile"];_Py_CompileStringObject=Module["_Py_CompileStringObject"]=wasmExports["Py_CompileStringObject"];_PyEval_EvalCode=Module["_PyEval_EvalCode"]=wasmExports["PyEval_EvalCode"];_PyRun_StringFlags=Module["_PyRun_StringFlags"]=wasmExports["PyRun_StringFlags"];_PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=wasmExports["PyEval_EvalCodeEx"];__PySys_GetRequiredAttr=Module["__PySys_GetRequiredAttr"]=wasmExports["_PySys_GetRequiredAttr"];_Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=wasmExports["Py_GetRecursionLimit"];_Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=wasmExports["Py_SetRecursionLimit"];_emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=wasmExports["emscripten_stack_get_base"];_emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=wasmExports["emscripten_stack_get_end"];__Py_InitializeRecursionLimits=Module["__Py_InitializeRecursionLimits"]=wasmExports["_Py_InitializeRecursionLimits"];_PyUnstable_ThreadState_SetStackProtection=Module["_PyUnstable_ThreadState_SetStackProtection"]=wasmExports["PyUnstable_ThreadState_SetStackProtection"];_PyUnstable_ThreadState_ResetStackProtection=Module["_PyUnstable_ThreadState_ResetStackProtection"]=wasmExports["PyUnstable_ThreadState_ResetStackProtection"];__PyEval_MatchKeys=Module["__PyEval_MatchKeys"]=wasmExports["_PyEval_MatchKeys"];__PyEval_MatchClass=Module["__PyEval_MatchClass"]=wasmExports["_PyEval_MatchClass"];__PyEvalFramePushAndInit=Module["__PyEvalFramePushAndInit"]=wasmExports["_PyEvalFramePushAndInit"];_PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=wasmExports["PyEval_EvalFrame"];_PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=wasmExports["PyEval_EvalFrameEx"];__PyObjectArray_FromStackRefArray=Module["__PyObjectArray_FromStackRefArray"]=wasmExports["_PyObjectArray_FromStackRefArray"];__PyObjectArray_Free=Module["__PyObjectArray_Free"]=wasmExports["_PyObjectArray_Free"];__PyEval_FrameClearAndPop=Module["__PyEval_FrameClearAndPop"]=wasmExports["_PyEval_FrameClearAndPop"];_PyTraceBack_Here=Module["_PyTraceBack_Here"]=wasmExports["PyTraceBack_Here"];__PyEval_MonitorRaise=Module["__PyEval_MonitorRaise"]=wasmExports["_PyEval_MonitorRaise"];__Py_HandlePending=Module["__Py_HandlePending"]=wasmExports["_Py_HandlePending"];__Py_Check_ArgsIterable=Module["__Py_Check_ArgsIterable"]=wasmExports["_Py_Check_ArgsIterable"];__PyEval_CheckExceptStarTypeValid=Module["__PyEval_CheckExceptStarTypeValid"]=wasmExports["_PyEval_CheckExceptStarTypeValid"];__PyEval_ExceptionGroupMatch=Module["__PyEval_ExceptionGroupMatch"]=wasmExports["_PyEval_ExceptionGroupMatch"];_PyErr_SetHandledException=Module["_PyErr_SetHandledException"]=wasmExports["PyErr_SetHandledException"];__PyEval_FormatExcCheckArg=Module["__PyEval_FormatExcCheckArg"]=wasmExports["_PyEval_FormatExcCheckArg"];__PyEval_FormatKwargsError=Module["__PyEval_FormatKwargsError"]=wasmExports["_PyEval_FormatKwargsError"];__PyEval_GetANext=Module["__PyEval_GetANext"]=wasmExports["_PyEval_GetANext"];__PyEval_GetAwaitable=Module["__PyEval_GetAwaitable"]=wasmExports["_PyEval_GetAwaitable"];__PyEval_ImportFrom=Module["__PyEval_ImportFrom"]=wasmExports["_PyEval_ImportFrom"];__PyEval_ImportName=Module["__PyEval_ImportName"]=wasmExports["_PyEval_ImportName"];__PyEval_FormatExcUnbound=Module["__PyEval_FormatExcUnbound"]=wasmExports["_PyEval_FormatExcUnbound"];__PyEval_LoadGlobalStackRef=Module["__PyEval_LoadGlobalStackRef"]=wasmExports["_PyEval_LoadGlobalStackRef"];__PyEval_LoadName=Module["__PyEval_LoadName"]=wasmExports["_PyEval_LoadName"];__PyEval_SpecialMethodCanSuggest=Module["__PyEval_SpecialMethodCanSuggest"]=wasmExports["_PyEval_SpecialMethodCanSuggest"];__PyThreadState_PopFrame=Module["__PyThreadState_PopFrame"]=wasmExports["_PyThreadState_PopFrame"];__PyEval_UnpackIterableStackRef=Module["__PyEval_UnpackIterableStackRef"]=wasmExports["_PyEval_UnpackIterableStackRef"];__PyEval_CheckExceptTypeValid=Module["__PyEval_CheckExceptTypeValid"]=wasmExports["_PyEval_CheckExceptTypeValid"];_PyThreadState_EnterTracing=Module["_PyThreadState_EnterTracing"]=wasmExports["PyThreadState_EnterTracing"];_PyThreadState_LeaveTracing=Module["_PyThreadState_LeaveTracing"]=wasmExports["PyThreadState_LeaveTracing"];_PyEval_SetProfile=Module["_PyEval_SetProfile"]=wasmExports["PyEval_SetProfile"];__PyEval_SetProfile=Module["__PyEval_SetProfile"]=wasmExports["_PyEval_SetProfile"];_PyEval_SetProfileAllThreads=Module["_PyEval_SetProfileAllThreads"]=wasmExports["PyEval_SetProfileAllThreads"];_PyEval_SetTrace=Module["_PyEval_SetTrace"]=wasmExports["PyEval_SetTrace"];_PyEval_SetTraceAllThreads=Module["_PyEval_SetTraceAllThreads"]=wasmExports["PyEval_SetTraceAllThreads"];_PyEval_GetFrame=Module["_PyEval_GetFrame"]=wasmExports["PyEval_GetFrame"];_PyEval_GetLocals=Module["_PyEval_GetLocals"]=wasmExports["PyEval_GetLocals"];__PyInterpreterState_IsRunningMain=Module["__PyInterpreterState_IsRunningMain"]=wasmExports["_PyInterpreterState_IsRunningMain"];_PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=wasmExports["PyImport_ImportModuleLevel"];_PyEval_GetFrameLocals=Module["_PyEval_GetFrameLocals"]=wasmExports["PyEval_GetFrameLocals"];_PyEval_GetFrameGlobals=Module["_PyEval_GetFrameGlobals"]=wasmExports["PyEval_GetFrameGlobals"];_PyEval_GetFrameBuiltins=Module["_PyEval_GetFrameBuiltins"]=wasmExports["PyEval_GetFrameBuiltins"];_PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=wasmExports["PyEval_GetFuncName"];_PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=wasmExports["PyEval_GetFuncDesc"];__PyEval_FormatAwaitableError=Module["__PyEval_FormatAwaitableError"]=wasmExports["_PyEval_FormatAwaitableError"];_PyUnstable_Eval_RequestCodeExtraIndex=Module["_PyUnstable_Eval_RequestCodeExtraIndex"]=wasmExports["PyUnstable_Eval_RequestCodeExtraIndex"];_PyCodec_Register=Module["_PyCodec_Register"]=wasmExports["PyCodec_Register"];_PyCodec_Unregister=Module["_PyCodec_Unregister"]=wasmExports["PyCodec_Unregister"];_PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=wasmExports["PyCodec_KnownEncoding"];_PyCodec_Encoder=Module["_PyCodec_Encoder"]=wasmExports["PyCodec_Encoder"];_PyCodec_Decoder=Module["_PyCodec_Decoder"]=wasmExports["PyCodec_Decoder"];_PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=wasmExports["PyCodec_IncrementalEncoder"];_PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=wasmExports["PyCodec_IncrementalDecoder"];_PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=wasmExports["PyCodec_StreamReader"];_PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=wasmExports["PyCodec_StreamWriter"];_PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=wasmExports["PyCodec_RegisterError"];_PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=wasmExports["PyCodec_IgnoreErrors"];_PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=wasmExports["PyCodec_ReplaceErrors"];_PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=wasmExports["PyCodec_XMLCharRefReplaceErrors"];_PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=wasmExports["PyCodec_BackslashReplaceErrors"];_PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=wasmExports["PyCodec_NameReplaceErrors"];_PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=wasmExports["PyStatus_NoMemory"];_PyStatus_Error=Module["_PyStatus_Error"]=wasmExports["PyStatus_Error"];_PyStatus_Ok=Module["_PyStatus_Ok"]=wasmExports["PyStatus_Ok"];__PyCompile_CleanDoc=Module["__PyCompile_CleanDoc"]=wasmExports["_PyCompile_CleanDoc"];__PyInstructionSequence_New=Module["__PyInstructionSequence_New"]=wasmExports["_PyInstructionSequence_New"];__PyCompile_CodeGen=Module["__PyCompile_CodeGen"]=wasmExports["_PyCompile_CodeGen"];__PyCompile_Assemble=Module["__PyCompile_Assemble"]=wasmExports["_PyCompile_Assemble"];_PyCode_Optimize=Module["_PyCode_Optimize"]=wasmExports["PyCode_Optimize"];__PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=wasmExports["_PyContext_NewHamtForTests"];_PyContext_New=Module["_PyContext_New"]=wasmExports["PyContext_New"];_PyContext_Copy=Module["_PyContext_Copy"]=wasmExports["PyContext_Copy"];_PyContext_AddWatcher=Module["_PyContext_AddWatcher"]=wasmExports["PyContext_AddWatcher"];_PyContext_ClearWatcher=Module["_PyContext_ClearWatcher"]=wasmExports["PyContext_ClearWatcher"];_PyContext_Enter=Module["_PyContext_Enter"]=wasmExports["PyContext_Enter"];_PyContext_Exit=Module["_PyContext_Exit"]=wasmExports["PyContext_Exit"];_PyContextVar_Set=Module["_PyContextVar_Set"]=wasmExports["PyContextVar_Set"];_PyContextVar_Reset=Module["_PyContextVar_Reset"]=wasmExports["PyContextVar_Reset"];__PyCriticalSection_BeginSlow=Module["__PyCriticalSection_BeginSlow"]=wasmExports["_PyCriticalSection_BeginSlow"];__PyCriticalSection2_BeginSlow=Module["__PyCriticalSection2_BeginSlow"]=wasmExports["_PyCriticalSection2_BeginSlow"];__PyCriticalSection_SuspendAll=Module["__PyCriticalSection_SuspendAll"]=wasmExports["_PyCriticalSection_SuspendAll"];__PyCriticalSection_Resume=Module["__PyCriticalSection_Resume"]=wasmExports["_PyCriticalSection_Resume"];_PyCriticalSection_Begin=Module["_PyCriticalSection_Begin"]=wasmExports["PyCriticalSection_Begin"];_PyCriticalSection_BeginMutex=Module["_PyCriticalSection_BeginMutex"]=wasmExports["PyCriticalSection_BeginMutex"];_PyCriticalSection_End=Module["_PyCriticalSection_End"]=wasmExports["PyCriticalSection_End"];_PyCriticalSection2_Begin=Module["_PyCriticalSection2_Begin"]=wasmExports["PyCriticalSection2_Begin"];_PyCriticalSection2_BeginMutex=Module["_PyCriticalSection2_BeginMutex"]=wasmExports["PyCriticalSection2_BeginMutex"];_PyCriticalSection2_End=Module["_PyCriticalSection2_End"]=wasmExports["PyCriticalSection2_End"];__PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=wasmExports["_PyEval_AddPendingCall"];__PyXIData_GetNotShareableErrorType=Module["__PyXIData_GetNotShareableErrorType"]=wasmExports["_PyXIData_GetNotShareableErrorType"];__PyXIData_SetNotShareableError=Module["__PyXIData_SetNotShareableError"]=wasmExports["_PyXIData_SetNotShareableError"];__PyXIData_FormatNotShareableError=Module["__PyXIData_FormatNotShareableError"]=wasmExports["_PyXIData_FormatNotShareableError"];__PyXI_UnwrapNotShareableError=Module["__PyXI_UnwrapNotShareableError"]=wasmExports["_PyXI_UnwrapNotShareableError"];__PyXI_InitFailure=Module["__PyXI_InitFailure"]=wasmExports["_PyXI_InitFailure"];__PyXIData_Lookup=Module["__PyXIData_Lookup"]=wasmExports["_PyXIData_Lookup"];__PyXIData_RegisterClass=Module["__PyXIData_RegisterClass"]=wasmExports["_PyXIData_RegisterClass"];__PyXIData_UnregisterClass=Module["__PyXIData_UnregisterClass"]=wasmExports["_PyXIData_UnregisterClass"];__PyBytes_GetData=Module["__PyBytes_GetData"]=wasmExports["_PyBytes_GetData"];__PyBytes_FromData=Module["__PyBytes_FromData"]=wasmExports["_PyBytes_FromData"];__PyBytes_FromXIData=Module["__PyBytes_FromXIData"]=wasmExports["_PyBytes_FromXIData"];__PyBytes_GetXIData=Module["__PyBytes_GetXIData"]=wasmExports["_PyBytes_GetXIData"];_PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=wasmExports["PyInterpreterState_GetID"];__PyBytes_GetXIDataWrapped=Module["__PyBytes_GetXIDataWrapped"]=wasmExports["_PyBytes_GetXIDataWrapped"];__PyCode_FromXIData=Module["__PyCode_FromXIData"]=wasmExports["_PyCode_FromXIData"];__PyMarshal_ReadObjectFromXIData=Module["__PyMarshal_ReadObjectFromXIData"]=wasmExports["_PyMarshal_ReadObjectFromXIData"];_PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=wasmExports["PyMarshal_ReadObjectFromString"];__PyCode_GetXIData=Module["__PyCode_GetXIData"]=wasmExports["_PyCode_GetXIData"];__PyMarshal_GetXIData=Module["__PyMarshal_GetXIData"]=wasmExports["_PyMarshal_GetXIData"];_PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=wasmExports["PyMarshal_WriteObjectToString"];__PyFunction_FromXIData=Module["__PyFunction_FromXIData"]=wasmExports["_PyFunction_FromXIData"];__PyFunction_GetXIData=Module["__PyFunction_GetXIData"]=wasmExports["_PyFunction_GetXIData"];__PyXIData_New=Module["__PyXIData_New"]=wasmExports["_PyXIData_New"];__PyXIData_Free=Module["__PyXIData_Free"]=wasmExports["_PyXIData_Free"];__PyXIData_Clear=Module["__PyXIData_Clear"]=wasmExports["_PyXIData_Clear"];__PyXIData_Init=Module["__PyXIData_Init"]=wasmExports["_PyXIData_Init"];__PyXIData_InitWithSize=Module["__PyXIData_InitWithSize"]=wasmExports["_PyXIData_InitWithSize"];__PyObject_CheckXIData=Module["__PyObject_CheckXIData"]=wasmExports["_PyObject_CheckXIData"];__PyObject_GetXIDataNoFallback=Module["__PyObject_GetXIDataNoFallback"]=wasmExports["_PyObject_GetXIDataNoFallback"];__PyObject_GetXIData=Module["__PyObject_GetXIData"]=wasmExports["_PyObject_GetXIData"];__PyPickle_GetXIData=Module["__PyPickle_GetXIData"]=wasmExports["_PyPickle_GetXIData"];__PyPickle_LoadFromXIData=Module["__PyPickle_LoadFromXIData"]=wasmExports["_PyPickle_LoadFromXIData"];_PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=wasmExports["PyInterpreterState_GetDict"];__PyImport_SetModule=Module["__PyImport_SetModule"]=wasmExports["_PyImport_SetModule"];__PyCode_GetScriptXIData=Module["__PyCode_GetScriptXIData"]=wasmExports["_PyCode_GetScriptXIData"];_Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=wasmExports["Py_CompileStringExFlags"];__PyCode_GetPureScriptXIData=Module["__PyCode_GetPureScriptXIData"]=wasmExports["_PyCode_GetPureScriptXIData"];__PyXIData_NewObject=Module["__PyXIData_NewObject"]=wasmExports["_PyXIData_NewObject"];__PyXIData_Release=Module["__PyXIData_Release"]=wasmExports["_PyXIData_Release"];__PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=wasmExports["_PyInterpreterState_LookUpID"];__PyXIData_ReleaseAndRawFree=Module["__PyXIData_ReleaseAndRawFree"]=wasmExports["_PyXIData_ReleaseAndRawFree"];__PyXI_NewExcInfo=Module["__PyXI_NewExcInfo"]=wasmExports["_PyXI_NewExcInfo"];__PyXI_FreeExcInfo=Module["__PyXI_FreeExcInfo"]=wasmExports["_PyXI_FreeExcInfo"];__PyXI_FormatExcInfo=Module["__PyXI_FormatExcInfo"]=wasmExports["_PyXI_FormatExcInfo"];__PyXI_ExcInfoAsObject=Module["__PyXI_ExcInfoAsObject"]=wasmExports["_PyXI_ExcInfoAsObject"];__PyXI_NewFailure=Module["__PyXI_NewFailure"]=wasmExports["_PyXI_NewFailure"];__PyXI_FreeFailure=Module["__PyXI_FreeFailure"]=wasmExports["_PyXI_FreeFailure"];__PyXI_GetFailureCode=Module["__PyXI_GetFailureCode"]=wasmExports["_PyXI_GetFailureCode"];__PyXI_InitFailureUTF8=Module["__PyXI_InitFailureUTF8"]=wasmExports["_PyXI_InitFailureUTF8"];__PyXI_NewSession=Module["__PyXI_NewSession"]=wasmExports["_PyXI_NewSession"];__PyXI_FreeSession=Module["__PyXI_FreeSession"]=wasmExports["_PyXI_FreeSession"];__PyXI_Enter=Module["__PyXI_Enter"]=wasmExports["_PyXI_Enter"];__PyThreadState_NewBound=Module["__PyThreadState_NewBound"]=wasmExports["_PyThreadState_NewBound"];__PyInterpreterState_SetRunningMain=Module["__PyInterpreterState_SetRunningMain"]=wasmExports["_PyInterpreterState_SetRunningMain"];__PyInterpreterState_SetNotRunningMain=Module["__PyInterpreterState_SetNotRunningMain"]=wasmExports["_PyInterpreterState_SetNotRunningMain"];_PyThreadState_Clear=Module["_PyThreadState_Clear"]=wasmExports["PyThreadState_Clear"];__PyErr_SetInterpreterAlreadyRunning=Module["__PyErr_SetInterpreterAlreadyRunning"]=wasmExports["_PyErr_SetInterpreterAlreadyRunning"];__PyXI_Exit=Module["__PyXI_Exit"]=wasmExports["_PyXI_Exit"];__PyXI_ClearResult=Module["__PyXI_ClearResult"]=wasmExports["_PyXI_ClearResult"];__PyXI_GetMainNamespace=Module["__PyXI_GetMainNamespace"]=wasmExports["_PyXI_GetMainNamespace"];__PyXI_Preserve=Module["__PyXI_Preserve"]=wasmExports["_PyXI_Preserve"];__PyXI_GetPreserved=Module["__PyXI_GetPreserved"]=wasmExports["_PyXI_GetPreserved"];_PyErr_PrintEx=Module["_PyErr_PrintEx"]=wasmExports["PyErr_PrintEx"];__PyXI_NewInterpreter=Module["__PyXI_NewInterpreter"]=wasmExports["_PyXI_NewInterpreter"];_Py_NewInterpreterFromConfig=Module["_Py_NewInterpreterFromConfig"]=wasmExports["Py_NewInterpreterFromConfig"];__PyErr_SetFromPyStatus=Module["__PyErr_SetFromPyStatus"]=wasmExports["_PyErr_SetFromPyStatus"];_PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=wasmExports["PyThreadState_GetInterpreter"];__PyXI_EndInterpreter=Module["__PyXI_EndInterpreter"]=wasmExports["_PyXI_EndInterpreter"];__PyInterpreterState_IsReady=Module["__PyInterpreterState_IsReady"]=wasmExports["_PyInterpreterState_IsReady"];_PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=wasmExports["PyInterpreterState_Delete"];_Py_EndInterpreter=Module["_Py_EndInterpreter"]=wasmExports["Py_EndInterpreter"];__PyErr_SetLocaleString=Module["__PyErr_SetLocaleString"]=wasmExports["_PyErr_SetLocaleString"];_PyErr_GetHandledException=Module["_PyErr_GetHandledException"]=wasmExports["PyErr_GetHandledException"];_PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=wasmExports["PyErr_GetExcInfo"];_PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=wasmExports["PyErr_SetExcInfo"];_PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=wasmExports["PyErr_SetFromErrnoWithFilenameObject"];_PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=wasmExports["PyErr_SetFromErrnoWithFilenameObjects"];_strerror=Module["_strerror"]=wasmExports["strerror"];_PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=wasmExports["PyErr_SetImportErrorSubclass"];_PyErr_SetImportError=Module["_PyErr_SetImportError"]=wasmExports["PyErr_SetImportError"];_PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=wasmExports["PyErr_BadInternalCall"];__PyErr_FormatV=Module["__PyErr_FormatV"]=wasmExports["_PyErr_FormatV"];_PyErr_FormatV=Module["_PyErr_FormatV"]=wasmExports["PyErr_FormatV"];_PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=wasmExports["PyErr_NewExceptionWithDoc"];_PyTraceBack_Print=Module["_PyTraceBack_Print"]=wasmExports["PyTraceBack_Print"];_PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=wasmExports["PyErr_WriteUnraisable"];_PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=wasmExports["PyErr_SyntaxLocation"];_PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=wasmExports["PyErr_SyntaxLocationEx"];_PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=wasmExports["PyErr_RangedSyntaxLocationObject"];_PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=wasmExports["PyErr_ProgramTextObject"];_PyErr_ProgramText=Module["_PyErr_ProgramText"]=wasmExports["PyErr_ProgramText"];_Py_fopen=Module["_Py_fopen"]=wasmExports["Py_fopen"];_PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=wasmExports["PyCompile_OpcodeStackEffectWithJump"];__PyCompile_OptimizeCfg=Module["__PyCompile_OptimizeCfg"]=wasmExports["_PyCompile_OptimizeCfg"];_PyUnstable_InterpreterFrame_GetCode=Module["_PyUnstable_InterpreterFrame_GetCode"]=wasmExports["PyUnstable_InterpreterFrame_GetCode"];_PyUnstable_InterpreterFrame_GetLasti=Module["_PyUnstable_InterpreterFrame_GetLasti"]=wasmExports["PyUnstable_InterpreterFrame_GetLasti"];_Py_FrozenMain=Module["_Py_FrozenMain"]=wasmExports["Py_FrozenMain"];_Py_GETENV=Module["_Py_GETENV"]=wasmExports["Py_GETENV"];_Py_GetVersion=Module["_Py_GetVersion"]=wasmExports["Py_GetVersion"];_Py_GetCopyright=Module["_Py_GetCopyright"]=wasmExports["Py_GetCopyright"];_PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=wasmExports["PyImport_ImportFrozenModule"];_PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=wasmExports["PyRun_AnyFileExFlags"];_Py_FinalizeEx=Module["_Py_FinalizeEx"]=wasmExports["Py_FinalizeEx"];_PyGC_Enable=Module["_PyGC_Enable"]=wasmExports["PyGC_Enable"];_PyGC_Disable=Module["_PyGC_Disable"]=wasmExports["PyGC_Disable"];_PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=wasmExports["PyGC_IsEnabled"];_PyTime_PerfCounterRaw=Module["_PyTime_PerfCounterRaw"]=wasmExports["PyTime_PerfCounterRaw"];_PyTime_AsSecondsDouble=Module["_PyTime_AsSecondsDouble"]=wasmExports["PyTime_AsSecondsDouble"];_PyGC_Collect=Module["_PyGC_Collect"]=wasmExports["PyGC_Collect"];_PyUnstable_Object_GC_NewWithExtraData=Module["_PyUnstable_Object_GC_NewWithExtraData"]=wasmExports["PyUnstable_Object_GC_NewWithExtraData"];_PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=wasmExports["PyObject_GC_IsTracked"];_PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=wasmExports["PyObject_GC_IsFinalized"];_PyUnstable_GC_VisitObjects=Module["_PyUnstable_GC_VisitObjects"]=wasmExports["PyUnstable_GC_VisitObjects"];_PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=wasmExports["PyInterpreterState_ThreadHead"];_PyThreadState_Next=Module["_PyThreadState_Next"]=wasmExports["PyThreadState_Next"];_PyArg_Parse=Module["_PyArg_Parse"]=wasmExports["PyArg_Parse"];__PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=wasmExports["_PyArg_Parse_SizeT"];__PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=wasmExports["_PyArg_ParseTuple_SizeT"];_PyArg_VaParse=Module["_PyArg_VaParse"]=wasmExports["PyArg_VaParse"];__PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=wasmExports["_PyArg_VaParse_SizeT"];__PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_ParseTupleAndKeywords_SizeT"];_PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=wasmExports["PyArg_VaParseTupleAndKeywords"];__PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_VaParseTupleAndKeywords_SizeT"];__PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=wasmExports["_PyArg_ParseTupleAndKeywordsFast"];_Py_GetCompiler=Module["_Py_GetCompiler"]=wasmExports["Py_GetCompiler"];_Py_GetPlatform=Module["_Py_GetPlatform"]=wasmExports["Py_GetPlatform"];_PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=wasmExports["PyEval_ThreadsInitialized"];_PyThread_init_thread=Module["_PyThread_init_thread"]=wasmExports["PyThread_init_thread"];_pthread_cond_destroy=Module["_pthread_cond_destroy"]=wasmExports["pthread_cond_destroy"];_pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=wasmExports["pthread_mutex_destroy"];_PyEval_InitThreads=Module["_PyEval_InitThreads"]=wasmExports["PyEval_InitThreads"];_PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=wasmExports["PyEval_AcquireLock"];_pthread_mutex_lock=Module["_pthread_mutex_lock"]=wasmExports["pthread_mutex_lock"];_pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=wasmExports["pthread_cond_timedwait"];_pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=wasmExports["pthread_mutex_unlock"];_pthread_cond_signal=Module["_pthread_cond_signal"]=wasmExports["pthread_cond_signal"];_PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=wasmExports["PyEval_ReleaseLock"];_pthread_cond_wait=Module["_pthread_cond_wait"]=wasmExports["pthread_cond_wait"];_PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=wasmExports["PyEval_AcquireThread"];_PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=wasmExports["PyEval_ReleaseThread"];_Py_AddPendingCall=Module["_Py_AddPendingCall"]=wasmExports["Py_AddPendingCall"];__PyEval_MakePendingCalls=Module["__PyEval_MakePendingCalls"]=wasmExports["_PyEval_MakePendingCalls"];_Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=wasmExports["Py_MakePendingCalls"];_pthread_mutex_init=Module["_pthread_mutex_init"]=wasmExports["pthread_mutex_init"];__Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=wasmExports["_Py_hashtable_hash_ptr"];__Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=wasmExports["_Py_hashtable_compare_direct"];__Py_hashtable_size=Module["__Py_hashtable_size"]=wasmExports["_Py_hashtable_size"];__Py_hashtable_steal=Module["__Py_hashtable_steal"]=wasmExports["_Py_hashtable_steal"];__Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=wasmExports["_Py_hashtable_foreach"];__Py_hashtable_new=Module["__Py_hashtable_new"]=wasmExports["_Py_hashtable_new"];__Py_hashtable_clear=Module["__Py_hashtable_clear"]=wasmExports["_Py_hashtable_clear"];__PyRecursiveMutex_Unlock=Module["__PyRecursiveMutex_Unlock"]=wasmExports["_PyRecursiveMutex_Unlock"];_PyThread_get_thread_ident_ex=Module["_PyThread_get_thread_ident_ex"]=wasmExports["PyThread_get_thread_ident_ex"];_PyImport_AddModuleRef=Module["_PyImport_AddModuleRef"]=wasmExports["PyImport_AddModuleRef"];_PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=wasmExports["PyImport_AddModuleObject"];_PyImport_AddModule=Module["_PyImport_AddModule"]=wasmExports["PyImport_AddModule"];_PyState_FindModule=Module["_PyState_FindModule"]=wasmExports["PyState_FindModule"];__PyState_AddModule=Module["__PyState_AddModule"]=wasmExports["_PyState_AddModule"];_PyState_AddModule=Module["_PyState_AddModule"]=wasmExports["PyState_AddModule"];_PyState_RemoveModule=Module["_PyState_RemoveModule"]=wasmExports["PyState_RemoveModule"];__PyImport_ClearExtension=Module["__PyImport_ClearExtension"]=wasmExports["_PyImport_ClearExtension"];_PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=wasmExports["PyImport_ExtendInittab"];_PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=wasmExports["PyImport_GetMagicNumber"];_PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=wasmExports["PyImport_GetMagicTag"];_PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=wasmExports["PyImport_ExecCodeModule"];_PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=wasmExports["PyImport_ExecCodeModuleObject"];_PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=wasmExports["PyImport_ExecCodeModuleWithPathnames"];_PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=wasmExports["PyImport_ExecCodeModuleEx"];_PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=wasmExports["PyImport_ImportFrozenModuleObject"];_PyImport_GetImporter=Module["_PyImport_GetImporter"]=wasmExports["PyImport_GetImporter"];_PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=wasmExports["PyImport_ImportModuleNoBlock"];__PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=wasmExports["_PyTime_AsMicroseconds"];_PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=wasmExports["PyImport_ReloadModule"];_PyImport_ImportModuleAttr=Module["_PyImport_ImportModuleAttr"]=wasmExports["PyImport_ImportModuleAttr"];_PyInit__imp=Module["_PyInit__imp"]=wasmExports["PyInit__imp"];__PyRecursiveMutex_IsLockedByCurrentThread=Module["__PyRecursiveMutex_IsLockedByCurrentThread"]=wasmExports["_PyRecursiveMutex_IsLockedByCurrentThread"];_PyModule_Add=Module["_PyModule_Add"]=wasmExports["PyModule_Add"];_PyStatus_Exit=Module["_PyStatus_Exit"]=wasmExports["PyStatus_Exit"];_PyStatus_IsError=Module["_PyStatus_IsError"]=wasmExports["PyStatus_IsError"];_PyStatus_IsExit=Module["_PyStatus_IsExit"]=wasmExports["PyStatus_IsExit"];_PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=wasmExports["PyWideStringList_Insert"];_PyWideStringList_Append=Module["_PyWideStringList_Append"]=wasmExports["PyWideStringList_Append"];_Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=wasmExports["Py_GetArgcArgv"];__PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=wasmExports["_PyConfig_InitCompatConfig"];_PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=wasmExports["PyConfig_InitIsolatedConfig"];_PyConfig_SetString=Module["_PyConfig_SetString"]=wasmExports["PyConfig_SetString"];_Py_DecodeLocale=Module["_Py_DecodeLocale"]=wasmExports["Py_DecodeLocale"];__PyConfig_AsDict=Module["__PyConfig_AsDict"]=wasmExports["_PyConfig_AsDict"];__PyConfig_FromDict=Module["__PyConfig_FromDict"]=wasmExports["_PyConfig_FromDict"];_wcschr=Module["_wcschr"]=wasmExports["wcschr"];_setvbuf=Module["_setvbuf"]=wasmExports["setvbuf"];_PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=wasmExports["PyConfig_SetArgv"];_PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=wasmExports["PyConfig_SetWideStringList"];_putchar=Module["_putchar"]=wasmExports["putchar"];_iprintf=Module["_iprintf"]=wasmExports["iprintf"];_wcstok=Module["_wcstok"]=wasmExports["wcstok"];_strtoul=Module["_strtoul"]=wasmExports["strtoul"];_wcstol=Module["_wcstol"]=wasmExports["wcstol"];_setlocale=Module["_setlocale"]=wasmExports["setlocale"];_PyConfig_Read=Module["_PyConfig_Read"]=wasmExports["PyConfig_Read"];__Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=wasmExports["_Py_GetConfigsAsDict"];_PyInitConfig_Create=Module["_PyInitConfig_Create"]=wasmExports["PyInitConfig_Create"];_PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=wasmExports["PyPreConfig_InitIsolatedConfig"];_PyInitConfig_Free=Module["_PyInitConfig_Free"]=wasmExports["PyInitConfig_Free"];_PyInitConfig_GetError=Module["_PyInitConfig_GetError"]=wasmExports["PyInitConfig_GetError"];_strdup=Module["_strdup"]=wasmExports["strdup"];_PyInitConfig_GetExitCode=Module["_PyInitConfig_GetExitCode"]=wasmExports["PyInitConfig_GetExitCode"];_PyInitConfig_HasOption=Module["_PyInitConfig_HasOption"]=wasmExports["PyInitConfig_HasOption"];_PyInitConfig_GetInt=Module["_PyInitConfig_GetInt"]=wasmExports["PyInitConfig_GetInt"];_PyInitConfig_GetStr=Module["_PyInitConfig_GetStr"]=wasmExports["PyInitConfig_GetStr"];_PyInitConfig_GetStrList=Module["_PyInitConfig_GetStrList"]=wasmExports["PyInitConfig_GetStrList"];_PyInitConfig_FreeStrList=Module["_PyInitConfig_FreeStrList"]=wasmExports["PyInitConfig_FreeStrList"];_PyInitConfig_SetInt=Module["_PyInitConfig_SetInt"]=wasmExports["PyInitConfig_SetInt"];_PyInitConfig_SetStr=Module["_PyInitConfig_SetStr"]=wasmExports["PyInitConfig_SetStr"];_PyInitConfig_SetStrList=Module["_PyInitConfig_SetStrList"]=wasmExports["PyInitConfig_SetStrList"];_PyInitConfig_AddModule=Module["_PyInitConfig_AddModule"]=wasmExports["PyInitConfig_AddModule"];_Py_InitializeFromInitConfig=Module["_Py_InitializeFromInitConfig"]=wasmExports["Py_InitializeFromInitConfig"];_Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=wasmExports["Py_PreInitializeFromArgs"];_PyConfig_Get=Module["_PyConfig_Get"]=wasmExports["PyConfig_Get"];_PyConfig_GetInt=Module["_PyConfig_GetInt"]=wasmExports["PyConfig_GetInt"];_PyConfig_Names=Module["_PyConfig_Names"]=wasmExports["PyConfig_Names"];_PyConfig_Set=Module["_PyConfig_Set"]=wasmExports["PyConfig_Set"];_PySys_SetObject=Module["_PySys_SetObject"]=wasmExports["PySys_SetObject"];__PyInterpreterConfig_AsDict=Module["__PyInterpreterConfig_AsDict"]=wasmExports["_PyInterpreterConfig_AsDict"];__PyInterpreterConfig_InitFromDict=Module["__PyInterpreterConfig_InitFromDict"]=wasmExports["_PyInterpreterConfig_InitFromDict"];__PyInterpreterConfig_UpdateFromDict=Module["__PyInterpreterConfig_UpdateFromDict"]=wasmExports["_PyInterpreterConfig_UpdateFromDict"];__PyInterpreterConfig_InitFromState=Module["__PyInterpreterConfig_InitFromState"]=wasmExports["_PyInterpreterConfig_InitFromState"];_PyMonitoring_EnterScope=Module["_PyMonitoring_EnterScope"]=wasmExports["PyMonitoring_EnterScope"];_PyMonitoring_ExitScope=Module["_PyMonitoring_ExitScope"]=wasmExports["PyMonitoring_ExitScope"];__PyMonitoring_FirePyStartEvent=Module["__PyMonitoring_FirePyStartEvent"]=wasmExports["_PyMonitoring_FirePyStartEvent"];__PyMonitoring_FirePyResumeEvent=Module["__PyMonitoring_FirePyResumeEvent"]=wasmExports["_PyMonitoring_FirePyResumeEvent"];__PyMonitoring_FirePyReturnEvent=Module["__PyMonitoring_FirePyReturnEvent"]=wasmExports["_PyMonitoring_FirePyReturnEvent"];__PyMonitoring_FirePyYieldEvent=Module["__PyMonitoring_FirePyYieldEvent"]=wasmExports["_PyMonitoring_FirePyYieldEvent"];__PyMonitoring_FireCallEvent=Module["__PyMonitoring_FireCallEvent"]=wasmExports["_PyMonitoring_FireCallEvent"];__PyMonitoring_FireLineEvent=Module["__PyMonitoring_FireLineEvent"]=wasmExports["_PyMonitoring_FireLineEvent"];__PyMonitoring_FireJumpEvent=Module["__PyMonitoring_FireJumpEvent"]=wasmExports["_PyMonitoring_FireJumpEvent"];__PyMonitoring_FireBranchEvent=Module["__PyMonitoring_FireBranchEvent"]=wasmExports["_PyMonitoring_FireBranchEvent"];__PyMonitoring_FireBranchRightEvent=Module["__PyMonitoring_FireBranchRightEvent"]=wasmExports["_PyMonitoring_FireBranchRightEvent"];__PyMonitoring_FireBranchLeftEvent=Module["__PyMonitoring_FireBranchLeftEvent"]=wasmExports["_PyMonitoring_FireBranchLeftEvent"];__PyMonitoring_FireCReturnEvent=Module["__PyMonitoring_FireCReturnEvent"]=wasmExports["_PyMonitoring_FireCReturnEvent"];__PyMonitoring_FirePyThrowEvent=Module["__PyMonitoring_FirePyThrowEvent"]=wasmExports["_PyMonitoring_FirePyThrowEvent"];__PyMonitoring_FireRaiseEvent=Module["__PyMonitoring_FireRaiseEvent"]=wasmExports["_PyMonitoring_FireRaiseEvent"];__PyMonitoring_FireCRaiseEvent=Module["__PyMonitoring_FireCRaiseEvent"]=wasmExports["_PyMonitoring_FireCRaiseEvent"];__PyMonitoring_FireReraiseEvent=Module["__PyMonitoring_FireReraiseEvent"]=wasmExports["_PyMonitoring_FireReraiseEvent"];__PyMonitoring_FireExceptionHandledEvent=Module["__PyMonitoring_FireExceptionHandledEvent"]=wasmExports["_PyMonitoring_FireExceptionHandledEvent"];__PyMonitoring_FirePyUnwindEvent=Module["__PyMonitoring_FirePyUnwindEvent"]=wasmExports["_PyMonitoring_FirePyUnwindEvent"];__PyMonitoring_FireStopIterationEvent=Module["__PyMonitoring_FireStopIterationEvent"]=wasmExports["_PyMonitoring_FireStopIterationEvent"];__PyCompile_GetUnaryIntrinsicName=Module["__PyCompile_GetUnaryIntrinsicName"]=wasmExports["_PyCompile_GetUnaryIntrinsicName"];__PyCompile_GetBinaryIntrinsicName=Module["__PyCompile_GetBinaryIntrinsicName"]=wasmExports["_PyCompile_GetBinaryIntrinsicName"];_PyTime_MonotonicRaw=Module["_PyTime_MonotonicRaw"]=wasmExports["PyTime_MonotonicRaw"];__PyParkingLot_Park=Module["__PyParkingLot_Park"]=wasmExports["_PyParkingLot_Park"];__PyDeadline_Get=Module["__PyDeadline_Get"]=wasmExports["_PyDeadline_Get"];__PyParkingLot_Unpark=Module["__PyParkingLot_Unpark"]=wasmExports["_PyParkingLot_Unpark"];__PySemaphore_Init=Module["__PySemaphore_Init"]=wasmExports["_PySemaphore_Init"];__PySemaphore_Wait=Module["__PySemaphore_Wait"]=wasmExports["_PySemaphore_Wait"];__PySemaphore_Destroy=Module["__PySemaphore_Destroy"]=wasmExports["_PySemaphore_Destroy"];__PySemaphore_Wakeup=Module["__PySemaphore_Wakeup"]=wasmExports["_PySemaphore_Wakeup"];__PyEvent_IsSet=Module["__PyEvent_IsSet"]=wasmExports["_PyEvent_IsSet"];__PyEvent_Notify=Module["__PyEvent_Notify"]=wasmExports["_PyEvent_Notify"];__PyParkingLot_UnparkAll=Module["__PyParkingLot_UnparkAll"]=wasmExports["_PyParkingLot_UnparkAll"];_PyEvent_Wait=Module["_PyEvent_Wait"]=wasmExports["PyEvent_Wait"];_PyEvent_WaitTimed=Module["_PyEvent_WaitTimed"]=wasmExports["PyEvent_WaitTimed"];__PyRWMutex_RLock=Module["__PyRWMutex_RLock"]=wasmExports["_PyRWMutex_RLock"];__PyRWMutex_RUnlock=Module["__PyRWMutex_RUnlock"]=wasmExports["_PyRWMutex_RUnlock"];__PyRWMutex_Lock=Module["__PyRWMutex_Lock"]=wasmExports["_PyRWMutex_Lock"];__PyRWMutex_Unlock=Module["__PyRWMutex_Unlock"]=wasmExports["_PyRWMutex_Unlock"];__PySeqLock_LockWrite=Module["__PySeqLock_LockWrite"]=wasmExports["_PySeqLock_LockWrite"];_sched_yield=Module["_sched_yield"]=wasmExports["sched_yield"];__PySeqLock_AbandonWrite=Module["__PySeqLock_AbandonWrite"]=wasmExports["_PySeqLock_AbandonWrite"];__PySeqLock_UnlockWrite=Module["__PySeqLock_UnlockWrite"]=wasmExports["_PySeqLock_UnlockWrite"];__PySeqLock_BeginRead=Module["__PySeqLock_BeginRead"]=wasmExports["_PySeqLock_BeginRead"];__PySeqLock_EndRead=Module["__PySeqLock_EndRead"]=wasmExports["_PySeqLock_EndRead"];__PySeqLock_AfterFork=Module["__PySeqLock_AfterFork"]=wasmExports["_PySeqLock_AfterFork"];_PyMutex_IsLocked=Module["_PyMutex_IsLocked"]=wasmExports["PyMutex_IsLocked"];_PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=wasmExports["PyMarshal_WriteLongToFile"];_PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=wasmExports["PyMarshal_WriteObjectToFile"];_PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=wasmExports["PyMarshal_ReadShortFromFile"];_PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=wasmExports["PyMarshal_ReadLongFromFile"];_PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=wasmExports["PyMarshal_ReadLastObjectFromFile"];__Py_fstat_noraise=Module["__Py_fstat_noraise"]=wasmExports["_Py_fstat_noraise"];_fread=Module["_fread"]=wasmExports["fread"];_PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=wasmExports["PyMarshal_ReadObjectFromFile"];_PyMarshal_Init=Module["_PyMarshal_Init"]=wasmExports["PyMarshal_Init"];__Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=wasmExports["_Py_convert_optional_to_ssize_t"];__Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=wasmExports["_Py_BuildValue_SizeT"];_Py_VaBuildValue=Module["_Py_VaBuildValue"]=wasmExports["Py_VaBuildValue"];__Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=wasmExports["_Py_VaBuildValue_SizeT"];_PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=wasmExports["PyModule_AddStringConstant"];_Py_PACK_FULL_VERSION=Module["_Py_PACK_FULL_VERSION"]=wasmExports["Py_PACK_FULL_VERSION"];_Py_PACK_VERSION=Module["_Py_PACK_VERSION"]=wasmExports["Py_PACK_VERSION"];_PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=wasmExports["PyOS_vsnprintf"];_pthread_cond_init=Module["_pthread_cond_init"]=wasmExports["pthread_cond_init"];_PyTime_TimeRaw=Module["_PyTime_TimeRaw"]=wasmExports["PyTime_TimeRaw"];__PyTime_AsTimespec_clamp=Module["__PyTime_AsTimespec_clamp"]=wasmExports["_PyTime_AsTimespec_clamp"];__PyParkingLot_AfterFork=Module["__PyParkingLot_AfterFork"]=wasmExports["_PyParkingLot_AfterFork"];__PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=wasmExports["_PyPathConfig_ClearGlobal"];_wcscpy=Module["_wcscpy"]=wasmExports["wcscpy"];_Py_SetPath=Module["_Py_SetPath"]=wasmExports["Py_SetPath"];_Py_SetPythonHome=Module["_Py_SetPythonHome"]=wasmExports["Py_SetPythonHome"];_Py_SetProgramName=Module["_Py_SetProgramName"]=wasmExports["Py_SetProgramName"];_Py_GetPath=Module["_Py_GetPath"]=wasmExports["Py_GetPath"];_Py_GetPrefix=Module["_Py_GetPrefix"]=wasmExports["Py_GetPrefix"];_Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=wasmExports["Py_GetExecPrefix"];_Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=wasmExports["Py_GetProgramFullPath"];_Py_GetPythonHome=Module["_Py_GetPythonHome"]=wasmExports["Py_GetPythonHome"];_Py_GetProgramName=Module["_Py_GetProgramName"]=wasmExports["Py_GetProgramName"];_wcsncpy=Module["_wcsncpy"]=wasmExports["wcsncpy"];_wcsncmp=Module["_wcsncmp"]=wasmExports["wcsncmp"];__PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=wasmExports["_PyPreConfig_InitCompatConfig"];__Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=wasmExports["_Py_SetLocaleFromEnv"];_PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=wasmExports["PyHash_GetFuncDef"];_Py_IsFinalizing=Module["_Py_IsFinalizing"]=wasmExports["Py_IsFinalizing"];_nl_langinfo=Module["_nl_langinfo"]=wasmExports["nl_langinfo"];_setenv=Module["_setenv"]=wasmExports["setenv"];_Py_PreInitialize=Module["_Py_PreInitialize"]=wasmExports["Py_PreInitialize"];_Py_InitializeEx=Module["_Py_InitializeEx"]=wasmExports["Py_InitializeEx"];_Py_FatalError=Module["_Py_FatalError"]=wasmExports["Py_FatalError"];_Py_Initialize=Module["_Py_Initialize"]=wasmExports["Py_Initialize"];__PyThreadState_New=Module["__PyThreadState_New"]=wasmExports["_PyThreadState_New"];_Py_Finalize=Module["_Py_Finalize"]=wasmExports["Py_Finalize"];__PyInterpreterState_New=Module["__PyInterpreterState_New"]=wasmExports["_PyInterpreterState_New"];_Py_NewInterpreter=Module["_Py_NewInterpreter"]=wasmExports["Py_NewInterpreter"];__Py_write_noraise=Module["__Py_write_noraise"]=wasmExports["_Py_write_noraise"];_vfprintf=Module["_vfprintf"]=wasmExports["vfprintf"];__Py_FatalRefcountErrorFunc=Module["__Py_FatalRefcountErrorFunc"]=wasmExports["_Py_FatalRefcountErrorFunc"];_Py_AtExit=Module["_Py_AtExit"]=wasmExports["Py_AtExit"];_Py_Exit=Module["_Py_Exit"]=wasmExports["Py_Exit"];_Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=wasmExports["Py_FdIsInteractive"];_PyOS_getsig=Module["_PyOS_getsig"]=wasmExports["PyOS_getsig"];_signal=Module["_signal"]=wasmExports["signal"];_PyOS_setsig=Module["_PyOS_setsig"]=wasmExports["PyOS_setsig"];_siginterrupt=Module["_siginterrupt"]=wasmExports["siginterrupt"];__Py_IsValidFD=Module["__Py_IsValidFD"]=wasmExports["_Py_IsValidFD"];_PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=wasmExports["PyOS_mystrnicmp"];__PyThreadState_GetCurrent=Module["__PyThreadState_GetCurrent"]=wasmExports["_PyThreadState_GetCurrent"];_PyThread_tss_create=Module["_PyThread_tss_create"]=wasmExports["PyThread_tss_create"];_PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=wasmExports["PyThread_tss_is_created"];_PyThread_tss_delete=Module["_PyThread_tss_delete"]=wasmExports["PyThread_tss_delete"];_PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=wasmExports["PyThread_get_thread_ident"];_PyThread_tss_get=Module["_PyThread_tss_get"]=wasmExports["PyThread_tss_get"];_PyThread_tss_set=Module["_PyThread_tss_set"]=wasmExports["PyThread_tss_set"];_PyInterpreterState_New=Module["_PyInterpreterState_New"]=wasmExports["PyInterpreterState_New"];_PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=wasmExports["PyInterpreterState_Clear"];__PyInterpreterState_GetWhence=Module["__PyInterpreterState_GetWhence"]=wasmExports["_PyInterpreterState_GetWhence"];__PyInterpreterState_ObjectToID=Module["__PyInterpreterState_ObjectToID"]=wasmExports["_PyInterpreterState_ObjectToID"];__PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=wasmExports["_PyInterpreterState_GetIDObject"];__PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=wasmExports["_PyInterpreterState_IDIncref"];__PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=wasmExports["_PyInterpreterState_IDDecref"];__PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=wasmExports["_PyInterpreterState_RequiresIDRef"];__PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=wasmExports["_PyInterpreterState_RequireIDRef"];__PyInterpreterState_LookUpIDObject=Module["__PyInterpreterState_LookUpIDObject"]=wasmExports["_PyInterpreterState_LookUpIDObject"];__PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=wasmExports["_PyThreadState_Prealloc"];__PyThreadState_Init=Module["__PyThreadState_Init"]=wasmExports["_PyThreadState_Init"];_PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=wasmExports["PyThreadState_DeleteCurrent"];__PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=wasmExports["_PyThreadState_GetDict"];_PyThreadState_GetID=Module["_PyThreadState_GetID"]=wasmExports["PyThreadState_GetID"];_PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=wasmExports["PyThreadState_SetAsyncExc"];_PyThreadState_GetUnchecked=Module["_PyThreadState_GetUnchecked"]=wasmExports["PyThreadState_GetUnchecked"];_PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=wasmExports["PyInterpreterState_Head"];_PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=wasmExports["PyInterpreterState_Main"];_PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=wasmExports["PyInterpreterState_Next"];__PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=wasmExports["_PyThread_CurrentFrames"];__PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=wasmExports["_PyInterpreterState_GetEvalFrameFunc"];__PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=wasmExports["_PyInterpreterState_SetEvalFrameFunc"];_rewind=Module["_rewind"]=wasmExports["rewind"];_PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=wasmExports["PyRun_InteractiveLoopFlags"];_PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=wasmExports["PyRun_InteractiveOneObject"];_PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=wasmExports["PyRun_InteractiveOneFlags"];_PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=wasmExports["PyRun_SimpleFileExFlags"];_PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=wasmExports["PyRun_SimpleStringFlags"];_PyErr_Display=Module["_PyErr_Display"]=wasmExports["PyErr_Display"];_PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=wasmExports["PyRun_FileExFlags"];_PyRun_AnyFile=Module["_PyRun_AnyFile"]=wasmExports["PyRun_AnyFile"];_PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=wasmExports["PyRun_AnyFileEx"];_PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=wasmExports["PyRun_AnyFileFlags"];_PyRun_File=Module["_PyRun_File"]=wasmExports["PyRun_File"];_PyRun_FileEx=Module["_PyRun_FileEx"]=wasmExports["PyRun_FileEx"];_PyRun_FileFlags=Module["_PyRun_FileFlags"]=wasmExports["PyRun_FileFlags"];_PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=wasmExports["PyRun_SimpleFile"];_PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=wasmExports["PyRun_SimpleFileEx"];_PyRun_String=Module["_PyRun_String"]=wasmExports["PyRun_String"];_PyRun_SimpleString=Module["_PyRun_SimpleString"]=wasmExports["PyRun_SimpleString"];_Py_CompileString=Module["_Py_CompileString"]=wasmExports["Py_CompileString"];_Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=wasmExports["Py_CompileStringFlags"];_PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=wasmExports["PyRun_InteractiveOne"];_PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=wasmExports["PyRun_InteractiveLoop"];__PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=wasmExports["_PyLong_AsTime_t"];__PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=wasmExports["_PyLong_FromTime_t"];__PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=wasmExports["_PyTime_ObjectToTime_t"];__PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=wasmExports["_PyTime_ObjectToTimespec"];__PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=wasmExports["_PyTime_ObjectToTimeval"];__PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=wasmExports["_PyTime_FromSeconds"];__PyTime_FromLong=Module["__PyTime_FromLong"]=wasmExports["_PyTime_FromLong"];__PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=wasmExports["_PyTime_FromSecondsObject"];__PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=wasmExports["_PyTime_FromMillisecondsObject"];__PyTime_AsLong=Module["__PyTime_AsLong"]=wasmExports["_PyTime_AsLong"];__PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=wasmExports["_PyTime_AsMilliseconds"];__PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=wasmExports["_PyTime_AsTimeval"];__PyTime_AsTimeval_clamp=Module["__PyTime_AsTimeval_clamp"]=wasmExports["_PyTime_AsTimeval_clamp"];__PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=wasmExports["_PyTime_AsTimevalTime_t"];__PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=wasmExports["_PyTime_AsTimespec"];_PyTime_Time=Module["_PyTime_Time"]=wasmExports["PyTime_Time"];_clock_getres=Module["_clock_getres"]=wasmExports["clock_getres"];_PyTime_Monotonic=Module["_PyTime_Monotonic"]=wasmExports["PyTime_Monotonic"];__PyTime_MonotonicWithInfo=Module["__PyTime_MonotonicWithInfo"]=wasmExports["_PyTime_MonotonicWithInfo"];_PyTime_PerfCounter=Module["_PyTime_PerfCounter"]=wasmExports["PyTime_PerfCounter"];__PyTime_localtime=Module["__PyTime_localtime"]=wasmExports["_PyTime_localtime"];_localtime_r=Module["_localtime_r"]=wasmExports["localtime_r"];__PyTime_gmtime=Module["__PyTime_gmtime"]=wasmExports["_PyTime_gmtime"];_gmtime_r=Module["_gmtime_r"]=wasmExports["gmtime_r"];__PyDeadline_Init=Module["__PyDeadline_Init"]=wasmExports["_PyDeadline_Init"];_getentropy=Module["_getentropy"]=wasmExports["getentropy"];__Py_open=Module["__Py_open"]=wasmExports["_Py_open"];_close=Module["_close"]=wasmExports["close"];__Py_fstat=Module["__Py_fstat"]=wasmExports["_Py_fstat"];__Py_open_noraise=Module["__Py_open_noraise"]=wasmExports["_Py_open_noraise"];__PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=wasmExports["_PyOS_URandomNonblock"];_PySys_AuditTuple=Module["_PySys_AuditTuple"]=wasmExports["PySys_AuditTuple"];_PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=wasmExports["PySys_AddAuditHook"];__PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=wasmExports["_PySys_GetSizeOf"];_PyUnstable_PerfMapState_Init=Module["_PyUnstable_PerfMapState_Init"]=wasmExports["PyUnstable_PerfMapState_Init"];_getpid=Module["_getpid"]=wasmExports["getpid"];_open=Module["_open"]=wasmExports["open"];_fdopen=Module["_fdopen"]=wasmExports["fdopen"];_PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=wasmExports["PyThread_allocate_lock"];_PyUnstable_WritePerfMapEntry=Module["_PyUnstable_WritePerfMapEntry"]=wasmExports["PyUnstable_WritePerfMapEntry"];_PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=wasmExports["PyThread_acquire_lock"];_PyThread_release_lock=Module["_PyThread_release_lock"]=wasmExports["PyThread_release_lock"];_PyUnstable_PerfMapState_Fini=Module["_PyUnstable_PerfMapState_Fini"]=wasmExports["PyUnstable_PerfMapState_Fini"];_PyThread_free_lock=Module["_PyThread_free_lock"]=wasmExports["PyThread_free_lock"];_PyUnstable_CopyPerfMapFile=Module["_PyUnstable_CopyPerfMapFile"]=wasmExports["PyUnstable_CopyPerfMapFile"];_fopen=Module["_fopen"]=wasmExports["fopen"];_PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=wasmExports["PySys_ResetWarnOptions"];_PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=wasmExports["PySys_AddWarnOptionUnicode"];_PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=wasmExports["PySys_AddWarnOption"];_PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=wasmExports["PySys_HasWarnOptions"];_PySys_AddXOption=Module["_PySys_AddXOption"]=wasmExports["PySys_AddXOption"];_PySys_GetXOptions=Module["_PySys_GetXOptions"]=wasmExports["PySys_GetXOptions"];_PyThread_GetInfo=Module["_PyThread_GetInfo"]=wasmExports["PyThread_GetInfo"];_PySys_SetPath=Module["_PySys_SetPath"]=wasmExports["PySys_SetPath"];_PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=wasmExports["PySys_SetArgvEx"];_PySys_SetArgv=Module["_PySys_SetArgv"]=wasmExports["PySys_SetArgv"];_PySys_WriteStdout=Module["_PySys_WriteStdout"]=wasmExports["PySys_WriteStdout"];_PySys_FormatStdout=Module["_PySys_FormatStdout"]=wasmExports["PySys_FormatStdout"];_access=Module["_access"]=wasmExports["access"];_pthread_condattr_init=Module["_pthread_condattr_init"]=wasmExports["pthread_condattr_init"];_pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=wasmExports["pthread_condattr_setclock"];_PyThread_start_joinable_thread=Module["_PyThread_start_joinable_thread"]=wasmExports["PyThread_start_joinable_thread"];_pthread_attr_init=Module["_pthread_attr_init"]=wasmExports["pthread_attr_init"];_pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=wasmExports["pthread_attr_setstacksize"];_pthread_attr_destroy=Module["_pthread_attr_destroy"]=wasmExports["pthread_attr_destroy"];_pthread_create=Module["_pthread_create"]=wasmExports["pthread_create"];_PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=wasmExports["PyThread_start_new_thread"];_pthread_detach=Module["_pthread_detach"]=wasmExports["pthread_detach"];_PyThread_join_thread=Module["_PyThread_join_thread"]=wasmExports["PyThread_join_thread"];_pthread_join=Module["_pthread_join"]=wasmExports["pthread_join"];_PyThread_detach_thread=Module["_PyThread_detach_thread"]=wasmExports["PyThread_detach_thread"];_pthread_self=Module["_pthread_self"]=wasmExports["pthread_self"];_PyThread_exit_thread=Module["_PyThread_exit_thread"]=wasmExports["PyThread_exit_thread"];_PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=wasmExports["PyThread_acquire_lock_timed"];_pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=wasmExports["pthread_mutex_trylock"];_PyThread_create_key=Module["_PyThread_create_key"]=wasmExports["PyThread_create_key"];_pthread_key_create=Module["_pthread_key_create"]=wasmExports["pthread_key_create"];_pthread_key_delete=Module["_pthread_key_delete"]=wasmExports["pthread_key_delete"];_PyThread_delete_key=Module["_PyThread_delete_key"]=wasmExports["PyThread_delete_key"];_PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=wasmExports["PyThread_delete_key_value"];_pthread_setspecific=Module["_pthread_setspecific"]=wasmExports["pthread_setspecific"];_PyThread_set_key_value=Module["_PyThread_set_key_value"]=wasmExports["PyThread_set_key_value"];_PyThread_get_key_value=Module["_PyThread_get_key_value"]=wasmExports["PyThread_get_key_value"];_pthread_getspecific=Module["_pthread_getspecific"]=wasmExports["pthread_getspecific"];_PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=wasmExports["PyThread_ReInitTLS"];_PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=wasmExports["PyThread_get_stacksize"];_PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=wasmExports["PyThread_set_stacksize"];_PyThread_ParseTimeoutArg=Module["_PyThread_ParseTimeoutArg"]=wasmExports["PyThread_ParseTimeoutArg"];_PyThread_acquire_lock_timed_with_retries=Module["_PyThread_acquire_lock_timed_with_retries"]=wasmExports["PyThread_acquire_lock_timed_with_retries"];_PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=wasmExports["PyThread_tss_alloc"];_PyThread_tss_free=Module["_PyThread_tss_free"]=wasmExports["PyThread_tss_free"];_confstr=Module["_confstr"]=wasmExports["confstr"];__PyTraceback_Add=Module["__PyTraceback_Add"]=wasmExports["_PyTraceback_Add"];__Py_DumpStack=Module["__Py_DumpStack"]=wasmExports["_Py_DumpStack"];__Py_InitDumpStack=Module["__Py_InitDumpStack"]=wasmExports["_Py_InitDumpStack"];_PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=wasmExports["PyTraceMalloc_Track"];_PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=wasmExports["PyTraceMalloc_Untrack"];__PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=wasmExports["_PyTraceMalloc_GetTraceback"];_PyOS_mystricmp=Module["_PyOS_mystricmp"]=wasmExports["PyOS_mystricmp"];__Py_strhex=Module["__Py_strhex"]=wasmExports["_Py_strhex"];__Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=wasmExports["_Py_strhex_bytes_with_sep"];_localeconv=Module["_localeconv"]=wasmExports["localeconv"];_mbstowcs=Module["_mbstowcs"]=wasmExports["mbstowcs"];_mbrtowc=Module["_mbrtowc"]=wasmExports["mbrtowc"];_Py_EncodeLocale=Module["_Py_EncodeLocale"]=wasmExports["Py_EncodeLocale"];_fstat=Module["_fstat"]=wasmExports["fstat"];_stat=Module["_stat"]=wasmExports["stat"];__Py_stat=Module["__Py_stat"]=wasmExports["_Py_stat"];_fcntl=Module["_fcntl"]=wasmExports["fcntl"];__Py_set_inheritable=Module["__Py_set_inheritable"]=wasmExports["_Py_set_inheritable"];_ioctl=Module["_ioctl"]=wasmExports["ioctl"];__Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=wasmExports["_Py_set_inheritable_async_safe"];_wcstombs=Module["_wcstombs"]=wasmExports["wcstombs"];_Py_fclose=Module["_Py_fclose"]=wasmExports["Py_fclose"];_write=Module["_write"]=wasmExports["write"];_readlink=Module["_readlink"]=wasmExports["readlink"];_realpath=Module["_realpath"]=wasmExports["realpath"];_getcwd=Module["_getcwd"]=wasmExports["getcwd"];__Py_normpath=Module["__Py_normpath"]=wasmExports["_Py_normpath"];__Py_dup=Module["__Py_dup"]=wasmExports["_Py_dup"];__Py_closerange=Module["__Py_closerange"]=wasmExports["_Py_closerange"];_sysconf=Module["_sysconf"]=wasmExports["sysconf"];__Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=wasmExports["_Py_UTF8_Edit_Cost"];_PyUnstable_PerfTrampoline_CompileCode=Module["_PyUnstable_PerfTrampoline_CompileCode"]=wasmExports["PyUnstable_PerfTrampoline_CompileCode"];_PyUnstable_PerfTrampoline_SetPersistAfterFork=Module["_PyUnstable_PerfTrampoline_SetPersistAfterFork"]=wasmExports["PyUnstable_PerfTrampoline_SetPersistAfterFork"];_dlopen=Module["_dlopen"]=wasmExports["dlopen"];_dlerror=Module["_dlerror"]=wasmExports["dlerror"];_dlsym=Module["_dlsym"]=wasmExports["dlsym"];_PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=wasmExports["PyErr_SetInterruptEx"];_PyInit__ctypes=Module["_PyInit__ctypes"]=wasmExports["PyInit__ctypes"];_PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=wasmExports["PyInit__posixsubprocess"];_PyInit__bz2=Module["_PyInit__bz2"]=wasmExports["PyInit__bz2"];_PyInit_zlib=Module["_PyInit_zlib"]=wasmExports["PyInit_zlib"];_PyInit__hmac=Module["_PyInit__hmac"]=wasmExports["PyInit__hmac"];_PyInit__sqlite3=Module["_PyInit__sqlite3"]=wasmExports["PyInit__sqlite3"];_PyInit__lzma=Module["_PyInit__lzma"]=wasmExports["PyInit__lzma"];_PyInit__zstd=Module["_PyInit__zstd"]=wasmExports["PyInit__zstd"];_PyInit_array=Module["_PyInit_array"]=wasmExports["PyInit_array"];_PyInit__asyncio=Module["_PyInit__asyncio"]=wasmExports["PyInit__asyncio"];_PyInit__bisect=Module["_PyInit__bisect"]=wasmExports["PyInit__bisect"];_PyInit__csv=Module["_PyInit__csv"]=wasmExports["PyInit__csv"];_PyInit__heapq=Module["_PyInit__heapq"]=wasmExports["PyInit__heapq"];_PyInit__json=Module["_PyInit__json"]=wasmExports["PyInit__json"];_PyInit__lsprof=Module["_PyInit__lsprof"]=wasmExports["PyInit__lsprof"];_PyInit__pickle=Module["_PyInit__pickle"]=wasmExports["PyInit__pickle"];_PyInit__queue=Module["_PyInit__queue"]=wasmExports["PyInit__queue"];_PyInit__random=Module["_PyInit__random"]=wasmExports["PyInit__random"];_PyInit__remote_debugging=Module["_PyInit__remote_debugging"]=wasmExports["PyInit__remote_debugging"];_PyInit__struct=Module["_PyInit__struct"]=wasmExports["PyInit__struct"];_PyInit__zoneinfo=Module["_PyInit__zoneinfo"]=wasmExports["PyInit__zoneinfo"];_PyInit_math=Module["_PyInit_math"]=wasmExports["PyInit_math"];_PyInit_cmath=Module["_PyInit_cmath"]=wasmExports["PyInit_cmath"];_PyInit__statistics=Module["_PyInit__statistics"]=wasmExports["PyInit__statistics"];_PyInit__decimal=Module["_PyInit__decimal"]=wasmExports["PyInit__decimal"];_PyInit_binascii=Module["_PyInit_binascii"]=wasmExports["PyInit_binascii"];_PyInit__md5=Module["_PyInit__md5"]=wasmExports["PyInit__md5"];_PyInit__sha1=Module["_PyInit__sha1"]=wasmExports["PyInit__sha1"];_PyInit__sha2=Module["_PyInit__sha2"]=wasmExports["PyInit__sha2"];_PyInit__sha3=Module["_PyInit__sha3"]=wasmExports["PyInit__sha3"];_PyInit__blake2=Module["_PyInit__blake2"]=wasmExports["PyInit__blake2"];_PyInit_pyexpat=Module["_PyInit_pyexpat"]=wasmExports["PyInit_pyexpat"];_PyInit__elementtree=Module["_PyInit__elementtree"]=wasmExports["PyInit__elementtree"];_PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=wasmExports["PyInit__codecs_cn"];_PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=wasmExports["PyInit__codecs_hk"];_PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=wasmExports["PyInit__codecs_iso2022"];_PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=wasmExports["PyInit__codecs_jp"];_PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=wasmExports["PyInit__codecs_kr"];_PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=wasmExports["PyInit__codecs_tw"];_PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=wasmExports["PyInit__multibytecodec"];_PyInit_unicodedata=Module["_PyInit_unicodedata"]=wasmExports["PyInit_unicodedata"];_PyInit_fcntl=Module["_PyInit_fcntl"]=wasmExports["PyInit_fcntl"];_PyInit_mmap=Module["_PyInit_mmap"]=wasmExports["PyInit_mmap"];_PyInit_select=Module["_PyInit_select"]=wasmExports["PyInit_select"];_PyInit__socket=Module["_PyInit__socket"]=wasmExports["PyInit__socket"];_PyInit_termios=Module["_PyInit_termios"]=wasmExports["PyInit_termios"];_PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=wasmExports["PyInit_xxsubtype"];_PyInit__xxtestfuzz=Module["_PyInit__xxtestfuzz"]=wasmExports["PyInit__xxtestfuzz"];_PyInit__testbuffer=Module["_PyInit__testbuffer"]=wasmExports["PyInit__testbuffer"];_PyInit__testinternalcapi=Module["_PyInit__testinternalcapi"]=wasmExports["PyInit__testinternalcapi"];_PyInit__testcapi=Module["_PyInit__testcapi"]=wasmExports["PyInit__testcapi"];_PyInit__testlimitedcapi=Module["_PyInit__testlimitedcapi"]=wasmExports["PyInit__testlimitedcapi"];_PyInit__testclinic=Module["_PyInit__testclinic"]=wasmExports["PyInit__testclinic"];_PyInit__testclinic_limited=Module["_PyInit__testclinic_limited"]=wasmExports["PyInit__testclinic_limited"];_PyInit_atexit=Module["_PyInit_atexit"]=wasmExports["PyInit_atexit"];_PyInit_faulthandler=Module["_PyInit_faulthandler"]=wasmExports["PyInit_faulthandler"];_PyInit_posix=Module["_PyInit_posix"]=wasmExports["PyInit_posix"];_PyInit__signal=Module["_PyInit__signal"]=wasmExports["PyInit__signal"];_PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=wasmExports["PyInit__tracemalloc"];_PyInit__suggestions=Module["_PyInit__suggestions"]=wasmExports["PyInit__suggestions"];_PyInit__datetime=Module["_PyInit__datetime"]=wasmExports["PyInit__datetime"];_PyInit__codecs=Module["_PyInit__codecs"]=wasmExports["PyInit__codecs"];_PyInit__collections=Module["_PyInit__collections"]=wasmExports["PyInit__collections"];_PyInit_errno=Module["_PyInit_errno"]=wasmExports["PyInit_errno"];_PyInit__io=Module["_PyInit__io"]=wasmExports["PyInit__io"];_PyInit_itertools=Module["_PyInit_itertools"]=wasmExports["PyInit_itertools"];_PyInit__sre=Module["_PyInit__sre"]=wasmExports["PyInit__sre"];_PyInit__sysconfig=Module["_PyInit__sysconfig"]=wasmExports["PyInit__sysconfig"];_PyInit__thread=Module["_PyInit__thread"]=wasmExports["PyInit__thread"];_PyInit_time=Module["_PyInit_time"]=wasmExports["PyInit_time"];_PyInit__types=Module["_PyInit__types"]=wasmExports["PyInit__types"];_PyInit__typing=Module["_PyInit__typing"]=wasmExports["PyInit__typing"];_PyInit__weakref=Module["_PyInit__weakref"]=wasmExports["PyInit__weakref"];_PyInit__abc=Module["_PyInit__abc"]=wasmExports["PyInit__abc"];_PyInit__functools=Module["_PyInit__functools"]=wasmExports["PyInit__functools"];_PyInit__locale=Module["_PyInit__locale"]=wasmExports["PyInit__locale"];_PyInit__opcode=Module["_PyInit__opcode"]=wasmExports["PyInit__opcode"];_PyInit__operator=Module["_PyInit__operator"]=wasmExports["PyInit__operator"];_PyInit__stat=Module["_PyInit__stat"]=wasmExports["PyInit__stat"];_PyInit__symtable=Module["_PyInit__symtable"]=wasmExports["PyInit__symtable"];_PyInit_gc=Module["_PyInit_gc"]=wasmExports["PyInit_gc"];_Py_RunMain=Module["_Py_RunMain"]=wasmExports["Py_RunMain"];_perror=Module["_perror"]=wasmExports["perror"];_kill=Module["_kill"]=wasmExports["kill"];_Py_Main=Module["_Py_Main"]=wasmExports["Py_Main"];_Py_BytesMain=Module["_Py_BytesMain"]=wasmExports["Py_BytesMain"];_ffi_closure_alloc=Module["_ffi_closure_alloc"]=wasmExports["ffi_closure_alloc"];_ffi_closure_free=Module["_ffi_closure_free"]=wasmExports["ffi_closure_free"];_memmove=Module["_memmove"]=wasmExports["memmove"];_memset=Module["_memset"]=wasmExports["memset"];_strcat=Module["_strcat"]=wasmExports["strcat"];_ffi_prep_cif=Module["_ffi_prep_cif"]=wasmExports["ffi_prep_cif"];_ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=wasmExports["ffi_prep_closure_loc"];_ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=wasmExports["ffi_prep_cif_var"];_ffi_call=Module["_ffi_call"]=wasmExports["ffi_call"];_dlclose=Module["_dlclose"]=wasmExports["dlclose"];___extenddftf2=Module["___extenddftf2"]=wasmExports["__extenddftf2"];___trunctfdf2=Module["___trunctfdf2"]=wasmExports["__trunctfdf2"];__Py_Gid_Converter=Module["__Py_Gid_Converter"]=wasmExports["_Py_Gid_Converter"];__Py_Uid_Converter=Module["__Py_Uid_Converter"]=wasmExports["_Py_Uid_Converter"];_PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=wasmExports["PyOS_BeforeFork"];_PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=wasmExports["PyOS_AfterFork_Parent"];_fork=Module["_fork"]=wasmExports["fork"];_PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=wasmExports["PyOS_AfterFork_Child"];__exit=Module["__exit"]=wasmExports["_exit"];_dup=Module["_dup"]=wasmExports["dup"];_dup2=Module["_dup2"]=wasmExports["dup2"];_chdir=Module["_chdir"]=wasmExports["chdir"];_umask=Module["_umask"]=wasmExports["umask"];__Py_RestoreSignals=Module["__Py_RestoreSignals"]=wasmExports["_Py_RestoreSignals"];_setsid=Module["_setsid"]=wasmExports["setsid"];_setpgid=Module["_setpgid"]=wasmExports["setpgid"];_setregid=Module["_setregid"]=wasmExports["setregid"];_setreuid=Module["_setreuid"]=wasmExports["setreuid"];_execve=Module["_execve"]=wasmExports["execve"];_execv=Module["_execv"]=wasmExports["execv"];_opendir=Module["_opendir"]=wasmExports["opendir"];_dirfd=Module["_dirfd"]=wasmExports["dirfd"];_readdir=Module["_readdir"]=wasmExports["readdir"];_closedir=Module["_closedir"]=wasmExports["closedir"];_BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=wasmExports["BZ2_bzCompressEnd"];_BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=wasmExports["BZ2_bzCompressInit"];_BZ2_bzCompress=Module["_BZ2_bzCompress"]=wasmExports["BZ2_bzCompress"];_BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=wasmExports["BZ2_bzDecompressEnd"];_BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=wasmExports["BZ2_bzDecompressInit"];_BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=wasmExports["BZ2_bzDecompress"];_adler32=Module["_adler32"]=wasmExports["adler32"];_deflateInit2_=Module["_deflateInit2_"]=wasmExports["deflateInit2_"];_deflateEnd=Module["_deflateEnd"]=wasmExports["deflateEnd"];_deflate=Module["_deflate"]=wasmExports["deflate"];_deflateSetDictionary=Module["_deflateSetDictionary"]=wasmExports["deflateSetDictionary"];_crc32=Module["_crc32"]=wasmExports["crc32"];_inflateInit2_=Module["_inflateInit2_"]=wasmExports["inflateInit2_"];_inflateEnd=Module["_inflateEnd"]=wasmExports["inflateEnd"];_inflate=Module["_inflate"]=wasmExports["inflate"];_inflateSetDictionary=Module["_inflateSetDictionary"]=wasmExports["inflateSetDictionary"];_zlibVersion=Module["_zlibVersion"]=wasmExports["zlibVersion"];_deflateCopy=Module["_deflateCopy"]=wasmExports["deflateCopy"];_inflateCopy=Module["_inflateCopy"]=wasmExports["inflateCopy"];_sqlite3_blob_close=Module["_sqlite3_blob_close"]=wasmExports["sqlite3_blob_close"];_sqlite3_blob_bytes=Module["_sqlite3_blob_bytes"]=wasmExports["sqlite3_blob_bytes"];_sqlite3_blob_read=Module["_sqlite3_blob_read"]=wasmExports["sqlite3_blob_read"];_sqlite3_blob_write=Module["_sqlite3_blob_write"]=wasmExports["sqlite3_blob_write"];_sqlite3_trace_v2=Module["_sqlite3_trace_v2"]=wasmExports["sqlite3_trace_v2"];_sqlite3_progress_handler=Module["_sqlite3_progress_handler"]=wasmExports["sqlite3_progress_handler"];_sqlite3_set_authorizer=Module["_sqlite3_set_authorizer"]=wasmExports["sqlite3_set_authorizer"];_sqlite3_open_v2=Module["_sqlite3_open_v2"]=wasmExports["sqlite3_open_v2"];_sqlite3_busy_timeout=Module["_sqlite3_busy_timeout"]=wasmExports["sqlite3_busy_timeout"];_sqlite3_close=Module["_sqlite3_close"]=wasmExports["sqlite3_close"];_sqlite3_get_autocommit=Module["_sqlite3_get_autocommit"]=wasmExports["sqlite3_get_autocommit"];_sqlite3_prepare_v2=Module["_sqlite3_prepare_v2"]=wasmExports["sqlite3_prepare_v2"];_sqlite3_step=Module["_sqlite3_step"]=wasmExports["sqlite3_step"];_sqlite3_finalize=Module["_sqlite3_finalize"]=wasmExports["sqlite3_finalize"];_sqlite3_close_v2=Module["_sqlite3_close_v2"]=wasmExports["sqlite3_close_v2"];_sqlite3_backup_init=Module["_sqlite3_backup_init"]=wasmExports["sqlite3_backup_init"];_sqlite3_backup_step=Module["_sqlite3_backup_step"]=wasmExports["sqlite3_backup_step"];_sqlite3_backup_remaining=Module["_sqlite3_backup_remaining"]=wasmExports["sqlite3_backup_remaining"];_sqlite3_backup_pagecount=Module["_sqlite3_backup_pagecount"]=wasmExports["sqlite3_backup_pagecount"];_sqlite3_sleep=Module["_sqlite3_sleep"]=wasmExports["sqlite3_sleep"];_sqlite3_backup_finish=Module["_sqlite3_backup_finish"]=wasmExports["sqlite3_backup_finish"];_sqlite3_limit=Module["_sqlite3_limit"]=wasmExports["sqlite3_limit"];_sqlite3_create_function_v2=Module["_sqlite3_create_function_v2"]=wasmExports["sqlite3_create_function_v2"];_sqlite3_create_collation_v2=Module["_sqlite3_create_collation_v2"]=wasmExports["sqlite3_create_collation_v2"];_sqlite3_interrupt=Module["_sqlite3_interrupt"]=wasmExports["sqlite3_interrupt"];_sqlite3_serialize=Module["_sqlite3_serialize"]=wasmExports["sqlite3_serialize"];_sqlite3_free=Module["_sqlite3_free"]=wasmExports["sqlite3_free"];_sqlite3_malloc64=Module["_sqlite3_malloc64"]=wasmExports["sqlite3_malloc64"];_sqlite3_deserialize=Module["_sqlite3_deserialize"]=wasmExports["sqlite3_deserialize"];_sqlite3_libversion_number=Module["_sqlite3_libversion_number"]=wasmExports["sqlite3_libversion_number"];_sqlite3_create_window_function=Module["_sqlite3_create_window_function"]=wasmExports["sqlite3_create_window_function"];_sqlite3_db_config=Module["_sqlite3_db_config"]=wasmExports["sqlite3_db_config"];_sqlite3_user_data=Module["_sqlite3_user_data"]=wasmExports["sqlite3_user_data"];_sqlite3_aggregate_context=Module["_sqlite3_aggregate_context"]=wasmExports["sqlite3_aggregate_context"];_sqlite3_result_error_nomem=Module["_sqlite3_result_error_nomem"]=wasmExports["sqlite3_result_error_nomem"];_sqlite3_result_error_toobig=Module["_sqlite3_result_error_toobig"]=wasmExports["sqlite3_result_error_toobig"];_sqlite3_result_error=Module["_sqlite3_result_error"]=wasmExports["sqlite3_result_error"];_sqlite3_value_type=Module["_sqlite3_value_type"]=wasmExports["sqlite3_value_type"];_sqlite3_value_double=Module["_sqlite3_value_double"]=wasmExports["sqlite3_value_double"];_sqlite3_context_db_handle=Module["_sqlite3_context_db_handle"]=wasmExports["sqlite3_context_db_handle"];_sqlite3_value_text=Module["_sqlite3_value_text"]=wasmExports["sqlite3_value_text"];_sqlite3_errcode=Module["_sqlite3_errcode"]=wasmExports["sqlite3_errcode"];_sqlite3_value_bytes=Module["_sqlite3_value_bytes"]=wasmExports["sqlite3_value_bytes"];_sqlite3_value_blob=Module["_sqlite3_value_blob"]=wasmExports["sqlite3_value_blob"];_sqlite3_value_int64=Module["_sqlite3_value_int64"]=wasmExports["sqlite3_value_int64"];_sqlite3_result_null=Module["_sqlite3_result_null"]=wasmExports["sqlite3_result_null"];_sqlite3_result_int64=Module["_sqlite3_result_int64"]=wasmExports["sqlite3_result_int64"];_sqlite3_result_double=Module["_sqlite3_result_double"]=wasmExports["sqlite3_result_double"];_sqlite3_result_text=Module["_sqlite3_result_text"]=wasmExports["sqlite3_result_text"];_sqlite3_result_blob=Module["_sqlite3_result_blob"]=wasmExports["sqlite3_result_blob"];_sqlite3_expanded_sql=Module["_sqlite3_expanded_sql"]=wasmExports["sqlite3_expanded_sql"];_sqlite3_db_handle=Module["_sqlite3_db_handle"]=wasmExports["sqlite3_db_handle"];_sqlite3_blob_open=Module["_sqlite3_blob_open"]=wasmExports["sqlite3_blob_open"];_sqlite3_total_changes=Module["_sqlite3_total_changes"]=wasmExports["sqlite3_total_changes"];_sqlite3_stricmp=Module["_sqlite3_stricmp"]=wasmExports["sqlite3_stricmp"];_sqlite3_reset=Module["_sqlite3_reset"]=wasmExports["sqlite3_reset"];_sqlite3_stmt_readonly=Module["_sqlite3_stmt_readonly"]=wasmExports["sqlite3_stmt_readonly"];_sqlite3_stmt_busy=Module["_sqlite3_stmt_busy"]=wasmExports["sqlite3_stmt_busy"];_sqlite3_bind_parameter_count=Module["_sqlite3_bind_parameter_count"]=wasmExports["sqlite3_bind_parameter_count"];_sqlite3_bind_parameter_name=Module["_sqlite3_bind_parameter_name"]=wasmExports["sqlite3_bind_parameter_name"];_sqlite3_column_count=Module["_sqlite3_column_count"]=wasmExports["sqlite3_column_count"];_sqlite3_column_name=Module["_sqlite3_column_name"]=wasmExports["sqlite3_column_name"];_sqlite3_column_decltype=Module["_sqlite3_column_decltype"]=wasmExports["sqlite3_column_decltype"];_sqlite3_changes=Module["_sqlite3_changes"]=wasmExports["sqlite3_changes"];_sqlite3_last_insert_rowid=Module["_sqlite3_last_insert_rowid"]=wasmExports["sqlite3_last_insert_rowid"];_sqlite3_bind_null=Module["_sqlite3_bind_null"]=wasmExports["sqlite3_bind_null"];_sqlite3_bind_int64=Module["_sqlite3_bind_int64"]=wasmExports["sqlite3_bind_int64"];_sqlite3_bind_double=Module["_sqlite3_bind_double"]=wasmExports["sqlite3_bind_double"];_sqlite3_bind_text=Module["_sqlite3_bind_text"]=wasmExports["sqlite3_bind_text"];_sqlite3_bind_blob=Module["_sqlite3_bind_blob"]=wasmExports["sqlite3_bind_blob"];_sqlite3_data_count=Module["_sqlite3_data_count"]=wasmExports["sqlite3_data_count"];_sqlite3_column_blob=Module["_sqlite3_column_blob"]=wasmExports["sqlite3_column_blob"];_sqlite3_column_bytes=Module["_sqlite3_column_bytes"]=wasmExports["sqlite3_column_bytes"];_sqlite3_column_type=Module["_sqlite3_column_type"]=wasmExports["sqlite3_column_type"];_sqlite3_column_double=Module["_sqlite3_column_double"]=wasmExports["sqlite3_column_double"];_sqlite3_column_text=Module["_sqlite3_column_text"]=wasmExports["sqlite3_column_text"];_sqlite3_column_int64=Module["_sqlite3_column_int64"]=wasmExports["sqlite3_column_int64"];_sqlite3_exec=Module["_sqlite3_exec"]=wasmExports["sqlite3_exec"];_sqlite3_complete=Module["_sqlite3_complete"]=wasmExports["sqlite3_complete"];_sqlite3_initialize=Module["_sqlite3_initialize"]=wasmExports["sqlite3_initialize"];_sqlite3_errstr=Module["_sqlite3_errstr"]=wasmExports["sqlite3_errstr"];_sqlite3_libversion=Module["_sqlite3_libversion"]=wasmExports["sqlite3_libversion"];_sqlite3_threadsafe=Module["_sqlite3_threadsafe"]=wasmExports["sqlite3_threadsafe"];_sqlite3_extended_errcode=Module["_sqlite3_extended_errcode"]=wasmExports["sqlite3_extended_errcode"];_sqlite3_errmsg=Module["_sqlite3_errmsg"]=wasmExports["sqlite3_errmsg"];_lzma_check_is_supported=Module["_lzma_check_is_supported"]=wasmExports["lzma_check_is_supported"];_lzma_properties_size=Module["_lzma_properties_size"]=wasmExports["lzma_properties_size"];_lzma_properties_encode=Module["_lzma_properties_encode"]=wasmExports["lzma_properties_encode"];_lzma_properties_decode=Module["_lzma_properties_decode"]=wasmExports["lzma_properties_decode"];_lzma_lzma_preset=Module["_lzma_lzma_preset"]=wasmExports["lzma_lzma_preset"];_lzma_end=Module["_lzma_end"]=wasmExports["lzma_end"];_lzma_code=Module["_lzma_code"]=wasmExports["lzma_code"];_lzma_easy_encoder=Module["_lzma_easy_encoder"]=wasmExports["lzma_easy_encoder"];_lzma_stream_encoder=Module["_lzma_stream_encoder"]=wasmExports["lzma_stream_encoder"];_lzma_alone_encoder=Module["_lzma_alone_encoder"]=wasmExports["lzma_alone_encoder"];_lzma_raw_encoder=Module["_lzma_raw_encoder"]=wasmExports["lzma_raw_encoder"];_lzma_auto_decoder=Module["_lzma_auto_decoder"]=wasmExports["lzma_auto_decoder"];_lzma_stream_decoder=Module["_lzma_stream_decoder"]=wasmExports["lzma_stream_decoder"];_lzma_alone_decoder=Module["_lzma_alone_decoder"]=wasmExports["lzma_alone_decoder"];_lzma_get_check=Module["_lzma_get_check"]=wasmExports["lzma_get_check"];_lzma_raw_decoder=Module["_lzma_raw_decoder"]=wasmExports["lzma_raw_decoder"];_ZSTD_getErrorName=Module["_ZSTD_getErrorName"]=wasmExports["ZSTD_getErrorName"];_ZSTD_cParam_getBounds=Module["_ZSTD_cParam_getBounds"]=wasmExports["ZSTD_cParam_getBounds"];_ZSTD_dParam_getBounds=Module["_ZSTD_dParam_getBounds"]=wasmExports["ZSTD_dParam_getBounds"];_ZSTD_isError=Module["_ZSTD_isError"]=wasmExports["ZSTD_isError"];_ZDICT_trainFromBuffer=Module["_ZDICT_trainFromBuffer"]=wasmExports["ZDICT_trainFromBuffer"];_ZDICT_isError=Module["_ZDICT_isError"]=wasmExports["ZDICT_isError"];_ZDICT_finalizeDictionary=Module["_ZDICT_finalizeDictionary"]=wasmExports["ZDICT_finalizeDictionary"];_ZSTD_findFrameCompressedSize=Module["_ZSTD_findFrameCompressedSize"]=wasmExports["ZSTD_findFrameCompressedSize"];_ZSTD_getFrameContentSize=Module["_ZSTD_getFrameContentSize"]=wasmExports["ZSTD_getFrameContentSize"];_ZSTD_getDictID_fromFrame=Module["_ZSTD_getDictID_fromFrame"]=wasmExports["ZSTD_getDictID_fromFrame"];_ZSTD_versionNumber=Module["_ZSTD_versionNumber"]=wasmExports["ZSTD_versionNumber"];_ZSTD_versionString=Module["_ZSTD_versionString"]=wasmExports["ZSTD_versionString"];_ZSTD_defaultCLevel=Module["_ZSTD_defaultCLevel"]=wasmExports["ZSTD_defaultCLevel"];_ZSTD_DStreamOutSize=Module["_ZSTD_DStreamOutSize"]=wasmExports["ZSTD_DStreamOutSize"];_ZSTD_createCDict=Module["_ZSTD_createCDict"]=wasmExports["ZSTD_createCDict"];_ZSTD_freeCDict=Module["_ZSTD_freeCDict"]=wasmExports["ZSTD_freeCDict"];_ZSTD_createCCtx=Module["_ZSTD_createCCtx"]=wasmExports["ZSTD_createCCtx"];_ZSTD_minCLevel=Module["_ZSTD_minCLevel"]=wasmExports["ZSTD_minCLevel"];_ZSTD_maxCLevel=Module["_ZSTD_maxCLevel"]=wasmExports["ZSTD_maxCLevel"];_ZSTD_CCtx_setParameter=Module["_ZSTD_CCtx_setParameter"]=wasmExports["ZSTD_CCtx_setParameter"];_ZSTD_CCtx_refCDict=Module["_ZSTD_CCtx_refCDict"]=wasmExports["ZSTD_CCtx_refCDict"];_ZSTD_CCtx_loadDictionary=Module["_ZSTD_CCtx_loadDictionary"]=wasmExports["ZSTD_CCtx_loadDictionary"];_ZSTD_CCtx_refPrefix=Module["_ZSTD_CCtx_refPrefix"]=wasmExports["ZSTD_CCtx_refPrefix"];_ZSTD_freeCCtx=Module["_ZSTD_freeCCtx"]=wasmExports["ZSTD_freeCCtx"];_ZSTD_compressStream2=Module["_ZSTD_compressStream2"]=wasmExports["ZSTD_compressStream2"];_ZSTD_CCtx_reset=Module["_ZSTD_CCtx_reset"]=wasmExports["ZSTD_CCtx_reset"];_ZSTD_CCtx_setPledgedSrcSize=Module["_ZSTD_CCtx_setPledgedSrcSize"]=wasmExports["ZSTD_CCtx_setPledgedSrcSize"];_ZSTD_compressBound=Module["_ZSTD_compressBound"]=wasmExports["ZSTD_compressBound"];_ZSTD_createDCtx=Module["_ZSTD_createDCtx"]=wasmExports["ZSTD_createDCtx"];_ZSTD_createDDict=Module["_ZSTD_createDDict"]=wasmExports["ZSTD_createDDict"];_ZSTD_DCtx_refDDict=Module["_ZSTD_DCtx_refDDict"]=wasmExports["ZSTD_DCtx_refDDict"];_ZSTD_DCtx_loadDictionary=Module["_ZSTD_DCtx_loadDictionary"]=wasmExports["ZSTD_DCtx_loadDictionary"];_ZSTD_DCtx_refPrefix=Module["_ZSTD_DCtx_refPrefix"]=wasmExports["ZSTD_DCtx_refPrefix"];_ZSTD_DCtx_setParameter=Module["_ZSTD_DCtx_setParameter"]=wasmExports["ZSTD_DCtx_setParameter"];_ZSTD_freeDCtx=Module["_ZSTD_freeDCtx"]=wasmExports["ZSTD_freeDCtx"];_ZSTD_decompressStream=Module["_ZSTD_decompressStream"]=wasmExports["ZSTD_decompressStream"];_ZSTD_DCtx_reset=Module["_ZSTD_DCtx_reset"]=wasmExports["ZSTD_DCtx_reset"];_ZSTD_getDictID_fromDict=Module["_ZSTD_getDictID_fromDict"]=wasmExports["ZSTD_getDictID_fromDict"];_ZSTD_freeDDict=Module["_ZSTD_freeDDict"]=wasmExports["ZSTD_freeDDict"];_getpagesize=Module["_getpagesize"]=wasmExports["getpagesize"];_acos=Module["_acos"]=wasmExports["acos"];_acosh=Module["_acosh"]=wasmExports["acosh"];_asin=Module["_asin"]=wasmExports["asin"];_asinh=Module["_asinh"]=wasmExports["asinh"];_atan=Module["_atan"]=wasmExports["atan"];_atanh=Module["_atanh"]=wasmExports["atanh"];_cbrt=Module["_cbrt"]=wasmExports["cbrt"];_copysign=Module["_copysign"]=wasmExports["copysign"];_cosh=Module["_cosh"]=wasmExports["cosh"];_erf=Module["_erf"]=wasmExports["erf"];_erfc=Module["_erfc"]=wasmExports["erfc"];_exp2=Module["_exp2"]=wasmExports["exp2"];_expm1=Module["_expm1"]=wasmExports["expm1"];_fabs=Module["_fabs"]=wasmExports["fabs"];_fma=Module["_fma"]=wasmExports["fma"];_log10=Module["_log10"]=wasmExports["log10"];_log2=Module["_log2"]=wasmExports["log2"];_sinh=Module["_sinh"]=wasmExports["sinh"];_sqrt=Module["_sqrt"]=wasmExports["sqrt"];_tan=Module["_tan"]=wasmExports["tan"];_tanh=Module["_tanh"]=wasmExports["tanh"];_nextafter=Module["_nextafter"]=wasmExports["nextafter"];_log1p=Module["_log1p"]=wasmExports["log1p"];_strncat=Module["_strncat"]=wasmExports["strncat"];_flock=Module["_flock"]=wasmExports["flock"];_mmap=Module["_mmap"]=wasmExports["mmap"];_munmap=Module["_munmap"]=wasmExports["munmap"];_msync=Module["_msync"]=wasmExports["msync"];_madvise=Module["_madvise"]=wasmExports["madvise"];_ftruncate=Module["_ftruncate"]=wasmExports["ftruncate"];_mremap=Module["_mremap"]=wasmExports["mremap"];_select=Module["_select"]=wasmExports["select"];_poll=Module["_poll"]=wasmExports["poll"];_inet_ntop=Module["_inet_ntop"]=wasmExports["inet_ntop"];_gethostbyname=Module["_gethostbyname"]=wasmExports["gethostbyname"];_gethostbyaddr=Module["_gethostbyaddr"]=wasmExports["gethostbyaddr"];_gethostname=Module["_gethostname"]=wasmExports["gethostname"];_getservbyname=Module["_getservbyname"]=wasmExports["getservbyname"];_ntohs=Module["_ntohs"]=wasmExports["ntohs"];_htons=Module["_htons"]=wasmExports["htons"];_getservbyport=Module["_getservbyport"]=wasmExports["getservbyport"];_ntohl=Module["_ntohl"]=wasmExports["ntohl"];_htonl=Module["_htonl"]=wasmExports["htonl"];_inet_aton=Module["_inet_aton"]=wasmExports["inet_aton"];_inet_ntoa=Module["_inet_ntoa"]=wasmExports["inet_ntoa"];_inet_pton=Module["_inet_pton"]=wasmExports["inet_pton"];_gai_strerror=Module["_gai_strerror"]=wasmExports["gai_strerror"];_freeaddrinfo=Module["_freeaddrinfo"]=wasmExports["freeaddrinfo"];_if_nameindex=Module["_if_nameindex"]=wasmExports["if_nameindex"];_if_freenameindex=Module["_if_freenameindex"]=wasmExports["if_freenameindex"];_if_nametoindex=Module["_if_nametoindex"]=wasmExports["if_nametoindex"];_if_indextoname=Module["_if_indextoname"]=wasmExports["if_indextoname"];___h_errno_location=Module["___h_errno_location"]=wasmExports["__h_errno_location"];_hstrerror=Module["_hstrerror"]=wasmExports["hstrerror"];_getsockname=Module["_getsockname"]=wasmExports["getsockname"];_socket=Module["_socket"]=wasmExports["socket"];_getsockopt=Module["_getsockopt"]=wasmExports["getsockopt"];_bind=Module["_bind"]=wasmExports["bind"];_getpeername=Module["_getpeername"]=wasmExports["getpeername"];_listen=Module["_listen"]=wasmExports["listen"];_setsockopt=Module["_setsockopt"]=wasmExports["setsockopt"];_shutdown=Module["_shutdown"]=wasmExports["shutdown"];_accept4=Module["_accept4"]=wasmExports["accept4"];_accept=Module["_accept"]=wasmExports["accept"];_connect=Module["_connect"]=wasmExports["connect"];_recv=Module["_recv"]=wasmExports["recv"];_recvfrom=Module["_recvfrom"]=wasmExports["recvfrom"];_send=Module["_send"]=wasmExports["send"];_sendto=Module["_sendto"]=wasmExports["sendto"];_recvmsg=Module["_recvmsg"]=wasmExports["recvmsg"];_sendmsg=Module["_sendmsg"]=wasmExports["sendmsg"];_tcgetattr=Module["_tcgetattr"]=wasmExports["tcgetattr"];_cfgetispeed=Module["_cfgetispeed"]=wasmExports["cfgetispeed"];_cfgetospeed=Module["_cfgetospeed"]=wasmExports["cfgetospeed"];_cfsetispeed=Module["_cfsetispeed"]=wasmExports["cfsetispeed"];_cfsetospeed=Module["_cfsetospeed"]=wasmExports["cfsetospeed"];_tcsetattr=Module["_tcsetattr"]=wasmExports["tcsetattr"];_tcsendbreak=Module["_tcsendbreak"]=wasmExports["tcsendbreak"];_tcdrain=Module["_tcdrain"]=wasmExports["tcdrain"];_tcflush=Module["_tcflush"]=wasmExports["tcflush"];_tcflow=Module["_tcflow"]=wasmExports["tcflow"];_clock=Module["_clock"]=wasmExports["clock"];__Py_Get_Getpath_CodeObject=Module["__Py_Get_Getpath_CodeObject"]=wasmExports["_Py_Get_Getpath_CodeObject"];_usleep=Module["_usleep"]=wasmExports["usleep"];_raise=Module["_raise"]=wasmExports["raise"];__pthread_cleanup_push=Module["__pthread_cleanup_push"]=wasmExports["_pthread_cleanup_push"];_PyUnstable_AtExit=Module["_PyUnstable_AtExit"]=wasmExports["PyUnstable_AtExit"];_PyInit__testcapi_datetime=Module["_PyInit__testcapi_datetime"]=wasmExports["PyInit__testcapi_datetime"];_getrlimit=Module["_getrlimit"]=wasmExports["getrlimit"];_setrlimit=Module["_setrlimit"]=wasmExports["setrlimit"];_sigfillset=Module["_sigfillset"]=wasmExports["sigfillset"];_pthread_sigmask=Module["_pthread_sigmask"]=wasmExports["pthread_sigmask"];_PyOS_AfterFork=Module["_PyOS_AfterFork"]=wasmExports["PyOS_AfterFork"];__PyLong_FromGid=Module["__PyLong_FromGid"]=wasmExports["_PyLong_FromGid"];_sigemptyset=Module["_sigemptyset"]=wasmExports["sigemptyset"];_sigaddset=Module["_sigaddset"]=wasmExports["sigaddset"];_ttyname_r=Module["_ttyname_r"]=wasmExports["ttyname_r"];_fchdir=Module["_fchdir"]=wasmExports["fchdir"];_fchmod=Module["_fchmod"]=wasmExports["fchmod"];_fchmodat=Module["_fchmodat"]=wasmExports["fchmodat"];_chmod=Module["_chmod"]=wasmExports["chmod"];_fchown=Module["_fchown"]=wasmExports["fchown"];_fchownat=Module["_fchownat"]=wasmExports["fchownat"];_chown=Module["_chown"]=wasmExports["chown"];_chroot=Module["_chroot"]=wasmExports["chroot"];_ctermid=Module["_ctermid"]=wasmExports["ctermid"];_fdopendir=Module["_fdopendir"]=wasmExports["fdopendir"];_rewinddir=Module["_rewinddir"]=wasmExports["rewinddir"];_mkdirat=Module["_mkdirat"]=wasmExports["mkdirat"];_mkdir=Module["_mkdir"]=wasmExports["mkdir"];_getpriority=Module["_getpriority"]=wasmExports["getpriority"];_readlinkat=Module["_readlinkat"]=wasmExports["readlinkat"];_unlinkat=Module["_unlinkat"]=wasmExports["unlinkat"];_rmdir=Module["_rmdir"]=wasmExports["rmdir"];_symlink=Module["_symlink"]=wasmExports["symlink"];_system=Module["_system"]=wasmExports["system"];_uname=Module["_uname"]=wasmExports["uname"];_futimesat=Module["_futimesat"]=wasmExports["futimesat"];_futimens=Module["_futimens"]=wasmExports["futimens"];_times=Module["_times"]=wasmExports["times"];_fexecve=Module["_fexecve"]=wasmExports["fexecve"];_posix_openpt=Module["_posix_openpt"]=wasmExports["posix_openpt"];_grantpt=Module["_grantpt"]=wasmExports["grantpt"];_unlockpt=Module["_unlockpt"]=wasmExports["unlockpt"];_ptsname_r=Module["_ptsname_r"]=wasmExports["ptsname_r"];_login_tty=Module["_login_tty"]=wasmExports["login_tty"];_getgid=Module["_getgid"]=wasmExports["getgid"];_getpgrp=Module["_getpgrp"]=wasmExports["getpgrp"];_getppid=Module["_getppid"]=wasmExports["getppid"];_getuid=Module["_getuid"]=wasmExports["getuid"];_getlogin_r=Module["_getlogin_r"]=wasmExports["getlogin_r"];_killpg=Module["_killpg"]=wasmExports["killpg"];_setuid=Module["_setuid"]=wasmExports["setuid"];_setgid=Module["_setgid"]=wasmExports["setgid"];_getpgid=Module["_getpgid"]=wasmExports["getpgid"];_setpgrp=Module["_setpgrp"]=wasmExports["setpgrp"];_wait=Module["_wait"]=wasmExports["wait"];_wait3=Module["_wait3"]=wasmExports["wait3"];_wait4=Module["_wait4"]=wasmExports["wait4"];_waitid=Module["_waitid"]=wasmExports["waitid"];_waitpid=Module["_waitpid"]=wasmExports["waitpid"];_getsid=Module["_getsid"]=wasmExports["getsid"];_tcgetpgrp=Module["_tcgetpgrp"]=wasmExports["tcgetpgrp"];_tcsetpgrp=Module["_tcsetpgrp"]=wasmExports["tcsetpgrp"];_openat=Module["_openat"]=wasmExports["openat"];_dup3=Module["_dup3"]=wasmExports["dup3"];_lockf=Module["_lockf"]=wasmExports["lockf"];_readv=Module["_readv"]=wasmExports["readv"];_pread=Module["_pread"]=wasmExports["pread"];_writev=Module["_writev"]=wasmExports["writev"];_pwrite=Module["_pwrite"]=wasmExports["pwrite"];_pipe=Module["_pipe"]=wasmExports["pipe"];_truncate=Module["_truncate"]=wasmExports["truncate"];_posix_fadvise=Module["_posix_fadvise"]=wasmExports["posix_fadvise"];_unsetenv=Module["_unsetenv"]=wasmExports["unsetenv"];_fsync=Module["_fsync"]=wasmExports["fsync"];_sync=Module["_sync"]=wasmExports["sync"];_fdatasync=Module["_fdatasync"]=wasmExports["fdatasync"];_fstatvfs=Module["_fstatvfs"]=wasmExports["fstatvfs"];_statvfs=Module["_statvfs"]=wasmExports["statvfs"];_fpathconf=Module["_fpathconf"]=wasmExports["fpathconf"];_pathconf=Module["_pathconf"]=wasmExports["pathconf"];_getloadavg=Module["_getloadavg"]=wasmExports["getloadavg"];_lstat=Module["_lstat"]=wasmExports["lstat"];_fstatat=Module["_fstatat"]=wasmExports["fstatat"];_renameat=Module["_renameat"]=wasmExports["renameat"];_rename=Module["_rename"]=wasmExports["rename"];_unlink=Module["_unlink"]=wasmExports["unlink"];_utimes=Module["_utimes"]=wasmExports["utimes"];_PySignal_SetWakeupFd=Module["_PySignal_SetWakeupFd"]=wasmExports["PySignal_SetWakeupFd"];__PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=wasmExports["_PyErr_CheckSignals"];_PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=wasmExports["PyErr_SetInterrupt"];_PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=wasmExports["PyOS_InterruptOccurred"];__PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=wasmExports["_PyOS_IsMainThread"];_getitimer=Module["_getitimer"]=wasmExports["getitimer"];_strsignal=Module["_strsignal"]=wasmExports["strsignal"];_pause=Module["_pause"]=wasmExports["pause"];_sigpending=Module["_sigpending"]=wasmExports["sigpending"];_sigwait=Module["_sigwait"]=wasmExports["sigwait"];_sigwaitinfo=Module["_sigwaitinfo"]=wasmExports["sigwaitinfo"];_sigtimedwait=Module["_sigtimedwait"]=wasmExports["sigtimedwait"];_sigismember=Module["_sigismember"]=wasmExports["sigismember"];___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=wasmExports["__libc_current_sigrtmin"];___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=wasmExports["__libc_current_sigrtmax"];_strftime=Module["_strftime"]=wasmExports["strftime"];_isalnum=Module["_isalnum"]=wasmExports["isalnum"];_tolower=Module["_tolower"]=wasmExports["tolower"];_toupper=Module["_toupper"]=wasmExports["toupper"];_clock_settime=Module["_clock_settime"]=wasmExports["clock_settime"];_pthread_getcpuclockid=Module["_pthread_getcpuclockid"]=wasmExports["pthread_getcpuclockid"];_clock_nanosleep=Module["_clock_nanosleep"]=wasmExports["clock_nanosleep"];_time=Module["_time"]=wasmExports["time"];_mktime=Module["_mktime"]=wasmExports["mktime"];_wcsftime=Module["_wcsftime"]=wasmExports["wcsftime"];_wcscoll=Module["_wcscoll"]=wasmExports["wcscoll"];_wcsxfrm=Module["_wcsxfrm"]=wasmExports["wcsxfrm"];_gettext=Module["_gettext"]=wasmExports["gettext"];_dgettext=Module["_dgettext"]=wasmExports["dgettext"];_dcgettext=Module["_dcgettext"]=wasmExports["dcgettext"];_textdomain=Module["_textdomain"]=wasmExports["textdomain"];_bindtextdomain=Module["_bindtextdomain"]=wasmExports["bindtextdomain"];_bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=wasmExports["bind_textdomain_codeset"];_gettimeofday=Module["_gettimeofday"]=wasmExports["gettimeofday"];___small_fprintf=Module["___small_fprintf"]=wasmExports["__small_fprintf"];_ffi_prep_closure=Module["_ffi_prep_closure"]=wasmExports["ffi_prep_closure"];_ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=wasmExports["ffi_get_struct_offsets"];_ffi_java_raw_size=Module["_ffi_java_raw_size"]=wasmExports["ffi_java_raw_size"];_ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=wasmExports["ffi_java_raw_to_ptrarray"];_ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=wasmExports["ffi_java_ptrarray_to_raw"];_ffi_java_raw_call=Module["_ffi_java_raw_call"]=wasmExports["ffi_java_raw_call"];_ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=wasmExports["ffi_prep_java_raw_closure_loc"];_ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=wasmExports["ffi_prep_java_raw_closure"];_ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=wasmExports["ffi_tramp_is_supported"];_ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=wasmExports["ffi_tramp_alloc"];_ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=wasmExports["ffi_tramp_set_parms"];_ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=wasmExports["ffi_tramp_get_addr"];_ffi_tramp_free=Module["_ffi_tramp_free"]=wasmExports["ffi_tramp_free"];_lzma_version_number=Module["_lzma_version_number"]=wasmExports["lzma_version_number"];_lzma_version_string=Module["_lzma_version_string"]=wasmExports["lzma_version_string"];_lzma_get_progress=Module["_lzma_get_progress"]=wasmExports["lzma_get_progress"];_lzma_memusage=Module["_lzma_memusage"]=wasmExports["lzma_memusage"];_lzma_memlimit_get=Module["_lzma_memlimit_get"]=wasmExports["lzma_memlimit_get"];_lzma_memlimit_set=Module["_lzma_memlimit_set"]=wasmExports["lzma_memlimit_set"];_lzma_block_compressed_size=Module["_lzma_block_compressed_size"]=wasmExports["lzma_block_compressed_size"];_lzma_block_unpadded_size=Module["_lzma_block_unpadded_size"]=wasmExports["lzma_block_unpadded_size"];_lzma_check_size=Module["_lzma_check_size"]=wasmExports["lzma_check_size"];_lzma_block_total_size=Module["_lzma_block_total_size"]=wasmExports["lzma_block_total_size"];_lzma_filters_copy=Module["_lzma_filters_copy"]=wasmExports["lzma_filters_copy"];_lzma_physmem=Module["_lzma_physmem"]=wasmExports["lzma_physmem"];_lzma_index_init=Module["_lzma_index_init"]=wasmExports["lzma_index_init"];_lzma_index_end=Module["_lzma_index_end"]=wasmExports["lzma_index_end"];_lzma_index_memusage=Module["_lzma_index_memusage"]=wasmExports["lzma_index_memusage"];_lzma_index_memused=Module["_lzma_index_memused"]=wasmExports["lzma_index_memused"];_lzma_index_block_count=Module["_lzma_index_block_count"]=wasmExports["lzma_index_block_count"];_lzma_index_stream_count=Module["_lzma_index_stream_count"]=wasmExports["lzma_index_stream_count"];_lzma_index_size=Module["_lzma_index_size"]=wasmExports["lzma_index_size"];_lzma_vli_size=Module["_lzma_vli_size"]=wasmExports["lzma_vli_size"];_lzma_index_total_size=Module["_lzma_index_total_size"]=wasmExports["lzma_index_total_size"];_lzma_index_stream_size=Module["_lzma_index_stream_size"]=wasmExports["lzma_index_stream_size"];_lzma_index_file_size=Module["_lzma_index_file_size"]=wasmExports["lzma_index_file_size"];_lzma_index_uncompressed_size=Module["_lzma_index_uncompressed_size"]=wasmExports["lzma_index_uncompressed_size"];_lzma_index_checks=Module["_lzma_index_checks"]=wasmExports["lzma_index_checks"];_lzma_index_stream_flags=Module["_lzma_index_stream_flags"]=wasmExports["lzma_index_stream_flags"];_lzma_stream_flags_compare=Module["_lzma_stream_flags_compare"]=wasmExports["lzma_stream_flags_compare"];_lzma_index_stream_padding=Module["_lzma_index_stream_padding"]=wasmExports["lzma_index_stream_padding"];_lzma_index_append=Module["_lzma_index_append"]=wasmExports["lzma_index_append"];_lzma_index_cat=Module["_lzma_index_cat"]=wasmExports["lzma_index_cat"];_lzma_index_dup=Module["_lzma_index_dup"]=wasmExports["lzma_index_dup"];_lzma_index_iter_init=Module["_lzma_index_iter_init"]=wasmExports["lzma_index_iter_init"];_lzma_index_iter_rewind=Module["_lzma_index_iter_rewind"]=wasmExports["lzma_index_iter_rewind"];_lzma_index_iter_next=Module["_lzma_index_iter_next"]=wasmExports["lzma_index_iter_next"];_lzma_index_iter_locate=Module["_lzma_index_iter_locate"]=wasmExports["lzma_index_iter_locate"];_lzma_block_buffer_bound=Module["_lzma_block_buffer_bound"]=wasmExports["lzma_block_buffer_bound"];_lzma_block_buffer_encode=Module["_lzma_block_buffer_encode"]=wasmExports["lzma_block_buffer_encode"];_lzma_block_uncomp_encode=Module["_lzma_block_uncomp_encode"]=wasmExports["lzma_block_uncomp_encode"];_lzma_block_header_size=Module["_lzma_block_header_size"]=wasmExports["lzma_block_header_size"];_lzma_block_header_encode=Module["_lzma_block_header_encode"]=wasmExports["lzma_block_header_encode"];_lzma_block_encoder=Module["_lzma_block_encoder"]=wasmExports["lzma_block_encoder"];_lzma_filter_flags_size=Module["_lzma_filter_flags_size"]=wasmExports["lzma_filter_flags_size"];_lzma_vli_encode=Module["_lzma_vli_encode"]=wasmExports["lzma_vli_encode"];_lzma_filter_flags_encode=Module["_lzma_filter_flags_encode"]=wasmExports["lzma_filter_flags_encode"];_lzma_crc32=Module["_lzma_crc32"]=wasmExports["lzma_crc32"];_lzma_easy_buffer_encode=Module["_lzma_easy_buffer_encode"]=wasmExports["lzma_easy_buffer_encode"];_lzma_stream_buffer_encode=Module["_lzma_stream_buffer_encode"]=wasmExports["lzma_stream_buffer_encode"];_lzma_easy_encoder_memusage=Module["_lzma_easy_encoder_memusage"]=wasmExports["lzma_easy_encoder_memusage"];_lzma_raw_encoder_memusage=Module["_lzma_raw_encoder_memusage"]=wasmExports["lzma_raw_encoder_memusage"];_lzma_raw_buffer_encode=Module["_lzma_raw_buffer_encode"]=wasmExports["lzma_raw_buffer_encode"];_lzma_filter_encoder_is_supported=Module["_lzma_filter_encoder_is_supported"]=wasmExports["lzma_filter_encoder_is_supported"];_lzma_filters_update=Module["_lzma_filters_update"]=wasmExports["lzma_filters_update"];_lzma_index_encoder=Module["_lzma_index_encoder"]=wasmExports["lzma_index_encoder"];_lzma_index_buffer_encode=Module["_lzma_index_buffer_encode"]=wasmExports["lzma_index_buffer_encode"];_lzma_stream_buffer_bound=Module["_lzma_stream_buffer_bound"]=wasmExports["lzma_stream_buffer_bound"];_lzma_stream_header_encode=Module["_lzma_stream_header_encode"]=wasmExports["lzma_stream_header_encode"];_lzma_stream_footer_encode=Module["_lzma_stream_footer_encode"]=wasmExports["lzma_stream_footer_encode"];_lzma_cputhreads=Module["_lzma_cputhreads"]=wasmExports["lzma_cputhreads"];_lzma_stream_encoder_mt=Module["_lzma_stream_encoder_mt"]=wasmExports["lzma_stream_encoder_mt"];_lzma_stream_encoder_mt_memusage=Module["_lzma_stream_encoder_mt_memusage"]=wasmExports["lzma_stream_encoder_mt_memusage"];_pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=wasmExports["pthread_condattr_destroy"];_lzma_block_buffer_decode=Module["_lzma_block_buffer_decode"]=wasmExports["lzma_block_buffer_decode"];_lzma_block_decoder=Module["_lzma_block_decoder"]=wasmExports["lzma_block_decoder"];_lzma_block_header_decode=Module["_lzma_block_header_decode"]=wasmExports["lzma_block_header_decode"];_lzma_vli_decode=Module["_lzma_vli_decode"]=wasmExports["lzma_vli_decode"];_lzma_filter_flags_decode=Module["_lzma_filter_flags_decode"]=wasmExports["lzma_filter_flags_decode"];_lzma_easy_decoder_memusage=Module["_lzma_easy_decoder_memusage"]=wasmExports["lzma_easy_decoder_memusage"];_lzma_raw_decoder_memusage=Module["_lzma_raw_decoder_memusage"]=wasmExports["lzma_raw_decoder_memusage"];_lzma_raw_buffer_decode=Module["_lzma_raw_buffer_decode"]=wasmExports["lzma_raw_buffer_decode"];_lzma_filter_decoder_is_supported=Module["_lzma_filter_decoder_is_supported"]=wasmExports["lzma_filter_decoder_is_supported"];_lzma_index_decoder=Module["_lzma_index_decoder"]=wasmExports["lzma_index_decoder"];_lzma_index_buffer_decode=Module["_lzma_index_buffer_decode"]=wasmExports["lzma_index_buffer_decode"];_lzma_index_hash_init=Module["_lzma_index_hash_init"]=wasmExports["lzma_index_hash_init"];_lzma_index_hash_end=Module["_lzma_index_hash_end"]=wasmExports["lzma_index_hash_end"];_lzma_index_hash_size=Module["_lzma_index_hash_size"]=wasmExports["lzma_index_hash_size"];_lzma_index_hash_append=Module["_lzma_index_hash_append"]=wasmExports["lzma_index_hash_append"];_lzma_index_hash_decode=Module["_lzma_index_hash_decode"]=wasmExports["lzma_index_hash_decode"];_lzma_stream_buffer_decode=Module["_lzma_stream_buffer_decode"]=wasmExports["lzma_stream_buffer_decode"];_lzma_stream_header_decode=Module["_lzma_stream_header_decode"]=wasmExports["lzma_stream_header_decode"];_lzma_stream_footer_decode=Module["_lzma_stream_footer_decode"]=wasmExports["lzma_stream_footer_decode"];_lzma_crc64=Module["_lzma_crc64"]=wasmExports["lzma_crc64"];_lzma_mf_is_supported=Module["_lzma_mf_is_supported"]=wasmExports["lzma_mf_is_supported"];_lzma_mode_is_supported=Module["_lzma_mode_is_supported"]=wasmExports["lzma_mode_is_supported"];_sqlite3_status64=Module["_sqlite3_status64"]=wasmExports["sqlite3_status64"];_sqlite3_log=Module["_sqlite3_log"]=wasmExports["sqlite3_log"];_sqlite3_status=Module["_sqlite3_status"]=wasmExports["sqlite3_status"];_sqlite3_db_status=Module["_sqlite3_db_status"]=wasmExports["sqlite3_db_status"];_sqlite3_msize=Module["_sqlite3_msize"]=wasmExports["sqlite3_msize"];_sqlite3_vfs_find=Module["_sqlite3_vfs_find"]=wasmExports["sqlite3_vfs_find"];_sqlite3_config=Module["_sqlite3_config"]=wasmExports["sqlite3_config"];_sqlite3_os_init=Module["_sqlite3_os_init"]=wasmExports["sqlite3_os_init"];_sqlite3_vfs_register=Module["_sqlite3_vfs_register"]=wasmExports["sqlite3_vfs_register"];_sqlite3_vfs_unregister=Module["_sqlite3_vfs_unregister"]=wasmExports["sqlite3_vfs_unregister"];_sqlite3_release_memory=Module["_sqlite3_release_memory"]=wasmExports["sqlite3_release_memory"];_sqlite3_memory_alarm=Module["_sqlite3_memory_alarm"]=wasmExports["sqlite3_memory_alarm"];_sqlite3_soft_heap_limit64=Module["_sqlite3_soft_heap_limit64"]=wasmExports["sqlite3_soft_heap_limit64"];_sqlite3_memory_used=Module["_sqlite3_memory_used"]=wasmExports["sqlite3_memory_used"];_sqlite3_soft_heap_limit=Module["_sqlite3_soft_heap_limit"]=wasmExports["sqlite3_soft_heap_limit"];_sqlite3_hard_heap_limit64=Module["_sqlite3_hard_heap_limit64"]=wasmExports["sqlite3_hard_heap_limit64"];_sqlite3_memory_highwater=Module["_sqlite3_memory_highwater"]=wasmExports["sqlite3_memory_highwater"];_sqlite3_malloc=Module["_sqlite3_malloc"]=wasmExports["sqlite3_malloc"];_sqlite3_realloc=Module["_sqlite3_realloc"]=wasmExports["sqlite3_realloc"];_sqlite3_realloc64=Module["_sqlite3_realloc64"]=wasmExports["sqlite3_realloc64"];_sqlite3_str_vappendf=Module["_sqlite3_str_vappendf"]=wasmExports["sqlite3_str_vappendf"];_sqlite3_str_append=Module["_sqlite3_str_append"]=wasmExports["sqlite3_str_append"];___multf3=Module["___multf3"]=wasmExports["__multf3"];___addtf3=Module["___addtf3"]=wasmExports["__addtf3"];___gttf2=Module["___gttf2"]=wasmExports["__gttf2"];___getf2=Module["___getf2"]=wasmExports["__getf2"];___divtf3=Module["___divtf3"]=wasmExports["__divtf3"];___lttf2=Module["___lttf2"]=wasmExports["__lttf2"];_sqlite3_str_appendf=Module["_sqlite3_str_appendf"]=wasmExports["sqlite3_str_appendf"];_sqlite3_str_appendchar=Module["_sqlite3_str_appendchar"]=wasmExports["sqlite3_str_appendchar"];_sqlite3_str_reset=Module["_sqlite3_str_reset"]=wasmExports["sqlite3_str_reset"];___fixtfsi=Module["___fixtfsi"]=wasmExports["__fixtfsi"];___floatsitf=Module["___floatsitf"]=wasmExports["__floatsitf"];___subtf3=Module["___subtf3"]=wasmExports["__subtf3"];_sqlite3_str_appendall=Module["_sqlite3_str_appendall"]=wasmExports["sqlite3_str_appendall"];_sqlite3_str_finish=Module["_sqlite3_str_finish"]=wasmExports["sqlite3_str_finish"];_sqlite3_str_errcode=Module["_sqlite3_str_errcode"]=wasmExports["sqlite3_str_errcode"];_sqlite3_str_length=Module["_sqlite3_str_length"]=wasmExports["sqlite3_str_length"];_sqlite3_str_value=Module["_sqlite3_str_value"]=wasmExports["sqlite3_str_value"];_sqlite3_str_new=Module["_sqlite3_str_new"]=wasmExports["sqlite3_str_new"];_sqlite3_vmprintf=Module["_sqlite3_vmprintf"]=wasmExports["sqlite3_vmprintf"];_sqlite3_mprintf=Module["_sqlite3_mprintf"]=wasmExports["sqlite3_mprintf"];_sqlite3_vsnprintf=Module["_sqlite3_vsnprintf"]=wasmExports["sqlite3_vsnprintf"];_sqlite3_snprintf=Module["_sqlite3_snprintf"]=wasmExports["sqlite3_snprintf"];_sqlite3_randomness=Module["_sqlite3_randomness"]=wasmExports["sqlite3_randomness"];_sqlite3_strnicmp=Module["_sqlite3_strnicmp"]=wasmExports["sqlite3_strnicmp"];_sqlite3_uri_parameter=Module["_sqlite3_uri_parameter"]=wasmExports["sqlite3_uri_parameter"];_sqlite3_uri_boolean=Module["_sqlite3_uri_boolean"]=wasmExports["sqlite3_uri_boolean"];_sqlite3_os_end=Module["_sqlite3_os_end"]=wasmExports["sqlite3_os_end"];_sqlite3_column_int=Module["_sqlite3_column_int"]=wasmExports["sqlite3_column_int"];_sqlite3_file_control=Module["_sqlite3_file_control"]=wasmExports["sqlite3_file_control"];_sqlite3_database_file_object=Module["_sqlite3_database_file_object"]=wasmExports["sqlite3_database_file_object"];_sqlite3_enable_shared_cache=Module["_sqlite3_enable_shared_cache"]=wasmExports["sqlite3_enable_shared_cache"];_sqlite3_expired=Module["_sqlite3_expired"]=wasmExports["sqlite3_expired"];_sqlite3_clear_bindings=Module["_sqlite3_clear_bindings"]=wasmExports["sqlite3_clear_bindings"];_sqlite3_value_bytes16=Module["_sqlite3_value_bytes16"]=wasmExports["sqlite3_value_bytes16"];_sqlite3_value_int=Module["_sqlite3_value_int"]=wasmExports["sqlite3_value_int"];_sqlite3_value_subtype=Module["_sqlite3_value_subtype"]=wasmExports["sqlite3_value_subtype"];_sqlite3_value_pointer=Module["_sqlite3_value_pointer"]=wasmExports["sqlite3_value_pointer"];_sqlite3_value_text16=Module["_sqlite3_value_text16"]=wasmExports["sqlite3_value_text16"];_sqlite3_value_text16be=Module["_sqlite3_value_text16be"]=wasmExports["sqlite3_value_text16be"];_sqlite3_value_text16le=Module["_sqlite3_value_text16le"]=wasmExports["sqlite3_value_text16le"];_sqlite3_value_nochange=Module["_sqlite3_value_nochange"]=wasmExports["sqlite3_value_nochange"];_sqlite3_value_frombind=Module["_sqlite3_value_frombind"]=wasmExports["sqlite3_value_frombind"];_sqlite3_value_dup=Module["_sqlite3_value_dup"]=wasmExports["sqlite3_value_dup"];_sqlite3_value_free=Module["_sqlite3_value_free"]=wasmExports["sqlite3_value_free"];_sqlite3_result_blob64=Module["_sqlite3_result_blob64"]=wasmExports["sqlite3_result_blob64"];_sqlite3_result_error16=Module["_sqlite3_result_error16"]=wasmExports["sqlite3_result_error16"];_sqlite3_result_int=Module["_sqlite3_result_int"]=wasmExports["sqlite3_result_int"];_sqlite3_result_pointer=Module["_sqlite3_result_pointer"]=wasmExports["sqlite3_result_pointer"];_sqlite3_result_subtype=Module["_sqlite3_result_subtype"]=wasmExports["sqlite3_result_subtype"];_sqlite3_result_text64=Module["_sqlite3_result_text64"]=wasmExports["sqlite3_result_text64"];_sqlite3_result_text16=Module["_sqlite3_result_text16"]=wasmExports["sqlite3_result_text16"];_sqlite3_result_text16be=Module["_sqlite3_result_text16be"]=wasmExports["sqlite3_result_text16be"];_sqlite3_result_text16le=Module["_sqlite3_result_text16le"]=wasmExports["sqlite3_result_text16le"];_sqlite3_result_value=Module["_sqlite3_result_value"]=wasmExports["sqlite3_result_value"];_sqlite3_result_zeroblob=Module["_sqlite3_result_zeroblob"]=wasmExports["sqlite3_result_zeroblob"];_sqlite3_result_zeroblob64=Module["_sqlite3_result_zeroblob64"]=wasmExports["sqlite3_result_zeroblob64"];_sqlite3_result_error_code=Module["_sqlite3_result_error_code"]=wasmExports["sqlite3_result_error_code"];_sqlite3_vtab_nochange=Module["_sqlite3_vtab_nochange"]=wasmExports["sqlite3_vtab_nochange"];_sqlite3_vtab_in_first=Module["_sqlite3_vtab_in_first"]=wasmExports["sqlite3_vtab_in_first"];_sqlite3_vtab_in_next=Module["_sqlite3_vtab_in_next"]=wasmExports["sqlite3_vtab_in_next"];_sqlite3_get_auxdata=Module["_sqlite3_get_auxdata"]=wasmExports["sqlite3_get_auxdata"];_sqlite3_set_auxdata=Module["_sqlite3_set_auxdata"]=wasmExports["sqlite3_set_auxdata"];_sqlite3_aggregate_count=Module["_sqlite3_aggregate_count"]=wasmExports["sqlite3_aggregate_count"];_sqlite3_column_bytes16=Module["_sqlite3_column_bytes16"]=wasmExports["sqlite3_column_bytes16"];_sqlite3_column_value=Module["_sqlite3_column_value"]=wasmExports["sqlite3_column_value"];_sqlite3_column_text16=Module["_sqlite3_column_text16"]=wasmExports["sqlite3_column_text16"];_sqlite3_column_name16=Module["_sqlite3_column_name16"]=wasmExports["sqlite3_column_name16"];_sqlite3_column_decltype16=Module["_sqlite3_column_decltype16"]=wasmExports["sqlite3_column_decltype16"];_sqlite3_bind_blob64=Module["_sqlite3_bind_blob64"]=wasmExports["sqlite3_bind_blob64"];_sqlite3_bind_int=Module["_sqlite3_bind_int"]=wasmExports["sqlite3_bind_int"];_sqlite3_bind_pointer=Module["_sqlite3_bind_pointer"]=wasmExports["sqlite3_bind_pointer"];_sqlite3_bind_text64=Module["_sqlite3_bind_text64"]=wasmExports["sqlite3_bind_text64"];_sqlite3_bind_text16=Module["_sqlite3_bind_text16"]=wasmExports["sqlite3_bind_text16"];_sqlite3_bind_value=Module["_sqlite3_bind_value"]=wasmExports["sqlite3_bind_value"];_sqlite3_bind_zeroblob=Module["_sqlite3_bind_zeroblob"]=wasmExports["sqlite3_bind_zeroblob"];_sqlite3_bind_zeroblob64=Module["_sqlite3_bind_zeroblob64"]=wasmExports["sqlite3_bind_zeroblob64"];_sqlite3_bind_parameter_index=Module["_sqlite3_bind_parameter_index"]=wasmExports["sqlite3_bind_parameter_index"];_sqlite3_transfer_bindings=Module["_sqlite3_transfer_bindings"]=wasmExports["sqlite3_transfer_bindings"];_sqlite3_stmt_isexplain=Module["_sqlite3_stmt_isexplain"]=wasmExports["sqlite3_stmt_isexplain"];_sqlite3_next_stmt=Module["_sqlite3_next_stmt"]=wasmExports["sqlite3_next_stmt"];_sqlite3_stmt_status=Module["_sqlite3_stmt_status"]=wasmExports["sqlite3_stmt_status"];_sqlite3_sql=Module["_sqlite3_sql"]=wasmExports["sqlite3_sql"];_sqlite3_value_numeric_type=Module["_sqlite3_value_numeric_type"]=wasmExports["sqlite3_value_numeric_type"];_sqlite3_blob_reopen=Module["_sqlite3_blob_reopen"]=wasmExports["sqlite3_blob_reopen"];_sqlite3_strglob=Module["_sqlite3_strglob"]=wasmExports["sqlite3_strglob"];_sqlite3_strlike=Module["_sqlite3_strlike"]=wasmExports["sqlite3_strlike"];_sqlite3_load_extension=Module["_sqlite3_load_extension"]=wasmExports["sqlite3_load_extension"];_sqlite3_enable_load_extension=Module["_sqlite3_enable_load_extension"]=wasmExports["sqlite3_enable_load_extension"];_sqlite3_auto_extension=Module["_sqlite3_auto_extension"]=wasmExports["sqlite3_auto_extension"];_sqlite3_cancel_auto_extension=Module["_sqlite3_cancel_auto_extension"]=wasmExports["sqlite3_cancel_auto_extension"];_sqlite3_reset_auto_extension=Module["_sqlite3_reset_auto_extension"]=wasmExports["sqlite3_reset_auto_extension"];_sqlite3_prepare=Module["_sqlite3_prepare"]=wasmExports["sqlite3_prepare"];_sqlite3_prepare_v3=Module["_sqlite3_prepare_v3"]=wasmExports["sqlite3_prepare_v3"];_sqlite3_prepare16=Module["_sqlite3_prepare16"]=wasmExports["sqlite3_prepare16"];_sqlite3_prepare16_v2=Module["_sqlite3_prepare16_v2"]=wasmExports["sqlite3_prepare16_v2"];_sqlite3_prepare16_v3=Module["_sqlite3_prepare16_v3"]=wasmExports["sqlite3_prepare16_v3"];_sqlite3_get_table=Module["_sqlite3_get_table"]=wasmExports["sqlite3_get_table"];_sqlite3_free_table=Module["_sqlite3_free_table"]=wasmExports["sqlite3_free_table"];_sqlite3_create_module=Module["_sqlite3_create_module"]=wasmExports["sqlite3_create_module"];_sqlite3_create_module_v2=Module["_sqlite3_create_module_v2"]=wasmExports["sqlite3_create_module_v2"];_sqlite3_drop_modules=Module["_sqlite3_drop_modules"]=wasmExports["sqlite3_drop_modules"];_sqlite3_declare_vtab=Module["_sqlite3_declare_vtab"]=wasmExports["sqlite3_declare_vtab"];_sqlite3_vtab_on_conflict=Module["_sqlite3_vtab_on_conflict"]=wasmExports["sqlite3_vtab_on_conflict"];_sqlite3_vtab_config=Module["_sqlite3_vtab_config"]=wasmExports["sqlite3_vtab_config"];_sqlite3_vtab_collation=Module["_sqlite3_vtab_collation"]=wasmExports["sqlite3_vtab_collation"];_sqlite3_vtab_in=Module["_sqlite3_vtab_in"]=wasmExports["sqlite3_vtab_in"];_sqlite3_vtab_rhs_value=Module["_sqlite3_vtab_rhs_value"]=wasmExports["sqlite3_vtab_rhs_value"];_sqlite3_vtab_distinct=Module["_sqlite3_vtab_distinct"]=wasmExports["sqlite3_vtab_distinct"];_sqlite3_keyword_name=Module["_sqlite3_keyword_name"]=wasmExports["sqlite3_keyword_name"];_sqlite3_keyword_count=Module["_sqlite3_keyword_count"]=wasmExports["sqlite3_keyword_count"];_sqlite3_keyword_check=Module["_sqlite3_keyword_check"]=wasmExports["sqlite3_keyword_check"];_sqlite3_complete16=Module["_sqlite3_complete16"]=wasmExports["sqlite3_complete16"];_sqlite3_shutdown=Module["_sqlite3_shutdown"]=wasmExports["sqlite3_shutdown"];_sqlite3_db_mutex=Module["_sqlite3_db_mutex"]=wasmExports["sqlite3_db_mutex"];_sqlite3_db_release_memory=Module["_sqlite3_db_release_memory"]=wasmExports["sqlite3_db_release_memory"];_sqlite3_db_cacheflush=Module["_sqlite3_db_cacheflush"]=wasmExports["sqlite3_db_cacheflush"];_sqlite3_set_last_insert_rowid=Module["_sqlite3_set_last_insert_rowid"]=wasmExports["sqlite3_set_last_insert_rowid"];_sqlite3_changes64=Module["_sqlite3_changes64"]=wasmExports["sqlite3_changes64"];_sqlite3_total_changes64=Module["_sqlite3_total_changes64"]=wasmExports["sqlite3_total_changes64"];_sqlite3_txn_state=Module["_sqlite3_txn_state"]=wasmExports["sqlite3_txn_state"];_sqlite3_busy_handler=Module["_sqlite3_busy_handler"]=wasmExports["sqlite3_busy_handler"];_sqlite3_create_function=Module["_sqlite3_create_function"]=wasmExports["sqlite3_create_function"];_sqlite3_create_function16=Module["_sqlite3_create_function16"]=wasmExports["sqlite3_create_function16"];_sqlite3_overload_function=Module["_sqlite3_overload_function"]=wasmExports["sqlite3_overload_function"];_sqlite3_trace=Module["_sqlite3_trace"]=wasmExports["sqlite3_trace"];_sqlite3_profile=Module["_sqlite3_profile"]=wasmExports["sqlite3_profile"];_sqlite3_commit_hook=Module["_sqlite3_commit_hook"]=wasmExports["sqlite3_commit_hook"];_sqlite3_update_hook=Module["_sqlite3_update_hook"]=wasmExports["sqlite3_update_hook"];_sqlite3_rollback_hook=Module["_sqlite3_rollback_hook"]=wasmExports["sqlite3_rollback_hook"];_sqlite3_autovacuum_pages=Module["_sqlite3_autovacuum_pages"]=wasmExports["sqlite3_autovacuum_pages"];_sqlite3_wal_autocheckpoint=Module["_sqlite3_wal_autocheckpoint"]=wasmExports["sqlite3_wal_autocheckpoint"];_sqlite3_wal_hook=Module["_sqlite3_wal_hook"]=wasmExports["sqlite3_wal_hook"];_sqlite3_wal_checkpoint_v2=Module["_sqlite3_wal_checkpoint_v2"]=wasmExports["sqlite3_wal_checkpoint_v2"];_sqlite3_wal_checkpoint=Module["_sqlite3_wal_checkpoint"]=wasmExports["sqlite3_wal_checkpoint"];_sqlite3_error_offset=Module["_sqlite3_error_offset"]=wasmExports["sqlite3_error_offset"];_sqlite3_errmsg16=Module["_sqlite3_errmsg16"]=wasmExports["sqlite3_errmsg16"];_sqlite3_system_errno=Module["_sqlite3_system_errno"]=wasmExports["sqlite3_system_errno"];_sqlite3_open=Module["_sqlite3_open"]=wasmExports["sqlite3_open"];_sqlite3_free_filename=Module["_sqlite3_free_filename"]=wasmExports["sqlite3_free_filename"];_sqlite3_open16=Module["_sqlite3_open16"]=wasmExports["sqlite3_open16"];_sqlite3_create_collation=Module["_sqlite3_create_collation"]=wasmExports["sqlite3_create_collation"];_sqlite3_create_collation16=Module["_sqlite3_create_collation16"]=wasmExports["sqlite3_create_collation16"];_sqlite3_collation_needed=Module["_sqlite3_collation_needed"]=wasmExports["sqlite3_collation_needed"];_sqlite3_collation_needed16=Module["_sqlite3_collation_needed16"]=wasmExports["sqlite3_collation_needed16"];_sqlite3_global_recover=Module["_sqlite3_global_recover"]=wasmExports["sqlite3_global_recover"];_sqlite3_thread_cleanup=Module["_sqlite3_thread_cleanup"]=wasmExports["sqlite3_thread_cleanup"];_sqlite3_table_column_metadata=Module["_sqlite3_table_column_metadata"]=wasmExports["sqlite3_table_column_metadata"];_sqlite3_extended_result_codes=Module["_sqlite3_extended_result_codes"]=wasmExports["sqlite3_extended_result_codes"];_sqlite3_test_control=Module["_sqlite3_test_control"]=wasmExports["sqlite3_test_control"];_sqlite3_create_filename=Module["_sqlite3_create_filename"]=wasmExports["sqlite3_create_filename"];_sqlite3_uri_key=Module["_sqlite3_uri_key"]=wasmExports["sqlite3_uri_key"];_sqlite3_uri_int64=Module["_sqlite3_uri_int64"]=wasmExports["sqlite3_uri_int64"];_sqlite3_filename_database=Module["_sqlite3_filename_database"]=wasmExports["sqlite3_filename_database"];_sqlite3_filename_journal=Module["_sqlite3_filename_journal"]=wasmExports["sqlite3_filename_journal"];_sqlite3_filename_wal=Module["_sqlite3_filename_wal"]=wasmExports["sqlite3_filename_wal"];_sqlite3_db_name=Module["_sqlite3_db_name"]=wasmExports["sqlite3_db_name"];_sqlite3_db_filename=Module["_sqlite3_db_filename"]=wasmExports["sqlite3_db_filename"];_sqlite3_db_readonly=Module["_sqlite3_db_readonly"]=wasmExports["sqlite3_db_readonly"];_sqlite3_compileoption_used=Module["_sqlite3_compileoption_used"]=wasmExports["sqlite3_compileoption_used"];_sqlite3_compileoption_get=Module["_sqlite3_compileoption_get"]=wasmExports["sqlite3_compileoption_get"];_sqlite3_rtree_geometry_callback=Module["_sqlite3_rtree_geometry_callback"]=wasmExports["sqlite3_rtree_geometry_callback"];_sqlite3_rtree_query_callback=Module["_sqlite3_rtree_query_callback"]=wasmExports["sqlite3_rtree_query_callback"];_sqlite3_sourceid=Module["_sqlite3_sourceid"]=wasmExports["sqlite3_sourceid"];___floatditf=Module["___floatditf"]=wasmExports["__floatditf"];_qsort=Module["_qsort"]=wasmExports["qsort"];_posix_fallocate=Module["_posix_fallocate"]=wasmExports["posix_fallocate"];_geteuid=Module["_geteuid"]=wasmExports["geteuid"];_trunc=Module["_trunc"]=wasmExports["trunc"];_FSE_versionNumber=Module["_FSE_versionNumber"]=wasmExports["FSE_versionNumber"];_FSE_isError=Module["_FSE_isError"]=wasmExports["FSE_isError"];_FSE_getErrorName=Module["_FSE_getErrorName"]=wasmExports["FSE_getErrorName"];_ERR_getErrorString=Module["_ERR_getErrorString"]=wasmExports["ERR_getErrorString"];_HUF_isError=Module["_HUF_isError"]=wasmExports["HUF_isError"];_HUF_getErrorName=Module["_HUF_getErrorName"]=wasmExports["HUF_getErrorName"];_FSE_readNCount_bmi2=Module["_FSE_readNCount_bmi2"]=wasmExports["FSE_readNCount_bmi2"];_FSE_readNCount=Module["_FSE_readNCount"]=wasmExports["FSE_readNCount"];_HUF_readStats=Module["_HUF_readStats"]=wasmExports["HUF_readStats"];_HUF_readStats_wksp=Module["_HUF_readStats_wksp"]=wasmExports["HUF_readStats_wksp"];_FSE_decompress_wksp_bmi2=Module["_FSE_decompress_wksp_bmi2"]=wasmExports["FSE_decompress_wksp_bmi2"];_FSE_buildDTable_wksp=Module["_FSE_buildDTable_wksp"]=wasmExports["FSE_buildDTable_wksp"];_POOL_create=Module["_POOL_create"]=wasmExports["POOL_create"];_POOL_create_advanced=Module["_POOL_create_advanced"]=wasmExports["POOL_create_advanced"];_POOL_free=Module["_POOL_free"]=wasmExports["POOL_free"];_POOL_joinJobs=Module["_POOL_joinJobs"]=wasmExports["POOL_joinJobs"];_POOL_resize=Module["_POOL_resize"]=wasmExports["POOL_resize"];_POOL_add=Module["_POOL_add"]=wasmExports["POOL_add"];_POOL_tryAdd=Module["_POOL_tryAdd"]=wasmExports["POOL_tryAdd"];_POOL_sizeof=Module["_POOL_sizeof"]=wasmExports["POOL_sizeof"];_ZSTD_XXH_versionNumber=Module["_ZSTD_XXH_versionNumber"]=wasmExports["ZSTD_XXH_versionNumber"];_ZSTD_XXH32=Module["_ZSTD_XXH32"]=wasmExports["ZSTD_XXH32"];_ZSTD_XXH32_createState=Module["_ZSTD_XXH32_createState"]=wasmExports["ZSTD_XXH32_createState"];_ZSTD_XXH32_freeState=Module["_ZSTD_XXH32_freeState"]=wasmExports["ZSTD_XXH32_freeState"];_ZSTD_XXH32_copyState=Module["_ZSTD_XXH32_copyState"]=wasmExports["ZSTD_XXH32_copyState"];_ZSTD_XXH32_reset=Module["_ZSTD_XXH32_reset"]=wasmExports["ZSTD_XXH32_reset"];_ZSTD_XXH32_update=Module["_ZSTD_XXH32_update"]=wasmExports["ZSTD_XXH32_update"];_ZSTD_XXH32_digest=Module["_ZSTD_XXH32_digest"]=wasmExports["ZSTD_XXH32_digest"];_ZSTD_XXH32_canonicalFromHash=Module["_ZSTD_XXH32_canonicalFromHash"]=wasmExports["ZSTD_XXH32_canonicalFromHash"];_ZSTD_XXH32_hashFromCanonical=Module["_ZSTD_XXH32_hashFromCanonical"]=wasmExports["ZSTD_XXH32_hashFromCanonical"];_ZSTD_XXH64=Module["_ZSTD_XXH64"]=wasmExports["ZSTD_XXH64"];_ZSTD_XXH64_createState=Module["_ZSTD_XXH64_createState"]=wasmExports["ZSTD_XXH64_createState"];_ZSTD_XXH64_freeState=Module["_ZSTD_XXH64_freeState"]=wasmExports["ZSTD_XXH64_freeState"];_ZSTD_XXH64_copyState=Module["_ZSTD_XXH64_copyState"]=wasmExports["ZSTD_XXH64_copyState"];_ZSTD_XXH64_reset=Module["_ZSTD_XXH64_reset"]=wasmExports["ZSTD_XXH64_reset"];_ZSTD_XXH64_update=Module["_ZSTD_XXH64_update"]=wasmExports["ZSTD_XXH64_update"];_ZSTD_XXH64_digest=Module["_ZSTD_XXH64_digest"]=wasmExports["ZSTD_XXH64_digest"];_ZSTD_XXH64_canonicalFromHash=Module["_ZSTD_XXH64_canonicalFromHash"]=wasmExports["ZSTD_XXH64_canonicalFromHash"];_ZSTD_XXH64_hashFromCanonical=Module["_ZSTD_XXH64_hashFromCanonical"]=wasmExports["ZSTD_XXH64_hashFromCanonical"];_ZSTD_getErrorCode=Module["_ZSTD_getErrorCode"]=wasmExports["ZSTD_getErrorCode"];_ZSTD_getErrorString=Module["_ZSTD_getErrorString"]=wasmExports["ZSTD_getErrorString"];_FSE_buildCTable_wksp=Module["_FSE_buildCTable_wksp"]=wasmExports["FSE_buildCTable_wksp"];_FSE_NCountWriteBound=Module["_FSE_NCountWriteBound"]=wasmExports["FSE_NCountWriteBound"];_FSE_writeNCount=Module["_FSE_writeNCount"]=wasmExports["FSE_writeNCount"];_FSE_optimalTableLog_internal=Module["_FSE_optimalTableLog_internal"]=wasmExports["FSE_optimalTableLog_internal"];_FSE_optimalTableLog=Module["_FSE_optimalTableLog"]=wasmExports["FSE_optimalTableLog"];_FSE_normalizeCount=Module["_FSE_normalizeCount"]=wasmExports["FSE_normalizeCount"];_FSE_buildCTable_rle=Module["_FSE_buildCTable_rle"]=wasmExports["FSE_buildCTable_rle"];_FSE_compress_usingCTable=Module["_FSE_compress_usingCTable"]=wasmExports["FSE_compress_usingCTable"];_FSE_compressBound=Module["_FSE_compressBound"]=wasmExports["FSE_compressBound"];_HIST_isError=Module["_HIST_isError"]=wasmExports["HIST_isError"];_HIST_add=Module["_HIST_add"]=wasmExports["HIST_add"];_HIST_count_simple=Module["_HIST_count_simple"]=wasmExports["HIST_count_simple"];_HIST_countFast_wksp=Module["_HIST_countFast_wksp"]=wasmExports["HIST_countFast_wksp"];_HIST_count_wksp=Module["_HIST_count_wksp"]=wasmExports["HIST_count_wksp"];_HIST_countFast=Module["_HIST_countFast"]=wasmExports["HIST_countFast"];_HIST_count=Module["_HIST_count"]=wasmExports["HIST_count"];_HUF_readCTableHeader=Module["_HUF_readCTableHeader"]=wasmExports["HUF_readCTableHeader"];_HUF_writeCTable_wksp=Module["_HUF_writeCTable_wksp"]=wasmExports["HUF_writeCTable_wksp"];_HUF_readCTable=Module["_HUF_readCTable"]=wasmExports["HUF_readCTable"];_HUF_getNbBitsFromCTable=Module["_HUF_getNbBitsFromCTable"]=wasmExports["HUF_getNbBitsFromCTable"];_HUF_buildCTable_wksp=Module["_HUF_buildCTable_wksp"]=wasmExports["HUF_buildCTable_wksp"];_HUF_estimateCompressedSize=Module["_HUF_estimateCompressedSize"]=wasmExports["HUF_estimateCompressedSize"];_HUF_validateCTable=Module["_HUF_validateCTable"]=wasmExports["HUF_validateCTable"];_HUF_compressBound=Module["_HUF_compressBound"]=wasmExports["HUF_compressBound"];_HUF_compress1X_usingCTable=Module["_HUF_compress1X_usingCTable"]=wasmExports["HUF_compress1X_usingCTable"];_HUF_compress4X_usingCTable=Module["_HUF_compress4X_usingCTable"]=wasmExports["HUF_compress4X_usingCTable"];_HUF_cardinality=Module["_HUF_cardinality"]=wasmExports["HUF_cardinality"];_HUF_minTableLog=Module["_HUF_minTableLog"]=wasmExports["HUF_minTableLog"];_HUF_optimalTableLog=Module["_HUF_optimalTableLog"]=wasmExports["HUF_optimalTableLog"];_HUF_compress1X_repeat=Module["_HUF_compress1X_repeat"]=wasmExports["HUF_compress1X_repeat"];_HUF_compress4X_repeat=Module["_HUF_compress4X_repeat"]=wasmExports["HUF_compress4X_repeat"];_ZSTD_createCCtx_advanced=Module["_ZSTD_createCCtx_advanced"]=wasmExports["ZSTD_createCCtx_advanced"];_ZSTD_initStaticCCtx=Module["_ZSTD_initStaticCCtx"]=wasmExports["ZSTD_initStaticCCtx"];_ZSTD_sizeof_CCtx=Module["_ZSTD_sizeof_CCtx"]=wasmExports["ZSTD_sizeof_CCtx"];_ZSTD_sizeof_CStream=Module["_ZSTD_sizeof_CStream"]=wasmExports["ZSTD_sizeof_CStream"];_ZSTD_getSeqStore=Module["_ZSTD_getSeqStore"]=wasmExports["ZSTD_getSeqStore"];_ZSTD_createCCtxParams=Module["_ZSTD_createCCtxParams"]=wasmExports["ZSTD_createCCtxParams"];_ZSTD_freeCCtxParams=Module["_ZSTD_freeCCtxParams"]=wasmExports["ZSTD_freeCCtxParams"];_ZSTD_CCtxParams_reset=Module["_ZSTD_CCtxParams_reset"]=wasmExports["ZSTD_CCtxParams_reset"];_ZSTD_CCtxParams_init=Module["_ZSTD_CCtxParams_init"]=wasmExports["ZSTD_CCtxParams_init"];_ZSTD_CCtxParams_init_advanced=Module["_ZSTD_CCtxParams_init_advanced"]=wasmExports["ZSTD_CCtxParams_init_advanced"];_ZSTD_checkCParams=Module["_ZSTD_checkCParams"]=wasmExports["ZSTD_checkCParams"];_ZSTD_CCtxParams_setParameter=Module["_ZSTD_CCtxParams_setParameter"]=wasmExports["ZSTD_CCtxParams_setParameter"];_ZSTD_CCtx_getParameter=Module["_ZSTD_CCtx_getParameter"]=wasmExports["ZSTD_CCtx_getParameter"];_ZSTD_CCtxParams_getParameter=Module["_ZSTD_CCtxParams_getParameter"]=wasmExports["ZSTD_CCtxParams_getParameter"];_ZSTD_CCtx_setParametersUsingCCtxParams=Module["_ZSTD_CCtx_setParametersUsingCCtxParams"]=wasmExports["ZSTD_CCtx_setParametersUsingCCtxParams"];_ZSTD_CCtx_setCParams=Module["_ZSTD_CCtx_setCParams"]=wasmExports["ZSTD_CCtx_setCParams"];_ZSTD_CCtx_setFParams=Module["_ZSTD_CCtx_setFParams"]=wasmExports["ZSTD_CCtx_setFParams"];_ZSTD_CCtx_setParams=Module["_ZSTD_CCtx_setParams"]=wasmExports["ZSTD_CCtx_setParams"];_ZSTD_CCtx_loadDictionary_advanced=Module["_ZSTD_CCtx_loadDictionary_advanced"]=wasmExports["ZSTD_CCtx_loadDictionary_advanced"];_ZSTD_CCtx_loadDictionary_byReference=Module["_ZSTD_CCtx_loadDictionary_byReference"]=wasmExports["ZSTD_CCtx_loadDictionary_byReference"];_ZSTD_CCtx_refThreadPool=Module["_ZSTD_CCtx_refThreadPool"]=wasmExports["ZSTD_CCtx_refThreadPool"];_ZSTD_CCtx_refPrefix_advanced=Module["_ZSTD_CCtx_refPrefix_advanced"]=wasmExports["ZSTD_CCtx_refPrefix_advanced"];_ZSTD_cycleLog=Module["_ZSTD_cycleLog"]=wasmExports["ZSTD_cycleLog"];_ZSTD_adjustCParams=Module["_ZSTD_adjustCParams"]=wasmExports["ZSTD_adjustCParams"];_ZSTD_getCParamsFromCCtxParams=Module["_ZSTD_getCParamsFromCCtxParams"]=wasmExports["ZSTD_getCParamsFromCCtxParams"];_ZSTD_estimateCCtxSize_usingCCtxParams=Module["_ZSTD_estimateCCtxSize_usingCCtxParams"]=wasmExports["ZSTD_estimateCCtxSize_usingCCtxParams"];_ZSTD_ldm_getTableSize=Module["_ZSTD_ldm_getTableSize"]=wasmExports["ZSTD_ldm_getTableSize"];_ZSTD_ldm_getMaxNbSeq=Module["_ZSTD_ldm_getMaxNbSeq"]=wasmExports["ZSTD_ldm_getMaxNbSeq"];_ZSTD_estimateCCtxSize_usingCParams=Module["_ZSTD_estimateCCtxSize_usingCParams"]=wasmExports["ZSTD_estimateCCtxSize_usingCParams"];_ZSTD_ldm_adjustParameters=Module["_ZSTD_ldm_adjustParameters"]=wasmExports["ZSTD_ldm_adjustParameters"];_ZSTD_estimateCCtxSize=Module["_ZSTD_estimateCCtxSize"]=wasmExports["ZSTD_estimateCCtxSize"];_ZSTD_estimateCStreamSize_usingCCtxParams=Module["_ZSTD_estimateCStreamSize_usingCCtxParams"]=wasmExports["ZSTD_estimateCStreamSize_usingCCtxParams"];_ZSTD_estimateCStreamSize_usingCParams=Module["_ZSTD_estimateCStreamSize_usingCParams"]=wasmExports["ZSTD_estimateCStreamSize_usingCParams"];_ZSTD_estimateCStreamSize=Module["_ZSTD_estimateCStreamSize"]=wasmExports["ZSTD_estimateCStreamSize"];_ZSTD_getFrameProgression=Module["_ZSTD_getFrameProgression"]=wasmExports["ZSTD_getFrameProgression"];_ZSTD_toFlushNow=Module["_ZSTD_toFlushNow"]=wasmExports["ZSTD_toFlushNow"];_ZSTD_reset_compressedBlockState=Module["_ZSTD_reset_compressedBlockState"]=wasmExports["ZSTD_reset_compressedBlockState"];_ZSTD_invalidateRepCodes=Module["_ZSTD_invalidateRepCodes"]=wasmExports["ZSTD_invalidateRepCodes"];_ZSTD_copyCCtx=Module["_ZSTD_copyCCtx"]=wasmExports["ZSTD_copyCCtx"];_ZSTD_seqToCodes=Module["_ZSTD_seqToCodes"]=wasmExports["ZSTD_seqToCodes"];_ZSTD_selectBlockCompressor=Module["_ZSTD_selectBlockCompressor"]=wasmExports["ZSTD_selectBlockCompressor"];_ZSTD_resetSeqStore=Module["_ZSTD_resetSeqStore"]=wasmExports["ZSTD_resetSeqStore"];_ZSTD_sequenceBound=Module["_ZSTD_sequenceBound"]=wasmExports["ZSTD_sequenceBound"];_ZSTD_generateSequences=Module["_ZSTD_generateSequences"]=wasmExports["ZSTD_generateSequences"];_ZSTD_compress2=Module["_ZSTD_compress2"]=wasmExports["ZSTD_compress2"];_ZSTD_mergeBlockDelimiters=Module["_ZSTD_mergeBlockDelimiters"]=wasmExports["ZSTD_mergeBlockDelimiters"];_ZSTD_buildBlockEntropyStats=Module["_ZSTD_buildBlockEntropyStats"]=wasmExports["ZSTD_buildBlockEntropyStats"];_ZSTD_writeSkippableFrame=Module["_ZSTD_writeSkippableFrame"]=wasmExports["ZSTD_writeSkippableFrame"];_ZSTD_writeLastEmptyBlock=Module["_ZSTD_writeLastEmptyBlock"]=wasmExports["ZSTD_writeLastEmptyBlock"];_ZSTD_referenceExternalSequences=Module["_ZSTD_referenceExternalSequences"]=wasmExports["ZSTD_referenceExternalSequences"];_ZSTD_compressContinue_public=Module["_ZSTD_compressContinue_public"]=wasmExports["ZSTD_compressContinue_public"];_ZSTD_splitBlock=Module["_ZSTD_splitBlock"]=wasmExports["ZSTD_splitBlock"];_ZSTD_compressSuperBlock=Module["_ZSTD_compressSuperBlock"]=wasmExports["ZSTD_compressSuperBlock"];_ZSTD_compressContinue=Module["_ZSTD_compressContinue"]=wasmExports["ZSTD_compressContinue"];_ZSTD_getBlockSize=Module["_ZSTD_getBlockSize"]=wasmExports["ZSTD_getBlockSize"];_ZSTD_compressBlock_deprecated=Module["_ZSTD_compressBlock_deprecated"]=wasmExports["ZSTD_compressBlock_deprecated"];_ZSTD_compressBlock=Module["_ZSTD_compressBlock"]=wasmExports["ZSTD_compressBlock"];_ZSTD_loadCEntropy=Module["_ZSTD_loadCEntropy"]=wasmExports["ZSTD_loadCEntropy"];_ZSTD_compressBegin_advanced_internal=Module["_ZSTD_compressBegin_advanced_internal"]=wasmExports["ZSTD_compressBegin_advanced_internal"];_ZSTD_compressBegin_advanced=Module["_ZSTD_compressBegin_advanced"]=wasmExports["ZSTD_compressBegin_advanced"];_ZSTD_compressBegin_usingDict=Module["_ZSTD_compressBegin_usingDict"]=wasmExports["ZSTD_compressBegin_usingDict"];_ZSTD_compressBegin=Module["_ZSTD_compressBegin"]=wasmExports["ZSTD_compressBegin"];_ZSTD_CCtx_trace=Module["_ZSTD_CCtx_trace"]=wasmExports["ZSTD_CCtx_trace"];_ZSTD_compressEnd_public=Module["_ZSTD_compressEnd_public"]=wasmExports["ZSTD_compressEnd_public"];_ZSTD_compressEnd=Module["_ZSTD_compressEnd"]=wasmExports["ZSTD_compressEnd"];_ZSTD_compress_advanced=Module["_ZSTD_compress_advanced"]=wasmExports["ZSTD_compress_advanced"];_ZSTD_compress_advanced_internal=Module["_ZSTD_compress_advanced_internal"]=wasmExports["ZSTD_compress_advanced_internal"];_ZSTD_compress_usingDict=Module["_ZSTD_compress_usingDict"]=wasmExports["ZSTD_compress_usingDict"];_ZSTD_compressCCtx=Module["_ZSTD_compressCCtx"]=wasmExports["ZSTD_compressCCtx"];_ZSTD_compress=Module["_ZSTD_compress"]=wasmExports["ZSTD_compress"];_ZSTD_estimateCDictSize_advanced=Module["_ZSTD_estimateCDictSize_advanced"]=wasmExports["ZSTD_estimateCDictSize_advanced"];_ZSTD_estimateCDictSize=Module["_ZSTD_estimateCDictSize"]=wasmExports["ZSTD_estimateCDictSize"];_ZSTD_sizeof_CDict=Module["_ZSTD_sizeof_CDict"]=wasmExports["ZSTD_sizeof_CDict"];_ZSTD_createCDict_advanced=Module["_ZSTD_createCDict_advanced"]=wasmExports["ZSTD_createCDict_advanced"];_ZSTD_createCDict_advanced2=Module["_ZSTD_createCDict_advanced2"]=wasmExports["ZSTD_createCDict_advanced2"];_ZSTD_createCDict_byReference=Module["_ZSTD_createCDict_byReference"]=wasmExports["ZSTD_createCDict_byReference"];_ZSTD_initStaticCDict=Module["_ZSTD_initStaticCDict"]=wasmExports["ZSTD_initStaticCDict"];_ZSTD_getCParamsFromCDict=Module["_ZSTD_getCParamsFromCDict"]=wasmExports["ZSTD_getCParamsFromCDict"];_ZSTD_getDictID_fromCDict=Module["_ZSTD_getDictID_fromCDict"]=wasmExports["ZSTD_getDictID_fromCDict"];_ZSTD_compressBegin_usingCDict_advanced=Module["_ZSTD_compressBegin_usingCDict_advanced"]=wasmExports["ZSTD_compressBegin_usingCDict_advanced"];_ZSTD_compressBegin_usingCDict_deprecated=Module["_ZSTD_compressBegin_usingCDict_deprecated"]=wasmExports["ZSTD_compressBegin_usingCDict_deprecated"];_ZSTD_compressBegin_usingCDict=Module["_ZSTD_compressBegin_usingCDict"]=wasmExports["ZSTD_compressBegin_usingCDict"];_ZSTD_compress_usingCDict_advanced=Module["_ZSTD_compress_usingCDict_advanced"]=wasmExports["ZSTD_compress_usingCDict_advanced"];_ZSTD_compress_usingCDict=Module["_ZSTD_compress_usingCDict"]=wasmExports["ZSTD_compress_usingCDict"];_ZSTD_createCStream=Module["_ZSTD_createCStream"]=wasmExports["ZSTD_createCStream"];_ZSTD_createCStream_advanced=Module["_ZSTD_createCStream_advanced"]=wasmExports["ZSTD_createCStream_advanced"];_ZSTD_initStaticCStream=Module["_ZSTD_initStaticCStream"]=wasmExports["ZSTD_initStaticCStream"];_ZSTD_freeCStream=Module["_ZSTD_freeCStream"]=wasmExports["ZSTD_freeCStream"];_ZSTD_CStreamInSize=Module["_ZSTD_CStreamInSize"]=wasmExports["ZSTD_CStreamInSize"];_ZSTD_CStreamOutSize=Module["_ZSTD_CStreamOutSize"]=wasmExports["ZSTD_CStreamOutSize"];_ZSTD_resetCStream=Module["_ZSTD_resetCStream"]=wasmExports["ZSTD_resetCStream"];_ZSTD_initCStream_internal=Module["_ZSTD_initCStream_internal"]=wasmExports["ZSTD_initCStream_internal"];_ZSTD_initCStream_usingCDict_advanced=Module["_ZSTD_initCStream_usingCDict_advanced"]=wasmExports["ZSTD_initCStream_usingCDict_advanced"];_ZSTD_initCStream_usingCDict=Module["_ZSTD_initCStream_usingCDict"]=wasmExports["ZSTD_initCStream_usingCDict"];_ZSTD_initCStream_advanced=Module["_ZSTD_initCStream_advanced"]=wasmExports["ZSTD_initCStream_advanced"];_ZSTD_initCStream_usingDict=Module["_ZSTD_initCStream_usingDict"]=wasmExports["ZSTD_initCStream_usingDict"];_ZSTD_initCStream_srcSize=Module["_ZSTD_initCStream_srcSize"]=wasmExports["ZSTD_initCStream_srcSize"];_ZSTD_initCStream=Module["_ZSTD_initCStream"]=wasmExports["ZSTD_initCStream"];_ZSTD_compressStream=Module["_ZSTD_compressStream"]=wasmExports["ZSTD_compressStream"];_ZSTD_compressStream2_simpleArgs=Module["_ZSTD_compressStream2_simpleArgs"]=wasmExports["ZSTD_compressStream2_simpleArgs"];_ZSTD_compressSequences=Module["_ZSTD_compressSequences"]=wasmExports["ZSTD_compressSequences"];_ZSTD_convertBlockSequences=Module["_ZSTD_convertBlockSequences"]=wasmExports["ZSTD_convertBlockSequences"];_ZSTD_get1BlockSummary=Module["_ZSTD_get1BlockSummary"]=wasmExports["ZSTD_get1BlockSummary"];_ZSTD_compressSequencesAndLiterals=Module["_ZSTD_compressSequencesAndLiterals"]=wasmExports["ZSTD_compressSequencesAndLiterals"];_ZSTD_flushStream=Module["_ZSTD_flushStream"]=wasmExports["ZSTD_flushStream"];_ZSTD_endStream=Module["_ZSTD_endStream"]=wasmExports["ZSTD_endStream"];_ZSTD_getCParams=Module["_ZSTD_getCParams"]=wasmExports["ZSTD_getCParams"];_ZSTD_getParams=Module["_ZSTD_getParams"]=wasmExports["ZSTD_getParams"];_ZSTD_registerSequenceProducer=Module["_ZSTD_registerSequenceProducer"]=wasmExports["ZSTD_registerSequenceProducer"];_ZSTD_CCtxParams_registerSequenceProducer=Module["_ZSTD_CCtxParams_registerSequenceProducer"]=wasmExports["ZSTD_CCtxParams_registerSequenceProducer"];_ZSTD_selectEncodingType=Module["_ZSTD_selectEncodingType"]=wasmExports["ZSTD_selectEncodingType"];_ZSTD_buildCTable=Module["_ZSTD_buildCTable"]=wasmExports["ZSTD_buildCTable"];_ZSTD_ldm_skipRawSeqStoreBytes=Module["_ZSTD_ldm_skipRawSeqStoreBytes"]=wasmExports["ZSTD_ldm_skipRawSeqStoreBytes"];_ZSTD_ldm_skipSequences=Module["_ZSTD_ldm_skipSequences"]=wasmExports["ZSTD_ldm_skipSequences"];_ZSTD_ldm_blockCompress=Module["_ZSTD_ldm_blockCompress"]=wasmExports["ZSTD_ldm_blockCompress"];_ZSTD_ldm_generateSequences=Module["_ZSTD_ldm_generateSequences"]=wasmExports["ZSTD_ldm_generateSequences"];_ZSTD_crossEntropyCost=Module["_ZSTD_crossEntropyCost"]=wasmExports["ZSTD_crossEntropyCost"];_ZSTD_fseBitCost=Module["_ZSTD_fseBitCost"]=wasmExports["ZSTD_fseBitCost"];_ZSTD_compressLiterals=Module["_ZSTD_compressLiterals"]=wasmExports["ZSTD_compressLiterals"];_ZSTD_encodeSequences=Module["_ZSTD_encodeSequences"]=wasmExports["ZSTD_encodeSequences"];_ZSTD_ldm_fillHashTable=Module["_ZSTD_ldm_fillHashTable"]=wasmExports["ZSTD_ldm_fillHashTable"];_ZSTD_fillHashTable=Module["_ZSTD_fillHashTable"]=wasmExports["ZSTD_fillHashTable"];_ZSTD_fillDoubleHashTable=Module["_ZSTD_fillDoubleHashTable"]=wasmExports["ZSTD_fillDoubleHashTable"];_ZSTD_dedicatedDictSearch_lazy_loadDictionary=Module["_ZSTD_dedicatedDictSearch_lazy_loadDictionary"]=wasmExports["ZSTD_dedicatedDictSearch_lazy_loadDictionary"];_ZSTD_row_update=Module["_ZSTD_row_update"]=wasmExports["ZSTD_row_update"];_ZSTD_insertAndFindFirstIndex=Module["_ZSTD_insertAndFindFirstIndex"]=wasmExports["ZSTD_insertAndFindFirstIndex"];_ZSTD_updateTree=Module["_ZSTD_updateTree"]=wasmExports["ZSTD_updateTree"];_ZSTD_compressBlock_fast=Module["_ZSTD_compressBlock_fast"]=wasmExports["ZSTD_compressBlock_fast"];_ZSTD_compressBlock_doubleFast=Module["_ZSTD_compressBlock_doubleFast"]=wasmExports["ZSTD_compressBlock_doubleFast"];_ZSTD_compressBlock_greedy=Module["_ZSTD_compressBlock_greedy"]=wasmExports["ZSTD_compressBlock_greedy"];_ZSTD_compressBlock_lazy=Module["_ZSTD_compressBlock_lazy"]=wasmExports["ZSTD_compressBlock_lazy"];_ZSTD_compressBlock_lazy2=Module["_ZSTD_compressBlock_lazy2"]=wasmExports["ZSTD_compressBlock_lazy2"];_ZSTD_compressBlock_btlazy2=Module["_ZSTD_compressBlock_btlazy2"]=wasmExports["ZSTD_compressBlock_btlazy2"];_ZSTD_compressBlock_btopt=Module["_ZSTD_compressBlock_btopt"]=wasmExports["ZSTD_compressBlock_btopt"];_ZSTD_compressBlock_btultra=Module["_ZSTD_compressBlock_btultra"]=wasmExports["ZSTD_compressBlock_btultra"];_ZSTD_compressBlock_btultra2=Module["_ZSTD_compressBlock_btultra2"]=wasmExports["ZSTD_compressBlock_btultra2"];_ZSTD_compressBlock_fast_extDict=Module["_ZSTD_compressBlock_fast_extDict"]=wasmExports["ZSTD_compressBlock_fast_extDict"];_ZSTD_compressBlock_doubleFast_extDict=Module["_ZSTD_compressBlock_doubleFast_extDict"]=wasmExports["ZSTD_compressBlock_doubleFast_extDict"];_ZSTD_compressBlock_greedy_extDict=Module["_ZSTD_compressBlock_greedy_extDict"]=wasmExports["ZSTD_compressBlock_greedy_extDict"];_ZSTD_compressBlock_lazy_extDict=Module["_ZSTD_compressBlock_lazy_extDict"]=wasmExports["ZSTD_compressBlock_lazy_extDict"];_ZSTD_compressBlock_lazy2_extDict=Module["_ZSTD_compressBlock_lazy2_extDict"]=wasmExports["ZSTD_compressBlock_lazy2_extDict"];_ZSTD_compressBlock_btlazy2_extDict=Module["_ZSTD_compressBlock_btlazy2_extDict"]=wasmExports["ZSTD_compressBlock_btlazy2_extDict"];_ZSTD_compressBlock_btopt_extDict=Module["_ZSTD_compressBlock_btopt_extDict"]=wasmExports["ZSTD_compressBlock_btopt_extDict"];_ZSTD_compressBlock_btultra_extDict=Module["_ZSTD_compressBlock_btultra_extDict"]=wasmExports["ZSTD_compressBlock_btultra_extDict"];_ZSTD_compressBlock_fast_dictMatchState=Module["_ZSTD_compressBlock_fast_dictMatchState"]=wasmExports["ZSTD_compressBlock_fast_dictMatchState"];_ZSTD_compressBlock_doubleFast_dictMatchState=Module["_ZSTD_compressBlock_doubleFast_dictMatchState"]=wasmExports["ZSTD_compressBlock_doubleFast_dictMatchState"];_ZSTD_compressBlock_greedy_dictMatchState=Module["_ZSTD_compressBlock_greedy_dictMatchState"]=wasmExports["ZSTD_compressBlock_greedy_dictMatchState"];_ZSTD_compressBlock_lazy_dictMatchState=Module["_ZSTD_compressBlock_lazy_dictMatchState"]=wasmExports["ZSTD_compressBlock_lazy_dictMatchState"];_ZSTD_compressBlock_lazy2_dictMatchState=Module["_ZSTD_compressBlock_lazy2_dictMatchState"]=wasmExports["ZSTD_compressBlock_lazy2_dictMatchState"];_ZSTD_compressBlock_btlazy2_dictMatchState=Module["_ZSTD_compressBlock_btlazy2_dictMatchState"]=wasmExports["ZSTD_compressBlock_btlazy2_dictMatchState"];_ZSTD_compressBlock_btopt_dictMatchState=Module["_ZSTD_compressBlock_btopt_dictMatchState"]=wasmExports["ZSTD_compressBlock_btopt_dictMatchState"];_ZSTD_compressBlock_btultra_dictMatchState=Module["_ZSTD_compressBlock_btultra_dictMatchState"]=wasmExports["ZSTD_compressBlock_btultra_dictMatchState"];_ZSTD_compressBlock_greedy_dedicatedDictSearch=Module["_ZSTD_compressBlock_greedy_dedicatedDictSearch"]=wasmExports["ZSTD_compressBlock_greedy_dedicatedDictSearch"];_ZSTD_compressBlock_lazy_dedicatedDictSearch=Module["_ZSTD_compressBlock_lazy_dedicatedDictSearch"]=wasmExports["ZSTD_compressBlock_lazy_dedicatedDictSearch"];_ZSTD_compressBlock_lazy2_dedicatedDictSearch=Module["_ZSTD_compressBlock_lazy2_dedicatedDictSearch"]=wasmExports["ZSTD_compressBlock_lazy2_dedicatedDictSearch"];_ZSTD_compressBlock_greedy_row=Module["_ZSTD_compressBlock_greedy_row"]=wasmExports["ZSTD_compressBlock_greedy_row"];_ZSTD_compressBlock_lazy_row=Module["_ZSTD_compressBlock_lazy_row"]=wasmExports["ZSTD_compressBlock_lazy_row"];_ZSTD_compressBlock_lazy2_row=Module["_ZSTD_compressBlock_lazy2_row"]=wasmExports["ZSTD_compressBlock_lazy2_row"];_ZSTD_compressBlock_greedy_extDict_row=Module["_ZSTD_compressBlock_greedy_extDict_row"]=wasmExports["ZSTD_compressBlock_greedy_extDict_row"];_ZSTD_compressBlock_lazy_extDict_row=Module["_ZSTD_compressBlock_lazy_extDict_row"]=wasmExports["ZSTD_compressBlock_lazy_extDict_row"];_ZSTD_compressBlock_lazy2_extDict_row=Module["_ZSTD_compressBlock_lazy2_extDict_row"]=wasmExports["ZSTD_compressBlock_lazy2_extDict_row"];_ZSTD_compressBlock_greedy_dictMatchState_row=Module["_ZSTD_compressBlock_greedy_dictMatchState_row"]=wasmExports["ZSTD_compressBlock_greedy_dictMatchState_row"];_ZSTD_compressBlock_lazy_dictMatchState_row=Module["_ZSTD_compressBlock_lazy_dictMatchState_row"]=wasmExports["ZSTD_compressBlock_lazy_dictMatchState_row"];_ZSTD_compressBlock_lazy2_dictMatchState_row=Module["_ZSTD_compressBlock_lazy2_dictMatchState_row"]=wasmExports["ZSTD_compressBlock_lazy2_dictMatchState_row"];_ZSTD_compressBlock_greedy_dedicatedDictSearch_row=Module["_ZSTD_compressBlock_greedy_dedicatedDictSearch_row"]=wasmExports["ZSTD_compressBlock_greedy_dedicatedDictSearch_row"];_ZSTD_compressBlock_lazy_dedicatedDictSearch_row=Module["_ZSTD_compressBlock_lazy_dedicatedDictSearch_row"]=wasmExports["ZSTD_compressBlock_lazy_dedicatedDictSearch_row"];_ZSTD_compressBlock_lazy2_dedicatedDictSearch_row=Module["_ZSTD_compressBlock_lazy2_dedicatedDictSearch_row"]=wasmExports["ZSTD_compressBlock_lazy2_dedicatedDictSearch_row"];_ZSTD_noCompressLiterals=Module["_ZSTD_noCompressLiterals"]=wasmExports["ZSTD_noCompressLiterals"];_ZSTD_compressRleLiteralsBlock=Module["_ZSTD_compressRleLiteralsBlock"]=wasmExports["ZSTD_compressRleLiteralsBlock"];_ZSTDMT_createCCtx_advanced=Module["_ZSTDMT_createCCtx_advanced"]=wasmExports["ZSTDMT_createCCtx_advanced"];_ZSTDMT_freeCCtx=Module["_ZSTDMT_freeCCtx"]=wasmExports["ZSTDMT_freeCCtx"];_ZSTDMT_sizeof_CCtx=Module["_ZSTDMT_sizeof_CCtx"]=wasmExports["ZSTDMT_sizeof_CCtx"];_ZSTDMT_updateCParams_whileCompressing=Module["_ZSTDMT_updateCParams_whileCompressing"]=wasmExports["ZSTDMT_updateCParams_whileCompressing"];_ZSTDMT_getFrameProgression=Module["_ZSTDMT_getFrameProgression"]=wasmExports["ZSTDMT_getFrameProgression"];_ZSTDMT_toFlushNow=Module["_ZSTDMT_toFlushNow"]=wasmExports["ZSTDMT_toFlushNow"];_ZSTDMT_initCStream_internal=Module["_ZSTDMT_initCStream_internal"]=wasmExports["ZSTDMT_initCStream_internal"];_ZSTDMT_nextInputSizeHint=Module["_ZSTDMT_nextInputSizeHint"]=wasmExports["ZSTDMT_nextInputSizeHint"];_ZSTDMT_compressStream_generic=Module["_ZSTDMT_compressStream_generic"]=wasmExports["ZSTDMT_compressStream_generic"];_HUF_readDTableX1_wksp=Module["_HUF_readDTableX1_wksp"]=wasmExports["HUF_readDTableX1_wksp"];_HUF_readDTableX2_wksp=Module["_HUF_readDTableX2_wksp"]=wasmExports["HUF_readDTableX2_wksp"];_HUF_decompress1X2_DCtx_wksp=Module["_HUF_decompress1X2_DCtx_wksp"]=wasmExports["HUF_decompress1X2_DCtx_wksp"];_HUF_selectDecoder=Module["_HUF_selectDecoder"]=wasmExports["HUF_selectDecoder"];_HUF_decompress1X_DCtx_wksp=Module["_HUF_decompress1X_DCtx_wksp"]=wasmExports["HUF_decompress1X_DCtx_wksp"];_HUF_decompress1X1_DCtx_wksp=Module["_HUF_decompress1X1_DCtx_wksp"]=wasmExports["HUF_decompress1X1_DCtx_wksp"];_HUF_decompress1X_usingDTable=Module["_HUF_decompress1X_usingDTable"]=wasmExports["HUF_decompress1X_usingDTable"];_HUF_decompress4X_usingDTable=Module["_HUF_decompress4X_usingDTable"]=wasmExports["HUF_decompress4X_usingDTable"];_HUF_decompress4X_hufOnly_wksp=Module["_HUF_decompress4X_hufOnly_wksp"]=wasmExports["HUF_decompress4X_hufOnly_wksp"];_ZSTD_DDict_dictContent=Module["_ZSTD_DDict_dictContent"]=wasmExports["ZSTD_DDict_dictContent"];_ZSTD_DDict_dictSize=Module["_ZSTD_DDict_dictSize"]=wasmExports["ZSTD_DDict_dictSize"];_ZSTD_copyDDictParameters=Module["_ZSTD_copyDDictParameters"]=wasmExports["ZSTD_copyDDictParameters"];_ZSTD_createDDict_advanced=Module["_ZSTD_createDDict_advanced"]=wasmExports["ZSTD_createDDict_advanced"];_ZSTD_loadDEntropy=Module["_ZSTD_loadDEntropy"]=wasmExports["ZSTD_loadDEntropy"];_ZSTD_createDDict_byReference=Module["_ZSTD_createDDict_byReference"]=wasmExports["ZSTD_createDDict_byReference"];_ZSTD_initStaticDDict=Module["_ZSTD_initStaticDDict"]=wasmExports["ZSTD_initStaticDDict"];_ZSTD_estimateDDictSize=Module["_ZSTD_estimateDDictSize"]=wasmExports["ZSTD_estimateDDictSize"];_ZSTD_sizeof_DDict=Module["_ZSTD_sizeof_DDict"]=wasmExports["ZSTD_sizeof_DDict"];_ZSTD_getDictID_fromDDict=Module["_ZSTD_getDictID_fromDDict"]=wasmExports["ZSTD_getDictID_fromDDict"];_ZSTD_sizeof_DCtx=Module["_ZSTD_sizeof_DCtx"]=wasmExports["ZSTD_sizeof_DCtx"];_ZSTD_estimateDCtxSize=Module["_ZSTD_estimateDCtxSize"]=wasmExports["ZSTD_estimateDCtxSize"];_ZSTD_initStaticDCtx=Module["_ZSTD_initStaticDCtx"]=wasmExports["ZSTD_initStaticDCtx"];_ZSTD_createDCtx_advanced=Module["_ZSTD_createDCtx_advanced"]=wasmExports["ZSTD_createDCtx_advanced"];_ZSTD_copyDCtx=Module["_ZSTD_copyDCtx"]=wasmExports["ZSTD_copyDCtx"];_ZSTD_isFrame=Module["_ZSTD_isFrame"]=wasmExports["ZSTD_isFrame"];_ZSTD_isSkippableFrame=Module["_ZSTD_isSkippableFrame"]=wasmExports["ZSTD_isSkippableFrame"];_ZSTD_frameHeaderSize=Module["_ZSTD_frameHeaderSize"]=wasmExports["ZSTD_frameHeaderSize"];_ZSTD_getFrameHeader_advanced=Module["_ZSTD_getFrameHeader_advanced"]=wasmExports["ZSTD_getFrameHeader_advanced"];_ZSTD_getFrameHeader=Module["_ZSTD_getFrameHeader"]=wasmExports["ZSTD_getFrameHeader"];_ZSTD_readSkippableFrame=Module["_ZSTD_readSkippableFrame"]=wasmExports["ZSTD_readSkippableFrame"];_ZSTD_findDecompressedSize=Module["_ZSTD_findDecompressedSize"]=wasmExports["ZSTD_findDecompressedSize"];_ZSTD_getDecompressedSize=Module["_ZSTD_getDecompressedSize"]=wasmExports["ZSTD_getDecompressedSize"];_ZSTD_decompressBound=Module["_ZSTD_decompressBound"]=wasmExports["ZSTD_decompressBound"];_ZSTD_getcBlockSize=Module["_ZSTD_getcBlockSize"]=wasmExports["ZSTD_getcBlockSize"];_ZSTD_decompressionMargin=Module["_ZSTD_decompressionMargin"]=wasmExports["ZSTD_decompressionMargin"];_ZSTD_insertBlock=Module["_ZSTD_insertBlock"]=wasmExports["ZSTD_insertBlock"];_ZSTD_checkContinuity=Module["_ZSTD_checkContinuity"]=wasmExports["ZSTD_checkContinuity"];_ZSTD_decompress_usingDict=Module["_ZSTD_decompress_usingDict"]=wasmExports["ZSTD_decompress_usingDict"];_ZSTD_decompressBegin_usingDDict=Module["_ZSTD_decompressBegin_usingDDict"]=wasmExports["ZSTD_decompressBegin_usingDDict"];_ZSTD_decompressBegin_usingDict=Module["_ZSTD_decompressBegin_usingDict"]=wasmExports["ZSTD_decompressBegin_usingDict"];_ZSTD_decompressBlock_internal=Module["_ZSTD_decompressBlock_internal"]=wasmExports["ZSTD_decompressBlock_internal"];_ZSTD_decompressDCtx=Module["_ZSTD_decompressDCtx"]=wasmExports["ZSTD_decompressDCtx"];_ZSTD_decompress_usingDDict=Module["_ZSTD_decompress_usingDDict"]=wasmExports["ZSTD_decompress_usingDDict"];_ZSTD_decompress=Module["_ZSTD_decompress"]=wasmExports["ZSTD_decompress"];_ZSTD_nextSrcSizeToDecompress=Module["_ZSTD_nextSrcSizeToDecompress"]=wasmExports["ZSTD_nextSrcSizeToDecompress"];_ZSTD_nextInputType=Module["_ZSTD_nextInputType"]=wasmExports["ZSTD_nextInputType"];_ZSTD_decompressContinue=Module["_ZSTD_decompressContinue"]=wasmExports["ZSTD_decompressContinue"];_ZSTD_buildFSETable=Module["_ZSTD_buildFSETable"]=wasmExports["ZSTD_buildFSETable"];_ZSTD_decompressBegin=Module["_ZSTD_decompressBegin"]=wasmExports["ZSTD_decompressBegin"];_ZSTD_createDStream=Module["_ZSTD_createDStream"]=wasmExports["ZSTD_createDStream"];_ZSTD_initStaticDStream=Module["_ZSTD_initStaticDStream"]=wasmExports["ZSTD_initStaticDStream"];_ZSTD_createDStream_advanced=Module["_ZSTD_createDStream_advanced"]=wasmExports["ZSTD_createDStream_advanced"];_ZSTD_freeDStream=Module["_ZSTD_freeDStream"]=wasmExports["ZSTD_freeDStream"];_ZSTD_DStreamInSize=Module["_ZSTD_DStreamInSize"]=wasmExports["ZSTD_DStreamInSize"];_ZSTD_DCtx_loadDictionary_advanced=Module["_ZSTD_DCtx_loadDictionary_advanced"]=wasmExports["ZSTD_DCtx_loadDictionary_advanced"];_ZSTD_DCtx_loadDictionary_byReference=Module["_ZSTD_DCtx_loadDictionary_byReference"]=wasmExports["ZSTD_DCtx_loadDictionary_byReference"];_ZSTD_DCtx_refPrefix_advanced=Module["_ZSTD_DCtx_refPrefix_advanced"]=wasmExports["ZSTD_DCtx_refPrefix_advanced"];_ZSTD_initDStream_usingDict=Module["_ZSTD_initDStream_usingDict"]=wasmExports["ZSTD_initDStream_usingDict"];_ZSTD_initDStream=Module["_ZSTD_initDStream"]=wasmExports["ZSTD_initDStream"];_ZSTD_initDStream_usingDDict=Module["_ZSTD_initDStream_usingDDict"]=wasmExports["ZSTD_initDStream_usingDDict"];_ZSTD_resetDStream=Module["_ZSTD_resetDStream"]=wasmExports["ZSTD_resetDStream"];_ZSTD_DCtx_setMaxWindowSize=Module["_ZSTD_DCtx_setMaxWindowSize"]=wasmExports["ZSTD_DCtx_setMaxWindowSize"];_ZSTD_DCtx_setFormat=Module["_ZSTD_DCtx_setFormat"]=wasmExports["ZSTD_DCtx_setFormat"];_ZSTD_DCtx_getParameter=Module["_ZSTD_DCtx_getParameter"]=wasmExports["ZSTD_DCtx_getParameter"];_ZSTD_sizeof_DStream=Module["_ZSTD_sizeof_DStream"]=wasmExports["ZSTD_sizeof_DStream"];_ZSTD_decodingBufferSize_min=Module["_ZSTD_decodingBufferSize_min"]=wasmExports["ZSTD_decodingBufferSize_min"];_ZSTD_estimateDStreamSize=Module["_ZSTD_estimateDStreamSize"]=wasmExports["ZSTD_estimateDStreamSize"];_ZSTD_estimateDStreamSize_fromFrame=Module["_ZSTD_estimateDStreamSize_fromFrame"]=wasmExports["ZSTD_estimateDStreamSize_fromFrame"];_ZSTD_decompressStream_simpleArgs=Module["_ZSTD_decompressStream_simpleArgs"]=wasmExports["ZSTD_decompressStream_simpleArgs"];_ZSTD_decodeLiteralsBlock_wrapper=Module["_ZSTD_decodeLiteralsBlock_wrapper"]=wasmExports["ZSTD_decodeLiteralsBlock_wrapper"];_ZSTD_decodeSeqHeaders=Module["_ZSTD_decodeSeqHeaders"]=wasmExports["ZSTD_decodeSeqHeaders"];_ZSTD_decompressBlock_deprecated=Module["_ZSTD_decompressBlock_deprecated"]=wasmExports["ZSTD_decompressBlock_deprecated"];_ZSTD_decompressBlock=Module["_ZSTD_decompressBlock"]=wasmExports["ZSTD_decompressBlock"];_COVER_sum=Module["_COVER_sum"]=wasmExports["COVER_sum"];_COVER_warnOnSmallCorpus=Module["_COVER_warnOnSmallCorpus"]=wasmExports["COVER_warnOnSmallCorpus"];_COVER_computeEpochs=Module["_COVER_computeEpochs"]=wasmExports["COVER_computeEpochs"];_ZDICT_trainFromBuffer_cover=Module["_ZDICT_trainFromBuffer_cover"]=wasmExports["ZDICT_trainFromBuffer_cover"];_COVER_checkTotalCompressedSize=Module["_COVER_checkTotalCompressedSize"]=wasmExports["COVER_checkTotalCompressedSize"];_COVER_best_init=Module["_COVER_best_init"]=wasmExports["COVER_best_init"];_COVER_best_wait=Module["_COVER_best_wait"]=wasmExports["COVER_best_wait"];_COVER_best_destroy=Module["_COVER_best_destroy"]=wasmExports["COVER_best_destroy"];_COVER_best_start=Module["_COVER_best_start"]=wasmExports["COVER_best_start"];_COVER_best_finish=Module["_COVER_best_finish"]=wasmExports["COVER_best_finish"];_COVER_dictSelectionError=Module["_COVER_dictSelectionError"]=wasmExports["COVER_dictSelectionError"];_COVER_dictSelectionIsError=Module["_COVER_dictSelectionIsError"]=wasmExports["COVER_dictSelectionIsError"];_COVER_dictSelectionFree=Module["_COVER_dictSelectionFree"]=wasmExports["COVER_dictSelectionFree"];_COVER_selectDict=Module["_COVER_selectDict"]=wasmExports["COVER_selectDict"];_ZDICT_optimizeTrainFromBuffer_cover=Module["_ZDICT_optimizeTrainFromBuffer_cover"]=wasmExports["ZDICT_optimizeTrainFromBuffer_cover"];_divsufsort=Module["_divsufsort"]=wasmExports["divsufsort"];_divbwt=Module["_divbwt"]=wasmExports["divbwt"];_ZDICT_trainFromBuffer_fastCover=Module["_ZDICT_trainFromBuffer_fastCover"]=wasmExports["ZDICT_trainFromBuffer_fastCover"];_ZDICT_optimizeTrainFromBuffer_fastCover=Module["_ZDICT_optimizeTrainFromBuffer_fastCover"]=wasmExports["ZDICT_optimizeTrainFromBuffer_fastCover"];_ZDICT_getErrorName=Module["_ZDICT_getErrorName"]=wasmExports["ZDICT_getErrorName"];_ZDICT_getDictID=Module["_ZDICT_getDictID"]=wasmExports["ZDICT_getDictID"];_ZDICT_getDictHeaderSize=Module["_ZDICT_getDictHeaderSize"]=wasmExports["ZDICT_getDictHeaderSize"];_ZDICT_trainFromBuffer_legacy=Module["_ZDICT_trainFromBuffer_legacy"]=wasmExports["ZDICT_trainFromBuffer_legacy"];_ZDICT_addEntropyTablesFromBuffer=Module["_ZDICT_addEntropyTablesFromBuffer"]=wasmExports["ZDICT_addEntropyTablesFromBuffer"];__hiwire_immortal_add=Module["__hiwire_immortal_add"]=wasmExports["_hiwire_immortal_add"];__hiwire_immortal_get=Module["__hiwire_immortal_get"]=wasmExports["_hiwire_immortal_get"];__hiwire_get=Module["__hiwire_get"]=wasmExports["_hiwire_get"];__hiwire_set=Module["__hiwire_set"]=wasmExports["_hiwire_set"];_hiwire_num_refs=Module["_hiwire_num_refs"]=wasmExports["hiwire_num_refs"];__hiwire_slot_info=Module["__hiwire_slot_info"]=wasmExports["_hiwire_slot_info"];__hiwire_delete=Module["__hiwire_delete"]=wasmExports["_hiwire_delete"];__hiwire_immortal_table_init=Module["__hiwire_immortal_table_init"]=wasmExports["_hiwire_immortal_table_init"];_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=wasmExports["emscripten_GetProcAddress"];_emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=wasmExports["emscripten_webgl1_get_proc_address"];__webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=wasmExports["_webgl1_match_ext_proc_address_without_suffix"];_emscripten_webgl2_get_proc_address=Module["_emscripten_webgl2_get_proc_address"]=wasmExports["emscripten_webgl2_get_proc_address"];__webgl2_match_ext_proc_address_without_suffix=Module["__webgl2_match_ext_proc_address_without_suffix"]=wasmExports["_webgl2_match_ext_proc_address_without_suffix"];_emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=wasmExports["emscripten_webgl_get_proc_address"];_SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=wasmExports["SDL_GL_GetProcAddress"];_eglGetProcAddress=Module["_eglGetProcAddress"]=wasmExports["eglGetProcAddress"];_glfwGetProcAddress=Module["_glfwGetProcAddress"]=wasmExports["glfwGetProcAddress"];_emscripten_webgl_init_context_attributes=Module["_emscripten_webgl_init_context_attributes"]=wasmExports["emscripten_webgl_init_context_attributes"];_emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=wasmExports["emscripten_is_main_runtime_thread"];_BZ2_blockSort=Module["_BZ2_blockSort"]=wasmExports["BZ2_blockSort"];_BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=wasmExports["BZ2_bz__AssertH__fail"];_BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=wasmExports["BZ2_bzlibVersion"];_BZ2_compressBlock=Module["_BZ2_compressBlock"]=wasmExports["BZ2_compressBlock"];_BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=wasmExports["BZ2_indexIntoF"];_BZ2_decompress=Module["_BZ2_decompress"]=wasmExports["BZ2_decompress"];_BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=wasmExports["BZ2_bzWriteOpen"];_BZ2_bzWrite=Module["_BZ2_bzWrite"]=wasmExports["BZ2_bzWrite"];_BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=wasmExports["BZ2_bzWriteClose"];_BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=wasmExports["BZ2_bzWriteClose64"];_BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=wasmExports["BZ2_bzReadOpen"];_BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=wasmExports["BZ2_bzReadClose"];_BZ2_bzRead=Module["_BZ2_bzRead"]=wasmExports["BZ2_bzRead"];_fgetc=Module["_fgetc"]=wasmExports["fgetc"];_BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=wasmExports["BZ2_bzReadGetUnused"];_BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=wasmExports["BZ2_bzBuffToBuffCompress"];_BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=wasmExports["BZ2_bzBuffToBuffDecompress"];_BZ2_bzopen=Module["_BZ2_bzopen"]=wasmExports["BZ2_bzopen"];_BZ2_bzdopen=Module["_BZ2_bzdopen"]=wasmExports["BZ2_bzdopen"];_BZ2_bzread=Module["_BZ2_bzread"]=wasmExports["BZ2_bzread"];_BZ2_bzwrite=Module["_BZ2_bzwrite"]=wasmExports["BZ2_bzwrite"];_BZ2_bzflush=Module["_BZ2_bzflush"]=wasmExports["BZ2_bzflush"];_BZ2_bzclose=Module["_BZ2_bzclose"]=wasmExports["BZ2_bzclose"];_BZ2_bzerror=Module["_BZ2_bzerror"]=wasmExports["BZ2_bzerror"];_BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=wasmExports["BZ2_bsInitWrite"];_BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=wasmExports["BZ2_hbMakeCodeLengths"];_BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=wasmExports["BZ2_hbAssignCodes"];_BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=wasmExports["BZ2_hbCreateDecodeTables"];_adler32_z=Module["_adler32_z"]=wasmExports["adler32_z"];_adler32_combine=Module["_adler32_combine"]=wasmExports["adler32_combine"];_adler32_combine64=Module["_adler32_combine64"]=wasmExports["adler32_combine64"];_compress2=Module["_compress2"]=wasmExports["compress2"];_deflateInit_=Module["_deflateInit_"]=wasmExports["deflateInit_"];_compress=Module["_compress"]=wasmExports["compress"];_compressBound=Module["_compressBound"]=wasmExports["compressBound"];_get_crc_table=Module["_get_crc_table"]=wasmExports["get_crc_table"];_crc32_z=Module["_crc32_z"]=wasmExports["crc32_z"];_crc32_combine64=Module["_crc32_combine64"]=wasmExports["crc32_combine64"];_crc32_combine=Module["_crc32_combine"]=wasmExports["crc32_combine"];_crc32_combine_gen64=Module["_crc32_combine_gen64"]=wasmExports["crc32_combine_gen64"];_crc32_combine_gen=Module["_crc32_combine_gen"]=wasmExports["crc32_combine_gen"];_crc32_combine_op=Module["_crc32_combine_op"]=wasmExports["crc32_combine_op"];_zcalloc=Module["_zcalloc"]=wasmExports["zcalloc"];_zcfree=Module["_zcfree"]=wasmExports["zcfree"];_deflateReset=Module["_deflateReset"]=wasmExports["deflateReset"];_deflateResetKeep=Module["_deflateResetKeep"]=wasmExports["deflateResetKeep"];_deflateGetDictionary=Module["_deflateGetDictionary"]=wasmExports["deflateGetDictionary"];__tr_init=Module["__tr_init"]=wasmExports["_tr_init"];_deflateSetHeader=Module["_deflateSetHeader"]=wasmExports["deflateSetHeader"];_deflatePending=Module["_deflatePending"]=wasmExports["deflatePending"];_deflatePrime=Module["_deflatePrime"]=wasmExports["deflatePrime"];__tr_flush_bits=Module["__tr_flush_bits"]=wasmExports["_tr_flush_bits"];_deflateParams=Module["_deflateParams"]=wasmExports["deflateParams"];__tr_align=Module["__tr_align"]=wasmExports["_tr_align"];__tr_stored_block=Module["__tr_stored_block"]=wasmExports["_tr_stored_block"];_deflateTune=Module["_deflateTune"]=wasmExports["deflateTune"];_deflateBound=Module["_deflateBound"]=wasmExports["deflateBound"];__tr_flush_block=Module["__tr_flush_block"]=wasmExports["_tr_flush_block"];_gzclose=Module["_gzclose"]=wasmExports["gzclose"];_gzclose_r=Module["_gzclose_r"]=wasmExports["gzclose_r"];_gzclose_w=Module["_gzclose_w"]=wasmExports["gzclose_w"];_gzopen=Module["_gzopen"]=wasmExports["gzopen"];_gzopen64=Module["_gzopen64"]=wasmExports["gzopen64"];_gzdopen=Module["_gzdopen"]=wasmExports["gzdopen"];_gzbuffer=Module["_gzbuffer"]=wasmExports["gzbuffer"];_gzrewind=Module["_gzrewind"]=wasmExports["gzrewind"];_gzseek64=Module["_gzseek64"]=wasmExports["gzseek64"];_gz_error=Module["_gz_error"]=wasmExports["gz_error"];_gzseek=Module["_gzseek"]=wasmExports["gzseek"];_gztell64=Module["_gztell64"]=wasmExports["gztell64"];_gztell=Module["_gztell"]=wasmExports["gztell"];_gzoffset64=Module["_gzoffset64"]=wasmExports["gzoffset64"];_gzoffset=Module["_gzoffset"]=wasmExports["gzoffset"];_gzeof=Module["_gzeof"]=wasmExports["gzeof"];_gzerror=Module["_gzerror"]=wasmExports["gzerror"];_gzclearerr=Module["_gzclearerr"]=wasmExports["gzclearerr"];_gz_intmax=Module["_gz_intmax"]=wasmExports["gz_intmax"];_gzread=Module["_gzread"]=wasmExports["gzread"];_gzfread=Module["_gzfread"]=wasmExports["gzfread"];_gzgetc=Module["_gzgetc"]=wasmExports["gzgetc"];_gzgetc_=Module["_gzgetc_"]=wasmExports["gzgetc_"];_gzungetc=Module["_gzungetc"]=wasmExports["gzungetc"];_inflateReset=Module["_inflateReset"]=wasmExports["inflateReset"];_gzgets=Module["_gzgets"]=wasmExports["gzgets"];_gzdirect=Module["_gzdirect"]=wasmExports["gzdirect"];_gzwrite=Module["_gzwrite"]=wasmExports["gzwrite"];_gzfwrite=Module["_gzfwrite"]=wasmExports["gzfwrite"];_gzputc=Module["_gzputc"]=wasmExports["gzputc"];_gzputs=Module["_gzputs"]=wasmExports["gzputs"];_gzvprintf=Module["_gzvprintf"]=wasmExports["gzvprintf"];_gzprintf=Module["_gzprintf"]=wasmExports["gzprintf"];_gzflush=Module["_gzflush"]=wasmExports["gzflush"];_gzsetparams=Module["_gzsetparams"]=wasmExports["gzsetparams"];_inflateBackInit_=Module["_inflateBackInit_"]=wasmExports["inflateBackInit_"];_inflateBack=Module["_inflateBack"]=wasmExports["inflateBack"];_inflate_table=Module["_inflate_table"]=wasmExports["inflate_table"];_inflate_fast=Module["_inflate_fast"]=wasmExports["inflate_fast"];_inflateBackEnd=Module["_inflateBackEnd"]=wasmExports["inflateBackEnd"];_inflateResetKeep=Module["_inflateResetKeep"]=wasmExports["inflateResetKeep"];_inflateReset2=Module["_inflateReset2"]=wasmExports["inflateReset2"];_inflateInit_=Module["_inflateInit_"]=wasmExports["inflateInit_"];_inflatePrime=Module["_inflatePrime"]=wasmExports["inflatePrime"];_inflateGetDictionary=Module["_inflateGetDictionary"]=wasmExports["inflateGetDictionary"];_inflateGetHeader=Module["_inflateGetHeader"]=wasmExports["inflateGetHeader"];_inflateSync=Module["_inflateSync"]=wasmExports["inflateSync"];_inflateSyncPoint=Module["_inflateSyncPoint"]=wasmExports["inflateSyncPoint"];_inflateUndermine=Module["_inflateUndermine"]=wasmExports["inflateUndermine"];_inflateValidate=Module["_inflateValidate"]=wasmExports["inflateValidate"];_inflateMark=Module["_inflateMark"]=wasmExports["inflateMark"];_inflateCodesUsed=Module["_inflateCodesUsed"]=wasmExports["inflateCodesUsed"];__tr_tally=Module["__tr_tally"]=wasmExports["_tr_tally"];_uncompress2=Module["_uncompress2"]=wasmExports["uncompress2"];_uncompress=Module["_uncompress"]=wasmExports["uncompress"];_zlibCompileFlags=Module["_zlibCompileFlags"]=wasmExports["zlibCompileFlags"];_zError=Module["_zError"]=wasmExports["zError"];_getdate=Module["_getdate"]=wasmExports["getdate"];_stime=Module["_stime"]=wasmExports["stime"];_clock_getcpuclockid=Module["_clock_getcpuclockid"]=wasmExports["clock_getcpuclockid"];_getpwnam=Module["_getpwnam"]=wasmExports["getpwnam"];_getpwuid=Module["_getpwuid"]=wasmExports["getpwuid"];_getpwnam_r=Module["_getpwnam_r"]=wasmExports["getpwnam_r"];_getpwuid_r=Module["_getpwuid_r"]=wasmExports["getpwuid_r"];_setpwent=Module["_setpwent"]=wasmExports["setpwent"];_endpwent=Module["_endpwent"]=wasmExports["endpwent"];_getpwent=Module["_getpwent"]=wasmExports["getpwent"];_getgrnam=Module["_getgrnam"]=wasmExports["getgrnam"];_getgrgid=Module["_getgrgid"]=wasmExports["getgrgid"];_getgrnam_r=Module["_getgrnam_r"]=wasmExports["getgrnam_r"];_getgrgid_r=Module["_getgrgid_r"]=wasmExports["getgrgid_r"];_getgrent=Module["_getgrent"]=wasmExports["getgrent"];_endgrent=Module["_endgrent"]=wasmExports["endgrent"];_setgrent=Module["_setgrent"]=wasmExports["setgrent"];_vfork=Module["_vfork"]=wasmExports["vfork"];_posix_spawn=Module["_posix_spawn"]=wasmExports["posix_spawn"];_popen=Module["_popen"]=wasmExports["popen"];_pclose=Module["_pclose"]=wasmExports["pclose"];_setgroups=Module["_setgroups"]=wasmExports["setgroups"];_sigaltstack=Module["_sigaltstack"]=wasmExports["sigaltstack"];___syscall_uname=Module["___syscall_uname"]=wasmExports["__syscall_uname"];___syscall_setpgid=Module["___syscall_setpgid"]=wasmExports["__syscall_setpgid"];___syscall_sync=Module["___syscall_sync"]=wasmExports["__syscall_sync"];___syscall_getsid=Module["___syscall_getsid"]=wasmExports["__syscall_getsid"];___syscall_getpgid=Module["___syscall_getpgid"]=wasmExports["__syscall_getpgid"];___syscall_getpid=Module["___syscall_getpid"]=wasmExports["__syscall_getpid"];___syscall_getppid=Module["___syscall_getppid"]=wasmExports["__syscall_getppid"];___syscall_linkat=Module["___syscall_linkat"]=wasmExports["__syscall_linkat"];___syscall_getgroups32=Module["___syscall_getgroups32"]=wasmExports["__syscall_getgroups32"];___syscall_setsid=Module["___syscall_setsid"]=wasmExports["__syscall_setsid"];___syscall_getrusage=Module["___syscall_getrusage"]=wasmExports["__syscall_getrusage"];___syscall_getpriority=Module["___syscall_getpriority"]=wasmExports["__syscall_getpriority"];___syscall_setpriority=Module["___syscall_setpriority"]=wasmExports["__syscall_setpriority"];___syscall_setdomainname=Module["___syscall_setdomainname"]=wasmExports["__syscall_setdomainname"];___syscall_getgid32=Module["___syscall_getgid32"]=wasmExports["__syscall_getgid32"];___syscall_geteuid32=Module["___syscall_geteuid32"]=wasmExports["__syscall_geteuid32"];___syscall_getegid32=Module["___syscall_getegid32"]=wasmExports["__syscall_getegid32"];___syscall_getresuid32=Module["___syscall_getresuid32"]=wasmExports["__syscall_getresuid32"];___syscall_getresgid32=Module["___syscall_getresgid32"]=wasmExports["__syscall_getresgid32"];___syscall_pause=Module["___syscall_pause"]=wasmExports["__syscall_pause"];___syscall_madvise=Module["___syscall_madvise"]=wasmExports["__syscall_madvise"];___syscall_mlock=Module["___syscall_mlock"]=wasmExports["__syscall_mlock"];___syscall_munlock=Module["___syscall_munlock"]=wasmExports["__syscall_munlock"];___syscall_mprotect=Module["___syscall_mprotect"]=wasmExports["__syscall_mprotect"];___syscall_mremap=Module["___syscall_mremap"]=wasmExports["__syscall_mremap"];___syscall_mlockall=Module["___syscall_mlockall"]=wasmExports["__syscall_mlockall"];___syscall_munlockall=Module["___syscall_munlockall"]=wasmExports["__syscall_munlockall"];___syscall_prlimit64=Module["___syscall_prlimit64"]=wasmExports["__syscall_prlimit64"];___syscall_acct=Module["___syscall_acct"]=wasmExports["__syscall_acct"];___syscall_mincore=Module["___syscall_mincore"]=wasmExports["__syscall_mincore"];___syscall_pipe2=Module["___syscall_pipe2"]=wasmExports["__syscall_pipe2"];___syscall_pselect6=Module["___syscall_pselect6"]=wasmExports["__syscall_pselect6"];___syscall_ppoll=Module["___syscall_ppoll"]=wasmExports["__syscall_ppoll"];___syscall_recvmmsg=Module["___syscall_recvmmsg"]=wasmExports["__syscall_recvmmsg"];___syscall_sendmmsg=Module["___syscall_sendmmsg"]=wasmExports["__syscall_sendmmsg"];___syscall_shutdown=Module["___syscall_shutdown"]=wasmExports["__syscall_shutdown"];___syscall_socketpair=Module["___syscall_socketpair"]=wasmExports["__syscall_socketpair"];___syscall_wait4=Module["___syscall_wait4"]=wasmExports["__syscall_wait4"];__Exit=Module["__Exit"]=wasmExports["_Exit"];_cosf=Module["_cosf"]=wasmExports["cosf"];_sinf=Module["_sinf"]=wasmExports["sinf"];_expf=Module["_expf"]=wasmExports["expf"];___ctype_b_loc=Module["___ctype_b_loc"]=wasmExports["__ctype_b_loc"];___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=wasmExports["__ctype_get_mb_cur_max"];___get_tp=Module["___get_tp"]=wasmExports["__get_tp"];___ctype_tolower_loc=Module["___ctype_tolower_loc"]=wasmExports["__ctype_tolower_loc"];___ctype_toupper_loc=Module["___ctype_toupper_loc"]=wasmExports["__ctype_toupper_loc"];___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=wasmExports["__emscripten_environ_constructor"];_emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=wasmExports["emscripten_builtin_malloc"];___flt_rounds=Module["___flt_rounds"]=wasmExports["__flt_rounds"];_fegetround=Module["_fegetround"]=wasmExports["fegetround"];___fmodeflags=Module["___fmodeflags"]=wasmExports["__fmodeflags"];___fpclassify=Module["___fpclassify"]=wasmExports["__fpclassify"];___fpclassifyf=Module["___fpclassifyf"]=wasmExports["__fpclassifyf"];___fpclassifyl=Module["___fpclassifyl"]=wasmExports["__fpclassifyl"];___mo_lookup=Module["___mo_lookup"]=wasmExports["__mo_lookup"];___month_to_secs=Module["___month_to_secs"]=wasmExports["__month_to_secs"];___overflow=Module["___overflow"]=wasmExports["__overflow"];_scalbn=Module["_scalbn"]=wasmExports["scalbn"];_floor=Module["_floor"]=wasmExports["floor"];___fixtfdi=Module["___fixtfdi"]=wasmExports["__fixtfdi"];___signbit=Module["___signbit"]=wasmExports["__signbit"];___signbitf=Module["___signbitf"]=wasmExports["__signbitf"];___signbitl=Module["___signbitl"]=wasmExports["__signbitl"];_memcpy=Module["_memcpy"]=wasmExports["memcpy"];___stack_chk_fail=Module["___stack_chk_fail"]=wasmExports["__stack_chk_fail"];___wasi_syscall_ret=Module["___wasi_syscall_ret"]=wasmExports["__wasi_syscall_ret"];___synccall=Module["___synccall"]=wasmExports["__synccall"];_fabsl=Module["_fabsl"]=wasmExports["fabsl"];___year_to_secs=Module["___year_to_secs"]=wasmExports["__year_to_secs"];___lock=Module["___lock"]=wasmExports["__lock"];___unlock=Module["___unlock"]=wasmExports["__unlock"];_tzset=Module["_tzset"]=wasmExports["tzset"];___uflow=Module["___uflow"]=wasmExports["__uflow"];___fxstat=Module["___fxstat"]=wasmExports["__fxstat"];___fxstatat=Module["___fxstatat"]=wasmExports["__fxstatat"];___lxstat=Module["___lxstat"]=wasmExports["__lxstat"];___xstat=Module["___xstat"]=wasmExports["__xstat"];___xmknod=Module["___xmknod"]=wasmExports["__xmknod"];_mknod=Module["_mknod"]=wasmExports["mknod"];___xmknodat=Module["___xmknodat"]=wasmExports["__xmknodat"];_mknodat=Module["_mknodat"]=wasmExports["mknodat"];_a64l=Module["_a64l"]=wasmExports["a64l"];_l64a=Module["_l64a"]=wasmExports["l64a"];_abs=Module["_abs"]=wasmExports["abs"];_acct=Module["_acct"]=wasmExports["acct"];_acosf=Module["_acosf"]=wasmExports["acosf"];_sqrtf=Module["_sqrtf"]=wasmExports["sqrtf"];_acoshf=Module["_acoshf"]=wasmExports["acoshf"];_log1pf=Module["_log1pf"]=wasmExports["log1pf"];_logf=Module["_logf"]=wasmExports["logf"];_acoshl=Module["_acoshl"]=wasmExports["acoshl"];_acosl=Module["_acosl"]=wasmExports["acosl"];___eqtf2=Module["___eqtf2"]=wasmExports["__eqtf2"];___netf2=Module["___netf2"]=wasmExports["__netf2"];_sqrtl=Module["_sqrtl"]=wasmExports["sqrtl"];_alarm=Module["_alarm"]=wasmExports["alarm"];_setitimer=Module["_setitimer"]=wasmExports["setitimer"];_aligned_alloc=Module["_aligned_alloc"]=wasmExports["aligned_alloc"];_posix_memalign=Module["_posix_memalign"]=wasmExports["posix_memalign"];_alphasort=Module["_alphasort"]=wasmExports["alphasort"];_strcoll=Module["_strcoll"]=wasmExports["strcoll"];_asctime=Module["_asctime"]=wasmExports["asctime"];___nl_langinfo_l=Module["___nl_langinfo_l"]=wasmExports["__nl_langinfo_l"];_asctime_r=Module["_asctime_r"]=wasmExports["asctime_r"];_asinf=Module["_asinf"]=wasmExports["asinf"];_fabsf=Module["_fabsf"]=wasmExports["fabsf"];_asinhf=Module["_asinhf"]=wasmExports["asinhf"];_asinhl=Module["_asinhl"]=wasmExports["asinhl"];_asinl=Module["_asinl"]=wasmExports["asinl"];_asprintf=Module["_asprintf"]=wasmExports["asprintf"];_vasprintf=Module["_vasprintf"]=wasmExports["vasprintf"];_at_quick_exit=Module["_at_quick_exit"]=wasmExports["at_quick_exit"];_atan2f=Module["_atan2f"]=wasmExports["atan2f"];_atanf=Module["_atanf"]=wasmExports["atanf"];_atan2l=Module["_atan2l"]=wasmExports["atan2l"];_atanl=Module["_atanl"]=wasmExports["atanl"];_atanhf=Module["_atanhf"]=wasmExports["atanhf"];_atanhl=Module["_atanhl"]=wasmExports["atanhl"];_log1pl=Module["_log1pl"]=wasmExports["log1pl"];___funcs_on_exit=Module["___funcs_on_exit"]=wasmExports["__funcs_on_exit"];____cxa_finalize=Module["____cxa_finalize"]=wasmExports["___cxa_finalize"];____cxa_atexit=Module["____cxa_atexit"]=wasmExports["___cxa_atexit"];___libc_calloc=Module["___libc_calloc"]=wasmExports["__libc_calloc"];___atexit=Module["___atexit"]=wasmExports["__atexit"];___cxa_atexit=Module["___cxa_atexit"]=wasmExports["__cxa_atexit"];___cxa_finalize=Module["___cxa_finalize"]=wasmExports["__cxa_finalize"];_atof=Module["_atof"]=wasmExports["atof"];_strtod=Module["_strtod"]=wasmExports["strtod"];_atoi=Module["_atoi"]=wasmExports["atoi"];_atol=Module["_atol"]=wasmExports["atol"];_atoll=Module["_atoll"]=wasmExports["atoll"];_basename=Module["_basename"]=wasmExports["basename"];___xpg_basename=Module["___xpg_basename"]=wasmExports["__xpg_basename"];_bcmp=Module["_bcmp"]=wasmExports["bcmp"];_bcopy=Module["_bcopy"]=wasmExports["bcopy"];_strcasecmp=Module["_strcasecmp"]=wasmExports["strcasecmp"];_bsearch=Module["_bsearch"]=wasmExports["bsearch"];_btowc=Module["_btowc"]=wasmExports["btowc"];_bzero=Module["_bzero"]=wasmExports["bzero"];_c16rtomb=Module["_c16rtomb"]=wasmExports["c16rtomb"];_wcrtomb=Module["_wcrtomb"]=wasmExports["wcrtomb"];_c32rtomb=Module["_c32rtomb"]=wasmExports["c32rtomb"];_cabs=Module["_cabs"]=wasmExports["cabs"];_cabsf=Module["_cabsf"]=wasmExports["cabsf"];_hypotf=Module["_hypotf"]=wasmExports["hypotf"];_cabsl=Module["_cabsl"]=wasmExports["cabsl"];_hypotl=Module["_hypotl"]=wasmExports["hypotl"];_cacos=Module["_cacos"]=wasmExports["cacos"];_casin=Module["_casin"]=wasmExports["casin"];_cacosf=Module["_cacosf"]=wasmExports["cacosf"];_casinf=Module["_casinf"]=wasmExports["casinf"];_cacosh=Module["_cacosh"]=wasmExports["cacosh"];_cacoshf=Module["_cacoshf"]=wasmExports["cacoshf"];_cacoshl=Module["_cacoshl"]=wasmExports["cacoshl"];_cacosl=Module["_cacosl"]=wasmExports["cacosl"];_casinl=Module["_casinl"]=wasmExports["casinl"];_call_once=Module["_call_once"]=wasmExports["call_once"];_carg=Module["_carg"]=wasmExports["carg"];_cargf=Module["_cargf"]=wasmExports["cargf"];_cargl=Module["_cargl"]=wasmExports["cargl"];_csqrt=Module["_csqrt"]=wasmExports["csqrt"];_clog=Module["_clog"]=wasmExports["clog"];_csqrtf=Module["_csqrtf"]=wasmExports["csqrtf"];_clogf=Module["_clogf"]=wasmExports["clogf"];_casinh=Module["_casinh"]=wasmExports["casinh"];_casinhf=Module["_casinhf"]=wasmExports["casinhf"];_casinhl=Module["_casinhl"]=wasmExports["casinhl"];_csqrtl=Module["_csqrtl"]=wasmExports["csqrtl"];_clogl=Module["_clogl"]=wasmExports["clogl"];_catan=Module["_catan"]=wasmExports["catan"];_catanf=Module["_catanf"]=wasmExports["catanf"];_catanh=Module["_catanh"]=wasmExports["catanh"];_catanhf=Module["_catanhf"]=wasmExports["catanhf"];_catanhl=Module["_catanhl"]=wasmExports["catanhl"];_catanl=Module["_catanl"]=wasmExports["catanl"];_logl=Module["_logl"]=wasmExports["logl"];___trunctfsf2=Module["___trunctfsf2"]=wasmExports["__trunctfsf2"];___extendsftf2=Module["___extendsftf2"]=wasmExports["__extendsftf2"];_catclose=Module["_catclose"]=wasmExports["catclose"];_catgets=Module["_catgets"]=wasmExports["catgets"];_catopen=Module["_catopen"]=wasmExports["catopen"];_cbrtf=Module["_cbrtf"]=wasmExports["cbrtf"];_cbrtl=Module["_cbrtl"]=wasmExports["cbrtl"];_ccos=Module["_ccos"]=wasmExports["ccos"];_ccosh=Module["_ccosh"]=wasmExports["ccosh"];_ccosf=Module["_ccosf"]=wasmExports["ccosf"];_ccoshf=Module["_ccoshf"]=wasmExports["ccoshf"];_coshf=Module["_coshf"]=wasmExports["coshf"];_sinhf=Module["_sinhf"]=wasmExports["sinhf"];_copysignf=Module["_copysignf"]=wasmExports["copysignf"];_ccoshl=Module["_ccoshl"]=wasmExports["ccoshl"];_ccosl=Module["_ccosl"]=wasmExports["ccosl"];_ceil=Module["_ceil"]=wasmExports["ceil"];_ceilf=Module["_ceilf"]=wasmExports["ceilf"];_ceill=Module["_ceill"]=wasmExports["ceill"];_cexp=Module["_cexp"]=wasmExports["cexp"];_cexpf=Module["_cexpf"]=wasmExports["cexpf"];_cexpl=Module["_cexpl"]=wasmExports["cexpl"];_cfmakeraw=Module["_cfmakeraw"]=wasmExports["cfmakeraw"];_cfsetspeed=Module["_cfsetspeed"]=wasmExports["cfsetspeed"];_cimag=Module["_cimag"]=wasmExports["cimag"];_cimagf=Module["_cimagf"]=wasmExports["cimagf"];_cimagl=Module["_cimagl"]=wasmExports["cimagl"];_clearenv=Module["_clearenv"]=wasmExports["clearenv"];_clearerr_unlocked=Module["_clearerr_unlocked"]=wasmExports["clearerr_unlocked"];___wasi_timestamp_to_timespec=Module["___wasi_timestamp_to_timespec"]=wasmExports["__wasi_timestamp_to_timespec"];_emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=wasmExports["emscripten_thread_sleep"];_cnd_broadcast=Module["_cnd_broadcast"]=wasmExports["cnd_broadcast"];_cnd_destroy=Module["_cnd_destroy"]=wasmExports["cnd_destroy"];_cnd_init=Module["_cnd_init"]=wasmExports["cnd_init"];_cnd_signal=Module["_cnd_signal"]=wasmExports["cnd_signal"];_cnd_timedwait=Module["_cnd_timedwait"]=wasmExports["cnd_timedwait"];_cnd_wait=Module["_cnd_wait"]=wasmExports["cnd_wait"];_conj=Module["_conj"]=wasmExports["conj"];_conjf=Module["_conjf"]=wasmExports["conjf"];_conjl=Module["_conjl"]=wasmExports["conjl"];_copysignl=Module["_copysignl"]=wasmExports["copysignl"];_expm1f=Module["_expm1f"]=wasmExports["expm1f"];_coshl=Module["_coshl"]=wasmExports["coshl"];_cosl=Module["_cosl"]=wasmExports["cosl"];_cpow=Module["_cpow"]=wasmExports["cpow"];___muldc3=Module["___muldc3"]=wasmExports["__muldc3"];_cpowf=Module["_cpowf"]=wasmExports["cpowf"];___mulsc3=Module["___mulsc3"]=wasmExports["__mulsc3"];_cpowl=Module["_cpowl"]=wasmExports["cpowl"];___unordtf2=Module["___unordtf2"]=wasmExports["__unordtf2"];___multc3=Module["___multc3"]=wasmExports["__multc3"];_cproj=Module["_cproj"]=wasmExports["cproj"];_cprojf=Module["_cprojf"]=wasmExports["cprojf"];_cprojl=Module["_cprojl"]=wasmExports["cprojl"];_creal=Module["_creal"]=wasmExports["creal"];_crealf=Module["_crealf"]=wasmExports["crealf"];_creall=Module["_creall"]=wasmExports["creall"];_creat=Module["_creat"]=wasmExports["creat"];_crypt=Module["_crypt"]=wasmExports["crypt"];___crypt_blowfish=Module["___crypt_blowfish"]=wasmExports["__crypt_blowfish"];___crypt_des=Module["___crypt_des"]=wasmExports["__crypt_des"];___crypt_md5=Module["___crypt_md5"]=wasmExports["__crypt_md5"];_strnlen=Module["_strnlen"]=wasmExports["strnlen"];___crypt_sha256=Module["___crypt_sha256"]=wasmExports["__crypt_sha256"];___crypt_sha512=Module["___crypt_sha512"]=wasmExports["__crypt_sha512"];_crypt_r=Module["_crypt_r"]=wasmExports["crypt_r"];_sprintf=Module["_sprintf"]=wasmExports["sprintf"];_csin=Module["_csin"]=wasmExports["csin"];_csinh=Module["_csinh"]=wasmExports["csinh"];_csinf=Module["_csinf"]=wasmExports["csinf"];_csinhf=Module["_csinhf"]=wasmExports["csinhf"];_csinhl=Module["_csinhl"]=wasmExports["csinhl"];_csinl=Module["_csinl"]=wasmExports["csinl"];_ctan=Module["_ctan"]=wasmExports["ctan"];_ctanh=Module["_ctanh"]=wasmExports["ctanh"];_ctanf=Module["_ctanf"]=wasmExports["ctanf"];_ctanhf=Module["_ctanhf"]=wasmExports["ctanhf"];_tanf=Module["_tanf"]=wasmExports["tanf"];_ctanhl=Module["_ctanhl"]=wasmExports["ctanhl"];_ctanl=Module["_ctanl"]=wasmExports["ctanl"];_ctime=Module["_ctime"]=wasmExports["ctime"];_localtime=Module["_localtime"]=wasmExports["localtime"];_ctime_r=Module["_ctime_r"]=wasmExports["ctime_r"];_dcngettext=Module["_dcngettext"]=wasmExports["dcngettext"];___gettextdomain=Module["___gettextdomain"]=wasmExports["__gettextdomain"];_dngettext=Module["_dngettext"]=wasmExports["dngettext"];_difftime=Module["_difftime"]=wasmExports["difftime"];_dirname=Module["_dirname"]=wasmExports["dirname"];_div=Module["_div"]=wasmExports["div"];_dladdr=Module["_dladdr"]=wasmExports["dladdr"];___libc_free=Module["___libc_free"]=wasmExports["__libc_free"];___libc_malloc=Module["___libc_malloc"]=wasmExports["__libc_malloc"];___dl_seterr=Module["___dl_seterr"]=wasmExports["__dl_seterr"];_dn_comp=Module["_dn_comp"]=wasmExports["dn_comp"];_dn_expand=Module["_dn_expand"]=wasmExports["dn_expand"];_dn_skipname=Module["_dn_skipname"]=wasmExports["dn_skipname"];_dprintf=Module["_dprintf"]=wasmExports["dprintf"];_vdprintf=Module["_vdprintf"]=wasmExports["vdprintf"];_erand48=Module["_erand48"]=wasmExports["erand48"];_drand48=Module["_drand48"]=wasmExports["drand48"];___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=wasmExports["__wasi_fd_is_valid"];___duplocale=Module["___duplocale"]=wasmExports["__duplocale"];_duplocale=Module["_duplocale"]=wasmExports["duplocale"];_new_dlevent=Module["_new_dlevent"]=wasmExports["new_dlevent"];__emscripten_find_dylib=Module["__emscripten_find_dylib"]=wasmExports["_emscripten_find_dylib"];_strspn=Module["_strspn"]=wasmExports["strspn"];_pthread_setcancelstate=Module["_pthread_setcancelstate"]=wasmExports["pthread_setcancelstate"];_emscripten_dlopen=Module["_emscripten_dlopen"]=wasmExports["emscripten_dlopen"];_emscripten_dlopen_promise=Module["_emscripten_dlopen_promise"]=wasmExports["emscripten_dlopen_promise"];_ecvt=Module["_ecvt"]=wasmExports["ecvt"];_emscripten_console_logf=Module["_emscripten_console_logf"]=wasmExports["emscripten_console_logf"];_emscripten_console_errorf=Module["_emscripten_console_errorf"]=wasmExports["emscripten_console_errorf"];_emscripten_console_warnf=Module["_emscripten_console_warnf"]=wasmExports["emscripten_console_warnf"];_emscripten_console_tracef=Module["_emscripten_console_tracef"]=wasmExports["emscripten_console_tracef"];_emscripten_outf=Module["_emscripten_outf"]=wasmExports["emscripten_outf"];_emscripten_errf=Module["_emscripten_errf"]=wasmExports["emscripten_errf"];_emscripten_log=Module["_emscripten_log"]=wasmExports["emscripten_log"];_emscripten_fiber_init=Module["_emscripten_fiber_init"]=wasmExports["emscripten_fiber_init"];_emscripten_fiber_init_from_current_context=Module["_emscripten_fiber_init_from_current_context"]=wasmExports["emscripten_fiber_init_from_current_context"];_emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=wasmExports["emscripten_get_heap_size"];__emscripten_memcpy_bulkmem=Module["__emscripten_memcpy_bulkmem"]=wasmExports["_emscripten_memcpy_bulkmem"];_emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=wasmExports["emscripten_builtin_memcpy"];___memset=Module["___memset"]=wasmExports["__memset"];_emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=wasmExports["emscripten_builtin_memset"];__emscripten_memset_bulkmem=Module["__emscripten_memset_bulkmem"]=wasmExports["_emscripten_memset_bulkmem"];___syscall_munmap=Module["___syscall_munmap"]=wasmExports["__syscall_munmap"];_emscripten_builtin_free=Module["_emscripten_builtin_free"]=wasmExports["emscripten_builtin_free"];___syscall_msync=Module["___syscall_msync"]=wasmExports["__syscall_msync"];___syscall_mmap2=Module["___syscall_mmap2"]=wasmExports["__syscall_mmap2"];_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=wasmExports["emscripten_builtin_memalign"];_emscripten_scan_stack=Module["_emscripten_scan_stack"]=wasmExports["emscripten_scan_stack"];_emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=wasmExports["emscripten_stack_get_current"];_dysize=Module["_dysize"]=wasmExports["dysize"];__emscripten_yield=Module["__emscripten_yield"]=wasmExports["_emscripten_yield"];__emscripten_check_timers=Module["__emscripten_check_timers"]=wasmExports["_emscripten_check_timers"];_setkey=Module["_setkey"]=wasmExports["setkey"];_encrypt=Module["_encrypt"]=wasmExports["encrypt"];_sethostent=Module["_sethostent"]=wasmExports["sethostent"];_gethostent=Module["_gethostent"]=wasmExports["gethostent"];_getnetent=Module["_getnetent"]=wasmExports["getnetent"];_endhostent=Module["_endhostent"]=wasmExports["endhostent"];_setnetent=Module["_setnetent"]=wasmExports["setnetent"];_endnetent=Module["_endnetent"]=wasmExports["endnetent"];_erff=Module["_erff"]=wasmExports["erff"];_erfcf=Module["_erfcf"]=wasmExports["erfcf"];_erfl=Module["_erfl"]=wasmExports["erfl"];_erfcl=Module["_erfcl"]=wasmExports["erfcl"];_vwarn=Module["_vwarn"]=wasmExports["vwarn"];_fprintf=Module["_fprintf"]=wasmExports["fprintf"];_vwarnx=Module["_vwarnx"]=wasmExports["vwarnx"];_putc=Module["_putc"]=wasmExports["putc"];_verr=Module["_verr"]=wasmExports["verr"];_verrx=Module["_verrx"]=wasmExports["verrx"];_warn=Module["_warn"]=wasmExports["warn"];_warnx=Module["_warnx"]=wasmExports["warnx"];_err=Module["_err"]=wasmExports["err"];_errx=Module["_errx"]=wasmExports["errx"];_ether_aton_r=Module["_ether_aton_r"]=wasmExports["ether_aton_r"];_ether_aton=Module["_ether_aton"]=wasmExports["ether_aton"];_ether_ntoa_r=Module["_ether_ntoa_r"]=wasmExports["ether_ntoa_r"];_ether_ntoa=Module["_ether_ntoa"]=wasmExports["ether_ntoa"];_ether_line=Module["_ether_line"]=wasmExports["ether_line"];_ether_ntohost=Module["_ether_ntohost"]=wasmExports["ether_ntohost"];_ether_hostton=Module["_ether_hostton"]=wasmExports["ether_hostton"];_euidaccess=Module["_euidaccess"]=wasmExports["euidaccess"];_faccessat=Module["_faccessat"]=wasmExports["faccessat"];_eaccess=Module["_eaccess"]=wasmExports["eaccess"];_execl=Module["_execl"]=wasmExports["execl"];_execle=Module["_execle"]=wasmExports["execle"];_execlp=Module["_execlp"]=wasmExports["execlp"];_execvp=Module["_execvp"]=wasmExports["execvp"];_execvpe=Module["_execvpe"]=wasmExports["execvpe"];_exp10=Module["_exp10"]=wasmExports["exp10"];_pow10=Module["_pow10"]=wasmExports["pow10"];_exp10f=Module["_exp10f"]=wasmExports["exp10f"];_modff=Module["_modff"]=wasmExports["modff"];_exp2f=Module["_exp2f"]=wasmExports["exp2f"];_pow10f=Module["_pow10f"]=wasmExports["pow10f"];_exp10l=Module["_exp10l"]=wasmExports["exp10l"];_modfl=Module["_modfl"]=wasmExports["modfl"];_exp2l=Module["_exp2l"]=wasmExports["exp2l"];_powl=Module["_powl"]=wasmExports["powl"];_pow10l=Module["_pow10l"]=wasmExports["pow10l"];___letf2=Module["___letf2"]=wasmExports["__letf2"];_scalbnl=Module["_scalbnl"]=wasmExports["scalbnl"];_expl=Module["_expl"]=wasmExports["expl"];_explicit_bzero=Module["_explicit_bzero"]=wasmExports["explicit_bzero"];_expm1l=Module["_expm1l"]=wasmExports["expm1l"];__flushlbf=Module["__flushlbf"]=wasmExports["_flushlbf"];___fsetlocking=Module["___fsetlocking"]=wasmExports["__fsetlocking"];___fwriting=Module["___fwriting"]=wasmExports["__fwriting"];___freading=Module["___freading"]=wasmExports["__freading"];___freadable=Module["___freadable"]=wasmExports["__freadable"];___fwritable=Module["___fwritable"]=wasmExports["__fwritable"];___flbf=Module["___flbf"]=wasmExports["__flbf"];___fbufsize=Module["___fbufsize"]=wasmExports["__fbufsize"];___fpending=Module["___fpending"]=wasmExports["__fpending"];___fpurge=Module["___fpurge"]=wasmExports["__fpurge"];_fpurge=Module["_fpurge"]=wasmExports["fpurge"];___freadahead=Module["___freadahead"]=wasmExports["__freadahead"];___freadptr=Module["___freadptr"]=wasmExports["__freadptr"];___freadptrinc=Module["___freadptrinc"]=wasmExports["__freadptrinc"];___fseterr=Module["___fseterr"]=wasmExports["__fseterr"];_fcvt=Module["_fcvt"]=wasmExports["fcvt"];_fdim=Module["_fdim"]=wasmExports["fdim"];_fdimf=Module["_fdimf"]=wasmExports["fdimf"];_fdiml=Module["_fdiml"]=wasmExports["fdiml"];_fegetexceptflag=Module["_fegetexceptflag"]=wasmExports["fegetexceptflag"];_fetestexcept=Module["_fetestexcept"]=wasmExports["fetestexcept"];_feholdexcept=Module["_feholdexcept"]=wasmExports["feholdexcept"];_fegetenv=Module["_fegetenv"]=wasmExports["fegetenv"];_feclearexcept=Module["_feclearexcept"]=wasmExports["feclearexcept"];_feraiseexcept=Module["_feraiseexcept"]=wasmExports["feraiseexcept"];___fesetround=Module["___fesetround"]=wasmExports["__fesetround"];_fesetenv=Module["_fesetenv"]=wasmExports["fesetenv"];_feof_unlocked=Module["_feof_unlocked"]=wasmExports["feof_unlocked"];__IO_feof_unlocked=Module["__IO_feof_unlocked"]=wasmExports["_IO_feof_unlocked"];_ferror_unlocked=Module["_ferror_unlocked"]=wasmExports["ferror_unlocked"];__IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=wasmExports["_IO_ferror_unlocked"];_fesetexceptflag=Module["_fesetexceptflag"]=wasmExports["fesetexceptflag"];_fesetround=Module["_fesetround"]=wasmExports["fesetround"];_feupdateenv=Module["_feupdateenv"]=wasmExports["feupdateenv"];_fflush_unlocked=Module["_fflush_unlocked"]=wasmExports["fflush_unlocked"];_ffs=Module["_ffs"]=wasmExports["ffs"];_ffsl=Module["_ffsl"]=wasmExports["ffsl"];_ffsll=Module["_ffsll"]=wasmExports["ffsll"];_emscripten_futex_wake=Module["_emscripten_futex_wake"]=wasmExports["emscripten_futex_wake"];_fgetln=Module["_fgetln"]=wasmExports["fgetln"];_getline=Module["_getline"]=wasmExports["getline"];_fgetpos=Module["_fgetpos"]=wasmExports["fgetpos"];_fgets_unlocked=Module["_fgets_unlocked"]=wasmExports["fgets_unlocked"];___fgetwc_unlocked=Module["___fgetwc_unlocked"]=wasmExports["__fgetwc_unlocked"];_fwide=Module["_fwide"]=wasmExports["fwide"];_mbtowc=Module["_mbtowc"]=wasmExports["mbtowc"];_fgetwc=Module["_fgetwc"]=wasmExports["fgetwc"];_fgetwc_unlocked=Module["_fgetwc_unlocked"]=wasmExports["fgetwc_unlocked"];_getwc_unlocked=Module["_getwc_unlocked"]=wasmExports["getwc_unlocked"];_fgetws=Module["_fgetws"]=wasmExports["fgetws"];_fgetws_unlocked=Module["_fgetws_unlocked"]=wasmExports["fgetws_unlocked"];_fileno_unlocked=Module["_fileno_unlocked"]=wasmExports["fileno_unlocked"];_finite=Module["_finite"]=wasmExports["finite"];_finitef=Module["_finitef"]=wasmExports["finitef"];___floatunsitf=Module["___floatunsitf"]=wasmExports["__floatunsitf"];_fmodl=Module["_fmodl"]=wasmExports["fmodl"];_ftrylockfile=Module["_ftrylockfile"]=wasmExports["ftrylockfile"];_floorf=Module["_floorf"]=wasmExports["floorf"];_floorl=Module["_floorl"]=wasmExports["floorl"];_fmaf=Module["_fmaf"]=wasmExports["fmaf"];_fmal=Module["_fmal"]=wasmExports["fmal"];_frexpl=Module["_frexpl"]=wasmExports["frexpl"];_nextafterl=Module["_nextafterl"]=wasmExports["nextafterl"];_ilogbl=Module["_ilogbl"]=wasmExports["ilogbl"];_fmax=Module["_fmax"]=wasmExports["fmax"];_fmaxf=Module["_fmaxf"]=wasmExports["fmaxf"];_fmaxl=Module["_fmaxl"]=wasmExports["fmaxl"];_fmemopen=Module["_fmemopen"]=wasmExports["fmemopen"];_fmin=Module["_fmin"]=wasmExports["fmin"];_fminf=Module["_fminf"]=wasmExports["fminf"];_fminl=Module["_fminl"]=wasmExports["fminl"];_fmodf=Module["_fmodf"]=wasmExports["fmodf"];_fmtmsg=Module["_fmtmsg"]=wasmExports["fmtmsg"];_fnmatch=Module["_fnmatch"]=wasmExports["fnmatch"];_towupper=Module["_towupper"]=wasmExports["towupper"];_towlower=Module["_towlower"]=wasmExports["towlower"];_wctype=Module["_wctype"]=wasmExports["wctype"];_iswctype=Module["_iswctype"]=wasmExports["iswctype"];_forkpty=Module["_forkpty"]=wasmExports["forkpty"];_openpty=Module["_openpty"]=wasmExports["openpty"];_pipe2=Module["_pipe2"]=wasmExports["pipe2"];_vfiprintf=Module["_vfiprintf"]=wasmExports["vfiprintf"];___small_vfprintf=Module["___small_vfprintf"]=wasmExports["__small_vfprintf"];_fputs_unlocked=Module["_fputs_unlocked"]=wasmExports["fputs_unlocked"];___fputwc_unlocked=Module["___fputwc_unlocked"]=wasmExports["__fputwc_unlocked"];_wctomb=Module["_wctomb"]=wasmExports["wctomb"];_fputwc=Module["_fputwc"]=wasmExports["fputwc"];_fputwc_unlocked=Module["_fputwc_unlocked"]=wasmExports["fputwc_unlocked"];_putwc_unlocked=Module["_putwc_unlocked"]=wasmExports["putwc_unlocked"];_fputws=Module["_fputws"]=wasmExports["fputws"];_wcsrtombs=Module["_wcsrtombs"]=wasmExports["wcsrtombs"];_fputws_unlocked=Module["_fputws_unlocked"]=wasmExports["fputws_unlocked"];_fread_unlocked=Module["_fread_unlocked"]=wasmExports["fread_unlocked"];_freelocale=Module["_freelocale"]=wasmExports["freelocale"];___freelocale=Module["___freelocale"]=wasmExports["__freelocale"];_freopen=Module["_freopen"]=wasmExports["freopen"];_frexpf=Module["_frexpf"]=wasmExports["frexpf"];_fscanf=Module["_fscanf"]=wasmExports["fscanf"];_vfscanf=Module["_vfscanf"]=wasmExports["vfscanf"];___isoc99_fscanf=Module["___isoc99_fscanf"]=wasmExports["__isoc99_fscanf"];_fseek=Module["_fseek"]=wasmExports["fseek"];_fseeko=Module["_fseeko"]=wasmExports["fseeko"];_fsetpos=Module["_fsetpos"]=wasmExports["fsetpos"];_ftello=Module["_ftello"]=wasmExports["ftello"];_ftime=Module["_ftime"]=wasmExports["ftime"];_utimensat=Module["_utimensat"]=wasmExports["utimensat"];_fwprintf=Module["_fwprintf"]=wasmExports["fwprintf"];_vfwprintf=Module["_vfwprintf"]=wasmExports["vfwprintf"];_fwrite_unlocked=Module["_fwrite_unlocked"]=wasmExports["fwrite_unlocked"];_fwscanf=Module["_fwscanf"]=wasmExports["fwscanf"];_vfwscanf=Module["_vfwscanf"]=wasmExports["vfwscanf"];___isoc99_fwscanf=Module["___isoc99_fwscanf"]=wasmExports["__isoc99_fwscanf"];_gcvt=Module["_gcvt"]=wasmExports["gcvt"];_get_current_dir_name=Module["_get_current_dir_name"]=wasmExports["get_current_dir_name"];__IO_getc=Module["__IO_getc"]=wasmExports["_IO_getc"];_fgetc_unlocked=Module["_fgetc_unlocked"]=wasmExports["fgetc_unlocked"];__IO_getc_unlocked=Module["__IO_getc_unlocked"]=wasmExports["_IO_getc_unlocked"];_getchar=Module["_getchar"]=wasmExports["getchar"];_getchar_unlocked=Module["_getchar_unlocked"]=wasmExports["getchar_unlocked"];_getdelim=Module["_getdelim"]=wasmExports["getdelim"];___getdelim=Module["___getdelim"]=wasmExports["__getdelim"];_getdents=Module["_getdents"]=wasmExports["getdents"];_getdomainname=Module["_getdomainname"]=wasmExports["getdomainname"];_getegid=Module["_getegid"]=wasmExports["getegid"];_getgroups=Module["_getgroups"]=wasmExports["getgroups"];_gethostid=Module["_gethostid"]=wasmExports["gethostid"];_freeifaddrs=Module["_freeifaddrs"]=wasmExports["freeifaddrs"];_getifaddrs=Module["_getifaddrs"]=wasmExports["getifaddrs"];___getitimer=Module["___getitimer"]=wasmExports["__getitimer"];_getlogin=Module["_getlogin"]=wasmExports["getlogin"];_getopt=Module["_getopt"]=wasmExports["getopt"];___posix_getopt=Module["___posix_getopt"]=wasmExports["__posix_getopt"];_getopt_long=Module["_getopt_long"]=wasmExports["getopt_long"];_getopt_long_only=Module["_getopt_long_only"]=wasmExports["getopt_long_only"];_mblen=Module["_mblen"]=wasmExports["mblen"];_getresgid=Module["_getresgid"]=wasmExports["getresgid"];_getresuid=Module["_getresuid"]=wasmExports["getresuid"];_getrusage=Module["_getrusage"]=wasmExports["getrusage"];_gets=Module["_gets"]=wasmExports["gets"];_getservbyname_r=Module["_getservbyname_r"]=wasmExports["getservbyname_r"];_getservbyport_r=Module["_getservbyport_r"]=wasmExports["getservbyport_r"];_getsubopt=Module["_getsubopt"]=wasmExports["getsubopt"];_gettid=Module["_gettid"]=wasmExports["gettid"];_getw=Module["_getw"]=wasmExports["getw"];_getwc=Module["_getwc"]=wasmExports["getwc"];_getwchar=Module["_getwchar"]=wasmExports["getwchar"];_getwchar_unlocked=Module["_getwchar_unlocked"]=wasmExports["getwchar_unlocked"];_glob=Module["_glob"]=wasmExports["glob"];_globfree=Module["_globfree"]=wasmExports["globfree"];_gmtime=Module["_gmtime"]=wasmExports["gmtime"];_herror=Module["_herror"]=wasmExports["herror"];_hcreate=Module["_hcreate"]=wasmExports["hcreate"];_hdestroy=Module["_hdestroy"]=wasmExports["hdestroy"];_hsearch=Module["_hsearch"]=wasmExports["hsearch"];_hcreate_r=Module["_hcreate_r"]=wasmExports["hcreate_r"];_hdestroy_r=Module["_hdestroy_r"]=wasmExports["hdestroy_r"];_hsearch_r=Module["_hsearch_r"]=wasmExports["hsearch_r"];_iconv_open=Module["_iconv_open"]=wasmExports["iconv_open"];_iconv=Module["_iconv"]=wasmExports["iconv"];_iconv_close=Module["_iconv_close"]=wasmExports["iconv_close"];_ilogb=Module["_ilogb"]=wasmExports["ilogb"];_ilogbf=Module["_ilogbf"]=wasmExports["ilogbf"];_imaxabs=Module["_imaxabs"]=wasmExports["imaxabs"];_imaxdiv=Module["_imaxdiv"]=wasmExports["imaxdiv"];_index=Module["_index"]=wasmExports["index"];_inet_addr=Module["_inet_addr"]=wasmExports["inet_addr"];_inet_network=Module["_inet_network"]=wasmExports["inet_network"];_inet_makeaddr=Module["_inet_makeaddr"]=wasmExports["inet_makeaddr"];_inet_lnaof=Module["_inet_lnaof"]=wasmExports["inet_lnaof"];_inet_netof=Module["_inet_netof"]=wasmExports["inet_netof"];_insque=Module["_insque"]=wasmExports["insque"];_remque=Module["_remque"]=wasmExports["remque"];___intscan=Module["___intscan"]=wasmExports["__intscan"];___multi3=Module["___multi3"]=wasmExports["__multi3"];___isalnum_l=Module["___isalnum_l"]=wasmExports["__isalnum_l"];_isalnum_l=Module["_isalnum_l"]=wasmExports["isalnum_l"];_isalpha=Module["_isalpha"]=wasmExports["isalpha"];___isalpha_l=Module["___isalpha_l"]=wasmExports["__isalpha_l"];_isalpha_l=Module["_isalpha_l"]=wasmExports["isalpha_l"];_isascii=Module["_isascii"]=wasmExports["isascii"];_isblank=Module["_isblank"]=wasmExports["isblank"];___isblank_l=Module["___isblank_l"]=wasmExports["__isblank_l"];_isblank_l=Module["_isblank_l"]=wasmExports["isblank_l"];_iscntrl=Module["_iscntrl"]=wasmExports["iscntrl"];___iscntrl_l=Module["___iscntrl_l"]=wasmExports["__iscntrl_l"];_iscntrl_l=Module["_iscntrl_l"]=wasmExports["iscntrl_l"];_isdigit=Module["_isdigit"]=wasmExports["isdigit"];___isdigit_l=Module["___isdigit_l"]=wasmExports["__isdigit_l"];_isdigit_l=Module["_isdigit_l"]=wasmExports["isdigit_l"];_isgraph=Module["_isgraph"]=wasmExports["isgraph"];___isgraph_l=Module["___isgraph_l"]=wasmExports["__isgraph_l"];_isgraph_l=Module["_isgraph_l"]=wasmExports["isgraph_l"];_islower=Module["_islower"]=wasmExports["islower"];___islower_l=Module["___islower_l"]=wasmExports["__islower_l"];_islower_l=Module["_islower_l"]=wasmExports["islower_l"];_isprint=Module["_isprint"]=wasmExports["isprint"];___isprint_l=Module["___isprint_l"]=wasmExports["__isprint_l"];_isprint_l=Module["_isprint_l"]=wasmExports["isprint_l"];_ispunct=Module["_ispunct"]=wasmExports["ispunct"];___ispunct_l=Module["___ispunct_l"]=wasmExports["__ispunct_l"];_ispunct_l=Module["_ispunct_l"]=wasmExports["ispunct_l"];_issetugid=Module["_issetugid"]=wasmExports["issetugid"];_isspace=Module["_isspace"]=wasmExports["isspace"];___isspace_l=Module["___isspace_l"]=wasmExports["__isspace_l"];_isspace_l=Module["_isspace_l"]=wasmExports["isspace_l"];_isupper=Module["_isupper"]=wasmExports["isupper"];___isupper_l=Module["___isupper_l"]=wasmExports["__isupper_l"];_isupper_l=Module["_isupper_l"]=wasmExports["isupper_l"];_iswalnum=Module["_iswalnum"]=wasmExports["iswalnum"];_iswalpha=Module["_iswalpha"]=wasmExports["iswalpha"];___iswalnum_l=Module["___iswalnum_l"]=wasmExports["__iswalnum_l"];_iswalnum_l=Module["_iswalnum_l"]=wasmExports["iswalnum_l"];___iswalpha_l=Module["___iswalpha_l"]=wasmExports["__iswalpha_l"];_iswalpha_l=Module["_iswalpha_l"]=wasmExports["iswalpha_l"];_iswblank=Module["_iswblank"]=wasmExports["iswblank"];___iswblank_l=Module["___iswblank_l"]=wasmExports["__iswblank_l"];_iswblank_l=Module["_iswblank_l"]=wasmExports["iswblank_l"];_iswcntrl=Module["_iswcntrl"]=wasmExports["iswcntrl"];___iswcntrl_l=Module["___iswcntrl_l"]=wasmExports["__iswcntrl_l"];_iswcntrl_l=Module["_iswcntrl_l"]=wasmExports["iswcntrl_l"];_iswgraph=Module["_iswgraph"]=wasmExports["iswgraph"];_iswlower=Module["_iswlower"]=wasmExports["iswlower"];_iswprint=Module["_iswprint"]=wasmExports["iswprint"];_iswpunct=Module["_iswpunct"]=wasmExports["iswpunct"];_iswspace=Module["_iswspace"]=wasmExports["iswspace"];_iswupper=Module["_iswupper"]=wasmExports["iswupper"];_iswxdigit=Module["_iswxdigit"]=wasmExports["iswxdigit"];___iswctype_l=Module["___iswctype_l"]=wasmExports["__iswctype_l"];___wctype_l=Module["___wctype_l"]=wasmExports["__wctype_l"];_iswctype_l=Module["_iswctype_l"]=wasmExports["iswctype_l"];_wctype_l=Module["_wctype_l"]=wasmExports["wctype_l"];_iswdigit=Module["_iswdigit"]=wasmExports["iswdigit"];___iswdigit_l=Module["___iswdigit_l"]=wasmExports["__iswdigit_l"];_iswdigit_l=Module["_iswdigit_l"]=wasmExports["iswdigit_l"];___iswgraph_l=Module["___iswgraph_l"]=wasmExports["__iswgraph_l"];_iswgraph_l=Module["_iswgraph_l"]=wasmExports["iswgraph_l"];___iswlower_l=Module["___iswlower_l"]=wasmExports["__iswlower_l"];_iswlower_l=Module["_iswlower_l"]=wasmExports["iswlower_l"];___iswprint_l=Module["___iswprint_l"]=wasmExports["__iswprint_l"];_iswprint_l=Module["_iswprint_l"]=wasmExports["iswprint_l"];___iswpunct_l=Module["___iswpunct_l"]=wasmExports["__iswpunct_l"];_iswpunct_l=Module["_iswpunct_l"]=wasmExports["iswpunct_l"];___iswspace_l=Module["___iswspace_l"]=wasmExports["__iswspace_l"];_iswspace_l=Module["_iswspace_l"]=wasmExports["iswspace_l"];___iswupper_l=Module["___iswupper_l"]=wasmExports["__iswupper_l"];_iswupper_l=Module["_iswupper_l"]=wasmExports["iswupper_l"];___iswxdigit_l=Module["___iswxdigit_l"]=wasmExports["__iswxdigit_l"];_iswxdigit_l=Module["_iswxdigit_l"]=wasmExports["iswxdigit_l"];_isxdigit=Module["_isxdigit"]=wasmExports["isxdigit"];___isxdigit_l=Module["___isxdigit_l"]=wasmExports["__isxdigit_l"];_isxdigit_l=Module["_isxdigit_l"]=wasmExports["isxdigit_l"];_j0=Module["_j0"]=wasmExports["j0"];_y0=Module["_y0"]=wasmExports["y0"];_j0f=Module["_j0f"]=wasmExports["j0f"];_y0f=Module["_y0f"]=wasmExports["y0f"];_j1=Module["_j1"]=wasmExports["j1"];_y1=Module["_y1"]=wasmExports["y1"];_j1f=Module["_j1f"]=wasmExports["j1f"];_y1f=Module["_y1f"]=wasmExports["y1f"];_jn=Module["_jn"]=wasmExports["jn"];_yn=Module["_yn"]=wasmExports["yn"];_jnf=Module["_jnf"]=wasmExports["jnf"];_ynf=Module["_ynf"]=wasmExports["ynf"];_labs=Module["_labs"]=wasmExports["labs"];___nl_langinfo=Module["___nl_langinfo"]=wasmExports["__nl_langinfo"];_nl_langinfo_l=Module["_nl_langinfo_l"]=wasmExports["nl_langinfo_l"];_lchmod=Module["_lchmod"]=wasmExports["lchmod"];_lchown=Module["_lchown"]=wasmExports["lchown"];_lcong48=Module["_lcong48"]=wasmExports["lcong48"];_ldexpf=Module["_ldexpf"]=wasmExports["ldexpf"];_scalbnf=Module["_scalbnf"]=wasmExports["scalbnf"];_ldexpl=Module["_ldexpl"]=wasmExports["ldexpl"];_ldiv=Module["_ldiv"]=wasmExports["ldiv"];_get_nprocs_conf=Module["_get_nprocs_conf"]=wasmExports["get_nprocs_conf"];_get_nprocs=Module["_get_nprocs"]=wasmExports["get_nprocs"];_get_phys_pages=Module["_get_phys_pages"]=wasmExports["get_phys_pages"];_get_avphys_pages=Module["_get_avphys_pages"]=wasmExports["get_avphys_pages"];_lgamma=Module["_lgamma"]=wasmExports["lgamma"];_lgamma_r=Module["_lgamma_r"]=wasmExports["lgamma_r"];_lgammaf=Module["_lgammaf"]=wasmExports["lgammaf"];_lgammaf_r=Module["_lgammaf_r"]=wasmExports["lgammaf_r"];___lgammal_r=Module["___lgammal_r"]=wasmExports["__lgammal_r"];_lgammal=Module["_lgammal"]=wasmExports["lgammal"];_lgammal_r=Module["_lgammal_r"]=wasmExports["lgammal_r"];_emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=wasmExports["emscripten_has_threading_support"];_emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=wasmExports["emscripten_num_logical_cores"];_emscripten_futex_wait=Module["_emscripten_futex_wait"]=wasmExports["emscripten_futex_wait"];_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=wasmExports["emscripten_main_thread_process_queued_calls"];_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=wasmExports["emscripten_current_thread_process_queued_calls"];_pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=wasmExports["pthread_mutex_consistent"];_pthread_barrier_init=Module["_pthread_barrier_init"]=wasmExports["pthread_barrier_init"];_pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=wasmExports["pthread_barrier_destroy"];_pthread_barrier_wait=Module["_pthread_barrier_wait"]=wasmExports["pthread_barrier_wait"];_pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=wasmExports["pthread_cond_broadcast"];_pthread_atfork=Module["_pthread_atfork"]=wasmExports["pthread_atfork"];_pthread_cancel=Module["_pthread_cancel"]=wasmExports["pthread_cancel"];_pthread_testcancel=Module["_pthread_testcancel"]=wasmExports["pthread_testcancel"];___pthread_detach=Module["___pthread_detach"]=wasmExports["__pthread_detach"];_pthread_equal=Module["_pthread_equal"]=wasmExports["pthread_equal"];_pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=wasmExports["pthread_mutexattr_init"];_pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=wasmExports["pthread_mutexattr_setprotocol"];_pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=wasmExports["pthread_mutexattr_settype"];_pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=wasmExports["pthread_mutexattr_destroy"];_pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=wasmExports["pthread_mutexattr_setpshared"];_pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=wasmExports["pthread_condattr_setpshared"];_pthread_setcanceltype=Module["_pthread_setcanceltype"]=wasmExports["pthread_setcanceltype"];_pthread_rwlock_init=Module["_pthread_rwlock_init"]=wasmExports["pthread_rwlock_init"];_pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=wasmExports["pthread_rwlock_destroy"];_pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=wasmExports["pthread_rwlock_rdlock"];_pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=wasmExports["pthread_rwlock_tryrdlock"];_pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=wasmExports["pthread_rwlock_timedrdlock"];_pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=wasmExports["pthread_rwlock_wrlock"];_pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=wasmExports["pthread_rwlock_trywrlock"];_pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=wasmExports["pthread_rwlock_timedwrlock"];_pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=wasmExports["pthread_rwlock_unlock"];_pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=wasmExports["pthread_rwlockattr_init"];_pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=wasmExports["pthread_rwlockattr_destroy"];_pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=wasmExports["pthread_rwlockattr_setpshared"];_pthread_spin_init=Module["_pthread_spin_init"]=wasmExports["pthread_spin_init"];_pthread_spin_destroy=Module["_pthread_spin_destroy"]=wasmExports["pthread_spin_destroy"];_pthread_spin_lock=Module["_pthread_spin_lock"]=wasmExports["pthread_spin_lock"];_pthread_spin_trylock=Module["_pthread_spin_trylock"]=wasmExports["pthread_spin_trylock"];_pthread_spin_unlock=Module["_pthread_spin_unlock"]=wasmExports["pthread_spin_unlock"];_sem_init=Module["_sem_init"]=wasmExports["sem_init"];_sem_post=Module["_sem_post"]=wasmExports["sem_post"];_sem_wait=Module["_sem_wait"]=wasmExports["sem_wait"];_sem_trywait=Module["_sem_trywait"]=wasmExports["sem_trywait"];_sem_destroy=Module["_sem_destroy"]=wasmExports["sem_destroy"];_pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=wasmExports["pthread_mutex_timedlock"];_emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=wasmExports["emscripten_builtin_pthread_create"];_emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=wasmExports["emscripten_builtin_pthread_join"];_pthread_once=Module["_pthread_once"]=wasmExports["pthread_once"];_emscripten_builtin_pthread_exit=Module["_emscripten_builtin_pthread_exit"]=wasmExports["emscripten_builtin_pthread_exit"];_pthread_exit=Module["_pthread_exit"]=wasmExports["pthread_exit"];_emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=wasmExports["emscripten_builtin_pthread_detach"];_thrd_detach=Module["_thrd_detach"]=wasmExports["thrd_detach"];_link=Module["_link"]=wasmExports["link"];_linkat=Module["_linkat"]=wasmExports["linkat"];_llabs=Module["_llabs"]=wasmExports["llabs"];_lldiv=Module["_lldiv"]=wasmExports["lldiv"];_llrint=Module["_llrint"]=wasmExports["llrint"];_rint=Module["_rint"]=wasmExports["rint"];_llrintf=Module["_llrintf"]=wasmExports["llrintf"];_rintf=Module["_rintf"]=wasmExports["rintf"];_llrintl=Module["_llrintl"]=wasmExports["llrintl"];_rintl=Module["_rintl"]=wasmExports["rintl"];_llround=Module["_llround"]=wasmExports["llround"];_llroundf=Module["_llroundf"]=wasmExports["llroundf"];_roundf=Module["_roundf"]=wasmExports["roundf"];_llroundl=Module["_llroundl"]=wasmExports["llroundl"];_roundl=Module["_roundl"]=wasmExports["roundl"];_log10f=Module["_log10f"]=wasmExports["log10f"];_log10l=Module["_log10l"]=wasmExports["log10l"];_log2f=Module["_log2f"]=wasmExports["log2f"];_log2l=Module["_log2l"]=wasmExports["log2l"];_logb=Module["_logb"]=wasmExports["logb"];_logbf=Module["_logbf"]=wasmExports["logbf"];_logbl=Module["_logbl"]=wasmExports["logbl"];_strtoull=Module["_strtoull"]=wasmExports["strtoull"];_nrand48=Module["_nrand48"]=wasmExports["nrand48"];_lrand48=Module["_lrand48"]=wasmExports["lrand48"];_lrint=Module["_lrint"]=wasmExports["lrint"];_lrintf=Module["_lrintf"]=wasmExports["lrintf"];_lrintl=Module["_lrintl"]=wasmExports["lrintl"];_lround=Module["_lround"]=wasmExports["lround"];_lroundf=Module["_lroundf"]=wasmExports["lroundf"];_lroundl=Module["_lroundl"]=wasmExports["lroundl"];_lsearch=Module["_lsearch"]=wasmExports["lsearch"];_lfind=Module["_lfind"]=wasmExports["lfind"];_mbrlen=Module["_mbrlen"]=wasmExports["mbrlen"];_mbrtoc16=Module["_mbrtoc16"]=wasmExports["mbrtoc16"];_mbrtoc32=Module["_mbrtoc32"]=wasmExports["mbrtoc32"];_mbsinit=Module["_mbsinit"]=wasmExports["mbsinit"];_mbsnrtowcs=Module["_mbsnrtowcs"]=wasmExports["mbsnrtowcs"];_mbsrtowcs=Module["_mbsrtowcs"]=wasmExports["mbsrtowcs"];_memccpy=Module["_memccpy"]=wasmExports["memccpy"];_memmem=Module["_memmem"]=wasmExports["memmem"];_mempcpy=Module["_mempcpy"]=wasmExports["mempcpy"];_mincore=Module["_mincore"]=wasmExports["mincore"];_mkdtemp=Module["_mkdtemp"]=wasmExports["mkdtemp"];_mkfifo=Module["_mkfifo"]=wasmExports["mkfifo"];_mkfifoat=Module["_mkfifoat"]=wasmExports["mkfifoat"];_mkostemp=Module["_mkostemp"]=wasmExports["mkostemp"];_mkostemps=Module["_mkostemps"]=wasmExports["mkostemps"];_mkstemp=Module["_mkstemp"]=wasmExports["mkstemp"];_mkstemps=Module["_mkstemps"]=wasmExports["mkstemps"];_mktemp=Module["_mktemp"]=wasmExports["mktemp"];_timegm=Module["_timegm"]=wasmExports["timegm"];_mlock=Module["_mlock"]=wasmExports["mlock"];_mlockall=Module["_mlockall"]=wasmExports["mlockall"];_emscripten_builtin_mmap=Module["_emscripten_builtin_mmap"]=wasmExports["emscripten_builtin_mmap"];_setmntent=Module["_setmntent"]=wasmExports["setmntent"];_endmntent=Module["_endmntent"]=wasmExports["endmntent"];_getmntent_r=Module["_getmntent_r"]=wasmExports["getmntent_r"];_sscanf=Module["_sscanf"]=wasmExports["sscanf"];_getmntent=Module["_getmntent"]=wasmExports["getmntent"];_addmntent=Module["_addmntent"]=wasmExports["addmntent"];_hasmntopt=Module["_hasmntopt"]=wasmExports["hasmntopt"];_mprotect=Module["_mprotect"]=wasmExports["mprotect"];_jrand48=Module["_jrand48"]=wasmExports["jrand48"];_mrand48=Module["_mrand48"]=wasmExports["mrand48"];_mtx_destroy=Module["_mtx_destroy"]=wasmExports["mtx_destroy"];_mtx_init=Module["_mtx_init"]=wasmExports["mtx_init"];_mtx_lock=Module["_mtx_lock"]=wasmExports["mtx_lock"];_mtx_timedlock=Module["_mtx_timedlock"]=wasmExports["mtx_timedlock"];_mtx_trylock=Module["_mtx_trylock"]=wasmExports["mtx_trylock"];_mtx_unlock=Module["_mtx_unlock"]=wasmExports["mtx_unlock"];_munlock=Module["_munlock"]=wasmExports["munlock"];_munlockall=Module["_munlockall"]=wasmExports["munlockall"];_emscripten_builtin_munmap=Module["_emscripten_builtin_munmap"]=wasmExports["emscripten_builtin_munmap"];_nan=Module["_nan"]=wasmExports["nan"];_nanf=Module["_nanf"]=wasmExports["nanf"];_nanl=Module["_nanl"]=wasmExports["nanl"];_nanosleep=Module["_nanosleep"]=wasmExports["nanosleep"];_nearbyint=Module["_nearbyint"]=wasmExports["nearbyint"];_nearbyintf=Module["_nearbyintf"]=wasmExports["nearbyintf"];_nearbyintl=Module["_nearbyintl"]=wasmExports["nearbyintl"];_getnetbyaddr=Module["_getnetbyaddr"]=wasmExports["getnetbyaddr"];_getnetbyname=Module["_getnetbyname"]=wasmExports["getnetbyname"];___newlocale=Module["___newlocale"]=wasmExports["__newlocale"];_newlocale=Module["_newlocale"]=wasmExports["newlocale"];_nextafterf=Module["_nextafterf"]=wasmExports["nextafterf"];_nexttoward=Module["_nexttoward"]=wasmExports["nexttoward"];_nexttowardf=Module["_nexttowardf"]=wasmExports["nexttowardf"];_nexttowardl=Module["_nexttowardl"]=wasmExports["nexttowardl"];_nftw=Module["_nftw"]=wasmExports["nftw"];_nice=Module["_nice"]=wasmExports["nice"];_setpriority=Module["_setpriority"]=wasmExports["setpriority"];_ns_get16=Module["_ns_get16"]=wasmExports["ns_get16"];_ns_get32=Module["_ns_get32"]=wasmExports["ns_get32"];_ns_put16=Module["_ns_put16"]=wasmExports["ns_put16"];_ns_put32=Module["_ns_put32"]=wasmExports["ns_put32"];_ns_skiprr=Module["_ns_skiprr"]=wasmExports["ns_skiprr"];_ns_initparse=Module["_ns_initparse"]=wasmExports["ns_initparse"];_ns_name_uncompress=Module["_ns_name_uncompress"]=wasmExports["ns_name_uncompress"];_ns_parserr=Module["_ns_parserr"]=wasmExports["ns_parserr"];_open_memstream=Module["_open_memstream"]=wasmExports["open_memstream"];_open_wmemstream=Module["_open_wmemstream"]=wasmExports["open_wmemstream"];_posix_close=Module["_posix_close"]=wasmExports["posix_close"];_posix_madvise=Module["_posix_madvise"]=wasmExports["posix_madvise"];_posix_spawn_file_actions_addchdir_np=Module["_posix_spawn_file_actions_addchdir_np"]=wasmExports["posix_spawn_file_actions_addchdir_np"];_posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=wasmExports["posix_spawn_file_actions_addclose"];_posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=wasmExports["posix_spawn_file_actions_adddup2"];_posix_spawn_file_actions_addfchdir_np=Module["_posix_spawn_file_actions_addfchdir_np"]=wasmExports["posix_spawn_file_actions_addfchdir_np"];_posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=wasmExports["posix_spawn_file_actions_addopen"];_posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=wasmExports["posix_spawn_file_actions_destroy"];_posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=wasmExports["posix_spawn_file_actions_init"];_posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=wasmExports["posix_spawnattr_destroy"];_posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=wasmExports["posix_spawnattr_getflags"];_posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=wasmExports["posix_spawnattr_getpgroup"];_posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=wasmExports["posix_spawnattr_getsigdefault"];_posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=wasmExports["posix_spawnattr_getsigmask"];_posix_spawnattr_init=Module["_posix_spawnattr_init"]=wasmExports["posix_spawnattr_init"];_posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=wasmExports["posix_spawnattr_getschedparam"];_posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=wasmExports["posix_spawnattr_setschedparam"];_posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=wasmExports["posix_spawnattr_getschedpolicy"];_posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=wasmExports["posix_spawnattr_setschedpolicy"];_posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=wasmExports["posix_spawnattr_setflags"];_posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=wasmExports["posix_spawnattr_setpgroup"];_posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=wasmExports["posix_spawnattr_setsigdefault"];_posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=wasmExports["posix_spawnattr_setsigmask"];_powf=Module["_powf"]=wasmExports["powf"];_ppoll=Module["_ppoll"]=wasmExports["ppoll"];_preadv=Module["_preadv"]=wasmExports["preadv"];_printf=Module["_printf"]=wasmExports["printf"];___small_printf=Module["___small_printf"]=wasmExports["__small_printf"];_em_proxying_queue_create=Module["_em_proxying_queue_create"]=wasmExports["em_proxying_queue_create"];_em_proxying_queue_destroy=Module["_em_proxying_queue_destroy"]=wasmExports["em_proxying_queue_destroy"];_emscripten_proxy_get_system_queue=Module["_emscripten_proxy_get_system_queue"]=wasmExports["emscripten_proxy_get_system_queue"];_emscripten_proxy_execute_queue=Module["_emscripten_proxy_execute_queue"]=wasmExports["emscripten_proxy_execute_queue"];_emscripten_proxy_finish=Module["_emscripten_proxy_finish"]=wasmExports["emscripten_proxy_finish"];_emscripten_proxy_async=Module["_emscripten_proxy_async"]=wasmExports["emscripten_proxy_async"];_emscripten_proxy_sync=Module["_emscripten_proxy_sync"]=wasmExports["emscripten_proxy_sync"];_emscripten_proxy_sync_with_ctx=Module["_emscripten_proxy_sync_with_ctx"]=wasmExports["emscripten_proxy_sync_with_ctx"];_pselect=Module["_pselect"]=wasmExports["pselect"];_pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=wasmExports["pthread_attr_getdetachstate"];_pthread_attr_getguardsize=Module["_pthread_attr_getguardsize"]=wasmExports["pthread_attr_getguardsize"];_pthread_attr_getinheritsched=Module["_pthread_attr_getinheritsched"]=wasmExports["pthread_attr_getinheritsched"];_pthread_attr_getschedparam=Module["_pthread_attr_getschedparam"]=wasmExports["pthread_attr_getschedparam"];_pthread_attr_getschedpolicy=Module["_pthread_attr_getschedpolicy"]=wasmExports["pthread_attr_getschedpolicy"];_pthread_attr_getscope=Module["_pthread_attr_getscope"]=wasmExports["pthread_attr_getscope"];_pthread_attr_getstack=Module["_pthread_attr_getstack"]=wasmExports["pthread_attr_getstack"];_pthread_attr_getstacksize=Module["_pthread_attr_getstacksize"]=wasmExports["pthread_attr_getstacksize"];_pthread_barrierattr_getpshared=Module["_pthread_barrierattr_getpshared"]=wasmExports["pthread_barrierattr_getpshared"];_pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=wasmExports["pthread_condattr_getclock"];_pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=wasmExports["pthread_condattr_getpshared"];_pthread_mutexattr_getprotocol=Module["_pthread_mutexattr_getprotocol"]=wasmExports["pthread_mutexattr_getprotocol"];_pthread_mutexattr_getpshared=Module["_pthread_mutexattr_getpshared"]=wasmExports["pthread_mutexattr_getpshared"];_pthread_mutexattr_getrobust=Module["_pthread_mutexattr_getrobust"]=wasmExports["pthread_mutexattr_getrobust"];_pthread_mutexattr_gettype=Module["_pthread_mutexattr_gettype"]=wasmExports["pthread_mutexattr_gettype"];_pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=wasmExports["pthread_rwlockattr_getpshared"];_pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=wasmExports["pthread_attr_setdetachstate"];_pthread_attr_setguardsize=Module["_pthread_attr_setguardsize"]=wasmExports["pthread_attr_setguardsize"];_pthread_attr_setinheritsched=Module["_pthread_attr_setinheritsched"]=wasmExports["pthread_attr_setinheritsched"];_pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=wasmExports["pthread_attr_setschedparam"];_pthread_attr_setschedpolicy=Module["_pthread_attr_setschedpolicy"]=wasmExports["pthread_attr_setschedpolicy"];_pthread_attr_setscope=Module["_pthread_attr_setscope"]=wasmExports["pthread_attr_setscope"];_pthread_attr_setstack=Module["_pthread_attr_setstack"]=wasmExports["pthread_attr_setstack"];__pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=wasmExports["_pthread_cleanup_pop"];_pthread_getattr_np=Module["_pthread_getattr_np"]=wasmExports["pthread_getattr_np"];_pthread_getconcurrency=Module["_pthread_getconcurrency"]=wasmExports["pthread_getconcurrency"];_pthread_getschedparam=Module["_pthread_getschedparam"]=wasmExports["pthread_getschedparam"];_thrd_current=Module["_thrd_current"]=wasmExports["thrd_current"];_emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=wasmExports["emscripten_main_runtime_thread_id"];_pthread_setconcurrency=Module["_pthread_setconcurrency"]=wasmExports["pthread_setconcurrency"];_pthread_setschedprio=Module["_pthread_setschedprio"]=wasmExports["pthread_setschedprio"];___sig_is_blocked=Module["___sig_is_blocked"]=wasmExports["__sig_is_blocked"];_sigorset=Module["_sigorset"]=wasmExports["sigorset"];_sigandset=Module["_sigandset"]=wasmExports["sigandset"];_sigdelset=Module["_sigdelset"]=wasmExports["sigdelset"];_ptsname=Module["_ptsname"]=wasmExports["ptsname"];__IO_putc=Module["__IO_putc"]=wasmExports["_IO_putc"];_putc_unlocked=Module["_putc_unlocked"]=wasmExports["putc_unlocked"];_fputc_unlocked=Module["_fputc_unlocked"]=wasmExports["fputc_unlocked"];__IO_putc_unlocked=Module["__IO_putc_unlocked"]=wasmExports["_IO_putc_unlocked"];_putchar_unlocked=Module["_putchar_unlocked"]=wasmExports["putchar_unlocked"];_putenv=Module["_putenv"]=wasmExports["putenv"];_putw=Module["_putw"]=wasmExports["putw"];_putwc=Module["_putwc"]=wasmExports["putwc"];_putwchar=Module["_putwchar"]=wasmExports["putwchar"];_putwchar_unlocked=Module["_putwchar_unlocked"]=wasmExports["putwchar_unlocked"];_pwritev=Module["_pwritev"]=wasmExports["pwritev"];_qsort_r=Module["_qsort_r"]=wasmExports["qsort_r"];_quick_exit=Module["_quick_exit"]=wasmExports["quick_exit"];_action_abort=Module["_action_abort"]=wasmExports["action_abort"];_action_terminate=Module["_action_terminate"]=wasmExports["action_terminate"];_srand=Module["_srand"]=wasmExports["srand"];_rand=Module["_rand"]=wasmExports["rand"];_rand_r=Module["_rand_r"]=wasmExports["rand_r"];_srandom=Module["_srandom"]=wasmExports["srandom"];_initstate=Module["_initstate"]=wasmExports["initstate"];_setstate=Module["_setstate"]=wasmExports["setstate"];_random=Module["_random"]=wasmExports["random"];_readdir_r=Module["_readdir_r"]=wasmExports["readdir_r"];_reallocarray=Module["_reallocarray"]=wasmExports["reallocarray"];_recvmmsg=Module["_recvmmsg"]=wasmExports["recvmmsg"];_regcomp=Module["_regcomp"]=wasmExports["regcomp"];_regfree=Module["_regfree"]=wasmExports["regfree"];_regerror=Module["_regerror"]=wasmExports["regerror"];_regexec=Module["_regexec"]=wasmExports["regexec"];_remainder=Module["_remainder"]=wasmExports["remainder"];_remquo=Module["_remquo"]=wasmExports["remquo"];_drem=Module["_drem"]=wasmExports["drem"];_remainderf=Module["_remainderf"]=wasmExports["remainderf"];_remquof=Module["_remquof"]=wasmExports["remquof"];_dremf=Module["_dremf"]=wasmExports["dremf"];_remainderl=Module["_remainderl"]=wasmExports["remainderl"];_remquol=Module["_remquol"]=wasmExports["remquol"];_remove=Module["_remove"]=wasmExports["remove"];_res_init=Module["_res_init"]=wasmExports["res_init"];_res_mkquery=Module["_res_mkquery"]=wasmExports["res_mkquery"];___res_msend=Module["___res_msend"]=wasmExports["__res_msend"];_res_send=Module["_res_send"]=wasmExports["res_send"];___res_state=Module["___res_state"]=wasmExports["__res_state"];_rindex=Module["_rindex"]=wasmExports["rindex"];_scalb=Module["_scalb"]=wasmExports["scalb"];_scalbf=Module["_scalbf"]=wasmExports["scalbf"];_scalbln=Module["_scalbln"]=wasmExports["scalbln"];_scalblnf=Module["_scalblnf"]=wasmExports["scalblnf"];_scalblnl=Module["_scalblnl"]=wasmExports["scalblnl"];_scandir=Module["_scandir"]=wasmExports["scandir"];_scanf=Module["_scanf"]=wasmExports["scanf"];_vscanf=Module["_vscanf"]=wasmExports["vscanf"];___isoc99_scanf=Module["___isoc99_scanf"]=wasmExports["__isoc99_scanf"];_secure_getenv=Module["_secure_getenv"]=wasmExports["secure_getenv"];_seed48=Module["_seed48"]=wasmExports["seed48"];_seekdir=Module["_seekdir"]=wasmExports["seekdir"];_sendmmsg=Module["_sendmmsg"]=wasmExports["sendmmsg"];_endservent=Module["_endservent"]=wasmExports["endservent"];_setservent=Module["_setservent"]=wasmExports["setservent"];_getservent=Module["_getservent"]=wasmExports["getservent"];_setbuf=Module["_setbuf"]=wasmExports["setbuf"];_setbuffer=Module["_setbuffer"]=wasmExports["setbuffer"];_setdomainname=Module["_setdomainname"]=wasmExports["setdomainname"];_setegid=Module["_setegid"]=wasmExports["setegid"];_seteuid=Module["_seteuid"]=wasmExports["seteuid"];__emscripten_timeout=Module["__emscripten_timeout"]=wasmExports["_emscripten_timeout"];_setlinebuf=Module["_setlinebuf"]=wasmExports["setlinebuf"];_setresgid=Module["_setresgid"]=wasmExports["setresgid"];_setresuid=Module["_setresuid"]=wasmExports["setresuid"];_shm_open=Module["_shm_open"]=wasmExports["shm_open"];_shm_unlink=Module["_shm_unlink"]=wasmExports["shm_unlink"];_sigaction=Module["_sigaction"]=wasmExports["sigaction"];_sigisemptyset=Module["_sigisemptyset"]=wasmExports["sigisemptyset"];_bsd_signal=Module["_bsd_signal"]=wasmExports["bsd_signal"];___sysv_signal=Module["___sysv_signal"]=wasmExports["__sysv_signal"];_significand=Module["_significand"]=wasmExports["significand"];_significandf=Module["_significandf"]=wasmExports["significandf"];_sigprocmask=Module["_sigprocmask"]=wasmExports["sigprocmask"];_sincos=Module["_sincos"]=wasmExports["sincos"];_sincosf=Module["_sincosf"]=wasmExports["sincosf"];_sincosl=Module["_sincosl"]=wasmExports["sincosl"];_sinhl=Module["_sinhl"]=wasmExports["sinhl"];_sinl=Module["_sinl"]=wasmExports["sinl"];_sockatmark=Module["_sockatmark"]=wasmExports["sockatmark"];_vsprintf=Module["_vsprintf"]=wasmExports["vsprintf"];_vsiprintf=Module["_vsiprintf"]=wasmExports["vsiprintf"];___small_sprintf=Module["___small_sprintf"]=wasmExports["__small_sprintf"];___small_vsprintf=Module["___small_vsprintf"]=wasmExports["__small_vsprintf"];_srand48=Module["_srand48"]=wasmExports["srand48"];_vsscanf=Module["_vsscanf"]=wasmExports["vsscanf"];___isoc99_sscanf=Module["___isoc99_sscanf"]=wasmExports["__isoc99_sscanf"];_statfs=Module["_statfs"]=wasmExports["statfs"];_fstatfs=Module["_fstatfs"]=wasmExports["fstatfs"];_statx=Module["_statx"]=wasmExports["statx"];_stpcpy=Module["_stpcpy"]=wasmExports["stpcpy"];_stpncpy=Module["_stpncpy"]=wasmExports["stpncpy"];___strcasecmp_l=Module["___strcasecmp_l"]=wasmExports["__strcasecmp_l"];_strcasecmp_l=Module["_strcasecmp_l"]=wasmExports["strcasecmp_l"];_strcasestr=Module["_strcasestr"]=wasmExports["strcasestr"];_strncasecmp=Module["_strncasecmp"]=wasmExports["strncasecmp"];_strchrnul=Module["_strchrnul"]=wasmExports["strchrnul"];___strcoll_l=Module["___strcoll_l"]=wasmExports["__strcoll_l"];_strcoll_l=Module["_strcoll_l"]=wasmExports["strcoll_l"];___strerror_l=Module["___strerror_l"]=wasmExports["__strerror_l"];_strerror_l=Module["_strerror_l"]=wasmExports["strerror_l"];_strerror_r=Module["_strerror_r"]=wasmExports["strerror_r"];___xpg_strerror_r=Module["___xpg_strerror_r"]=wasmExports["__xpg_strerror_r"];_strfmon_l=Module["_strfmon_l"]=wasmExports["strfmon_l"];_strfmon=Module["_strfmon"]=wasmExports["strfmon"];_strftime_l=Module["_strftime_l"]=wasmExports["strftime_l"];_strlcat=Module["_strlcat"]=wasmExports["strlcat"];_strlcpy=Module["_strlcpy"]=wasmExports["strlcpy"];_strlwr=Module["_strlwr"]=wasmExports["strlwr"];___strncasecmp_l=Module["___strncasecmp_l"]=wasmExports["__strncasecmp_l"];_strncasecmp_l=Module["_strncasecmp_l"]=wasmExports["strncasecmp_l"];_strndup=Module["_strndup"]=wasmExports["strndup"];_strsep=Module["_strsep"]=wasmExports["strsep"];_strtof=Module["_strtof"]=wasmExports["strtof"];_strtold=Module["_strtold"]=wasmExports["strtold"];_strtof_l=Module["_strtof_l"]=wasmExports["strtof_l"];_strtod_l=Module["_strtod_l"]=wasmExports["strtod_l"];_strtold_l=Module["_strtold_l"]=wasmExports["strtold_l"];___strtof_l=Module["___strtof_l"]=wasmExports["__strtof_l"];___strtod_l=Module["___strtod_l"]=wasmExports["__strtod_l"];___strtold_l=Module["___strtold_l"]=wasmExports["__strtold_l"];_strtok=Module["_strtok"]=wasmExports["strtok"];_strtok_r=Module["_strtok_r"]=wasmExports["strtok_r"];_strtoll=Module["_strtoll"]=wasmExports["strtoll"];_strtoimax=Module["_strtoimax"]=wasmExports["strtoimax"];_strtoumax=Module["_strtoumax"]=wasmExports["strtoumax"];___strtol_internal=Module["___strtol_internal"]=wasmExports["__strtol_internal"];___strtoul_internal=Module["___strtoul_internal"]=wasmExports["__strtoul_internal"];___strtoll_internal=Module["___strtoll_internal"]=wasmExports["__strtoll_internal"];___strtoull_internal=Module["___strtoull_internal"]=wasmExports["__strtoull_internal"];___strtoimax_internal=Module["___strtoimax_internal"]=wasmExports["__strtoimax_internal"];___strtoumax_internal=Module["___strtoumax_internal"]=wasmExports["__strtoumax_internal"];_strtoull_l=Module["_strtoull_l"]=wasmExports["strtoull_l"];_strtoll_l=Module["_strtoll_l"]=wasmExports["strtoll_l"];_strtoul_l=Module["_strtoul_l"]=wasmExports["strtoul_l"];_strtol_l=Module["_strtol_l"]=wasmExports["strtol_l"];_strupr=Module["_strupr"]=wasmExports["strupr"];_strverscmp=Module["_strverscmp"]=wasmExports["strverscmp"];___strxfrm_l=Module["___strxfrm_l"]=wasmExports["__strxfrm_l"];_strxfrm=Module["_strxfrm"]=wasmExports["strxfrm"];_strxfrm_l=Module["_strxfrm_l"]=wasmExports["strxfrm_l"];_swab=Module["_swab"]=wasmExports["swab"];_swprintf=Module["_swprintf"]=wasmExports["swprintf"];_vswprintf=Module["_vswprintf"]=wasmExports["vswprintf"];_swscanf=Module["_swscanf"]=wasmExports["swscanf"];_vswscanf=Module["_vswscanf"]=wasmExports["vswscanf"];___isoc99_swscanf=Module["___isoc99_swscanf"]=wasmExports["__isoc99_swscanf"];_symlinkat=Module["_symlinkat"]=wasmExports["symlinkat"];_setlogmask=Module["_setlogmask"]=wasmExports["setlogmask"];_closelog=Module["_closelog"]=wasmExports["closelog"];_openlog=Module["_openlog"]=wasmExports["openlog"];_syslog=Module["_syslog"]=wasmExports["syslog"];_vsyslog=Module["_vsyslog"]=wasmExports["vsyslog"];_tanhf=Module["_tanhf"]=wasmExports["tanhf"];_tanhl=Module["_tanhl"]=wasmExports["tanhl"];_tanl=Module["_tanl"]=wasmExports["tanl"];_tcgetsid=Module["_tcgetsid"]=wasmExports["tcgetsid"];_tcgetwinsize=Module["_tcgetwinsize"]=wasmExports["tcgetwinsize"];_tcsetwinsize=Module["_tcsetwinsize"]=wasmExports["tcsetwinsize"];_tdelete=Module["_tdelete"]=wasmExports["tdelete"];_tdestroy=Module["_tdestroy"]=wasmExports["tdestroy"];_telldir=Module["_telldir"]=wasmExports["telldir"];_tempnam=Module["_tempnam"]=wasmExports["tempnam"];_ngettext=Module["_ngettext"]=wasmExports["ngettext"];_tfind=Module["_tfind"]=wasmExports["tfind"];_tgamma=Module["_tgamma"]=wasmExports["tgamma"];_tgammaf=Module["_tgammaf"]=wasmExports["tgammaf"];_tgammal=Module["_tgammal"]=wasmExports["tgammal"];_thrd_create=Module["_thrd_create"]=wasmExports["thrd_create"];_thrd_exit=Module["_thrd_exit"]=wasmExports["thrd_exit"];_thrd_join=Module["_thrd_join"]=wasmExports["thrd_join"];_thrd_sleep=Module["_thrd_sleep"]=wasmExports["thrd_sleep"];_thrd_yield=Module["_thrd_yield"]=wasmExports["thrd_yield"];_emscripten_set_thread_name=Module["_emscripten_set_thread_name"]=wasmExports["emscripten_set_thread_name"];_timespec_get=Module["_timespec_get"]=wasmExports["timespec_get"];_tmpfile=Module["_tmpfile"]=wasmExports["tmpfile"];_tmpnam=Module["_tmpnam"]=wasmExports["tmpnam"];_toascii=Module["_toascii"]=wasmExports["toascii"];___tolower_l=Module["___tolower_l"]=wasmExports["__tolower_l"];_tolower_l=Module["_tolower_l"]=wasmExports["tolower_l"];___toupper_l=Module["___toupper_l"]=wasmExports["__toupper_l"];_toupper_l=Module["_toupper_l"]=wasmExports["toupper_l"];___towupper_l=Module["___towupper_l"]=wasmExports["__towupper_l"];___towlower_l=Module["___towlower_l"]=wasmExports["__towlower_l"];_towupper_l=Module["_towupper_l"]=wasmExports["towupper_l"];_towlower_l=Module["_towlower_l"]=wasmExports["towlower_l"];_truncf=Module["_truncf"]=wasmExports["truncf"];_truncl=Module["_truncl"]=wasmExports["truncl"];_tsearch=Module["_tsearch"]=wasmExports["tsearch"];_tss_create=Module["_tss_create"]=wasmExports["tss_create"];_tss_delete=Module["_tss_delete"]=wasmExports["tss_delete"];_tss_set=Module["_tss_set"]=wasmExports["tss_set"];_ttyname=Module["_ttyname"]=wasmExports["ttyname"];_twalk=Module["_twalk"]=wasmExports["twalk"];_ualarm=Module["_ualarm"]=wasmExports["ualarm"];_ungetwc=Module["_ungetwc"]=wasmExports["ungetwc"];___uselocale=Module["___uselocale"]=wasmExports["__uselocale"];_uselocale=Module["_uselocale"]=wasmExports["uselocale"];_utime=Module["_utime"]=wasmExports["utime"];_versionsort=Module["_versionsort"]=wasmExports["versionsort"];___vfprintf_internal=Module["___vfprintf_internal"]=wasmExports["__vfprintf_internal"];___isoc99_vfscanf=Module["___isoc99_vfscanf"]=wasmExports["__isoc99_vfscanf"];_wcsnlen=Module["_wcsnlen"]=wasmExports["wcsnlen"];___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=wasmExports["__isoc99_vfwscanf"];_vprintf=Module["_vprintf"]=wasmExports["vprintf"];___isoc99_vscanf=Module["___isoc99_vscanf"]=wasmExports["__isoc99_vscanf"];_vsniprintf=Module["_vsniprintf"]=wasmExports["vsniprintf"];___small_vsnprintf=Module["___small_vsnprintf"]=wasmExports["__small_vsnprintf"];___isoc99_vsscanf=Module["___isoc99_vsscanf"]=wasmExports["__isoc99_vsscanf"];___isoc99_vswscanf=Module["___isoc99_vswscanf"]=wasmExports["__isoc99_vswscanf"];_vwprintf=Module["_vwprintf"]=wasmExports["vwprintf"];_vwscanf=Module["_vwscanf"]=wasmExports["vwscanf"];___isoc99_vwscanf=Module["___isoc99_vwscanf"]=wasmExports["__isoc99_vwscanf"];_wcpcpy=Module["_wcpcpy"]=wasmExports["wcpcpy"];_wcpncpy=Module["_wcpncpy"]=wasmExports["wcpncpy"];_wcscasecmp=Module["_wcscasecmp"]=wasmExports["wcscasecmp"];_wcsncasecmp=Module["_wcsncasecmp"]=wasmExports["wcsncasecmp"];_wcscasecmp_l=Module["_wcscasecmp_l"]=wasmExports["wcscasecmp_l"];_wcscat=Module["_wcscat"]=wasmExports["wcscat"];___wcscoll_l=Module["___wcscoll_l"]=wasmExports["__wcscoll_l"];_wcscoll_l=Module["_wcscoll_l"]=wasmExports["wcscoll_l"];_wcscspn=Module["_wcscspn"]=wasmExports["wcscspn"];_wcsdup=Module["_wcsdup"]=wasmExports["wcsdup"];_wmemcpy=Module["_wmemcpy"]=wasmExports["wmemcpy"];___wcsftime_l=Module["___wcsftime_l"]=wasmExports["__wcsftime_l"];_wcstoul=Module["_wcstoul"]=wasmExports["wcstoul"];_wcsftime_l=Module["_wcsftime_l"]=wasmExports["wcsftime_l"];_wcsncasecmp_l=Module["_wcsncasecmp_l"]=wasmExports["wcsncasecmp_l"];_wcsncat=Module["_wcsncat"]=wasmExports["wcsncat"];_wmemset=Module["_wmemset"]=wasmExports["wmemset"];_wcsnrtombs=Module["_wcsnrtombs"]=wasmExports["wcsnrtombs"];_wcspbrk=Module["_wcspbrk"]=wasmExports["wcspbrk"];_wcsspn=Module["_wcsspn"]=wasmExports["wcsspn"];_wcsstr=Module["_wcsstr"]=wasmExports["wcsstr"];_wcstof=Module["_wcstof"]=wasmExports["wcstof"];_wcstod=Module["_wcstod"]=wasmExports["wcstod"];_wcstold=Module["_wcstold"]=wasmExports["wcstold"];_wcstoull=Module["_wcstoull"]=wasmExports["wcstoull"];_wcstoll=Module["_wcstoll"]=wasmExports["wcstoll"];_wcstoimax=Module["_wcstoimax"]=wasmExports["wcstoimax"];_wcstoumax=Module["_wcstoumax"]=wasmExports["wcstoumax"];_wcswcs=Module["_wcswcs"]=wasmExports["wcswcs"];_wcswidth=Module["_wcswidth"]=wasmExports["wcswidth"];_wcwidth=Module["_wcwidth"]=wasmExports["wcwidth"];___wcsxfrm_l=Module["___wcsxfrm_l"]=wasmExports["__wcsxfrm_l"];_wcsxfrm_l=Module["_wcsxfrm_l"]=wasmExports["wcsxfrm_l"];_wctob=Module["_wctob"]=wasmExports["wctob"];_wctrans=Module["_wctrans"]=wasmExports["wctrans"];_towctrans=Module["_towctrans"]=wasmExports["towctrans"];___wctrans_l=Module["___wctrans_l"]=wasmExports["__wctrans_l"];___towctrans_l=Module["___towctrans_l"]=wasmExports["__towctrans_l"];_wctrans_l=Module["_wctrans_l"]=wasmExports["wctrans_l"];_towctrans_l=Module["_towctrans_l"]=wasmExports["towctrans_l"];_wmemmove=Module["_wmemmove"]=wasmExports["wmemmove"];_wprintf=Module["_wprintf"]=wasmExports["wprintf"];_wscanf=Module["_wscanf"]=wasmExports["wscanf"];___isoc99_wscanf=Module["___isoc99_wscanf"]=wasmExports["__isoc99_wscanf"];___libc_realloc=Module["___libc_realloc"]=wasmExports["__libc_realloc"];_realloc_in_place=Module["_realloc_in_place"]=wasmExports["realloc_in_place"];_memalign=Module["_memalign"]=wasmExports["memalign"];_valloc=Module["_valloc"]=wasmExports["valloc"];_pvalloc=Module["_pvalloc"]=wasmExports["pvalloc"];_mallinfo=Module["_mallinfo"]=wasmExports["mallinfo"];_mallopt=Module["_mallopt"]=wasmExports["mallopt"];_malloc_trim=Module["_malloc_trim"]=wasmExports["malloc_trim"];_malloc_usable_size=Module["_malloc_usable_size"]=wasmExports["malloc_usable_size"];_malloc_footprint=Module["_malloc_footprint"]=wasmExports["malloc_footprint"];_malloc_max_footprint=Module["_malloc_max_footprint"]=wasmExports["malloc_max_footprint"];_malloc_footprint_limit=Module["_malloc_footprint_limit"]=wasmExports["malloc_footprint_limit"];_malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=wasmExports["malloc_set_footprint_limit"];_independent_calloc=Module["_independent_calloc"]=wasmExports["independent_calloc"];_independent_comalloc=Module["_independent_comalloc"]=wasmExports["independent_comalloc"];_bulk_free=Module["_bulk_free"]=wasmExports["bulk_free"];_emscripten_builtin_realloc=Module["_emscripten_builtin_realloc"]=wasmExports["emscripten_builtin_realloc"];_emscripten_builtin_calloc=Module["_emscripten_builtin_calloc"]=wasmExports["emscripten_builtin_calloc"];_emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=wasmExports["emscripten_get_sbrk_ptr"];__sbrk64=Module["__sbrk64"]=wasmExports["_sbrk64"];_brk=Module["_brk"]=wasmExports["brk"];___trap=Module["___trap"]=wasmExports["__trap"];___absvdi2=Module["___absvdi2"]=wasmExports["__absvdi2"];___absvsi2=Module["___absvsi2"]=wasmExports["__absvsi2"];___absvti2=Module["___absvti2"]=wasmExports["__absvti2"];___adddf3=Module["___adddf3"]=wasmExports["__adddf3"];___fe_getround=Module["___fe_getround"]=wasmExports["__fe_getround"];___fe_raise_inexact=Module["___fe_raise_inexact"]=wasmExports["__fe_raise_inexact"];___addsf3=Module["___addsf3"]=wasmExports["__addsf3"];___ashlti3=Module["___ashlti3"]=wasmExports["__ashlti3"];___lshrti3=Module["___lshrti3"]=wasmExports["__lshrti3"];___addvdi3=Module["___addvdi3"]=wasmExports["__addvdi3"];___addvsi3=Module["___addvsi3"]=wasmExports["__addvsi3"];___addvti3=Module["___addvti3"]=wasmExports["__addvti3"];___ashldi3=Module["___ashldi3"]=wasmExports["__ashldi3"];___ashrdi3=Module["___ashrdi3"]=wasmExports["__ashrdi3"];___ashrti3=Module["___ashrti3"]=wasmExports["__ashrti3"];___atomic_is_lock_free=Module["___atomic_is_lock_free"]=wasmExports["__atomic_is_lock_free"];___atomic_load=Module["___atomic_load"]=wasmExports["__atomic_load"];___atomic_store=Module["___atomic_store"]=wasmExports["__atomic_store"];___atomic_compare_exchange=Module["___atomic_compare_exchange"]=wasmExports["__atomic_compare_exchange"];___atomic_exchange=Module["___atomic_exchange"]=wasmExports["__atomic_exchange"];___atomic_load_1=Module["___atomic_load_1"]=wasmExports["__atomic_load_1"];___atomic_load_2=Module["___atomic_load_2"]=wasmExports["__atomic_load_2"];___atomic_load_4=Module["___atomic_load_4"]=wasmExports["__atomic_load_4"];___atomic_load_8=Module["___atomic_load_8"]=wasmExports["__atomic_load_8"];___atomic_load_16=Module["___atomic_load_16"]=wasmExports["__atomic_load_16"];___atomic_store_1=Module["___atomic_store_1"]=wasmExports["__atomic_store_1"];___atomic_store_2=Module["___atomic_store_2"]=wasmExports["__atomic_store_2"];___atomic_store_4=Module["___atomic_store_4"]=wasmExports["__atomic_store_4"];___atomic_store_8=Module["___atomic_store_8"]=wasmExports["__atomic_store_8"];___atomic_store_16=Module["___atomic_store_16"]=wasmExports["__atomic_store_16"];___atomic_exchange_1=Module["___atomic_exchange_1"]=wasmExports["__atomic_exchange_1"];___atomic_exchange_2=Module["___atomic_exchange_2"]=wasmExports["__atomic_exchange_2"];___atomic_exchange_4=Module["___atomic_exchange_4"]=wasmExports["__atomic_exchange_4"];___atomic_exchange_8=Module["___atomic_exchange_8"]=wasmExports["__atomic_exchange_8"];___atomic_exchange_16=Module["___atomic_exchange_16"]=wasmExports["__atomic_exchange_16"];___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=wasmExports["__atomic_compare_exchange_1"];___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=wasmExports["__atomic_compare_exchange_2"];___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=wasmExports["__atomic_compare_exchange_4"];___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=wasmExports["__atomic_compare_exchange_8"];___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=wasmExports["__atomic_compare_exchange_16"];___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=wasmExports["__atomic_fetch_add_1"];___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=wasmExports["__atomic_fetch_add_2"];___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=wasmExports["__atomic_fetch_add_4"];___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=wasmExports["__atomic_fetch_add_8"];___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=wasmExports["__atomic_fetch_add_16"];___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=wasmExports["__atomic_fetch_sub_1"];___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=wasmExports["__atomic_fetch_sub_2"];___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=wasmExports["__atomic_fetch_sub_4"];___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=wasmExports["__atomic_fetch_sub_8"];___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=wasmExports["__atomic_fetch_sub_16"];___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=wasmExports["__atomic_fetch_and_1"];___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=wasmExports["__atomic_fetch_and_2"];___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=wasmExports["__atomic_fetch_and_4"];___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=wasmExports["__atomic_fetch_and_8"];___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=wasmExports["__atomic_fetch_and_16"];___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=wasmExports["__atomic_fetch_or_1"];___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=wasmExports["__atomic_fetch_or_2"];___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=wasmExports["__atomic_fetch_or_4"];___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=wasmExports["__atomic_fetch_or_8"];___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=wasmExports["__atomic_fetch_or_16"];___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=wasmExports["__atomic_fetch_xor_1"];___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=wasmExports["__atomic_fetch_xor_2"];___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=wasmExports["__atomic_fetch_xor_4"];___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=wasmExports["__atomic_fetch_xor_8"];___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=wasmExports["__atomic_fetch_xor_16"];___atomic_fetch_nand_1=Module["___atomic_fetch_nand_1"]=wasmExports["__atomic_fetch_nand_1"];___atomic_fetch_nand_2=Module["___atomic_fetch_nand_2"]=wasmExports["__atomic_fetch_nand_2"];___atomic_fetch_nand_4=Module["___atomic_fetch_nand_4"]=wasmExports["__atomic_fetch_nand_4"];___atomic_fetch_nand_8=Module["___atomic_fetch_nand_8"]=wasmExports["__atomic_fetch_nand_8"];___atomic_fetch_nand_16=Module["___atomic_fetch_nand_16"]=wasmExports["__atomic_fetch_nand_16"];_atomic_flag_clear=Module["_atomic_flag_clear"]=wasmExports["atomic_flag_clear"];_atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=wasmExports["atomic_flag_clear_explicit"];_atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=wasmExports["atomic_flag_test_and_set"];_atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=wasmExports["atomic_flag_test_and_set_explicit"];_atomic_signal_fence=Module["_atomic_signal_fence"]=wasmExports["atomic_signal_fence"];_atomic_thread_fence=Module["_atomic_thread_fence"]=wasmExports["atomic_thread_fence"];___bswapdi2=Module["___bswapdi2"]=wasmExports["__bswapdi2"];___bswapsi2=Module["___bswapsi2"]=wasmExports["__bswapsi2"];___clear_cache=Module["___clear_cache"]=wasmExports["__clear_cache"];___clzdi2=Module["___clzdi2"]=wasmExports["__clzdi2"];___clzsi2=Module["___clzsi2"]=wasmExports["__clzsi2"];___clzti2=Module["___clzti2"]=wasmExports["__clzti2"];___cmpdi2=Module["___cmpdi2"]=wasmExports["__cmpdi2"];___cmpti2=Module["___cmpti2"]=wasmExports["__cmpti2"];___ledf2=Module["___ledf2"]=wasmExports["__ledf2"];___gedf2=Module["___gedf2"]=wasmExports["__gedf2"];___unorddf2=Module["___unorddf2"]=wasmExports["__unorddf2"];___eqdf2=Module["___eqdf2"]=wasmExports["__eqdf2"];___ltdf2=Module["___ltdf2"]=wasmExports["__ltdf2"];___nedf2=Module["___nedf2"]=wasmExports["__nedf2"];___gtdf2=Module["___gtdf2"]=wasmExports["__gtdf2"];___lesf2=Module["___lesf2"]=wasmExports["__lesf2"];___gesf2=Module["___gesf2"]=wasmExports["__gesf2"];___unordsf2=Module["___unordsf2"]=wasmExports["__unordsf2"];___eqsf2=Module["___eqsf2"]=wasmExports["__eqsf2"];___ltsf2=Module["___ltsf2"]=wasmExports["__ltsf2"];___nesf2=Module["___nesf2"]=wasmExports["__nesf2"];___gtsf2=Module["___gtsf2"]=wasmExports["__gtsf2"];___ctzdi2=Module["___ctzdi2"]=wasmExports["__ctzdi2"];___ctzsi2=Module["___ctzsi2"]=wasmExports["__ctzsi2"];___ctzti2=Module["___ctzti2"]=wasmExports["__ctzti2"];___divdc3=Module["___divdc3"]=wasmExports["__divdc3"];___divdf3=Module["___divdf3"]=wasmExports["__divdf3"];___divdi3=Module["___divdi3"]=wasmExports["__divdi3"];___udivmoddi4=Module["___udivmoddi4"]=wasmExports["__udivmoddi4"];___divmoddi4=Module["___divmoddi4"]=wasmExports["__divmoddi4"];___divmodsi4=Module["___divmodsi4"]=wasmExports["__divmodsi4"];___udivmodsi4=Module["___udivmodsi4"]=wasmExports["__udivmodsi4"];___divmodti4=Module["___divmodti4"]=wasmExports["__divmodti4"];___udivmodti4=Module["___udivmodti4"]=wasmExports["__udivmodti4"];___divsc3=Module["___divsc3"]=wasmExports["__divsc3"];___divsf3=Module["___divsf3"]=wasmExports["__divsf3"];___divsi3=Module["___divsi3"]=wasmExports["__divsi3"];___divtc3=Module["___divtc3"]=wasmExports["__divtc3"];___divti3=Module["___divti3"]=wasmExports["__divti3"];_setThrew=Module["_setThrew"]=wasmExports["setThrew"];___wasm_setjmp=Module["___wasm_setjmp"]=wasmExports["__wasm_setjmp"];___wasm_setjmp_test=Module["___wasm_setjmp_test"]=wasmExports["__wasm_setjmp_test"];___wasm_longjmp=Module["___wasm_longjmp"]=wasmExports["__wasm_longjmp"];__emscripten_tempret_set=Module["__emscripten_tempret_set"]=wasmExports["_emscripten_tempret_set"];__emscripten_tempret_get=Module["__emscripten_tempret_get"]=wasmExports["_emscripten_tempret_get"];___get_temp_ret=Module["___get_temp_ret"]=wasmExports["__get_temp_ret"];___set_temp_ret=Module["___set_temp_ret"]=wasmExports["__set_temp_ret"];_getTempRet0=Module["_getTempRet0"]=wasmExports["getTempRet0"];_setTempRet0=Module["_setTempRet0"]=wasmExports["setTempRet0"];___emutls_get_address=Module["___emutls_get_address"]=wasmExports["__emutls_get_address"];___enable_execute_stack=Module["___enable_execute_stack"]=wasmExports["__enable_execute_stack"];___extendhfdf2=Module["___extendhfdf2"]=wasmExports["__extendhfdf2"];___extendhfsf2=Module["___extendhfsf2"]=wasmExports["__extendhfsf2"];___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=wasmExports["__gnu_h2f_ieee"];___extendsfdf2=Module["___extendsfdf2"]=wasmExports["__extendsfdf2"];___ffsdi2=Module["___ffsdi2"]=wasmExports["__ffsdi2"];___ffssi2=Module["___ffssi2"]=wasmExports["__ffssi2"];___ffsti2=Module["___ffsti2"]=wasmExports["__ffsti2"];___fixdfdi=Module["___fixdfdi"]=wasmExports["__fixdfdi"];___fixunsdfdi=Module["___fixunsdfdi"]=wasmExports["__fixunsdfdi"];___fixdfsi=Module["___fixdfsi"]=wasmExports["__fixdfsi"];___fixdfti=Module["___fixdfti"]=wasmExports["__fixdfti"];___fixsfdi=Module["___fixsfdi"]=wasmExports["__fixsfdi"];___fixunssfdi=Module["___fixunssfdi"]=wasmExports["__fixunssfdi"];___fixsfsi=Module["___fixsfsi"]=wasmExports["__fixsfsi"];___fixsfti=Module["___fixsfti"]=wasmExports["__fixsfti"];___fixtfti=Module["___fixtfti"]=wasmExports["__fixtfti"];___fixunsdfsi=Module["___fixunsdfsi"]=wasmExports["__fixunsdfsi"];___fixunsdfti=Module["___fixunsdfti"]=wasmExports["__fixunsdfti"];___fixunssfsi=Module["___fixunssfsi"]=wasmExports["__fixunssfsi"];___fixunssfti=Module["___fixunssfti"]=wasmExports["__fixunssfti"];___fixunstfdi=Module["___fixunstfdi"]=wasmExports["__fixunstfdi"];___fixunstfsi=Module["___fixunstfsi"]=wasmExports["__fixunstfsi"];___fixunstfti=Module["___fixunstfti"]=wasmExports["__fixunstfti"];___floatdidf=Module["___floatdidf"]=wasmExports["__floatdidf"];___floatdisf=Module["___floatdisf"]=wasmExports["__floatdisf"];___floatsidf=Module["___floatsidf"]=wasmExports["__floatsidf"];___floatsisf=Module["___floatsisf"]=wasmExports["__floatsisf"];___floattidf=Module["___floattidf"]=wasmExports["__floattidf"];___floattisf=Module["___floattisf"]=wasmExports["__floattisf"];___floattitf=Module["___floattitf"]=wasmExports["__floattitf"];___floatundidf=Module["___floatundidf"]=wasmExports["__floatundidf"];___floatundisf=Module["___floatundisf"]=wasmExports["__floatundisf"];___floatunditf=Module["___floatunditf"]=wasmExports["__floatunditf"];___floatunsidf=Module["___floatunsidf"]=wasmExports["__floatunsidf"];___floatunsisf=Module["___floatunsisf"]=wasmExports["__floatunsisf"];___floatuntidf=Module["___floatuntidf"]=wasmExports["__floatuntidf"];___floatuntisf=Module["___floatuntisf"]=wasmExports["__floatuntisf"];___floatuntitf=Module["___floatuntitf"]=wasmExports["__floatuntitf"];___lshrdi3=Module["___lshrdi3"]=wasmExports["__lshrdi3"];___moddi3=Module["___moddi3"]=wasmExports["__moddi3"];___modsi3=Module["___modsi3"]=wasmExports["__modsi3"];___modti3=Module["___modti3"]=wasmExports["__modti3"];___muldf3=Module["___muldf3"]=wasmExports["__muldf3"];___muldi3=Module["___muldi3"]=wasmExports["__muldi3"];___mulodi4=Module["___mulodi4"]=wasmExports["__mulodi4"];___mulosi4=Module["___mulosi4"]=wasmExports["__mulosi4"];___muloti4=Module["___muloti4"]=wasmExports["__muloti4"];___udivti3=Module["___udivti3"]=wasmExports["__udivti3"];___mulsf3=Module["___mulsf3"]=wasmExports["__mulsf3"];___mulvdi3=Module["___mulvdi3"]=wasmExports["__mulvdi3"];___mulvsi3=Module["___mulvsi3"]=wasmExports["__mulvsi3"];___mulvti3=Module["___mulvti3"]=wasmExports["__mulvti3"];___negdf2=Module["___negdf2"]=wasmExports["__negdf2"];___negdi2=Module["___negdi2"]=wasmExports["__negdi2"];___negsf2=Module["___negsf2"]=wasmExports["__negsf2"];___negti2=Module["___negti2"]=wasmExports["__negti2"];___negvdi2=Module["___negvdi2"]=wasmExports["__negvdi2"];___negvsi2=Module["___negvsi2"]=wasmExports["__negvsi2"];___negvti2=Module["___negvti2"]=wasmExports["__negvti2"];___paritydi2=Module["___paritydi2"]=wasmExports["__paritydi2"];___paritysi2=Module["___paritysi2"]=wasmExports["__paritysi2"];___parityti2=Module["___parityti2"]=wasmExports["__parityti2"];___popcountdi2=Module["___popcountdi2"]=wasmExports["__popcountdi2"];___popcountsi2=Module["___popcountsi2"]=wasmExports["__popcountsi2"];___popcountti2=Module["___popcountti2"]=wasmExports["__popcountti2"];___powidf2=Module["___powidf2"]=wasmExports["__powidf2"];___powisf2=Module["___powisf2"]=wasmExports["__powisf2"];___powitf2=Module["___powitf2"]=wasmExports["__powitf2"];_emscripten_stack_init=Module["_emscripten_stack_init"]=wasmExports["emscripten_stack_init"];_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=wasmExports["emscripten_stack_set_limits"];_emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=wasmExports["emscripten_stack_get_free"];__emscripten_stack_restore=Module["__emscripten_stack_restore"]=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=Module["__emscripten_stack_alloc"]=wasmExports["_emscripten_stack_alloc"];___subdf3=Module["___subdf3"]=wasmExports["__subdf3"];___subsf3=Module["___subsf3"]=wasmExports["__subsf3"];___subvdi3=Module["___subvdi3"]=wasmExports["__subvdi3"];___subvsi3=Module["___subvsi3"]=wasmExports["__subvsi3"];___subvti3=Module["___subvti3"]=wasmExports["__subvti3"];___truncdfhf2=Module["___truncdfhf2"]=wasmExports["__truncdfhf2"];___truncdfsf2=Module["___truncdfsf2"]=wasmExports["__truncdfsf2"];___truncsfhf2=Module["___truncsfhf2"]=wasmExports["__truncsfhf2"];___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=wasmExports["__gnu_f2h_ieee"];___ucmpdi2=Module["___ucmpdi2"]=wasmExports["__ucmpdi2"];___ucmpti2=Module["___ucmpti2"]=wasmExports["__ucmpti2"];___udivdi3=Module["___udivdi3"]=wasmExports["__udivdi3"];___udivsi3=Module["___udivsi3"]=wasmExports["__udivsi3"];___umoddi3=Module["___umoddi3"]=wasmExports["__umoddi3"];___umodsi3=Module["___umodsi3"]=wasmExports["__umodsi3"];___umodti3=Module["___umodti3"]=wasmExports["__umodti3"];___cxa_begin_catch=Module["___cxa_begin_catch"]=wasmExports["__cxa_begin_catch"];___cxa_rethrow=Module["___cxa_rethrow"]=wasmExports["__cxa_rethrow"];___cxa_end_catch=Module["___cxa_end_catch"]=wasmExports["__cxa_end_catch"];___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["__cxa_allocate_exception"];___cxa_free_exception=Module["___cxa_free_exception"]=wasmExports["__cxa_free_exception"];___cxa_throw=Module["___cxa_throw"]=wasmExports["__cxa_throw"];___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["__cxa_pure_virtual"];___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=wasmExports["__cxa_uncaught_exceptions"];___cxa_decrement_exception_refcount=Module["___cxa_decrement_exception_refcount"]=wasmExports["__cxa_decrement_exception_refcount"];___cxa_increment_exception_refcount=Module["___cxa_increment_exception_refcount"]=wasmExports["__cxa_increment_exception_refcount"];___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=wasmExports["__cxa_current_primary_exception"];___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=wasmExports["__cxa_rethrow_primary_exception"];___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=wasmExports["__cxa_init_primary_exception"];___dynamic_cast=Module["___dynamic_cast"]=wasmExports["__dynamic_cast"];___cxa_bad_cast=Module["___cxa_bad_cast"]=wasmExports["__cxa_bad_cast"];___cxa_bad_typeid=Module["___cxa_bad_typeid"]=wasmExports["__cxa_bad_typeid"];___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=wasmExports["__cxa_throw_bad_array_new_length"];___cxa_get_globals_fast=Module["___cxa_get_globals_fast"]=wasmExports["__cxa_get_globals_fast"];___cxa_demangle=Module["___cxa_demangle"]=wasmExports["__cxa_demangle"];___cxa_allocate_dependent_exception=Module["___cxa_allocate_dependent_exception"]=wasmExports["__cxa_allocate_dependent_exception"];___cxa_free_dependent_exception=Module["___cxa_free_dependent_exception"]=wasmExports["__cxa_free_dependent_exception"];___cxa_get_globals=Module["___cxa_get_globals"]=wasmExports["__cxa_get_globals"];__Unwind_RaiseException=Module["__Unwind_RaiseException"]=wasmExports["_Unwind_RaiseException"];___cxa_get_exception_ptr=Module["___cxa_get_exception_ptr"]=wasmExports["__cxa_get_exception_ptr"];__Unwind_DeleteException=Module["__Unwind_DeleteException"]=wasmExports["_Unwind_DeleteException"];___cxa_call_terminate=Module["___cxa_call_terminate"]=wasmExports["__cxa_call_terminate"];___cxa_current_exception_type=Module["___cxa_current_exception_type"]=wasmExports["__cxa_current_exception_type"];___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=wasmExports["__cxa_uncaught_exception"];___thrown_object_from_unwind_exception=Module["___thrown_object_from_unwind_exception"]=wasmExports["__thrown_object_from_unwind_exception"];___get_exception_message=Module["___get_exception_message"]=wasmExports["__get_exception_message"];___get_exception_terminate_message=Module["___get_exception_terminate_message"]=wasmExports["__get_exception_terminate_message"];___cxa_guard_acquire=Module["___cxa_guard_acquire"]=wasmExports["__cxa_guard_acquire"];___cxa_guard_release=Module["___cxa_guard_release"]=wasmExports["__cxa_guard_release"];___cxa_guard_abort=Module["___cxa_guard_abort"]=wasmExports["__cxa_guard_abort"];___gxx_personality_wasm0=Module["___gxx_personality_wasm0"]=wasmExports["__gxx_personality_wasm0"];__Unwind_GetLanguageSpecificData=Module["__Unwind_GetLanguageSpecificData"]=wasmExports["_Unwind_GetLanguageSpecificData"];__Unwind_GetIP=Module["__Unwind_GetIP"]=wasmExports["_Unwind_GetIP"];__Unwind_GetRegionStart=Module["__Unwind_GetRegionStart"]=wasmExports["_Unwind_GetRegionStart"];__Unwind_SetGR=Module["__Unwind_SetGR"]=wasmExports["_Unwind_SetGR"];__Unwind_SetIP=Module["__Unwind_SetIP"]=wasmExports["_Unwind_SetIP"];___cxa_call_unexpected=Module["___cxa_call_unexpected"]=wasmExports["__cxa_call_unexpected"];___cxa_thread_atexit=Module["___cxa_thread_atexit"]=wasmExports["__cxa_thread_atexit"];___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["__cxa_deleted_virtual"];__Unwind_CallPersonality=Module["__Unwind_CallPersonality"]=wasmExports["_Unwind_CallPersonality"];_gethostbyaddr_r=Module["_gethostbyaddr_r"]=wasmExports["gethostbyaddr_r"];_gethostbyname2=Module["_gethostbyname2"]=wasmExports["gethostbyname2"];_gethostbyname2_r=Module["_gethostbyname2_r"]=wasmExports["gethostbyname2_r"];_gethostbyname_r=Module["_gethostbyname_r"]=wasmExports["gethostbyname_r"];_socketpair=Module["_socketpair"]=wasmExports["socketpair"];memory=Module["memory"]=wasmMemory=wasmExports["memory"];___stack_pointer=Module["___stack_pointer"]=wasmExports["__stack_pointer"];_py_docstring_mod=Module["_py_docstring_mod"]=wasmExports["py_docstring_mod"].value>>>0;_PyExc_AttributeError=Module["_PyExc_AttributeError"]=wasmExports["PyExc_AttributeError"].value>>>0;_stdout=Module["_stdout"]=wasmExports["stdout"].value>>>0;_Jsr_error=Module["_Jsr_error"]=wasmExports["Jsr_error"].value>>>0;_PyExc_ModuleNotFoundError=Module["_PyExc_ModuleNotFoundError"]=wasmExports["PyExc_ModuleNotFoundError"].value>>>0;__Py_NoneStruct=Module["__Py_NoneStruct"]=wasmExports["_Py_NoneStruct"].value>>>0;_internal_error=Module["_internal_error"]=wasmExports["internal_error"].value>>>0;_conversion_error=Module["_conversion_error"]=wasmExports["conversion_error"].value>>>0;__indirect_function_table=Module["__indirect_function_table"]=wasmTable=Module["wasmTable"]=wasmExports["__indirect_function_table"];_PyExc_ImportError=Module["_PyExc_ImportError"]=wasmExports["PyExc_ImportError"].value>>>0;_pyodide_export_=Module["_pyodide_export_"]=wasmExports["pyodide_export_"].value>>>0;_pystate_keepalive_=Module["_pystate_keepalive_"]=wasmExports["pystate_keepalive_"].value>>>0;_pystate_keepalive=Module["_pystate_keepalive"]=wasmExports["pystate_keepalive"].value>>>0;_compat_null_to_none=Module["_compat_null_to_none"]=wasmExports["compat_null_to_none"].value>>>0;_py_jsnull=Module["_py_jsnull"]=wasmExports["py_jsnull"].value>>>0;__Py_TrueStruct=Module["__Py_TrueStruct"]=wasmExports["_Py_TrueStruct"].value>>>0;__Py_FalseStruct=Module["__Py_FalseStruct"]=wasmExports["_Py_FalseStruct"].value>>>0;_py_JsBigInt=Module["_py_JsBigInt"]=wasmExports["py_JsBigInt"].value>>>0;_Jsr_undefined=Module["_Jsr_undefined"]=wasmExports["Jsr_undefined"].value>>>0;_jsbind=Module["_jsbind"]=wasmExports["jsbind"].value>>>0;_PyExc_TypeError=Module["_PyExc_TypeError"]=wasmExports["PyExc_TypeError"].value>>>0;_PyExc_StopIteration=Module["_PyExc_StopIteration"]=wasmExports["PyExc_StopIteration"].value>>>0;_PyTraceBack_Type=Module["_PyTraceBack_Type"]=wasmExports["PyTraceBack_Type"].value>>>0;_PyExc_GeneratorExit=Module["_PyExc_GeneratorExit"]=wasmExports["PyExc_GeneratorExit"].value>>>0;_PyExc_StopAsyncIteration=Module["_PyExc_StopAsyncIteration"]=wasmExports["PyExc_StopAsyncIteration"].value>>>0;_PyExc_RuntimeError=Module["_PyExc_RuntimeError"]=wasmExports["PyExc_RuntimeError"].value>>>0;_PyExc_IndexError=Module["_PyExc_IndexError"]=wasmExports["PyExc_IndexError"].value>>>0;_PyExc_Exception=Module["_PyExc_Exception"]=wasmExports["PyExc_Exception"].value>>>0;_PyExc_BaseException=Module["_PyExc_BaseException"]=wasmExports["PyExc_BaseException"].value>>>0;_methods=Module["_methods"]=wasmExports["methods"].value>>>0;_PyExc_SystemError=Module["_PyExc_SystemError"]=wasmExports["PyExc_SystemError"].value>>>0;_PyExc_KeyError=Module["_PyExc_KeyError"]=wasmExports["PyExc_KeyError"].value>>>0;_PySlice_Type=Module["_PySlice_Type"]=wasmExports["PySlice_Type"].value>>>0;_PyLong_Type=Module["_PyLong_Type"]=wasmExports["PyLong_Type"].value>>>0;_PyBool_Type=Module["_PyBool_Type"]=wasmExports["PyBool_Type"].value>>>0;_PyExc_ValueError=Module["_PyExc_ValueError"]=wasmExports["PyExc_ValueError"].value>>>0;_PyExc_NotImplementedError=Module["_PyExc_NotImplementedError"]=wasmExports["PyExc_NotImplementedError"].value>>>0;_PyBaseObject_Type=Module["_PyBaseObject_Type"]=wasmExports["PyBaseObject_Type"].value>>>0;_PyExc_OverflowError=Module["_PyExc_OverflowError"]=wasmExports["PyExc_OverflowError"].value>>>0;_PyList_Type=Module["_PyList_Type"]=wasmExports["PyList_Type"].value>>>0;_PyTuple_Type=Module["_PyTuple_Type"]=wasmExports["PyTuple_Type"].value>>>0;_PyExc_RuntimeWarning=Module["_PyExc_RuntimeWarning"]=wasmExports["PyExc_RuntimeWarning"].value>>>0;__Py_NotImplementedStruct=Module["__Py_NotImplementedStruct"]=wasmExports["_Py_NotImplementedStruct"].value>>>0;_default_signature=Module["_default_signature"]=wasmExports["default_signature"].value>>>0;_no_default=Module["_no_default"]=wasmExports["no_default"].value>>>0;_PyCoro_Type=Module["_PyCoro_Type"]=wasmExports["PyCoro_Type"].value>>>0;_PyGen_Type=Module["_PyGen_Type"]=wasmExports["PyGen_Type"].value>>>0;_PyDict_Type=Module["_PyDict_Type"]=wasmExports["PyDict_Type"].value>>>0;_compat_to_string_repr=Module["_compat_to_string_repr"]=wasmExports["compat_to_string_repr"].value>>>0;_PyMethod_Type=Module["_PyMethod_Type"]=wasmExports["PyMethod_Type"].value>>>0;_PyFunction_Type=Module["_PyFunction_Type"]=wasmExports["PyFunction_Type"].value>>>0;_py_buffer_len_offset=Module["_py_buffer_len_offset"]=wasmExports["py_buffer_len_offset"].value>>>0;_py_buffer_shape_offset=Module["_py_buffer_shape_offset"]=wasmExports["py_buffer_shape_offset"].value>>>0;_Jsr_true=Module["_Jsr_true"]=wasmExports["Jsr_true"].value>>>0;_Jsr_false=Module["_Jsr_false"]=wasmExports["Jsr_false"].value>>>0;_Jsr_novalue=Module["_Jsr_novalue"]=wasmExports["Jsr_novalue"].value>>>0;_PySet_Type=Module["_PySet_Type"]=wasmExports["PySet_Type"].value>>>0;_PyFloat_Type=Module["_PyFloat_Type"]=wasmExports["PyFloat_Type"].value>>>0;_compat_dict_to_literalmap=Module["_compat_dict_to_literalmap"]=wasmExports["compat_dict_to_literalmap"].value>>>0;_stderr=Module["_stderr"]=wasmExports["stderr"].value>>>0;__PyParser_TokenNames=Module["__PyParser_TokenNames"]=wasmExports["_PyParser_TokenNames"].value>>>0;_PyExc_SyntaxError=Module["_PyExc_SyntaxError"]=wasmExports["PyExc_SyntaxError"].value>>>0;__PyExc_IncompleteInputError=Module["__PyExc_IncompleteInputError"]=wasmExports["_PyExc_IncompleteInputError"].value>>>0;_PyExc_LookupError=Module["_PyExc_LookupError"]=wasmExports["PyExc_LookupError"].value>>>0;_PyExc_UnicodeDecodeError=Module["_PyExc_UnicodeDecodeError"]=wasmExports["PyExc_UnicodeDecodeError"].value>>>0;__PyRuntime=Module["__PyRuntime"]=wasmExports["_PyRuntime"].value>>>0;_PyExc_IndentationError=Module["_PyExc_IndentationError"]=wasmExports["PyExc_IndentationError"].value>>>0;_PyExc_KeyboardInterrupt=Module["_PyExc_KeyboardInterrupt"]=wasmExports["PyExc_KeyboardInterrupt"].value>>>0;_PyExc_TabError=Module["_PyExc_TabError"]=wasmExports["PyExc_TabError"].value>>>0;_PyExc_UnicodeError=Module["_PyExc_UnicodeError"]=wasmExports["PyExc_UnicodeError"].value>>>0;_stdin=Module["_stdin"]=wasmExports["stdin"].value>>>0;_PyExc_MemoryError=Module["_PyExc_MemoryError"]=wasmExports["PyExc_MemoryError"].value>>>0;_PyComplex_Type=Module["_PyComplex_Type"]=wasmExports["PyComplex_Type"].value>>>0;_PyUnicode_Type=Module["_PyUnicode_Type"]=wasmExports["PyUnicode_Type"].value>>>0;_PyBytes_Type=Module["_PyBytes_Type"]=wasmExports["PyBytes_Type"].value>>>0;__Py_EllipsisObject=Module["__Py_EllipsisObject"]=wasmExports["_Py_EllipsisObject"].value>>>0;__Py_ctype_table=Module["__Py_ctype_table"]=wasmExports["_Py_ctype_table"].value>>>0;_PyExc_DeprecationWarning=Module["_PyExc_DeprecationWarning"]=wasmExports["PyExc_DeprecationWarning"].value>>>0;_PyExc_SyntaxWarning=Module["_PyExc_SyntaxWarning"]=wasmExports["PyExc_SyntaxWarning"].value>>>0;__Py_ctype_tolower=Module["__Py_ctype_tolower"]=wasmExports["_Py_ctype_tolower"].value>>>0;_PyExc_OSError=Module["_PyExc_OSError"]=wasmExports["PyExc_OSError"].value>>>0;__PyOS_ReadlineTState=Module["__PyOS_ReadlineTState"]=wasmExports["_PyOS_ReadlineTState"].value>>>0;_PyOS_InputHook=Module["_PyOS_InputHook"]=wasmExports["PyOS_InputHook"].value>>>0;_PyOS_ReadlineFunctionPointer=Module["_PyOS_ReadlineFunctionPointer"]=wasmExports["PyOS_ReadlineFunctionPointer"].value>>>0;_PyType_Type=Module["_PyType_Type"]=wasmExports["PyType_Type"].value>>>0;_PyExc_BufferError=Module["_PyExc_BufferError"]=wasmExports["PyExc_BufferError"].value>>>0;_PyByteArray_Type=Module["_PyByteArray_Type"]=wasmExports["PyByteArray_Type"].value>>>0;__PyByteArray_empty_string=Module["__PyByteArray_empty_string"]=wasmExports["_PyByteArray_empty_string"].value>>>0;__PyUnion_Type=Module["__PyUnion_Type"]=wasmExports["_PyUnion_Type"].value>>>0;__Py_ctype_toupper=Module["__Py_ctype_toupper"]=wasmExports["_Py_ctype_toupper"].value>>>0;_Py_hexdigits=Module["_Py_hexdigits"]=wasmExports["Py_hexdigits"].value>>>0;_PyExc_BytesWarning=Module["_PyExc_BytesWarning"]=wasmExports["PyExc_BytesWarning"].value>>>0;_PyByteArrayIter_Type=Module["_PyByteArrayIter_Type"]=wasmExports["PyByteArrayIter_Type"].value>>>0;__PyLong_DigitValue=Module["__PyLong_DigitValue"]=wasmExports["_PyLong_DigitValue"].value>>>0;_PyBytesIter_Type=Module["_PyBytesIter_Type"]=wasmExports["PyBytesIter_Type"].value>>>0;_PyModule_Type=Module["_PyModule_Type"]=wasmExports["PyModule_Type"].value>>>0;_PyCapsule_Type=Module["_PyCapsule_Type"]=wasmExports["PyCapsule_Type"].value>>>0;_PyCell_Type=Module["_PyCell_Type"]=wasmExports["PyCell_Type"].value>>>0;_PyInstanceMethod_Type=Module["_PyInstanceMethod_Type"]=wasmExports["PyInstanceMethod_Type"].value>>>0;_PyCode_Type=Module["_PyCode_Type"]=wasmExports["PyCode_Type"].value>>>0;_PyFrozenSet_Type=Module["_PyFrozenSet_Type"]=wasmExports["PyFrozenSet_Type"].value>>>0;_PyExc_ZeroDivisionError=Module["_PyExc_ZeroDivisionError"]=wasmExports["PyExc_ZeroDivisionError"].value>>>0;_PyMethodDescr_Type=Module["_PyMethodDescr_Type"]=wasmExports["PyMethodDescr_Type"].value>>>0;_PyClassMethodDescr_Type=Module["_PyClassMethodDescr_Type"]=wasmExports["PyClassMethodDescr_Type"].value>>>0;_PyMemberDescr_Type=Module["_PyMemberDescr_Type"]=wasmExports["PyMemberDescr_Type"].value>>>0;_PyGetSetDescr_Type=Module["_PyGetSetDescr_Type"]=wasmExports["PyGetSetDescr_Type"].value>>>0;_PyWrapperDescr_Type=Module["_PyWrapperDescr_Type"]=wasmExports["PyWrapperDescr_Type"].value>>>0;_PyDictProxy_Type=Module["_PyDictProxy_Type"]=wasmExports["PyDictProxy_Type"].value>>>0;_PyProperty_Type=Module["_PyProperty_Type"]=wasmExports["PyProperty_Type"].value>>>0;_PyReversed_Type=Module["_PyReversed_Type"]=wasmExports["PyReversed_Type"].value>>>0;_PyEnum_Type=Module["_PyEnum_Type"]=wasmExports["PyEnum_Type"].value>>>0;_PyExc_BaseExceptionGroup=Module["_PyExc_BaseExceptionGroup"]=wasmExports["PyExc_BaseExceptionGroup"].value>>>0;_PyExc_UnicodeTranslateError=Module["_PyExc_UnicodeTranslateError"]=wasmExports["PyExc_UnicodeTranslateError"].value>>>0;_PyExc_BlockingIOError=Module["_PyExc_BlockingIOError"]=wasmExports["PyExc_BlockingIOError"].value>>>0;_PyExc_BrokenPipeError=Module["_PyExc_BrokenPipeError"]=wasmExports["PyExc_BrokenPipeError"].value>>>0;_PyExc_ChildProcessError=Module["_PyExc_ChildProcessError"]=wasmExports["PyExc_ChildProcessError"].value>>>0;_PyExc_ConnectionAbortedError=Module["_PyExc_ConnectionAbortedError"]=wasmExports["PyExc_ConnectionAbortedError"].value>>>0;_PyExc_ConnectionRefusedError=Module["_PyExc_ConnectionRefusedError"]=wasmExports["PyExc_ConnectionRefusedError"].value>>>0;_PyExc_ConnectionResetError=Module["_PyExc_ConnectionResetError"]=wasmExports["PyExc_ConnectionResetError"].value>>>0;_PyExc_FileExistsError=Module["_PyExc_FileExistsError"]=wasmExports["PyExc_FileExistsError"].value>>>0;_PyExc_FileNotFoundError=Module["_PyExc_FileNotFoundError"]=wasmExports["PyExc_FileNotFoundError"].value>>>0;_PyExc_IsADirectoryError=Module["_PyExc_IsADirectoryError"]=wasmExports["PyExc_IsADirectoryError"].value>>>0;_PyExc_NotADirectoryError=Module["_PyExc_NotADirectoryError"]=wasmExports["PyExc_NotADirectoryError"].value>>>0;_PyExc_InterruptedError=Module["_PyExc_InterruptedError"]=wasmExports["PyExc_InterruptedError"].value>>>0;_PyExc_PermissionError=Module["_PyExc_PermissionError"]=wasmExports["PyExc_PermissionError"].value>>>0;_PyExc_ProcessLookupError=Module["_PyExc_ProcessLookupError"]=wasmExports["PyExc_ProcessLookupError"].value>>>0;_PyExc_TimeoutError=Module["_PyExc_TimeoutError"]=wasmExports["PyExc_TimeoutError"].value>>>0;_PyExc_EnvironmentError=Module["_PyExc_EnvironmentError"]=wasmExports["PyExc_EnvironmentError"].value>>>0;_PyExc_IOError=Module["_PyExc_IOError"]=wasmExports["PyExc_IOError"].value>>>0;_PyExc_SystemExit=Module["_PyExc_SystemExit"]=wasmExports["PyExc_SystemExit"].value>>>0;_PyExc_ConnectionError=Module["_PyExc_ConnectionError"]=wasmExports["PyExc_ConnectionError"].value>>>0;_PyExc_EOFError=Module["_PyExc_EOFError"]=wasmExports["PyExc_EOFError"].value>>>0;_PyExc_RecursionError=Module["_PyExc_RecursionError"]=wasmExports["PyExc_RecursionError"].value>>>0;_PyExc_PythonFinalizationError=Module["_PyExc_PythonFinalizationError"]=wasmExports["PyExc_PythonFinalizationError"].value>>>0;_PyExc_NameError=Module["_PyExc_NameError"]=wasmExports["PyExc_NameError"].value>>>0;_PyExc_UnboundLocalError=Module["_PyExc_UnboundLocalError"]=wasmExports["PyExc_UnboundLocalError"].value>>>0;_PyExc_UnicodeEncodeError=Module["_PyExc_UnicodeEncodeError"]=wasmExports["PyExc_UnicodeEncodeError"].value>>>0;_PyExc_AssertionError=Module["_PyExc_AssertionError"]=wasmExports["PyExc_AssertionError"].value>>>0;_PyExc_ArithmeticError=Module["_PyExc_ArithmeticError"]=wasmExports["PyExc_ArithmeticError"].value>>>0;_PyExc_FloatingPointError=Module["_PyExc_FloatingPointError"]=wasmExports["PyExc_FloatingPointError"].value>>>0;_PyExc_ReferenceError=Module["_PyExc_ReferenceError"]=wasmExports["PyExc_ReferenceError"].value>>>0;_PyExc_Warning=Module["_PyExc_Warning"]=wasmExports["PyExc_Warning"].value>>>0;_PyExc_UserWarning=Module["_PyExc_UserWarning"]=wasmExports["PyExc_UserWarning"].value>>>0;_PyExc_PendingDeprecationWarning=Module["_PyExc_PendingDeprecationWarning"]=wasmExports["PyExc_PendingDeprecationWarning"].value>>>0;_PyExc_FutureWarning=Module["_PyExc_FutureWarning"]=wasmExports["PyExc_FutureWarning"].value>>>0;_PyExc_ImportWarning=Module["_PyExc_ImportWarning"]=wasmExports["PyExc_ImportWarning"].value>>>0;_PyExc_UnicodeWarning=Module["_PyExc_UnicodeWarning"]=wasmExports["PyExc_UnicodeWarning"].value>>>0;_PyExc_EncodingWarning=Module["_PyExc_EncodingWarning"]=wasmExports["PyExc_EncodingWarning"].value>>>0;_PyExc_ResourceWarning=Module["_PyExc_ResourceWarning"]=wasmExports["PyExc_ResourceWarning"].value>>>0;_Py_GenericAliasType=Module["_Py_GenericAliasType"]=wasmExports["Py_GenericAliasType"].value>>>0;_PyAsyncGen_Type=Module["_PyAsyncGen_Type"]=wasmExports["PyAsyncGen_Type"].value>>>0;__PyAsyncGenASend_Type=Module["__PyAsyncGenASend_Type"]=wasmExports["_PyAsyncGenASend_Type"].value>>>0;_PyStdPrinter_Type=Module["_PyStdPrinter_Type"]=wasmExports["PyStdPrinter_Type"].value>>>0;__Py_SwappedOp=Module["__Py_SwappedOp"]=wasmExports["_Py_SwappedOp"].value>>>0;_PyFrameLocalsProxy_Type=Module["_PyFrameLocalsProxy_Type"]=wasmExports["PyFrameLocalsProxy_Type"].value>>>0;_PyFrame_Type=Module["_PyFrame_Type"]=wasmExports["PyFrame_Type"].value>>>0;_PyClassMethod_Type=Module["_PyClassMethod_Type"]=wasmExports["PyClassMethod_Type"].value>>>0;_PyStaticMethod_Type=Module["_PyStaticMethod_Type"]=wasmExports["PyStaticMethod_Type"].value>>>0;_PySeqIter_Type=Module["_PySeqIter_Type"]=wasmExports["PySeqIter_Type"].value>>>0;_PyCallIter_Type=Module["_PyCallIter_Type"]=wasmExports["PyCallIter_Type"].value>>>0;_PyDictKeys_Type=Module["_PyDictKeys_Type"]=wasmExports["PyDictKeys_Type"].value>>>0;_PyDictValues_Type=Module["_PyDictValues_Type"]=wasmExports["PyDictValues_Type"].value>>>0;_PyDictItems_Type=Module["_PyDictItems_Type"]=wasmExports["PyDictItems_Type"].value>>>0;_PyListIter_Type=Module["_PyListIter_Type"]=wasmExports["PyListIter_Type"].value>>>0;_PyListRevIter_Type=Module["_PyListRevIter_Type"]=wasmExports["PyListRevIter_Type"].value>>>0;_PyDictIterKey_Type=Module["_PyDictIterKey_Type"]=wasmExports["PyDictIterKey_Type"].value>>>0;_PyDictRevIterKey_Type=Module["_PyDictRevIterKey_Type"]=wasmExports["PyDictRevIterKey_Type"].value>>>0;_PyDictRevIterValue_Type=Module["_PyDictRevIterValue_Type"]=wasmExports["PyDictRevIterValue_Type"].value>>>0;_PyDictIterItem_Type=Module["_PyDictIterItem_Type"]=wasmExports["PyDictIterItem_Type"].value>>>0;_PyDictIterValue_Type=Module["_PyDictIterValue_Type"]=wasmExports["PyDictIterValue_Type"].value>>>0;_PyDictRevIterItem_Type=Module["_PyDictRevIterItem_Type"]=wasmExports["PyDictRevIterItem_Type"].value>>>0;_PyODict_Type=Module["_PyODict_Type"]=wasmExports["PyODict_Type"].value>>>0;_PyODictIter_Type=Module["_PyODictIter_Type"]=wasmExports["PyODictIter_Type"].value>>>0;_PyODictKeys_Type=Module["_PyODictKeys_Type"]=wasmExports["PyODictKeys_Type"].value>>>0;_PyODictValues_Type=Module["_PyODictValues_Type"]=wasmExports["PyODictValues_Type"].value>>>0;_PyODictItems_Type=Module["_PyODictItems_Type"]=wasmExports["PyODictItems_Type"].value>>>0;_PyMemoryView_Type=Module["_PyMemoryView_Type"]=wasmExports["PyMemoryView_Type"].value>>>0;_PyCMethod_Type=Module["_PyCMethod_Type"]=wasmExports["PyCMethod_Type"].value>>>0;_PyCFunction_Type=Module["_PyCFunction_Type"]=wasmExports["PyCFunction_Type"].value>>>0;_PyModuleDef_Type=Module["_PyModuleDef_Type"]=wasmExports["PyModuleDef_Type"].value>>>0;__PyNone_Type=Module["__PyNone_Type"]=wasmExports["_PyNone_Type"].value>>>0;__PyNotImplemented_Type=Module["__PyNotImplemented_Type"]=wasmExports["_PyNotImplemented_Type"].value>>>0;_PyContextToken_Type=Module["_PyContextToken_Type"]=wasmExports["PyContextToken_Type"].value>>>0;_PyContextVar_Type=Module["_PyContextVar_Type"]=wasmExports["PyContextVar_Type"].value>>>0;_PyContext_Type=Module["_PyContext_Type"]=wasmExports["PyContext_Type"].value>>>0;_PyEllipsis_Type=Module["_PyEllipsis_Type"]=wasmExports["PyEllipsis_Type"].value>>>0;_PyFilter_Type=Module["_PyFilter_Type"]=wasmExports["PyFilter_Type"].value>>>0;_PyLongRangeIter_Type=Module["_PyLongRangeIter_Type"]=wasmExports["PyLongRangeIter_Type"].value>>>0;_PyMap_Type=Module["_PyMap_Type"]=wasmExports["PyMap_Type"].value>>>0;_PyPickleBuffer_Type=Module["_PyPickleBuffer_Type"]=wasmExports["PyPickleBuffer_Type"].value>>>0;_PyRangeIter_Type=Module["_PyRangeIter_Type"]=wasmExports["PyRangeIter_Type"].value>>>0;_PyRange_Type=Module["_PyRange_Type"]=wasmExports["PyRange_Type"].value>>>0;_PySetIter_Type=Module["_PySetIter_Type"]=wasmExports["PySetIter_Type"].value>>>0;_PySuper_Type=Module["_PySuper_Type"]=wasmExports["PySuper_Type"].value>>>0;_PyTupleIter_Type=Module["_PyTupleIter_Type"]=wasmExports["PyTupleIter_Type"].value>>>0;_PyUnicodeIter_Type=Module["_PyUnicodeIter_Type"]=wasmExports["PyUnicodeIter_Type"].value>>>0;_PyZip_Type=Module["_PyZip_Type"]=wasmExports["PyZip_Type"].value>>>0;__PyWeakref_CallableProxyType=Module["__PyWeakref_CallableProxyType"]=wasmExports["_PyWeakref_CallableProxyType"].value>>>0;__PyWeakref_ProxyType=Module["__PyWeakref_ProxyType"]=wasmExports["_PyWeakref_ProxyType"].value>>>0;__PyWeakref_RefType=Module["__PyWeakref_RefType"]=wasmExports["_PyWeakref_RefType"].value>>>0;__PySet_Dummy=Module["__PySet_Dummy"]=wasmExports["_PySet_Dummy"].value>>>0;_PyStructSequence_UnnamedField=Module["_PyStructSequence_UnnamedField"]=wasmExports["PyStructSequence_UnnamedField"].value>>>0;__Py_ascii_whitespace=Module["__Py_ascii_whitespace"]=wasmExports["_Py_ascii_whitespace"].value>>>0;__Py_InitCleanup=Module["__Py_InitCleanup"]=wasmExports["_Py_InitCleanup"].value>>>0;__PyEval_BinaryOps=Module["__PyEval_BinaryOps"]=wasmExports["_PyEval_BinaryOps"].value>>>0;__PyIntrinsics_UnaryFunctions=Module["__PyIntrinsics_UnaryFunctions"]=wasmExports["_PyIntrinsics_UnaryFunctions"].value>>>0;__PyIntrinsics_BinaryFunctions=Module["__PyIntrinsics_BinaryFunctions"]=wasmExports["_PyIntrinsics_BinaryFunctions"].value>>>0;__PyEval_ConversionFuncs=Module["__PyEval_ConversionFuncs"]=wasmExports["_PyEval_ConversionFuncs"].value>>>0;__Py_SpecialMethods=Module["__Py_SpecialMethods"]=wasmExports["_Py_SpecialMethods"].value>>>0;__Py_emscripten_signal_clock=Module["__Py_emscripten_signal_clock"]=wasmExports["_Py_emscripten_signal_clock"].value>>>0;_Py_EMSCRIPTEN_SIGNAL_HANDLING=Module["_Py_EMSCRIPTEN_SIGNAL_HANDLING"]=wasmExports["Py_EMSCRIPTEN_SIGNAL_HANDLING"].value>>>0;__Py_FunctionAttributeOffsets=Module["__Py_FunctionAttributeOffsets"]=wasmExports["_Py_FunctionAttributeOffsets"].value>>>0;_PyExc_InterpreterError=Module["_PyExc_InterpreterError"]=wasmExports["PyExc_InterpreterError"].value>>>0;_PyExc_InterpreterNotFoundError=Module["_PyExc_InterpreterNotFoundError"]=wasmExports["PyExc_InterpreterNotFoundError"].value>>>0;_PyUnstable_ExecutableKinds=Module["_PyUnstable_ExecutableKinds"]=wasmExports["PyUnstable_ExecutableKinds"].value>>>0;_Py_Version=Module["_Py_Version"]=wasmExports["Py_Version"].value>>>0;_PyImport_Inittab=Module["_PyImport_Inittab"]=wasmExports["PyImport_Inittab"].value>>>0;__PyImport_FrozenBootstrap=Module["__PyImport_FrozenBootstrap"]=wasmExports["_PyImport_FrozenBootstrap"].value>>>0;_PyImport_FrozenModules=Module["_PyImport_FrozenModules"]=wasmExports["PyImport_FrozenModules"].value>>>0;__PyImport_FrozenStdlib=Module["__PyImport_FrozenStdlib"]=wasmExports["_PyImport_FrozenStdlib"].value>>>0;__PyImport_FrozenTest=Module["__PyImport_FrozenTest"]=wasmExports["_PyImport_FrozenTest"].value>>>0;_Py_IgnoreEnvironmentFlag=Module["_Py_IgnoreEnvironmentFlag"]=wasmExports["Py_IgnoreEnvironmentFlag"].value>>>0;_Py_IsolatedFlag=Module["_Py_IsolatedFlag"]=wasmExports["Py_IsolatedFlag"].value>>>0;_Py_BytesWarningFlag=Module["_Py_BytesWarningFlag"]=wasmExports["Py_BytesWarningFlag"].value>>>0;_Py_InspectFlag=Module["_Py_InspectFlag"]=wasmExports["Py_InspectFlag"].value>>>0;_Py_InteractiveFlag=Module["_Py_InteractiveFlag"]=wasmExports["Py_InteractiveFlag"].value>>>0;_Py_OptimizeFlag=Module["_Py_OptimizeFlag"]=wasmExports["Py_OptimizeFlag"].value>>>0;_Py_DebugFlag=Module["_Py_DebugFlag"]=wasmExports["Py_DebugFlag"].value>>>0;_Py_VerboseFlag=Module["_Py_VerboseFlag"]=wasmExports["Py_VerboseFlag"].value>>>0;_Py_QuietFlag=Module["_Py_QuietFlag"]=wasmExports["Py_QuietFlag"].value>>>0;_Py_FrozenFlag=Module["_Py_FrozenFlag"]=wasmExports["Py_FrozenFlag"].value>>>0;_Py_UnbufferedStdioFlag=Module["_Py_UnbufferedStdioFlag"]=wasmExports["Py_UnbufferedStdioFlag"].value>>>0;_Py_NoSiteFlag=Module["_Py_NoSiteFlag"]=wasmExports["Py_NoSiteFlag"].value>>>0;_Py_DontWriteBytecodeFlag=Module["_Py_DontWriteBytecodeFlag"]=wasmExports["Py_DontWriteBytecodeFlag"].value>>>0;_Py_NoUserSiteDirectory=Module["_Py_NoUserSiteDirectory"]=wasmExports["Py_NoUserSiteDirectory"].value>>>0;_Py_HashRandomizationFlag=Module["_Py_HashRandomizationFlag"]=wasmExports["Py_HashRandomizationFlag"].value>>>0;_Py_FileSystemDefaultEncoding=Module["_Py_FileSystemDefaultEncoding"]=wasmExports["Py_FileSystemDefaultEncoding"].value>>>0;_Py_HasFileSystemDefaultEncoding=Module["_Py_HasFileSystemDefaultEncoding"]=wasmExports["Py_HasFileSystemDefaultEncoding"].value>>>0;_Py_FileSystemDefaultEncodeErrors=Module["_Py_FileSystemDefaultEncodeErrors"]=wasmExports["Py_FileSystemDefaultEncodeErrors"].value>>>0;_Py_UTF8Mode=Module["_Py_UTF8Mode"]=wasmExports["Py_UTF8Mode"].value>>>0;__Py_HashSecret=Module["__Py_HashSecret"]=wasmExports["_Py_HashSecret"].value>>>0;_PY_TIMEOUT_MAX=Module["_PY_TIMEOUT_MAX"]=wasmExports["PY_TIMEOUT_MAX"].value>>>0;__Py_emscripten_signal_in_memory=Module["__Py_emscripten_signal_in_memory"]=wasmExports["_Py_emscripten_signal_in_memory"].value>>>0;__PyEM_EMSCRIPTEN_TRAMPOLINE_OFFSET=Module["__PyEM_EMSCRIPTEN_TRAMPOLINE_OFFSET"]=wasmExports["_PyEM_EMSCRIPTEN_TRAMPOLINE_OFFSET"].value>>>0;_ffi_type_pointer=Module["_ffi_type_pointer"]=wasmExports["ffi_type_pointer"].value>>>0;_ffi_type_void=Module["_ffi_type_void"]=wasmExports["ffi_type_void"].value>>>0;_ffi_type_sint32=Module["_ffi_type_sint32"]=wasmExports["ffi_type_sint32"].value>>>0;_ffi_type_uint64=Module["_ffi_type_uint64"]=wasmExports["ffi_type_uint64"].value>>>0;_ffi_type_sint64=Module["_ffi_type_sint64"]=wasmExports["ffi_type_sint64"].value>>>0;_ffi_type_uint32=Module["_ffi_type_uint32"]=wasmExports["ffi_type_uint32"].value>>>0;_ffi_type_uint16=Module["_ffi_type_uint16"]=wasmExports["ffi_type_uint16"].value>>>0;_ffi_type_sint16=Module["_ffi_type_sint16"]=wasmExports["ffi_type_sint16"].value>>>0;_ffi_type_uint8=Module["_ffi_type_uint8"]=wasmExports["ffi_type_uint8"].value>>>0;_ffi_type_sint8=Module["_ffi_type_sint8"]=wasmExports["ffi_type_sint8"].value>>>0;_ffi_type_double=Module["_ffi_type_double"]=wasmExports["ffi_type_double"].value>>>0;_ffi_type_longdouble=Module["_ffi_type_longdouble"]=wasmExports["ffi_type_longdouble"].value>>>0;_ffi_type_float=Module["_ffi_type_float"]=wasmExports["ffi_type_float"].value>>>0;_environ=Module["_environ"]=wasmExports["environ"].value>>>0;_sqlite3_version=Module["_sqlite3_version"]=wasmExports["sqlite3_version"].value>>>0;_sqlite3_data_directory=Module["_sqlite3_data_directory"]=wasmExports["sqlite3_data_directory"].value>>>0;_sqlite3_temp_directory=Module["_sqlite3_temp_directory"]=wasmExports["sqlite3_temp_directory"].value>>>0;_sqlite3one=Module["_sqlite3one"]=wasmExports["sqlite3one"].value>>>0;_g_debuglevel=Module["_g_debuglevel"]=wasmExports["g_debuglevel"].value>>>0;_g_ZSTD_threading_useless_symbol=Module["_g_ZSTD_threading_useless_symbol"]=wasmExports["g_ZSTD_threading_useless_symbol"].value>>>0;__deduplicate_map=Module["__deduplicate_map"]=wasmExports["_deduplicate_map"].value>>>0;_BZ2_crc32Table=Module["_BZ2_crc32Table"]=wasmExports["BZ2_crc32Table"].value>>>0;_BZ2_rNums=Module["_BZ2_rNums"]=wasmExports["BZ2_rNums"].value>>>0;_z_errmsg=Module["_z_errmsg"]=wasmExports["z_errmsg"].value>>>0;__length_code=Module["__length_code"]=wasmExports["_length_code"].value>>>0;__dist_code=Module["__dist_code"]=wasmExports["_dist_code"].value>>>0;_deflate_copyright=Module["_deflate_copyright"]=wasmExports["deflate_copyright"].value>>>0;_inflate_copyright=Module["_inflate_copyright"]=wasmExports["inflate_copyright"].value>>>0;___environ=Module["___environ"]=wasmExports["__environ"].value>>>0;____environ=Module["____environ"]=wasmExports["___environ"].value>>>0;__environ=Module["__environ"]=wasmExports["_environ"].value>>>0;___stack_chk_guard=Module["___stack_chk_guard"]=wasmExports["__stack_chk_guard"].value>>>0;___tzname=Module["___tzname"]=wasmExports["__tzname"].value>>>0;_daylight=Module["_daylight"]=wasmExports["daylight"].value>>>0;_timezone=Module["_timezone"]=wasmExports["timezone"].value>>>0;___timezone=Module["___timezone"]=wasmExports["__timezone"].value>>>0;___daylight=Module["___daylight"]=wasmExports["__daylight"].value>>>0;_tzname=Module["_tzname"]=wasmExports["tzname"].value>>>0;___progname=Module["___progname"]=wasmExports["__progname"].value>>>0;___optreset=Module["___optreset"]=wasmExports["__optreset"].value>>>0;_optind=Module["_optind"]=wasmExports["optind"].value>>>0;___optpos=Module["___optpos"]=wasmExports["__optpos"].value>>>0;_optarg=Module["_optarg"]=wasmExports["optarg"].value>>>0;_optopt=Module["_optopt"]=wasmExports["optopt"].value>>>0;_opterr=Module["_opterr"]=wasmExports["opterr"].value>>>0;_optreset=Module["_optreset"]=wasmExports["optreset"].value>>>0;_h_errno=Module["_h_errno"]=wasmExports["h_errno"].value>>>0;___signgam=Module["___signgam"]=wasmExports["__signgam"].value>>>0;__ns_flagdata=Module["__ns_flagdata"]=wasmExports["_ns_flagdata"].value>>>0;___progname_full=Module["___progname_full"]=wasmExports["__progname_full"].value>>>0;_program_invocation_short_name=Module["_program_invocation_short_name"]=wasmExports["program_invocation_short_name"].value>>>0;_program_invocation_name=Module["_program_invocation_name"]=wasmExports["program_invocation_name"].value>>>0;___stack_low=Module["___stack_low"]=wasmExports["__stack_low"].value>>>0;___stack_high=Module["___stack_high"]=wasmExports["__stack_high"].value>>>0;___sig_pending=Module["___sig_pending"]=wasmExports["__sig_pending"].value>>>0;___sig_actions=Module["___sig_actions"]=wasmExports["__sig_actions"].value>>>0;_signgam=Module["_signgam"]=wasmExports["signgam"].value>>>0;___heap_base=Module["___heap_base"]=wasmExports["__heap_base"].value>>>0;___c_longjmp=Module["___c_longjmp"]=wasmExports["__c_longjmp"];___THREW__=Module["___THREW__"]=wasmExports["__THREW__"].value>>>0;___threwValue=Module["___threwValue"]=wasmExports["__threwValue"].value>>>0;___cpp_exception=Module["___cpp_exception"]=wasmExports["__cpp_exception"];___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=wasmExports["__cxa_unexpected_handler"].value>>>0;___cxa_terminate_handler=Module["___cxa_terminate_handler"]=wasmExports["__cxa_terminate_handler"].value>>>0;___cxa_new_handler=Module["___cxa_new_handler"]=wasmExports["__cxa_new_handler"].value>>>0;___wasm_lpad_context=Module["___wasm_lpad_context"]=wasmExports["__wasm_lpad_context"].value>>>0;_in6addr_any=Module["_in6addr_any"]=wasmExports["in6addr_any"].value>>>0;_in6addr_loopback=Module["_in6addr_loopback"]=wasmExports["in6addr_loopback"].value>>>0}var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,JsArray_count_js,JsArray_index_js,JsArray_inplace_repeat_js,JsArray_repeat_js,JsArray_reverse_js,JsArray_reversed_iterator,JsBuffer_DecodeString_js,JsBuffer_get_info,JsDoubleProxy_unwrap_js,JsException_new_helper,JsMap_GetIter_js,JsMap_clear_js,JsModule_GetAll_js,JsObjMap_GetIter_js,JsObjMap_ass_subscript_js,JsObjMap_contains_js,JsObjMap_length_js,JsObjMap_subscript_js,JsProxy_Bool_js,JsProxy_DelAttr_js,JsProxy_Dir_js,JsProxy_GetAsyncIter_js,JsProxy_GetAttr_js,JsProxy_GetIter_js,JsProxy_SetAttr_js,JsProxy_aexit_js,JsProxy_compute_typeflags,JsProxy_exit_js,JsProxy_subscript_js,JsProxy_to_weakref_js,JsvArray_Check,JsvArray_Delete,JsvArray_Extend,JsvArray_Get,JsvArray_Insert,JsvArray_New,JsvArray_Push,JsvArray_Set,JsvArray_ShallowCopy,JsvArray_slice,JsvArray_slice_assign,JsvAsyncGenerator_Check,JsvBigInt_fromDigits,JsvBigInt_fromInt,JsvBuffer_assignFromPtr,JsvBuffer_assignToPtr,JsvBuffer_intoFile,JsvBuffer_readFromFile,JsvBuffer_writeToFile,JsvError_Check:_JsvError_Check,JsvError_Throw,JsvFunction_CallBound,JsvFunction_Call_OneArg,JsvFunction_Check,JsvFunction_Construct,JsvGenerator_Check,JsvLiteralMap_New,JsvMap_New,JsvMap_Set,JsvNoValue_Check,JsvNum_fromDouble,JsvNum_fromInt,JsvNum_toInt,JsvObject_CallMethod,JsvObject_CallMethod_NoArgs,JsvObject_CallMethod_OneArg,JsvObject_CallMethod_TwoArgs,JsvObject_Entries,JsvObject_Keys,JsvObject_New,JsvObject_SetAttr,JsvObject_Values,JsvObject_toString,JsvPromise_Check,JsvPromise_Resolve,JsvPromise_Syncify_handleError,JsvSet_Add,JsvSet_New,JsvUTF8ToString,Jsv_BigIntToNum,Jsv_GetError_import:_Jsv_GetError_import,Jsv_constructorName,Jsv_equal,Jsv_greater_than,Jsv_greater_than_equal,Jsv_less_than,Jsv_less_than_equal,Jsv_not_equal,Jsv_to_bool,Jsv_typeof,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,_JsArray_PostProcess_helper,_JsArray_PushEntry_helper,_JsObject_Set_js,_PyEM_TrampolineCall_JS,_Py_CheckEmscriptenSignals_Helper,_Py_emscripten_runtime,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__hiwire_deduplicate_delete,__hiwire_deduplicate_get,__hiwire_deduplicate_new,__hiwire_deduplicate_set,__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_getuid32_js,__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_umask_js,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,_abort_js:__abort_js,_agen_handle_result_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_last_devicemotion_event:__emscripten_get_last_devicemotion_event,_emscripten_get_last_deviceorientation_event:__emscripten_get_last_deviceorientation_event,_emscripten_get_last_mouse_event:__emscripten_get_last_mouse_event,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_log_formatted:__emscripten_log_formatted,_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,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_maybe_connect_async,_maybe_poll_async,_maybe_recvfrom_async,_maybe_sendto_async,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_pyproxyGen_make_result,_pyproxy_get_buffer_result,_python2js_add_to_cache,_python2js_addto_postprocess_list,_python2js_ascii,_python2js_buffer_inner,_python2js_cache_lookup,_python2js_handle_postprocess_list,_python2js_ucs1,_python2js_ucs2,_python2js_ucs4,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_try_fcntl64,_try_shutdown,_tzset_js:__tzset_js,array_to_js,boxColor:_boxColor,boxRGBA:_boxRGBA,can_run_sync_js,capture_stderr,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,create_once_callable,create_promise_handles,destroy_jsarray_entries,destroy_proxies,destroy_proxies_js,destroy_proxy,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_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_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_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_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_glBeginQuery:_emscripten_glBeginQuery,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBeginTransformFeedback:_emscripten_glBeginTransformFeedback,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindBufferBase:_emscripten_glBindBufferBase,emscripten_glBindBufferRange:_emscripten_glBindBufferRange,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindSampler:_emscripten_glBindSampler,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindTransformFeedback:_emscripten_glBindTransformFeedback,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_glBlitFramebuffer:_emscripten_glBlitFramebuffer,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearBufferfi:_emscripten_glClearBufferfi,emscripten_glClearBufferfv:_emscripten_glClearBufferfv,emscripten_glClearBufferiv:_emscripten_glClearBufferiv,emscripten_glClearBufferuiv:_emscripten_glClearBufferuiv,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClientWaitSync:_emscripten_glClientWaitSync,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexImage3D:_emscripten_glCompressedTexImage3D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCompressedTexSubImage3D:_emscripten_glCompressedTexSubImage3D,emscripten_glCopyBufferSubData:_emscripten_glCopyBufferSubData,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCopyTexSubImage3D:_emscripten_glCopyTexSubImage3D,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_glDeleteQueries:_emscripten_glDeleteQueries,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteSamplers:_emscripten_glDeleteSamplers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteSync:_emscripten_glDeleteSync,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteTransformFeedbacks:_emscripten_glDeleteTransformFeedbacks,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_glDrawArraysInstancedBaseInstance:_emscripten_glDrawArraysInstancedBaseInstance,emscripten_glDrawArraysInstancedBaseInstanceANGLE:_emscripten_glDrawArraysInstancedBaseInstanceANGLE,emscripten_glDrawArraysInstancedBaseInstanceWEBGL:_emscripten_glDrawArraysInstancedBaseInstanceWEBGL,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_glDrawElementsInstancedBaseVertexBaseInstanceANGLE:_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE,emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glDrawRangeElements:_emscripten_glDrawRangeElements,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQuery:_emscripten_glEndQuery,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glEndTransformFeedback:_emscripten_glEndTransformFeedback,emscripten_glFenceSync:_emscripten_glFenceSync,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFramebufferTextureLayer:_emscripten_glFramebufferTextureLayer,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueries:_emscripten_glGenQueries,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenSamplers:_emscripten_glGenSamplers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenTransformFeedbacks:_emscripten_glGenTransformFeedbacks,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetActiveUniformBlockName:_emscripten_glGetActiveUniformBlockName,emscripten_glGetActiveUniformBlockiv:_emscripten_glGetActiveUniformBlockiv,emscripten_glGetActiveUniformsiv:_emscripten_glGetActiveUniformsiv,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteri64v:_emscripten_glGetBufferParameteri64v,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetBufferSubData:_emscripten_glGetBufferSubData,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFragDataLocation:_emscripten_glGetFragDataLocation,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetInteger64i_v:_emscripten_glGetInteger64i_v,emscripten_glGetInteger64v:_emscripten_glGetInteger64v,emscripten_glGetIntegeri_v:_emscripten_glGetIntegeri_v,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetInternalformativ:_emscripten_glGetInternalformativ,emscripten_glGetProgramBinary:_emscripten_glGetProgramBinary,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuiv:_emscripten_glGetQueryObjectuiv,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryiv:_emscripten_glGetQueryiv,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetSamplerParameterfv:_emscripten_glGetSamplerParameterfv,emscripten_glGetSamplerParameteriv:_emscripten_glGetSamplerParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetStringi:_emscripten_glGetStringi,emscripten_glGetSynciv:_emscripten_glGetSynciv,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetTransformFeedbackVarying:_emscripten_glGetTransformFeedbackVarying,emscripten_glGetUniformBlockIndex:_emscripten_glGetUniformBlockIndex,emscripten_glGetUniformIndices:_emscripten_glGetUniformIndices,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetUniformuiv:_emscripten_glGetUniformuiv,emscripten_glGetVertexAttribIiv:_emscripten_glGetVertexAttribIiv,emscripten_glGetVertexAttribIuiv:_emscripten_glGetVertexAttribIuiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glInvalidateFramebuffer:_emscripten_glInvalidateFramebuffer,emscripten_glInvalidateSubFramebuffer:_emscripten_glInvalidateSubFramebuffer,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQuery:_emscripten_glIsQuery,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsSampler:_emscripten_glIsSampler,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsSync:_emscripten_glIsSync,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsTransformFeedback:_emscripten_glIsTransformFeedback,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_glMultiDrawArraysInstancedBaseInstanceANGLE:_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE,emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE:_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPauseTransformFeedback:_emscripten_glPauseTransformFeedback,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glProgramBinary:_emscripten_glProgramBinary,emscripten_glProgramParameteri:_emscripten_glProgramParameteri,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadBuffer:_emscripten_glReadBuffer,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glRenderbufferStorageMultisample:_emscripten_glRenderbufferStorageMultisample,emscripten_glResumeTransformFeedback:_emscripten_glResumeTransformFeedback,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glSamplerParameterf:_emscripten_glSamplerParameterf,emscripten_glSamplerParameterfv:_emscripten_glSamplerParameterfv,emscripten_glSamplerParameteri:_emscripten_glSamplerParameteri,emscripten_glSamplerParameteriv:_emscripten_glSamplerParameteriv,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_glTexImage3D:_emscripten_glTexImage3D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexStorage2D:_emscripten_glTexStorage2D,emscripten_glTexStorage3D:_emscripten_glTexStorage3D,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glTexSubImage3D:_emscripten_glTexSubImage3D,emscripten_glTransformFeedbackVaryings:_emscripten_glTransformFeedbackVaryings,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform1ui:_emscripten_glUniform1ui,emscripten_glUniform1uiv:_emscripten_glUniform1uiv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform2ui:_emscripten_glUniform2ui,emscripten_glUniform2uiv:_emscripten_glUniform2uiv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform3ui:_emscripten_glUniform3ui,emscripten_glUniform3uiv:_emscripten_glUniform3uiv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniform4ui:_emscripten_glUniform4ui,emscripten_glUniform4uiv:_emscripten_glUniform4uiv,emscripten_glUniformBlockBinding:_emscripten_glUniformBlockBinding,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix2x3fv:_emscripten_glUniformMatrix2x3fv,emscripten_glUniformMatrix2x4fv:_emscripten_glUniformMatrix2x4fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix3x2fv:_emscripten_glUniformMatrix3x2fv,emscripten_glUniformMatrix3x4fv:_emscripten_glUniformMatrix3x4fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUniformMatrix4x2fv:_emscripten_glUniformMatrix4x2fv,emscripten_glUniformMatrix4x3fv:_emscripten_glUniformMatrix4x3fv,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_glVertexAttribI4i:_emscripten_glVertexAttribI4i,emscripten_glVertexAttribI4iv:_emscripten_glVertexAttribI4iv,emscripten_glVertexAttribI4ui:_emscripten_glVertexAttribI4ui,emscripten_glVertexAttribI4uiv:_emscripten_glVertexAttribI4uiv,emscripten_glVertexAttribIPointer:_emscripten_glVertexAttribIPointer,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_glWaitSync:_emscripten_glWaitSync,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_html5_remove_event_listener:_emscripten_html5_remove_event_listener,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_impl_js,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_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_up_async_input_device_js,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_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_draw_instanced_base_vertex_base_instance:_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance:_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance,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_websocket_close:_emscripten_websocket_close,emscripten_websocket_deinitialize:_emscripten_websocket_deinitialize,emscripten_websocket_delete:_emscripten_websocket_delete,emscripten_websocket_get_buffered_amount:_emscripten_websocket_get_buffered_amount,emscripten_websocket_get_extensions:_emscripten_websocket_get_extensions,emscripten_websocket_get_extensions_length:_emscripten_websocket_get_extensions_length,emscripten_websocket_get_protocol:_emscripten_websocket_get_protocol,emscripten_websocket_get_protocol_length:_emscripten_websocket_get_protocol_length,emscripten_websocket_get_ready_state:_emscripten_websocket_get_ready_state,emscripten_websocket_get_url:_emscripten_websocket_get_url,emscripten_websocket_get_url_length:_emscripten_websocket_get_url_length,emscripten_websocket_is_supported:_emscripten_websocket_is_supported,emscripten_websocket_new:_emscripten_websocket_new,emscripten_websocket_send_binary:_emscripten_websocket_send_binary,emscripten_websocket_send_utf8_text:_emscripten_websocket_send_utf8_text,emscripten_websocket_set_onclose_callback_on_thread:_emscripten_websocket_set_onclose_callback_on_thread,emscripten_websocket_set_onerror_callback_on_thread:_emscripten_websocket_set_onerror_callback_on_thread,emscripten_websocket_set_onmessage_callback_on_thread:_emscripten_websocket_set_onmessage_callback_on_thread,emscripten_websocket_set_onopen_callback_on_thread:_emscripten_websocket_set_onopen_callback_on_thread,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fail_test,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,ffi_call_js,ffi_closure_alloc_js,ffi_closure_free_js,ffi_prep_closure_loc_js,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,gc_register_proxies,get_async_js_call_done_callback,get_length_helper,get_length_string,get_suspender,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQuery:_glBeginQuery,glBeginQueryEXT:_glBeginQueryEXT,glBeginTransformFeedback:_glBeginTransformFeedback,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindSampler:_glBindSampler,glBindTexture:_glBindTexture,glBindTransformFeedback:_glBindTransformFeedback,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfi:_glClearBufferfi,glClearBufferfv:_glClearBufferfv,glClearBufferiv:_glClearBufferiv,glClearBufferuiv:_glClearBufferuiv,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClientWaitSync:_glClientWaitSync,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCopyTexSubImage3D:_glCopyTexSubImage3D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteSamplers:_glDeleteSamplers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteTransformFeedbacks:_glDeleteTransformFeedbacks,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,glDrawArraysInstancedBaseInstance:_glDrawArraysInstancedBaseInstance,glDrawArraysInstancedBaseInstanceANGLE:_glDrawArraysInstancedBaseInstanceANGLE,glDrawArraysInstancedBaseInstanceWEBGL:_glDrawArraysInstancedBaseInstanceWEBGL,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedBaseVertexBaseInstanceANGLE:_glDrawElementsInstancedBaseVertexBaseInstanceANGLE,glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glDrawRangeElements:_glDrawRangeElements,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQuery:_glEndQuery,glEndQueryEXT:_glEndQueryEXT,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenSamplers:_glGenSamplers,glGenTextures:_glGenTextures,glGenTransformFeedbacks:_glGenTransformFeedbacks,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetActiveUniformBlockName:_glGetActiveUniformBlockName,glGetActiveUniformBlockiv:_glGetActiveUniformBlockiv,glGetActiveUniformsiv:_glGetActiveUniformsiv,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteri64v:_glGetBufferParameteri64v,glGetBufferParameteriv:_glGetBufferParameteriv,glGetBufferSubData:_glGetBufferSubData,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFragDataLocation:_glGetFragDataLocation,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetInteger64i_v:_glGetInteger64i_v,glGetInteger64v:_glGetInteger64v,glGetIntegeri_v:_glGetIntegeri_v,glGetIntegerv:_glGetIntegerv,glGetInternalformativ:_glGetInternalformativ,glGetProgramBinary:_glGetProgramBinary,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuiv:_glGetQueryObjectuiv,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryiv:_glGetQueryiv,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetSamplerParameterfv:_glGetSamplerParameterfv,glGetSamplerParameteriv:_glGetSamplerParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetStringi:_glGetStringi,glGetSynciv:_glGetSynciv,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetTransformFeedbackVarying:_glGetTransformFeedbackVarying,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformIndices:_glGetUniformIndices,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetUniformuiv:_glGetUniformuiv,glGetVertexAttribIiv:_glGetVertexAttribIiv,glGetVertexAttribIuiv:_glGetVertexAttribIuiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glInvalidateFramebuffer:_glInvalidateFramebuffer,glInvalidateSubFramebuffer:_glInvalidateSubFramebuffer,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQuery:_glIsQuery,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsSampler:_glIsSampler,glIsShader:_glIsShader,glIsSync:_glIsSync,glIsTexture:_glIsTexture,glIsTransformFeedback:_glIsTransformFeedback,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedBaseInstanceANGLE:_glMultiDrawArraysInstancedBaseInstanceANGLE,glMultiDrawArraysInstancedBaseInstanceWEBGL:_glMultiDrawArraysInstancedBaseInstanceWEBGL,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE:_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE,glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPauseTransformFeedback:_glPauseTransformFeedback,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glProgramBinary:_glProgramBinary,glProgramParameteri:_glProgramParameteri,glQueryCounterEXT:_glQueryCounterEXT,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glResumeTransformFeedback:_glResumeTransformFeedback,glSampleCoverage:_glSampleCoverage,glSamplerParameterf:_glSamplerParameterf,glSamplerParameterfv:_glSamplerParameterfv,glSamplerParameteri:_glSamplerParameteri,glSamplerParameteriv:_glSamplerParameteriv,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexStorage2D:_glTexStorage2D,glTexStorage3D:_glTexStorage3D,glTexSubImage2D:_glTexSubImage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform2ui:_glUniform2ui,glUniform2uiv:_glUniform2uiv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform3ui:_glUniform3ui,glUniform3uiv:_glUniform3uiv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniform4ui:_glUniform4ui,glUniform4uiv:_glUniform4uiv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix2x3fv:_glUniformMatrix2x3fv,glUniformMatrix2x4fv:_glUniformMatrix2x4fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix3x2fv:_glUniformMatrix3x2fv,glUniformMatrix3x4fv:_glUniformMatrix3x4fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUniformMatrix4x2fv:_glUniformMatrix4x2fv,glUniformMatrix4x3fv:_glUniformMatrix4x3fv,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,glVertexAttribI4i:_glVertexAttribI4i,glVertexAttribI4iv:_glVertexAttribI4iv,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribI4uiv:_glVertexAttribI4uiv,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glWaitSync:_glWaitSync,handle_next_result_js,hiwire_invalid_ref_js,is_comlink_proxy,js2python_convert,js2python_immutable_js,js2python_js,jslib_init_buffers_js,jslib_init_js,lineColor:_lineColor,lineRGBA:_lineRGBA,my_dict_converter,new_error,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,proxy_cache_get,proxy_cache_set,pyodide_js_init,pyproxy_AsPyObject,pyproxy_Check,pyproxy_new,pyproxy_new_ex,python2js__default_converter_js,python2js__eager_converter_js,python2js_custom__create_jscontext,random_get:_random_get,raw_call_js,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,restoreState,restore_stderr,rotozoomSurface:_rotozoomSurface,saveState,setNetworkCallback:_setNetworkCallback,set_pyodide_module,set_suspender,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,syncifyHandler,throw_no_gil,wrap_async_generator,wrap_generator,zoomSurface:_zoomSurface};function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pP=f=>a0=>f(a0)>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_p_=f=>a0=>f(a0)>>>0;var makeWrapper_pppp=f=>(a0,a1,a2)=>f(a0,a1,a2)>>>0;var makeWrapper_ppppp=f=>(a0,a1,a2,a3)=>f(a0,a1,a2,a3)>>>0;wasmExports["malloc"]=makeWrapper_pp(wasmExports["malloc"]);wasmExports["__errno_location"]=makeWrapper_p(wasmExports["__errno_location"]);wasmExports["sbrk"]=makeWrapper_pP(wasmExports["sbrk"]);wasmExports["calloc"]=makeWrapper_ppp(wasmExports["calloc"]);wasmExports["realloc"]=makeWrapper_ppp(wasmExports["realloc"]);wasmExports["emscripten_stack_get_base"]=makeWrapper_p(wasmExports["emscripten_stack_get_base"]);wasmExports["emscripten_stack_get_end"]=makeWrapper_p(wasmExports["emscripten_stack_get_end"]);wasmExports["strerror"]=makeWrapper_p_(wasmExports["strerror"]);wasmExports["pthread_self"]=makeWrapper_p(wasmExports["pthread_self"]);wasmExports["emscripten_builtin_malloc"]=makeWrapper_pp(wasmExports["emscripten_builtin_malloc"]);wasmExports["memcpy"]=makeWrapper_pppp(wasmExports["memcpy"]);wasmExports["_emscripten_find_dylib"]=makeWrapper_ppppp(wasmExports["_emscripten_find_dylib"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["emscripten_stack_get_current"]=makeWrapper_p(wasmExports["emscripten_stack_get_current"]);wasmExports["emscripten_main_runtime_thread_id"]=makeWrapper_p(wasmExports["emscripten_main_runtime_thread_id"]);wasmExports["memalign"]=makeWrapper_ppp(wasmExports["memalign"]);wasmExports["emscripten_builtin_calloc"]=makeWrapper_ppp(wasmExports["emscripten_builtin_calloc"]);wasmExports["emscripten_get_sbrk_ptr"]=makeWrapper_p(wasmExports["emscripten_get_sbrk_ptr"]);wasmExports["_emscripten_stack_alloc"]=makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]);wasmExports["__cxa_get_exception_ptr"]=makeWrapper_pp(wasmExports["__cxa_get_exception_ptr"]);return wasmExports}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;for(var arg of args){HEAPU32[argv_ptr>>>2>>>0]=stringToUTF8OnStack(arg);argv_ptr+=4}HEAPU32[argv_ptr>>>2>>>0]=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()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
|
|
;return moduleRtn}export default _createPyodideModule;
|