UNPKG

@hyrfilm/workhorse

Version:

Transactional task queue for the browser with support for OPFS, localStorage, sessionStorage, in-memory

2 lines 212 kB
(function(){"use strict";var lt=(()=>{var oe=self.location.href;return function(ee={}){var le,i=ee,Z,K,ue=new Promise((e,t)=>{Z=e,K=t}),me=typeof window=="object",ye=typeof importScripts=="function";typeof process=="object"&&typeof process.versions=="object"&&process.versions.node;const Ae=globalThis.sqlite3InitModuleState||Object.assign(Object.create(null),{debugModule:()=>{}});delete globalThis.sqlite3InitModuleState,Ae.debugModule("globalThis.location =",globalThis.location);var Ie=Object.assign({},i),ie="./this.program",fe="";function Se(e){return i.locateFile?i.locateFile(e,fe):fe+e}var Pe,De;(me||ye)&&(ye?fe=self.location.href:typeof document<"u"&&document.currentScript&&(fe=document.currentScript.src),oe&&(fe=oe),fe.startsWith("blob:")?fe="":fe=fe.substr(0,fe.replace(/[?#].*/,"").lastIndexOf("/")+1),ye&&(De=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),Pe=e=>fetch(e,{credentials:"same-origin"}).then(t=>t.ok?t.arrayBuffer():Promise.reject(new Error(t.status+" : "+t.url))));var Fe=i.print||console.log.bind(console),Oe=i.printErr||console.error.bind(console);Object.assign(i,Ie),Ie=null,i.arguments&&i.arguments,i.thisProgram&&(ie=i.thisProgram);var Me=i.wasmBinary,Ce,je=!1,ke,Be,Re,be,qe,Ne;function Ot(){var e=Ce.buffer;i.HEAP8=ke=new Int8Array(e),i.HEAP16=Re=new Int16Array(e),i.HEAPU8=Be=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAP32=be=new Int32Array(e),i.HEAPU32=qe=new Uint32Array(e),i.HEAPF32=new Float32Array(e),i.HEAPF64=new Float64Array(e),i.HEAP64=Ne=new BigInt64Array(e),i.HEAPU64=new BigUint64Array(e)}if(i.wasmMemory)Ce=i.wasmMemory;else{var an=i.INITIAL_MEMORY||16777216;Ce=new WebAssembly.Memory({initial:an/65536,maximum:32768})}Ot();var Lt=[],Ct=[],Dt=[];function ln(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)un(i.preRun.shift());mt(Lt)}function cn(){!i.noFSInit&&!l.initialized&&l.init(),l.ignorePermissions=!1,mt(Ct)}function _n(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)dn(i.postRun.shift());mt(Dt)}function un(e){Lt.unshift(e)}function fn(e){Ct.unshift(e)}function dn(e){Dt.unshift(e)}var Qe=0,Xe=null;function Ar(e){return e}function pt(e){Qe++,i.monitorRunDependencies?.(Qe)}function rt(e){if(Qe--,i.monitorRunDependencies?.(Qe),Qe==0&&Xe){var t=Xe;Xe=null,t()}}function ht(e){i.onAbort?.(e),e="Aborted("+e+")",Oe(e),je=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw K(t),t}var pn="data:application/octet-stream;base64,",Rt=e=>e.startsWith(pn);function hn(){if(i.locateFile){var e="sqlite3.wasm";return Rt(e)?e:Se(e)}return new URL(""+new URL("sqlite3-CgX3seBP.wasm",self.location.href).href,self.location.href).href}var st;function Nt(e){if(e==st&&Me)return new Uint8Array(Me);if(De)return De(e);throw"both async and sync fetching of the wasm failed"}function mn(e){return Me?Promise.resolve().then(()=>Nt(e)):Pe(e).then(t=>new Uint8Array(t),()=>Nt(e))}function Mt(e,t,n){return mn(e).then(r=>WebAssembly.instantiate(r,t)).then(n,r=>{Oe(`failed to asynchronously prepare wasm: ${r}`),ht(r)})}function gn(e,t,n,r){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!Rt(t)&&typeof fetch=="function"?fetch(t,{credentials:"same-origin"}).then(s=>{var o=WebAssembly.instantiateStreaming(s,n);return o.then(r,function(h){return Oe(`wasm streaming compile failed: ${h}`),Oe("falling back to ArrayBuffer instantiation"),Mt(t,n,r)})}):Mt(t,n,r)}function bn(){return{env:Vt,wasi_snapshot_preview1:Vt}}function yn(){var e=bn();function t(r,s){return m=r.exports,fn(m.__wasm_call_ctors),rt(),m}pt();function n(r){t(r.instance)}if(i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(r){Oe(`Module.instantiateWasm callback failed with error: ${r}`),K(r)}return st||(st=hn()),gn(Me,st,e,n).catch(K),{}}var mt=e=>{for(;e.length>0;)e.shift()(i)};i.noExitRuntime;var we={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return t.exec(e).slice(1)},normalizeArray:(e,t)=>{for(var n=0,r=e.length-1;r>=0;r--){var s=e[r];s==="."?e.splice(r,1):s===".."?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:e=>{var t=we.isAbs(e),n=e.substr(-1)==="/";return e=we.normalizeArray(e.split("/").filter(r=>!!r),!t).join("/"),!e&&!t&&(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=we.splitPath(e),n=t[0],r=t[1];return!n&&!r?".":(r&&(r=r.substr(0,r.length-1)),n+r)},basename:e=>{if(e==="/")return"/";e=we.normalize(e),e=e.replace(/\/$/,"");var t=e.lastIndexOf("/");return t===-1?e:e.substr(t+1)},join:(...e)=>we.normalize(e.join("/")),join2:(e,t)=>we.normalize(e+"/"+t)},qn=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return e=>crypto.getRandomValues(e);ht("initRandomDevice")},jt=e=>(jt=qn())(e),ze={resolve:(...e)=>{for(var t="",n=!1,r=e.length-1;r>=-1&&!n;r--){var s=r>=0?e[r]:l.cwd();if(typeof s!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";t=s+"/"+t,n=we.isAbs(s)}return t=we.normalizeArray(t.split("/").filter(o=>!!o),!n).join("/"),(n?"/":"")+t||"."},relative:(e,t)=>{e=ze.resolve(e).substr(1),t=ze.resolve(t).substr(1);function n(D){for(var U=0;U<D.length&&D[U]==="";U++);for(var Q=D.length-1;Q>=0&&D[Q]==="";Q--);return U>Q?[]:D.slice(U,Q-U+1)}for(var r=n(e.split("/")),s=n(t.split("/")),o=Math.min(r.length,s.length),h=o,g=0;g<o;g++)if(r[g]!==s[g]){h=g;break}for(var P=[],g=h;g<r.length;g++)P.push("..");return P=P.concat(s.slice(h)),P.join("/")}},Bt=typeof TextDecoder<"u"?new TextDecoder:void 0,$e=(e,t,n)=>{for(var r=t+n,s=t;e[s]&&!(s>=r);)++s;if(s-t>16&&e.buffer&&Bt)return Bt.decode(e.subarray(t,s));for(var o="";t<s;){var h=e[t++];if(!(h&128)){o+=String.fromCharCode(h);continue}var g=e[t++]&63;if((h&224)==192){o+=String.fromCharCode((h&31)<<6|g);continue}var P=e[t++]&63;if((h&240)==224?h=(h&15)<<12|g<<6|P:h=(h&7)<<18|g<<12|P<<6|e[t++]&63,h<65536)o+=String.fromCharCode(h);else{var D=h-65536;o+=String.fromCharCode(55296|D>>10,56320|D&1023)}}return o},gt=[],it=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},bt=(e,t,n,r)=>{if(!(r>0))return 0;for(var s=n,o=n+r-1,h=0;h<e.length;++h){var g=e.charCodeAt(h);if(g>=55296&&g<=57343){var P=e.charCodeAt(++h);g=65536+((g&1023)<<10)|P&1023}if(g<=127){if(n>=o)break;t[n++]=g}else if(g<=2047){if(n+1>=o)break;t[n++]=192|g>>6,t[n++]=128|g&63}else if(g<=65535){if(n+2>=o)break;t[n++]=224|g>>12,t[n++]=128|g>>6&63,t[n++]=128|g&63}else{if(n+3>=o)break;t[n++]=240|g>>18,t[n++]=128|g>>12&63,t[n++]=128|g>>6&63,t[n++]=128|g&63}}return t[n]=0,n-s};function Ut(e,t,n){var r=it(e)+1,s=new Array(r),o=bt(e,s,0,s.length);return s.length=o,s}var wn=()=>{if(!gt.length){var e=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=` `)),!e)return null;gt=Ut(e)}return gt.shift()},He={ttys:[],init(){},shutdown(){},register(e,t){He.ttys[e]={input:[],output:[],ops:t},l.registerDevice(e,He.stream_ops)},stream_ops:{open(e){var t=He.ttys[e.node.rdev];if(!t)throw new l.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,n,r,s){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);for(var o=0,h=0;h<r;h++){var g;try{g=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(g===void 0&&o===0)throw new l.ErrnoError(6);if(g==null)break;o++,t[n+h]=g}return o&&(e.node.timestamp=Date.now()),o},write(e,t,n,r,s){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var o=0;o<r;o++)e.tty.ops.put_char(e.tty,t[n+o])}catch{throw new l.ErrnoError(29)}return r&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char(e){return wn()},put_char(e,t){t===null||t===10?(Fe($e(e.output,0)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(Fe($e(e.output,0)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,n){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(Oe($e(e.output,0)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(Oe($e(e.output,0)),e.output=[])}}},vn=(e,t)=>(Be.fill(0,e,e+t),e),zt=(e,t)=>Math.ceil(e/t)*t,Wt=e=>{e=zt(e,65536);var t=$t(65536,e);return t?vn(t,e):0},de={ops_table:null,mount(e){return de.createNode(null,"/",16895,0)},createNode(e,t,n,r){if(l.isBlkdev(n)||l.isFIFO(n))throw new l.ErrnoError(63);de.ops_table||={dir:{node:{getattr:de.node_ops.getattr,setattr:de.node_ops.setattr,lookup:de.node_ops.lookup,mknod:de.node_ops.mknod,rename:de.node_ops.rename,unlink:de.node_ops.unlink,rmdir:de.node_ops.rmdir,readdir:de.node_ops.readdir,symlink:de.node_ops.symlink},stream:{llseek:de.stream_ops.llseek}},file:{node:{getattr:de.node_ops.getattr,setattr:de.node_ops.setattr},stream:{llseek:de.stream_ops.llseek,read:de.stream_ops.read,write:de.stream_ops.write,allocate:de.stream_ops.allocate,mmap:de.stream_ops.mmap,msync:de.stream_ops.msync}},link:{node:{getattr:de.node_ops.getattr,setattr:de.node_ops.setattr,readlink:de.node_ops.readlink},stream:{}},chrdev:{node:{getattr:de.node_ops.getattr,setattr:de.node_ops.setattr},stream:l.chrdev_stream_ops}};var s=l.createNode(e,t,n,r);return l.isDir(s.mode)?(s.node_ops=de.ops_table.dir.node,s.stream_ops=de.ops_table.dir.stream,s.contents={}):l.isFile(s.mode)?(s.node_ops=de.ops_table.file.node,s.stream_ops=de.ops_table.file.stream,s.usedBytes=0,s.contents=null):l.isLink(s.mode)?(s.node_ops=de.ops_table.link.node,s.stream_ops=de.ops_table.link.stream):l.isChrdev(s.mode)&&(s.node_ops=de.ops_table.chrdev.node,s.stream_ops=de.ops_table.chrdev.stream),s.timestamp=Date.now(),e&&(e.contents[t]=s,e.timestamp=s.timestamp),s},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,t){var n=e.contents?e.contents.length:0;if(!(n>=t)){var r=1024*1024;t=Math.max(t,n*(n<r?2:1.125)>>>0),n!=0&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(t==0)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=l.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,l.isDir(e.mode)?t.size=4096:l.isFile(e.mode)?t.size=e.usedBytes:l.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){t.mode!==void 0&&(e.mode=t.mode),t.timestamp!==void 0&&(e.timestamp=t.timestamp),t.size!==void 0&&de.resizeFileStorage(e,t.size)},lookup(e,t){throw l.genericErrors[44]},mknod(e,t,n,r){return de.createNode(e,t,n,r)},rename(e,t,n){if(l.isDir(e.mode)){var r;try{r=l.lookupNode(t,n)}catch{}if(r)for(var s in r.contents)throw new l.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var n=l.lookupNode(e,t);for(var r in n.contents)throw new l.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var n of Object.keys(e.contents))t.push(n);return t},symlink(e,t,n){var r=de.createNode(e,t,41471,0);return r.link=n,r},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,t,n,r,s){var o=e.node.contents;if(s>=e.node.usedBytes)return 0;var h=Math.min(e.node.usedBytes-s,r);if(h>8&&o.subarray)t.set(o.subarray(s,s+h),n);else for(var g=0;g<h;g++)t[n+g]=o[s+g];return h},write(e,t,n,r,s,o){if(t.buffer===ke.buffer&&(o=!1),!r)return 0;var h=e.node;if(h.timestamp=Date.now(),t.subarray&&(!h.contents||h.contents.subarray)){if(o)return h.contents=t.subarray(n,n+r),h.usedBytes=r,r;if(h.usedBytes===0&&s===0)return h.contents=t.slice(n,n+r),h.usedBytes=r,r;if(s+r<=h.usedBytes)return h.contents.set(t.subarray(n,n+r),s),r}if(de.expandFileStorage(h,s+r),h.contents.subarray&&t.subarray)h.contents.set(t.subarray(n,n+r),s);else for(var g=0;g<r;g++)h.contents[s+g]=t[n+g];return h.usedBytes=Math.max(h.usedBytes,s+r),r},llseek(e,t,n){var r=t;if(n===1?r+=e.position:n===2&&l.isFile(e.node.mode)&&(r+=e.node.usedBytes),r<0)throw new l.ErrnoError(28);return r},allocate(e,t,n){de.expandFileStorage(e.node,t+n),e.node.usedBytes=Math.max(e.node.usedBytes,t+n)},mmap(e,t,n,r,s){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var o,h,g=e.node.contents;if(!(s&2)&&g&&g.buffer===ke.buffer)h=!1,o=g.byteOffset;else{if(h=!0,o=Wt(t),!o)throw new l.ErrnoError(48);g&&((n>0||n+t<g.length)&&(g.subarray?g=g.subarray(n,n+t):g=Array.prototype.slice.call(g,n,n+t)),ke.set(g,o))}return{ptr:o,allocated:h}},msync(e,t,n,r,s){return de.stream_ops.write(e,t,0,r,n,!1),0}}},En=(e,t,n,r)=>{var s=`al ${e}`;Pe(e).then(o=>{t(new Uint8Array(o)),s&&rt()},o=>{if(n)n();else throw`Loading data file "${e}" failed.`}),s&&pt()},xn=(e,t,n,r,s,o)=>{l.createDataFile(e,t,n,r,s,o)},Sn=i.preloadPlugins||[],An=(e,t,n,r)=>{typeof Browser<"u"&&Browser.init();var s=!1;return Sn.forEach(o=>{s||o.canHandle(t)&&(o.handle(e,t,n,r),s=!0)}),s},In=(e,t,n,r,s,o,h,g,P,D)=>{var U=t?ze.resolve(we.join2(e,t)):e;function Q(T){function S(C){D?.(),g||xn(e,t,C,r,s,P),o?.(),rt()}An(T,U,S,()=>{h?.(),rt()})||S(T)}pt(),typeof n=="string"?En(n,Q,h):Q(n)},kn=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},n=t[e];if(typeof n>"u")throw new Error(`Unknown file open mode: ${e}`);return n},yt=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=l.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}},lookupPath(e,t={}){if(e=ze.resolve(e),!e)return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if(t=Object.assign(n,t),t.recurse_count>8)throw new l.ErrnoError(32);for(var r=e.split("/").filter(Q=>!!Q),s=l.root,o="/",h=0;h<r.length;h++){var g=h===r.length-1;if(g&&t.parent)break;if(s=l.lookupNode(s,r[h]),o=we.join2(o,r[h]),l.isMountpoint(s)&&(!g||g&&t.follow_mount)&&(s=s.mounted.root),!g||t.follow)for(var P=0;l.isLink(s.mode);){var D=l.readlink(o);o=ze.resolve(we.dirname(o),D);var U=l.lookupPath(o,{recurse_count:t.recurse_count+1});if(s=U.node,P++>40)throw new l.ErrnoError(32)}}return{path:o,node:s}},getPath(e){for(var t;;){if(l.isRoot(e)){var n=e.mount.mountpoint;return t?n[n.length-1]!=="/"?`${n}/${t}`:n+t:n}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%l.nameTable.length},hashAddNode(e){var t=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[t],l.nameTable[t]=e},hashRemoveNode(e){var t=l.hashName(e.parent.id,e.name);if(l.nameTable[t]===e)l.nameTable[t]=e.name_next;else for(var n=l.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode(e,t){var n=l.mayLookup(e);if(n)throw new l.ErrnoError(n);for(var r=l.hashName(e.id,t),s=l.nameTable[r];s;s=s.name_next){var o=s.name;if(s.parent.id===e.id&&o===t)return s}return l.lookup(e,t)},createNode(e,t,n,r){var s=new l.FSNode(e,t,n,r);return l.hashAddNode(s),s},destroyNode(e){l.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var t=["r","w","rw"][e&3];return e&512&&(t+="w"),t},nodePermissions(e,t){return l.ignorePermissions?0:t.includes("r")&&!(e.mode&292)||t.includes("w")&&!(e.mode&146)||t.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!l.isDir(e.mode))return 54;var t=l.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{var n=l.lookupNode(e,t);return 20}catch{}return l.nodePermissions(e,"wx")},mayDelete(e,t,n){var r;try{r=l.lookupNode(e,t)}catch(o){return o.errno}var s=l.nodePermissions(e,"wx");if(s)return s;if(n){if(!l.isDir(r.mode))return 54;if(l.isRoot(r)||l.getPath(r)===l.cwd())return 10}else if(l.isDir(r.mode))return 31;return 0},mayOpen(e,t){return e?l.isLink(e.mode)?32:l.isDir(e.mode)&&(l.flagsToPermissionString(t)!=="r"||t&512)?31:l.nodePermissions(e,l.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=l.MAX_OPEN_FDS;e++)if(!l.streams[e])return e;throw new l.ErrnoError(33)},getStreamChecked(e){var t=l.getStream(e);if(!t)throw new l.ErrnoError(8);return t},getStream:e=>l.streams[e],createStream(e,t=-1){return e=Object.assign(new l.FSStream,e),t==-1&&(t=l.nextfd()),e.fd=t,l.streams[t]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,t=-1){var n=l.createStream(e,t);return n.stream_ops?.dup?.(n),n},chrdev_stream_ops:{open(e){var t=l.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new l.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){l.devices[e]={stream_ops:t}},getDevice:e=>l.devices[e],getMounts(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push(...r.mounts)}return t},syncfs(e,t){typeof e=="function"&&(t=e,e=!1),l.syncFSRequests++,l.syncFSRequests>1&&Oe(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var n=l.getMounts(l.root.mount),r=0;function s(h){return l.syncFSRequests--,t(h)}function o(h){if(h)return o.errored?void 0:(o.errored=!0,s(h));++r>=n.length&&s(null)}n.forEach(h=>{if(!h.type.syncfs)return o(null);h.type.syncfs(h,e,o)})},mount(e,t,n){var r=n==="/",s=!n,o;if(r&&l.root)throw new l.ErrnoError(10);if(!r&&!s){var h=l.lookupPath(n,{follow_mount:!1});if(n=h.path,o=h.node,l.isMountpoint(o))throw new l.ErrnoError(10);if(!l.isDir(o.mode))throw new l.ErrnoError(54)}var g={type:e,opts:t,mountpoint:n,mounts:[]},P=e.mount(g);return P.mount=g,g.root=P,r?l.root=P:o&&(o.mounted=g,o.mount&&o.mount.mounts.push(g)),P},unmount(e){var t=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(t.node))throw new l.ErrnoError(28);var n=t.node,r=n.mounted,s=l.getMounts(r);Object.keys(l.nameTable).forEach(h=>{for(var g=l.nameTable[h];g;){var P=g.name_next;s.includes(g.mount)&&l.destroyNode(g),g=P}}),n.mounted=null;var o=n.mount.mounts.indexOf(r);n.mount.mounts.splice(o,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,n){var r=l.lookupPath(e,{parent:!0}),s=r.node,o=we.basename(e);if(!o||o==="."||o==="..")throw new l.ErrnoError(28);var h=l.mayCreate(s,o);if(h)throw new l.ErrnoError(h);if(!s.node_ops.mknod)throw new l.ErrnoError(63);return s.node_ops.mknod(s,o,t,n)},create(e,t){return t=t!==void 0?t:438,t&=4095,t|=32768,l.mknod(e,t,0)},mkdir(e,t){return t=t!==void 0?t:511,t&=1023,t|=16384,l.mknod(e,t,0)},mkdirTree(e,t){for(var n=e.split("/"),r="",s=0;s<n.length;++s)if(n[s]){r+="/"+n[s];try{l.mkdir(r,t)}catch(o){if(o.errno!=20)throw o}}},mkdev(e,t,n){return typeof n>"u"&&(n=t,t=438),t|=8192,l.mknod(e,t,n)},symlink(e,t){if(!ze.resolve(e))throw new l.ErrnoError(44);var n=l.lookupPath(t,{parent:!0}),r=n.node;if(!r)throw new l.ErrnoError(44);var s=we.basename(t),o=l.mayCreate(r,s);if(o)throw new l.ErrnoError(o);if(!r.node_ops.symlink)throw new l.ErrnoError(63);return r.node_ops.symlink(r,s,e)},rename(e,t){var n=we.dirname(e),r=we.dirname(t),s=we.basename(e),o=we.basename(t),h,g,P;if(h=l.lookupPath(e,{parent:!0}),g=h.node,h=l.lookupPath(t,{parent:!0}),P=h.node,!g||!P)throw new l.ErrnoError(44);if(g.mount!==P.mount)throw new l.ErrnoError(75);var D=l.lookupNode(g,s),U=ze.relative(e,r);if(U.charAt(0)!==".")throw new l.ErrnoError(28);if(U=ze.relative(t,n),U.charAt(0)!==".")throw new l.ErrnoError(55);var Q;try{Q=l.lookupNode(P,o)}catch{}if(D!==Q){var T=l.isDir(D.mode),S=l.mayDelete(g,s,T);if(S)throw new l.ErrnoError(S);if(S=Q?l.mayDelete(P,o,T):l.mayCreate(P,o),S)throw new l.ErrnoError(S);if(!g.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(D)||Q&&l.isMountpoint(Q))throw new l.ErrnoError(10);if(P!==g&&(S=l.nodePermissions(g,"w"),S))throw new l.ErrnoError(S);l.hashRemoveNode(D);try{g.node_ops.rename(D,P,o),D.parent=P}catch(C){throw C}finally{l.hashAddNode(D)}}},rmdir(e){var t=l.lookupPath(e,{parent:!0}),n=t.node,r=we.basename(e),s=l.lookupNode(n,r),o=l.mayDelete(n,r,!0);if(o)throw new l.ErrnoError(o);if(!n.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(s))throw new l.ErrnoError(10);n.node_ops.rmdir(n,r),l.destroyNode(s)},readdir(e){var t=l.lookupPath(e,{follow:!0}),n=t.node;if(!n.node_ops.readdir)throw new l.ErrnoError(54);return n.node_ops.readdir(n)},unlink(e){var t=l.lookupPath(e,{parent:!0}),n=t.node;if(!n)throw new l.ErrnoError(44);var r=we.basename(e),s=l.lookupNode(n,r),o=l.mayDelete(n,r,!1);if(o)throw new l.ErrnoError(o);if(!n.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(s))throw new l.ErrnoError(10);n.node_ops.unlink(n,r),l.destroyNode(s)},readlink(e){var t=l.lookupPath(e),n=t.node;if(!n)throw new l.ErrnoError(44);if(!n.node_ops.readlink)throw new l.ErrnoError(28);return ze.resolve(l.getPath(n.parent),n.node_ops.readlink(n))},stat(e,t){var n=l.lookupPath(e,{follow:!t}),r=n.node;if(!r)throw new l.ErrnoError(44);if(!r.node_ops.getattr)throw new l.ErrnoError(63);return r.node_ops.getattr(r)},lstat(e){return l.stat(e,!0)},chmod(e,t,n){var r;if(typeof e=="string"){var s=l.lookupPath(e,{follow:!n});r=s.node}else r=e;if(!r.node_ops.setattr)throw new l.ErrnoError(63);r.node_ops.setattr(r,{mode:t&4095|r.mode&-4096,timestamp:Date.now()})},lchmod(e,t){l.chmod(e,t,!0)},fchmod(e,t){var n=l.getStreamChecked(e);l.chmod(n.node,t)},chown(e,t,n,r){var s;if(typeof e=="string"){var o=l.lookupPath(e,{follow:!r});s=o.node}else s=e;if(!s.node_ops.setattr)throw new l.ErrnoError(63);s.node_ops.setattr(s,{timestamp:Date.now()})},lchown(e,t,n){l.chown(e,t,n,!0)},fchown(e,t,n){var r=l.getStreamChecked(e);l.chown(r.node,t,n)},truncate(e,t){if(t<0)throw new l.ErrnoError(28);var n;if(typeof e=="string"){var r=l.lookupPath(e,{follow:!0});n=r.node}else n=e;if(!n.node_ops.setattr)throw new l.ErrnoError(63);if(l.isDir(n.mode))throw new l.ErrnoError(31);if(!l.isFile(n.mode))throw new l.ErrnoError(28);var s=l.nodePermissions(n,"w");if(s)throw new l.ErrnoError(s);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate(e,t){var n=l.getStreamChecked(e);if((n.flags&2097155)===0)throw new l.ErrnoError(28);l.truncate(n.node,t)},utime(e,t,n){var r=l.lookupPath(e,{follow:!0}),s=r.node;s.node_ops.setattr(s,{timestamp:Math.max(t,n)})},open(e,t,n){if(e==="")throw new l.ErrnoError(44);t=typeof t=="string"?kn(t):t,t&64?(n=typeof n>"u"?438:n,n=n&4095|32768):n=0;var r;if(typeof e=="object")r=e;else{e=we.normalize(e);try{var s=l.lookupPath(e,{follow:!(t&131072)});r=s.node}catch{}}var o=!1;if(t&64)if(r){if(t&128)throw new l.ErrnoError(20)}else r=l.mknod(e,n,0),o=!0;if(!r)throw new l.ErrnoError(44);if(l.isChrdev(r.mode)&&(t&=-513),t&65536&&!l.isDir(r.mode))throw new l.ErrnoError(54);if(!o){var h=l.mayOpen(r,t);if(h)throw new l.ErrnoError(h)}t&512&&!o&&l.truncate(r,0),t&=-131713;var g=l.createStream({node:r,path:l.getPath(r),flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1});return g.stream_ops.open&&g.stream_ops.open(g),i.logReadFiles&&!(t&1)&&(l.readFiles||(l.readFiles={}),e in l.readFiles||(l.readFiles[e]=1)),g},close(e){if(l.isClosed(e))throw new l.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,n){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(n!=0&&n!=1&&n!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read(e,t,n,r,s){if(r<0||s<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.read)throw new l.ErrnoError(28);var o=typeof s<"u";if(!o)s=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var h=e.stream_ops.read(e,t,n,r,s);return o||(e.position+=h),h},write(e,t,n,r,s,o){if(r<0||s<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.write)throw new l.ErrnoError(28);e.seekable&&e.flags&1024&&l.llseek(e,0,2);var h=typeof s<"u";if(!h)s=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var g=e.stream_ops.write(e,t,n,r,s,o);return h||(e.position+=g),g},allocate(e,t,n){if(l.isClosed(e))throw new l.ErrnoError(8);if(t<0||n<=0)throw new l.ErrnoError(28);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(!l.isFile(e.node.mode)&&!l.isDir(e.node.mode))throw new l.ErrnoError(43);if(!e.stream_ops.allocate)throw new l.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap(e,t,n,r,s){if((r&2)!==0&&(s&2)===0&&(e.flags&2097155)!==2)throw new l.ErrnoError(2);if((e.flags&2097155)===1)throw new l.ErrnoError(2);if(!e.stream_ops.mmap)throw new l.ErrnoError(43);if(!t)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,t,n,r,s)},msync(e,t,n,r,s){return e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,s):0},ioctl(e,t,n){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary",t.encoding!=="utf8"&&t.encoding!=="binary")throw new Error(`Invalid encoding type "${t.encoding}"`);var n,r=l.open(e,t.flags),s=l.stat(e),o=s.size,h=new Uint8Array(o);return l.read(r,h,0,o,0),t.encoding==="utf8"?n=$e(h,0):t.encoding==="binary"&&(n=h),l.close(r),n},writeFile(e,t,n={}){n.flags=n.flags||577;var r=l.open(e,n.flags,n.mode);if(typeof t=="string"){var s=new Uint8Array(it(t)+1),o=bt(t,s,0,s.length);l.write(r,s,0,o,void 0,n.canOwn)}else if(ArrayBuffer.isView(t))l.write(r,t,0,t.byteLength,void 0,n.canOwn);else throw new Error("Unsupported data type");l.close(r)},cwd:()=>l.currentPath,chdir(e){var t=l.lookupPath(e,{follow:!0});if(t.node===null)throw new l.ErrnoError(44);if(!l.isDir(t.node.mode))throw new l.ErrnoError(54);var n=l.nodePermissions(t.node,"x");if(n)throw new l.ErrnoError(n);l.currentPath=t.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(r,s,o,h,g)=>h}),l.mkdev("/dev/null",l.makedev(1,3)),He.register(l.makedev(5,0),He.default_tty_ops),He.register(l.makedev(6,0),He.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(t=jt(e).byteLength),e[--t]);l.createDevice("/dev","random",n),l.createDevice("/dev","urandom",n),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var e=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var t=l.createNode(e,"fd",16895,73);return t.node_ops={lookup(n,r){var s=+r,o=l.getStreamChecked(s),h={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return h.parent=h,h}},t}},{},"/proc/self/fd")},createStandardStreams(e,t,n){e?l.createDevice("/dev","stdin",e):l.symlink("/dev/tty","/dev/stdin"),t?l.createDevice("/dev","stdout",null,t):l.symlink("/dev/tty","/dev/stdout"),n?l.createDevice("/dev","stderr",null,n):l.symlink("/dev/tty1","/dev/stderr"),l.open("/dev/stdin",0),l.open("/dev/stdout",1),l.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{l.genericErrors[e]=new l.ErrnoError(e),l.genericErrors[e].stack="<generic error, no stack>"}),l.nameTable=new Array(4096),l.mount(de,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:de}},init(e,t,n){l.initialized=!0,e??=i.stdin,t??=i.stdout,n??=i.stderr,l.createStandardStreams(e,t,n)},quit(){l.initialized=!1;for(var e=0;e<l.streams.length;e++){var t=l.streams[e];t&&l.close(t)}},findObject(e,t){var n=l.analyzePath(e,t);return n.exists?n.object:null},analyzePath(e,t){try{var n=l.lookupPath(e,{follow:!t});e=n.path}catch{}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=l.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=we.basename(e),n=l.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot=n.path==="/"}catch(s){r.error=s.errno}return r},createPath(e,t,n,r){e=typeof e=="string"?e:l.getPath(e);for(var s=t.split("/").reverse();s.length;){var o=s.pop();if(o){var h=we.join2(e,o);try{l.mkdir(h)}catch{}e=h}}return h},createFile(e,t,n,r,s){var o=we.join2(typeof e=="string"?e:l.getPath(e),t),h=yt(r,s);return l.create(o,h)},createDataFile(e,t,n,r,s,o){var h=t;e&&(e=typeof e=="string"?e:l.getPath(e),h=t?we.join2(e,t):e);var g=yt(r,s),P=l.create(h,g);if(n){if(typeof n=="string"){for(var D=new Array(n.length),U=0,Q=n.length;U<Q;++U)D[U]=n.charCodeAt(U);n=D}l.chmod(P,g|146);var T=l.open(P,577);l.write(T,n,0,n.length,0,o),l.close(T),l.chmod(P,g)}},createDevice(e,t,n,r){var s=we.join2(typeof e=="string"?e:l.getPath(e),t),o=yt(!!n,!!r);l.createDevice.major||(l.createDevice.major=64);var h=l.makedev(l.createDevice.major++,0);return l.registerDevice(h,{open(g){g.seekable=!1},close(g){r?.buffer?.length&&r(10)},read(g,P,D,U,Q){for(var T=0,S=0;S<U;S++){var C;try{C=n()}catch{throw new l.ErrnoError(29)}if(C===void 0&&T===0)throw new l.ErrnoError(6);if(C==null)break;T++,P[D+S]=C}return T&&(g.node.timestamp=Date.now()),T},write(g,P,D,U,Q){for(var T=0;T<U;T++)try{r(P[D+T])}catch{throw new l.ErrnoError(29)}return U&&(g.node.timestamp=Date.now()),T}}),l.mkdev(s,o,h)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("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.");try{e.contents=De(e.url),e.usedBytes=e.contents.length}catch{throw new l.ErrnoError(29)}},createLazyFile(e,t,n,r,s){class o{constructor(){this.lengthKnown=!1,this.chunks=[]}get(S){if(!(S>this.length-1||S<0)){var C=S%this.chunkSize,b=S/this.chunkSize|0;return this.getter(b)[C]}}setDataGetter(S){this.getter=S}cacheLength(){var S=new XMLHttpRequest;if(S.open("HEAD",n,!1),S.send(null),!(S.status>=200&&S.status<300||S.status===304))throw new Error("Couldn't load "+n+". Status: "+S.status);var C=Number(S.getResponseHeader("Content-length")),b,w=(b=S.getResponseHeader("Accept-Ranges"))&&b==="bytes",E=(b=S.getResponseHeader("Content-Encoding"))&&b==="gzip",R=1024*1024;w||(R=C);var L=(O,J)=>{if(O>J)throw new Error("invalid range ("+O+", "+J+") or no bytes requested!");if(J>C-1)throw new Error("only "+C+" bytes available! programmer error!");var c=new XMLHttpRequest;if(c.open("GET",n,!1),C!==R&&c.setRequestHeader("Range","bytes="+O+"-"+J),c.responseType="arraybuffer",c.overrideMimeType&&c.overrideMimeType("text/plain; charset=x-user-defined"),c.send(null),!(c.status>=200&&c.status<300||c.status===304))throw new Error("Couldn't load "+n+". Status: "+c.status);return c.response!==void 0?new Uint8Array(c.response||[]):Ut(c.responseText||"")},x=this;x.setDataGetter(O=>{var J=O*R,c=(O+1)*R-1;if(c=Math.min(c,C-1),typeof x.chunks[O]>"u"&&(x.chunks[O]=L(J,c)),typeof x.chunks[O]>"u")throw new Error("doXHR failed!");return x.chunks[O]}),(E||!C)&&(R=C=1,C=this.getter(0).length,R=C,Fe("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=C,this._chunkSize=R,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ye)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var h=new o,g={isDevice:!1,contents:h}}else var g={isDevice:!1,url:n};var P=l.createFile(e,t,g,r,s);g.contents?P.contents=g.contents:g.url&&(P.contents=null,P.url=g.url),Object.defineProperties(P,{usedBytes:{get:function(){return this.contents.length}}});var D={},U=Object.keys(P.stream_ops);U.forEach(T=>{var S=P.stream_ops[T];D[T]=(...C)=>(l.forceLoadFile(P),S(...C))});function Q(T,S,C,b,w){var E=T.node.contents;if(w>=E.length)return 0;var R=Math.min(E.length-w,b);if(E.slice)for(var L=0;L<R;L++)S[C+L]=E[w+L];else for(var L=0;L<R;L++)S[C+L]=E.get(w+L);return R}return D.read=(T,S,C,b,w)=>(l.forceLoadFile(P),Q(T,S,C,b,w)),D.mmap=(T,S,C,b,w)=>{l.forceLoadFile(P);var E=Wt(S);if(!E)throw new l.ErrnoError(48);return Q(T,ke,E,S,C),{ptr:E,allocated:!0}},P.stream_ops=D,P}},Tn=(e,t)=>e?$e(Be,e,t):"",he={DEFAULT_POLLMASK:5,calculateAt(e,t,n){if(we.isAbs(t))return t;var r;if(e===-100)r=l.cwd();else{var s=he.getStreamFromFD(e);r=s.path}if(t.length==0){if(!n)throw new l.ErrnoError(44);return r}return we.join2(r,t)},doStat(e,t,n){var r=e(t);be[n>>2]=r.dev,be[n+4>>2]=r.mode,qe[n+8>>2]=r.nlink,be[n+12>>2]=r.uid,be[n+16>>2]=r.gid,be[n+20>>2]=r.rdev,Ne[n+24>>3]=BigInt(r.size),be[n+32>>2]=4096,be[n+36>>2]=r.blocks;var s=r.atime.getTime(),o=r.mtime.getTime(),h=r.ctime.getTime();return Ne[n+40>>3]=BigInt(Math.floor(s/1e3)),qe[n+48>>2]=s%1e3*1e3*1e3,Ne[n+56>>3]=BigInt(Math.floor(o/1e3)),qe[n+64>>2]=o%1e3*1e3*1e3,Ne[n+72>>3]=BigInt(Math.floor(h/1e3)),qe[n+80>>2]=h%1e3*1e3*1e3,Ne[n+88>>3]=BigInt(r.ino),0},doMsync(e,t,n,r,s){if(!l.isFile(t.node.mode))throw new l.ErrnoError(43);if(r&2)return 0;var o=Be.slice(e,e+n);l.msync(t,o,s,n,r)},getStreamFromFD(e){var t=l.getStreamChecked(e);return t},varargs:void 0,getStr(e){var t=Tn(e);return t}};function Fn(e,t){try{return e=he.getStr(e),l.chmod(e,t),0}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}function Pn(e,t,n,r){try{if(t=he.getStr(t),t=he.calculateAt(e,t),n&-8)return-28;var s=l.lookupPath(t,{follow:!0}),o=s.node;if(!o)return-44;var h="";return n&4&&(h+="r"),n&2&&(h+="w"),n&1&&(h+="x"),h&&l.nodePermissions(o,h)?-2:0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function On(e,t){try{return l.fchmod(e,t),0}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}function Ln(e,t,n){try{return l.fchown(e,t,n),0}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}function ot(){var e=be[+he.varargs>>2];return he.varargs+=4,e}var Ge=ot;function Cn(e,t,n){he.varargs=n;try{var r=he.getStreamFromFD(e);switch(t){case 0:{var s=ot();if(s<0)return-28;for(;l.streams[s];)s++;var o;return o=l.dupStream(r,s),o.fd}case 1:case 2:return 0;case 3:return r.flags;case 4:{var s=ot();return r.flags|=s,0}case 12:{var s=Ge(),h=0;return Re[s+h>>1]=2,0}case 13:case 14:return 0}return-28}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function Dn(e,t){try{var n=he.getStreamFromFD(e);return he.doStat(l.stat,n.path,t)}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}var Rn=9007199254740992,Nn=-9007199254740992,Ye=e=>e<Nn||e>Rn?NaN:Number(e);function Mn(e,t){t=Ye(t);try{return isNaN(t)?61:(l.ftruncate(e,t),0)}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}var Ke=(e,t,n)=>bt(e,Be,t,n);function jn(e,t){try{if(t===0)return-28;var n=l.cwd(),r=it(n)+1;return t<r?-68:(Ke(n,e,t),r)}catch(s){if(typeof l>"u"||s.name!=="ErrnoError")throw s;return-s.errno}}function Bn(e,t,n){he.varargs=n;try{var r=he.getStreamFromFD(e);switch(t){case 21509:return r.tty?0:-59;case 21505:{if(!r.tty)return-59;if(r.tty.ops.ioctl_tcgets){var s=r.tty.ops.ioctl_tcgets(r),o=Ge();be[o>>2]=s.c_iflag||0,be[o+4>>2]=s.c_oflag||0,be[o+8>>2]=s.c_cflag||0,be[o+12>>2]=s.c_lflag||0;for(var h=0;h<32;h++)ke[o+h+17]=s.c_cc[h]||0;return 0}return 0}case 21510:case 21511:case 21512:return r.tty?0:-59;case 21506:case 21507:case 21508:{if(!r.tty)return-59;if(r.tty.ops.ioctl_tcsets){for(var o=Ge(),g=be[o>>2],P=be[o+4>>2],D=be[o+8>>2],U=be[o+12>>2],Q=[],h=0;h<32;h++)Q.push(ke[o+h+17]);return r.tty.ops.ioctl_tcsets(r.tty,t,{c_iflag:g,c_oflag:P,c_cflag:D,c_lflag:U,c_cc:Q})}return 0}case 21519:{if(!r.tty)return-59;var o=Ge();return be[o>>2]=0,0}case 21520:return r.tty?-28:-59;case 21531:{var o=Ge();return l.ioctl(r,t,o)}case 21523:{if(!r.tty)return-59;if(r.tty.ops.ioctl_tiocgwinsz){var T=r.tty.ops.ioctl_tiocgwinsz(r.tty),o=Ge();Re[o>>1]=T[0],Re[o+2>>1]=T[1]}return 0}case 21524:return r.tty?0:-59;case 21515:return r.tty?0:-59;default:return-28}}catch(S){if(typeof l>"u"||S.name!=="ErrnoError")throw S;return-S.errno}}function Un(e,t){try{return e=he.getStr(e),he.doStat(l.lstat,e,t)}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}function zn(e,t,n){try{return t=he.getStr(t),t=he.calculateAt(e,t),t=we.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),l.mkdir(t,n,0),0}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}function Wn(e,t,n,r){try{t=he.getStr(t);var s=r&256,o=r&4096;return r=r&-6401,t=he.calculateAt(e,t,o),he.doStat(s?l.lstat:l.stat,t,n)}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Qn(e,t,n,r){he.varargs=r;try{t=he.getStr(t),t=he.calculateAt(e,t);var s=r?ot():0;return l.open(t,n,s).fd}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function Hn(e,t,n,r){try{if(t=he.getStr(t),t=he.calculateAt(e,t),r<=0)return-28;var s=l.readlink(t),o=Math.min(r,it(s)),h=ke[n+o];return Ke(s,n,r+1),ke[n+o]=h,o}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function Vn(e){try{return e=he.getStr(e),l.rmdir(e),0}catch(t){if(typeof l>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}function $n(e,t){try{return e=he.getStr(e),he.doStat(l.stat,e,t)}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}function Gn(e,t,n){try{return t=he.getStr(t),t=he.calculateAt(e,t),n===0?l.unlink(t):n===512?l.rmdir(t):ht("Invalid flags passed to unlinkat"),0}catch(r){if(typeof l>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}var Qt=e=>qe[e>>2]+be[e+4>>2]*4294967296;function Kn(e,t,n,r){try{t=he.getStr(t),t=he.calculateAt(e,t,!0);var s=Date.now(),o,h;if(!n)o=s,h=s;else{var g=Qt(n),P=be[n+8>>2];P==1073741823?o=s:P==1073741822?o=-1:o=g*1e3+P/1e6,n+=16,g=Qt(n),P=be[n+8>>2],P==1073741823?h=s:P==1073741822?h=-1:h=g*1e3+P/1e6}return(h!=-1||o!=-1)&&l.utime(t,o,h),0}catch(D){if(typeof l>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}var Jn=1,Xn=()=>Jn,Yn=e=>e%4===0&&(e%100!==0||e%400===0),Zn=[0,31,60,91,121,152,182,213,244,274,305,335],er=[0,31,59,90,120,151,181,212,243,273,304,334],tr=e=>{var t=Yn(e.getFullYear()),n=t?Zn:er,r=n[e.getMonth()]+e.getDate()-1;return r};function nr(e,t){e=Ye(e);var n=new Date(e*1e3);be[t>>2]=n.getSeconds(),be[t+4>>2]=n.getMinutes(),be[t+8>>2]=n.getHours(),be[t+12>>2]=n.getDate(),be[t+16>>2]=n.getMonth(),be[t+20>>2]=n.getFullYear()-1900,be[t+24>>2]=n.getDay();var r=tr(n)|0;be[t+28>>2]=r,be[t+36>>2]=-(n.getTimezoneOffset()*60);var s=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),h=s.getTimezoneOffset(),g=(o!=h&&n.getTimezoneOffset()==Math.min(h,o))|0;be[t+32>>2]=g}function rr(e,t,n,r,s,o,h){s=Ye(s);try{if(isNaN(s))return 61;var g=he.getStreamFromFD(r),P=l.mmap(g,e,s,t,n),D=P.ptr;return be[o>>2]=P.allocated,qe[h>>2]=D,0}catch(U){if(typeof l>"u"||U.name!=="ErrnoError")throw U;return-U.errno}}function sr(e,t,n,r,s,o){o=Ye(o);try{var h=he.getStreamFromFD(s);n&2&&he.doMsync(e,h,t,r,o)}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}var ir=(e,t,n,r)=>{var s=new Date().getFullYear(),o=new Date(s,0,1),h=new Date(s,6,1),g=o.getTimezoneOffset(),P=h.getTimezoneOffset(),D=Math.max(g,P);qe[e>>2]=D*60,be[t>>2]=+(g!=P);var U=S=>{var C=S>=0?"-":"+",b=Math.abs(S),w=String(Math.floor(b/60)).padStart(2,"0"),E=String(b%60).padStart(2,"0");return`UTC${C}${w}${E}`},Q=U(g),T=U(P);P<g?(Ke(Q,n,17),Ke(T,r,17)):(Ke(Q,r,17),Ke(T,n,17))},or=()=>Date.now(),Ht;Ht=()=>performance.now();var ar=()=>2147483648,lr=e=>{var t=Ce.buffer,n=(e-t.byteLength+65535)/65536;try{return Ce.grow(n),Ot(),1}catch{}},cr=e=>{var t=Be.length;e>>>=0;var n=ar();if(e>n)return!1;for(var r=1;r<=4;r*=2){var s=t*(1+.2/r);s=Math.min(s,e+100663296);var o=Math.min(n,zt(Math.max(e,s),65536)),h=lr(o);if(h)return!0}return!1},qt={},_r=()=>ie||"./this.program",Ze=()=>{if(!Ze.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:_r()};for(var n in qt)qt[n]===void 0?delete t[n]:t[n]=qt[n];var r=[];for(var n in t)r.push(`${n}=${t[n]}`);Ze.strings=r}return Ze.strings},ur=(e,t)=>{for(var n=0;n<e.length;++n)ke[t++]=e.charCodeAt(n);ke[t]=0},fr=(e,t)=>{var n=0;return Ze().forEach((r,s)=>{var o=t+n;qe[e+s*4>>2]=o,ur(r,o),n+=r.length+1}),0},dr=(e,t)=>{var n=Ze();qe[e>>2]=n.length;var r=0;return n.forEach(s=>r+=s.length+1),qe[t>>2]=r,0};function pr(e){try{var t=he.getStreamFromFD(e);return l.close(t),0}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return n.errno}}function hr(e,t){try{var n=0,r=0,s=0,o=he.getStreamFromFD(e),h=o.tty?2:l.isDir(o.mode)?3:l.isLink(o.mode)?7:4;return ke[t]=h,Re[t+2>>1]=s,Ne[t+8>>3]=BigInt(n),Ne[t+16>>3]=BigInt(r),0}catch(g){if(typeof l>"u"||g.name!=="ErrnoError")throw g;return g.errno}}var mr=(e,t,n,r)=>{for(var s=0,o=0;o<n;o++){var h=qe[t>>2],g=qe[t+4>>2];t+=8;var P=l.read(e,ke,h,g,r);if(P<0)return-1;if(s+=P,P<g)break}return s};function gr(e,t,n,r){try{var s=he.getStreamFromFD(e),o=mr(s,t,n);return qe[r>>2]=o,0}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function br(e,t,n,r){t=Ye(t);try{if(isNaN(t))return 61;var s=he.getStreamFromFD(e);return l.llseek(s,t,n),Ne[r>>3]=BigInt(s.position),s.getdents&&t===0&&n===0&&(s.getdents=null),0}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return o.errno}}function yr(e){try{var t=he.getStreamFromFD(e);return t.stream_ops?.fsync?t.stream_ops.fsync(t):0}catch(n){if(typeof l>"u"||n.name!=="ErrnoError")throw n;return n.errno}}var qr=(e,t,n,r)=>{for(var s=0,o=0;o<n;o++){var h=qe[t>>2],g=qe[t+4>>2];t+=8;var P=l.write(e,ke,h,g,r);if(P<0)return-1;if(s+=P,P<g)break}return s};function wr(e,t,n,r){try{var s=he.getStreamFromFD(e),o=qr(s,t,n);return qe[r>>2]=o,0}catch(h){if(typeof l>"u"||h.name!=="ErrnoError")throw h;return h.errno}}l.createPreloadedFile=In,l.staticInit();var Vt={__syscall_chmod:Fn,__syscall_faccessat:Pn,__syscall_fchmod:On,__syscall_fchown32:Ln,__syscall_fcntl64:Cn,__syscall_fstat64:Dn,__syscall_ftruncate64:Mn,__syscall_getcwd:jn,__syscall_ioctl:Bn,__syscall_lstat64:Un,__syscall_mkdirat:zn,__syscall_newfstatat:Wn,__syscall_openat:Qn,__syscall_readlinkat:Hn,__syscall_rmdir:Vn,__syscall_stat64:$n,__syscall_unlinkat:Gn,__syscall_utimensat:Kn,_emscripten_get_now_is_monotonic:Xn,_localtime_js:nr,_mmap_js:rr,_munmap_js:sr,_tzset_js:ir,emscripten_date_now:or,emscripten_get_now:Ht,emscripten_resize_heap:cr,environ_get:fr,environ_sizes_get:dr,fd_close:pr,fd_fdstat_get:hr,fd_read:gr,fd_seek:br,fd_sync:yr,fd_write:wr,memory:Ce},m=yn();i._sqlite3_status64=(e,t,n,r)=>(i._sqlite3_status64=m.sqlite3_status64)(e,t,n,r),i._sqlite3_status=(e,t,n,r)=>(i._sqlite3_status=m.sqlite3_status)(e,t,n,r),i._sqlite3_db_status=(e,t,n,r,s)=>(i._sqlite3_db_status=m.sqlite3_db_status)(e,t,n,r,s),i._sqlite3_msize=e=>(i._sqlite3_msize=m.sqlite3_msize)(e),i._sqlite3_vfs_find=e=>(i._sqlite3_vfs_find=m.sqlite3_vfs_find)(e),i._sqlite3_initialize=()=>(i._sqlite3_initialize=m.sqlite3_initialize)(),i._sqlite3_malloc=e=>(i._sqlite3_malloc=m.sqlite3_malloc)(e),i._sqlite3_free=e=>(i._sqlite3_free=m.sqlite3_free)(e),i._sqlite3_vfs_register=(e,t)=>(i._sqlite3_vfs_register=m.sqlite3_vfs_register)(e,t),i._sqlite3_vfs_unregister=e=>(i._sqlite3_vfs_unregister=m.sqlite3_vfs_unregister)(e),i._sqlite3_malloc64=e=>(i._sqlite3_malloc64=m.sqlite3_malloc64)(e),i._sqlite3_realloc=(e,t)=>(i._sqlite3_realloc=m.sqlite3_realloc)(e,t),i._sqlite3_realloc64=(e,t)=>(i._sqlite3_realloc64=m.sqlite3_realloc64)(e,t),i._sqlite3_value_text=e=>(i._sqlite3_value_text=m.sqlite3_value_text)(e),i._sqlite3_randomness=(e,t)=>(i._sqlite3_randomness=m.sqlite3_randomness)(e,t),i._sqlite3_stricmp=(e,t)=>(i._sqlite3_stricmp=m.sqlite3_stricmp)(e,t),i._sqlite3_strnicmp=(e,t,n)=>(i._sqlite3_strnicmp=m.sqlite3_strnicmp)(e,t,n),i._sqlite3_uri_parameter=(e,t)=>(i._sqlite3_uri_parameter=m.sqlite3_uri_parameter)(e,t),i._sqlite3_uri_boolean=(e,t,n)=>(i._sqlite3_uri_boolean=m.sqlite3_uri_boolean)(e,t,n),i._sqlite3_serialize=(e,t,n,r)=>(i._sqlite3_serialize=m.sqlite3_serialize)(e,t,n,r),i._sqlite3_prepare_v2=(e,t,n,r,s)=>(i._sqlite3_prepare_v2=m.sqlite3_prepare_v2)(e,t,n,r,s),i._sqlite3_step=e=>(i._sqlite3_step=m.sqlite3_step)(e),i._sqlite3_column_int64=(e,t)=>(i._sqlite3_column_int64=m.sqlite3_column_int64)(e,t),i._sqlite3_reset=e=>(i._sqlite3_reset=m.sqlite3_reset)(e),i._sqlite3_exec=(e,t,n,r,s)=>(i._sqlite3_exec=m.sqlite3_exec)(e,t,n,r,s),i._sqlite3_column_int=(e,t)=>(i._sqlite3_column_int=m.sqlite3_column_int)(e,t),i._sqlite3_finalize=e=>(i._sqlite3_finalize=m.sqlite3_finalize)(e),i._sqlite3_file_control=(e,t,n,r)=>(i._sqlite3_file_control=m.sqlite3_file_control)(e,t,n,r),i._sqlite3_column_name=(e,t)=>(i._sqlite3_column_name=m.sqlite3_column_name)(e,t),i._sqlite3_column_text=(e,t)=>(i._sqlite3_column_text=m.sqlite3_column_text)(e,t),i._sqlite3_column_type=(e,t)=>(i._sqlite3_column_type=m.sqlite3_column_type)(e,t),i._sqlite3_errmsg=e=>(i._sqlite3_errmsg=m.sqlite3_errmsg)(e),i._sqlite3_deserialize=(e,t,n,r,s,o)=>(i._sqlite3_deserialize=m.sqlite3_deserialize)(e,t,n,r,s,o),i._sqlite3_clear_bindings=e=>(i._sqlite3_clear_bindings=m.sqlite3_clear_bindings)(e),i._sqlite3_value_blob=e=>(i._sqlite3_value_blob=m.sqlite3_value_blob)(e),i._sqlite3_value_bytes=e=>(i._sqlite3_value_bytes=m.sqlite3_value_bytes)(e),i._sqlite3_value_double=e=>(i._sqlite3_value_double=m.sqlite3_value_double)(e),i._sqlite3_value_int=e=>(i._sqlite3_value_int=m.sqlite3_value_int)(e),i._sqlite3_value_int64=e=>(i._sqlite3_value_int64=m.sqlite3_value_int64)(e),i._sqlite3_value_subtype=e=>(i._sqlite3_value_subtype=m.sqlite3_value_subtype)(e),i._sqlite3_value_pointer=(e,t)=>(i._sqlite3_value_pointer=m.sqlite3_value_pointer)(e,t),i._sqlite3_value_type=e=>(i._sqlite3_value_type=m.sqlite3_value_type)(e),i._sqlite3_value_nochange=e=>(i._sqlite3_value_nochange=m.sqlite3_value_nochange)(e),i._sqlite3_value_frombind=e=>(i._sqlite3_value_frombind=m.sqlite3_value_frombind)(e),i._sqlite3_value_dup=e=>(i._sqlite3_value_dup=m.sqlite3_value_dup)(e),i._sqlite3_value_free=e=>(i._sqlite3_value_free=m.sqlite3_value_free)(e),i._sqlite3_result_blob=(e,t,n,r)=>(i._sqlite3_result_blob=m.sqlite3_result_blob)(e,t,n,r),i._sqlite3_result_error_toobig=e=>(i._sqlite3_result_error_toobig=m.sqlite3_result_error_toobig)(e),i._sqlite3_result_error_nomem=e=>(i._sqlite3_result_error_nomem=m.sqlite3_result_error_nomem)(e),i._sqlite3_result_double=(e,t)=>(i._sqlite3_result_double=m.sqlite3_result_double)(e,t),i._sqlite3_result_error=(e,t,n)=>(i._sqlite3_result_error=m.sqlite3_result_error)(e,t,n),i._sqlite3_result_int=(e,t)=>(i._sqlite3_result_int=m.sqlite3_result_int)(e,t),i._sqlite3_result_int64=(e,t)=>(i._sqlite3_result_int64=m.sqlite3_result_int64)(e,t),i._sqlite3_result_null=e=>(i._sqlite3_result_null=m.sqlite3_result_null)(e),i._sqlite3_result_pointer=(e,t,n,r)=>(i._sqlite3_result_pointer=m.sqlite3_result_pointer)(e,t,n,r),i._sqlite3_result_subtype=(e,t)=>(i._sqlite3_result_subtype=m.sqlite3_result_subtype)(e,t),i._sqlite3_result_text=(e,t,n,r)=>(i._sqlite3_result_text=m.sqlite3_result_text)(e,t,n,r),i._sqlite3_result_zeroblob=(e,t)=>(i._sqlite3_result_zeroblob=m.sqlite3_result_zeroblob)(e,t),i._sqlite3_result_zeroblob64=(e,t)=>(i._sqlite3_result_zeroblob64=m.sqlite3_result_zeroblob64)(e,t),i._sqlite3_result_error_code=(e,t)=>(i._sqlite3_result_error_code=m.sqlite3_result_error_code)(e,t),i._sqlite3_user_data=e=>(i._sqlite3_user_data=m.sqlite3_user_data)(e),i._sqlite3_context_db_handle=e=>(i._sqlite3_context_db_handle=m.sqlite3_context_db_handle)(e),i._sqlite3_vtab_nochange=e=>(i._sqlite3_vtab_nochange=m.sqlite3_vtab_nochange)(e),i._sqlite3_vtab_in_first=(e,t)=>(i._sqlite3_vtab_in_first=m.sqlite3_vtab_in_first)(e,t),i._sqlite3_vtab_in_next=(e,t)=>(i._sqlite3_vtab_in_next=m.sqlite3_vtab_in_next)(e,t),i._sqlite3_aggregate_context=(e,t)=>(i._sqlite3_aggregate_context=m.sqlite3_aggregate_context)(e,t),i._sqlite3_get_auxdata=(e,t)=>(i._sqlite3_get_auxdata=m.sqlite3_get_auxdata)(e,t),i._sqlite3_set_auxdata=(e,t,n,r)=>(i._sqlite3_set_auxdata=m.sqlite3_set_auxdata)(e,t,n,r),i._sqlite3_column