From a512369c072349774e4fd5159124f52b2fa5fd8c Mon Sep 17 00:00:00 2001 From: quantumaikr Date: Fri, 10 Apr 2026 14:43:02 +0900 Subject: [PATCH] perf: sort vocab before merge parsing + rebuild WASM with ASYNCIFY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two changes: 1. Move sorted_indices build before GGUF BPE merge parsing in both tq_tokenizer.c and quant.h. str_lookup() during merge parsing was falling back to O(n) linear scan because sorted_indices wasn't built yet. For Qwen3 (248K vocab × 50K merges × 3 lookups) this was ~10 s of init time. Now uses binary search: ~100 ms. 2. Rebuild quant.js (72K) and quant.wasm (256K) with -sASYNCIFY. The previous binaries were compiled before the ASYNCIFY flags were added to build.sh, so wasm_generate_async() didn't exist and the JS fallback ran the synchronous path (blocking the browser event loop, all tokens appearing at once). The new binary contains asyncify runtime + emscripten_sleep, enabling real-time per-token streaming in the browser demo. Co-Authored-By: Claude Opus 4.6 (1M context) --- quant.h | 22 +++++++++++----------- src/engine/tq_tokenizer.c | 22 +++++++++++----------- wasm/quant.js | 2 +- wasm/quant.wasm | Bin 197372 -> 244115 bytes 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/quant.h b/quant.h index 28c62a9..39a3a75 100644 --- a/quant.h +++ b/quant.h @@ -8033,6 +8033,16 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { } } + /* Build sorted indices BEFORE merge parsing so str_lookup() can use + * binary search instead of O(n) linear scan. For 248K vocab with + * ~50K merges (3 lookups each), this turns a ~10 s init into ~100 ms. */ + tok->sorted_indices = (int*)malloc(vocab_size * sizeof(int)); + if (tok->sorted_indices) { + for (int i = 0; i < (int)vocab_size; i++) tok->sorted_indices[i] = i; + g_vocab_for_sort = tok->vocab; + qsort(tok->sorted_indices, vocab_size, sizeof(int), cmp_vocab_idx); + } + /* Load and parse merges if available. * GGUF stores merges as a string array of "tok_a tok_b" pairs. * We need to look up token IDs and build (id_a, id_b, id_merged) triples @@ -8072,7 +8082,7 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { memcpy(merged + la, str_b, (size_t)lb); merged[la + lb] = '\0'; - /* Look up token IDs via linear scan (sorted_indices not built yet) */ + /* Look up token IDs via binary search (sorted_indices built above) */ int id_a = str_lookup(tok, str_a); int id_b = str_lookup(tok, str_b); int id_merged = str_lookup(tok, merged); @@ -8092,16 +8102,6 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { } } - /* Build sorted indices for encoding (binary search by string). - * Use qsort for O(n log n) instead of insertion sort O(n²) — critical - * for 248K vocab where insertion sort would take minutes. */ - tok->sorted_indices = (int*)malloc(vocab_size * sizeof(int)); - if (tok->sorted_indices) { - for (int i = 0; i < (int)vocab_size; i++) tok->sorted_indices[i] = i; - g_vocab_for_sort = tok->vocab; - qsort(tok->sorted_indices, vocab_size, sizeof(int), cmp_vocab_idx); - } - fprintf(stderr, "tq_load_tokenizer_from_gguf: loaded %d tokens (max_len=%d)\n", tok->vocab_size, tok->max_token_len); return tok; diff --git a/src/engine/tq_tokenizer.c b/src/engine/tq_tokenizer.c index 9737a28..0a80a63 100644 --- a/src/engine/tq_tokenizer.c +++ b/src/engine/tq_tokenizer.c @@ -881,6 +881,16 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { } } + /* Build sorted indices BEFORE merge parsing so str_lookup() can use + * binary search instead of O(n) linear scan. For 248K vocab with + * ~50K merges (3 lookups each), this turns a ~10 s init into ~100 ms. */ + tok->sorted_indices = (int*)malloc(vocab_size * sizeof(int)); + if (tok->sorted_indices) { + for (int i = 0; i < (int)vocab_size; i++) tok->sorted_indices[i] = i; + g_vocab_for_sort = tok->vocab; + qsort(tok->sorted_indices, vocab_size, sizeof(int), cmp_vocab_idx); + } + /* Load and parse merges if available. * GGUF stores merges as a string array of "tok_a tok_b" pairs. * We need to look up token IDs and build (id_a, id_b, id_merged) triples @@ -920,7 +930,7 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { memcpy(merged + la, str_b, (size_t)lb); merged[la + lb] = '\0'; - /* Look up token IDs via linear scan (sorted_indices not built yet) */ + /* Look up token IDs via binary search (sorted_indices built above) */ int id_a = str_lookup(tok, str_a); int id_b = str_lookup(tok, str_b); int id_merged = str_lookup(tok, merged); @@ -940,16 +950,6 @@ tq_tokenizer_t* tq_load_tokenizer_from_gguf(const void* gguf_ctx_ptr) { } } - /* Build sorted indices for encoding (binary search by string). - * Use qsort for O(n log n) instead of insertion sort O(n²) — critical - * for 248K vocab where insertion sort would take minutes. */ - tok->sorted_indices = (int*)malloc(vocab_size * sizeof(int)); - if (tok->sorted_indices) { - for (int i = 0; i < (int)vocab_size; i++) tok->sorted_indices[i] = i; - g_vocab_for_sort = tok->vocab; - qsort(tok->sorted_indices, vocab_size, sizeof(int), cmp_vocab_idx); - } - fprintf(stderr, "tq_load_tokenizer_from_gguf: loaded %d tokens (max_len=%d)\n", tok->vocab_size, tok->max_token_len); return tok; diff --git a/wasm/quant.js b/wasm/quant.js index 7dde52b..a7f086a 100644 --- a/wasm/quant.js +++ b/wasm/quant.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=globalThis.document?.currentScript?.src;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("quant.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var noExitRuntime=true;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>(crypto.getRandomValues(view),0);var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var 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(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=MEMFS.emptyFileContents??=new Uint8Array(0)}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){return node.contents.subarray(0,node.usedBytes)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents.length;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity)newCapacity=Math.max(newCapacity,256);var oldContents=MEMFS.getFileDataAsTypedArray(node);node.contents=new Uint8Array(newCapacity);node.contents.set(oldContents)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;var oldContents=node.contents;node.contents=new Uint8Array(newSize);node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));node.usedBytes=newSize},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);buffer.set(contents.subarray(position,position+size),offset);return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length}else{MEMFS.expandFileStorage(node,position+length);node.contents.set(buffer.subarray(offset,offset+length),position);node.usedBytes=Math.max(node.usedBytes,position+length)}return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length>>0)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS_modeStringToFlags=str=>{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=FS_modeStringToFlags(flags);if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);data=FS_fileDataToTypedArray(data);FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn);FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){data=FS_fileDataToTypedArray(data);FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>>2>>>0]=stat.dev;HEAPU32[buf+4>>>2>>>0]=stat.mode;HEAPU32[buf+8>>>2>>>0]=stat.nlink;HEAPU32[buf+12>>>2>>>0]=stat.uid;HEAPU32[buf+16>>>2>>>0]=stat.gid;HEAPU32[buf+20>>>2>>>0]=stat.rdev;HEAP64[buf+24>>>3>>>0]=BigInt(stat.size);HEAP32[buf+32>>>2>>>0]=4096;HEAP32[buf+36>>>2>>>0]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>>3>>>0]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>>2>>>0]=atime%1e3*1e3*1e3;HEAP64[buf+56>>>3>>>0]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>>2>>>0]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>>3>>>0]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>>2>>>0]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>>3>>>0]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>>2>>>0]=stats.bsize;HEAPU32[buf+60>>>2>>>0]=stats.bsize;HEAP64[buf+8>>>3>>>0]=BigInt(stats.blocks);HEAP64[buf+16>>>3>>>0]=BigInt(stats.bfree);HEAP64[buf+24>>>3>>>0]=BigInt(stats.bavail);HEAP64[buf+32>>>3>>>0]=BigInt(stats.files);HEAP64[buf+40>>>3>>>0]=BigInt(stats.ffree);HEAPU32[buf+48>>>2>>>0]=stats.fsid;HEAPU32[buf+64>>>2>>>0]=stats.flags;HEAPU32[buf+56>>>2>>>0]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>>1>>>0]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){buf>>>=0;try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>>3>>>0]=BigInt(id);HEAP64[dirp+pos+8>>>3>>>0]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>>1>>>0]=280;HEAP8[dirp+pos+18>>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=termios.c_iflag||0;HEAP32[argp+4>>>2>>>0]=termios.c_oflag||0;HEAP32[argp+8>>>2>>>0]=termios.c_cflag||0;HEAP32[argp+12>>>2>>>0]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>>2>>>0];var c_oflag=HEAP32[argp+4>>>2>>>0];var c_cflag=HEAP32[argp+8>>>2>>>0];var c_lflag=HEAP32[argp+12>>>2>>>0];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21537:case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>>1>>>0]=winsize[0];HEAP16[argp+2>>>1>>>0]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __mmap_js(len,prot,flags,fd,offset,allocated,addr){len>>>=0;offset=bigintToI53Checked(offset);allocated>>>=0;addr>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>>2>>>0]=res.allocated;HEAPU32[addr>>>2>>>0]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}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>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>>3>>>0]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}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 handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var allocateUTF8=(...args)=>stringToNewUTF8(...args);var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["UTF8ToString"]=UTF8ToString;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["allocateUTF8"]=allocateUTF8;function js_on_token(text){if(Module.onToken)Module.onToken(UTF8ToString(text))}function js_on_done(n_tokens,elapsed_ms){if(Module.onDone)Module.onDone(n_tokens,elapsed_ms)}function js_on_status(msg){if(Module.onStatus)Module.onStatus(UTF8ToString(msg))}var _free,_malloc,_wasm_load_model,_wasm_generate,_wasm_model_info,_wasm_is_ready,_main,_emscripten_builtin_memalign,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,memory,__indirect_function_table,wasmMemory;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["free"];_malloc=Module["_malloc"]=wasmExports["malloc"];_wasm_load_model=Module["_wasm_load_model"]=wasmExports["wasm_load_model"];_wasm_generate=Module["_wasm_generate"]=wasmExports["wasm_generate"];_wasm_model_info=Module["_wasm_model_info"]=wasmExports["wasm_model_info"];_wasm_is_ready=Module["_wasm_is_ready"]=wasmExports["wasm_is_ready"];_main=Module["_main"]=wasmExports["main"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];memory=wasmMemory=wasmExports["memory"];__indirect_function_table=wasmExports["__indirect_function_table"]}var wasmImports={__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_stat64:___syscall_stat64,_mmap_js:__mmap_js,_munmap_js:__munmap_js,clock_time_get:_clock_time_get,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,js_on_done,js_on_status,js_on_token};function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["malloc"]=makeWrapper_pp(wasmExports["malloc"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["_emscripten_stack_alloc"]=makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]);wasmExports["emscripten_stack_get_current"]=makeWrapper_p(wasmExports["emscripten_stack_get_current"]);return wasmExports}function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;createWasm();run(); +var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=globalThis.document?.currentScript?.src;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("quant.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={env:wasmImports,wasi_snapshot_preview1:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var dynCalls={};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=dynCalls[sig];return f(ptr,...args)};var noExitRuntime=true;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>view=>(crypto.getRandomValues(view),0);var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var 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(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=MEMFS.emptyFileContents??=new Uint8Array(0)}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){return node.contents.subarray(0,node.usedBytes)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents.length;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity)newCapacity=Math.max(newCapacity,256);var oldContents=MEMFS.getFileDataAsTypedArray(node);node.contents=new Uint8Array(newCapacity);node.contents.set(oldContents)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;var oldContents=node.contents;node.contents=new Uint8Array(newSize);node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));node.usedBytes=newSize},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);buffer.set(contents.subarray(position,position+size),offset);return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length}else{MEMFS.expandFileStorage(node,position+length);node.contents.set(buffer.subarray(offset,offset+length),position);node.usedBytes=Math.max(node.usedBytes,position+length)}return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length>>0)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS_modeStringToFlags=str=>{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=FS_modeStringToFlags(flags);if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);data=FS_fileDataToTypedArray(data);FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn);FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){data=FS_fileDataToTypedArray(data);FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>>2>>>0]=stat.dev;HEAPU32[buf+4>>>2>>>0]=stat.mode;HEAPU32[buf+8>>>2>>>0]=stat.nlink;HEAPU32[buf+12>>>2>>>0]=stat.uid;HEAPU32[buf+16>>>2>>>0]=stat.gid;HEAPU32[buf+20>>>2>>>0]=stat.rdev;HEAP64[buf+24>>>3>>>0]=BigInt(stat.size);HEAP32[buf+32>>>2>>>0]=4096;HEAP32[buf+36>>>2>>>0]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>>3>>>0]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>>2>>>0]=atime%1e3*1e3*1e3;HEAP64[buf+56>>>3>>>0]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>>2>>>0]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>>3>>>0]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>>2>>>0]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>>3>>>0]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>>2>>>0]=stats.bsize;HEAPU32[buf+60>>>2>>>0]=stats.bsize;HEAP64[buf+8>>>3>>>0]=BigInt(stats.blocks);HEAP64[buf+16>>>3>>>0]=BigInt(stats.bfree);HEAP64[buf+24>>>3>>>0]=BigInt(stats.bavail);HEAP64[buf+32>>>3>>>0]=BigInt(stats.files);HEAP64[buf+40>>>3>>>0]=BigInt(stats.ffree);HEAPU32[buf+48>>>2>>>0]=stats.fsid;HEAPU32[buf+64>>>2>>>0]=stats.flags;HEAPU32[buf+56>>>2>>>0]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>>1>>>0]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){buf>>>=0;try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>>3>>>0]=BigInt(id);HEAP64[dirp+pos+8>>>3>>>0]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>>1>>>0]=280;HEAP8[dirp+pos+18>>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=termios.c_iflag||0;HEAP32[argp+4>>>2>>>0]=termios.c_oflag||0;HEAP32[argp+8>>>2>>>0]=termios.c_cflag||0;HEAP32[argp+12>>>2>>>0]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>>2>>>0];var c_oflag=HEAP32[argp+4>>>2>>>0];var c_cflag=HEAP32[argp+8>>>2>>>0];var c_lflag=HEAP32[argp+12>>>2>>>0];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21537:case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>>1>>>0]=winsize[0];HEAP16[argp+2>>>1>>>0]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __mmap_js(len,prot,flags,fd,offset,allocated,addr){len>>>=0;offset=bigintToI53Checked(offset);allocated>>>=0;addr>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>>2>>>0]=res.allocated;HEAPU32[addr>>>2>>>0]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var _emscripten_sleep=function(ms){let innerFunc=()=>new Promise(resolve=>setTimeout(resolve,ms));return Asyncify.handleAsync(innerFunc)};_emscripten_sleep.isAsync=true;var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}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>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>>3>>>0]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}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 handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(emscripten_sleep|invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:65536,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>>2>>>0]=stack;HEAPU32[ptr+4>>>2>>>0]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>>2>>>0]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>>2>>>0];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var allocateUTF8=(...args)=>stringToNewUTF8(...args);var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["UTF8ToString"]=UTF8ToString;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["allocateUTF8"]=allocateUTF8;function js_on_token(text){if(Module.onToken)Module.onToken(UTF8ToString(text))}function js_on_done(n_tokens,elapsed_ms){if(Module.onDone)Module.onDone(n_tokens,elapsed_ms)}function js_on_status(msg){if(Module.onStatus)Module.onStatus(UTF8ToString(msg))}var _free,_malloc,_wasm_load_model,_wasm_generate_async,_wasm_generate,_wasm_model_info,_wasm_is_ready,_main,_emscripten_builtin_memalign,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,dynCall_ii,dynCall_iii,dynCall_vii,dynCall_viii,dynCall_viiiii,dynCall_fiii,dynCall_jiji,dynCall_iiii,dynCall_iidiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,memory,__indirect_function_table,wasmMemory;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["free"];_malloc=Module["_malloc"]=wasmExports["malloc"];_wasm_load_model=Module["_wasm_load_model"]=wasmExports["wasm_load_model"];_wasm_generate_async=Module["_wasm_generate_async"]=wasmExports["wasm_generate_async"];_wasm_generate=Module["_wasm_generate"]=wasmExports["wasm_generate"];_wasm_model_info=Module["_wasm_model_info"]=wasmExports["wasm_model_info"];_wasm_is_ready=Module["_wasm_is_ready"]=wasmExports["wasm_is_ready"];_main=Module["_main"]=wasmExports["main"];_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"];dynCall_ii=dynCalls["ii"]=wasmExports["dynCall_ii"];dynCall_iii=dynCalls["iii"]=wasmExports["dynCall_iii"];dynCall_vii=dynCalls["vii"]=wasmExports["dynCall_vii"];dynCall_viii=dynCalls["viii"]=wasmExports["dynCall_viii"];dynCall_viiiii=dynCalls["viiiii"]=wasmExports["dynCall_viiiii"];dynCall_fiii=dynCalls["fiii"]=wasmExports["dynCall_fiii"];dynCall_jiji=dynCalls["jiji"]=wasmExports["dynCall_jiji"];dynCall_iiii=dynCalls["iiii"]=wasmExports["dynCall_iiii"];dynCall_iidiiii=dynCalls["iidiiii"]=wasmExports["dynCall_iidiiii"];_asyncify_start_unwind=wasmExports["asyncify_start_unwind"];_asyncify_stop_unwind=wasmExports["asyncify_stop_unwind"];_asyncify_start_rewind=wasmExports["asyncify_start_rewind"];_asyncify_stop_rewind=wasmExports["asyncify_stop_rewind"];memory=wasmMemory=wasmExports["memory"];__indirect_function_table=wasmExports["__indirect_function_table"]}var wasmImports={__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_stat64:___syscall_stat64,_mmap_js:__mmap_js,_munmap_js:__munmap_js,clock_time_get:_clock_time_get,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_sleep:_emscripten_sleep,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,js_on_done,js_on_status,js_on_token};function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["malloc"]=makeWrapper_pp(wasmExports["malloc"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["_emscripten_stack_alloc"]=makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]);wasmExports["emscripten_stack_get_current"]=makeWrapper_p(wasmExports["emscripten_stack_get_current"]);return wasmExports}function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;createWasm();run(); diff --git a/wasm/quant.wasm b/wasm/quant.wasm index 9383b5fdff047141cda9035288f5c43d6a8bb05f..7c3b273871b650be2050b44e3bd626468d46cfd3 100755 GIT binary patch literal 244115 zcmeFa3zS{gS?77qx#zy`t-2+ZN|H;q&pDRkvMtL>;@C=XVjcM*`4J}_0tBL$vC6ip zO0p$Y6lYqt)Wpzk;?*RIOs9uTkIBlkvl`Rwjx!LtGeQLSOvr?86Otx$U@bQbm<%x8 zZURl#!o>6Ye|w*EA5|sE!9W&`Y-!)K&whXJZ-0BA;GUxg!ypL4{~Wz>Uw9%sv9EIC zgp$bq)k8pj;Ibc4cCfEXuH`=xKC&-%zb&C&&E8p|NBI-%3&;$DeRY>_Ej@Z7e3XL6 zmBrim#G{XrADuWJ>}&X9R_+nK4Uf|aBct!*C&J^jcbvh{gjKW#T%V7UW4%0DPT)}u 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 @wiB7^>eO<63okCu!4Kg^CzGj! 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

APF@<*>>o$vn8i<)#$)K3}0F03Dc%~1u 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

c-{T? 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 AH~;_u