spl.js 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.TODO.md +792 -0
- package/.claude/settings.local.json +6 -1
- package/Makefile +3 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.wasm +0 -0
- package/doc/spatialite_functions.md +110 -126
- package/package.json +1 -1
- package/test/node.js +58 -1
- package/test/test_function_list.js +63 -0
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
async function r(r={}){var e=r;{const{createRequire:r}=await import("module");var t=r(import.meta.url)}e.preRun=function(){void 0!==Pr&&(Pr.PROJ_LIB="/proj",Pr.SPATIALITE_SECURITY="relaxed"),e.FS=Er,e.NODEFS=void 0!==lr?lr:null,e.MEMFS=sr,e.WORKERFS="undefined"!=typeof WORKERFS?WORKERFS:null,e.ENVIRONMENT_IS_NODE=true};var n,o,a,i="./this.program",s=import.meta.url,c="";var u=t("fs");s.startsWith("file:")&&(c=t("path").dirname(t("url").fileURLToPath(s))+"/"),a=r=>(r=O(r)?new URL(r):r,u.readFileSync(r)),o=async(r,e=!0)=>(r=O(r)?new URL(r):r,u.readFileSync(r,e?void 0:"utf8")),process.argv.length>1&&(i=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n=(r,e)=>{throw process.exitCode=r,e};var l,f,d,h,m,w,p,v,E,y,b,g,_=console.log.bind(console),k=console.error.bind(console),S=!1,O=r=>r.startsWith("file://"),N=!1;function D(){var r=Hr.buffer;e.HEAP8=h=new Int8Array(r),w=new Int16Array(r),m=new Uint8Array(r),p=new Int32Array(r),v=new Uint32Array(r),E=new Float32Array(r),y=new Float64Array(r),b=new BigInt64Array(r),new BigUint64Array(r)}function F(r){e.onAbort?.(r),k(r="Aborted("+r+")"),S=!0,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw d?.(t),t}function A(){return e.locateFile?(r="index.wasm",e.locateFile?e.locateFile(r,c):c+r):new URL("index.wasm",import.meta.url).href;var r}function T(r,e){var t,n=function(r){if(r==g&&l)return new Uint8Array(l);if(a)return a(r);throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}(r);return t=new WebAssembly.Module(n),[new WebAssembly.Instance(t,e),t]}class P{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var R=r=>{for(;r.length>0;)r.shift()(e)},M=[],L=r=>M.push(r),B=[],I=r=>B.push(r);var x=!0;var C=r=>Cr(r),z=()=>qr(),q=new TextDecoder,U=(r,e,t,n)=>{var o=e+t;if(n)return o;for(;r[e]&&!(e>=o);)++e;return e},j=(r,e,t)=>{if(!r)return"";var n=U(m,r,e,t);return q.decode(m.subarray(r,n))},W=r=>Kr.get(r),G=[],H=0,K=0;class X{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){v[this.ptr+4>>2]=r}get_type(){return v[this.ptr+4>>2]}set_destructor(r){v[this.ptr+8>>2]=r}get_destructor(){return v[this.ptr+8>>2]}set_caught(r){r=r?1:0,h[this.ptr+12]=r}get_caught(){return 0!=h[this.ptr+12]}set_rethrown(r){r=r?1:0,h[this.ptr+13]=r}get_rethrown(){return 0!=h[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){v[this.ptr+16>>2]=r}get_adjusted_ptr(){return v[this.ptr+16>>2]}}var $=r=>xr(r),Y=r=>{var e=K;if(!e)return $(0),0;var t=new X(e);t.set_adjusted_ptr(e);var n=t.get_type();if(!n)return $(0),e;for(var o of r){if(0===o||o===n)break;var a=t.ptr+16;if(Wr(o,n,a))return $(o),e}return $(n),e},J={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=J.isAbs(r),t="/"===r.slice(-1);return(r=J.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=J.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:r=>r&&r.match(/([^\/]+|\/)\/*$/)[1],join:(...r)=>J.normalize(r.join("/")),join2:(r,e)=>J.normalize(r+"/"+e)},V=r=>{var e;(e=t("crypto"),V=r=>e.randomFillSync(r))(r)},Q={resolve:(...r)=>{for(var e="",t=!1,n=r.length-1;n>=-1&&!t;n--){var o=n>=0?r[n]:Er.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=J.isAbs(o)}return(t?"/":"")+(e=J.normalizeArray(e.split("/").filter((r=>!!r)),!t).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Q.resolve(r).slice(1),e=Q.resolve(e).slice(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var c=[];for(s=i;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(i))).join("/")}},Z=(r,e=0,t,n)=>{var o=U(r,e,t,n);return q.decode(r.buffer?r.subarray(e,o):new Uint8Array(r.slice(e,o)))},rr=[],er=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},tr=(r,e,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.codePointAt(i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s,i++}}return e[t]=0,t-o},nr=(r,e,t)=>{var n=t>0?t:er(r)+1,o=new Array(n),a=tr(r,o,0,o.length);return e&&(o.length=a),o},or={ttys:[],init(){},shutdown(){},register(r,e){or.ttys[r]={input:[],output:[],ops:e},Er.registerDevice(r,or.stream_ops)},stream_ops:{open(r){var e=or.ttys[r.node.rdev];if(!e)throw new Er.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Er.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Er.ErrnoError(29)}if(void 0===s&&0===a)throw new Er.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.atime=Date.now()),a},write(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Er.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Er.ErrnoError(29)}return n&&(r.node.mtime=r.node.ctime=Date.now()),a}},default_tty_ops:{get_char:r=>(()=>{if(!rr.length){var r=null,e=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=u.readSync(n,e,0,256)}catch(r){if(!r.toString().includes("EOF"))throw r;t=0}if(t>0&&(r=e.slice(0,t).toString("utf-8")),!r)return null;rr=nr(r,!0)}return rr.shift()})(),put_char(r,e){null===e||10===e?(_(Z(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(_(Z(r.output)),r.output=[])},ioctl_tcgets:r=>({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:(r,e,t)=>0,ioctl_tiocgwinsz:r=>[24,80]},default_tty1_ops:{put_char(r,e){null===e||10===e?(k(Z(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(k(Z(r.output)),r.output=[])}}},ar=(r,e)=>Math.ceil(r/e)*e,ir=r=>{r=ar(r,65536);var e=Br(65536,r);return e&&((r,e)=>{m.fill(0,r,r+e)})(e,r),e},sr={ops_table:null,mount:r=>sr.createNode(null,"/",16895,0),createNode(r,e,t,n){if(Er.isBlkdev(t)||Er.isFIFO(t))throw new Er.ErrnoError(63);sr.ops_table||={dir:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr,lookup:sr.node_ops.lookup,mknod:sr.node_ops.mknod,rename:sr.node_ops.rename,unlink:sr.node_ops.unlink,rmdir:sr.node_ops.rmdir,readdir:sr.node_ops.readdir,symlink:sr.node_ops.symlink},stream:{llseek:sr.stream_ops.llseek}},file:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr},stream:{llseek:sr.stream_ops.llseek,read:sr.stream_ops.read,write:sr.stream_ops.write,mmap:sr.stream_ops.mmap,msync:sr.stream_ops.msync}},link:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr,readlink:sr.node_ops.readlink},stream:{}},chrdev:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr},stream:Er.chrdev_stream_ops}};var o=Er.createNode(r,e,t,n);return Er.isDir(o.mode)?(o.node_ops=sr.ops_table.dir.node,o.stream_ops=sr.ops_table.dir.stream,o.contents={}):Er.isFile(o.mode)?(o.node_ops=sr.ops_table.file.node,o.stream_ops=sr.ops_table.file.stream,o.usedBytes=0,o.contents=null):Er.isLink(o.mode)?(o.node_ops=sr.ops_table.link.node,o.stream_ops=sr.ops_table.link.stream):Er.isChrdev(o.mode)&&(o.node_ops=sr.ops_table.chrdev.node,o.stream_ops=sr.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),r&&(r.contents[e]=o,r.atime=r.mtime=r.ctime=o.atime),o},getFileDataAsTypedArray:r=>r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0),expandFileStorage(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=Er.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Er.isDir(r.mode)?e.size=4096:Er.isFile(r.mode)?e.size=r.usedBytes:Er.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.atime),e.mtime=new Date(r.mtime),e.ctime=new Date(r.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){for(const t of["mode","atime","mtime","ctime"])null!=e[t]&&(r[t]=e[t]);void 0!==e.size&&sr.resizeFileStorage(r,e.size)},lookup(r,e){throw sr.doesNotExistError||(sr.doesNotExistError=new Er.ErrnoError(44),sr.doesNotExistError.stack="<generic error, no stack>"),sr.doesNotExistError},mknod:(r,e,t,n)=>sr.createNode(r,e,t,n),rename(r,e,t){var n;try{n=Er.lookupNode(e,t)}catch(r){}if(n){if(Er.isDir(r.mode))for(var o in n.contents)throw new Er.ErrnoError(55);Er.hashRemoveNode(n)}delete r.parent.contents[r.name],e.contents[t]=r,r.name=t,e.ctime=e.mtime=r.parent.ctime=r.parent.mtime=Date.now()},unlink(r,e){delete r.contents[e],r.ctime=r.mtime=Date.now()},rmdir(r,e){var t=Er.lookupNode(r,e);for(var n in t.contents)throw new Er.ErrnoError(55);delete r.contents[e],r.ctime=r.mtime=Date.now()},readdir:r=>[".","..",...Object.keys(r.contents)],symlink(r,e,t){var n=sr.createNode(r,e,41471,0);return n.link=t,n},readlink(r){if(!Er.isLink(r.mode))throw new Er.ErrnoError(28);return r.link}},stream_ops:{read(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write(r,e,t,n,o,a){if(e.buffer===h.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.mtime=i.ctime=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(sr.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Er.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Er.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Er.isFile(r.node.mode))throw new Er.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||!s||s.buffer!==h.buffer){if(i=!0,!(a=ir(e)))throw new Er.ErrnoError(48);s&&((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),h.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(r,e,t,n,o)=>(sr.stream_ops.write(r,e,0,n,t,!1),0)}},cr=(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},ur={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},lr={isWindows:!1,staticInit(){lr.isWindows=!!process.platform.match(/^win/);var r=process.binding("constants").fs;lr.flagsForNodeMap={1024:r.O_APPEND,64:r.O_CREAT,128:r.O_EXCL,256:r.O_NOCTTY,0:r.O_RDONLY,2:r.O_RDWR,4096:r.O_SYNC,512:r.O_TRUNC,1:r.O_WRONLY,131072:r.O_NOFOLLOW}},convertNodeCode(r){var e=r.code;return ur[e]},tryFSOperation(r){try{return r()}catch(r){if(!r.code)throw r;if("UNKNOWN"===r.code)throw new Er.ErrnoError(28);throw new Er.ErrnoError(lr.convertNodeCode(r))}},mount:r=>lr.createNode(null,"/",lr.getMode(r.opts.root),0),createNode(r,e,t,n){if(!Er.isDir(t)&&!Er.isFile(t)&&!Er.isLink(t))throw new Er.ErrnoError(28);var o=Er.createNode(r,e,t);return o.node_ops=lr.node_ops,o.stream_ops=lr.stream_ops,o},getMode:r=>lr.tryFSOperation((()=>{var e=u.lstatSync(r).mode;return lr.isWindows&&(e|=(292&e)>>2),e})),realPath(r){for(var e=[];r.parent!==r;)e.push(r.name),r=r.parent;return e.push(r.mount.opts.root),e.reverse(),J.join(...e)},flagsForNode(r){r&=-2097153,r&=-2049,r&=-32769,r&=-524289,r&=-65537;var e=0;for(var t in lr.flagsForNodeMap)r&t&&(e|=lr.flagsForNodeMap[t],r^=t);if(r)throw new Er.ErrnoError(28);return e},getattr(r,e){var t=lr.tryFSOperation(r);return lr.isWindows&&(t.blksize||(t.blksize=4096),t.blocks||(t.blocks=(t.size+t.blksize-1)/t.blksize|0),t.mode|=(292&t.mode)>>2),{dev:t.dev,ino:e.id,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr(r,e,t,n,o,a,i){lr.tryFSOperation((()=>{if(void 0!==t.mode){var s=t.mode;lr.isWindows&&(s&=384),n(r,s),e.mode=t.mode}if("number"==typeof(t.atime??t.mtime)){var c=new Date(t.atime??i(r).atime),u=new Date(t.mtime??i(r).mtime);o(r,c,u)}void 0!==t.size&&a(r,t.size)}))},node_ops:{getattr(r){var e=lr.realPath(r);return lr.getattr((()=>u.lstatSync(e)),r)},setattr(r,e){var t=lr.realPath(r);if(null!=e.mode&&e.dontFollow)throw new Er.ErrnoError(52);lr.setattr(t,r,e,u.chmodSync,u.utimesSync,u.truncateSync,u.lstatSync)},lookup(r,e){var t=J.join2(lr.realPath(r),e),n=lr.getMode(t);return lr.createNode(r,e,n)},mknod(r,e,t,n){var o=lr.createNode(r,e,t,n),a=lr.realPath(o);return lr.tryFSOperation((()=>{Er.isDir(o.mode)?u.mkdirSync(a,o.mode):u.writeFileSync(a,"",{mode:o.mode})})),o},rename(r,e,t){var n=lr.realPath(r),o=J.join2(lr.realPath(e),t);try{Er.unlink(o)}catch(r){}lr.tryFSOperation((()=>u.renameSync(n,o))),r.name=t},unlink(r,e){var t=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.unlinkSync(t)))},rmdir(r,e){var t=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.rmdirSync(t)))},readdir(r){var e=lr.realPath(r);return lr.tryFSOperation((()=>u.readdirSync(e)))},symlink(r,e,t){var n=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.symlinkSync(t,n)))},readlink(r){var e=lr.realPath(r);return lr.tryFSOperation((()=>u.readlinkSync(e)))},statfs(r){var e=lr.tryFSOperation((()=>u.statfsSync(r)));return e.frsize=e.bsize,e}},stream_ops:{getattr:r=>lr.getattr((()=>u.fstatSync(r.nfd)),r.node),setattr(r,e){lr.setattr(r.nfd,r.node,e,u.fchmodSync,u.futimesSync,u.ftruncateSync,u.fstatSync)},open(r){var e=lr.realPath(r.node);lr.tryFSOperation((()=>{r.shared.refcount=1,r.nfd=u.openSync(e,lr.flagsForNode(r.flags))}))},close(r){lr.tryFSOperation((()=>{r.nfd&&0==--r.shared.refcount&&u.closeSync(r.nfd)}))},dup(r){r.shared.refcount++},read:(r,e,t,n,o)=>lr.tryFSOperation((()=>u.readSync(r.nfd,new Int8Array(e.buffer,t,n),0,n,o))),write:(r,e,t,n,o)=>lr.tryFSOperation((()=>u.writeSync(r.nfd,new Int8Array(e.buffer,t,n),0,n,o))),llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Er.isFile(r.node.mode)&&lr.tryFSOperation((()=>{var e=u.fstatSync(r.nfd);n+=e.size})),n<0)throw new Er.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Er.isFile(r.node.mode))throw new Er.ErrnoError(43);var a=ir(e);return lr.stream_ops.read(r,h,a,e,t),{ptr:a,allocated:!0}},msync:(r,e,t,n,o)=>(lr.stream_ops.write(r,e,0,n,t,!1),0)}},fr=(...r)=>Er.createDataFile(...r),dr=0,hr=null,mr=r=>{if(dr--,e.monitorRunDependencies?.(dr),0==dr&&hr){var t=hr;hr=null,t()}},wr=r=>{dr++,e.monitorRunDependencies?.(dr)},pr=[],vr=async(r,e,t,n,a,i,s,c)=>{var u=e?Q.resolve(J.join2(r,e)):r;wr();try{var l=t;"string"==typeof t&&(l=await(async r=>{var e=await o(r);return new Uint8Array(e)})(t)),l=await(async(r,e)=>{for(var t of("undefined"!=typeof Browser&&Browser.init(),pr))if(t.canHandle(e))return t.handle(r,e);return r})(l,u),c?.(),i||fr(r,e,l,n,a,s)}finally{mr()}},Er={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(r){this.errno=r}},FSStream:class{shared={};get object(){return this.node}set object(r){this.node=r}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return 0!=(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(r){this.shared.flags=r}get position(){return this.shared.position}set position(r){this.shared.position=r}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.id=Er.nextInode++,this.name=e,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(r){r?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(r){r?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Er.isDir(this.mode)}get isDevice(){return Er.isChrdev(this.mode)}},lookupPath(r,e={}){if(!r)throw new Er.ErrnoError(44);e.follow_mount??=!0,J.isAbs(r)||(r=Er.cwd()+"/"+r);r:for(var t=0;t<40;t++){for(var n=r.split("/").filter((r=>!!r)),o=Er.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&e.parent)break;if("."!==n[i])if(".."!==n[i]){a=J.join2(a,n[i]);try{o=Er.lookupNode(o,n[i])}catch(r){if(44===r?.errno&&s&&e.noent_okay)return{path:a};throw r}if(!Er.isMountpoint(o)||s&&!e.follow_mount||(o=o.mounted.root),Er.isLink(o.mode)&&(!s||e.follow)){if(!o.node_ops.readlink)throw new Er.ErrnoError(52);var c=o.node_ops.readlink(o);J.isAbs(c)||(c=J.dirname(a)+"/"+c),r=c+"/"+n.slice(i+1).join("/");continue r}}else{if(a=J.dirname(a),Er.isRoot(o)){r=a+"/"+n.slice(i+1).join("/"),t--;continue r}o=o.parent}}return{path:a,node:o}}throw new Er.ErrnoError(32)},getPath(r){for(var e;;){if(Er.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Er.nameTable.length},hashAddNode(r){var e=Er.hashName(r.parent.id,r.name);r.name_next=Er.nameTable[e],Er.nameTable[e]=r},hashRemoveNode(r){var e=Er.hashName(r.parent.id,r.name);if(Er.nameTable[e]===r)Er.nameTable[e]=r.name_next;else for(var t=Er.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode(r,e){var t=Er.mayLookup(r);if(t)throw new Er.ErrnoError(t);for(var n=Er.hashName(r.id,e),o=Er.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Er.lookup(r,e)},createNode(r,e,t,n){var o=new Er.FSNode(r,e,t,n);return Er.hashAddNode(o),o},destroyNode(r){Er.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagsToPermissionString(r){var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Er.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup(r){if(!Er.isDir(r.mode))return 54;var e=Er.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){if(!Er.isDir(r.mode))return 54;try{Er.lookupNode(r,e);return 20}catch(r){}return Er.nodePermissions(r,"wx")},mayDelete(r,e,t){var n;try{n=Er.lookupNode(r,e)}catch(r){return r.errno}var o=Er.nodePermissions(r,"wx");if(o)return o;if(t){if(!Er.isDir(n.mode))return 54;if(Er.isRoot(n)||Er.getPath(n)===Er.cwd())return 10}else if(Er.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Er.isLink(r.mode)?32:Er.isDir(r.mode)&&("r"!==Er.flagsToPermissionString(e)||576&e)?31:Er.nodePermissions(r,Er.flagsToPermissionString(e)):44,checkOpExists(r,e){if(!r)throw new Er.ErrnoError(e);return r},MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=Er.MAX_OPEN_FDS;r++)if(!Er.streams[r])return r;throw new Er.ErrnoError(33)},getStreamChecked(r){var e=Er.getStream(r);if(!e)throw new Er.ErrnoError(8);return e},getStream:r=>Er.streams[r],createStream:(r,e=-1)=>(r=Object.assign(new Er.FSStream,r),-1==e&&(e=Er.nextfd()),r.fd=e,Er.streams[e]=r,r),closeStream(r){Er.streams[r]=null},dupStream(r,e=-1){var t=Er.createStream(r,e);return t.stream_ops?.dup?.(t),t},doSetAttr(r,e,t){var n=r?.stream_ops.setattr,o=n?r:e;n??=e.node_ops.setattr,Er.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(r){var e=Er.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open?.(r)},llseek(){throw new Er.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice(r,e){Er.devices[r]={stream_ops:e}},getDevice:r=>Er.devices[r],getMounts(r){for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push(...n.mounts)}return e},syncfs(r,e){"function"==typeof r&&(e=r,r=!1),Er.syncFSRequests++,Er.syncFSRequests>1&&k(`warning: ${Er.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Er.getMounts(Er.root.mount),n=0;function o(r){return Er.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}for(var i of t)i.type.syncfs?i.type.syncfs(i,r,a):a(null)},mount(r,e,t){var n,o="/"===t,a=!t;if(o&&Er.root)throw new Er.ErrnoError(10);if(!o&&!a){var i=Er.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Er.isMountpoint(n))throw new Er.ErrnoError(10);if(!Er.isDir(n.mode))throw new Er.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},c=r.mount(s);return c.mount=s,s.root=c,o?Er.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount(r){var e=Er.lookupPath(r,{follow_mount:!1});if(!Er.isMountpoint(e.node))throw new Er.ErrnoError(28);var t=e.node,n=t.mounted,o=Er.getMounts(n);for(var[a,i]of Object.entries(Er.nameTable))for(;i;){var s=i.name_next;o.includes(i.mount)&&Er.destroyNode(i),i=s}t.mounted=null;var c=t.mount.mounts.indexOf(n);t.mount.mounts.splice(c,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod(r,e,t){var n=Er.lookupPath(r,{parent:!0}).node,o=J.basename(r);if(!o)throw new Er.ErrnoError(28);if("."===o||".."===o)throw new Er.ErrnoError(20);var a=Er.mayCreate(n,o);if(a)throw new Er.ErrnoError(a);if(!n.node_ops.mknod)throw new Er.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},statfs:r=>Er.statfsNode(Er.lookupPath(r,{follow:!0}).node),statfsStream:r=>Er.statfsNode(r.node),statfsNode(r){var e={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Er.nextInode,ffree:Er.nextInode-1,fsid:42,flags:2,namelen:255};return r.node_ops.statfs&&Object.assign(e,r.node_ops.statfs(r.mount.opts.root)),e},create:(r,e=438)=>(e&=4095,e|=32768,Er.mknod(r,e,0)),mkdir:(r,e=511)=>(e&=1023,e|=16384,Er.mknod(r,e,0)),mkdirTree(r,e){var t=r.split("/"),n="";for(var o of t)if(o){(n||J.isAbs(r))&&(n+="/"),n+=o;try{Er.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Er.mknod(r,e,t)),symlink(r,e){if(!Q.resolve(r))throw new Er.ErrnoError(44);var t=Er.lookupPath(e,{parent:!0}).node;if(!t)throw new Er.ErrnoError(44);var n=J.basename(e),o=Er.mayCreate(t,n);if(o)throw new Er.ErrnoError(o);if(!t.node_ops.symlink)throw new Er.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename(r,e){var t,n,o=J.dirname(r),a=J.dirname(e),i=J.basename(r),s=J.basename(e);if(t=Er.lookupPath(r,{parent:!0}).node,n=Er.lookupPath(e,{parent:!0}).node,!t||!n)throw new Er.ErrnoError(44);if(t.mount!==n.mount)throw new Er.ErrnoError(75);var c,u=Er.lookupNode(t,i),l=Q.relative(r,a);if("."!==l.charAt(0))throw new Er.ErrnoError(28);if("."!==(l=Q.relative(e,o)).charAt(0))throw new Er.ErrnoError(55);try{c=Er.lookupNode(n,s)}catch(r){}if(u!==c){var f=Er.isDir(u.mode),d=Er.mayDelete(t,i,f);if(d)throw new Er.ErrnoError(d);if(d=c?Er.mayDelete(n,s,f):Er.mayCreate(n,s))throw new Er.ErrnoError(d);if(!t.node_ops.rename)throw new Er.ErrnoError(63);if(Er.isMountpoint(u)||c&&Er.isMountpoint(c))throw new Er.ErrnoError(10);if(n!==t&&(d=Er.nodePermissions(t,"w")))throw new Er.ErrnoError(d);Er.hashRemoveNode(u);try{t.node_ops.rename(u,n,s),u.parent=n}catch(r){throw r}finally{Er.hashAddNode(u)}}},rmdir(r){var e=Er.lookupPath(r,{parent:!0}).node,t=J.basename(r),n=Er.lookupNode(e,t),o=Er.mayDelete(e,t,!0);if(o)throw new Er.ErrnoError(o);if(!e.node_ops.rmdir)throw new Er.ErrnoError(63);if(Er.isMountpoint(n))throw new Er.ErrnoError(10);e.node_ops.rmdir(e,t),Er.destroyNode(n)},readdir(r){var e=Er.lookupPath(r,{follow:!0}).node;return Er.checkOpExists(e.node_ops.readdir,54)(e)},unlink(r){var e=Er.lookupPath(r,{parent:!0}).node;if(!e)throw new Er.ErrnoError(44);var t=J.basename(r),n=Er.lookupNode(e,t),o=Er.mayDelete(e,t,!1);if(o)throw new Er.ErrnoError(o);if(!e.node_ops.unlink)throw new Er.ErrnoError(63);if(Er.isMountpoint(n))throw new Er.ErrnoError(10);e.node_ops.unlink(e,t),Er.destroyNode(n)},readlink(r){var e=Er.lookupPath(r).node;if(!e)throw new Er.ErrnoError(44);if(!e.node_ops.readlink)throw new Er.ErrnoError(28);return e.node_ops.readlink(e)},stat(r,e){var t=Er.lookupPath(r,{follow:!e}).node;return Er.checkOpExists(t.node_ops.getattr,63)(t)},fstat(r){var e=Er.getStreamChecked(r),t=e.node,n=e.stream_ops.getattr,o=n?e:t;return n??=t.node_ops.getattr,Er.checkOpExists(n,63),n(o)},lstat:r=>Er.stat(r,!0),doChmod(r,e,t,n){Er.doSetAttr(r,e,{mode:4095&t|-4096&e.mode,ctime:Date.now(),dontFollow:n})},chmod(r,e,t){var n;"string"==typeof r?n=Er.lookupPath(r,{follow:!t}).node:n=r;Er.doChmod(null,n,e,t)},lchmod(r,e){Er.chmod(r,e,!0)},fchmod(r,e){var t=Er.getStreamChecked(r);Er.doChmod(t,t.node,e,!1)},doChown(r,e,t){Er.doSetAttr(r,e,{timestamp:Date.now(),dontFollow:t})},chown(r,e,t,n){var o;"string"==typeof r?o=Er.lookupPath(r,{follow:!n}).node:o=r;Er.doChown(null,o,n)},lchown(r,e,t){Er.chown(r,e,t,!0)},fchown(r,e,t){var n=Er.getStreamChecked(r);Er.doChown(n,n.node,!1)},doTruncate(r,e,t){if(Er.isDir(e.mode))throw new Er.ErrnoError(31);if(!Er.isFile(e.mode))throw new Er.ErrnoError(28);var n=Er.nodePermissions(e,"w");if(n)throw new Er.ErrnoError(n);Er.doSetAttr(r,e,{size:t,timestamp:Date.now()})},truncate(r,e){if(e<0)throw new Er.ErrnoError(28);var t;"string"==typeof r?t=Er.lookupPath(r,{follow:!0}).node:t=r;Er.doTruncate(null,t,e)},ftruncate(r,e){var t=Er.getStreamChecked(r);if(e<0||0==(2097155&t.flags))throw new Er.ErrnoError(28);Er.doTruncate(t,t.node,e)},utime(r,e,t){var n=Er.lookupPath(r,{follow:!0}).node;Er.checkOpExists(n.node_ops.setattr,63)(n,{atime:e,mtime:t})},open(r,t,n=438){if(""===r)throw new Er.ErrnoError(44);var o,a;if(n=64&(t="string"==typeof t?(r=>{var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e})(t):t)?4095&n|32768:0,"object"==typeof r)o=r;else{a=r.endsWith("/");var i=Er.lookupPath(r,{follow:!(131072&t),noent_okay:!0});o=i.node,r=i.path}var s=!1;if(64&t)if(o){if(128&t)throw new Er.ErrnoError(20)}else{if(a)throw new Er.ErrnoError(31);o=Er.mknod(r,511|n,0),s=!0}if(!o)throw new Er.ErrnoError(44);if(Er.isChrdev(o.mode)&&(t&=-513),65536&t&&!Er.isDir(o.mode))throw new Er.ErrnoError(54);if(!s){var c=Er.mayOpen(o,t);if(c)throw new Er.ErrnoError(c)}512&t&&!s&&Er.truncate(o,0),t&=-131713;var u=Er.createStream({node:o,path:Er.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),s&&Er.chmod(o,511&n),!e.logReadFiles||1&t||r in Er.readFiles||(Er.readFiles[r]=1),u},close(r){if(Er.isClosed(r))throw new Er.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Er.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek(r,e,t){if(Er.isClosed(r))throw new Er.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Er.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Er.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read(r,e,t,n,o){if(n<0||o<0)throw new Er.ErrnoError(28);if(Er.isClosed(r))throw new Er.ErrnoError(8);if(1==(2097155&r.flags))throw new Er.ErrnoError(8);if(Er.isDir(r.node.mode))throw new Er.ErrnoError(31);if(!r.stream_ops.read)throw new Er.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Er.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write(r,e,t,n,o,a){if(n<0||o<0)throw new Er.ErrnoError(28);if(Er.isClosed(r))throw new Er.ErrnoError(8);if(0==(2097155&r.flags))throw new Er.ErrnoError(8);if(Er.isDir(r.node.mode))throw new Er.ErrnoError(31);if(!r.stream_ops.write)throw new Er.ErrnoError(28);r.seekable&&1024&r.flags&&Er.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Er.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},mmap(r,e,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new Er.ErrnoError(2);if(1==(2097155&r.flags))throw new Er.ErrnoError(2);if(!r.stream_ops.mmap)throw new Er.ErrnoError(43);if(!e)throw new Er.ErrnoError(28);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,ioctl(r,e,t){if(!r.stream_ops.ioctl)throw new Er.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile(r,e={}){e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding&&F(`Invalid encoding type "${e.encoding}"`);var t=Er.open(r,e.flags),n=Er.stat(r).size,o=new Uint8Array(n);return Er.read(t,o,0,n,0),"utf8"===e.encoding&&(o=Z(o)),Er.close(t),o},writeFile(r,e,t={}){t.flags=t.flags||577;var n=Er.open(r,t.flags,t.mode);"string"==typeof e&&(e=new Uint8Array(nr(e,!0))),ArrayBuffer.isView(e)?Er.write(n,e,0,e.byteLength,void 0,t.canOwn):F("Unsupported data type"),Er.close(n)},cwd:()=>Er.currentPath,chdir(r){var e=Er.lookupPath(r,{follow:!0});if(null===e.node)throw new Er.ErrnoError(44);if(!Er.isDir(e.node.mode))throw new Er.ErrnoError(54);var t=Er.nodePermissions(e.node,"x");if(t)throw new Er.ErrnoError(t);Er.currentPath=e.path},createDefaultDirectories(){Er.mkdir("/tmp"),Er.mkdir("/home"),Er.mkdir("/home/web_user")},createDefaultDevices(){Er.mkdir("/dev"),Er.registerDevice(Er.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n,llseek:()=>0}),Er.mkdev("/dev/null",Er.makedev(1,3)),or.register(Er.makedev(5,0),or.default_tty_ops),or.register(Er.makedev(6,0),or.default_tty1_ops),Er.mkdev("/dev/tty",Er.makedev(5,0)),Er.mkdev("/dev/tty1",Er.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(V(r),e=r.byteLength),r[--e]);Er.createDevice("/dev","random",t),Er.createDevice("/dev","urandom",t),Er.mkdir("/dev/shm"),Er.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Er.mkdir("/proc");var r=Er.mkdir("/proc/self");Er.mkdir("/proc/self/fd"),Er.mount({mount(){var e=Er.createNode(r,"fd",16895,73);return e.stream_ops={llseek:sr.stream_ops.llseek},e.node_ops={lookup(r,e){var t=+e,n=Er.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(Er.streams.entries()).filter((([r,e])=>e)).map((([r,e])=>r.toString()))},e}},{},"/proc/self/fd")},createStandardStreams(r,e,t){r?Er.createDevice("/dev","stdin",r):Er.symlink("/dev/tty","/dev/stdin"),e?Er.createDevice("/dev","stdout",null,e):Er.symlink("/dev/tty","/dev/stdout"),t?Er.createDevice("/dev","stderr",null,t):Er.symlink("/dev/tty1","/dev/stderr"),Er.open("/dev/stdin",0),Er.open("/dev/stdout",1),Er.open("/dev/stderr",1)},staticInit(){Er.nameTable=new Array(4096),Er.mount(sr,{},"/"),Er.createDefaultDirectories(),Er.createDefaultDevices(),Er.createSpecialDirectories(),Er.filesystems={MEMFS:sr,NODEFS:lr}},init(r,t,n){Er.initialized=!0,r??=e.stdin,t??=e.stdout,n??=e.stderr,Er.createStandardStreams(r,t,n)},quit(){for(var r of(Er.initialized=!1,Er.streams))r&&Er.close(r)},findObject(r,e){var t=Er.analyzePath(r,e);return t.exists?t.object:null},analyzePath(r,e){try{r=(n=Er.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Er.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=J.basename(r),n=Er.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath(r,e,t,n){r="string"==typeof r?r:Er.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=J.join2(r,a);try{Er.mkdir(i)}catch(r){if(20!=r.errno)throw r}r=i}}return i},createFile(r,e,t,n,o){var a=J.join2("string"==typeof r?r:Er.getPath(r),e),i=cr(n,o);return Er.create(a,i)},createDataFile(r,e,t,n,o,a){var i=e;r&&(r="string"==typeof r?r:Er.getPath(r),i=e?J.join2(r,e):r);var s=cr(n,o),c=Er.create(i,s);if(t){if("string"==typeof t){for(var u=new Array(t.length),l=0,f=t.length;l<f;++l)u[l]=t.charCodeAt(l);t=u}Er.chmod(c,146|s);var d=Er.open(c,577);Er.write(d,t,0,t.length,0,a),Er.close(d),Er.chmod(c,s)}},createDevice(r,e,t,n){var o=J.join2("string"==typeof r?r:Er.getPath(r),e),a=cr(!!t,!!n);Er.createDevice.major??=64;var i=Er.makedev(Er.createDevice.major++,0);return Er.registerDevice(i,{open(r){r.seekable=!1},close(r){n?.buffer?.length&&n(10)},read(r,e,n,o,a){for(var i=0,s=0;s<o;s++){var c;try{c=t()}catch(r){throw new Er.ErrnoError(29)}if(void 0===c&&0===i)throw new Er.ErrnoError(6);if(null==c)break;i++,e[n+s]=c}return i&&(r.node.atime=Date.now()),i},write(r,e,t,o,a){for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Er.ErrnoError(29)}return o&&(r.node.mtime=r.node.ctime=Date.now()),i}}),Er.mkdev(o,a,i)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if(globalThis.XMLHttpRequest)F("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{r.contents=a(r.url)}catch(r){throw new Er.ErrnoError(29)}},createLazyFile(r,e,t,n,o){class a{lengthKnown=!1;chunks=[];get(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}}setDataGetter(r){this.getter=r}cacheLength(){var r=new XMLHttpRequest;r.open("HEAD",t,!1),r.send(null),r.status>=200&&r.status<300||304===r.status||F("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;return o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{r>e&&F("invalid range ("+r+", "+e+") or no bytes requested!"),e>n-1&&F("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||F("Couldn't load "+t+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):nr(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r]&&F("doXHR failed!"),s.chunks[r]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){F("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new a}}else i={isDevice:!1,url:t};var s=Er.createFile(r,e,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var c={};for(const[r,e]of Object.entries(s.stream_ops))c[r]=(...r)=>(Er.forceLoadFile(s),e(...r));function u(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return c.read=(r,e,t,n,o)=>(Er.forceLoadFile(s),u(r,e,t,n,o)),c.mmap=(r,e,t,n,o)=>{Er.forceLoadFile(s);var a=ir(e);if(!a)throw new Er.ErrnoError(48);return u(r,h,a,e,t),{ptr:a,allocated:!0}},s.stream_ops=c,s}},yr={DEFAULT_POLLMASK:5,calculateAt(r,e,t){if(J.isAbs(e))return e;var n;-100===r?n=Er.cwd():n=yr.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Er.ErrnoError(44);return n}return n+"/"+e},writeStat(r,e){v[r>>2]=e.dev,v[r+4>>2]=e.mode,v[r+8>>2]=e.nlink,v[r+12>>2]=e.uid,v[r+16>>2]=e.gid,v[r+20>>2]=e.rdev,b[r+24>>3]=BigInt(e.size),p[r+32>>2]=4096,p[r+36>>2]=e.blocks;var t=e.atime.getTime(),n=e.mtime.getTime(),o=e.ctime.getTime();return b[r+40>>3]=BigInt(Math.floor(t/1e3)),v[r+48>>2]=t%1e3*1e3*1e3,b[r+56>>3]=BigInt(Math.floor(n/1e3)),v[r+64>>2]=n%1e3*1e3*1e3,b[r+72>>3]=BigInt(Math.floor(o/1e3)),v[r+80>>2]=o%1e3*1e3*1e3,b[r+88>>3]=BigInt(e.ino),0},writeStatFs(r,e){v[r+4>>2]=e.bsize,v[r+60>>2]=e.bsize,b[r+8>>3]=BigInt(e.blocks),b[r+16>>3]=BigInt(e.bfree),b[r+24>>3]=BigInt(e.bavail),b[r+32>>3]=BigInt(e.files),b[r+40>>3]=BigInt(e.ffree),v[r+48>>2]=e.fsid,v[r+64>>2]=e.flags,v[r+56>>2]=e.namelen},doMsync(r,e,t,n,o){if(!Er.isFile(e.node.mode))throw new Er.ErrnoError(43);if(2&n)return 0;var a=m.slice(r,r+t);Er.msync(e,a,o,t,n)},getStreamFromFD:r=>Er.getStreamChecked(r),varargs:void 0,getStr:r=>j(r)};var br=()=>{var r=p[+yr.varargs>>2];return yr.varargs+=4,r},gr=br;var _r=r=>r<-9007199254740992||r>9007199254740992?NaN:Number(r);var kr=(r,e,t)=>tr(r,m,e,t);var Sr=r=>v[r>>2]+4294967296*p[r+4>>2];var Or=0,Nr=[0,31,60,91,121,152,182,213,244,274,305,335],Dr=[0,31,59,90,120,151,181,212,243,273,304,334];var Fr=()=>performance.now(),Ar=()=>Date.now();var Tr=r=>{var e=(r-Hr.buffer.byteLength+65535)/65536|0;try{return Hr.grow(e),D(),1}catch(r){}},Pr={},Rr=()=>{if(!Rr.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:i||"./this.program"};for(var e in Pr)void 0===Pr[e]?delete r[e]:r[e]=Pr[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Rr.strings=t}return Rr.strings},Mr=r=>{x||Or>0||(e.onExit?.(r),S=!0),n(r,new P(r))},Lr=(r,e)=>{Mr(r)};var Br,Ir,xr,Cr,zr,qr,Ur,jr,Wr,Gr,Hr,Kr,Xr=r=>e["_"+r],$r=(r,e)=>{h.set(r,e)},Yr=r=>zr(r),Jr=(r,e,t,n,o)=>{var a={string:r=>{var e=0;return null!=r&&0!==r&&(e=(r=>{var e=er(r)+1,t=Yr(e);return kr(r,t,e),t})(r)),e},array:r=>{var e=Yr(r.length);return $r(r,e),e}};var i=Xr(r),s=[],c=0;if(n)for(var u=0;u<n.length;u++){var l=a[t[u]];l?(0===c&&(c=z()),s[u]=l(n[u])):s[u]=n[u]}var f=i(...s);return f=function(r){return 0!==c&&C(c),function(r){return"string"===e?j(r):"boolean"===e?Boolean(r):r}(r)}(f)};if(Er.createPreloadedFile=(r,e,t,n,o,a,i,s,c,u)=>{vr(r,e,t,n,o,s,c,u).then(a).catch(i)},Er.preloadFile=vr,Er.staticInit(),lr.staticInit(),e.noExitRuntime&&(x=e.noExitRuntime),e.preloadPlugins&&(pr=e.preloadPlugins),e.print&&(_=e.print),e.printErr&&(k=e.printErr),e.wasmBinary&&(l=e.wasmBinary),e.arguments&&e.arguments,e.thisProgram&&(i=e.thisProgram),e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.shift()();e.stackAlloc=Yr,e.addRunDependency=wr,e.removeRunDependency=mr,e.cwrap=(r,e,t,n)=>{var o=!t||t.every((r=>"number"===r||"boolean"===r));return"string"!==e&&o&&!n?Xr(r):(...n)=>Jr(r,e,t,n)},e.setValue=function(r,e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":h[r]=e;break;case"i16":w[r>>1]=e;break;case"i32":p[r>>2]=e;break;case"i64":b[r>>3]=BigInt(e);break;case"float":E[r>>2]=e;break;case"double":y[r>>3]=e;break;case"*":v[r>>2]=e;break;default:F(`invalid type for setValue: ${t}`)}},e.getValue=function(r,e="i8"){switch(e.endsWith("*")&&(e="*"),e){case"i1":case"i8":return h[r];case"i16":return w[r>>1];case"i32":return p[r>>2];case"i64":return b[r>>3];case"float":return E[r>>2];case"double":return y[r>>3];case"*":return v[r>>2];default:F(`invalid type for getValue: ${e}`)}},e.UTF8ToString=j,e.stringToUTF8=kr,e.lengthBytesUTF8=er,e.writeArrayToMemory=$r,e.FS_preloadFile=vr,e.FS_unlink=(...r)=>Er.unlink(...r),e.FS_createPath=(...r)=>Er.createPath(...r),e.FS_createDevice=(...r)=>Er.createDevice(...r),e.FS_createDataFile=fr,e.FS_createLazyFile=(...r)=>Er.createLazyFile(...r);var Vr,Qr={z:(r,e,t,n)=>F(`Assertion failed: ${j(r)}, at: `+[e?j(e):"unknown filename",t,n?j(n):"unknown function"]),kb:(r,e)=>W(r)(e),n:r=>{var e=new X(r);return e.get_caught()||(e.set_caught(!0),H--),e.set_rethrown(!1),G.push(e),jr(r),Gr(r)},y:()=>{Ir(0,0);var r=G.pop();Ur(r.excPtr),K=0},a:()=>Y([]),h:r=>Y([r]),r:(r,e)=>Y([r,e]),ca:(r,e,t)=>Y([r,e,t]),za:()=>{var r=G.pop();r||F("no exception to throw");var e=r.excPtr;throw r.get_rethrown()||(G.push(r),r.set_rethrown(!0),r.set_caught(!1),H++),K=e},s:(r,e,t)=>{throw new X(r).init(e,t),H++,K=r},cb:()=>H,e:r=>{throw K||(K=r),K},Ha:function(r,e){try{return r=yr.getStr(r),Er.chmod(r,e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ka:function(r,e,t,n){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),-8&t)return-28;var o=Er.lookupPath(e,{follow:!0}).node;if(!o)return-44;var a="";return 4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&Er.nodePermissions(o,a)?-2:0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ia:function(r,e){try{return Er.fchmod(r,e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ga:function(r,e,t){try{return Er.fchown(r,e,t),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},O:function(r,e,t){yr.varargs=t;try{var n=yr.getStreamFromFD(r);switch(e){case 0:if((o=br())<0)return-28;for(;Er.streams[o];)o++;return Er.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=br();return n.flags|=o,0;case 12:o=gr();return w[o+0>>1]=2,0}return-28}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Bb:function(r,e){try{return yr.writeStat(e,Er.fstat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},wb:function(r,e){e=_r(e);try{return isNaN(e)?-61:(Er.ftruncate(r,e),0)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},vb:function(r,e){try{if(0===e)return-28;var t=Er.cwd(),n=er(t)+1;return e<n?-68:(kr(t,r,e),n)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},jb:function(r,e,t){try{var n=yr.getStreamFromFD(r);n.getdents||=Er.readdir(n.path);for(var o=280,a=0,i=Er.llseek(n,0,1),s=Math.floor(i/o),c=Math.min(n.getdents.length,s+Math.floor(t/o)),u=s;u<c;u++){var l,f,d=n.getdents[u];if("."===d)l=n.node.id,f=4;else if(".."===d){l=Er.lookupPath(n.path,{parent:!0}).node.id,f=4}else{var m;try{m=Er.lookupNode(n.node,d)}catch(r){if(28===r?.errno)continue;throw r}l=m.id,f=Er.isChrdev(m.mode)?2:Er.isDir(m.mode)?4:Er.isLink(m.mode)?10:8}b[e+a>>3]=BigInt(l),b[e+a+8>>3]=BigInt((u+1)*o),w[e+a+16>>1]=280,h[e+a+18]=f,kr(d,e+a+19,256),a+=o}return Er.llseek(n,u*o,0),a}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Cb:function(r,e,t){yr.varargs=t;try{var n=yr.getStreamFromFD(r);switch(e){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=gr();p[a>>2]=o.c_iflag||0,p[a+4>>2]=o.c_oflag||0,p[a+8>>2]=o.c_cflag||0,p[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)h[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=gr();var s=p[a>>2],c=p[a+4>>2],u=p[a+8>>2],l=p[a+12>>2],f=[];for(i=0;i<32;i++)f.push(h[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,e,{c_iflag:s,c_oflag:c,c_cflag:u,c_lflag:l,c_cc:f})}return 0;case 21519:if(!n.tty)return-59;a=gr();return p[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=gr();return Er.ioctl(n,e,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=gr();w[a>>1]=d[0],w[a+2>>1]=d[1]}return 0;default:return-28}}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},yb:function(r,e){try{return r=yr.getStr(r),yr.writeStat(e,Er.lstat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},rb:function(r,e,t){try{return e=yr.getStr(e),e=yr.calculateAt(r,e),Er.mkdir(e,t,0),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},zb:function(r,e,t,n){try{e=yr.getStr(e);var o=256&n,a=4096&n;return n&=-6401,e=yr.calculateAt(r,e,a),yr.writeStat(t,o?Er.lstat(e):Er.stat(e))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Fa:function(r,e,t,n){yr.varargs=n;try{e=yr.getStr(e),e=yr.calculateAt(r,e);var o=n?br():0;return Er.open(e,t,o).fd}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},ib:function(r,e,t,n){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),n<=0)return-28;var o=Er.readlink(e),a=Math.min(n,er(o)),i=h[t+a];return kr(o,t,n+1),h[t+a]=i,a}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},hb:function(r){try{return r=yr.getStr(r),Er.rmdir(r),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ab:function(r,e){try{return r=yr.getStr(r),yr.writeStat(e,Er.stat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},fb:function(r,e,t){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),t){if(512!==t)return-28;Er.rmdir(e)}else Er.unlink(e);return 0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},eb:function(r,e,t,n){try{e=yr.getStr(e),e=yr.calculateAt(r,e,!0);var o,a,i=Date.now();if(t){var s=Sr(t),c=p[t+8>>2];o=1073741823==c?i:1073741822==c?null:1e3*s+c/1e6,s=Sr(t+=16),a=1073741823==(c=p[t+8>>2])?i:1073741822==c?null:1e3*s+c/1e6}else o=i,a=i;return null!==(a??o)&&Er.utime(e,o,a),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},La:()=>F(""),Ma:r=>{do{var e=v[r>>2],t=v[(r+=4)>>2],n=v[(r+=4)>>2];r+=4;var o=j(e);Er.createPath("/",J.dirname(o),!0,!0),Er.createDataFile(o,null,h.subarray(n,n+t),!0,!0,!0)}while(v[r>>2])},mb:()=>{x=!1,Or=0},pb:function(r,e){r=_r(r);var t=new Date(1e3*r);p[e>>2]=t.getSeconds(),p[e+4>>2]=t.getMinutes(),p[e+8>>2]=t.getHours(),p[e+12>>2]=t.getDate(),p[e+16>>2]=t.getMonth(),p[e+20>>2]=t.getFullYear()-1900,p[e+24>>2]=t.getDay();var n=0|(r=>{var e;return((e=r.getFullYear())%4!=0||e%100==0&&e%400!=0?Dr:Nr)[r.getMonth()]+r.getDate()-1})(t);p[e+28>>2]=n,p[e+36>>2]=-60*t.getTimezoneOffset();var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));p[e+32>>2]=s},nb:function(r,e,t,n,o,a,i){o=_r(o);try{var s=yr.getStreamFromFD(n),c=Er.mmap(s,r,o,e,t),u=c.ptr;return p[a>>2]=c.allocated,v[i>>2]=u,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},ob:function(r,e,t,n,o,a){a=_r(a);try{var i=yr.getStreamFromFD(o);2&t&&yr.doMsync(r,i,e,n,a)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},qb:(r,e,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);v[r>>2]=60*u,p[e>>2]=Number(s!=c);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},f=l(s),d=l(c);c<s?(kr(f,t,17),kr(d,n,17)):(kr(f,n,17),kr(d,t,17))},Ja:function(r,e,t){if(!((n=r)>=0&&n<=3))return 28;var n,o;o=0===r?Ar():Fr();var a=Math.round(1e3*o*1e3);return b[t>>3]=BigInt(a),0},la:Ar,gb:()=>2147483648,Ca:Fr,db:r=>{var e=m.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n=1;n<=4;n*=2){var o=e*(1+.2/n);o=Math.min(o,r+100663296);var a=Math.min(t,ar(Math.max(r,o),65536));if(Tr(a))return!0}return!1},tb:(r,e)=>{var t=0,n=0;for(var o of Rr()){var a=e+t;v[r+n>>2]=a,t+=kr(o,a,1/0)+1,n+=4}return 0},ub:(r,e)=>{var t=Rr();v[r>>2]=t.length;var n=0;for(var o of t)n+=er(o)+1;return v[e>>2]=n,0},Y:Lr,U:function(r){try{var e=yr.getStreamFromFD(r);return Er.close(e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},Da:function(r,e){try{var t=yr.getStreamFromFD(r),n=t.tty?2:Er.isDir(t.mode)?3:Er.isLink(t.mode)?7:4;return h[e]=n,w[e+2>>1]=0,b[e+8>>3]=BigInt(0),b[e+16>>3]=BigInt(0),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},Ea:function(r,e,t,n){try{var o=((r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[e>>2],s=v[e+4>>2];e+=8;var c=Er.read(r,h,i,s,n);if(c<0)return-1;if(o+=c,c<s)break;void 0!==n&&(n+=c)}return o})(yr.getStreamFromFD(r),e,t);return v[n>>2]=o,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},sb:function(r,e,t,n){e=_r(e);try{if(isNaN(e))return 61;var o=yr.getStreamFromFD(r);return Er.llseek(o,e,t),b[n>>3]=BigInt(o.position),o.getdents&&0===e&&0===t&&(o.getdents=null),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},xb:function(r){try{var e=yr.getStreamFromFD(r);return e.stream_ops?.fsync?e.stream_ops.fsync(e):0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},ka:function(r,e,t,n){try{var o=((r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[e>>2],s=v[e+4>>2];e+=8;var c=Er.write(r,h,i,s,n);if(c<0)return-1;if(o+=c,c<s)break;void 0!==n&&(n+=c)}return o})(yr.getStreamFromFD(r),e,t);return v[n>>2]=o,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},q:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},ab:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},ya:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},A:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},ha:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},I:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Ba:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},D:function(r){var e=z();try{return W(r)()}catch(r){if(C(e),r!==r+0)throw r;Ir(1,0)}},_:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},c:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},t:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},Wa:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Xa:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},u:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},b:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},K:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},$:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v){var E=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v)}catch(r){if(C(E),r!==r+0)throw r;Ir(1,0)}},aa:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},Ya:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},E:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},g:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},ia:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Za:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},m:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},$a:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Ra:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},w:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},J:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},W:function(r,e,t,n,o,a,i,s){var c=z();try{return W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},Q:function(r,e,t,n,o,a,i,s,c){var u=z();try{return W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},fa:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{return W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},da:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},Z:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},ua:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},Qa:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m){var w=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m)}catch(r){if(C(w),r!==r+0)throw r;Ir(1,0)}},qa:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v){var E=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v)}catch(r){if(C(E),r!==r+0)throw r;Ir(1,0)}},oa:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},F:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Na:function(r,e,t,n,o,a,i,s,c){var u=z();try{return W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},na:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{return W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},V:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},N:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},X:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;return Ir(1,0),0n}},H:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;return Ir(1,0),0n}},Oa:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;return Ir(1,0),0n}},ja:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;return Ir(1,0),0n}},i:function(r){var e=z();try{W(r)()}catch(r){if(C(e),r!==r+0)throw r;Ir(1,0)}},l:function(r,e){var t=z();try{W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},M:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},P:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ba:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},wa:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},x:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},f:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},v:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Pa:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Sa:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},L:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},ra:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Aa:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},d:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},R:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},xa:function(r,e,t,n,o,a,i,s){var c=z();try{W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},_a:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},j:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Ua:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},ea:function(r,e,t,n,o,a,i,s,c){var u=z();try{W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},Ta:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},k:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Va:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v,E,y,b,g){var _=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v,E,y,b,g)}catch(r){if(C(_),r!==r+0)throw r;Ir(1,0)}},ta:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h){var m=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h)}catch(r){if(C(m),r!==r+0)throw r;Ir(1,0)}},sa:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},p:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},B:function(r,e,t,n,o,a,i,s){var c=z();try{W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},G:function(r,e,t,n,o,a,i,s,c){var u=z();try{W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},C:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},S:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},va:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m){var w=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m)}catch(r){if(C(w),r!==r+0)throw r;Ir(1,0)}},T:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w){var p=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w)}catch(r){if(C(p),r!==r+0)throw r;Ir(1,0)}},pa:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ma:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ga:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},o:r=>r,lb:Mr,bb:function(r,e){try{return V(m.subarray(r,r+e)),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}}};return Vr=function(){function r(r,t){return function(r){e._sqlite3_prepare_v2=r.Fb,e._sqlite3_step=r.Gb,e._sqlite3_reset=r.Hb,e._sqlite3_exec=r.Ib,e._sqlite3_finalize=r.Jb,e._sqlite3_column_name=r.Kb,e._sqlite3_column_text=r.Lb,e._sqlite3_column_type=r.Mb,e._sqlite3_errmsg=r.Nb,e._sqlite3_backup_init=r.Ob,e._sqlite3_backup_step=r.Pb,e._sqlite3_backup_finish=r.Qb,e._sqlite3_clear_bindings=r.Rb,e._sqlite3_column_count=r.Sb,e._sqlite3_column_blob=r.Tb,e._sqlite3_column_bytes=r.Ub,e._sqlite3_column_double=r.Vb,e._sqlite3_bind_blob=r.Wb,e._sqlite3_bind_double=r.Xb,e._sqlite3_bind_int=r.Yb,e._sqlite3_bind_null=r.Zb,e._sqlite3_bind_text=r._b,e._sqlite3_bind_parameter_count=r.$b,e._sqlite3_bind_parameter_index=r.ac,e._sqlite3_close_v2=r.bc,e._sqlite3_errcode=r.cc,e._sqlite3_open=r.dc,e._gaiaOutBufferReset=r.ec,e._gaiaOutGeoJSON=r.fc,e._spatialite_init_ex=r.gc,e._spatialite_cleanup_ex=r.hc,e._spatialite_alloc_connection=r.ic,e._spatialite_shutdown=r.jc,e._sqlite3_stats_init=r.kc,e._initGaiaOutBuffer=r.lc,e._malloc=r.mc,e._free=r.nc,e._freeGaiaOutBuffer=r.pc,e._gaiaToJSON=r.qc,e._isGaia=r.rc,Br=r.sc,Ir=r.tc,xr=r.uc,Cr=r.vc,zr=r.wc,qr=r.xc,Ur=r.yc,jr=r.zc,Wr=r.Ac,Gr=r.Bc,Hr=r.Db,Kr=r.oc}(Vr=r.exports),D(),Vr}var t={a:Qr};return e.instantiateWasm?new Promise(((n,o)=>{e.instantiateWasm(t,((e,t)=>{n(r(e))}))})):(g??=A(),r(T(g,t)[0]))}(),function r(){function t(){e.calledRun=!0,S||(N=!0,e.noFSInit||Er.initialized||Er.init(),Vr.Eb(),Er.ignorePermissions=!1,f?.(e),e.onRuntimeInitialized?.(),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)L(e.postRun.shift());R(M)}())}dr>0?hr=r:(!function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)I(e.preRun.shift());R(B)}(),dr>0?hr=r:e.setStatus?(e.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>e.setStatus("")),1),t()}),1)):t())}(),N?e:new Promise(((r,e)=>{f=r,d=e}))}const e=function(r=[],t=[]){if(!new.target)return Object.freeze(new e(r,t));Object.defineProperty(this,"first",{get:()=>t[0]&&1==t[0].length?t[0][0]:t[0]}),Object.defineProperty(this,"flat",{get:()=>t.flat()}),Object.defineProperty(this,"cols",{get:()=>r.slice()}),Object.defineProperty(this,"rows",{get:()=>t.slice()}),Object.defineProperty(this,"objs",{get:()=>t.map((e=>(e=>r.reduce(((r,t,n)=>(r[t]=e[n],r)),{}))(e)))}),this.free=()=>{r=[],t=[]}};const t=Object.freeze({OK:0,ROW:100,DONE:101,INTEGER:1,FLOAT:2,TEXT:3,BLOB:4,NULL:5});var n=(n={})=>async function(n=null,o={}){const a={},i=n?{wasmBinary:n,locateFile:()=>""}:{},s=await r(i),c={autoJSON:!0,autoGeoJSON:{precision:6,options:0},...o||{}},{getValue:u,setValue:l,stackAlloc:f,stringToUTF8:d,UTF8ToString:h,lengthBytesUTF8:m,writeArrayToMemory:w,_free:p,_malloc:v,FS:E,NODEFS:y,WORKERFS:b,MEMFS:g,ENVIRONMENT_IS_NODE:_}=s,k=s.cwrap("spatialite_alloc_connection","number",["number"]),S=s.cwrap("spatialite_init_ex","number",["number","number"]),O=s.cwrap("spatialite_cleanup_ex","number",["number"]),N=s.cwrap("spatialite_shutdown","void",["void"]),D=s.cwrap("sqlite3_stats_init","number",["number","number","number"]),F=s.cwrap("sqlite3_open","number",["string","number"]),A=s.cwrap("sqlite3_close_v2","number",["number"]),T=s.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]),P=s.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]),R=s.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]),M=s.cwrap("sqlite3_bind_double","number",["number","number","number"]),L=s.cwrap("sqlite3_bind_int","number",["number","number","number"]),B=s.cwrap("sqlite3_bind_null","number",["number","number"]),I=s.cwrap("sqlite3_bind_parameter_index","number",["number","string"]),x=s.cwrap("sqlite3_step","number",["number"]),C=s.cwrap("sqlite3_errmsg","string",["number"]),z=s.cwrap("sqlite3_column_count","number",["number"]),q=s.cwrap("sqlite3_column_double","number",["number","number"]),U=s.cwrap("sqlite3_column_text","string",["number","number"]),j=s.cwrap("sqlite3_column_blob","number",["number","number"]),W=s.cwrap("sqlite3_column_bytes","number",["number","number"]),G=s.cwrap("sqlite3_column_type","number",["number","number"]),H=s.cwrap("sqlite3_column_name","string",["number","number"]),K=s.cwrap("sqlite3_reset","number",["number"]),X=s.cwrap("sqlite3_clear_bindings","number",["number"]),$=s.cwrap("sqlite3_finalize","number",["number"]),Y=s.cwrap("sqlite3_bind_parameter_count","number",["number"]),J=s.cwrap("sqlite3_exec","number",["number","number","number","number","number"]),V=s.cwrap("sqlite3_backup_init","number",["number","string","number","string"]),Q=s.cwrap("sqlite3_backup_step","number",["number","number"]),Z=s.cwrap("sqlite3_backup_finish","number",["number"]),rr=s.cwrap("sqlite3_errcode","number",["number"]),er=s.cwrap("initGaiaOutBuffer","void",["number"]),tr=s.cwrap("freeGaiaOutBuffer","void",["number"]),nr=s.cwrap("gaiaToJSON","number",["number","number","number","number","number"]),or=s.cwrap("isGaia","number",["number","number"]),ar=s.cwrap("gaiaOutBufferReset","void",["number"]);return a.db=function(r){if(!new.target)return Object.freeze(new a.db(r,o));const n=this;let i=e(),y=0,b=0,g=0,_="";const ir=f(4);er(ir);const sr=u(ir,"i32"),cr=()=>`mem-${Math.round(Number.MAX_SAFE_INTEGER*Math.random())}.db`,ur=(r,e,t,n)=>{let o=null,a=nr(sr,r,e,t,n);return a&&(o=JSON.parse(h(a))),ar(sr),o},lr=r=>!!r&&"object"==typeof r&&Object.keys(r).length&&Object.keys(r).every((r=>r.startsWith(":")||r.startsWith("$")||r.startsWith("@"))),fr=r=>r.startsWith('"')&&r.endsWith('"')||"null"===r||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"),dr=r=>{r.forEach((r=>p(r))),r.length=0};let hr;if(Object.defineProperty(this,"get",{get:()=>i}),this.close=()=>{if(!b||!g)throw new Error("Database closed");const r=A(b);if(g&&(O(g),N()),sr&&tr(sr),r!==t.OK)throw new Error(C(b));return b=0,g=0,a},this.attach=(r,e)=>this.exec("attach ? as ?",[r,e]),this.detach=r=>this.exec("detach ?",[r]),this.read=r=>{if(!b||!g)throw new Error("Database closed");const e=m(r)+1,o=v(e);if(!o)throw new Error("Unable to allocate memory");if(d(r,o,e),J(b,o)!==t.OK)throw p(o),new Error(C(b));return p(o),n},this.save=r=>{if(!b||!g)throw new Error("Database closed");const e=r||"/tmp/"+cr(),o=f(4);let a=F(e,o);const i=u(o,"i32");if(a==t.OK){const r=V(i,"main",b,"main");r&&(Q(r,-1),Z(r)),a=rr(i)}if(a!=t.OK)throw new Error(C(i));if(A(i),r)return n;{const r=E.readFile(e,{encoding:"binary"}).buffer;return E.unlink(e),r}},this.load=r=>{if(!b||!g)throw new Error("Database closed");const e=f(4);let o=F(r,e);const a=u(e,"i32");if(o==t.OK){const r=V(b,"main",a,"main");r&&(Q(r,-1),Z(r)),o=rr(b)}if(o!=t.OK)throw new Error(C(b));return A(a),n},this.exec=(r,o)=>{if(!b||!g)throw new Error("Database closed");let a,f=[];const h=[];l(y,0,"i32");const E=m(r)+1,_=v(E);if(d(r,_,E),a=T(b,_,-1,y,0),a!==t.OK)throw new Error(C(b));const k=u(y,"i32");if(!k)throw new Error(C(b));const S=z(k),O=[];for(let r=0;r<S;r++){let e=H(k,r),t=1,n=e;for(;O.some((r=>r===n));)n=e+t,t++;O.push(n)}const N=Y(k);let D=[];if(null!=o&&N>0)if(Array.isArray(o)){const r=o.some((r=>Array.isArray(r)||lr(r)));D=o.length!==N||r?r?o:o.map((r=>[r])):[o]}else D=lr(o)?[o]:[[o]];let F=0;do{const r=D[F];for(null!=r&&Object.keys(r).forEach((e=>{let n=+e+1;if(n||(n=I(k,e))){let o,a,i;const s=r[e];switch(typeof s){case"string":if(i=m(s)+1,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");d(s,a,i),f.push(a),o=P(k,n,a,i-1,0);break;case"boolean":o=L(k,n,+s);break;case"number":o=Number.isInteger(s)?L(k,n,s):M(k,n,s);break;case"object":if(s instanceof ArrayBuffer){if(i=s.byteLength,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");w(new Uint8Array(s),a),f.push(a),o=R(k,n,a,i,0)}else if(s&&c.autoJSON){const r=JSON.stringify(s);if(i=m(r)+1,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");d(r,a,i),f.push(a),o=P(k,n,a,i,0)}else o=B(k,n);break;default:o=B(k,n)}if(o!==t.OK)throw $(k),dr(f),new Error(C(b))}}));(a=x(k))===t.ROW;){const r=[];for(let e=0;e<S;e++){let n;switch(G(k,e)){case t.INTEGER:case t.FLOAT:n=q(k,e);break;case t.TEXT:let r=U(k,e);if(c.autoJSON&&fr(r))try{n=JSON.parse(r)}catch(e){n=r}else n=r;break;case t.BLOB:const o=W(k,e),a=j(k,e);n=c.autoGeoJSON&&or(a,o)?ur(a,o,c.autoGeoJSON.precision,c.autoGeoJSON.options):s.HEAP8.buffer.slice(a,a+o);break;default:n=null}r[e]=n}h.push(r)}if(dr(f),K(k),X(k),a!==t.DONE)throw $(k),new Error(C(b));F++}while(F<D.length);return $(k),p(_),i=e(O,h),n},r instanceof ArrayBuffer)_=":memory:",hr=cr(),E.createDataFile("/tmp",hr,new Uint8Array(r),!0,!0);else{if("string"!=typeof r&&r)throw new Error("Expected nothing, string or ArrayBuffer");_=r}y=f(4);const mr=F(_||":memory:",y);if(b=u(y,"i32"),mr!==t.OK)throw new Error(C(b));g=k(),S(b,g,!1),D(b,0,0),hr&&(this.load("/tmp/"+hr),E.unlink("/tmp/"+hr)),this.read("SELECT PROJ_SetDatabasePath('/proj_min.db');")},a.version=()=>{const r=a.db();r.exec("select\n spatialite_version() spatialite,\n sqlite_version() sqlite,\n geos_version() geos,\n proj_version() proj,\n rttopo_version() rttopo,\n '1.0.0-rc.1' spl");const e=r.get.objs[0];return r.close(),e},a.fs={},a.fs.mount=(r,e="root",t=[])=>{const n="root"==e||"."==e||"/"===e||!e;try{if(E.mkdir(n?"root":e),_)E.mount(y,{root:r},n?"root":e);else{const r=t.reduce(((r,e)=>{const{name:t,data:n}=e;if(n instanceof Blob)r.blobs.push({name:t,data:n});else if(n instanceof File)r.files.push(n);else if(n instanceof FileList)for(let e=0;e<n.length;e++)r.files.push(n.item(e));else n instanceof ArrayBuffer?r.blobs.push({name:t,data:new Blob([n])}):"string"==typeof n&&r.blobs.push({name:t,data:new URL(n).toString()});return r}),{files:[],blobs:[]});(r.files.length||r.blobs.length)&&E.mount(b,r,n?"root":e)}n&&E.chdir("root")}catch(r){throw new Error(r.message)}return a},a.fs.unmount=r=>{try{E.unmount(r)}catch(r){throw new Error(r.message)}return a},n&&(a.fs.file=r=>{try{return E.readFile(r,{encoding:"binary"}).buffer}catch(r){throw new Error(r.message||r.toString()||"fs.file failed")}},a.fs.dir=r=>{try{return E.readdir(r).filter((r=>"."!==r&&".."!==r))}catch(r){throw new Error(r.message||r.toString()||"fs.dir failed")}},a.fs.unlink=r=>{try{E.unlink(r)}catch(r){throw new Error(r.message||r.toString()||"fs.unlink failed")}return a},a.fs.mkdir=r=>{try{E.mkdir(r)}catch(r){throw new Error(r.message||r.toString()||"fs.mkdir failed")}return a}),Object.freeze(a)}(null,n);export{n as default};
|
|
1
|
+
async function r(r={}){var e=r;{const{createRequire:r}=await import("module");var t=r(import.meta.url)}e.preRun=function(){void 0!==Pr&&(Pr.PROJ_LIB="/proj",Pr.SPATIALITE_SECURITY="relaxed"),e.FS=Er,e.NODEFS=void 0!==lr?lr:null,e.MEMFS=sr,e.WORKERFS="undefined"!=typeof WORKERFS?WORKERFS:null,e.ENVIRONMENT_IS_NODE=true};var n,o,a,i="./this.program",s=import.meta.url,c="";var u=t("fs");s.startsWith("file:")&&(c=t("path").dirname(t("url").fileURLToPath(s))+"/"),a=r=>(r=O(r)?new URL(r):r,u.readFileSync(r)),o=async(r,e=!0)=>(r=O(r)?new URL(r):r,u.readFileSync(r,e?void 0:"utf8")),process.argv.length>1&&(i=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n=(r,e)=>{throw process.exitCode=r,e};var l,f,d,h,m,w,p,v,E,y,b,g,_=console.log.bind(console),k=console.error.bind(console),S=!1,O=r=>r.startsWith("file://"),N=!1;function D(){var r=Hr.buffer;e.HEAP8=h=new Int8Array(r),w=new Int16Array(r),m=new Uint8Array(r),p=new Int32Array(r),v=new Uint32Array(r),E=new Float32Array(r),y=new Float64Array(r),b=new BigInt64Array(r),new BigUint64Array(r)}function F(r){e.onAbort?.(r),k(r="Aborted("+r+")"),S=!0,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw d?.(t),t}function A(){return e.locateFile?(r="index.wasm",e.locateFile?e.locateFile(r,c):c+r):new URL("index.wasm",import.meta.url).href;var r}function T(r,e){var t,n=function(r){if(r==g&&l)return new Uint8Array(l);if(a)return a(r);throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}(r);return t=new WebAssembly.Module(n),[new WebAssembly.Instance(t,e),t]}class P{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var R=r=>{for(;r.length>0;)r.shift()(e)},M=[],L=r=>M.push(r),B=[],I=r=>B.push(r);var x=!0;var C=r=>Cr(r),z=()=>qr(),q=new TextDecoder,U=(r,e,t,n)=>{var o=e+t;if(n)return o;for(;r[e]&&!(e>=o);)++e;return e},j=(r,e,t)=>{if(!r)return"";var n=U(m,r,e,t);return q.decode(m.subarray(r,n))},W=r=>Kr.get(r),G=[],H=0,K=0;class X{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){v[this.ptr+4>>2]=r}get_type(){return v[this.ptr+4>>2]}set_destructor(r){v[this.ptr+8>>2]=r}get_destructor(){return v[this.ptr+8>>2]}set_caught(r){r=r?1:0,h[this.ptr+12]=r}get_caught(){return 0!=h[this.ptr+12]}set_rethrown(r){r=r?1:0,h[this.ptr+13]=r}get_rethrown(){return 0!=h[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){v[this.ptr+16>>2]=r}get_adjusted_ptr(){return v[this.ptr+16>>2]}}var $=r=>xr(r),Y=r=>{var e=K;if(!e)return $(0),0;var t=new X(e);t.set_adjusted_ptr(e);var n=t.get_type();if(!n)return $(0),e;for(var o of r){if(0===o||o===n)break;var a=t.ptr+16;if(Wr(o,n,a))return $(o),e}return $(n),e},J={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=J.isAbs(r),t="/"===r.slice(-1);return(r=J.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=J.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:r=>r&&r.match(/([^\/]+|\/)\/*$/)[1],join:(...r)=>J.normalize(r.join("/")),join2:(r,e)=>J.normalize(r+"/"+e)},V=r=>{var e;(e=t("crypto"),V=r=>e.randomFillSync(r))(r)},Q={resolve:(...r)=>{for(var e="",t=!1,n=r.length-1;n>=-1&&!t;n--){var o=n>=0?r[n]:Er.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=J.isAbs(o)}return(t?"/":"")+(e=J.normalizeArray(e.split("/").filter((r=>!!r)),!t).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Q.resolve(r).slice(1),e=Q.resolve(e).slice(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var c=[];for(s=i;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(i))).join("/")}},Z=(r,e=0,t,n)=>{var o=U(r,e,t,n);return q.decode(r.buffer?r.subarray(e,o):new Uint8Array(r.slice(e,o)))},rr=[],er=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},tr=(r,e,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.codePointAt(i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s,i++}}return e[t]=0,t-o},nr=(r,e,t)=>{var n=t>0?t:er(r)+1,o=new Array(n),a=tr(r,o,0,o.length);return e&&(o.length=a),o},or={ttys:[],init(){},shutdown(){},register(r,e){or.ttys[r]={input:[],output:[],ops:e},Er.registerDevice(r,or.stream_ops)},stream_ops:{open(r){var e=or.ttys[r.node.rdev];if(!e)throw new Er.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Er.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Er.ErrnoError(29)}if(void 0===s&&0===a)throw new Er.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.atime=Date.now()),a},write(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Er.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Er.ErrnoError(29)}return n&&(r.node.mtime=r.node.ctime=Date.now()),a}},default_tty_ops:{get_char:r=>(()=>{if(!rr.length){var r=null,e=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=u.readSync(n,e,0,256)}catch(r){if(!r.toString().includes("EOF"))throw r;t=0}if(t>0&&(r=e.slice(0,t).toString("utf-8")),!r)return null;rr=nr(r,!0)}return rr.shift()})(),put_char(r,e){null===e||10===e?(_(Z(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(_(Z(r.output)),r.output=[])},ioctl_tcgets:r=>({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:(r,e,t)=>0,ioctl_tiocgwinsz:r=>[24,80]},default_tty1_ops:{put_char(r,e){null===e||10===e?(k(Z(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(k(Z(r.output)),r.output=[])}}},ar=(r,e)=>Math.ceil(r/e)*e,ir=r=>{r=ar(r,65536);var e=Br(65536,r);return e&&((r,e)=>{m.fill(0,r,r+e)})(e,r),e},sr={ops_table:null,mount:r=>sr.createNode(null,"/",16895,0),createNode(r,e,t,n){if(Er.isBlkdev(t)||Er.isFIFO(t))throw new Er.ErrnoError(63);sr.ops_table||={dir:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr,lookup:sr.node_ops.lookup,mknod:sr.node_ops.mknod,rename:sr.node_ops.rename,unlink:sr.node_ops.unlink,rmdir:sr.node_ops.rmdir,readdir:sr.node_ops.readdir,symlink:sr.node_ops.symlink},stream:{llseek:sr.stream_ops.llseek}},file:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr},stream:{llseek:sr.stream_ops.llseek,read:sr.stream_ops.read,write:sr.stream_ops.write,mmap:sr.stream_ops.mmap,msync:sr.stream_ops.msync}},link:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr,readlink:sr.node_ops.readlink},stream:{}},chrdev:{node:{getattr:sr.node_ops.getattr,setattr:sr.node_ops.setattr},stream:Er.chrdev_stream_ops}};var o=Er.createNode(r,e,t,n);return Er.isDir(o.mode)?(o.node_ops=sr.ops_table.dir.node,o.stream_ops=sr.ops_table.dir.stream,o.contents={}):Er.isFile(o.mode)?(o.node_ops=sr.ops_table.file.node,o.stream_ops=sr.ops_table.file.stream,o.usedBytes=0,o.contents=null):Er.isLink(o.mode)?(o.node_ops=sr.ops_table.link.node,o.stream_ops=sr.ops_table.link.stream):Er.isChrdev(o.mode)&&(o.node_ops=sr.ops_table.chrdev.node,o.stream_ops=sr.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),r&&(r.contents[e]=o,r.atime=r.mtime=r.ctime=o.atime),o},getFileDataAsTypedArray:r=>r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0),expandFileStorage(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=Er.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Er.isDir(r.mode)?e.size=4096:Er.isFile(r.mode)?e.size=r.usedBytes:Er.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.atime),e.mtime=new Date(r.mtime),e.ctime=new Date(r.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){for(const t of["mode","atime","mtime","ctime"])null!=e[t]&&(r[t]=e[t]);void 0!==e.size&&sr.resizeFileStorage(r,e.size)},lookup(r,e){throw sr.doesNotExistError||(sr.doesNotExistError=new Er.ErrnoError(44),sr.doesNotExistError.stack="<generic error, no stack>"),sr.doesNotExistError},mknod:(r,e,t,n)=>sr.createNode(r,e,t,n),rename(r,e,t){var n;try{n=Er.lookupNode(e,t)}catch(r){}if(n){if(Er.isDir(r.mode))for(var o in n.contents)throw new Er.ErrnoError(55);Er.hashRemoveNode(n)}delete r.parent.contents[r.name],e.contents[t]=r,r.name=t,e.ctime=e.mtime=r.parent.ctime=r.parent.mtime=Date.now()},unlink(r,e){delete r.contents[e],r.ctime=r.mtime=Date.now()},rmdir(r,e){var t=Er.lookupNode(r,e);for(var n in t.contents)throw new Er.ErrnoError(55);delete r.contents[e],r.ctime=r.mtime=Date.now()},readdir:r=>[".","..",...Object.keys(r.contents)],symlink(r,e,t){var n=sr.createNode(r,e,41471,0);return n.link=t,n},readlink(r){if(!Er.isLink(r.mode))throw new Er.ErrnoError(28);return r.link}},stream_ops:{read(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write(r,e,t,n,o,a){if(e.buffer===h.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.mtime=i.ctime=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(sr.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Er.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Er.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Er.isFile(r.node.mode))throw new Er.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||!s||s.buffer!==h.buffer){if(i=!0,!(a=ir(e)))throw new Er.ErrnoError(48);s&&((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),h.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(r,e,t,n,o)=>(sr.stream_ops.write(r,e,0,n,t,!1),0)}},cr=(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},ur={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},lr={isWindows:!1,staticInit(){lr.isWindows=!!process.platform.match(/^win/);var r=process.binding("constants").fs;lr.flagsForNodeMap={1024:r.O_APPEND,64:r.O_CREAT,128:r.O_EXCL,256:r.O_NOCTTY,0:r.O_RDONLY,2:r.O_RDWR,4096:r.O_SYNC,512:r.O_TRUNC,1:r.O_WRONLY,131072:r.O_NOFOLLOW}},convertNodeCode(r){var e=r.code;return ur[e]},tryFSOperation(r){try{return r()}catch(r){if(!r.code)throw r;if("UNKNOWN"===r.code)throw new Er.ErrnoError(28);throw new Er.ErrnoError(lr.convertNodeCode(r))}},mount:r=>lr.createNode(null,"/",lr.getMode(r.opts.root),0),createNode(r,e,t,n){if(!Er.isDir(t)&&!Er.isFile(t)&&!Er.isLink(t))throw new Er.ErrnoError(28);var o=Er.createNode(r,e,t);return o.node_ops=lr.node_ops,o.stream_ops=lr.stream_ops,o},getMode:r=>lr.tryFSOperation((()=>{var e=u.lstatSync(r).mode;return lr.isWindows&&(e|=(292&e)>>2),e})),realPath(r){for(var e=[];r.parent!==r;)e.push(r.name),r=r.parent;return e.push(r.mount.opts.root),e.reverse(),J.join(...e)},flagsForNode(r){r&=-2097153,r&=-2049,r&=-32769,r&=-524289,r&=-65537;var e=0;for(var t in lr.flagsForNodeMap)r&t&&(e|=lr.flagsForNodeMap[t],r^=t);if(r)throw new Er.ErrnoError(28);return e},getattr(r,e){var t=lr.tryFSOperation(r);return lr.isWindows&&(t.blksize||(t.blksize=4096),t.blocks||(t.blocks=(t.size+t.blksize-1)/t.blksize|0),t.mode|=(292&t.mode)>>2),{dev:t.dev,ino:e.id,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr(r,e,t,n,o,a,i){lr.tryFSOperation((()=>{if(void 0!==t.mode){var s=t.mode;lr.isWindows&&(s&=384),n(r,s),e.mode=t.mode}if("number"==typeof(t.atime??t.mtime)){var c=new Date(t.atime??i(r).atime),u=new Date(t.mtime??i(r).mtime);o(r,c,u)}void 0!==t.size&&a(r,t.size)}))},node_ops:{getattr(r){var e=lr.realPath(r);return lr.getattr((()=>u.lstatSync(e)),r)},setattr(r,e){var t=lr.realPath(r);if(null!=e.mode&&e.dontFollow)throw new Er.ErrnoError(52);lr.setattr(t,r,e,u.chmodSync,u.utimesSync,u.truncateSync,u.lstatSync)},lookup(r,e){var t=J.join2(lr.realPath(r),e),n=lr.getMode(t);return lr.createNode(r,e,n)},mknod(r,e,t,n){var o=lr.createNode(r,e,t,n),a=lr.realPath(o);return lr.tryFSOperation((()=>{Er.isDir(o.mode)?u.mkdirSync(a,o.mode):u.writeFileSync(a,"",{mode:o.mode})})),o},rename(r,e,t){var n=lr.realPath(r),o=J.join2(lr.realPath(e),t);try{Er.unlink(o)}catch(r){}lr.tryFSOperation((()=>u.renameSync(n,o))),r.name=t},unlink(r,e){var t=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.unlinkSync(t)))},rmdir(r,e){var t=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.rmdirSync(t)))},readdir(r){var e=lr.realPath(r);return lr.tryFSOperation((()=>u.readdirSync(e)))},symlink(r,e,t){var n=J.join2(lr.realPath(r),e);lr.tryFSOperation((()=>u.symlinkSync(t,n)))},readlink(r){var e=lr.realPath(r);return lr.tryFSOperation((()=>u.readlinkSync(e)))},statfs(r){var e=lr.tryFSOperation((()=>u.statfsSync(r)));return e.frsize=e.bsize,e}},stream_ops:{getattr:r=>lr.getattr((()=>u.fstatSync(r.nfd)),r.node),setattr(r,e){lr.setattr(r.nfd,r.node,e,u.fchmodSync,u.futimesSync,u.ftruncateSync,u.fstatSync)},open(r){var e=lr.realPath(r.node);lr.tryFSOperation((()=>{r.shared.refcount=1,r.nfd=u.openSync(e,lr.flagsForNode(r.flags))}))},close(r){lr.tryFSOperation((()=>{r.nfd&&0==--r.shared.refcount&&u.closeSync(r.nfd)}))},dup(r){r.shared.refcount++},read:(r,e,t,n,o)=>lr.tryFSOperation((()=>u.readSync(r.nfd,new Int8Array(e.buffer,t,n),0,n,o))),write:(r,e,t,n,o)=>lr.tryFSOperation((()=>u.writeSync(r.nfd,new Int8Array(e.buffer,t,n),0,n,o))),llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Er.isFile(r.node.mode)&&lr.tryFSOperation((()=>{var e=u.fstatSync(r.nfd);n+=e.size})),n<0)throw new Er.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Er.isFile(r.node.mode))throw new Er.ErrnoError(43);var a=ir(e);return lr.stream_ops.read(r,h,a,e,t),{ptr:a,allocated:!0}},msync:(r,e,t,n,o)=>(lr.stream_ops.write(r,e,0,n,t,!1),0)}},fr=(...r)=>Er.createDataFile(...r),dr=0,hr=null,mr=r=>{if(dr--,e.monitorRunDependencies?.(dr),0==dr&&hr){var t=hr;hr=null,t()}},wr=r=>{dr++,e.monitorRunDependencies?.(dr)},pr=[],vr=async(r,e,t,n,a,i,s,c)=>{var u=e?Q.resolve(J.join2(r,e)):r;wr();try{var l=t;"string"==typeof t&&(l=await(async r=>{var e=await o(r);return new Uint8Array(e)})(t)),l=await(async(r,e)=>{for(var t of("undefined"!=typeof Browser&&Browser.init(),pr))if(t.canHandle(e))return t.handle(r,e);return r})(l,u),c?.(),i||fr(r,e,l,n,a,s)}finally{mr()}},Er={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(r){this.errno=r}},FSStream:class{shared={};get object(){return this.node}set object(r){this.node=r}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return 0!=(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(r){this.shared.flags=r}get position(){return this.shared.position}set position(r){this.shared.position=r}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.id=Er.nextInode++,this.name=e,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(r){r?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(r){r?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Er.isDir(this.mode)}get isDevice(){return Er.isChrdev(this.mode)}},lookupPath(r,e={}){if(!r)throw new Er.ErrnoError(44);e.follow_mount??=!0,J.isAbs(r)||(r=Er.cwd()+"/"+r);r:for(var t=0;t<40;t++){for(var n=r.split("/").filter((r=>!!r)),o=Er.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&e.parent)break;if("."!==n[i])if(".."!==n[i]){a=J.join2(a,n[i]);try{o=Er.lookupNode(o,n[i])}catch(r){if(44===r?.errno&&s&&e.noent_okay)return{path:a};throw r}if(!Er.isMountpoint(o)||s&&!e.follow_mount||(o=o.mounted.root),Er.isLink(o.mode)&&(!s||e.follow)){if(!o.node_ops.readlink)throw new Er.ErrnoError(52);var c=o.node_ops.readlink(o);J.isAbs(c)||(c=J.dirname(a)+"/"+c),r=c+"/"+n.slice(i+1).join("/");continue r}}else{if(a=J.dirname(a),Er.isRoot(o)){r=a+"/"+n.slice(i+1).join("/"),t--;continue r}o=o.parent}}return{path:a,node:o}}throw new Er.ErrnoError(32)},getPath(r){for(var e;;){if(Er.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Er.nameTable.length},hashAddNode(r){var e=Er.hashName(r.parent.id,r.name);r.name_next=Er.nameTable[e],Er.nameTable[e]=r},hashRemoveNode(r){var e=Er.hashName(r.parent.id,r.name);if(Er.nameTable[e]===r)Er.nameTable[e]=r.name_next;else for(var t=Er.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode(r,e){var t=Er.mayLookup(r);if(t)throw new Er.ErrnoError(t);for(var n=Er.hashName(r.id,e),o=Er.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Er.lookup(r,e)},createNode(r,e,t,n){var o=new Er.FSNode(r,e,t,n);return Er.hashAddNode(o),o},destroyNode(r){Er.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagsToPermissionString(r){var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Er.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup(r){if(!Er.isDir(r.mode))return 54;var e=Er.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){if(!Er.isDir(r.mode))return 54;try{Er.lookupNode(r,e);return 20}catch(r){}return Er.nodePermissions(r,"wx")},mayDelete(r,e,t){var n;try{n=Er.lookupNode(r,e)}catch(r){return r.errno}var o=Er.nodePermissions(r,"wx");if(o)return o;if(t){if(!Er.isDir(n.mode))return 54;if(Er.isRoot(n)||Er.getPath(n)===Er.cwd())return 10}else if(Er.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Er.isLink(r.mode)?32:Er.isDir(r.mode)&&("r"!==Er.flagsToPermissionString(e)||576&e)?31:Er.nodePermissions(r,Er.flagsToPermissionString(e)):44,checkOpExists(r,e){if(!r)throw new Er.ErrnoError(e);return r},MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=Er.MAX_OPEN_FDS;r++)if(!Er.streams[r])return r;throw new Er.ErrnoError(33)},getStreamChecked(r){var e=Er.getStream(r);if(!e)throw new Er.ErrnoError(8);return e},getStream:r=>Er.streams[r],createStream:(r,e=-1)=>(r=Object.assign(new Er.FSStream,r),-1==e&&(e=Er.nextfd()),r.fd=e,Er.streams[e]=r,r),closeStream(r){Er.streams[r]=null},dupStream(r,e=-1){var t=Er.createStream(r,e);return t.stream_ops?.dup?.(t),t},doSetAttr(r,e,t){var n=r?.stream_ops.setattr,o=n?r:e;n??=e.node_ops.setattr,Er.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(r){var e=Er.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open?.(r)},llseek(){throw new Er.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice(r,e){Er.devices[r]={stream_ops:e}},getDevice:r=>Er.devices[r],getMounts(r){for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push(...n.mounts)}return e},syncfs(r,e){"function"==typeof r&&(e=r,r=!1),Er.syncFSRequests++,Er.syncFSRequests>1&&k(`warning: ${Er.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Er.getMounts(Er.root.mount),n=0;function o(r){return Er.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}for(var i of t)i.type.syncfs?i.type.syncfs(i,r,a):a(null)},mount(r,e,t){var n,o="/"===t,a=!t;if(o&&Er.root)throw new Er.ErrnoError(10);if(!o&&!a){var i=Er.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Er.isMountpoint(n))throw new Er.ErrnoError(10);if(!Er.isDir(n.mode))throw new Er.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},c=r.mount(s);return c.mount=s,s.root=c,o?Er.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount(r){var e=Er.lookupPath(r,{follow_mount:!1});if(!Er.isMountpoint(e.node))throw new Er.ErrnoError(28);var t=e.node,n=t.mounted,o=Er.getMounts(n);for(var[a,i]of Object.entries(Er.nameTable))for(;i;){var s=i.name_next;o.includes(i.mount)&&Er.destroyNode(i),i=s}t.mounted=null;var c=t.mount.mounts.indexOf(n);t.mount.mounts.splice(c,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod(r,e,t){var n=Er.lookupPath(r,{parent:!0}).node,o=J.basename(r);if(!o)throw new Er.ErrnoError(28);if("."===o||".."===o)throw new Er.ErrnoError(20);var a=Er.mayCreate(n,o);if(a)throw new Er.ErrnoError(a);if(!n.node_ops.mknod)throw new Er.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},statfs:r=>Er.statfsNode(Er.lookupPath(r,{follow:!0}).node),statfsStream:r=>Er.statfsNode(r.node),statfsNode(r){var e={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Er.nextInode,ffree:Er.nextInode-1,fsid:42,flags:2,namelen:255};return r.node_ops.statfs&&Object.assign(e,r.node_ops.statfs(r.mount.opts.root)),e},create:(r,e=438)=>(e&=4095,e|=32768,Er.mknod(r,e,0)),mkdir:(r,e=511)=>(e&=1023,e|=16384,Er.mknod(r,e,0)),mkdirTree(r,e){var t=r.split("/"),n="";for(var o of t)if(o){(n||J.isAbs(r))&&(n+="/"),n+=o;try{Er.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Er.mknod(r,e,t)),symlink(r,e){if(!Q.resolve(r))throw new Er.ErrnoError(44);var t=Er.lookupPath(e,{parent:!0}).node;if(!t)throw new Er.ErrnoError(44);var n=J.basename(e),o=Er.mayCreate(t,n);if(o)throw new Er.ErrnoError(o);if(!t.node_ops.symlink)throw new Er.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename(r,e){var t,n,o=J.dirname(r),a=J.dirname(e),i=J.basename(r),s=J.basename(e);if(t=Er.lookupPath(r,{parent:!0}).node,n=Er.lookupPath(e,{parent:!0}).node,!t||!n)throw new Er.ErrnoError(44);if(t.mount!==n.mount)throw new Er.ErrnoError(75);var c,u=Er.lookupNode(t,i),l=Q.relative(r,a);if("."!==l.charAt(0))throw new Er.ErrnoError(28);if("."!==(l=Q.relative(e,o)).charAt(0))throw new Er.ErrnoError(55);try{c=Er.lookupNode(n,s)}catch(r){}if(u!==c){var f=Er.isDir(u.mode),d=Er.mayDelete(t,i,f);if(d)throw new Er.ErrnoError(d);if(d=c?Er.mayDelete(n,s,f):Er.mayCreate(n,s))throw new Er.ErrnoError(d);if(!t.node_ops.rename)throw new Er.ErrnoError(63);if(Er.isMountpoint(u)||c&&Er.isMountpoint(c))throw new Er.ErrnoError(10);if(n!==t&&(d=Er.nodePermissions(t,"w")))throw new Er.ErrnoError(d);Er.hashRemoveNode(u);try{t.node_ops.rename(u,n,s),u.parent=n}catch(r){throw r}finally{Er.hashAddNode(u)}}},rmdir(r){var e=Er.lookupPath(r,{parent:!0}).node,t=J.basename(r),n=Er.lookupNode(e,t),o=Er.mayDelete(e,t,!0);if(o)throw new Er.ErrnoError(o);if(!e.node_ops.rmdir)throw new Er.ErrnoError(63);if(Er.isMountpoint(n))throw new Er.ErrnoError(10);e.node_ops.rmdir(e,t),Er.destroyNode(n)},readdir(r){var e=Er.lookupPath(r,{follow:!0}).node;return Er.checkOpExists(e.node_ops.readdir,54)(e)},unlink(r){var e=Er.lookupPath(r,{parent:!0}).node;if(!e)throw new Er.ErrnoError(44);var t=J.basename(r),n=Er.lookupNode(e,t),o=Er.mayDelete(e,t,!1);if(o)throw new Er.ErrnoError(o);if(!e.node_ops.unlink)throw new Er.ErrnoError(63);if(Er.isMountpoint(n))throw new Er.ErrnoError(10);e.node_ops.unlink(e,t),Er.destroyNode(n)},readlink(r){var e=Er.lookupPath(r).node;if(!e)throw new Er.ErrnoError(44);if(!e.node_ops.readlink)throw new Er.ErrnoError(28);return e.node_ops.readlink(e)},stat(r,e){var t=Er.lookupPath(r,{follow:!e}).node;return Er.checkOpExists(t.node_ops.getattr,63)(t)},fstat(r){var e=Er.getStreamChecked(r),t=e.node,n=e.stream_ops.getattr,o=n?e:t;return n??=t.node_ops.getattr,Er.checkOpExists(n,63),n(o)},lstat:r=>Er.stat(r,!0),doChmod(r,e,t,n){Er.doSetAttr(r,e,{mode:4095&t|-4096&e.mode,ctime:Date.now(),dontFollow:n})},chmod(r,e,t){var n;"string"==typeof r?n=Er.lookupPath(r,{follow:!t}).node:n=r;Er.doChmod(null,n,e,t)},lchmod(r,e){Er.chmod(r,e,!0)},fchmod(r,e){var t=Er.getStreamChecked(r);Er.doChmod(t,t.node,e,!1)},doChown(r,e,t){Er.doSetAttr(r,e,{timestamp:Date.now(),dontFollow:t})},chown(r,e,t,n){var o;"string"==typeof r?o=Er.lookupPath(r,{follow:!n}).node:o=r;Er.doChown(null,o,n)},lchown(r,e,t){Er.chown(r,e,t,!0)},fchown(r,e,t){var n=Er.getStreamChecked(r);Er.doChown(n,n.node,!1)},doTruncate(r,e,t){if(Er.isDir(e.mode))throw new Er.ErrnoError(31);if(!Er.isFile(e.mode))throw new Er.ErrnoError(28);var n=Er.nodePermissions(e,"w");if(n)throw new Er.ErrnoError(n);Er.doSetAttr(r,e,{size:t,timestamp:Date.now()})},truncate(r,e){if(e<0)throw new Er.ErrnoError(28);var t;"string"==typeof r?t=Er.lookupPath(r,{follow:!0}).node:t=r;Er.doTruncate(null,t,e)},ftruncate(r,e){var t=Er.getStreamChecked(r);if(e<0||0==(2097155&t.flags))throw new Er.ErrnoError(28);Er.doTruncate(t,t.node,e)},utime(r,e,t){var n=Er.lookupPath(r,{follow:!0}).node;Er.checkOpExists(n.node_ops.setattr,63)(n,{atime:e,mtime:t})},open(r,t,n=438){if(""===r)throw new Er.ErrnoError(44);var o,a;if(n=64&(t="string"==typeof t?(r=>{var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e})(t):t)?4095&n|32768:0,"object"==typeof r)o=r;else{a=r.endsWith("/");var i=Er.lookupPath(r,{follow:!(131072&t),noent_okay:!0});o=i.node,r=i.path}var s=!1;if(64&t)if(o){if(128&t)throw new Er.ErrnoError(20)}else{if(a)throw new Er.ErrnoError(31);o=Er.mknod(r,511|n,0),s=!0}if(!o)throw new Er.ErrnoError(44);if(Er.isChrdev(o.mode)&&(t&=-513),65536&t&&!Er.isDir(o.mode))throw new Er.ErrnoError(54);if(!s){var c=Er.mayOpen(o,t);if(c)throw new Er.ErrnoError(c)}512&t&&!s&&Er.truncate(o,0),t&=-131713;var u=Er.createStream({node:o,path:Er.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),s&&Er.chmod(o,511&n),!e.logReadFiles||1&t||r in Er.readFiles||(Er.readFiles[r]=1),u},close(r){if(Er.isClosed(r))throw new Er.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Er.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek(r,e,t){if(Er.isClosed(r))throw new Er.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Er.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Er.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read(r,e,t,n,o){if(n<0||o<0)throw new Er.ErrnoError(28);if(Er.isClosed(r))throw new Er.ErrnoError(8);if(1==(2097155&r.flags))throw new Er.ErrnoError(8);if(Er.isDir(r.node.mode))throw new Er.ErrnoError(31);if(!r.stream_ops.read)throw new Er.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Er.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write(r,e,t,n,o,a){if(n<0||o<0)throw new Er.ErrnoError(28);if(Er.isClosed(r))throw new Er.ErrnoError(8);if(0==(2097155&r.flags))throw new Er.ErrnoError(8);if(Er.isDir(r.node.mode))throw new Er.ErrnoError(31);if(!r.stream_ops.write)throw new Er.ErrnoError(28);r.seekable&&1024&r.flags&&Er.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Er.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},mmap(r,e,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new Er.ErrnoError(2);if(1==(2097155&r.flags))throw new Er.ErrnoError(2);if(!r.stream_ops.mmap)throw new Er.ErrnoError(43);if(!e)throw new Er.ErrnoError(28);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,ioctl(r,e,t){if(!r.stream_ops.ioctl)throw new Er.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile(r,e={}){e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding&&F(`Invalid encoding type "${e.encoding}"`);var t=Er.open(r,e.flags),n=Er.stat(r).size,o=new Uint8Array(n);return Er.read(t,o,0,n,0),"utf8"===e.encoding&&(o=Z(o)),Er.close(t),o},writeFile(r,e,t={}){t.flags=t.flags||577;var n=Er.open(r,t.flags,t.mode);"string"==typeof e&&(e=new Uint8Array(nr(e,!0))),ArrayBuffer.isView(e)?Er.write(n,e,0,e.byteLength,void 0,t.canOwn):F("Unsupported data type"),Er.close(n)},cwd:()=>Er.currentPath,chdir(r){var e=Er.lookupPath(r,{follow:!0});if(null===e.node)throw new Er.ErrnoError(44);if(!Er.isDir(e.node.mode))throw new Er.ErrnoError(54);var t=Er.nodePermissions(e.node,"x");if(t)throw new Er.ErrnoError(t);Er.currentPath=e.path},createDefaultDirectories(){Er.mkdir("/tmp"),Er.mkdir("/home"),Er.mkdir("/home/web_user")},createDefaultDevices(){Er.mkdir("/dev"),Er.registerDevice(Er.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n,llseek:()=>0}),Er.mkdev("/dev/null",Er.makedev(1,3)),or.register(Er.makedev(5,0),or.default_tty_ops),or.register(Er.makedev(6,0),or.default_tty1_ops),Er.mkdev("/dev/tty",Er.makedev(5,0)),Er.mkdev("/dev/tty1",Er.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(V(r),e=r.byteLength),r[--e]);Er.createDevice("/dev","random",t),Er.createDevice("/dev","urandom",t),Er.mkdir("/dev/shm"),Er.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Er.mkdir("/proc");var r=Er.mkdir("/proc/self");Er.mkdir("/proc/self/fd"),Er.mount({mount(){var e=Er.createNode(r,"fd",16895,73);return e.stream_ops={llseek:sr.stream_ops.llseek},e.node_ops={lookup(r,e){var t=+e,n=Er.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(Er.streams.entries()).filter((([r,e])=>e)).map((([r,e])=>r.toString()))},e}},{},"/proc/self/fd")},createStandardStreams(r,e,t){r?Er.createDevice("/dev","stdin",r):Er.symlink("/dev/tty","/dev/stdin"),e?Er.createDevice("/dev","stdout",null,e):Er.symlink("/dev/tty","/dev/stdout"),t?Er.createDevice("/dev","stderr",null,t):Er.symlink("/dev/tty1","/dev/stderr"),Er.open("/dev/stdin",0),Er.open("/dev/stdout",1),Er.open("/dev/stderr",1)},staticInit(){Er.nameTable=new Array(4096),Er.mount(sr,{},"/"),Er.createDefaultDirectories(),Er.createDefaultDevices(),Er.createSpecialDirectories(),Er.filesystems={MEMFS:sr,NODEFS:lr}},init(r,t,n){Er.initialized=!0,r??=e.stdin,t??=e.stdout,n??=e.stderr,Er.createStandardStreams(r,t,n)},quit(){for(var r of(Er.initialized=!1,Er.streams))r&&Er.close(r)},findObject(r,e){var t=Er.analyzePath(r,e);return t.exists?t.object:null},analyzePath(r,e){try{r=(n=Er.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Er.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=J.basename(r),n=Er.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath(r,e,t,n){r="string"==typeof r?r:Er.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=J.join2(r,a);try{Er.mkdir(i)}catch(r){if(20!=r.errno)throw r}r=i}}return i},createFile(r,e,t,n,o){var a=J.join2("string"==typeof r?r:Er.getPath(r),e),i=cr(n,o);return Er.create(a,i)},createDataFile(r,e,t,n,o,a){var i=e;r&&(r="string"==typeof r?r:Er.getPath(r),i=e?J.join2(r,e):r);var s=cr(n,o),c=Er.create(i,s);if(t){if("string"==typeof t){for(var u=new Array(t.length),l=0,f=t.length;l<f;++l)u[l]=t.charCodeAt(l);t=u}Er.chmod(c,146|s);var d=Er.open(c,577);Er.write(d,t,0,t.length,0,a),Er.close(d),Er.chmod(c,s)}},createDevice(r,e,t,n){var o=J.join2("string"==typeof r?r:Er.getPath(r),e),a=cr(!!t,!!n);Er.createDevice.major??=64;var i=Er.makedev(Er.createDevice.major++,0);return Er.registerDevice(i,{open(r){r.seekable=!1},close(r){n?.buffer?.length&&n(10)},read(r,e,n,o,a){for(var i=0,s=0;s<o;s++){var c;try{c=t()}catch(r){throw new Er.ErrnoError(29)}if(void 0===c&&0===i)throw new Er.ErrnoError(6);if(null==c)break;i++,e[n+s]=c}return i&&(r.node.atime=Date.now()),i},write(r,e,t,o,a){for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Er.ErrnoError(29)}return o&&(r.node.mtime=r.node.ctime=Date.now()),i}}),Er.mkdev(o,a,i)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if(globalThis.XMLHttpRequest)F("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{r.contents=a(r.url)}catch(r){throw new Er.ErrnoError(29)}},createLazyFile(r,e,t,n,o){class a{lengthKnown=!1;chunks=[];get(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}}setDataGetter(r){this.getter=r}cacheLength(){var r=new XMLHttpRequest;r.open("HEAD",t,!1),r.send(null),r.status>=200&&r.status<300||304===r.status||F("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;return o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{r>e&&F("invalid range ("+r+", "+e+") or no bytes requested!"),e>n-1&&F("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||F("Couldn't load "+t+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):nr(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r]&&F("doXHR failed!"),s.chunks[r]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){F("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new a}}else i={isDevice:!1,url:t};var s=Er.createFile(r,e,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var c={};for(const[r,e]of Object.entries(s.stream_ops))c[r]=(...r)=>(Er.forceLoadFile(s),e(...r));function u(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return c.read=(r,e,t,n,o)=>(Er.forceLoadFile(s),u(r,e,t,n,o)),c.mmap=(r,e,t,n,o)=>{Er.forceLoadFile(s);var a=ir(e);if(!a)throw new Er.ErrnoError(48);return u(r,h,a,e,t),{ptr:a,allocated:!0}},s.stream_ops=c,s}},yr={DEFAULT_POLLMASK:5,calculateAt(r,e,t){if(J.isAbs(e))return e;var n;-100===r?n=Er.cwd():n=yr.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Er.ErrnoError(44);return n}return n+"/"+e},writeStat(r,e){v[r>>2]=e.dev,v[r+4>>2]=e.mode,v[r+8>>2]=e.nlink,v[r+12>>2]=e.uid,v[r+16>>2]=e.gid,v[r+20>>2]=e.rdev,b[r+24>>3]=BigInt(e.size),p[r+32>>2]=4096,p[r+36>>2]=e.blocks;var t=e.atime.getTime(),n=e.mtime.getTime(),o=e.ctime.getTime();return b[r+40>>3]=BigInt(Math.floor(t/1e3)),v[r+48>>2]=t%1e3*1e3*1e3,b[r+56>>3]=BigInt(Math.floor(n/1e3)),v[r+64>>2]=n%1e3*1e3*1e3,b[r+72>>3]=BigInt(Math.floor(o/1e3)),v[r+80>>2]=o%1e3*1e3*1e3,b[r+88>>3]=BigInt(e.ino),0},writeStatFs(r,e){v[r+4>>2]=e.bsize,v[r+60>>2]=e.bsize,b[r+8>>3]=BigInt(e.blocks),b[r+16>>3]=BigInt(e.bfree),b[r+24>>3]=BigInt(e.bavail),b[r+32>>3]=BigInt(e.files),b[r+40>>3]=BigInt(e.ffree),v[r+48>>2]=e.fsid,v[r+64>>2]=e.flags,v[r+56>>2]=e.namelen},doMsync(r,e,t,n,o){if(!Er.isFile(e.node.mode))throw new Er.ErrnoError(43);if(2&n)return 0;var a=m.slice(r,r+t);Er.msync(e,a,o,t,n)},getStreamFromFD:r=>Er.getStreamChecked(r),varargs:void 0,getStr:r=>j(r)};var br=()=>{var r=p[+yr.varargs>>2];return yr.varargs+=4,r},gr=br;var _r=r=>r<-9007199254740992||r>9007199254740992?NaN:Number(r);var kr=(r,e,t)=>tr(r,m,e,t);var Sr=r=>v[r>>2]+4294967296*p[r+4>>2];var Or=0,Nr=[0,31,60,91,121,152,182,213,244,274,305,335],Dr=[0,31,59,90,120,151,181,212,243,273,304,334];var Fr=()=>performance.now(),Ar=()=>Date.now();var Tr=r=>{var e=(r-Hr.buffer.byteLength+65535)/65536|0;try{return Hr.grow(e),D(),1}catch(r){}},Pr={},Rr=()=>{if(!Rr.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:i||"./this.program"};for(var e in Pr)void 0===Pr[e]?delete r[e]:r[e]=Pr[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Rr.strings=t}return Rr.strings},Mr=r=>{x||Or>0||(e.onExit?.(r),S=!0),n(r,new P(r))},Lr=(r,e)=>{Mr(r)};var Br,Ir,xr,Cr,zr,qr,Ur,jr,Wr,Gr,Hr,Kr,Xr=r=>e["_"+r],$r=(r,e)=>{h.set(r,e)},Yr=r=>zr(r),Jr=(r,e,t,n,o)=>{var a={string:r=>{var e=0;return null!=r&&0!==r&&(e=(r=>{var e=er(r)+1,t=Yr(e);return kr(r,t,e),t})(r)),e},array:r=>{var e=Yr(r.length);return $r(r,e),e}};var i=Xr(r),s=[],c=0;if(n)for(var u=0;u<n.length;u++){var l=a[t[u]];l?(0===c&&(c=z()),s[u]=l(n[u])):s[u]=n[u]}var f=i(...s);return f=function(r){return 0!==c&&C(c),function(r){return"string"===e?j(r):"boolean"===e?Boolean(r):r}(r)}(f)};if(Er.createPreloadedFile=(r,e,t,n,o,a,i,s,c,u)=>{vr(r,e,t,n,o,s,c,u).then(a).catch(i)},Er.preloadFile=vr,Er.staticInit(),lr.staticInit(),e.noExitRuntime&&(x=e.noExitRuntime),e.preloadPlugins&&(pr=e.preloadPlugins),e.print&&(_=e.print),e.printErr&&(k=e.printErr),e.wasmBinary&&(l=e.wasmBinary),e.arguments&&e.arguments,e.thisProgram&&(i=e.thisProgram),e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.shift()();e.stackAlloc=Yr,e.addRunDependency=wr,e.removeRunDependency=mr,e.cwrap=(r,e,t,n)=>{var o=!t||t.every((r=>"number"===r||"boolean"===r));return"string"!==e&&o&&!n?Xr(r):(...n)=>Jr(r,e,t,n)},e.setValue=function(r,e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":h[r]=e;break;case"i16":w[r>>1]=e;break;case"i32":p[r>>2]=e;break;case"i64":b[r>>3]=BigInt(e);break;case"float":E[r>>2]=e;break;case"double":y[r>>3]=e;break;case"*":v[r>>2]=e;break;default:F(`invalid type for setValue: ${t}`)}},e.getValue=function(r,e="i8"){switch(e.endsWith("*")&&(e="*"),e){case"i1":case"i8":return h[r];case"i16":return w[r>>1];case"i32":return p[r>>2];case"i64":return b[r>>3];case"float":return E[r>>2];case"double":return y[r>>3];case"*":return v[r>>2];default:F(`invalid type for getValue: ${e}`)}},e.UTF8ToString=j,e.stringToUTF8=kr,e.lengthBytesUTF8=er,e.writeArrayToMemory=$r,e.FS_preloadFile=vr,e.FS_unlink=(...r)=>Er.unlink(...r),e.FS_createPath=(...r)=>Er.createPath(...r),e.FS_createDevice=(...r)=>Er.createDevice(...r),e.FS_createDataFile=fr,e.FS_createLazyFile=(...r)=>Er.createLazyFile(...r);var Vr,Qr={z:(r,e,t,n)=>F(`Assertion failed: ${j(r)}, at: `+[e?j(e):"unknown filename",t,n?j(n):"unknown function"]),kb:(r,e)=>W(r)(e),n:r=>{var e=new X(r);return e.get_caught()||(e.set_caught(!0),H--),e.set_rethrown(!1),G.push(e),jr(r),Gr(r)},y:()=>{Ir(0,0);var r=G.pop();Ur(r.excPtr),K=0},a:()=>Y([]),h:r=>Y([r]),r:(r,e)=>Y([r,e]),ca:(r,e,t)=>Y([r,e,t]),za:()=>{var r=G.pop();r||F("no exception to throw");var e=r.excPtr;throw r.get_rethrown()||(G.push(r),r.set_rethrown(!0),r.set_caught(!1),H++),K=e},s:(r,e,t)=>{throw new X(r).init(e,t),H++,K=r},cb:()=>H,e:r=>{throw K||(K=r),K},Ha:function(r,e){try{return r=yr.getStr(r),Er.chmod(r,e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ka:function(r,e,t,n){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),-8&t)return-28;var o=Er.lookupPath(e,{follow:!0}).node;if(!o)return-44;var a="";return 4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&Er.nodePermissions(o,a)?-2:0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ia:function(r,e){try{return Er.fchmod(r,e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ga:function(r,e,t){try{return Er.fchown(r,e,t),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},O:function(r,e,t){yr.varargs=t;try{var n=yr.getStreamFromFD(r);switch(e){case 0:if((o=br())<0)return-28;for(;Er.streams[o];)o++;return Er.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=br();return n.flags|=o,0;case 12:o=gr();return w[o+0>>1]=2,0}return-28}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Bb:function(r,e){try{return yr.writeStat(e,Er.fstat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},wb:function(r,e){e=_r(e);try{return isNaN(e)?-61:(Er.ftruncate(r,e),0)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},vb:function(r,e){try{if(0===e)return-28;var t=Er.cwd(),n=er(t)+1;return e<n?-68:(kr(t,r,e),n)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},jb:function(r,e,t){try{var n=yr.getStreamFromFD(r);n.getdents||=Er.readdir(n.path);for(var o=280,a=0,i=Er.llseek(n,0,1),s=Math.floor(i/o),c=Math.min(n.getdents.length,s+Math.floor(t/o)),u=s;u<c;u++){var l,f,d=n.getdents[u];if("."===d)l=n.node.id,f=4;else if(".."===d){l=Er.lookupPath(n.path,{parent:!0}).node.id,f=4}else{var m;try{m=Er.lookupNode(n.node,d)}catch(r){if(28===r?.errno)continue;throw r}l=m.id,f=Er.isChrdev(m.mode)?2:Er.isDir(m.mode)?4:Er.isLink(m.mode)?10:8}b[e+a>>3]=BigInt(l),b[e+a+8>>3]=BigInt((u+1)*o),w[e+a+16>>1]=280,h[e+a+18]=f,kr(d,e+a+19,256),a+=o}return Er.llseek(n,u*o,0),a}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Cb:function(r,e,t){yr.varargs=t;try{var n=yr.getStreamFromFD(r);switch(e){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=gr();p[a>>2]=o.c_iflag||0,p[a+4>>2]=o.c_oflag||0,p[a+8>>2]=o.c_cflag||0,p[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)h[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=gr();var s=p[a>>2],c=p[a+4>>2],u=p[a+8>>2],l=p[a+12>>2],f=[];for(i=0;i<32;i++)f.push(h[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,e,{c_iflag:s,c_oflag:c,c_cflag:u,c_lflag:l,c_cc:f})}return 0;case 21519:if(!n.tty)return-59;a=gr();return p[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=gr();return Er.ioctl(n,e,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=gr();w[a>>1]=d[0],w[a+2>>1]=d[1]}return 0;default:return-28}}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},yb:function(r,e){try{return r=yr.getStr(r),yr.writeStat(e,Er.lstat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},rb:function(r,e,t){try{return e=yr.getStr(e),e=yr.calculateAt(r,e),Er.mkdir(e,t,0),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},zb:function(r,e,t,n){try{e=yr.getStr(e);var o=256&n,a=4096&n;return n&=-6401,e=yr.calculateAt(r,e,a),yr.writeStat(t,o?Er.lstat(e):Er.stat(e))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Fa:function(r,e,t,n){yr.varargs=n;try{e=yr.getStr(e),e=yr.calculateAt(r,e);var o=n?br():0;return Er.open(e,t,o).fd}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},ib:function(r,e,t,n){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),n<=0)return-28;var o=Er.readlink(e),a=Math.min(n,er(o)),i=h[t+a];return kr(o,t,n+1),h[t+a]=i,a}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},hb:function(r){try{return r=yr.getStr(r),Er.rmdir(r),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},Ab:function(r,e){try{return r=yr.getStr(r),yr.writeStat(e,Er.stat(r))}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},fb:function(r,e,t){try{if(e=yr.getStr(e),e=yr.calculateAt(r,e),t){if(512!==t)return-28;Er.rmdir(e)}else Er.unlink(e);return 0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},eb:function(r,e,t,n){try{e=yr.getStr(e),e=yr.calculateAt(r,e,!0);var o,a,i=Date.now();if(t){var s=Sr(t),c=p[t+8>>2];o=1073741823==c?i:1073741822==c?null:1e3*s+c/1e6,s=Sr(t+=16),a=1073741823==(c=p[t+8>>2])?i:1073741822==c?null:1e3*s+c/1e6}else o=i,a=i;return null!==(a??o)&&Er.utime(e,o,a),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},La:()=>F(""),Ma:r=>{do{var e=v[r>>2],t=v[(r+=4)>>2],n=v[(r+=4)>>2];r+=4;var o=j(e);Er.createPath("/",J.dirname(o),!0,!0),Er.createDataFile(o,null,h.subarray(n,n+t),!0,!0,!0)}while(v[r>>2])},mb:()=>{x=!1,Or=0},pb:function(r,e){r=_r(r);var t=new Date(1e3*r);p[e>>2]=t.getSeconds(),p[e+4>>2]=t.getMinutes(),p[e+8>>2]=t.getHours(),p[e+12>>2]=t.getDate(),p[e+16>>2]=t.getMonth(),p[e+20>>2]=t.getFullYear()-1900,p[e+24>>2]=t.getDay();var n=0|(r=>{var e;return((e=r.getFullYear())%4!=0||e%100==0&&e%400!=0?Dr:Nr)[r.getMonth()]+r.getDate()-1})(t);p[e+28>>2]=n,p[e+36>>2]=-60*t.getTimezoneOffset();var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));p[e+32>>2]=s},nb:function(r,e,t,n,o,a,i){o=_r(o);try{var s=yr.getStreamFromFD(n),c=Er.mmap(s,r,o,e,t),u=c.ptr;return p[a>>2]=c.allocated,v[i>>2]=u,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},ob:function(r,e,t,n,o,a){a=_r(a);try{var i=yr.getStreamFromFD(o);2&t&&yr.doMsync(r,i,e,n,a)}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return-r.errno}},qb:(r,e,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);v[r>>2]=60*u,p[e>>2]=Number(s!=c);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},f=l(s),d=l(c);c<s?(kr(f,t,17),kr(d,n,17)):(kr(f,n,17),kr(d,t,17))},Ja:function(r,e,t){if(!((n=r)>=0&&n<=3))return 28;var n,o;o=0===r?Ar():Fr();var a=Math.round(1e3*o*1e3);return b[t>>3]=BigInt(a),0},la:Ar,gb:()=>2147483648,Ca:Fr,db:r=>{var e=m.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n=1;n<=4;n*=2){var o=e*(1+.2/n);o=Math.min(o,r+100663296);var a=Math.min(t,ar(Math.max(r,o),65536));if(Tr(a))return!0}return!1},tb:(r,e)=>{var t=0,n=0;for(var o of Rr()){var a=e+t;v[r+n>>2]=a,t+=kr(o,a,1/0)+1,n+=4}return 0},ub:(r,e)=>{var t=Rr();v[r>>2]=t.length;var n=0;for(var o of t)n+=er(o)+1;return v[e>>2]=n,0},Y:Lr,U:function(r){try{var e=yr.getStreamFromFD(r);return Er.close(e),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},Da:function(r,e){try{var t=yr.getStreamFromFD(r),n=t.tty?2:Er.isDir(t.mode)?3:Er.isLink(t.mode)?7:4;return h[e]=n,w[e+2>>1]=0,b[e+8>>3]=BigInt(0),b[e+16>>3]=BigInt(0),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},Ea:function(r,e,t,n){try{var o=((r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[e>>2],s=v[e+4>>2];e+=8;var c=Er.read(r,h,i,s,n);if(c<0)return-1;if(o+=c,c<s)break;void 0!==n&&(n+=c)}return o})(yr.getStreamFromFD(r),e,t);return v[n>>2]=o,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},sb:function(r,e,t,n){e=_r(e);try{if(isNaN(e))return 61;var o=yr.getStreamFromFD(r);return Er.llseek(o,e,t),b[n>>3]=BigInt(o.position),o.getdents&&0===e&&0===t&&(o.getdents=null),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},xb:function(r){try{var e=yr.getStreamFromFD(r);return e.stream_ops?.fsync?e.stream_ops.fsync(e):0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},ka:function(r,e,t,n){try{var o=((r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=v[e>>2],s=v[e+4>>2];e+=8;var c=Er.write(r,h,i,s,n);if(c<0)return-1;if(o+=c,c<s)break;void 0!==n&&(n+=c)}return o})(yr.getStreamFromFD(r),e,t);return v[n>>2]=o,0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}},q:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},ab:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},ya:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},A:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},ha:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},I:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Ba:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},D:function(r){var e=z();try{return W(r)()}catch(r){if(C(e),r!==r+0)throw r;Ir(1,0)}},_:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},c:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},t:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},Wa:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Xa:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},u:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},b:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},K:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},$:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v){var E=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v)}catch(r){if(C(E),r!==r+0)throw r;Ir(1,0)}},aa:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},Ya:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},E:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},g:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},ia:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Za:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},m:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},$a:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Ra:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},w:function(r,e,t,n,o,a){var i=z();try{return W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},J:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},W:function(r,e,t,n,o,a,i,s){var c=z();try{return W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},Q:function(r,e,t,n,o,a,i,s,c){var u=z();try{return W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},fa:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{return W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},da:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},Z:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},ua:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},Qa:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m){var w=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m)}catch(r){if(C(w),r!==r+0)throw r;Ir(1,0)}},qa:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v){var E=z();try{return W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v)}catch(r){if(C(E),r!==r+0)throw r;Ir(1,0)}},oa:function(r,e,t,n,o,a,i){var s=z();try{return W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},F:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Na:function(r,e,t,n,o,a,i,s,c){var u=z();try{return W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},na:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{return W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},V:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},N:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},X:function(r,e){var t=z();try{return W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;return Ir(1,0),0n}},H:function(r,e,t){var n=z();try{return W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;return Ir(1,0),0n}},Oa:function(r,e,t,n){var o=z();try{return W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;return Ir(1,0),0n}},ja:function(r,e,t,n,o){var a=z();try{return W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;return Ir(1,0),0n}},i:function(r){var e=z();try{W(r)()}catch(r){if(C(e),r!==r+0)throw r;Ir(1,0)}},l:function(r,e){var t=z();try{W(r)(e)}catch(r){if(C(t),r!==r+0)throw r;Ir(1,0)}},M:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},P:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ba:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},wa:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},x:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},f:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},v:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},Pa:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Sa:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},L:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},ra:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Aa:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},d:function(r,e,t,n){var o=z();try{W(r)(e,t,n)}catch(r){if(C(o),r!==r+0)throw r;Ir(1,0)}},R:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},xa:function(r,e,t,n,o,a,i,s){var c=z();try{W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},_a:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},j:function(r,e,t,n,o){var a=z();try{W(r)(e,t,n,o)}catch(r){if(C(a),r!==r+0)throw r;Ir(1,0)}},Ua:function(r,e,t,n,o,a,i,s,c,u,l,f,d){var h=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d)}catch(r){if(C(h),r!==r+0)throw r;Ir(1,0)}},ea:function(r,e,t,n,o,a,i,s,c){var u=z();try{W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},Ta:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},k:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},Va:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v,E,y,b,g){var _=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w,p,v,E,y,b,g)}catch(r){if(C(_),r!==r+0)throw r;Ir(1,0)}},ta:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h){var m=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h)}catch(r){if(C(m),r!==r+0)throw r;Ir(1,0)}},sa:function(r,e,t,n,o,a,i,s,c,u,l,f){var d=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f)}catch(r){if(C(d),r!==r+0)throw r;Ir(1,0)}},p:function(r,e,t,n,o,a,i){var s=z();try{W(r)(e,t,n,o,a,i)}catch(r){if(C(s),r!==r+0)throw r;Ir(1,0)}},B:function(r,e,t,n,o,a,i,s){var c=z();try{W(r)(e,t,n,o,a,i,s)}catch(r){if(C(c),r!==r+0)throw r;Ir(1,0)}},G:function(r,e,t,n,o,a,i,s,c){var u=z();try{W(r)(e,t,n,o,a,i,s,c)}catch(r){if(C(u),r!==r+0)throw r;Ir(1,0)}},C:function(r,e,t,n,o,a,i,s,c,u){var l=z();try{W(r)(e,t,n,o,a,i,s,c,u)}catch(r){if(C(l),r!==r+0)throw r;Ir(1,0)}},S:function(r,e,t,n,o,a,i,s,c,u,l){var f=z();try{W(r)(e,t,n,o,a,i,s,c,u,l)}catch(r){if(C(f),r!==r+0)throw r;Ir(1,0)}},va:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m){var w=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m)}catch(r){if(C(w),r!==r+0)throw r;Ir(1,0)}},T:function(r,e,t,n,o,a,i,s,c,u,l,f,d,h,m,w){var p=z();try{W(r)(e,t,n,o,a,i,s,c,u,l,f,d,h,m,w)}catch(r){if(C(p),r!==r+0)throw r;Ir(1,0)}},pa:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ma:function(r,e,t,n,o,a){var i=z();try{W(r)(e,t,n,o,a)}catch(r){if(C(i),r!==r+0)throw r;Ir(1,0)}},ga:function(r,e,t){var n=z();try{W(r)(e,t)}catch(r){if(C(n),r!==r+0)throw r;Ir(1,0)}},o:r=>r,lb:Mr,bb:function(r,e){try{return V(m.subarray(r,r+e)),0}catch(r){if(void 0===Er||"ErrnoError"!==r.name)throw r;return r.errno}}};return Vr=function(){function r(r,t){return function(r){e._sqlite3_prepare_v2=r.Fb,e._sqlite3_step=r.Gb,e._sqlite3_reset=r.Hb,e._sqlite3_exec=r.Ib,e._sqlite3_finalize=r.Jb,e._sqlite3_column_name=r.Kb,e._sqlite3_column_text=r.Lb,e._sqlite3_column_type=r.Mb,e._sqlite3_errmsg=r.Nb,e._sqlite3_backup_init=r.Ob,e._sqlite3_backup_step=r.Pb,e._sqlite3_backup_finish=r.Qb,e._sqlite3_clear_bindings=r.Rb,e._sqlite3_column_count=r.Sb,e._sqlite3_column_blob=r.Tb,e._sqlite3_column_bytes=r.Ub,e._sqlite3_column_double=r.Vb,e._sqlite3_bind_blob=r.Wb,e._sqlite3_bind_double=r.Xb,e._sqlite3_bind_int=r.Yb,e._sqlite3_bind_null=r.Zb,e._sqlite3_bind_text=r._b,e._sqlite3_bind_parameter_count=r.$b,e._sqlite3_bind_parameter_index=r.ac,e._sqlite3_close_v2=r.bc,e._sqlite3_errcode=r.cc,e._sqlite3_open=r.dc,e._gaiaOutBufferReset=r.ec,e._gaiaOutGeoJSON=r.fc,e._spatialite_init_ex=r.gc,e._spatialite_cleanup_ex=r.hc,e._spatialite_alloc_connection=r.ic,e._spatialite_shutdown=r.jc,e._sqlite3_stats_init=r.kc,e._initGaiaOutBuffer=r.lc,e._malloc=r.mc,e._free=r.nc,e._freeGaiaOutBuffer=r.pc,e._gaiaToJSON=r.qc,e._isGaia=r.rc,Br=r.sc,Ir=r.tc,xr=r.uc,Cr=r.vc,zr=r.wc,qr=r.xc,Ur=r.yc,jr=r.zc,Wr=r.Ac,Gr=r.Bc,Hr=r.Db,Kr=r.oc}(Vr=r.exports),D(),Vr}var t={a:Qr};return e.instantiateWasm?new Promise(((n,o)=>{e.instantiateWasm(t,((e,t)=>{n(r(e))}))})):(g??=A(),r(T(g,t)[0]))}(),function r(){function t(){e.calledRun=!0,S||(N=!0,e.noFSInit||Er.initialized||Er.init(),Vr.Eb(),Er.ignorePermissions=!1,f?.(e),e.onRuntimeInitialized?.(),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)L(e.postRun.shift());R(M)}())}dr>0?hr=r:(!function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)I(e.preRun.shift());R(B)}(),dr>0?hr=r:e.setStatus?(e.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>e.setStatus("")),1),t()}),1)):t())}(),N?e:new Promise(((r,e)=>{f=r,d=e}))}const e=function(r=[],t=[]){if(!new.target)return Object.freeze(new e(r,t));Object.defineProperty(this,"first",{get:()=>t[0]&&1==t[0].length?t[0][0]:t[0]}),Object.defineProperty(this,"flat",{get:()=>t.flat()}),Object.defineProperty(this,"cols",{get:()=>r.slice()}),Object.defineProperty(this,"rows",{get:()=>t.slice()}),Object.defineProperty(this,"objs",{get:()=>t.map((e=>(e=>r.reduce(((r,t,n)=>(r[t]=e[n],r)),{}))(e)))}),this.free=()=>{r=[],t=[]}};const t=Object.freeze({OK:0,ROW:100,DONE:101,INTEGER:1,FLOAT:2,TEXT:3,BLOB:4,NULL:5});var n=(n={})=>async function(n=null,o={}){const a={},i=n?{wasmBinary:n,locateFile:()=>""}:{},s=await r(i),c={autoJSON:!0,autoGeoJSON:{precision:6,options:0},...o||{}},{getValue:u,setValue:l,stackAlloc:f,stringToUTF8:d,UTF8ToString:h,lengthBytesUTF8:m,writeArrayToMemory:w,_free:p,_malloc:v,FS:E,NODEFS:y,WORKERFS:b,MEMFS:g,ENVIRONMENT_IS_NODE:_}=s,k=s.cwrap("spatialite_alloc_connection","number",["number"]),S=s.cwrap("spatialite_init_ex","number",["number","number"]),O=s.cwrap("spatialite_cleanup_ex","number",["number"]),N=s.cwrap("spatialite_shutdown","void",["void"]),D=s.cwrap("sqlite3_stats_init","number",["number","number","number"]),F=s.cwrap("sqlite3_open","number",["string","number"]),A=s.cwrap("sqlite3_close_v2","number",["number"]),T=s.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]),P=s.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]),R=s.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]),M=s.cwrap("sqlite3_bind_double","number",["number","number","number"]),L=s.cwrap("sqlite3_bind_int","number",["number","number","number"]),B=s.cwrap("sqlite3_bind_null","number",["number","number"]),I=s.cwrap("sqlite3_bind_parameter_index","number",["number","string"]),x=s.cwrap("sqlite3_step","number",["number"]),C=s.cwrap("sqlite3_errmsg","string",["number"]),z=s.cwrap("sqlite3_column_count","number",["number"]),q=s.cwrap("sqlite3_column_double","number",["number","number"]),U=s.cwrap("sqlite3_column_text","string",["number","number"]),j=s.cwrap("sqlite3_column_blob","number",["number","number"]),W=s.cwrap("sqlite3_column_bytes","number",["number","number"]),G=s.cwrap("sqlite3_column_type","number",["number","number"]),H=s.cwrap("sqlite3_column_name","string",["number","number"]),K=s.cwrap("sqlite3_reset","number",["number"]),X=s.cwrap("sqlite3_clear_bindings","number",["number"]),$=s.cwrap("sqlite3_finalize","number",["number"]),Y=s.cwrap("sqlite3_bind_parameter_count","number",["number"]),J=s.cwrap("sqlite3_exec","number",["number","number","number","number","number"]),V=s.cwrap("sqlite3_backup_init","number",["number","string","number","string"]),Q=s.cwrap("sqlite3_backup_step","number",["number","number"]),Z=s.cwrap("sqlite3_backup_finish","number",["number"]),rr=s.cwrap("sqlite3_errcode","number",["number"]),er=s.cwrap("initGaiaOutBuffer","void",["number"]),tr=s.cwrap("freeGaiaOutBuffer","void",["number"]),nr=s.cwrap("gaiaToJSON","number",["number","number","number","number","number"]),or=s.cwrap("isGaia","number",["number","number"]),ar=s.cwrap("gaiaOutBufferReset","void",["number"]);return a.db=function(r){if(!new.target)return Object.freeze(new a.db(r,o));const n=this;let i=e(),y=0,b=0,g=0,_="";const ir=f(4);er(ir);const sr=u(ir,"i32"),cr=()=>`mem-${Math.round(Number.MAX_SAFE_INTEGER*Math.random())}.db`,ur=(r,e,t,n)=>{let o=null,a=nr(sr,r,e,t,n);return a&&(o=JSON.parse(h(a))),ar(sr),o},lr=r=>!!r&&"object"==typeof r&&Object.keys(r).length&&Object.keys(r).every((r=>r.startsWith(":")||r.startsWith("$")||r.startsWith("@"))),fr=r=>r.startsWith('"')&&r.endsWith('"')||"null"===r||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"),dr=r=>{r.forEach((r=>p(r))),r.length=0};let hr;if(Object.defineProperty(this,"get",{get:()=>i}),this.close=()=>{if(!b||!g)throw new Error("Database closed");const r=A(b);if(g&&(O(g),N()),sr&&tr(sr),r!==t.OK)throw new Error(C(b));return b=0,g=0,a},this.attach=(r,e)=>this.exec("attach ? as ?",[r,e]),this.detach=r=>this.exec("detach ?",[r]),this.read=r=>{if(!b||!g)throw new Error("Database closed");const e=m(r)+1,o=v(e);if(!o)throw new Error("Unable to allocate memory");if(d(r,o,e),J(b,o)!==t.OK)throw p(o),new Error(C(b));return p(o),n},this.save=r=>{if(!b||!g)throw new Error("Database closed");const e=r||"/tmp/"+cr(),o=f(4);let a=F(e,o);const i=u(o,"i32");if(a==t.OK){const r=V(i,"main",b,"main");r&&(Q(r,-1),Z(r)),a=rr(i)}if(a!=t.OK)throw new Error(C(i));if(A(i),r)return n;{const r=E.readFile(e,{encoding:"binary"}).buffer;return E.unlink(e),r}},this.load=r=>{if(!b||!g)throw new Error("Database closed");const e=f(4);let o=F(r,e);const a=u(e,"i32");if(o==t.OK){const r=V(b,"main",a,"main");r&&(Q(r,-1),Z(r)),o=rr(b)}if(o!=t.OK)throw new Error(C(b));return A(a),n},this.exec=(r,o)=>{if(!b||!g)throw new Error("Database closed");let a,f=[];const h=[];l(y,0,"i32");const E=m(r)+1,_=v(E);if(d(r,_,E),a=T(b,_,-1,y,0),a!==t.OK)throw new Error(C(b));const k=u(y,"i32");if(!k)throw new Error(C(b));const S=z(k),O=[];for(let r=0;r<S;r++){let e=H(k,r),t=1,n=e;for(;O.some((r=>r===n));)n=e+t,t++;O.push(n)}const N=Y(k);let D=[];if(null!=o&&N>0)if(Array.isArray(o)){const r=o.some((r=>Array.isArray(r)||lr(r)));D=o.length!==N||r?r?o:o.map((r=>[r])):[o]}else D=lr(o)?[o]:[[o]];let F=0;do{const r=D[F];for(null!=r&&Object.keys(r).forEach((e=>{let n=+e+1;if(n||(n=I(k,e))){let o,a,i;const s=r[e];switch(typeof s){case"string":if(i=m(s)+1,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");d(s,a,i),f.push(a),o=P(k,n,a,i-1,0);break;case"boolean":o=L(k,n,+s);break;case"number":o=Number.isInteger(s)?L(k,n,s):M(k,n,s);break;case"object":if(s instanceof ArrayBuffer){if(i=s.byteLength,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");w(new Uint8Array(s),a),f.push(a),o=R(k,n,a,i,0)}else if(s&&c.autoJSON){const r=JSON.stringify(s);if(i=m(r)+1,a=v(i),!a)throw dr(f),new Error("Unable to allocate memory");d(r,a,i),f.push(a),o=P(k,n,a,i,0)}else o=B(k,n);break;default:o=B(k,n)}if(o!==t.OK)throw $(k),dr(f),new Error(C(b))}}));(a=x(k))===t.ROW;){const r=[];for(let e=0;e<S;e++){let n;switch(G(k,e)){case t.INTEGER:case t.FLOAT:n=q(k,e);break;case t.TEXT:let r=U(k,e);if(c.autoJSON&&fr(r))try{n=JSON.parse(r)}catch(e){n=r}else n=r;break;case t.BLOB:const o=W(k,e),a=j(k,e);n=c.autoGeoJSON&&or(a,o)?ur(a,o,c.autoGeoJSON.precision,c.autoGeoJSON.options):s.HEAP8.buffer.slice(a,a+o);break;default:n=null}r[e]=n}h.push(r)}if(dr(f),K(k),X(k),a!==t.DONE)throw $(k),new Error(C(b));F++}while(F<D.length);return $(k),p(_),i=e(O,h),n},r instanceof ArrayBuffer)_=":memory:",hr=cr(),E.createDataFile("/tmp",hr,new Uint8Array(r),!0,!0);else{if("string"!=typeof r&&r)throw new Error("Expected nothing, string or ArrayBuffer");_=r}y=f(4);const mr=F(_||":memory:",y);if(b=u(y,"i32"),mr!==t.OK)throw new Error(C(b));g=k(),S(b,g,!1),D(b,0,0),hr&&(this.load("/tmp/"+hr),E.unlink("/tmp/"+hr)),this.read("SELECT PROJ_SetDatabasePath('/proj_min.db');")},a.version=()=>{const r=a.db();r.exec("select\n spatialite_version() spatialite,\n sqlite_version() sqlite,\n geos_version() geos,\n proj_version() proj,\n rttopo_version() rttopo,\n '1.0.1' spl");const e=r.get.objs[0];return r.close(),e},a.fs={},a.fs.mount=(r,e="root",t=[])=>{const n="root"==e||"."==e||"/"===e||!e;try{if(E.mkdir(n?"root":e),_)E.mount(y,{root:r},n?"root":e);else{const r=t.reduce(((r,e)=>{const{name:t,data:n}=e;if(n instanceof Blob)r.blobs.push({name:t,data:n});else if(n instanceof File)r.files.push(n);else if(n instanceof FileList)for(let e=0;e<n.length;e++)r.files.push(n.item(e));else n instanceof ArrayBuffer?r.blobs.push({name:t,data:new Blob([n])}):"string"==typeof n&&r.blobs.push({name:t,data:new URL(n).toString()});return r}),{files:[],blobs:[]});(r.files.length||r.blobs.length)&&E.mount(b,r,n?"root":e)}n&&E.chdir("root")}catch(r){throw new Error(r.message)}return a},a.fs.unmount=r=>{try{E.unmount(r)}catch(r){throw new Error(r.message)}return a},n&&(a.fs.file=r=>{try{return E.readFile(r,{encoding:"binary"}).buffer}catch(r){throw new Error(r.message||r.toString()||"fs.file failed")}},a.fs.dir=r=>{try{return E.readdir(r).filter((r=>"."!==r&&".."!==r))}catch(r){throw new Error(r.message||r.toString()||"fs.dir failed")}},a.fs.unlink=r=>{try{E.unlink(r)}catch(r){throw new Error(r.message||r.toString()||"fs.unlink failed")}return a},a.fs.mkdir=r=>{try{E.mkdir(r)}catch(r){throw new Error(r.message||r.toString()||"fs.mkdir failed")}return a}),Object.freeze(a)}(null,n);export{n as default};
|
package/dist/index.wasm
CHANGED
|
Binary file
|