From b0b68a3cf69cb25809b18d66920d95e512a49b65 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sat, 9 May 2026 10:48:02 +0000
Subject: [PATCH] Update J to 9.8.0-beta2
---
index.html | 2 +-
scripts/generate-og-languages.cjs | 2 +-
scripts/known-versions.json | 2 +-
wasm/j/emj.js | 2 +-
wasm/j/emj.wasm | Bin 3143346 -> 3147943 bytes
5 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/index.html b/index.html
index 8fcaebc..7b1d730 100644
--- a/index.html
+++ b/index.html
@@ -1256,7 +1256,7 @@

diff --git a/scripts/generate-og-languages.cjs b/scripts/generate-og-languages.cjs
index 0645218..4d9a0ca 100644
--- a/scripts/generate-og-languages.cjs
+++ b/scripts/generate-og-languages.cjs
@@ -31,7 +31,7 @@ const LANGS = [
{ name: 'BQN', version: 'CBQN 0.11', file: 'bqn.svg' },
{ name: 'Uiua', version: '0.19.0-dev.3', file: 'uiua.png' },
// Row 2
- { name: 'J', version: 'J9.8.0-beta1', file: 'j_logo.svg' },
+ { name: 'J', version: 'J9.8.0-beta2', file: 'j_logo.svg' },
{ name: 'Kap', version: '2026-05-08', file: 'kap.png' },
{ name: 'TinyAPL', version: '0.13-beta', file: 'tinyapl.svg' },
];
diff --git a/scripts/known-versions.json b/scripts/known-versions.json
index 0be67ef..53298fa 100644
--- a/scripts/known-versions.json
+++ b/scripts/known-versions.json
@@ -1,7 +1,7 @@
{
"cbqn": "v0.11.0",
"uiua": "0.19.0-dev.3",
- "j": "9.8.0-beta1",
+ "j": "9.8.0-beta2",
"kap": "20260508-1",
"tinyapl": "0.12.0"
}
diff --git a/wasm/j/emj.js b/wasm/j/emj.js
index 8ac4be8..864e2f3 100644
--- a/wasm/j/emj.js
+++ b/wasm/j/emj.js
@@ -1 +1 @@
-var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i
{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},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){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>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=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _system=command=>{if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("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"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_diid:invoke_diid,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit,system:_system};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169620;var ___start_em_js=Module["___start_em_js"]=295104;var ___stop_em_js=Module["___stop_em_js"]=295405;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
+var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},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){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>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=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _system=command=>{if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("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"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_diid:invoke_diid,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit,system:_system};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169620;var ___start_em_js=Module["___start_em_js"]=295360;var ___stop_em_js=Module["___stop_em_js"]=295661;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
diff --git a/wasm/j/emj.wasm b/wasm/j/emj.wasm
index d633a7d6ff422e40f4bd59c8864ab63622cb637e..461301eb3137d3fc8cf8d03d2501e97af537eaaa 100644
GIT binary patch
delta 121698
zcmb5X2Y?jC@;|;kGdr{Kc4jZ<*(Du0h~zX1ihzJw5k(A7y#w_C1Bl!qpyET)AdMM}
zfFLO9sGuIt1nM)30R!fUVnRTL-=}(Jm%ZD&_x=AL&zqU<>gww1>gww1?%GFoKg%9i
z(!e(M(d0F)AK27i+pE~!B6FC!>G8;J#=@KK$!Q3cC>pzreVp@gj$dP}Uazm0)O@*)
zS&KJsnpOO&6nM6r`79RxXw!*hn?nAb=EvsecBtL@;L@U{MNcO1&u(bfJ^W_kt;E}j
zH}T)w_TTNw<+l@`+htXKl^+WZCG0b*)+ui$b|md!`?+kzriJaVVQT1x2OnV%*ts3s
zv7L7Rj#Yhk-f31zK2xfaB9=6*+Vb_1eAX^6)u&esi?Xoz7CB*4vh?cKK5Nfv`}U3&
z+h%{#aZSOt3X_VNiZxijJ&^PbQ-)Z-Q`T5}cc(L&&EDr`uj|}=_TO%HO_!`}M#$^8
z+aGpWU$DKxWEu5}thw9mJG!n3d0EyC+wHO4dK~#~#ZkWAvd`L=dbweTmr|d4S-hjd
zB5d*y(+5si8@Jm|w=wND$EvOR%`vN<>GSfF49|@35)%m$CD@(2m#HqSJ*K-^ir1vi
zs;`gtl7<4`kQ(dGFp=uB?y_&}UQ*R0esSD?ac+4TW8Uv8Ao?y*PpC}si|yVstXdbh9c5waiap=&NN%)Y%xvHevK
zz0CcdebCpRjRH}bt$4sTjwtpDthT!!QCQ~!qk(HYD(2MdM1^em(^Lp%0Ay_%B+muW
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