Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@vlcn.io/wa-sqlite

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vlcn.io/wa-sqlite - npm Package Compare versions

Comparing version
0.19.0
to
0.20.0-next.0
+98
-96
dist/crsqlite-sync.mjs

@@ -8,98 +8,100 @@

var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ca;e.ready=new Promise(function(a,b){aa=a;ca=b});var da=Object.assign({},e),ea="./this.program",fa=(a,b)=>{throw b;},ha="object"==typeof window,ia="function"==typeof importScripts,p="",ja;
if(ha||ia)ia?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),_scriptDir&&(p=_scriptDir),0!==p.indexOf("blob:")?p=p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):p="",ia&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ka=e.print||console.log.bind(console),t=e.printErr||console.warn.bind(console);Object.assign(e,da);da=null;e.thisProgram&&(ea=e.thisProgram);
e.quit&&(fa=e.quit);var la;e.wasmBinary&&(la=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&u("no native wasm support detected");var ma,na=!1,oa="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function pa(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&oa)return oa.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function v(a,b){return a?pa(x,a,b):""}
function qa(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var n=a.charCodeAt(++g);h=65536+((h&1023)<<10)|n&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}function ra(a,b,c){return qa(a,x,b,c)}
function y(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}var A,x,sa,B,C,ta,ua;function va(){var a=ma.buffer;e.HEAP8=A=new Int8Array(a);e.HEAP16=sa=new Int16Array(a);e.HEAP32=B=new Int32Array(a);e.HEAPU8=x=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=C=new Uint32Array(a);e.HEAPF32=ta=new Float32Array(a);e.HEAPF64=ua=new Float64Array(a)}var wa=[],xa=[],ya=[],za=[];
function Aa(){var a=e.preRun.shift();wa.unshift(a)}var D=0,Ba=null,Ca=null;function u(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";t(a);na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ca(a);throw a;}function Da(a){return a.startsWith("data:application/octet-stream;base64,")}var F;if(e.locateFile){if(F="crsqlite-sync.wasm",!Da(F)){var Ea=F;F=e.locateFile?e.locateFile(Ea,p):p+Ea}}else F=(new URL("crsqlite-sync.wasm",import.meta.url)).href;
function Fa(a){try{if(a==F&&la)return new Uint8Array(la);if(ja)return ja(a);throw"both async and sync fetching of the wasm failed";}catch(b){u(b)}}function Ga(a){return la||!ha&&!ia||"function"!=typeof fetch?Promise.resolve().then(function(){return Fa(a)}):fetch(a,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(function(){return Fa(a)})}
function Ha(a,b,c){return Ga(a).then(function(d){return WebAssembly.instantiate(d,b)}).then(function(d){return d}).then(c,function(d){t("failed to asynchronously prepare wasm: "+d);u(d)})}
function Ia(a,b){var c=F;return la||"function"!=typeof WebAssembly.instantiateStreaming||Da(c)||"function"!=typeof fetch?Ha(c,a,b):fetch(c,{credentials:"same-origin"}).then(function(d){return WebAssembly.instantiateStreaming(d,a).then(b,function(f){t("wasm streaming compile failed: "+f);t("falling back to ArrayBuffer instantiation");return Ha(c,a,b)})})}var I,K;function Ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
function Ka(a){for(;0<a.length;)a.shift()(e)}function L(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return A[a>>0];case "i8":return A[a>>0];case "i16":return sa[a>>1];case "i32":return B[a>>2];case "i64":return B[a>>2];case "float":return ta[a>>2];case "double":return ua[a>>3];case "*":return C[a>>2];default:u("invalid type for getValue: "+b)}}
function M(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":A[a>>0]=b;break;case "i8":A[a>>0]=b;break;case "i16":sa[a>>1]=b;break;case "i32":B[a>>2]=b;break;case "i64":K=[b>>>0,(I=b,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[a>>2]=K[0];B[a+4>>2]=K[1];break;case "float":ta[a>>2]=b;break;case "double":ua[a>>3]=b;break;case "*":C[a>>2]=b;break;default:u("invalid type for setValue: "+c)}}
var La=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},N=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=La(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Ma=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},Na=a=>{if("/"===
a)return"/";a=N(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Oa(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}return()=>u("randomDevice")}
function Pa(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=La(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}var Qa=[];function Ra(a,b){Qa[a]={input:[],Kb:[],Wb:b};Sa(a,Ta)}
var Ta={open:function(a){var b=Qa[a.node.Zb];if(!b)throw new O(43);a.Lb=b;a.seekable=!1},close:function(a){a.Lb.Wb.Tb(a.Lb)},Tb:function(a){a.Lb.Wb.Tb(a.Lb)},read:function(a,b,c,d){if(!a.Lb||!a.Lb.Wb.qc)throw new O(60);for(var f=0,g=0;g<d;g++){try{var h=a.Lb.Wb.qc(a.Lb)}catch(n){throw new O(29);}if(void 0===h&&0===f)throw new O(6);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.Lb||!a.Lb.Wb.kc)throw new O(60);try{for(var f=0;f<d;f++)a.Lb.Wb.kc(a.Lb,
b[c+f])}catch(g){throw new O(29);}d&&(a.node.timestamp=Date.now());return f}},Ua={qc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;var c=Array(y(b)+1);b=qa(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},kc:function(a,b){null===b||10===b?(ka(pa(a.Kb,0)),a.Kb=[]):0!=b&&a.Kb.push(b)},Tb:function(a){a.Kb&&
0<a.Kb.length&&(ka(pa(a.Kb,0)),a.Kb=[])}},Va={kc:function(a,b){null===b||10===b?(t(pa(a.Kb,0)),a.Kb=[]):0!=b&&a.Kb.push(b)},Tb:function(a){a.Kb&&0<a.Kb.length&&(t(pa(a.Kb,0)),a.Kb=[])}},P={Nb:null,Ob:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.Nb||(P.Nb={dir:{node:{Mb:P.Ab.Mb,Jb:P.Ab.Jb,Xb:P.Ab.Xb,bc:P.Ab.bc,tc:P.Ab.tc,hc:P.Ab.hc,ec:P.Ab.ec,sc:P.Ab.sc,fc:P.Ab.fc},stream:{Sb:P.Fb.Sb}},file:{node:{Mb:P.Ab.Mb,
Jb:P.Ab.Jb},stream:{Sb:P.Fb.Sb,read:P.Fb.read,write:P.Fb.write,mc:P.Fb.mc,cc:P.Fb.cc,dc:P.Fb.dc}},link:{node:{Mb:P.Ab.Mb,Jb:P.Ab.Jb,$b:P.Ab.$b},stream:{}},nc:{node:{Mb:P.Ab.Mb,Jb:P.Ab.Jb},stream:Wa}});c=Xa(a,b,c,d);16384===(c.mode&61440)?(c.Ab=P.Nb.dir.node,c.Fb=P.Nb.dir.stream,c.Gb={}):32768===(c.mode&61440)?(c.Ab=P.Nb.file.node,c.Fb=P.Nb.file.stream,c.Ib=0,c.Gb=null):40960===(c.mode&61440)?(c.Ab=P.Nb.link.node,c.Fb=P.Nb.link.stream):8192===(c.mode&61440)&&(c.Ab=P.Nb.nc.node,c.Fb=P.Nb.nc.stream);
c.timestamp=Date.now();a&&(a.Gb[b]=c,a.timestamp=c.timestamp);return c},Kc:function(a){return a.Gb?a.Gb.subarray?a.Gb.subarray(0,a.Ib):new Uint8Array(a.Gb):new Uint8Array(0)},oc:function(a,b){var c=a.Gb?a.Gb.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Gb,a.Gb=new Uint8Array(b),0<a.Ib&&a.Gb.set(c.subarray(0,a.Ib),0))},Hc:function(a,b){if(a.Ib!=b)if(0==b)a.Gb=null,a.Ib=0;else{var c=a.Gb;a.Gb=new Uint8Array(b);c&&a.Gb.set(c.subarray(0,Math.min(b,a.Ib)));a.Ib=
b}},Ab:{Mb:function(a){var b={};b.zc=8192===(a.mode&61440)?a.id:1;b.jc=a.id;b.mode=a.mode;b.Fc=1;b.uid=0;b.Bc=0;b.Zb=a.Zb;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Ib:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.vc=new Date(a.timestamp);b.Ec=new Date(a.timestamp);b.yc=new Date(a.timestamp);b.wc=4096;b.xc=Math.ceil(b.size/b.wc);return b},Jb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&P.Hc(a,b.size)},
Xb:function(){throw Ya[44];},bc:function(a,b,c,d){return P.createNode(a,b,c,d)},tc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=Q(b,c)}catch(g){}if(d)for(var f in d.Gb)throw new O(55);}delete a.parent.Gb[a.name];a.parent.timestamp=Date.now();a.name=c;b.Gb[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},hc:function(a,b){delete a.Gb[b];a.timestamp=Date.now()},ec:function(a,b){var c=Q(a,b),d;for(d in c.Gb)throw new O(55);delete a.Gb[b];a.timestamp=Date.now()},sc:function(a){var b=[".",".."],
c;for(c in a.Gb)a.Gb.hasOwnProperty(c)&&b.push(c);return b},fc:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},$b:function(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Fb:{read:function(a,b,c,d,f){var g=a.node.Gb;if(f>=a.node.Ib)return 0;a=Math.min(a.node.Ib-f,d);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){b.buffer===A.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&
(!a.Gb||a.Gb.subarray)){if(g)return a.Gb=b.subarray(c,c+d),a.Ib=d;if(0===a.Ib&&0===f)return a.Gb=b.slice(c,c+d),a.Ib=d;if(f+d<=a.Ib)return a.Gb.set(b.subarray(c,c+d),f),d}P.oc(a,f+d);if(a.Gb.subarray&&b.subarray)a.Gb.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.Gb[f+g]=b[c+g];a.Ib=Math.max(a.Ib,f+d);return d},Sb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ib);if(0>b)throw new O(28);return b},mc:function(a,b,c){P.oc(a.node,b+c);a.node.Ib=Math.max(a.node.Ib,
b+c)},cc:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Gb;if(f&2||a.buffer!==A.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;b=65536*Math.ceil(b/65536);(f=Za(65536,b))?(x.fill(0,f,f+b),b=f):b=0;if(!b)throw new O(48);A.set(a,b)}else c=!1,b=a.byteOffset;return{Gc:b,uc:c}},dc:function(a,b,c,d){P.Fb.write(a,b,0,d,c,!1);return 0}}},$a=null,ab={},R=[],bb=1,S=null,cb=!0,O=null,Ya={},U=(a,b={})=>{a=Pa(a);if(!a)return{path:"",
node:null};b=Object.assign({pc:!0,lc:0},b);if(8<b.lc)throw new O(32);a=a.split("/").filter(h=>!!h);for(var c=$a,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=Q(c,a[f]);d=N(d+"/"+a[f]);c.Ub&&(!g||g&&b.pc)&&(c=c.Ub.root);if(!g||b.Rb)for(g=0;40960===(c.mode&61440);)if(c=db(d),d=Pa(Ma(d),c),c=U(d,{lc:b.lc+1}).node,40<g++)throw new O(32);}return{path:d,node:c}},eb=a=>{for(var b;;){if(a===a.parent)return a=a.Ob.rc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},
fb=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%S.length},gb=a=>{var b=fb(a.parent.id,a.name);if(S[b]===a)S[b]=a.Vb;else for(b=S[b];b;){if(b.Vb===a){b.Vb=a.Vb;break}b=b.Vb}},Q=(a,b)=>{var c;if(c=(c=hb(a,"x"))?c:a.Ab.Xb?0:2)throw new O(c,a);for(c=S[fb(a.id,b)];c;c=c.Vb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ab.Xb(a,b)},Xa=(a,b,c,d)=>{a=new ib(a,b,c,d);b=fb(a.parent.id,a.name);a.Vb=S[b];return S[b]=a},jb={r:0,"r+":2,w:577,"w+":578,a:1089,
"a+":1090},kb=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},hb=(a,b)=>{if(cb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},lb=(a,b)=>{try{return Q(a,b),20}catch(c){}return hb(a,"wx")},mb=(a,b,c)=>{try{var d=Q(a,b)}catch(f){return f.Hb}if(a=hb(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===eb(d))return 10}else if(16384===(d.mode&61440))return 31;return 0},nb=(a=
0)=>{for(;4096>=a;a++)if(!R[a])return a;throw new O(33);},pb=(a,b)=>{ob||(ob=function(){this.ac={}},ob.prototype={},Object.defineProperties(ob.prototype,{object:{get:function(){return this.node},set:function(c){this.node=c}},flags:{get:function(){return this.ac.flags},set:function(c){this.ac.flags=c}},position:{get:function(){return this.ac.position},set:function(c){this.ac.position=c}}}));a=Object.assign(new ob,a);b=nb(b);a.Pb=b;return R[b]=a},Wa={open:a=>{a.Fb=ab[a.node.Zb].Fb;a.Fb.open&&a.Fb.open(a)},
Sb:()=>{throw new O(70);}},Sa=(a,b)=>{ab[a]={Fb:b}},qb=(a,b)=>{var c="/"===b,d=!b;if(c&&$a)throw new O(10);if(!c&&!d){var f=U(b,{pc:!1});b=f.path;f=f.node;if(f.Ub)throw new O(10);if(16384!==(f.mode&61440))throw new O(54);}b={type:a,Mc:{},rc:b,Dc:[]};a=a.Ob(b);a.Ob=b;b.root=a;c?$a=a:f&&(f.Ub=b,f.Ob&&f.Ob.Dc.push(b))},rb=(a,b,c)=>{var d=U(a,{parent:!0}).node;a=Na(a);if(!a||"."===a||".."===a)throw new O(28);var f=lb(d,a);if(f)throw new O(f);if(!d.Ab.bc)throw new O(63);return d.Ab.bc(d,a,b,c)},V=(a,b)=>
rb(a,(void 0!==b?b:511)&1023|16384,0),sb=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);rb(a,b|8192,c)},tb=(a,b)=>{if(!Pa(a))throw new O(44);var c=U(b,{parent:!0}).node;if(!c)throw new O(44);b=Na(b);var d=lb(c,b);if(d)throw new O(d);if(!c.Ab.fc)throw new O(63);c.Ab.fc(c,b,a)},ub=a=>{var b=U(a,{parent:!0}).node;a=Na(a);var c=Q(b,a),d=mb(b,a,!0);if(d)throw new O(d);if(!b.Ab.ec)throw new O(63);if(c.Ub)throw new O(10);b.Ab.ec(b,a);gb(c)},db=a=>{a=U(a).node;if(!a)throw new O(44);if(!a.Ab.$b)throw new O(28);
return Pa(eb(a.parent),a.Ab.$b(a))},vb=(a,b)=>{a=U(a,{Rb:!b}).node;if(!a)throw new O(44);if(!a.Ab.Mb)throw new O(63);return a.Ab.Mb(a)},wb=a=>vb(a,!0),xb=(a,b)=>{a="string"==typeof a?U(a,{Rb:!0}).node:a;if(!a.Ab.Jb)throw new O(63);a.Ab.Jb(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},yb=(a,b)=>{if(0>b)throw new O(28);a="string"==typeof a?U(a,{Rb:!0}).node:a;if(!a.Ab.Jb)throw new O(63);if(16384===(a.mode&61440))throw new O(31);if(32768!==(a.mode&61440))throw new O(28);var c=hb(a,"w");if(c)throw new O(c);
a.Ab.Jb(a,{size:b,timestamp:Date.now()})},Ab=(a,b,c)=>{if(""===a)throw new O(44);if("string"==typeof b){var d=jb[b];if("undefined"==typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=N(a);try{f=U(a,{Rb:!(b&131072)}).node}catch(g){}}d=!1;if(b&64)if(f){if(b&128)throw new O(20);}else f=rb(a,c,0),d=!0;if(!f)throw new O(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new O(54);if(!d&&
(c=f?40960===(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==kb(b)||b&512)?31:hb(f,kb(b)):44))throw new O(c);b&512&&!d&&yb(f,0);b&=-131713;f=pb({node:f,path:eb(f),flags:b,seekable:!0,position:0,Fb:f.Fb,Jc:[],error:!1});f.Fb.open&&f.Fb.open(f);!e.logReadFiles||b&1||(zb||(zb={}),a in zb||(zb[a]=1));return f},Bb=(a,b,c)=>{if(null===a.Pb)throw new O(8);if(!a.seekable||!a.Fb.Sb)throw new O(70);if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Fb.Sb(a,b,c);a.Jc=[]},Cb=()=>{O||(O=function(a,b){this.name=
"ErrnoError";this.node=b;this.Ic=function(c){this.Hb=c};this.Ic(a);this.message="FS error"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(a=>{Ya[a]=new O(a);Ya[a].stack="<generic error, no stack>"}))},Db,Eb=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},Gb=(a,b,c)=>{a=N("/dev/"+a);var d=Eb(!!b,!!c);Fb||(Fb=64);var f=Fb++<<8|0;Sa(f,{open:g=>{g.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(g,h,n,l)=>{for(var k=0,m=0;m<l;m++){try{var q=b()}catch(r){throw new O(29);
}if(void 0===q&&0===k)throw new O(6);if(null===q||void 0===q)break;k++;h[n+m]=q}k&&(g.node.timestamp=Date.now());return k},write:(g,h,n,l)=>{for(var k=0;k<l;k++)try{c(h[n+k])}catch(m){throw new O(29);}l&&(g.node.timestamp=Date.now());return k}});sb(a,d,f)},Fb,W={},ob,zb;function X(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":Y(a).path;if(0==b.length){if(!c)throw new O(44);return a}return N(a+"/"+b)}
function Hb(a,b,c){try{var d=a(b)}catch(g){if(g&&g.node&&N(b)!==N(eb(g.node)))return-54;throw g;}B[c>>2]=d.zc;B[c+8>>2]=d.jc;B[c+12>>2]=d.mode;C[c+16>>2]=d.Fc;B[c+20>>2]=d.uid;B[c+24>>2]=d.Bc;B[c+28>>2]=d.Zb;K=[d.size>>>0,(I=d.size,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+40>>2]=K[0];B[c+44>>2]=K[1];B[c+48>>2]=4096;B[c+52>>2]=d.xc;a=d.vc.getTime();b=d.Ec.getTime();var f=d.yc.getTime();K=[Math.floor(a/1E3)>>>0,(I=
Math.floor(a/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+56>>2]=K[0];B[c+60>>2]=K[1];C[c+64>>2]=a%1E3*1E3;K=[Math.floor(b/1E3)>>>0,(I=Math.floor(b/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+72>>2]=K[0];B[c+76>>2]=K[1];C[c+80>>2]=b%1E3*1E3;K=[Math.floor(f/1E3)>>>0,(I=Math.floor(f/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/
4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+88>>2]=K[0];B[c+92>>2]=K[1];C[c+96>>2]=f%1E3*1E3;K=[d.jc>>>0,(I=d.jc,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+104>>2]=K[0];B[c+108>>2]=K[1];return 0}var Ib=void 0;function Jb(){Ib+=4;return B[Ib-4>>2]}function Y(a){a=R[a];if(!a)throw new O(8);return a}function Kb(a){return C[a>>2]+4294967296*B[a+4>>2]}
var Lb=[0,31,60,91,121,152,182,213,244,274,305,335],Mb=[0,31,59,90,120,151,181,212,243,273,304,334];function Nb(a){var b=y(a)+1,c=Ob(b);c&&qa(a,A,c,b);return c}var Pb={};
function Qb(){if(!Rb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ea||"./this.program"},b;for(b in Pb)void 0===Pb[b]?delete a[b]:a[b]=Pb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Rb=c}return Rb}var Rb;function Sb(){}function Tb(){}function Ub(){}function Vb(){}function Wb(){}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}
function bc(){}function cc(){}function dc(){}function ec(){}function fc(){}function gc(){}function hc(){}function ic(){}function jc(){}function kc(){}function lc(){}function mc(){}function nc(){}function oc(){}function pc(){}function qc(){}function rc(){}function sc(){}function tc(){}function uc(){}function vc(){}function wc(){}function xc(){}function yc(){}function zc(){}function Ac(){}function Bc(){}function Cc(){}
function Z(a,b,c,d){var f={string:k=>{var m=0;if(null!==k&&void 0!==k&&0!==k){var q=(k.length<<2)+1;m=Dc(q);ra(k,m,q)}return m},array:k=>{var m=Dc(k.length);A.set(k,m);return m}};a=e["_"+a];var g=[],h=0;if(d)for(var n=0;n<d.length;n++){var l=f[c[n]];l?(0===h&&(h=Ec()),g[n]=l(d[n])):g[n]=d[n]}c=a.apply(null,g);return c=function(k){0!==h&&Fc(h);return"string"===b?v(k):"boolean"===b?!!k:k}(c)}
function ib(a,b,c,d){a||(a=this);this.parent=a;this.Ob=a.Ob;this.Ub=null;this.id=bb++;this.name=b;this.mode=c;this.Ab={};this.Fb={};this.Zb=d}Object.defineProperties(ib.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Cb();S=Array(4096);qb(P,"/");V("/tmp");V("/home");V("/home/web_user");
(()=>{V("/dev");Sa(259,{read:()=>0,write:(b,c,d,f)=>f});sb("/dev/null",259);Ra(1280,Ua);Ra(1536,Va);sb("/dev/tty",1280);sb("/dev/tty1",1536);var a=Oa();Gb("random",a);Gb("urandom",a);V("/dev/shm");V("/dev/shm/tmp")})();(()=>{V("/proc");var a=V("/proc/self");V("/proc/self/fd");qb({Ob:()=>{var b=Xa(a,"fd",16895,73);b.Ab={Xb:(c,d)=>{var f=R[+d];if(!f)throw new O(8);c={parent:null,Ob:{rc:"fake"},Ab:{$b:()=>f.path}};return c.parent=c}};return b}},"/proc/self/fd")})();
(function(){function a(d,f){const g=[];for(let h=0;0!=d[f+h];++h){if(1E3<h)throw Error("C-string never terminated after 1k characters");g.push(d[f+h])}return String.fromCharCode(...g)}const b=new Map,c=new Map;e.updateHook=function(d,f){const g=b.size;b.set(g,f);return Z("update_hook","void",["number","number"],[d,g])};e.createFunction=function(d,f,g,h,n,l){const k=b.size;b.set(k,{f:l,Qb:n});return Z("create_function","number","number string number number number number".split(" "),[d,f,g,h,k,0])};
e.createAggregate=function(d,f,g,h,n,l,k){const m=b.size;b.set(m,{step:l,Ac:k,Qb:n});return Z("create_function","number","number string number number number number".split(" "),[d,f,g,h,m,1])};e.getFunctionUserData=function(d){return c.get(d)};Vb=function(d,f,g,h,n,l){d=b.get(d);const k=A;n=BigInt(l)<<32n|BigInt(n)&4294967295n;d(f,a(k,g),a(k,h),n)};Tb=function(d,f,g,h){d=b.get(d);c.set(f,d.Qb);d.f(f,new Uint32Array(x.buffer,h,g));c.delete(f)};Ub=function(d,f,g,h){d=b.get(d);c.set(f,d.Qb);d.step(f,
new Uint32Array(x.buffer,h,g));c.delete(f)};Sb=function(d,f){d=b.get(d);c.set(f,d.Qb);d.Ac(f);c.delete(f)}})();
(function(){function a(l,k){const m=`get${l}`,q=`set${l}`;return new Proxy(new DataView(x.buffer,k,"Int32"===l?4:8),{get(r,w){if(w===m)return function(z,G){if(!G)throw Error("must be little endian");return r[w](z,G)};if(w===q)return function(z,G,E){if(!E)throw Error("must be little endian");return r[w](z,G,E)};if("string"===typeof w&&w.match(/^(get)|(set)/))throw Error("invalid type");return r[w]}})}const b="object"===typeof Asyncify,c=new Map,d=new Map,f=new Map,g=b?new Set:null,h=b?new Set:null,
n=new Map;lc=function(l,k,m,q){n.set(v(l),{size:k,Yb:Array.from(new Uint32Array(x.buffer,q,m))})};e.createModule=function(l,k,m,q){b&&(m.handleAsync=Asyncify.Cc);const r=c.size;c.set(r,{module:m,Qb:q});q=0;m.xCreate&&(q|=1);m.xConnect&&(q|=2);m.xBestIndex&&(q|=4);m.xDisconnect&&(q|=8);m.xDestroy&&(q|=16);m.xOpen&&(q|=32);m.xClose&&(q|=64);m.xFilter&&(q|=128);m.xNext&&(q|=256);m.xEof&&(q|=512);m.xColumn&&(q|=1024);m.xRowid&&(q|=2048);m.xUpdate&&(q|=4096);m.xBegin&&(q|=8192);m.xSync&&(q|=16384);m.xCommit&&
(q|=32768);m.xRollback&&(q|=65536);m.xFindFunction&&(q|=131072);m.xRename&&(q|=262144);return Z("create_module","number",["number","string","number","number"],[l,k,r,q])};bc=function(l,k,m,q,r,w){k=c.get(k);d.set(r,k);if(b){g.delete(r);for(const z of g)d.delete(z)}q=Array.from(new Uint32Array(x.buffer,q,m)).map(z=>v(z));return k.module.xCreate(l,k.Qb,q,r,a("Int32",w))};ac=function(l,k,m,q,r,w){k=c.get(k);d.set(r,k);if(b){g.delete(r);for(const z of g)d.delete(z)}q=Array.from(new Uint32Array(x.buffer,
q,m)).map(z=>v(z));return k.module.xConnect(l,k.Qb,q,r,a("Int32",w))};Xb=function(l,k){var m=d.get(l),q=n.get("sqlite3_index_info").Yb;const r={};r.nConstraint=L(k+q[0],"i32");r.aConstraint=[];var w=L(k+q[1],"i32"),z=n.get("sqlite3_index_constraint").size;for(var G=0;G<r.nConstraint;++G){var E=r.aConstraint,J=E.push,H=w+G*z,ba=n.get("sqlite3_index_constraint").Yb,T={};T.iColumn=L(H+ba[0],"i32");T.op=L(H+ba[1],"i8");T.usable=!!L(H+ba[2],"i8");J.call(E,T)}r.nOrderBy=L(k+q[2],"i32");r.aOrderBy=[];w=
L(k+q[3],"i32");z=n.get("sqlite3_index_orderby").size;for(G=0;G<r.nOrderBy;++G)E=r.aOrderBy,J=E.push,H=w+G*z,ba=n.get("sqlite3_index_orderby").Yb,T={},T.iColumn=L(H+ba[0],"i32"),T.desc=!!L(H+ba[1],"i8"),J.call(E,T);r.aConstraintUsage=[];for(w=0;w<r.nConstraint;++w)r.aConstraintUsage.push({argvIndex:0,omit:!1});r.idxNum=L(k+q[5],"i32");r.idxStr=null;r.orderByConsumed=!!L(k+q[8],"i8");r.estimatedCost=L(k+q[9],"double");r.estimatedRows=L(k+q[10],"i64");r.idxFlags=L(k+q[11],"i32");r.colUsed=L(k+q[12],
"i64");l=m.module.xBestIndex(l,r);m=n.get("sqlite3_index_info").Yb;q=L(k+m[4],"i32");w=n.get("sqlite3_index_constraint_usage").size;for(J=0;J<r.nConstraint;++J)z=q+J*w,E=r.aConstraintUsage[J],H=n.get("sqlite3_index_constraint_usage").Yb,M(z+H[0],E.argvIndex,"i32"),M(z+H[1],E.omit?1:0,"i8");M(k+m[5],r.idxNum,"i32");"string"===typeof r.idxStr&&(q=y(r.idxStr),w=Z("sqlite3_malloc","number",["number"],[q+1]),ra(r.idxStr,w,q+1),M(k+m[6],w,"i32"),M(k+m[7],1,"i32"));M(k+m[8],r.orderByConsumed,"i32");M(k+
m[9],r.estimatedCost,"double");M(k+m[10],r.estimatedRows,"i64");M(k+m[11],r.idxFlags,"i32");return l};dc=function(l){const k=d.get(l);b?g.add(l):d.delete(l);return k.module.xDisconnect(l)};cc=function(l){const k=d.get(l);b?g.add(l):d.delete(l);return k.module.xDestroy(l)};hc=function(l,k){const m=d.get(l);f.set(k,m);if(b){h.delete(k);for(const q of h)f.delete(q)}return m.module.xOpen(l,k)};Yb=function(l){const k=f.get(l);b?h.add(l):f.delete(l);return k.module.xClose(l)};ec=function(l){return f.get(l).module.xEof(l)?
1:0};fc=function(l,k,m,q,r){const w=f.get(l);m=m?v(m):null;r=new Uint32Array(x.buffer,r,q);return w.module.xFilter(l,k,m,r)};gc=function(l){return f.get(l).module.xNext(l)};Zb=function(l,k,m){return f.get(l).module.xColumn(l,k,m)};kc=function(l,k){return f.get(l).module.xRowid(l,a("BigInt64",k))};nc=function(l,k,m,q){const r=d.get(l);m=new Uint32Array(x.buffer,m,k);return r.module.xUpdate(l,m,a("BigInt64",q))};Wb=function(l){return d.get(l).module.xBegin(l)};mc=function(l){return d.get(l).module.xSync(l)};
$b=function(l){return d.get(l).module.xCommit(l)};jc=function(l){return d.get(l).module.xRollback(l)};ic=function(l,k){const m=d.get(l);k=v(k);return m.module.xRename(l,k)}})();
(function(){function a(g,h){const n=`get${g}`,l=`set${g}`;return new Proxy(new DataView(x.buffer,h,"Int32"===g?4:8),{get(k,m){if(m===n)return function(q,r){if(!r)throw Error("must be little endian");return k[m](q,r)};if(m===l)return function(q,r,w){if(!w)throw Error("must be little endian");return k[m](q,r,w)};if("string"===typeof m&&m.match(/^(get)|(set)/))throw Error("invalid type");return k[m]}})}const b="object"===typeof Asyncify,c=new Map,d=new Map;e.registerVFS=function(g,h){if(Z("sqlite3_vfs_find",
"number",["string"],[g.name]))throw Error(`VFS '${g.name}' already registered`);b&&(g.handleAsync=Asyncify.Cc);var n=g.Lc??64;const l=e._malloc(4);h=Z("register_vfs","number",["string","number","number","number"],[g.name,n,h?1:0,l]);h||(n=L(l,"i32"),c.set(n,g));e._free(l);return h};const f=b?new Set:null;qc=function(g){const h=d.get(g);b?f.add(g):d.delete(g);return h.xClose(g)};xc=function(g,h,n,l){return d.get(g).xRead(g,x.subarray(h,h+n),L(l,"i64"))};Cc=function(g,h,n,l){return d.get(g).xWrite(g,
x.subarray(h,h+n),L(l,"i64"))};Ac=function(g,h){return d.get(g).xTruncate(g,L(h,"i64"))};zc=function(g,h){return d.get(g).xSync(g,h)};uc=function(g,h){const n=d.get(g);h=a("BigInt64",h);return n.xFileSize(g,h)};vc=function(g,h){return d.get(g).xLock(g,h)};Bc=function(g,h){return d.get(g).xUnlock(g,h)};pc=function(g,h){const n=d.get(g);h=a("Int32",h);return n.xCheckReservedLock(g,h)};tc=function(g,h,n){const l=d.get(g);n=new DataView(x.buffer,n);return l.xFileControl(g,h,n)};yc=function(g){return d.get(g).xSectorSize(g)};
sc=function(g){return d.get(g).xDeviceCharacteristics(g)};wc=function(g,h,n,l,k){g=c.get(g);d.set(n,g);if(b){f.delete(n);for(var m of f)d.delete(m)}m=null;if(l&64){m=1;const q=[];for(;m;){const r=x[h++];if(r)q.push(r);else switch(x[h]||(m=null),m){case 1:q.push(63);m=2;break;case 2:q.push(61);m=3;break;case 3:q.push(38),m=2}}m=(new TextDecoder).decode(new Uint8Array(q))}else h&&(m=v(h));k=a("Int32",k);return g.xOpen(m,n,l,k)};rc=function(g,h,n){return c.get(g).xDelete(v(h),n)};oc=function(g,h,n,l){g=
c.get(g);l=a("Int32",l);return g.xAccess(v(h),n,l)}})();
var Hc={a:function(a,b,c,d){u("Assertion failed: "+v(a)+", at: "+[b?v(b):"unknown filename",c,d?v(d):"unknown function"])},K:function(a,b){try{return a=v(a),xb(a,b),0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Hb}},N:function(a,b,c){try{b=v(b);b=X(a,b);if(c&-8)return-28;var d=U(b,{Rb:!0}).node;if(!d)return-44;a="";c&4&&(a+="r");c&2&&(a+="w");c&1&&(a+="x");return a&&hb(d,a)?-2:0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Hb}},L:function(a,
b){try{var c=R[a];if(!c)throw new O(8);xb(c.node,b);return 0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Hb}},J:function(a){try{var b=R[a];if(!b)throw new O(8);var c=b.node;var d="string"==typeof c?U(c,{Rb:!0}).node:c;if(!d.Ab.Jb)throw new O(63);d.Ab.Jb(d,{timestamp:Date.now()});return 0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Hb}},b:function(a,b,c){Ib=c;try{var d=Y(a);switch(b){case 0:var f=Jb();return 0>f?-28:pb(d,f).Pb;case 1:case 2:return 0;
case 3:return d.flags;case 4:return f=Jb(),d.flags|=f,0;case 5:return f=Jb(),sa[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return B[Gc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof W||"ErrnoError"!==g.name)throw g;return-g.Hb}},I:function(a,b){try{var c=Y(a);return Hb(vb,c.path,b)}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Hb}},k:function(a,b,c){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return-61;var d=
R[a];if(!d)throw new O(8);if(0===(d.flags&2097155))throw new O(28);yb(d.node,b);return 0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Hb}},C:function(a,b){try{if(0===b)return-28;var c=y("/")+1;if(b<c)return-68;ra("/",a,b);return c}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Hb}},G:function(a,b){try{return a=v(a),Hb(wb,a,b)}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Hb}},z:function(a,b,c){try{return b=v(b),b=
X(a,b),b=N(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),V(b,c),0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Hb}},E:function(a,b,c,d){try{b=v(b);var f=d&256;b=X(a,b,d&4096);return Hb(f?wb:vb,b,c)}catch(g){if("undefined"==typeof W||"ErrnoError"!==g.name)throw g;return-g.Hb}},v:function(a,b,c,d){Ib=d;try{b=v(b);b=X(a,b);var f=d?Jb():0;return Ab(b,c,f).Pb}catch(g){if("undefined"==typeof W||"ErrnoError"!==g.name)throw g;return-g.Hb}},s:function(a,b,c,d){try{b=v(b);
b=X(a,b);if(0>=d)return-28;var f=db(b),g=Math.min(d,y(f)),h=A[c+g];ra(f,c,d+1);A[c+g]=h;return g}catch(n){if("undefined"==typeof W||"ErrnoError"!==n.name)throw n;return-n.Hb}},r:function(a){try{return a=v(a),ub(a),0}catch(b){if("undefined"==typeof W||"ErrnoError"!==b.name)throw b;return-b.Hb}},H:function(a,b){try{return a=v(a),Hb(vb,a,b)}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Hb}},o:function(a,b,c){try{b=v(b);b=X(a,b);if(0===c){a=b;var d=U(a,{parent:!0}).node;if(!d)throw new O(44);
var f=Na(a),g=Q(d,f),h=mb(d,f,!1);if(h)throw new O(h);if(!d.Ab.hc)throw new O(63);if(g.Ub)throw new O(10);d.Ab.hc(d,f);gb(g)}else 512===c?ub(b):u("Invalid flags passed to unlinkat");return 0}catch(n){if("undefined"==typeof W||"ErrnoError"!==n.name)throw n;return-n.Hb}},n:function(a,b,c){try{b=v(b);b=X(a,b,!0);if(c){var d=Kb(c),f=B[c+8>>2];g=1E3*d+f/1E6;c+=16;d=Kb(c);f=B[c+8>>2];h=1E3*d+f/1E6}else var g=Date.now(),h=g;a=g;var n=U(b,{Rb:!0}).node;n.Ab.Jb(n,{timestamp:Math.max(a,h)});return 0}catch(l){if("undefined"==
typeof W||"ErrnoError"!==l.name)throw l;return-l.Hb}},y:function(a,b){a=new Date(1E3*Kb(a));B[b>>2]=a.getSeconds();B[b+4>>2]=a.getMinutes();B[b+8>>2]=a.getHours();B[b+12>>2]=a.getDate();B[b+16>>2]=a.getMonth();B[b+20>>2]=a.getFullYear()-1900;B[b+24>>2]=a.getDay();var c=a.getFullYear();B[b+28>>2]=(0!==c%4||0===c%100&&0!==c%400?Mb:Lb)[a.getMonth()]+a.getDate()-1|0;B[b+36>>2]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();
B[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},w:function(a,b,c,d,f,g,h){try{var n=Y(d);if(0!==(b&2)&&0===(c&2)&&2!==(n.flags&2097155))throw new O(2);if(1===(n.flags&2097155))throw new O(2);if(!n.Fb.cc)throw new O(43);var l=n.Fb.cc(n,a,f,b,c);var k=l.Gc;B[g>>2]=l.uc;C[h>>2]=k;return 0}catch(m){if("undefined"==typeof W||"ErrnoError"!==m.name)throw m;return-m.Hb}},x:function(a,b,c,d,f,g){try{var h=Y(f);if(c&2){if(32768!==(h.node.mode&61440))throw new O(43);d&2||h.Fb.dc&&h.Fb.dc(h,x.slice(a,
a+b),g,b,d)}}catch(n){if("undefined"==typeof W||"ErrnoError"!==n.name)throw n;return-n.Hb}},p:function(a,b,c){function d(l){return(l=l.toTimeString().match(/\(([A-Za-z ]+)\)$/))?l[1]:"GMT"}var f=(new Date).getFullYear(),g=new Date(f,0,1),h=new Date(f,6,1);f=g.getTimezoneOffset();var n=h.getTimezoneOffset();C[a>>2]=60*Math.max(f,n);B[b>>2]=Number(f!=n);a=d(g);b=d(h);a=Nb(a);b=Nb(b);n<f?(C[c>>2]=a,C[c+4>>2]=b):(C[c>>2]=b,C[c+4>>2]=a)},e:function(){return Date.now()},d:()=>performance.now(),l:function(a){var b=
x.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math,g=f.min;d=Math.max(a,d);d+=(65536-d%65536)%65536;a:{var h=ma.buffer;try{ma.grow(g.call(f,2147483648,d)-h.byteLength+65535>>>16);va();var n=1;break a}catch(l){}n=void 0}if(n)return!0}return!1},A:function(a,b){var c=0;Qb().forEach(function(d,f){var g=b+c;f=C[a+4*f>>2]=g;for(g=0;g<d.length;++g)A[f++>>0]=d.charCodeAt(g);A[f>>0]=0;c+=d.length+1});return 0},B:function(a,b){var c=Qb();C[a>>
2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});C[b>>2]=d;return 0},f:function(a){try{var b=Y(a);if(null===b.Pb)throw new O(8);b.ic&&(b.ic=null);try{b.Fb.close&&b.Fb.close(b)}catch(c){throw c;}finally{R[b.Pb]=null}b.Pb=null;return 0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return c.Hb}},m:function(a,b){try{var c=Y(a);A[b>>0]=c.Lb?2:16384===(c.mode&61440)?3:40960===(c.mode&61440)?7:4;return 0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return d.Hb}},
t:function(a,b,c,d){try{a:{var f=Y(a);a=b;for(var g,h=b=0;h<c;h++){var n=C[a>>2],l=C[a+4>>2];a+=8;var k=f,m=n,q=l,r=g,w=A;if(0>q||0>r)throw new O(28);if(null===k.Pb)throw new O(8);if(1===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Fb.read)throw new O(28);var z="undefined"!=typeof r;if(!z)r=k.position;else if(!k.seekable)throw new O(70);var G=k.Fb.read(k,w,m,q,r);z||(k.position+=G);var E=G;if(0>E){var J=-1;break a}b+=E;if(E<l)break;"undefined"!==typeof g&&
(g+=E)}J=b}C[d>>2]=J;return 0}catch(H){if("undefined"==typeof W||"ErrnoError"!==H.name)throw H;return H.Hb}},i:function(a,b,c,d,f){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var g=Y(a);Bb(g,b,d);K=[g.position>>>0,(I=g.position,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[f>>2]=K[0];B[f+4>>2]=K[1];g.ic&&0===b&&0===d&&(g.ic=null);return 0}catch(h){if("undefined"==typeof W||"ErrnoError"!==
h.name)throw h;return h.Hb}},D:function(a){try{var b=Y(a);return b.Fb&&b.Fb.Tb?b.Fb.Tb(b):0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return c.Hb}},q:function(a,b,c,d){try{a:{var f=Y(a);a=b;for(var g,h=b=0;h<c;h++){var n=C[a>>2],l=C[a+4>>2];a+=8;var k=f,m=n,q=l,r=g,w=A;if(0>q||0>r)throw new O(28);if(null===k.Pb)throw new O(8);if(0===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Fb.write)throw new O(28);k.seekable&&k.flags&1024&&Bb(k,0,
2);var z="undefined"!=typeof r;if(!z)r=k.position;else if(!k.seekable)throw new O(70);var G=k.Fb.write(k,w,m,q,r,void 0);z||(k.position+=G);var E=G;if(0>E){var J=-1;break a}b+=E;"undefined"!==typeof g&&(g+=E)}J=b}C[d>>2]=J;return 0}catch(H){if("undefined"==typeof W||"ErrnoError"!==H.name)throw H;return H.Hb}},X:Sb,qa:Tb,fa:Ub,M:Vb,ka:Wb,F:Xb,h:Yb,na:Zb,ia:$b,da:ac,ea:bc,j:cc,u:dc,oa:ec,g:fc,pa:gc,ca:hc,ga:ic,ha:jc,ma:kc,c:lc,ja:mc,la:nc,aa:oc,V:pc,$:qc,ba:rc,S:sc,U:tc,Z:uc,Y:vc,R:wc,Q:xc,T:yc,_:zc,
O:Ac,W:Bc,P:Cc};(function(){function a(c){c=c.exports;e.asm=c;ma=e.asm.ra;va();xa.unshift(e.asm.sa);D--;e.monitorRunDependencies&&e.monitorRunDependencies(D);if(0==D&&(null!==Ba&&(clearInterval(Ba),Ba=null),Ca)){var d=Ca;Ca=null;d()}return c}var b={a:Hc};D++;e.monitorRunDependencies&&e.monitorRunDependencies(D);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){t("Module.instantiateWasm callback failed with error: "+c),ca(c)}Ia(b,function(c){a(c.instance)}).catch(ca);return{}})();
e._sqlite3_malloc=function(){return(e._sqlite3_malloc=e.asm.ta).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.ua).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.va).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.wa).apply(null,arguments)};e._sqlite3_bind_int64=function(){return(e._sqlite3_bind_int64=e.asm.xa).apply(null,arguments)};
e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.ya).apply(null,arguments)};e._sqlite3_close=function(){return(e._sqlite3_close=e.asm.za).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.Aa).apply(null,arguments)};e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.Ba).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.Ca).apply(null,arguments)};
e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.Da).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.Ea).apply(null,arguments)};e._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.Fa).apply(null,arguments)};e._sqlite3_column_int=function(){return(e._sqlite3_column_int=e.asm.Ga).apply(null,arguments)};e._sqlite3_column_int64=function(){return(e._sqlite3_column_int64=e.asm.Ha).apply(null,arguments)};
e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.Ia).apply(null,arguments)};e._sqlite3_declare_vtab=function(){return(e._sqlite3_declare_vtab=e.asm.Ja).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.Ka).apply(null,arguments)};e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.La).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.Ma).apply(null,arguments)};
e._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.Na).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.Oa).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm.Pa).apply(null,arguments)};e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.Qa).apply(null,arguments)};e._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.Ra).apply(null,arguments)};
e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.Sa).apply(null,arguments)};e._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm.Ta).apply(null,arguments)};e._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.Ua).apply(null,arguments)};e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.Va).apply(null,arguments)};e._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.Wa).apply(null,arguments)};
e._sqlite3_step=function(){return(e._sqlite3_step=e.asm.Xa).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.Ya).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm.Za).apply(null,arguments)};e._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm._a).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.$a).apply(null,arguments)};
e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.ab).apply(null,arguments)};e._sqlite3_value_int64=function(){return(e._sqlite3_value_int64=e.asm.bb).apply(null,arguments)};e._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.cb).apply(null,arguments)};e._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.db).apply(null,arguments)};e._free=function(){return(e._free=e.asm.eb).apply(null,arguments)};
function Gc(){return(Gc=e.asm.fb).apply(null,arguments)}e._create_function=function(){return(e._create_function=e.asm.gb).apply(null,arguments)};e._update_hook=function(){return(e._update_hook=e.asm.hb).apply(null,arguments)};e._create_module=function(){return(e._create_module=e.asm.ib).apply(null,arguments)};e._register_vfs=function(){return(e._register_vfs=e.asm.jb).apply(null,arguments)};e._sqlite3_vfs_find=function(){return(e._sqlite3_vfs_find=e.asm.kb).apply(null,arguments)};
e._getSqliteFree=function(){return(e._getSqliteFree=e.asm.lb).apply(null,arguments)};var Ic=e._main=function(){return(Ic=e._main=e.asm.mb).apply(null,arguments)};e._sqlite3_bind_null=function(){return(e._sqlite3_bind_null=e.asm.nb).apply(null,arguments)};e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.ob).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.pb).apply(null,arguments)};
e._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.qb).apply(null,arguments)};e._sqlite3_bind_parameter_count=function(){return(e._sqlite3_bind_parameter_count=e.asm.rb).apply(null,arguments)};e._sqlite3_bind_parameter_name=function(){return(e._sqlite3_bind_parameter_name=e.asm.sb).apply(null,arguments)};e._sqlite3_libversion=function(){return(e._sqlite3_libversion=e.asm.tb).apply(null,arguments)};
e._sqlite3_libversion_number=function(){return(e._sqlite3_libversion_number=e.asm.ub).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.vb).apply(null,arguments)};e._sqlite3_open_v2=function(){return(e._sqlite3_open_v2=e.asm.wb).apply(null,arguments)};e._sqlite3_get_autocommit=function(){return(e._sqlite3_get_autocommit=e.asm.xb).apply(null,arguments)};var Ob=e._malloc=function(){return(Ob=e._malloc=e.asm.yb).apply(null,arguments)};
function Za(){return(Za=e.asm.zb).apply(null,arguments)}function Jc(){return(Jc=e.asm.Bb).apply(null,arguments)}function Ec(){return(Ec=e.asm.Cb).apply(null,arguments)}function Fc(){return(Fc=e.asm.Db).apply(null,arguments)}function Dc(){return(Dc=e.asm.Eb).apply(null,arguments)}e.UTF8ToString=v;e.stringToUTF8=ra;e.lengthBytesUTF8=y;e.getTempRet0=Jc;e.ccall=Z;
e.cwrap=function(a,b,c,d){var f=!c||c.every(g=>"number"===g||"boolean"===g);return"string"!==b&&f&&!d?e["_"+a]:function(){return Z(a,b,c,arguments,d)}};e.setValue=M;e.getValue=L;var Kc;Ca=function Lc(){Kc||Mc();Kc||(Ca=Lc)};
function Mc(){function a(){if(!Kc&&(Kc=!0,e.calledRun=!0,!na)){e.noFSInit||Db||(Db=!0,Cb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Gb("stdin",e.stdin):tb("/dev/tty","/dev/stdin"),e.stdout?Gb("stdout",null,e.stdout):tb("/dev/tty","/dev/stdout"),e.stderr?Gb("stderr",null,e.stderr):tb("/dev/tty1","/dev/stderr"),Ab("/dev/stdin",0),Ab("/dev/stdout",1),Ab("/dev/stderr",1));cb=!1;Ka(xa);Ka(ya);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(Nc){var b=Ic;try{var c=b(0,0);if(!noExitRuntime){if(e.onExit)e.onExit(c);
na=!0}fa(c,new Ja(c))}catch(d){d instanceof Ja||"unwind"==d||fa(1,d)}}if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)b=e.postRun.shift(),za.unshift(b);Ka(za)}}if(!(0<D)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Aa();Ka(wa);0<D||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var Nc=!0;e.noInitialRun&&(Nc=!1);Mc();
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ba;e.ready=new Promise((a,b)=>{aa=a;ba=b});var da=Object.assign({},e),ea="./this.program",fa=(a,b)=>{throw b;},ha="object"==typeof window,ia="function"==typeof importScripts,q="",ja;
if(ha||ia)ia?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",ia&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ka=e.print||console.log.bind(console),t=e.printErr||console.error.bind(console);Object.assign(e,da);da=null;e.thisProgram&&(ea=e.thisProgram);
e.quit&&(fa=e.quit);var la;e.wasmBinary&&(la=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&u("no native wasm support detected");var ma,na=!1,v,x,oa,y,A,pa,qa;function ra(){var a=ma.buffer;e.HEAP8=v=new Int8Array(a);e.HEAP16=oa=new Int16Array(a);e.HEAP32=y=new Int32Array(a);e.HEAPU8=x=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=A=new Uint32Array(a);e.HEAPF32=pa=new Float32Array(a);e.HEAPF64=qa=new Float64Array(a)}var sa=[],ta=[],ua=[],va=[];
function wa(){var a=e.preRun.shift();sa.unshift(a)}var B=0,xa=null,ya=null;function u(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";t(a);na=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function za(a){return a.startsWith("data:application/octet-stream;base64,")}var C;if(e.locateFile){if(C="crsqlite-sync.wasm",!za(C)){var Aa=C;C=e.locateFile?e.locateFile(Aa,q):q+Aa}}else C=(new URL("crsqlite-sync.wasm",import.meta.url)).href;
function Ba(a){try{if(a==C&&la)return new Uint8Array(la);if(ja)return ja(a);throw"both async and sync fetching of the wasm failed";}catch(b){u(b)}}function Ca(a){return la||!ha&&!ia||"function"!=typeof fetch?Promise.resolve().then(()=>Ba(a)):fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>Ba(a))}
function Da(a,b,c){return Ca(a).then(d=>WebAssembly.instantiate(d,b)).then(d=>d).then(c,d=>{t("failed to asynchronously prepare wasm: "+d);u(d)})}function Ea(a,b){var c=C;return la||"function"!=typeof WebAssembly.instantiateStreaming||za(c)||"function"!=typeof fetch?Da(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(f){t("wasm streaming compile failed: "+f);t("falling back to ArrayBuffer instantiation");return Da(c,a,b)}))}var E,G;
function Fa(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}function Ga(a){for(;0<a.length;)a.shift()(e)}function I(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return v[a>>0];case "i8":return v[a>>0];case "i16":return oa[a>>1];case "i32":return y[a>>2];case "i64":return y[a>>2];case "float":return pa[a>>2];case "double":return qa[a>>3];case "*":return A[a>>2];default:u(`invalid type for getValue: ${b}`)}}
function K(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":v[a>>0]=b;break;case "i8":v[a>>0]=b;break;case "i16":oa[a>>1]=b;break;case "i32":y[a>>2]=b;break;case "i64":G=[b>>>0,(E=b,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[a>>2]=G[0];y[a+4>>2]=G[1];break;case "float":pa[a>>2]=b;break;case "double":qa[a>>3]=b;break;case "*":A[a>>2]=b;break;default:u(`invalid type for setValue: ${c}`)}}
var Ha="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Ia(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&Ha)return Ha.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|h);else{var g=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|g:(f&7)<<18|h<<12|g<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function L(a,b){return a?Ia(x,a,b):""}
var Ja=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},M=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Ja(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Ka=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},La=a=>{if("/"===
a)return"/";a=M(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Ma(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>crypto.getRandomValues(a);u("initRandomDevice")}function Na(a){return(Na=Ma())(a)}
function Oa(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Ja(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}function N(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}
function Pa(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var h=0;h<a.length;++h){var g=a.charCodeAt(h);if(55296<=g&&57343>=g){var m=a.charCodeAt(++h);g=65536+((g&1023)<<10)|m&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-f}var Qa=[];function Ra(a,b){Qa[a]={input:[],Sb:[],dc:b};Sa(a,Ta)}
var Ta={open:function(a){var b=Qa[a.node.hc];if(!b)throw new O(43);a.Tb=b;a.seekable=!1},close:function(a){a.Tb.dc.ac(a.Tb)},ac:function(a){a.Tb.dc.ac(a.Tb)},read:function(a,b,c,d){if(!a.Tb||!a.Tb.dc.zc)throw new O(60);for(var f=0,h=0;h<d;h++){try{var g=a.Tb.dc.zc(a.Tb)}catch(m){throw new O(29);}if(void 0===g&&0===f)throw new O(6);if(null===g||void 0===g)break;f++;b[c+h]=g}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.Tb||!a.Tb.dc.sc)throw new O(60);try{for(var f=0;f<d;f++)a.Tb.dc.sc(a.Tb,
b[c+f])}catch(h){throw new O(29);}d&&(a.node.timestamp=Date.now());return f}},Ua={zc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;var c=Array(N(b)+1);b=Pa(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},sc:function(a,b){null===b||10===b?(ka(Ia(a.Sb,0)),a.Sb=[]):0!=b&&a.Sb.push(b)},ac:function(a){a.Sb&&
0<a.Sb.length&&(ka(Ia(a.Sb,0)),a.Sb=[])}},Va={sc:function(a,b){null===b||10===b?(t(Ia(a.Sb,0)),a.Sb=[]):0!=b&&a.Sb.push(b)},ac:function(a){a.Sb&&0<a.Sb.length&&(t(Ia(a.Sb,0)),a.Sb=[])}},P={Vb:null,Wb:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.Vb||(P.Vb={dir:{node:{Ub:P.nb.Ub,Rb:P.nb.Rb,ec:P.nb.ec,jc:P.nb.jc,Cc:P.nb.Cc,pc:P.nb.pc,nc:P.nb.nc,Bc:P.nb.Bc,oc:P.nb.oc},stream:{$b:P.Nb.$b}},file:{node:{Ub:P.nb.Ub,
Rb:P.nb.Rb},stream:{$b:P.Nb.$b,read:P.Nb.read,write:P.Nb.write,vc:P.Nb.vc,kc:P.Nb.kc,lc:P.Nb.lc}},link:{node:{Ub:P.nb.Ub,Rb:P.nb.Rb,ic:P.nb.ic},stream:{}},wc:{node:{Ub:P.nb.Ub,Rb:P.nb.Rb},stream:Wa}});c=Xa(a,b,c,d);16384===(c.mode&61440)?(c.nb=P.Vb.dir.node,c.Nb=P.Vb.dir.stream,c.Ob={}):32768===(c.mode&61440)?(c.nb=P.Vb.file.node,c.Nb=P.Vb.file.stream,c.Qb=0,c.Ob=null):40960===(c.mode&61440)?(c.nb=P.Vb.link.node,c.Nb=P.Vb.link.stream):8192===(c.mode&61440)&&(c.nb=P.Vb.wc.node,c.Nb=P.Vb.wc.stream);
c.timestamp=Date.now();a&&(a.Ob[b]=c,a.timestamp=c.timestamp);return c},Tc:function(a){return a.Ob?a.Ob.subarray?a.Ob.subarray(0,a.Qb):new Uint8Array(a.Ob):new Uint8Array(0)},xc:function(a,b){var c=a.Ob?a.Ob.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ob,a.Ob=new Uint8Array(b),0<a.Qb&&a.Ob.set(c.subarray(0,a.Qb),0))},Qc:function(a,b){if(a.Qb!=b)if(0==b)a.Ob=null,a.Qb=0;else{var c=a.Ob;a.Ob=new Uint8Array(b);c&&a.Ob.set(c.subarray(0,Math.min(b,a.Qb)));a.Qb=
b}},nb:{Ub:function(a){var b={};b.Ic=8192===(a.mode&61440)?a.id:1;b.rc=a.id;b.mode=a.mode;b.Oc=1;b.uid=0;b.Kc=0;b.hc=a.hc;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Qb:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.Ec=new Date(a.timestamp);b.Nc=new Date(a.timestamp);b.Hc=new Date(a.timestamp);b.Fc=4096;b.Gc=Math.ceil(b.size/b.Fc);return b},Rb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&P.Qc(a,b.size)},
ec:function(){throw Ya[44];},jc:function(a,b,c,d){return P.createNode(a,b,c,d)},Cc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=Q(b,c)}catch(h){}if(d)for(var f in d.Ob)throw new O(55);}delete a.parent.Ob[a.name];a.parent.timestamp=Date.now();a.name=c;b.Ob[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},pc:function(a,b){delete a.Ob[b];a.timestamp=Date.now()},nc:function(a,b){var c=Q(a,b),d;for(d in c.Ob)throw new O(55);delete a.Ob[b];a.timestamp=Date.now()},Bc:function(a){var b=[".",".."],
c;for(c in a.Ob)a.Ob.hasOwnProperty(c)&&b.push(c);return b},oc:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},ic:function(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Nb:{read:function(a,b,c,d,f){var h=a.node.Ob;if(f>=a.node.Qb)return 0;a=Math.min(a.node.Qb-f,d);if(8<a&&h.subarray)b.set(h.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=h[f+d];return a},write:function(a,b,c,d,f,h){b.buffer===v.buffer&&(h=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&
(!a.Ob||a.Ob.subarray)){if(h)return a.Ob=b.subarray(c,c+d),a.Qb=d;if(0===a.Qb&&0===f)return a.Ob=b.slice(c,c+d),a.Qb=d;if(f+d<=a.Qb)return a.Ob.set(b.subarray(c,c+d),f),d}P.xc(a,f+d);if(a.Ob.subarray&&b.subarray)a.Ob.set(b.subarray(c,c+d),f);else for(h=0;h<d;h++)a.Ob[f+h]=b[c+h];a.Qb=Math.max(a.Qb,f+d);return d},$b:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Qb);if(0>b)throw new O(28);return b},vc:function(a,b,c){P.xc(a.node,b+c);a.node.Qb=Math.max(a.node.Qb,
b+c)},kc:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Ob;if(f&2||a.buffer!==v.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;b=65536*Math.ceil(b/65536);(f=Za(65536,b))?(x.fill(0,f,f+b),b=f):b=0;if(!b)throw new O(48);v.set(a,b)}else c=!1,b=a.byteOffset;return{Pc:b,Dc:c}},lc:function(a,b,c,d){P.Nb.write(a,b,0,d,c,!1);return 0}}};function $a(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
var ab=null,bb={},R=[],cb=1,S=null,db=!0,O=null,Ya={},U=(a,b={})=>{a=Oa(a);if(!a)return{path:"",node:null};b=Object.assign({yc:!0,tc:0},b);if(8<b.tc)throw new O(32);a=a.split("/").filter(g=>!!g);for(var c=ab,d="/",f=0;f<a.length;f++){var h=f===a.length-1;if(h&&b.parent)break;c=Q(c,a[f]);d=M(d+"/"+a[f]);c.bc&&(!h||h&&b.yc)&&(c=c.bc.root);if(!h||b.Zb)for(h=0;40960===(c.mode&61440);)if(c=eb(d),d=Oa(Ka(d),c),c=U(d,{tc:b.tc+1}).node,40<h++)throw new O(32);}return{path:d,node:c}},fb=a=>{for(var b;;){if(a===
a.parent)return a=a.Wb.Ac,b?"/"!==a[a.length-1]?`${a}/${b}`:a+b:a;b=b?`${a.name}/${b}`:a.name;a=a.parent}},gb=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%S.length},hb=a=>{var b=gb(a.parent.id,a.name);if(S[b]===a)S[b]=a.cc;else for(b=S[b];b;){if(b.cc===a){b.cc=a.cc;break}b=b.cc}},Q=(a,b)=>{var c;if(c=(c=ib(a,"x"))?c:a.nb.ec?0:2)throw new O(c,a);for(c=S[gb(a.id,b)];c;c=c.cc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.nb.ec(a,b)},Xa=(a,b,c,d)=>
{a=new jb(a,b,c,d);b=gb(a.parent.id,a.name);a.cc=S[b];return S[b]=a},kb=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},ib=(a,b)=>{if(db)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},lb=(a,b)=>{try{return Q(a,b),20}catch(c){}return ib(a,"wx")},mb=(a,b,c)=>{try{var d=Q(a,b)}catch(f){return f.Pb}if(a=ib(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===fb(d))return 10}else if(16384===
(d.mode&61440))return 31;return 0},nb=()=>{for(var a=0;4096>=a;a++)if(!R[a])return a;throw new O(33);},pb=(a,b=-1)=>{ob||(ob=function(){this.mc={}},ob.prototype={},Object.defineProperties(ob.prototype,{object:{get:function(){return this.node},set:function(c){this.node=c}},flags:{get:function(){return this.mc.flags},set:function(c){this.mc.flags=c}},position:{get:function(){return this.mc.position},set:function(c){this.mc.position=c}}}));a=Object.assign(new ob,a);-1==b&&(b=nb());a.Xb=b;return R[b]=
a},Wa={open:a=>{a.Nb=bb[a.node.hc].Nb;a.Nb.open&&a.Nb.open(a)},$b:()=>{throw new O(70);}},Sa=(a,b)=>{bb[a]={Nb:b}},qb=(a,b)=>{var c="/"===b,d=!b;if(c&&ab)throw new O(10);if(!c&&!d){var f=U(b,{yc:!1});b=f.path;f=f.node;if(f.bc)throw new O(10);if(16384!==(f.mode&61440))throw new O(54);}b={type:a,Vc:{},Ac:b,Mc:[]};a=a.Wb(b);a.Wb=b;b.root=a;c?ab=a:f&&(f.bc=b,f.Wb&&f.Wb.Mc.push(b))},rb=(a,b,c)=>{var d=U(a,{parent:!0}).node;a=La(a);if(!a||"."===a||".."===a)throw new O(28);var f=lb(d,a);if(f)throw new O(f);
if(!d.nb.jc)throw new O(63);return d.nb.jc(d,a,b,c)},V=(a,b)=>rb(a,(void 0!==b?b:511)&1023|16384,0),sb=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);rb(a,b|8192,c)},tb=(a,b)=>{if(!Oa(a))throw new O(44);var c=U(b,{parent:!0}).node;if(!c)throw new O(44);b=La(b);var d=lb(c,b);if(d)throw new O(d);if(!c.nb.oc)throw new O(63);c.nb.oc(c,b,a)},ub=a=>{var b=U(a,{parent:!0}).node;a=La(a);var c=Q(b,a),d=mb(b,a,!0);if(d)throw new O(d);if(!b.nb.nc)throw new O(63);if(c.bc)throw new O(10);b.nb.nc(b,a);hb(c)},eb=
a=>{a=U(a).node;if(!a)throw new O(44);if(!a.nb.ic)throw new O(28);return Oa(fb(a.parent),a.nb.ic(a))},vb=(a,b)=>{a=U(a,{Zb:!b}).node;if(!a)throw new O(44);if(!a.nb.Ub)throw new O(63);return a.nb.Ub(a)},wb=a=>vb(a,!0),xb=(a,b)=>{a="string"==typeof a?U(a,{Zb:!0}).node:a;if(!a.nb.Rb)throw new O(63);a.nb.Rb(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},yb=(a,b)=>{if(0>b)throw new O(28);a="string"==typeof a?U(a,{Zb:!0}).node:a;if(!a.nb.Rb)throw new O(63);if(16384===(a.mode&61440))throw new O(31);
if(32768!==(a.mode&61440))throw new O(28);var c=ib(a,"w");if(c)throw new O(c);a.nb.Rb(a,{size:b,timestamp:Date.now()})},Ab=(a,b,c)=>{if(""===a)throw new O(44);if("string"==typeof b){var d={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof d)throw Error(`Unknown file open mode: ${b}`);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=M(a);try{f=U(a,{Zb:!(b&131072)}).node}catch(h){}}d=!1;if(b&64)if(f){if(b&128)throw new O(20);}else f=rb(a,
c,0),d=!0;if(!f)throw new O(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new O(54);if(!d&&(c=f?40960===(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==kb(b)||b&512)?31:ib(f,kb(b)):44))throw new O(c);b&512&&!d&&yb(f,0);b&=-131713;f=pb({node:f,path:fb(f),flags:b,seekable:!0,position:0,Nb:f.Nb,Sc:[],error:!1});f.Nb.open&&f.Nb.open(f);!e.logReadFiles||b&1||(zb||(zb={}),a in zb||(zb[a]=1));return f},Bb=(a,b,c)=>{if(null===a.Xb)throw new O(8);if(!a.seekable||!a.Nb.$b)throw new O(70);
if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Nb.$b(a,b,c);a.Sc=[]},Cb=()=>{O||(O=function(a,b){this.name="ErrnoError";this.node=b;this.Rc=function(c){this.Pb=c};this.Rc(a);this.message="FS error"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(a=>{Ya[a]=new O(a);Ya[a].stack="<generic error, no stack>"}))},Db,Fb=(a,b,c)=>{a=M("/dev/"+a);var d=$a(!!b,!!c);Eb||(Eb=64);var f=Eb++<<8|0;Sa(f,{open:h=>{h.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(h,g,m,l)=>{for(var k=
0,p=0;p<l;p++){try{var n=b()}catch(r){throw new O(29);}if(void 0===n&&0===k)throw new O(6);if(null===n||void 0===n)break;k++;g[m+p]=n}k&&(h.node.timestamp=Date.now());return k},write:(h,g,m,l)=>{for(var k=0;k<l;k++)try{c(g[m+k])}catch(p){throw new O(29);}l&&(h.node.timestamp=Date.now());return k}});sb(a,d,f)},Eb,W={},ob,zb;function X(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":Y(a).path;if(0==b.length){if(!c)throw new O(44);return a}return M(a+"/"+b)}
function Gb(a,b,c){try{var d=a(b)}catch(h){if(h&&h.node&&M(b)!==M(fb(h.node)))return-54;throw h;}y[c>>2]=d.Ic;y[c+8>>2]=d.rc;y[c+12>>2]=d.mode;A[c+16>>2]=d.Oc;y[c+20>>2]=d.uid;y[c+24>>2]=d.Kc;y[c+28>>2]=d.hc;G=[d.size>>>0,(E=d.size,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[c+40>>2]=G[0];y[c+44>>2]=G[1];y[c+48>>2]=4096;y[c+52>>2]=d.Gc;a=d.Ec.getTime();b=d.Nc.getTime();var f=d.Hc.getTime();G=[Math.floor(a/1E3)>>>0,(E=Math.floor(a/1E3),1<=+Math.abs(E)?
0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[c+56>>2]=G[0];y[c+60>>2]=G[1];A[c+64>>2]=a%1E3*1E3;G=[Math.floor(b/1E3)>>>0,(E=Math.floor(b/1E3),1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[c+72>>2]=G[0];y[c+76>>2]=G[1];A[c+80>>2]=b%1E3*1E3;G=[Math.floor(f/1E3)>>>0,(E=Math.floor(f/1E3),1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[c+88>>2]=G[0];y[c+92>>2]=
G[1];A[c+96>>2]=f%1E3*1E3;G=[d.rc>>>0,(E=d.rc,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[c+104>>2]=G[0];y[c+108>>2]=G[1];return 0}var Hb=void 0;function Ib(){Hb+=4;return y[Hb-4>>2]}function Y(a){a=R[a];if(!a)throw new O(8);return a}function Jb(a,b,c){return Pa(a,x,b,c)}function Kb(a){return A[a>>2]+4294967296*y[a+4>>2]}var Lb=[0,31,60,91,121,152,182,213,244,274,305,335],Mb=[0,31,59,90,120,151,181,212,243,273,304,334];
function Nb(a){var b=N(a)+1,c=Ob(b);c&&Jb(a,c,b);return c}var Pb={};function Qb(){if(!Rb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ea||"./this.program"},b;for(b in Pb)void 0===Pb[b]?delete a[b]:a[b]=Pb[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Rb=c}return Rb}var Rb;
function Sb(a){if(!noExitRuntime){if(e.onExit)e.onExit(a);na=!0}fa(a,new Fa(a))}function Tb(){}function Ub(){}function Vb(){}function Wb(){}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(){}function fc(){}function gc(){}function hc(){}function ic(){}function jc(){}function kc(){}function lc(){}function mc(){}function nc(){}function oc(){}function pc(){}function qc(){}function rc(){}function sc(){}function tc(){}
function uc(){}function vc(){}function wc(){}function xc(){}function yc(){}function zc(){}function Ac(){}function Bc(){}function Cc(){}function Dc(){}function Ec(){}function Fc(){}
function Z(a,b,c,d){var f={string:k=>{var p=0;if(null!==k&&void 0!==k&&0!==k){p=N(k)+1;var n=Gc(p);Jb(k,n,p);p=n}return p},array:k=>{var p=Gc(k.length);v.set(k,p);return p}};a=e["_"+a];var h=[],g=0;if(d)for(var m=0;m<d.length;m++){var l=f[c[m]];l?(0===g&&(g=Hc()),h[m]=l(d[m])):h[m]=d[m]}c=a.apply(null,h);return c=function(k){0!==g&&Ic(g);return"string"===b?L(k):"boolean"===b?!!k:k}(c)}
function jb(a,b,c,d){a||(a=this);this.parent=a;this.Wb=a.Wb;this.bc=null;this.id=cb++;this.name=b;this.mode=c;this.nb={};this.Nb={};this.hc=d}Object.defineProperties(jb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Cb();S=Array(4096);qb(P,"/");V("/tmp");V("/home");V("/home/web_user");
(()=>{V("/dev");Sa(259,{read:()=>0,write:(d,f,h,g)=>g});sb("/dev/null",259);Ra(1280,Ua);Ra(1536,Va);sb("/dev/tty",1280);sb("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(b=Na(a).byteLength);return a[--b]};Fb("random",c);Fb("urandom",c);V("/dev/shm");V("/dev/shm/tmp")})();
(()=>{V("/proc");var a=V("/proc/self");V("/proc/self/fd");qb({Wb:()=>{var b=Xa(a,"fd",16895,73);b.nb={ec:(c,d)=>{var f=R[+d];if(!f)throw new O(8);c={parent:null,Wb:{Ac:"fake"},nb:{ic:()=>f.path}};return c.parent=c}};return b}},"/proc/self/fd")})();
(function(){const a=new Map;e.setAuthorizer=function(b,c,d){c?a.set(b,{f:c,uc:d}):a.delete(b);return Z("set_authorizer","number",["number"],[b])};Tb=function(b,c,d,f,h,g){if(a.has(b)){const {f:m,uc:l}=a.get(b);return m(l,c,d?L(d):null,f?L(f):null,h?L(h):null,g?L(g):null)}return 0}})();
(function(){function a(d,f){const h=[];for(let g=0;0!=d[f+g];++g){if(1E3<g)throw Error("C-string never terminated after 1k characters");h.push(d[f+g])}return String.fromCharCode(...h)}const b=new Map,c=new Map;e.updateHook=function(d,f){const h=b.size;b.set(h,f);return Z("update_hook","void",["number","number"],[d,h])};e.createFunction=function(d,f,h,g,m,l){const k=b.size;b.set(k,{f:l,Yb:m});return Z("create_function","number","number string number number number number".split(" "),[d,f,h,g,k,0])};
e.createAggregate=function(d,f,h,g,m,l,k){const p=b.size;b.set(p,{step:l,Jc:k,Yb:m});return Z("create_function","number","number string number number number number".split(" "),[d,f,h,g,p,1])};e.getFunctionUserData=function(d){return c.get(d)};Yb=function(d,f,h,g,m,l){d=b.get(d);const k=v;m=BigInt(l)<<32n|BigInt(m)&4294967295n;d(f,a(k,h),a(k,g),m)};Vb=function(d,f,h,g){d=b.get(d);c.set(f,d.Yb);d.f(f,new Uint32Array(x.buffer,g,h));c.delete(f)};Xb=function(d,f,h,g){d=b.get(d);c.set(f,d.Yb);d.step(f,
new Uint32Array(x.buffer,g,h));c.delete(f)};Ub=function(d,f){d=b.get(d);c.set(f,d.Yb);d.Jc(f);c.delete(f)}})();(function(){const a=new Map;e.progressHandler=function(b,c,d,f){d?a.set(b,{f:d,uc:f}):a.delete(b);return Z("progress_handler",null,["number","number"],[b,c])};Wb=function(b){if(a.has(b)){const {f:c,uc:d}=a.get(b);return c(d)}return 0}})();
(function(){function a(l,k){const p=`get${l}`,n=`set${l}`;return new Proxy(new DataView(x.buffer,k,"Int32"===l?4:8),{get(r,w){if(w===p)return function(z,F){if(!F)throw Error("must be little endian");return r[w](z,F)};if(w===n)return function(z,F,D){if(!D)throw Error("must be little endian");return r[w](z,F,D)};if("string"===typeof w&&w.match(/^(get)|(set)/))throw Error("invalid type");return r[w]}})}const b="object"===typeof Asyncify,c=new Map,d=new Map,f=new Map,h=b?new Set:null,g=b?new Set:null,
m=new Map;oc=function(l,k,p,n){m.set(L(l),{size:k,fc:Array.from(new Uint32Array(x.buffer,n,p))})};e.createModule=function(l,k,p,n){b&&(p.handleAsync=Asyncify.Lc);const r=c.size;c.set(r,{module:p,Yb:n});n=0;p.xCreate&&(n|=1);p.xConnect&&(n|=2);p.xBestIndex&&(n|=4);p.xDisconnect&&(n|=8);p.xDestroy&&(n|=16);p.xOpen&&(n|=32);p.xClose&&(n|=64);p.xFilter&&(n|=128);p.xNext&&(n|=256);p.xEof&&(n|=512);p.xColumn&&(n|=1024);p.xRowid&&(n|=2048);p.xUpdate&&(n|=4096);p.xBegin&&(n|=8192);p.xSync&&(n|=16384);p.xCommit&&
(n|=32768);p.xRollback&&(n|=65536);p.xFindFunction&&(n|=131072);p.xRename&&(n|=262144);return Z("create_module","number",["number","string","number","number"],[l,k,r,n])};ec=function(l,k,p,n,r,w){k=c.get(k);d.set(r,k);if(b){h.delete(r);for(const z of h)d.delete(z)}n=Array.from(new Uint32Array(x.buffer,n,p)).map(z=>L(z));return k.module.xCreate(l,k.Yb,n,r,a("Int32",w))};dc=function(l,k,p,n,r,w){k=c.get(k);d.set(r,k);if(b){h.delete(r);for(const z of h)d.delete(z)}n=Array.from(new Uint32Array(x.buffer,
n,p)).map(z=>L(z));return k.module.xConnect(l,k.Yb,n,r,a("Int32",w))};$b=function(l,k){var p=d.get(l),n=m.get("sqlite3_index_info").fc;const r={};r.nConstraint=I(k+n[0],"i32");r.aConstraint=[];var w=I(k+n[1],"*"),z=m.get("sqlite3_index_constraint").size;for(var F=0;F<r.nConstraint;++F){var D=r.aConstraint,J=D.push,H=w+F*z,ca=m.get("sqlite3_index_constraint").fc,T={};T.iColumn=I(H+ca[0],"i32");T.op=I(H+ca[1],"i8");T.usable=!!I(H+ca[2],"i8");J.call(D,T)}r.nOrderBy=I(k+n[2],"i32");r.aOrderBy=[];w=I(k+
n[3],"*");z=m.get("sqlite3_index_orderby").size;for(F=0;F<r.nOrderBy;++F)D=r.aOrderBy,J=D.push,H=w+F*z,ca=m.get("sqlite3_index_orderby").fc,T={},T.iColumn=I(H+ca[0],"i32"),T.desc=!!I(H+ca[1],"i8"),J.call(D,T);r.aConstraintUsage=[];for(w=0;w<r.nConstraint;++w)r.aConstraintUsage.push({argvIndex:0,omit:!1});r.idxNum=I(k+n[5],"i32");r.idxStr=null;r.orderByConsumed=!!I(k+n[8],"i8");r.estimatedCost=I(k+n[9],"double");r.estimatedRows=I(k+n[10],"i64");r.idxFlags=I(k+n[11],"i32");r.colUsed=I(k+n[12],"i64");
l=p.module.xBestIndex(l,r);p=m.get("sqlite3_index_info").fc;n=I(k+p[4],"*");w=m.get("sqlite3_index_constraint_usage").size;for(J=0;J<r.nConstraint;++J)z=n+J*w,D=r.aConstraintUsage[J],H=m.get("sqlite3_index_constraint_usage").fc,K(z+H[0],D.argvIndex,"i32"),K(z+H[1],D.omit?1:0,"i8");K(k+p[5],r.idxNum,"i32");"string"===typeof r.idxStr&&(n=N(r.idxStr),w=Z("sqlite3_malloc","number",["number"],[n+1]),Jb(r.idxStr,w,n+1),K(k+p[6],w,"*"),K(k+p[7],1,"i32"));K(k+p[8],r.orderByConsumed,"i32");K(k+p[9],r.estimatedCost,
"double");K(k+p[10],r.estimatedRows,"i64");K(k+p[11],r.idxFlags,"i32");return l};gc=function(l){const k=d.get(l);b?h.add(l):d.delete(l);return k.module.xDisconnect(l)};fc=function(l){const k=d.get(l);b?h.add(l):d.delete(l);return k.module.xDestroy(l)};kc=function(l,k){const p=d.get(l);f.set(k,p);if(b){g.delete(k);for(const n of g)f.delete(n)}return p.module.xOpen(l,k)};ac=function(l){const k=f.get(l);b?g.add(l):f.delete(l);return k.module.xClose(l)};hc=function(l){return f.get(l).module.xEof(l)?1:
0};ic=function(l,k,p,n,r){const w=f.get(l);p=p?L(p):null;r=new Uint32Array(x.buffer,r,n);return w.module.xFilter(l,k,p,r)};jc=function(l){return f.get(l).module.xNext(l)};bc=function(l,k,p){return f.get(l).module.xColumn(l,k,p)};nc=function(l,k){return f.get(l).module.xRowid(l,a("BigInt64",k))};qc=function(l,k,p,n){const r=d.get(l);p=new Uint32Array(x.buffer,p,k);return r.module.xUpdate(l,p,a("BigInt64",n))};Zb=function(l){return d.get(l).module.xBegin(l)};pc=function(l){return d.get(l).module.xSync(l)};
cc=function(l){return d.get(l).module.xCommit(l)};mc=function(l){return d.get(l).module.xRollback(l)};lc=function(l,k){const p=d.get(l);k=L(k);return p.module.xRename(l,k)}})();
(function(){function a(g,m){const l=`get${g}`,k=`set${g}`;return new Proxy(new DataView(x.buffer,m,"Int32"===g?4:8),{get(p,n){if(n===l)return function(r,w){if(!w)throw Error("must be little endian");return p[n](r,w)};if(n===k)return function(r,w,z){if(!z)throw Error("must be little endian");return p[n](r,w,z)};if("string"===typeof n&&n.match(/^(get)|(set)/))throw Error("invalid type");return p[n]}})}function b(g){g>>=2;return A[g]+A[g+1]*2**32}const c="object"===typeof Asyncify,d=new Map,f=new Map;
e.registerVFS=function(g,m){if(Z("sqlite3_vfs_find","number",["string"],[g.name]))throw Error(`VFS '${g.name}' already registered`);c&&(g.handleAsync=Asyncify.Lc);var l=g.Uc??64;const k=e._malloc(4);m=Z("register_vfs","number",["string","number","number","number"],[g.name,l,m?1:0,k]);m||(l=I(k,"*"),d.set(l,g));e._free(k);return m};const h=c?new Set:null;tc=function(g){const m=f.get(g);c?h.add(g):f.delete(g);return m.xClose(g)};Ac=function(g,m,l,k){return f.get(g).xRead(g,x.subarray(m,m+l),b(k))};
Fc=function(g,m,l,k){return f.get(g).xWrite(g,x.subarray(m,m+l),b(k))};Dc=function(g,m){return f.get(g).xTruncate(g,b(m))};Cc=function(g,m){return f.get(g).xSync(g,m)};xc=function(g,m){const l=f.get(g);m=a("BigInt64",m);return l.xFileSize(g,m)};yc=function(g,m){return f.get(g).xLock(g,m)};Ec=function(g,m){return f.get(g).xUnlock(g,m)};sc=function(g,m){const l=f.get(g);m=a("Int32",m);return l.xCheckReservedLock(g,m)};wc=function(g,m,l){const k=f.get(g);l=new DataView(x.buffer,l);return k.xFileControl(g,
m,l)};Bc=function(g){return f.get(g).xSectorSize(g)};vc=function(g){return f.get(g).xDeviceCharacteristics(g)};zc=function(g,m,l,k,p){g=d.get(g);f.set(l,g);if(c){h.delete(l);for(var n of h)f.delete(n)}n=null;if(k&64){n=1;const r=[];for(;n;){const w=x[m++];if(w)r.push(w);else switch(x[m]||(n=null),n){case 1:r.push(63);n=2;break;case 2:r.push(61);n=3;break;case 3:r.push(38),n=2}}n=(new TextDecoder).decode(new Uint8Array(r))}else m&&(n=L(m));p=a("Int32",p);return g.xOpen(n,l,k,p)};uc=function(g,m,l){return d.get(g).xDelete(L(m),
l)};rc=function(g,m,l,k){g=d.get(g);k=a("Int32",k);return g.xAccess(L(m),l,k)}})();
var Kc={a:function(a,b,c,d){u(`Assertion failed: ${L(a)}, at: `+[b?L(b):"unknown filename",c,d?L(d):"unknown function"])},M:function(a,b){try{return a=L(a),xb(a,b),0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Pb}},P:function(a,b,c){try{b=L(b);b=X(a,b);if(c&-8)return-28;var d=U(b,{Zb:!0}).node;if(!d)return-44;a="";c&4&&(a+="r");c&2&&(a+="w");c&1&&(a+="x");return a&&ib(d,a)?-2:0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Pb}},N:function(a,
b){try{var c=R[a];if(!c)throw new O(8);xb(c.node,b);return 0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Pb}},L:function(a){try{var b=R[a];if(!b)throw new O(8);var c=b.node;var d="string"==typeof c?U(c,{Zb:!0}).node:c;if(!d.nb.Rb)throw new O(63);d.nb.Rb(d,{timestamp:Date.now()});return 0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Pb}},b:function(a,b,c){Hb=c;try{var d=Y(a);switch(b){case 0:var f=Ib();return 0>f?-28:pb(d,f).Xb;case 1:case 2:return 0;
case 3:return d.flags;case 4:return f=Ib(),d.flags|=f,0;case 5:return f=Ib(),oa[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return y[Jc()>>2]=28,-1;default:return-28}}catch(h){if("undefined"==typeof W||"ErrnoError"!==h.name)throw h;return-h.Pb}},J:function(a,b){try{var c=Y(a);return Gb(vb,c.path,b)}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Pb}},k:function(a,b,c){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return-61;var d=
R[a];if(!d)throw new O(8);if(0===(d.flags&2097155))throw new O(28);yb(d.node,b);return 0}catch(f){if("undefined"==typeof W||"ErrnoError"!==f.name)throw f;return-f.Pb}},E:function(a,b){try{if(0===b)return-28;var c=N("/")+1;if(b<c)return-68;Jb("/",a,b);return c}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Pb}},H:function(a,b){try{return a=L(a),Gb(wb,a,b)}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Pb}},B:function(a,b,c){try{return b=L(b),b=
X(a,b),b=M(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),V(b,c),0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return-d.Pb}},G:function(a,b,c,d){try{b=L(b);var f=d&256;b=X(a,b,d&4096);return Gb(f?wb:vb,b,c)}catch(h){if("undefined"==typeof W||"ErrnoError"!==h.name)throw h;return-h.Pb}},w:function(a,b,c,d){Hb=d;try{b=L(b);b=X(a,b);var f=d?Ib():0;return Ab(b,c,f).Xb}catch(h){if("undefined"==typeof W||"ErrnoError"!==h.name)throw h;return-h.Pb}},u:function(a,b,c,d){try{b=L(b);
b=X(a,b);if(0>=d)return-28;var f=eb(b),h=Math.min(d,N(f)),g=v[c+h];Jb(f,c,d+1);v[c+h]=g;return h}catch(m){if("undefined"==typeof W||"ErrnoError"!==m.name)throw m;return-m.Pb}},t:function(a){try{return a=L(a),ub(a),0}catch(b){if("undefined"==typeof W||"ErrnoError"!==b.name)throw b;return-b.Pb}},I:function(a,b){try{return a=L(a),Gb(vb,a,b)}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return-c.Pb}},o:function(a,b,c){try{b=L(b);b=X(a,b);if(0===c){a=b;var d=U(a,{parent:!0}).node;if(!d)throw new O(44);
var f=La(a),h=Q(d,f),g=mb(d,f,!1);if(g)throw new O(g);if(!d.nb.pc)throw new O(63);if(h.bc)throw new O(10);d.nb.pc(d,f);hb(h)}else 512===c?ub(b):u("Invalid flags passed to unlinkat");return 0}catch(m){if("undefined"==typeof W||"ErrnoError"!==m.name)throw m;return-m.Pb}},n:function(a,b,c){try{b=L(b);b=X(a,b,!0);if(c){var d=Kb(c),f=y[c+8>>2];h=1E3*d+f/1E6;c+=16;d=Kb(c);f=y[c+8>>2];g=1E3*d+f/1E6}else var h=Date.now(),g=h;a=h;var m=U(b,{Zb:!0}).node;m.nb.Rb(m,{timestamp:Math.max(a,g)});return 0}catch(l){if("undefined"==
typeof W||"ErrnoError"!==l.name)throw l;return-l.Pb}},z:function(a,b){a=new Date(1E3*Kb(a));y[b>>2]=a.getSeconds();y[b+4>>2]=a.getMinutes();y[b+8>>2]=a.getHours();y[b+12>>2]=a.getDate();y[b+16>>2]=a.getMonth();y[b+20>>2]=a.getFullYear()-1900;y[b+24>>2]=a.getDay();var c=a.getFullYear();y[b+28>>2]=(0!==c%4||0===c%100&&0!==c%400?Mb:Lb)[a.getMonth()]+a.getDate()-1|0;y[b+36>>2]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();
y[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},x:function(a,b,c,d,f,h,g){try{var m=Y(d);if(0!==(b&2)&&0===(c&2)&&2!==(m.flags&2097155))throw new O(2);if(1===(m.flags&2097155))throw new O(2);if(!m.Nb.kc)throw new O(43);var l=m.Nb.kc(m,a,f,b,c);var k=l.Pc;y[h>>2]=l.Dc;A[g>>2]=k;return 0}catch(p){if("undefined"==typeof W||"ErrnoError"!==p.name)throw p;return-p.Pb}},y:function(a,b,c,d,f,h){try{var g=Y(f);if(c&2){if(32768!==(g.node.mode&61440))throw new O(43);d&2||g.Nb.lc&&g.Nb.lc(g,x.slice(a,
a+b),h,b,d)}}catch(m){if("undefined"==typeof W||"ErrnoError"!==m.name)throw m;return-m.Pb}},q:function(a,b,c){function d(l){return(l=l.toTimeString().match(/\(([A-Za-z ]+)\)$/))?l[1]:"GMT"}var f=(new Date).getFullYear(),h=new Date(f,0,1),g=new Date(f,6,1);f=h.getTimezoneOffset();var m=g.getTimezoneOffset();A[a>>2]=60*Math.max(f,m);y[b>>2]=Number(f!=m);a=d(h);b=d(g);a=Nb(a);b=Nb(b);m<f?(A[c>>2]=a,A[c+4>>2]=b):(A[c>>2]=b,A[c+4>>2]=a)},f:function(){return Date.now()},r:function(){return 2147483648},
e:()=>performance.now(),O:function(a,b,c){x.copyWithin(a,b,b+c)},l:function(a){var b=x.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math,h=f.min;d=Math.max(a,d);d+=(65536-d%65536)%65536;a:{var g=ma.buffer;try{ma.grow(h.call(f,2147483648,d)-g.byteLength+65535>>>16);ra();var m=1;break a}catch(l){}m=void 0}if(m)return!0}return!1},C:function(a,b){var c=0;Qb().forEach(function(d,f){var h=b+c;f=A[a+4*f>>2]=h;for(h=0;h<d.length;++h)v[f++>>
0]=d.charCodeAt(h);v[f>>0]=0;c+=d.length+1});return 0},D:function(a,b){var c=Qb();A[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});A[b>>2]=d;return 0},d:Sb,g:function(a){try{var b=Y(a);if(null===b.Xb)throw new O(8);b.qc&&(b.qc=null);try{b.Nb.close&&b.Nb.close(b)}catch(c){throw c;}finally{R[b.Xb]=null}b.Xb=null;return 0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;return c.Pb}},m:function(a,b){try{var c=Y(a);v[b>>0]=c.Tb?2:16384===(c.mode&61440)?3:40960===(c.mode&
61440)?7:4;oa[b+2>>1]=0;G=[0,(E=0,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[b+8>>2]=G[0];y[b+12>>2]=G[1];G=[0,(E=0,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[b+16>>2]=G[0];y[b+20>>2]=G[1];return 0}catch(d){if("undefined"==typeof W||"ErrnoError"!==d.name)throw d;return d.Pb}},v:function(a,b,c,d){try{a:{var f=Y(a);a=b;for(var h,g=b=0;g<c;g++){var m=A[a>>2],l=A[a+4>>2];a+=8;var k=f,p=m,
n=l,r=h,w=v;if(0>n||0>r)throw new O(28);if(null===k.Xb)throw new O(8);if(1===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Nb.read)throw new O(28);var z="undefined"!=typeof r;if(!z)r=k.position;else if(!k.seekable)throw new O(70);var F=k.Nb.read(k,w,p,n,r);z||(k.position+=F);var D=F;if(0>D){var J=-1;break a}b+=D;if(D<l)break;"undefined"!==typeof h&&(h+=D)}J=b}A[d>>2]=J;return 0}catch(H){if("undefined"==typeof W||"ErrnoError"!==H.name)throw H;return H.Pb}},j:function(a,
b,c,d,f){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var h=Y(a);Bb(h,b,d);G=[h.position>>>0,(E=h.position,1<=+Math.abs(E)?0<E?+Math.floor(E/4294967296)>>>0:~~+Math.ceil((E-+(~~E>>>0))/4294967296)>>>0:0)];y[f>>2]=G[0];y[f+4>>2]=G[1];h.qc&&0===b&&0===d&&(h.qc=null);return 0}catch(g){if("undefined"==typeof W||"ErrnoError"!==g.name)throw g;return g.Pb}},F:function(a){try{var b=Y(a);return b.Nb&&b.Nb.ac?b.Nb.ac(b):0}catch(c){if("undefined"==typeof W||"ErrnoError"!==c.name)throw c;
return c.Pb}},s:function(a,b,c,d){try{a:{var f=Y(a);a=b;for(var h,g=b=0;g<c;g++){var m=A[a>>2],l=A[a+4>>2];a+=8;var k=f,p=m,n=l,r=h,w=v;if(0>n||0>r)throw new O(28);if(null===k.Xb)throw new O(8);if(0===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Nb.write)throw new O(28);k.seekable&&k.flags&1024&&Bb(k,0,2);var z="undefined"!=typeof r;if(!z)r=k.position;else if(!k.seekable)throw new O(70);var F=k.Nb.write(k,w,p,n,r,void 0);z||(k.position+=F);var D=F;if(0>D){var J=
-1;break a}b+=D;"undefined"!==typeof h&&(h+=D)}J=b}A[d>>2]=J;return 0}catch(H){if("undefined"==typeof W||"ErrnoError"!==H.name)throw H;return H.Pb}},va:Tb,R:Ub,ka:Vb,fa:Wb,aa:Xb,K:Yb,oa:Zb,A:$b,h:ac,ra:bc,ma:cc,ha:dc,ia:ec,i:fc,p:gc,sa:hc,ua:ic,ta:jc,ga:kc,ja:lc,la:mc,qa:nc,c:oc,na:pc,pa:qc,da:rc,U:sc,Z:tc,ea:uc,Q:vc,T:wc,X:xc,W:yc,ca:zc,ba:Ac,S:Bc,Y:Cc,_:Dc,V:Ec,$:Fc};
(function(){function a(c){c=c.exports;e.asm=c;ma=e.asm.wa;ra();ta.unshift(e.asm.xa);B--;e.monitorRunDependencies&&e.monitorRunDependencies(B);if(0==B&&(null!==xa&&(clearInterval(xa),xa=null),ya)){var d=ya;ya=null;d()}return c}var b={a:Kc};B++;e.monitorRunDependencies&&e.monitorRunDependencies(B);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){t("Module.instantiateWasm callback failed with error: "+c),ba(c)}Ea(b,function(c){a(c.instance)}).catch(ba);return{}})();
e._sqlite3_malloc=function(){return(e._sqlite3_malloc=e.asm.ya).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.za).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.Aa).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.Ba).apply(null,arguments)};e._sqlite3_bind_int64=function(){return(e._sqlite3_bind_int64=e.asm.Ca).apply(null,arguments)};
e._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.Da).apply(null,arguments)};e._sqlite3_bind_null=function(){return(e._sqlite3_bind_null=e.asm.Ea).apply(null,arguments)};e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.Fa).apply(null,arguments)};e._sqlite3_close=function(){return(e._sqlite3_close=e.asm.Ga).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.Ha).apply(null,arguments)};
e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.Ia).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.Ja).apply(null,arguments)};e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.Ka).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.La).apply(null,arguments)};e._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.Ma).apply(null,arguments)};
e._sqlite3_column_int=function(){return(e._sqlite3_column_int=e.asm.Na).apply(null,arguments)};e._sqlite3_column_int64=function(){return(e._sqlite3_column_int64=e.asm.Oa).apply(null,arguments)};e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.Pa).apply(null,arguments)};e._sqlite3_declare_vtab=function(){return(e._sqlite3_declare_vtab=e.asm.Qa).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.Ra).apply(null,arguments)};
e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.Sa).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.Ta).apply(null,arguments)};e._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.Ua).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.Va).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm.Wa).apply(null,arguments)};
e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.Xa).apply(null,arguments)};e._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.Ya).apply(null,arguments)};e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.Za).apply(null,arguments)};e._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm._a).apply(null,arguments)};e._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.$a).apply(null,arguments)};
e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.ab).apply(null,arguments)};e._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.bb).apply(null,arguments)};e._sqlite3_step=function(){return(e._sqlite3_step=e.asm.cb).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.db).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm.eb).apply(null,arguments)};
e._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm.fb).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.gb).apply(null,arguments)};e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.hb).apply(null,arguments)};e._sqlite3_value_int64=function(){return(e._sqlite3_value_int64=e.asm.ib).apply(null,arguments)};e._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.jb).apply(null,arguments)};
e._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.kb).apply(null,arguments)};function Jc(){return(Jc=e.asm.lb).apply(null,arguments)}e._free=function(){return(e._free=e.asm.mb).apply(null,arguments)};e._set_authorizer=function(){return(e._set_authorizer=e.asm.ob).apply(null,arguments)};e._create_function=function(){return(e._create_function=e.asm.pb).apply(null,arguments)};e._update_hook=function(){return(e._update_hook=e.asm.qb).apply(null,arguments)};
e._create_module=function(){return(e._create_module=e.asm.rb).apply(null,arguments)};e._progress_handler=function(){return(e._progress_handler=e.asm.sb).apply(null,arguments)};e._register_vfs=function(){return(e._register_vfs=e.asm.tb).apply(null,arguments)};e._sqlite3_vfs_find=function(){return(e._sqlite3_vfs_find=e.asm.ub).apply(null,arguments)};e._getSqliteFree=function(){return(e._getSqliteFree=e.asm.vb).apply(null,arguments)};var Lc=e._main=function(){return(Lc=e._main=e.asm.wb).apply(null,arguments)};
e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.xb).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.yb).apply(null,arguments)};e._sqlite3_bind_parameter_count=function(){return(e._sqlite3_bind_parameter_count=e.asm.zb).apply(null,arguments)};e._sqlite3_bind_parameter_name=function(){return(e._sqlite3_bind_parameter_name=e.asm.Ab).apply(null,arguments)};
e._sqlite3_libversion=function(){return(e._sqlite3_libversion=e.asm.Bb).apply(null,arguments)};e._sqlite3_libversion_number=function(){return(e._sqlite3_libversion_number=e.asm.Cb).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.Db).apply(null,arguments)};e._sqlite3_limit=function(){return(e._sqlite3_limit=e.asm.Eb).apply(null,arguments)};e._sqlite3_open_v2=function(){return(e._sqlite3_open_v2=e.asm.Fb).apply(null,arguments)};
e._sqlite3_get_autocommit=function(){return(e._sqlite3_get_autocommit=e.asm.Gb).apply(null,arguments)};var Ob=e._malloc=function(){return(Ob=e._malloc=e.asm.Hb).apply(null,arguments)};function Za(){return(Za=e.asm.Ib).apply(null,arguments)}function Mc(){return(Mc=e.asm.Jb).apply(null,arguments)}function Hc(){return(Hc=e.asm.Kb).apply(null,arguments)}function Ic(){return(Ic=e.asm.Lb).apply(null,arguments)}function Gc(){return(Gc=e.asm.Mb).apply(null,arguments)}e.getTempRet0=Mc;e.ccall=Z;
e.cwrap=function(a,b,c,d){var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!d?e["_"+a]:function(){return Z(a,b,c,arguments,d)}};e.setValue=K;e.getValue=I;e.UTF8ToString=L;e.stringToUTF8=Jb;e.lengthBytesUTF8=N;var Nc;ya=function Oc(){Nc||Pc();Nc||(ya=Oc)};
function Pc(){function a(){if(!Nc&&(Nc=!0,e.calledRun=!0,!na)){e.noFSInit||Db||(Db=!0,Cb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Fb("stdin",e.stdin):tb("/dev/tty","/dev/stdin"),e.stdout?Fb("stdout",null,e.stdout):tb("/dev/tty","/dev/stdout"),e.stderr?Fb("stderr",null,e.stderr):tb("/dev/tty1","/dev/stderr"),Ab("/dev/stdin",0),Ab("/dev/stdout",1),Ab("/dev/stderr",1));db=!1;Ga(ta);Ga(ua);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(Qc){var b=Lc;try{var c=b(0,0);Sb(c,
!0)}catch(d){d instanceof Fa||"unwind"==d||fa(1,d)}}if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)b=e.postRun.shift(),va.unshift(b);Ga(va)}}if(!(0<B)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)wa();Ga(sa);0<B||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();
var Qc=!0;e.noInitialRun&&(Qc=!1);Pc();

@@ -106,0 +108,0 @@

@@ -8,103 +8,105 @@

var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ba;e.ready=new Promise(function(a,b){aa=a;ba=b});var ca=Object.assign({},e),da="./this.program",ea=(a,b)=>{throw b;},ha="object"==typeof window,ia="function"==typeof importScripts,q="",ja;
if(ha||ia)ia?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",ia&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ka=e.print||console.log.bind(console),t=e.printErr||console.warn.bind(console);Object.assign(e,ca);ca=null;e.thisProgram&&(da=e.thisProgram);
e.quit&&(ea=e.quit);var la;e.wasmBinary&&(la=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&u("no native wasm support detected");var ma,v=!1,na,oa="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function pa(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&oa)return oa.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function x(a,b){return a?pa(y,a,b):""}
function qa(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var p=a.charCodeAt(++g);h=65536+((h&1023)<<10)|p&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}function ra(a,b,c){return qa(a,y,b,c)}
function sa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}var A,y,ta,B,C,ua,va;function wa(){var a=ma.buffer;e.HEAP8=A=new Int8Array(a);e.HEAP16=ta=new Int16Array(a);e.HEAP32=B=new Int32Array(a);e.HEAPU8=y=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=C=new Uint32Array(a);e.HEAPF32=ua=new Float32Array(a);e.HEAPF64=va=new Float64Array(a)}var xa=[],ya=[],za=[],Aa=[],Ba=0;
function Ca(){var a=e.preRun.shift();xa.unshift(a)}var D=0,Da=null,Ea=null;function u(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";t(a);v=!0;na=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Fa(a){return a.startsWith("data:application/octet-stream;base64,")}var F;if(e.locateFile){if(F="crsqlite.wasm",!Fa(F)){var Ga=F;F=e.locateFile?e.locateFile(Ga,q):q+Ga}}else F=(new URL("crsqlite.wasm",import.meta.url)).href;
function Ha(a){try{if(a==F&&la)return new Uint8Array(la);if(ja)return ja(a);throw"both async and sync fetching of the wasm failed";}catch(b){u(b)}}function Ia(a){return la||!ha&&!ia||"function"!=typeof fetch?Promise.resolve().then(function(){return Ha(a)}):fetch(a,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(function(){return Ha(a)})}
function Ja(a,b,c){return Ia(a).then(function(d){return WebAssembly.instantiate(d,b)}).then(function(d){return d}).then(c,function(d){t("failed to asynchronously prepare wasm: "+d);u(d)})}
function Ka(a,b){var c=F;return la||"function"!=typeof WebAssembly.instantiateStreaming||Fa(c)||"function"!=typeof fetch?Ja(c,a,b):fetch(c,{credentials:"same-origin"}).then(function(d){return WebAssembly.instantiateStreaming(d,a).then(b,function(f){t("wasm streaming compile failed: "+f);t("falling back to ArrayBuffer instantiation");return Ja(c,a,b)})})}var I,K;function La(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
function Ma(a){for(;0<a.length;)a.shift()(e)}function L(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return A[a>>0];case "i8":return A[a>>0];case "i16":return ta[a>>1];case "i32":return B[a>>2];case "i64":return B[a>>2];case "float":return ua[a>>2];case "double":return va[a>>3];case "*":return C[a>>2];default:u("invalid type for getValue: "+b)}}
function M(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":A[a>>0]=b;break;case "i8":A[a>>0]=b;break;case "i16":ta[a>>1]=b;break;case "i32":B[a>>2]=b;break;case "i64":K=[b>>>0,(I=b,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[a>>2]=K[0];B[a+4>>2]=K[1];break;case "float":ua[a>>2]=b;break;case "double":va[a>>3]=b;break;case "*":C[a>>2]=b;break;default:u("invalid type for setValue: "+c)}}
var Na=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},N=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Na(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Oa=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},Pa=a=>{if("/"===
a)return"/";a=N(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Qa(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}return()=>u("randomDevice")}
function Ra(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Na(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}var Sa=[];function Ta(a,b){Sa[a]={input:[],Ob:[],Zb:b};Ua(a,Va)}
var Va={open:function(a){var b=Sa[a.node.bc];if(!b)throw new O(43);a.Pb=b;a.seekable=!1},close:function(a){a.Pb.Zb.ec(a.Pb)},ec:function(a){a.Pb.Zb.ec(a.Pb)},read:function(a,b,c,d){if(!a.Pb||!a.Pb.Zb.vc)throw new O(60);for(var f=0,g=0;g<d;g++){try{var h=a.Pb.Zb.vc(a.Pb)}catch(p){throw new O(29);}if(void 0===h&&0===f)throw new O(6);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.Pb||!a.Pb.Zb.pc)throw new O(60);try{for(var f=0;f<d;f++)a.Pb.Zb.pc(a.Pb,
b[c+f])}catch(g){throw new O(29);}d&&(a.node.timestamp=Date.now());return f}},Wa={vc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;var c=Array(sa(b)+1);b=qa(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},pc:function(a,b){null===b||10===b?(ka(pa(a.Ob,0)),a.Ob=[]):0!=b&&a.Ob.push(b)},ec:function(a){a.Ob&&
0<a.Ob.length&&(ka(pa(a.Ob,0)),a.Ob=[])}},Xa={pc:function(a,b){null===b||10===b?(t(pa(a.Ob,0)),a.Ob=[]):0!=b&&a.Ob.push(b)},ec:function(a){a.Ob&&0<a.Ob.length&&(t(pa(a.Ob,0)),a.Ob=[])}},P={Sb:null,Rb:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.Sb||(P.Sb={dir:{node:{Qb:P.Ab.Qb,Nb:P.Ab.Nb,$b:P.Ab.$b,fc:P.Ab.fc,yc:P.Ab.yc,lc:P.Ab.lc,jc:P.Ab.jc,xc:P.Ab.xc,kc:P.Ab.kc},stream:{Wb:P.Jb.Wb}},file:{node:{Qb:P.Ab.Qb,
Nb:P.Ab.Nb},stream:{Wb:P.Jb.Wb,read:P.Jb.read,write:P.Jb.write,rc:P.Jb.rc,hc:P.Jb.hc,ic:P.Jb.ic}},link:{node:{Qb:P.Ab.Qb,Nb:P.Ab.Nb,cc:P.Ab.cc},stream:{}},sc:{node:{Qb:P.Ab.Qb,Nb:P.Ab.Nb},stream:Ya}});c=Za(a,b,c,d);16384===(c.mode&61440)?(c.Ab=P.Sb.dir.node,c.Jb=P.Sb.dir.stream,c.Kb={}):32768===(c.mode&61440)?(c.Ab=P.Sb.file.node,c.Jb=P.Sb.file.stream,c.Mb=0,c.Kb=null):40960===(c.mode&61440)?(c.Ab=P.Sb.link.node,c.Jb=P.Sb.link.stream):8192===(c.mode&61440)&&(c.Ab=P.Sb.sc.node,c.Jb=P.Sb.sc.stream);
c.timestamp=Date.now();a&&(a.Kb[b]=c,a.timestamp=c.timestamp);return c},Qc:function(a){return a.Kb?a.Kb.subarray?a.Kb.subarray(0,a.Mb):new Uint8Array(a.Kb):new Uint8Array(0)},tc:function(a,b){var c=a.Kb?a.Kb.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Kb,a.Kb=new Uint8Array(b),0<a.Mb&&a.Kb.set(c.subarray(0,a.Mb),0))},Mc:function(a,b){if(a.Mb!=b)if(0==b)a.Kb=null,a.Mb=0;else{var c=a.Kb;a.Kb=new Uint8Array(b);c&&a.Kb.set(c.subarray(0,Math.min(b,a.Mb)));a.Mb=
b}},Ab:{Qb:function(a){var b={};b.Ec=8192===(a.mode&61440)?a.id:1;b.nc=a.id;b.mode=a.mode;b.Kc=1;b.uid=0;b.Hc=0;b.bc=a.bc;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Mb:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.Ac=new Date(a.timestamp);b.Jc=new Date(a.timestamp);b.Dc=new Date(a.timestamp);b.Bc=4096;b.Cc=Math.ceil(b.size/b.Bc);return b},Nb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&P.Mc(a,b.size)},
$b:function(){throw $a[44];},fc:function(a,b,c,d){return P.createNode(a,b,c,d)},yc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=ab(b,c)}catch(g){}if(d)for(var f in d.Kb)throw new O(55);}delete a.parent.Kb[a.name];a.parent.timestamp=Date.now();a.name=c;b.Kb[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},lc:function(a,b){delete a.Kb[b];a.timestamp=Date.now()},jc:function(a,b){var c=ab(a,b),d;for(d in c.Kb)throw new O(55);delete a.Kb[b];a.timestamp=Date.now()},xc:function(a){var b=[".",".."],
c;for(c in a.Kb)a.Kb.hasOwnProperty(c)&&b.push(c);return b},kc:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},cc:function(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Jb:{read:function(a,b,c,d,f){var g=a.node.Kb;if(f>=a.node.Mb)return 0;a=Math.min(a.node.Mb-f,d);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){b.buffer===A.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&
(!a.Kb||a.Kb.subarray)){if(g)return a.Kb=b.subarray(c,c+d),a.Mb=d;if(0===a.Mb&&0===f)return a.Kb=b.slice(c,c+d),a.Mb=d;if(f+d<=a.Mb)return a.Kb.set(b.subarray(c,c+d),f),d}P.tc(a,f+d);if(a.Kb.subarray&&b.subarray)a.Kb.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.Kb[f+g]=b[c+g];a.Mb=Math.max(a.Mb,f+d);return d},Wb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Mb);if(0>b)throw new O(28);return b},rc:function(a,b,c){P.tc(a.node,b+c);a.node.Mb=Math.max(a.node.Mb,
b+c)},hc:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Kb;if(f&2||a.buffer!==A.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;b=65536*Math.ceil(b/65536);(f=bb(65536,b))?(y.fill(0,f,f+b),b=f):b=0;if(!b)throw new O(48);A.set(a,b)}else c=!1,b=a.byteOffset;return{Lc:b,zc:c}},ic:function(a,b,c,d){P.Jb.write(a,b,0,d,c,!1);return 0}}},cb=null,db={},Q=[],eb=1,R=null,fb=!0,O=null,$a={},S=(a,b={})=>{a=Ra(a);if(!a)return{path:"",
node:null};b=Object.assign({uc:!0,qc:0},b);if(8<b.qc)throw new O(32);a=a.split("/").filter(h=>!!h);for(var c=cb,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=ab(c,a[f]);d=N(d+"/"+a[f]);c.Xb&&(!g||g&&b.uc)&&(c=c.Xb.root);if(!g||b.Vb)for(g=0;40960===(c.mode&61440);)if(c=gb(d),d=Ra(Oa(d),c),c=S(d,{qc:b.qc+1}).node,40<g++)throw new O(32);}return{path:d,node:c}},hb=a=>{for(var b;;){if(a===a.parent)return a=a.Rb.wc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},
ib=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%R.length},jb=a=>{var b=ib(a.parent.id,a.name);if(R[b]===a)R[b]=a.Yb;else for(b=R[b];b;){if(b.Yb===a){b.Yb=a.Yb;break}b=b.Yb}},ab=(a,b)=>{var c;if(c=(c=kb(a,"x"))?c:a.Ab.$b?0:2)throw new O(c,a);for(c=R[ib(a.id,b)];c;c=c.Yb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ab.$b(a,b)},Za=(a,b,c,d)=>{a=new lb(a,b,c,d);b=ib(a.parent.id,a.name);a.Yb=R[b];return R[b]=a},mb={r:0,"r+":2,w:577,"w+":578,a:1089,
"a+":1090},nb=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},kb=(a,b)=>{if(fb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},ob=(a,b)=>{try{return ab(a,b),20}catch(c){}return kb(a,"wx")},pb=(a,b,c)=>{try{var d=ab(a,b)}catch(f){return f.Lb}if(a=kb(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===hb(d))return 10}else if(16384===(d.mode&61440))return 31;return 0},qb=
(a=0)=>{for(;4096>=a;a++)if(!Q[a])return a;throw new O(33);},sb=(a,b)=>{rb||(rb=function(){this.dc={}},rb.prototype={},Object.defineProperties(rb.prototype,{object:{get:function(){return this.node},set:function(c){this.node=c}},flags:{get:function(){return this.dc.flags},set:function(c){this.dc.flags=c}},position:{get:function(){return this.dc.position},set:function(c){this.dc.position=c}}}));a=Object.assign(new rb,a);b=qb(b);a.Tb=b;return Q[b]=a},Ya={open:a=>{a.Jb=db[a.node.bc].Jb;a.Jb.open&&a.Jb.open(a)},
Wb:()=>{throw new O(70);}},Ua=(a,b)=>{db[a]={Jb:b}},tb=(a,b)=>{var c="/"===b,d=!b;if(c&&cb)throw new O(10);if(!c&&!d){var f=S(b,{uc:!1});b=f.path;f=f.node;if(f.Xb)throw new O(10);if(16384!==(f.mode&61440))throw new O(54);}b={type:a,Sc:{},wc:b,Ic:[]};a=a.Rb(b);a.Rb=b;b.root=a;c?cb=a:f&&(f.Xb=b,f.Rb&&f.Rb.Ic.push(b))},ub=(a,b,c)=>{var d=S(a,{parent:!0}).node;a=Pa(a);if(!a||"."===a||".."===a)throw new O(28);var f=ob(d,a);if(f)throw new O(f);if(!d.Ab.fc)throw new O(63);return d.Ab.fc(d,a,b,c)},T=(a,b)=>
ub(a,(void 0!==b?b:511)&1023|16384,0),vb=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);ub(a,b|8192,c)},wb=(a,b)=>{if(!Ra(a))throw new O(44);var c=S(b,{parent:!0}).node;if(!c)throw new O(44);b=Pa(b);var d=ob(c,b);if(d)throw new O(d);if(!c.Ab.kc)throw new O(63);c.Ab.kc(c,b,a)},xb=a=>{var b=S(a,{parent:!0}).node;a=Pa(a);var c=ab(b,a),d=pb(b,a,!0);if(d)throw new O(d);if(!b.Ab.jc)throw new O(63);if(c.Xb)throw new O(10);b.Ab.jc(b,a);jb(c)},gb=a=>{a=S(a).node;if(!a)throw new O(44);if(!a.Ab.cc)throw new O(28);
return Ra(hb(a.parent),a.Ab.cc(a))},yb=(a,b)=>{a=S(a,{Vb:!b}).node;if(!a)throw new O(44);if(!a.Ab.Qb)throw new O(63);return a.Ab.Qb(a)},zb=a=>yb(a,!0),Ab=(a,b)=>{a="string"==typeof a?S(a,{Vb:!0}).node:a;if(!a.Ab.Nb)throw new O(63);a.Ab.Nb(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Bb=(a,b)=>{if(0>b)throw new O(28);a="string"==typeof a?S(a,{Vb:!0}).node:a;if(!a.Ab.Nb)throw new O(63);if(16384===(a.mode&61440))throw new O(31);if(32768!==(a.mode&61440))throw new O(28);var c=kb(a,"w");if(c)throw new O(c);
a.Ab.Nb(a,{size:b,timestamp:Date.now()})},Db=(a,b,c)=>{if(""===a)throw new O(44);if("string"==typeof b){var d=mb[b];if("undefined"==typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=N(a);try{f=S(a,{Vb:!(b&131072)}).node}catch(g){}}d=!1;if(b&64)if(f){if(b&128)throw new O(20);}else f=ub(a,c,0),d=!0;if(!f)throw new O(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new O(54);if(!d&&
(c=f?40960===(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==nb(b)||b&512)?31:kb(f,nb(b)):44))throw new O(c);b&512&&!d&&Bb(f,0);b&=-131713;f=sb({node:f,path:hb(f),flags:b,seekable:!0,position:0,Jb:f.Jb,Pc:[],error:!1});f.Jb.open&&f.Jb.open(f);!e.logReadFiles||b&1||(Cb||(Cb={}),a in Cb||(Cb[a]=1));return f},Eb=(a,b,c)=>{if(null===a.Tb)throw new O(8);if(!a.seekable||!a.Jb.Wb)throw new O(70);if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Jb.Wb(a,b,c);a.Pc=[]},Fb=()=>{O||(O=function(a,b){this.name=
"ErrnoError";this.node=b;this.Nc=function(c){this.Lb=c};this.Nc(a);this.message="FS error"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(a=>{$a[a]=new O(a);$a[a].stack="<generic error, no stack>"}))},Gb,Hb=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},Jb=(a,b,c)=>{a=N("/dev/"+a);var d=Hb(!!b,!!c);Ib||(Ib=64);var f=Ib++<<8|0;Ua(f,{open:g=>{g.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(g,h,p,k)=>{for(var l=0,m=0;m<k;m++){try{var n=b()}catch(r){throw new O(29);
}if(void 0===n&&0===l)throw new O(6);if(null===n||void 0===n)break;l++;h[p+m]=n}l&&(g.node.timestamp=Date.now());return l},write:(g,h,p,k)=>{for(var l=0;l<k;l++)try{c(h[p+l])}catch(m){throw new O(29);}k&&(g.node.timestamp=Date.now());return l}});vb(a,d,f)},Ib,U={},rb,Cb;function Kb(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":W(a).path;if(0==b.length){if(!c)throw new O(44);return a}return N(a+"/"+b)}
function Lb(a,b,c){try{var d=a(b)}catch(g){if(g&&g.node&&N(b)!==N(hb(g.node)))return-54;throw g;}B[c>>2]=d.Ec;B[c+8>>2]=d.nc;B[c+12>>2]=d.mode;C[c+16>>2]=d.Kc;B[c+20>>2]=d.uid;B[c+24>>2]=d.Hc;B[c+28>>2]=d.bc;K=[d.size>>>0,(I=d.size,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+40>>2]=K[0];B[c+44>>2]=K[1];B[c+48>>2]=4096;B[c+52>>2]=d.Cc;a=d.Ac.getTime();b=d.Jc.getTime();var f=d.Dc.getTime();K=[Math.floor(a/1E3)>>>0,(I=
Math.floor(a/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+56>>2]=K[0];B[c+60>>2]=K[1];C[c+64>>2]=a%1E3*1E3;K=[Math.floor(b/1E3)>>>0,(I=Math.floor(b/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+72>>2]=K[0];B[c+76>>2]=K[1];C[c+80>>2]=b%1E3*1E3;K=[Math.floor(f/1E3)>>>0,(I=Math.floor(f/1E3),1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/
4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+88>>2]=K[0];B[c+92>>2]=K[1];C[c+96>>2]=f%1E3*1E3;K=[d.nc>>>0,(I=d.nc,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[c+104>>2]=K[0];B[c+108>>2]=K[1];return 0}var Mb=void 0;function Nb(){Mb+=4;return B[Mb-4>>2]}function W(a){a=Q[a];if(!a)throw new O(8);return a}function Ob(a){return C[a>>2]+4294967296*B[a+4>>2]}
var Pb=[0,31,60,91,121,152,182,213,244,274,305,335],Qb=[0,31,59,90,120,151,181,212,243,273,304,334];function Rb(a){var b=sa(a)+1,c=Sb(b);c&&qa(a,A,c,b);return c}var Tb={};
function Ub(){if(!Vb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in Tb)void 0===Tb[b]?delete a[b]:a[b]=Tb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Vb=c}return Vb}var Vb;function Wb(){}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(){}
function fc(){}function gc(){}function hc(){}function ic(){}function jc(){}function kc(){}function lc(){}function mc(){}function nc(){}function oc(){}function pc(){}function qc(){}function rc(){}function sc(){}function tc(){}function uc(){}function vc(){}function wc(){}function xc(){}function yc(){}function zc(){}function Ac(){}function Bc(){}function Cc(){}function Dc(){}function Ec(){}function Fc(){}function Gc(){}
function Hc(a){na=a;if(!(noExitRuntime||0<Ba)){if(e.onExit)e.onExit(a);v=!0}ea(a,new La(a))}function Ic(a){a instanceof La||"unwind"==a||ea(1,a)}function Jc(a){try{a()}catch(b){u(b)}}function Kc(a){var b={},c;for(c in a)(function(d){var f=a[d];b[d]="function"==typeof f?function(){Lc.push(d);try{return f.apply(null,arguments)}finally{v||(Lc.pop()===d||u(),X&&1===Y&&0===Lc.length&&(Y=0,Jc(Mc),"undefined"!=typeof Fibers&&Fibers.Tc()))}}:f})(c);return b}
var Y=0,X=null,Nc=0,Lc=[],Oc={},Pc={},Qc=0,Rc=null,Sc=[];function Tc(){return new Promise((a,b)=>{Rc={resolve:a,reject:b}})}function Uc(){var a=Sb(12300),b=a+12;B[a>>2]=b;B[a+4>>2]=b+12288;b=Lc[0];var c=Oc[b];void 0===c&&(c=Qc++,Oc[b]=c,Pc[c]=b);B[a+8>>2]=c;return a}
function Vc(a){if(!v){if(0===Y){var b=!1,c=!1;a((d=0)=>{if(!v&&(Nc=d,b=!0,c)){Y=2;Jc(()=>Wc(X));"undefined"!=typeof Xc&&Xc.oc.Gc&&Xc.oc.resume();d=!1;try{var f=(0,e.asm[Pc[B[X+8>>2]]])()}catch(p){f=p,d=!0}var g=!1;if(!X){var h=Rc;h&&(Rc=null,(d?h.reject:h.resolve)(f),g=!0)}if(d&&!g)throw f;}});c=!0;b||(Y=1,X=Uc(),"undefined"!=typeof Xc&&Xc.oc.Gc&&Xc.oc.pause(),Jc(()=>Yc(X)))}else 2===Y?(Y=0,Jc(Zc),$c(X),X=null,Sc.forEach(d=>{if(!v)try{if(d(),!(noExitRuntime||0<Ba))try{na=d=na,Hc(d)}catch(f){Ic(f)}}catch(f){Ic(f)}})):
u("invalid state: "+Y);return Nc}}function ad(a){return Vc(b=>{a().then(b)})}var bd={};
function Z(a,b,c,d,f){function g(n){--Ba;0!==k&&cd(k);return"string"===b?x(n):"boolean"===b?!!n:n}var h={string:n=>{var r=0;if(null!==n&&void 0!==n&&0!==n){var w=(n.length<<2)+1;r=dd(w);ra(n,r,w)}return r},array:n=>{var r=dd(n.length);A.set(n,r);return r}};a=e["_"+a];var p=[],k=0;if(d)for(var l=0;l<d.length;l++){var m=h[c[l]];m?(0===k&&(k=ed()),p[l]=m(d[l])):p[l]=d[l]}c=X;d=a.apply(null,p);Ba+=1;f=f&&f.async;if(X!=c)return Tc().then(g);d=g(d);return f?Promise.resolve(d):d}
function lb(a,b,c,d){a||(a=this);this.parent=a;this.Rb=a.Rb;this.Xb=null;this.id=eb++;this.name=b;this.mode=c;this.Ab={};this.Jb={};this.bc=d}Object.defineProperties(lb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Fb();R=Array(4096);tb(P,"/");T("/tmp");T("/home");T("/home/web_user");
(()=>{T("/dev");Ua(259,{read:()=>0,write:(b,c,d,f)=>f});vb("/dev/null",259);Ta(1280,Wa);Ta(1536,Xa);vb("/dev/tty",1280);vb("/dev/tty1",1536);var a=Qa();Jb("random",a);Jb("urandom",a);T("/dev/shm");T("/dev/shm/tmp")})();(()=>{T("/proc");var a=T("/proc/self");T("/proc/self/fd");tb({Rb:()=>{var b=Za(a,"fd",16895,73);b.Ab={$b:(c,d)=>{var f=Q[+d];if(!f)throw new O(8);c={parent:null,Rb:{wc:"fake"},Ab:{cc:()=>f.path}};return c.parent=c}};return b}},"/proc/self/fd")})();var Xc;
(function(){function a(d,f){const g=[];for(let h=0;0!=d[f+h];++h){if(1E3<h)throw Error("C-string never terminated after 1k characters");g.push(d[f+h])}return String.fromCharCode(...g)}const b=new Map,c=new Map;e.updateHook=function(d,f){const g=b.size;b.set(g,f);return Z("update_hook","void",["number","number"],[d,g])};e.createFunction=function(d,f,g,h,p,k){const l=b.size;b.set(l,{f:k,Ub:p});return Z("create_function","number","number string number number number number".split(" "),[d,f,g,h,l,0])};
e.createAggregate=function(d,f,g,h,p,k,l){const m=b.size;b.set(m,{step:k,Fc:l,Ub:p});return Z("create_function","number","number string number number number number".split(" "),[d,f,g,h,m,1])};e.getFunctionUserData=function(d){return c.get(d)};Zb=function(d,f,g,h,p,k){d=b.get(d);const l=A;p=BigInt(k)<<32n|BigInt(p)&4294967295n;d(f,a(l,g),a(l,h),p)};Xb=function(d,f,g,h){d=b.get(d);c.set(f,d.Ub);d.f(f,new Uint32Array(y.buffer,h,g));c.delete(f)};Yb=function(d,f,g,h){d=b.get(d);c.set(f,d.Ub);d.step(f,
new Uint32Array(y.buffer,h,g));c.delete(f)};Wb=function(d,f){d=b.get(d);c.set(f,d.Ub);d.Fc(f);c.delete(f)}})();
(function(){function a(k,l){const m=`get${k}`,n=`set${k}`;return new Proxy(new DataView(y.buffer,l,"Int32"===k?4:8),{get(r,w){if(w===m)return function(z,G){if(!G)throw Error("must be little endian");return r[w](z,G)};if(w===n)return function(z,G,E){if(!E)throw Error("must be little endian");return r[w](z,G,E)};if("string"===typeof w&&w.match(/^(get)|(set)/))throw Error("invalid type");return r[w]}})}const b="object"===typeof bd,c=new Map,d=new Map,f=new Map,g=b?new Set:null,h=b?new Set:null,p=new Map;
pc=function(k,l,m,n){p.set(x(k),{size:l,ac:Array.from(new Uint32Array(y.buffer,n,m))})};e.createModule=function(k,l,m,n){b&&(m.handleAsync=ad);const r=c.size;c.set(r,{module:m,Ub:n});n=0;m.xCreate&&(n|=1);m.xConnect&&(n|=2);m.xBestIndex&&(n|=4);m.xDisconnect&&(n|=8);m.xDestroy&&(n|=16);m.xOpen&&(n|=32);m.xClose&&(n|=64);m.xFilter&&(n|=128);m.xNext&&(n|=256);m.xEof&&(n|=512);m.xColumn&&(n|=1024);m.xRowid&&(n|=2048);m.xUpdate&&(n|=4096);m.xBegin&&(n|=8192);m.xSync&&(n|=16384);m.xCommit&&(n|=32768);
m.xRollback&&(n|=65536);m.xFindFunction&&(n|=131072);m.xRename&&(n|=262144);return Z("create_module","number",["number","string","number","number"],[k,l,r,n])};fc=function(k,l,m,n,r,w){l=c.get(l);d.set(r,l);if(b){g.delete(r);for(const z of g)d.delete(z)}n=Array.from(new Uint32Array(y.buffer,n,m)).map(z=>x(z));return l.module.xCreate(k,l.Ub,n,r,a("Int32",w))};ec=function(k,l,m,n,r,w){l=c.get(l);d.set(r,l);if(b){g.delete(r);for(const z of g)d.delete(z)}n=Array.from(new Uint32Array(y.buffer,n,m)).map(z=>
x(z));return l.module.xConnect(k,l.Ub,n,r,a("Int32",w))};ac=function(k,l){var m=d.get(k),n=p.get("sqlite3_index_info").ac;const r={};r.nConstraint=L(l+n[0],"i32");r.aConstraint=[];var w=L(l+n[1],"i32"),z=p.get("sqlite3_index_constraint").size;for(var G=0;G<r.nConstraint;++G){var E=r.aConstraint,J=E.push,H=w+G*z,fa=p.get("sqlite3_index_constraint").ac,V={};V.iColumn=L(H+fa[0],"i32");V.op=L(H+fa[1],"i8");V.usable=!!L(H+fa[2],"i8");J.call(E,V)}r.nOrderBy=L(l+n[2],"i32");r.aOrderBy=[];w=L(l+n[3],"i32");
z=p.get("sqlite3_index_orderby").size;for(G=0;G<r.nOrderBy;++G)E=r.aOrderBy,J=E.push,H=w+G*z,fa=p.get("sqlite3_index_orderby").ac,V={},V.iColumn=L(H+fa[0],"i32"),V.desc=!!L(H+fa[1],"i8"),J.call(E,V);r.aConstraintUsage=[];for(w=0;w<r.nConstraint;++w)r.aConstraintUsage.push({argvIndex:0,omit:!1});r.idxNum=L(l+n[5],"i32");r.idxStr=null;r.orderByConsumed=!!L(l+n[8],"i8");r.estimatedCost=L(l+n[9],"double");r.estimatedRows=L(l+n[10],"i64");r.idxFlags=L(l+n[11],"i32");r.colUsed=L(l+n[12],"i64");k=m.module.xBestIndex(k,
r);m=p.get("sqlite3_index_info").ac;n=L(l+m[4],"i32");w=p.get("sqlite3_index_constraint_usage").size;for(J=0;J<r.nConstraint;++J)z=n+J*w,E=r.aConstraintUsage[J],H=p.get("sqlite3_index_constraint_usage").ac,M(z+H[0],E.argvIndex,"i32"),M(z+H[1],E.omit?1:0,"i8");M(l+m[5],r.idxNum,"i32");"string"===typeof r.idxStr&&(n=sa(r.idxStr),w=Z("sqlite3_malloc","number",["number"],[n+1]),ra(r.idxStr,w,n+1),M(l+m[6],w,"i32"),M(l+m[7],1,"i32"));M(l+m[8],r.orderByConsumed,"i32");M(l+m[9],r.estimatedCost,"double");
M(l+m[10],r.estimatedRows,"i64");M(l+m[11],r.idxFlags,"i32");return k};hc=function(k){const l=d.get(k);b?g.add(k):d.delete(k);return l.module.xDisconnect(k)};gc=function(k){const l=d.get(k);b?g.add(k):d.delete(k);return l.module.xDestroy(k)};lc=function(k,l){const m=d.get(k);f.set(l,m);if(b){h.delete(l);for(const n of h)f.delete(n)}return m.module.xOpen(k,l)};bc=function(k){const l=f.get(k);b?h.add(k):f.delete(k);return l.module.xClose(k)};ic=function(k){return f.get(k).module.xEof(k)?1:0};jc=function(k,
l,m,n,r){const w=f.get(k);m=m?x(m):null;r=new Uint32Array(y.buffer,r,n);return w.module.xFilter(k,l,m,r)};kc=function(k){return f.get(k).module.xNext(k)};cc=function(k,l,m){return f.get(k).module.xColumn(k,l,m)};oc=function(k,l){return f.get(k).module.xRowid(k,a("BigInt64",l))};rc=function(k,l,m,n){const r=d.get(k);m=new Uint32Array(y.buffer,m,l);return r.module.xUpdate(k,m,a("BigInt64",n))};$b=function(k){return d.get(k).module.xBegin(k)};qc=function(k){return d.get(k).module.xSync(k)};dc=function(k){return d.get(k).module.xCommit(k)};
nc=function(k){return d.get(k).module.xRollback(k)};mc=function(k,l){const m=d.get(k);l=x(l);return m.module.xRename(k,l)}})();
(function(){function a(g,h){const p=`get${g}`,k=`set${g}`;return new Proxy(new DataView(y.buffer,h,"Int32"===g?4:8),{get(l,m){if(m===p)return function(n,r){if(!r)throw Error("must be little endian");return l[m](n,r)};if(m===k)return function(n,r,w){if(!w)throw Error("must be little endian");return l[m](n,r,w)};if("string"===typeof m&&m.match(/^(get)|(set)/))throw Error("invalid type");return l[m]}})}const b="object"===typeof bd,c=new Map,d=new Map;e.registerVFS=function(g,h){if(Z("sqlite3_vfs_find",
"number",["string"],[g.name]))throw Error(`VFS '${g.name}' already registered`);b&&(g.handleAsync=ad);var p=g.Rc??64;const k=e._malloc(4);h=Z("register_vfs","number",["string","number","number","number"],[g.name,p,h?1:0,k]);h||(p=L(k,"i32"),c.set(p,g));e._free(k);return h};const f=b?new Set:null;uc=function(g){const h=d.get(g);b?f.add(g):d.delete(g);return h.xClose(g)};Bc=function(g,h,p,k){return d.get(g).xRead(g,y.subarray(h,h+p),L(k,"i64"))};Gc=function(g,h,p,k){return d.get(g).xWrite(g,y.subarray(h,
h+p),L(k,"i64"))};Ec=function(g,h){return d.get(g).xTruncate(g,L(h,"i64"))};Dc=function(g,h){return d.get(g).xSync(g,h)};yc=function(g,h){const p=d.get(g);h=a("BigInt64",h);return p.xFileSize(g,h)};zc=function(g,h){return d.get(g).xLock(g,h)};Fc=function(g,h){return d.get(g).xUnlock(g,h)};tc=function(g,h){const p=d.get(g);h=a("Int32",h);return p.xCheckReservedLock(g,h)};xc=function(g,h,p){const k=d.get(g);p=new DataView(y.buffer,p);return k.xFileControl(g,h,p)};Cc=function(g){return d.get(g).xSectorSize(g)};
wc=function(g){return d.get(g).xDeviceCharacteristics(g)};Ac=function(g,h,p,k,l){g=c.get(g);d.set(p,g);if(b){f.delete(p);for(var m of f)d.delete(m)}m=null;if(k&64){m=1;const n=[];for(;m;){const r=y[h++];if(r)n.push(r);else switch(y[h]||(m=null),m){case 1:n.push(63);m=2;break;case 2:n.push(61);m=3;break;case 3:n.push(38),m=2}}m=(new TextDecoder).decode(new Uint8Array(n))}else h&&(m=x(h));l=a("Int32",l);return g.xOpen(m,p,k,l)};vc=function(g,h,p){return c.get(g).xDelete(x(h),p)};sc=function(g,h,p,k){g=
c.get(g);k=a("Int32",k);return g.xAccess(x(h),p,k)}})();
var gd={a:function(a,b,c,d){u("Assertion failed: "+x(a)+", at: "+[b?x(b):"unknown filename",c,d?x(d):"unknown function"])},K:function(a,b){try{return a=x(a),Ab(a,b),0}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Lb}},N:function(a,b,c){try{b=x(b);b=Kb(a,b);if(c&-8)return-28;var d=S(b,{Vb:!0}).node;if(!d)return-44;a="";c&4&&(a+="r");c&2&&(a+="w");c&1&&(a+="x");return a&&kb(d,a)?-2:0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Lb}},L:function(a,
b){try{var c=Q[a];if(!c)throw new O(8);Ab(c.node,b);return 0}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Lb}},J:function(a){try{var b=Q[a];if(!b)throw new O(8);var c=b.node;var d="string"==typeof c?S(c,{Vb:!0}).node:c;if(!d.Ab.Nb)throw new O(63);d.Ab.Nb(d,{timestamp:Date.now()});return 0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Lb}},b:function(a,b,c){Mb=c;try{var d=W(a);switch(b){case 0:var f=Nb();return 0>f?-28:sb(d,f).Tb;case 1:case 2:return 0;
case 3:return d.flags;case 4:return f=Nb(),d.flags|=f,0;case 5:return f=Nb(),ta[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return B[fd()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof U||"ErrnoError"!==g.name)throw g;return-g.Lb}},I:function(a,b){try{var c=W(a);return Lb(yb,c.path,b)}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Lb}},k:function(a,b,c){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return-61;var d=
Q[a];if(!d)throw new O(8);if(0===(d.flags&2097155))throw new O(28);Bb(d.node,b);return 0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Lb}},C:function(a,b){try{if(0===b)return-28;var c=sa("/")+1;if(b<c)return-68;ra("/",a,b);return c}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Lb}},G:function(a,b){try{return a=x(a),Lb(zb,a,b)}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Lb}},z:function(a,b,c){try{return b=x(b),b=
Kb(a,b),b=N(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),T(b,c),0}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Lb}},E:function(a,b,c,d){try{b=x(b);var f=d&256;b=Kb(a,b,d&4096);return Lb(f?zb:yb,b,c)}catch(g){if("undefined"==typeof U||"ErrnoError"!==g.name)throw g;return-g.Lb}},v:function(a,b,c,d){Mb=d;try{b=x(b);b=Kb(a,b);var f=d?Nb():0;return Db(b,c,f).Tb}catch(g){if("undefined"==typeof U||"ErrnoError"!==g.name)throw g;return-g.Lb}},s:function(a,b,c,d){try{b=x(b);
b=Kb(a,b);if(0>=d)return-28;var f=gb(b),g=Math.min(d,sa(f)),h=A[c+g];ra(f,c,d+1);A[c+g]=h;return g}catch(p){if("undefined"==typeof U||"ErrnoError"!==p.name)throw p;return-p.Lb}},r:function(a){try{return a=x(a),xb(a),0}catch(b){if("undefined"==typeof U||"ErrnoError"!==b.name)throw b;return-b.Lb}},H:function(a,b){try{return a=x(a),Lb(yb,a,b)}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Lb}},o:function(a,b,c){try{b=x(b);b=Kb(a,b);if(0===c){a=b;var d=S(a,{parent:!0}).node;
if(!d)throw new O(44);var f=Pa(a),g=ab(d,f),h=pb(d,f,!1);if(h)throw new O(h);if(!d.Ab.lc)throw new O(63);if(g.Xb)throw new O(10);d.Ab.lc(d,f);jb(g)}else 512===c?xb(b):u("Invalid flags passed to unlinkat");return 0}catch(p){if("undefined"==typeof U||"ErrnoError"!==p.name)throw p;return-p.Lb}},n:function(a,b,c){try{b=x(b);b=Kb(a,b,!0);if(c){var d=Ob(c),f=B[c+8>>2];g=1E3*d+f/1E6;c+=16;d=Ob(c);f=B[c+8>>2];h=1E3*d+f/1E6}else var g=Date.now(),h=g;a=g;var p=S(b,{Vb:!0}).node;p.Ab.Nb(p,{timestamp:Math.max(a,
h)});return 0}catch(k){if("undefined"==typeof U||"ErrnoError"!==k.name)throw k;return-k.Lb}},y:function(a,b){a=new Date(1E3*Ob(a));B[b>>2]=a.getSeconds();B[b+4>>2]=a.getMinutes();B[b+8>>2]=a.getHours();B[b+12>>2]=a.getDate();B[b+16>>2]=a.getMonth();B[b+20>>2]=a.getFullYear()-1900;B[b+24>>2]=a.getDay();var c=a.getFullYear();B[b+28>>2]=(0!==c%4||0===c%100&&0!==c%400?Qb:Pb)[a.getMonth()]+a.getDate()-1|0;B[b+36>>2]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=
(new Date(a.getFullYear(),0,1)).getTimezoneOffset();B[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},w:function(a,b,c,d,f,g,h){try{var p=W(d);if(0!==(b&2)&&0===(c&2)&&2!==(p.flags&2097155))throw new O(2);if(1===(p.flags&2097155))throw new O(2);if(!p.Jb.hc)throw new O(43);var k=p.Jb.hc(p,a,f,b,c);var l=k.Lc;B[g>>2]=k.zc;C[h>>2]=l;return 0}catch(m){if("undefined"==typeof U||"ErrnoError"!==m.name)throw m;return-m.Lb}},x:function(a,b,c,d,f,g){try{var h=W(f);if(c&2){if(32768!==(h.node.mode&61440))throw new O(43);
d&2||h.Jb.ic&&h.Jb.ic(h,y.slice(a,a+b),g,b,d)}}catch(p){if("undefined"==typeof U||"ErrnoError"!==p.name)throw p;return-p.Lb}},p:function(a,b,c){function d(k){return(k=k.toTimeString().match(/\(([A-Za-z ]+)\)$/))?k[1]:"GMT"}var f=(new Date).getFullYear(),g=new Date(f,0,1),h=new Date(f,6,1);f=g.getTimezoneOffset();var p=h.getTimezoneOffset();C[a>>2]=60*Math.max(f,p);B[b>>2]=Number(f!=p);a=d(g);b=d(h);a=Rb(a);b=Rb(b);p<f?(C[c>>2]=a,C[c+4>>2]=b):(C[c>>2]=b,C[c+4>>2]=a)},e:function(){return Date.now()},
d:()=>performance.now(),l:function(a){var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math,g=f.min;d=Math.max(a,d);d+=(65536-d%65536)%65536;a:{var h=ma.buffer;try{ma.grow(g.call(f,2147483648,d)-h.byteLength+65535>>>16);wa();var p=1;break a}catch(k){}p=void 0}if(p)return!0}return!1},A:function(a,b){var c=0;Ub().forEach(function(d,f){var g=b+c;f=C[a+4*f>>2]=g;for(g=0;g<d.length;++g)A[f++>>0]=d.charCodeAt(g);A[f>>0]=0;c+=d.length+
1});return 0},B:function(a,b){var c=Ub();C[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});C[b>>2]=d;return 0},f:function(a){try{var b=W(a);if(null===b.Tb)throw new O(8);b.mc&&(b.mc=null);try{b.Jb.close&&b.Jb.close(b)}catch(c){throw c;}finally{Q[b.Tb]=null}b.Tb=null;return 0}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return c.Lb}},m:function(a,b){try{var c=W(a);A[b>>0]=c.Pb?2:16384===(c.mode&61440)?3:40960===(c.mode&61440)?7:4;return 0}catch(d){if("undefined"==typeof U||
"ErrnoError"!==d.name)throw d;return d.Lb}},t:function(a,b,c,d){try{a:{var f=W(a);a=b;for(var g,h=b=0;h<c;h++){var p=C[a>>2],k=C[a+4>>2];a+=8;var l=f,m=p,n=k,r=g,w=A;if(0>n||0>r)throw new O(28);if(null===l.Tb)throw new O(8);if(1===(l.flags&2097155))throw new O(8);if(16384===(l.node.mode&61440))throw new O(31);if(!l.Jb.read)throw new O(28);var z="undefined"!=typeof r;if(!z)r=l.position;else if(!l.seekable)throw new O(70);var G=l.Jb.read(l,w,m,n,r);z||(l.position+=G);var E=G;if(0>E){var J=-1;break a}b+=
E;if(E<k)break;"undefined"!==typeof g&&(g+=E)}J=b}C[d>>2]=J;return 0}catch(H){if("undefined"==typeof U||"ErrnoError"!==H.name)throw H;return H.Lb}},i:function(a,b,c,d,f){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var g=W(a);Eb(g,b,d);K=[g.position>>>0,(I=g.position,1<=+Math.abs(I)?0<I?(Math.min(+Math.floor(I/4294967296),4294967295)|0)>>>0:~~+Math.ceil((I-+(~~I>>>0))/4294967296)>>>0:0)];B[f>>2]=K[0];B[f+4>>2]=K[1];g.mc&&0===b&&0===d&&(g.mc=null);return 0}catch(h){if("undefined"==
typeof U||"ErrnoError"!==h.name)throw h;return h.Lb}},D:function(a){try{var b=W(a);return Vc(function(c){var d=b.node.Rb;d.type.Oc?d.type.Oc(d,!1,function(f){f?c(function(){return 29}):c(0)}):c(0)})}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return c.Lb}},q:function(a,b,c,d){try{a:{var f=W(a);a=b;for(var g,h=b=0;h<c;h++){var p=C[a>>2],k=C[a+4>>2];a+=8;var l=f,m=p,n=k,r=g,w=A;if(0>n||0>r)throw new O(28);if(null===l.Tb)throw new O(8);if(0===(l.flags&2097155))throw new O(8);if(16384===
(l.node.mode&61440))throw new O(31);if(!l.Jb.write)throw new O(28);l.seekable&&l.flags&1024&&Eb(l,0,2);var z="undefined"!=typeof r;if(!z)r=l.position;else if(!l.seekable)throw new O(70);var G=l.Jb.write(l,w,m,n,r,void 0);z||(l.position+=G);var E=G;if(0>E){var J=-1;break a}b+=E;"undefined"!==typeof g&&(g+=E)}J=b}C[d>>2]=J;return 0}catch(H){if("undefined"==typeof U||"ErrnoError"!==H.name)throw H;return H.Lb}},X:Wb,qa:Xb,fa:Yb,M:Zb,ka:$b,F:ac,h:bc,na:cc,ia:dc,da:ec,ea:fc,j:gc,u:hc,oa:ic,g:jc,pa:kc,ca:lc,
ga:mc,ha:nc,ma:oc,c:pc,ja:qc,la:rc,aa:sc,V:tc,$:uc,ba:vc,S:wc,U:xc,Z:yc,Y:zc,R:Ac,Q:Bc,T:Cc,_:Dc,O:Ec,W:Fc,P:Gc};
(function(){function a(c){c=c.exports;c=Kc(c);e.asm=c;ma=e.asm.ra;wa();ya.unshift(e.asm.sa);D--;e.monitorRunDependencies&&e.monitorRunDependencies(D);if(0==D&&(null!==Da&&(clearInterval(Da),Da=null),Ea)){var d=Ea;Ea=null;d()}return c}var b={a:gd};D++;e.monitorRunDependencies&&e.monitorRunDependencies(D);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){t("Module.instantiateWasm callback failed with error: "+c),ba(c)}Ka(b,function(c){a(c.instance)}).catch(ba);return{}})();
e._sqlite3_malloc=function(){return(e._sqlite3_malloc=e.asm.ta).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.ua).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.va).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.wa).apply(null,arguments)};e._sqlite3_bind_int64=function(){return(e._sqlite3_bind_int64=e.asm.xa).apply(null,arguments)};
e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.ya).apply(null,arguments)};e._sqlite3_close=function(){return(e._sqlite3_close=e.asm.za).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.Aa).apply(null,arguments)};e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.Ba).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.Ca).apply(null,arguments)};
e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.Da).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.Ea).apply(null,arguments)};e._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.Fa).apply(null,arguments)};e._sqlite3_column_int=function(){return(e._sqlite3_column_int=e.asm.Ga).apply(null,arguments)};e._sqlite3_column_int64=function(){return(e._sqlite3_column_int64=e.asm.Ha).apply(null,arguments)};
e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.Ia).apply(null,arguments)};e._sqlite3_declare_vtab=function(){return(e._sqlite3_declare_vtab=e.asm.Ja).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.Ka).apply(null,arguments)};e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.La).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.Ma).apply(null,arguments)};
e._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.Na).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.Oa).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm.Pa).apply(null,arguments)};e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.Qa).apply(null,arguments)};e._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.Ra).apply(null,arguments)};
e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.Sa).apply(null,arguments)};e._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm.Ta).apply(null,arguments)};e._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.Ua).apply(null,arguments)};e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.Va).apply(null,arguments)};e._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.Wa).apply(null,arguments)};
e._sqlite3_step=function(){return(e._sqlite3_step=e.asm.Xa).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.Ya).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm.Za).apply(null,arguments)};e._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm._a).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.$a).apply(null,arguments)};
e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.ab).apply(null,arguments)};e._sqlite3_value_int64=function(){return(e._sqlite3_value_int64=e.asm.bb).apply(null,arguments)};e._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.cb).apply(null,arguments)};e._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.db).apply(null,arguments)};var $c=e._free=function(){return($c=e._free=e.asm.eb).apply(null,arguments)};
function fd(){return(fd=e.asm.fb).apply(null,arguments)}e._create_function=function(){return(e._create_function=e.asm.gb).apply(null,arguments)};e._update_hook=function(){return(e._update_hook=e.asm.hb).apply(null,arguments)};e._create_module=function(){return(e._create_module=e.asm.ib).apply(null,arguments)};e._register_vfs=function(){return(e._register_vfs=e.asm.jb).apply(null,arguments)};e._sqlite3_vfs_find=function(){return(e._sqlite3_vfs_find=e.asm.kb).apply(null,arguments)};
e._getSqliteFree=function(){return(e._getSqliteFree=e.asm.lb).apply(null,arguments)};var hd=e._main=function(){return(hd=e._main=e.asm.mb).apply(null,arguments)};e._sqlite3_bind_null=function(){return(e._sqlite3_bind_null=e.asm.nb).apply(null,arguments)};e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.ob).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.pb).apply(null,arguments)};
e._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.qb).apply(null,arguments)};e._sqlite3_bind_parameter_count=function(){return(e._sqlite3_bind_parameter_count=e.asm.rb).apply(null,arguments)};e._sqlite3_bind_parameter_name=function(){return(e._sqlite3_bind_parameter_name=e.asm.sb).apply(null,arguments)};e._sqlite3_libversion=function(){return(e._sqlite3_libversion=e.asm.tb).apply(null,arguments)};
e._sqlite3_libversion_number=function(){return(e._sqlite3_libversion_number=e.asm.ub).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.vb).apply(null,arguments)};e._sqlite3_open_v2=function(){return(e._sqlite3_open_v2=e.asm.wb).apply(null,arguments)};e._sqlite3_get_autocommit=function(){return(e._sqlite3_get_autocommit=e.asm.xb).apply(null,arguments)};var Sb=e._malloc=function(){return(Sb=e._malloc=e.asm.yb).apply(null,arguments)};
function bb(){return(bb=e.asm.zb).apply(null,arguments)}function jd(){return(jd=e.asm.Bb).apply(null,arguments)}function ed(){return(ed=e.asm.Cb).apply(null,arguments)}function cd(){return(cd=e.asm.Db).apply(null,arguments)}function dd(){return(dd=e.asm.Eb).apply(null,arguments)}function Yc(){return(Yc=e.asm.Fb).apply(null,arguments)}function Mc(){return(Mc=e.asm.Gb).apply(null,arguments)}function Wc(){return(Wc=e.asm.Hb).apply(null,arguments)}
function Zc(){return(Zc=e.asm.Ib).apply(null,arguments)}e.UTF8ToString=x;e.stringToUTF8=ra;e.lengthBytesUTF8=sa;e.getTempRet0=jd;e.ccall=Z;e.cwrap=function(a,b,c,d){var f=!c||c.every(g=>"number"===g||"boolean"===g);return"string"!==b&&f&&!d?e["_"+a]:function(){return Z(a,b,c,arguments,d)}};e.setValue=M;e.getValue=L;var kd;Ea=function ld(){kd||md();kd||(Ea=ld)};
function md(){function a(){if(!kd&&(kd=!0,e.calledRun=!0,!v)){e.noFSInit||Gb||(Gb=!0,Fb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Jb("stdin",e.stdin):wb("/dev/tty","/dev/stdin"),e.stdout?Jb("stdout",null,e.stdout):wb("/dev/tty","/dev/stdout"),e.stderr?Jb("stderr",null,e.stderr):wb("/dev/tty1","/dev/stderr"),Db("/dev/stdin",0),Db("/dev/stdout",1),Db("/dev/stderr",1));fb=!1;Ma(ya);Ma(za);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(nd){var b=hd;try{var c=b(0,0);na=
c;Hc(c)}catch(d){Ic(d)}}if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)b=e.postRun.shift(),Aa.unshift(b);Ma(Aa)}}if(!(0<D)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)Ca();Ma(xa);0<D||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();
var nd=!0;e.noInitialRun&&(nd=!1);md();
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ba;e.ready=new Promise((a,b)=>{aa=a;ba=b});var ca=Object.assign({},e),da="./this.program",ea=(a,b)=>{throw b;},ha="object"==typeof window,ia="function"==typeof importScripts,p="",ja;
if(ha||ia)ia?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),_scriptDir&&(p=_scriptDir),0!==p.indexOf("blob:")?p=p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):p="",ia&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ka=e.print||console.log.bind(console),t=e.printErr||console.error.bind(console);Object.assign(e,ca);ca=null;e.thisProgram&&(da=e.thisProgram);
e.quit&&(ea=e.quit);var la;e.wasmBinary&&(la=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&u("no native wasm support detected");var ma,v=!1,na,x,y,oa,A,B,pa,qa;function ra(){var a=ma.buffer;e.HEAP8=x=new Int8Array(a);e.HEAP16=oa=new Int16Array(a);e.HEAP32=A=new Int32Array(a);e.HEAPU8=y=new Uint8Array(a);e.HEAPU16=new Uint16Array(a);e.HEAPU32=B=new Uint32Array(a);e.HEAPF32=pa=new Float32Array(a);e.HEAPF64=qa=new Float64Array(a)}var sa=[],ta=[],ua=[],va=[],wa=0;
function xa(){var a=e.preRun.shift();sa.unshift(a)}var C=0,ya=null,za=null;function u(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";t(a);v=!0;na=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Aa(a){return a.startsWith("data:application/octet-stream;base64,")}var E;if(e.locateFile){if(E="crsqlite.wasm",!Aa(E)){var Ba=E;E=e.locateFile?e.locateFile(Ba,p):p+Ba}}else E=(new URL("crsqlite.wasm",import.meta.url)).href;
function Ca(a){try{if(a==E&&la)return new Uint8Array(la);if(ja)return ja(a);throw"both async and sync fetching of the wasm failed";}catch(b){u(b)}}function Da(a){return la||!ha&&!ia||"function"!=typeof fetch?Promise.resolve().then(()=>Ca(a)):fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>Ca(a))}
function Ea(a,b,c){return Da(a).then(d=>WebAssembly.instantiate(d,b)).then(d=>d).then(c,d=>{t("failed to asynchronously prepare wasm: "+d);u(d)})}function Fa(a,b){var c=E;return la||"function"!=typeof WebAssembly.instantiateStreaming||Aa(c)||"function"!=typeof fetch?Ea(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(f){t("wasm streaming compile failed: "+f);t("falling back to ArrayBuffer instantiation");return Ea(c,a,b)}))}var G,I;
function Ga(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}function Ha(a){for(;0<a.length;)a.shift()(e)}function K(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return x[a>>0];case "i8":return x[a>>0];case "i16":return oa[a>>1];case "i32":return A[a>>2];case "i64":return A[a>>2];case "float":return pa[a>>2];case "double":return qa[a>>3];case "*":return B[a>>2];default:u(`invalid type for getValue: ${b}`)}}
function L(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":x[a>>0]=b;break;case "i8":x[a>>0]=b;break;case "i16":oa[a>>1]=b;break;case "i32":A[a>>2]=b;break;case "i64":I=[b>>>0,(G=b,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[a>>2]=I[0];A[a+4>>2]=I[1];break;case "float":pa[a>>2]=b;break;case "double":qa[a>>3]=b;break;case "*":B[a>>2]=b;break;default:u(`invalid type for setValue: ${c}`)}}
var Ia="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Ja(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&Ia)return Ia.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|h);else{var g=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|g:(f&7)<<18|h<<12|g<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function M(a,b){return a?Ja(y,a,b):""}
var Ka=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},N=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Ka(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},La=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},Ma=a=>{if("/"===
a)return"/";a=N(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function Na(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>crypto.getRandomValues(a);u("initRandomDevice")}function Oa(a){return(Oa=Na())(a)}
function Pa(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Ka(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}function Qa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}
function Ra(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var h=0;h<a.length;++h){var g=a.charCodeAt(h);if(55296<=g&&57343>=g){var m=a.charCodeAt(++h);g=65536+((g&1023)<<10)|m&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-f}var Sa=[];function Ta(a,b){Sa[a]={input:[],Wb:[],hc:b};Ua(a,Va)}
var Va={open:function(a){var b=Sa[a.node.kc];if(!b)throw new O(43);a.Xb=b;a.seekable=!1},close:function(a){a.Xb.hc.mc(a.Xb)},mc:function(a){a.Xb.hc.mc(a.Xb)},read:function(a,b,c,d){if(!a.Xb||!a.Xb.hc.Ec)throw new O(60);for(var f=0,h=0;h<d;h++){try{var g=a.Xb.hc.Ec(a.Xb)}catch(m){throw new O(29);}if(void 0===g&&0===f)throw new O(6);if(null===g||void 0===g)break;f++;b[c+h]=g}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.Xb||!a.Xb.hc.xc)throw new O(60);try{for(var f=0;f<d;f++)a.Xb.hc.xc(a.Xb,
b[c+f])}catch(h){throw new O(29);}d&&(a.node.timestamp=Date.now());return f}},Wa={Ec:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;var c=Array(Qa(b)+1);b=Ra(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},xc:function(a,b){null===b||10===b?(ka(Ja(a.Wb,0)),a.Wb=[]):0!=b&&a.Wb.push(b)},mc:function(a){a.Wb&&
0<a.Wb.length&&(ka(Ja(a.Wb,0)),a.Wb=[])}},Xa={xc:function(a,b){null===b||10===b?(t(Ja(a.Wb,0)),a.Wb=[]):0!=b&&a.Wb.push(b)},mc:function(a){a.Wb&&0<a.Wb.length&&(t(Ja(a.Wb,0)),a.Wb=[])}},P={$b:null,Zb:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new O(63);P.$b||(P.$b={dir:{node:{Yb:P.nb.Yb,Vb:P.nb.Vb,ic:P.nb.ic,nc:P.nb.nc,Hc:P.nb.Hc,tc:P.nb.tc,rc:P.nb.rc,Gc:P.nb.Gc,sc:P.nb.sc},stream:{dc:P.Rb.dc}},file:{node:{Yb:P.nb.Yb,
Vb:P.nb.Vb},stream:{dc:P.Rb.dc,read:P.Rb.read,write:P.Rb.write,Ac:P.Rb.Ac,oc:P.Rb.oc,pc:P.Rb.pc}},link:{node:{Yb:P.nb.Yb,Vb:P.nb.Vb,lc:P.nb.lc},stream:{}},Bc:{node:{Yb:P.nb.Yb,Vb:P.nb.Vb},stream:Ya}});c=Za(a,b,c,d);16384===(c.mode&61440)?(c.nb=P.$b.dir.node,c.Rb=P.$b.dir.stream,c.Sb={}):32768===(c.mode&61440)?(c.nb=P.$b.file.node,c.Rb=P.$b.file.stream,c.Ub=0,c.Sb=null):40960===(c.mode&61440)?(c.nb=P.$b.link.node,c.Rb=P.$b.link.stream):8192===(c.mode&61440)&&(c.nb=P.$b.Bc.node,c.Rb=P.$b.Bc.stream);
c.timestamp=Date.now();a&&(a.Sb[b]=c,a.timestamp=c.timestamp);return c},Zc:function(a){return a.Sb?a.Sb.subarray?a.Sb.subarray(0,a.Ub):new Uint8Array(a.Sb):new Uint8Array(0)},Cc:function(a,b){var c=a.Sb?a.Sb.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Sb,a.Sb=new Uint8Array(b),0<a.Ub&&a.Sb.set(c.subarray(0,a.Ub),0))},Vc:function(a,b){if(a.Ub!=b)if(0==b)a.Sb=null,a.Ub=0;else{var c=a.Sb;a.Sb=new Uint8Array(b);c&&a.Sb.set(c.subarray(0,Math.min(b,a.Ub)));a.Ub=
b}},nb:{Yb:function(a){var b={};b.Nc=8192===(a.mode&61440)?a.id:1;b.vc=a.id;b.mode=a.mode;b.Tc=1;b.uid=0;b.Qc=0;b.kc=a.kc;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Ub:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.Jc=new Date(a.timestamp);b.Sc=new Date(a.timestamp);b.Mc=new Date(a.timestamp);b.Kc=4096;b.Lc=Math.ceil(b.size/b.Kc);return b},Vb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&P.Vc(a,b.size)},
ic:function(){throw $a[44];},nc:function(a,b,c,d){return P.createNode(a,b,c,d)},Hc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=ab(b,c)}catch(h){}if(d)for(var f in d.Sb)throw new O(55);}delete a.parent.Sb[a.name];a.parent.timestamp=Date.now();a.name=c;b.Sb[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},tc:function(a,b){delete a.Sb[b];a.timestamp=Date.now()},rc:function(a,b){var c=ab(a,b),d;for(d in c.Sb)throw new O(55);delete a.Sb[b];a.timestamp=Date.now()},Gc:function(a){var b=[".",".."],
c;for(c in a.Sb)a.Sb.hasOwnProperty(c)&&b.push(c);return b},sc:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},lc:function(a){if(40960!==(a.mode&61440))throw new O(28);return a.link}},Rb:{read:function(a,b,c,d,f){var h=a.node.Sb;if(f>=a.node.Ub)return 0;a=Math.min(a.node.Ub-f,d);if(8<a&&h.subarray)b.set(h.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=h[f+d];return a},write:function(a,b,c,d,f,h){b.buffer===x.buffer&&(h=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&
(!a.Sb||a.Sb.subarray)){if(h)return a.Sb=b.subarray(c,c+d),a.Ub=d;if(0===a.Ub&&0===f)return a.Sb=b.slice(c,c+d),a.Ub=d;if(f+d<=a.Ub)return a.Sb.set(b.subarray(c,c+d),f),d}P.Cc(a,f+d);if(a.Sb.subarray&&b.subarray)a.Sb.set(b.subarray(c,c+d),f);else for(h=0;h<d;h++)a.Sb[f+h]=b[c+h];a.Ub=Math.max(a.Ub,f+d);return d},dc:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ub);if(0>b)throw new O(28);return b},Ac:function(a,b,c){P.Cc(a.node,b+c);a.node.Ub=Math.max(a.node.Ub,
b+c)},oc:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new O(43);a=a.node.Sb;if(f&2||a.buffer!==x.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,c,c+b);c=!0;b=65536*Math.ceil(b/65536);(f=bb(65536,b))?(y.fill(0,f,f+b),b=f):b=0;if(!b)throw new O(48);x.set(a,b)}else c=!1,b=a.byteOffset;return{Uc:b,Ic:c}},pc:function(a,b,c,d){P.Rb.write(a,b,0,d,c,!1);return 0}}};function cb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
var db=null,eb={},Q=[],fb=1,R=null,gb=!0,O=null,$a={},S=(a,b={})=>{a=Pa(a);if(!a)return{path:"",node:null};b=Object.assign({Dc:!0,yc:0},b);if(8<b.yc)throw new O(32);a=a.split("/").filter(g=>!!g);for(var c=db,d="/",f=0;f<a.length;f++){var h=f===a.length-1;if(h&&b.parent)break;c=ab(c,a[f]);d=N(d+"/"+a[f]);c.ec&&(!h||h&&b.Dc)&&(c=c.ec.root);if(!h||b.cc)for(h=0;40960===(c.mode&61440);)if(c=hb(d),d=Pa(La(d),c),c=S(d,{yc:b.yc+1}).node,40<h++)throw new O(32);}return{path:d,node:c}},ib=a=>{for(var b;;){if(a===
a.parent)return a=a.Zb.Fc,b?"/"!==a[a.length-1]?`${a}/${b}`:a+b:a;b=b?`${a.name}/${b}`:a.name;a=a.parent}},jb=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%R.length},kb=a=>{var b=jb(a.parent.id,a.name);if(R[b]===a)R[b]=a.fc;else for(b=R[b];b;){if(b.fc===a){b.fc=a.fc;break}b=b.fc}},ab=(a,b)=>{var c;if(c=(c=lb(a,"x"))?c:a.nb.ic?0:2)throw new O(c,a);for(c=R[jb(a.id,b)];c;c=c.fc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.nb.ic(a,b)},Za=(a,b,c,d)=>
{a=new mb(a,b,c,d);b=jb(a.parent.id,a.name);a.fc=R[b];return R[b]=a},nb=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},lb=(a,b)=>{if(gb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},ob=(a,b)=>{try{return ab(a,b),20}catch(c){}return lb(a,"wx")},pb=(a,b,c)=>{try{var d=ab(a,b)}catch(f){return f.Tb}if(a=lb(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===ib(d))return 10}else if(16384===
(d.mode&61440))return 31;return 0},qb=()=>{for(var a=0;4096>=a;a++)if(!Q[a])return a;throw new O(33);},sb=(a,b=-1)=>{rb||(rb=function(){this.qc={}},rb.prototype={},Object.defineProperties(rb.prototype,{object:{get:function(){return this.node},set:function(c){this.node=c}},flags:{get:function(){return this.qc.flags},set:function(c){this.qc.flags=c}},position:{get:function(){return this.qc.position},set:function(c){this.qc.position=c}}}));a=Object.assign(new rb,a);-1==b&&(b=qb());a.ac=b;return Q[b]=
a},Ya={open:a=>{a.Rb=eb[a.node.kc].Rb;a.Rb.open&&a.Rb.open(a)},dc:()=>{throw new O(70);}},Ua=(a,b)=>{eb[a]={Rb:b}},tb=(a,b)=>{var c="/"===b,d=!b;if(c&&db)throw new O(10);if(!c&&!d){var f=S(b,{Dc:!1});b=f.path;f=f.node;if(f.ec)throw new O(10);if(16384!==(f.mode&61440))throw new O(54);}b={type:a,ad:{},Fc:b,Rc:[]};a=a.Zb(b);a.Zb=b;b.root=a;c?db=a:f&&(f.ec=b,f.Zb&&f.Zb.Rc.push(b))},ub=(a,b,c)=>{var d=S(a,{parent:!0}).node;a=Ma(a);if(!a||"."===a||".."===a)throw new O(28);var f=ob(d,a);if(f)throw new O(f);
if(!d.nb.nc)throw new O(63);return d.nb.nc(d,a,b,c)},T=(a,b)=>ub(a,(void 0!==b?b:511)&1023|16384,0),vb=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);ub(a,b|8192,c)},wb=(a,b)=>{if(!Pa(a))throw new O(44);var c=S(b,{parent:!0}).node;if(!c)throw new O(44);b=Ma(b);var d=ob(c,b);if(d)throw new O(d);if(!c.nb.sc)throw new O(63);c.nb.sc(c,b,a)},xb=a=>{var b=S(a,{parent:!0}).node;a=Ma(a);var c=ab(b,a),d=pb(b,a,!0);if(d)throw new O(d);if(!b.nb.rc)throw new O(63);if(c.ec)throw new O(10);b.nb.rc(b,a);kb(c)},hb=
a=>{a=S(a).node;if(!a)throw new O(44);if(!a.nb.lc)throw new O(28);return Pa(ib(a.parent),a.nb.lc(a))},yb=(a,b)=>{a=S(a,{cc:!b}).node;if(!a)throw new O(44);if(!a.nb.Yb)throw new O(63);return a.nb.Yb(a)},zb=a=>yb(a,!0),Ab=(a,b)=>{a="string"==typeof a?S(a,{cc:!0}).node:a;if(!a.nb.Vb)throw new O(63);a.nb.Vb(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Bb=(a,b)=>{if(0>b)throw new O(28);a="string"==typeof a?S(a,{cc:!0}).node:a;if(!a.nb.Vb)throw new O(63);if(16384===(a.mode&61440))throw new O(31);
if(32768!==(a.mode&61440))throw new O(28);var c=lb(a,"w");if(c)throw new O(c);a.nb.Vb(a,{size:b,timestamp:Date.now()})},Db=(a,b,c)=>{if(""===a)throw new O(44);if("string"==typeof b){var d={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof d)throw Error(`Unknown file open mode: ${b}`);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=N(a);try{f=S(a,{cc:!(b&131072)}).node}catch(h){}}d=!1;if(b&64)if(f){if(b&128)throw new O(20);}else f=ub(a,
c,0),d=!0;if(!f)throw new O(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new O(54);if(!d&&(c=f?40960===(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==nb(b)||b&512)?31:lb(f,nb(b)):44))throw new O(c);b&512&&!d&&Bb(f,0);b&=-131713;f=sb({node:f,path:ib(f),flags:b,seekable:!0,position:0,Rb:f.Rb,Yc:[],error:!1});f.Rb.open&&f.Rb.open(f);!e.logReadFiles||b&1||(Cb||(Cb={}),a in Cb||(Cb[a]=1));return f},Eb=(a,b,c)=>{if(null===a.ac)throw new O(8);if(!a.seekable||!a.Rb.dc)throw new O(70);
if(0!=c&&1!=c&&2!=c)throw new O(28);a.position=a.Rb.dc(a,b,c);a.Yc=[]},Fb=()=>{O||(O=function(a,b){this.name="ErrnoError";this.node=b;this.Wc=function(c){this.Tb=c};this.Wc(a);this.message="FS error"},O.prototype=Error(),O.prototype.constructor=O,[44].forEach(a=>{$a[a]=new O(a);$a[a].stack="<generic error, no stack>"}))},Gb,Ib=(a,b,c)=>{a=N("/dev/"+a);var d=cb(!!b,!!c);Hb||(Hb=64);var f=Hb++<<8|0;Ua(f,{open:h=>{h.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(h,g,m,l)=>{for(var k=
0,q=0;q<l;q++){try{var n=b()}catch(r){throw new O(29);}if(void 0===n&&0===k)throw new O(6);if(null===n||void 0===n)break;k++;g[m+q]=n}k&&(h.node.timestamp=Date.now());return k},write:(h,g,m,l)=>{for(var k=0;k<l;k++)try{c(g[m+k])}catch(q){throw new O(29);}l&&(h.node.timestamp=Date.now());return k}});vb(a,d,f)},Hb,U={},rb,Cb;function Jb(a,b,c){if("/"===b.charAt(0))return b;a=-100===a?"/":W(a).path;if(0==b.length){if(!c)throw new O(44);return a}return N(a+"/"+b)}
function Kb(a,b,c){try{var d=a(b)}catch(h){if(h&&h.node&&N(b)!==N(ib(h.node)))return-54;throw h;}A[c>>2]=d.Nc;A[c+8>>2]=d.vc;A[c+12>>2]=d.mode;B[c+16>>2]=d.Tc;A[c+20>>2]=d.uid;A[c+24>>2]=d.Qc;A[c+28>>2]=d.kc;I=[d.size>>>0,(G=d.size,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[c+40>>2]=I[0];A[c+44>>2]=I[1];A[c+48>>2]=4096;A[c+52>>2]=d.Lc;a=d.Jc.getTime();b=d.Sc.getTime();var f=d.Mc.getTime();I=[Math.floor(a/1E3)>>>0,(G=Math.floor(a/1E3),1<=+Math.abs(G)?
0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[c+56>>2]=I[0];A[c+60>>2]=I[1];B[c+64>>2]=a%1E3*1E3;I=[Math.floor(b/1E3)>>>0,(G=Math.floor(b/1E3),1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[c+72>>2]=I[0];A[c+76>>2]=I[1];B[c+80>>2]=b%1E3*1E3;I=[Math.floor(f/1E3)>>>0,(G=Math.floor(f/1E3),1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[c+88>>2]=I[0];A[c+92>>2]=
I[1];B[c+96>>2]=f%1E3*1E3;I=[d.vc>>>0,(G=d.vc,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[c+104>>2]=I[0];A[c+108>>2]=I[1];return 0}var Lb=void 0;function Mb(){Lb+=4;return A[Lb-4>>2]}function W(a){a=Q[a];if(!a)throw new O(8);return a}function Nb(a,b,c){return Ra(a,y,b,c)}function Ob(a){return B[a>>2]+4294967296*A[a+4>>2]}var Pb=[0,31,60,91,121,152,182,213,244,274,305,335],Qb=[0,31,59,90,120,151,181,212,243,273,304,334];
function Rb(a){var b=Qa(a)+1,c=Sb(b);c&&Nb(a,c,b);return c}var Tb={};function Ub(){if(!Vb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in Tb)void 0===Tb[b]?delete a[b]:a[b]=Tb[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Vb=c}return Vb}var Vb;
function Wb(a){na=na=a;if(!(noExitRuntime||0<wa)){if(e.onExit)e.onExit(a);v=!0}ea(a,new Ga(a))}function Xb(){}function Yb(){}function Zb(){}function $b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(){}function fc(){}function gc(){}function hc(){}function ic(){}function jc(){}function kc(){}function lc(){}function mc(){}function nc(){}function oc(){}function pc(){}function qc(){}function rc(){}function sc(){}function tc(){}function uc(){}function vc(){}function wc(){}
function xc(){}function yc(){}function zc(){}function Ac(){}function Bc(){}function Cc(){}function Dc(){}function Ec(){}function Fc(){}function Gc(){}function Hc(){}function Ic(){}function Jc(){}function Kc(a){a instanceof Ga||"unwind"==a||ea(1,a)}function Lc(a){try{a()}catch(b){u(b)}}
function Mc(a){var b={},c;for(c in a)(function(d){var f=a[d];b[d]="function"==typeof f?function(){Nc.push(d);try{return f.apply(null,arguments)}finally{v||(Nc.pop()===d||u(),X&&1===Y&&0===Nc.length&&(Y=0,Lc(Oc),"undefined"!=typeof Fibers&&Fibers.bd()))}}:f})(c);return b}var Y=0,X=null,Pc=0,Nc=[],Qc={},Rc={},Sc=0,Tc=null,Uc=[];function Vc(){return new Promise((a,b)=>{Tc={resolve:a,reject:b}})}
function Wc(){var a=Sb(12300),b=a+12;A[a>>2]=b;A[a+4>>2]=b+12288;b=Nc[0];var c=Qc[b];void 0===c&&(c=Sc++,Qc[b]=c,Rc[c]=b);A[a+8>>2]=c;return a}
function Xc(a){if(!v){if(0===Y){var b=!1,c=!1;a((d=0)=>{if(!v&&(Pc=d,b=!0,c)){Y=2;Lc(()=>Yc(X));"undefined"!=typeof Browser&&Browser.wc.Pc&&Browser.wc.resume();d=!1;try{var f=(0,e.asm[Rc[A[X+8>>2]]])()}catch(m){f=m,d=!0}var h=!1;if(!X){var g=Tc;g&&(Tc=null,(d?g.reject:g.resolve)(f),h=!0)}if(d&&!h)throw f;}});c=!0;b||(Y=1,X=Wc(),"undefined"!=typeof Browser&&Browser.wc.Pc&&Browser.wc.pause(),Lc(()=>Zc(X)))}else 2===Y?(Y=0,Lc($c),ad(X),X=null,Uc.forEach(d=>{if(!v)try{if(d(),!(noExitRuntime||0<wa))try{Wb(na)}catch(f){Kc(f)}}catch(f){Kc(f)}})):
u(`invalid state: ${Y}`);return Pc}}function bd(a){return Xc(b=>{a().then(b)})}var cd={};
function Z(a,b,c,d,f){function h(n){--wa;0!==l&&dd(l);return"string"===b?M(n):"boolean"===b?!!n:n}var g={string:n=>{var r=0;if(null!==n&&void 0!==n&&0!==n){r=Qa(n)+1;var w=ed(r);Nb(n,w,r);r=w}return r},array:n=>{var r=ed(n.length);x.set(n,r);return r}};a=e["_"+a];var m=[],l=0;if(d)for(var k=0;k<d.length;k++){var q=g[c[k]];q?(0===l&&(l=fd()),m[k]=q(d[k])):m[k]=d[k]}c=X;d=a.apply(null,m);wa+=1;f=f&&f.async;if(X!=c)return Vc().then(h);d=h(d);return f?Promise.resolve(d):d}
function mb(a,b,c,d){a||(a=this);this.parent=a;this.Zb=a.Zb;this.ec=null;this.id=fb++;this.name=b;this.mode=c;this.nb={};this.Rb={};this.kc=d}Object.defineProperties(mb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Fb();R=Array(4096);tb(P,"/");T("/tmp");T("/home");T("/home/web_user");
(()=>{T("/dev");Ua(259,{read:()=>0,write:(d,f,h,g)=>g});vb("/dev/null",259);Ta(1280,Wa);Ta(1536,Xa);vb("/dev/tty",1280);vb("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(b=Oa(a).byteLength);return a[--b]};Ib("random",c);Ib("urandom",c);T("/dev/shm");T("/dev/shm/tmp")})();
(()=>{T("/proc");var a=T("/proc/self");T("/proc/self/fd");tb({Zb:()=>{var b=Za(a,"fd",16895,73);b.nb={ic:(c,d)=>{var f=Q[+d];if(!f)throw new O(8);c={parent:null,Zb:{Fc:"fake"},nb:{lc:()=>f.path}};return c.parent=c}};return b}},"/proc/self/fd")})();
(function(){const a=new Map;e.setAuthorizer=function(b,c,d){c?a.set(b,{f:c,zc:d}):a.delete(b);return Z("set_authorizer","number",["number"],[b])};Xb=function(b,c,d,f,h,g){if(a.has(b)){const {f:m,zc:l}=a.get(b);return m(l,c,d?M(d):null,f?M(f):null,h?M(h):null,g?M(g):null)}return 0}})();
(function(){function a(d,f){const h=[];for(let g=0;0!=d[f+g];++g){if(1E3<g)throw Error("C-string never terminated after 1k characters");h.push(d[f+g])}return String.fromCharCode(...h)}const b=new Map,c=new Map;e.updateHook=function(d,f){const h=b.size;b.set(h,f);return Z("update_hook","void",["number","number"],[d,h])};e.createFunction=function(d,f,h,g,m,l){const k=b.size;b.set(k,{f:l,bc:m});return Z("create_function","number","number string number number number number".split(" "),[d,f,h,g,k,0])};
e.createAggregate=function(d,f,h,g,m,l,k){const q=b.size;b.set(q,{step:l,Oc:k,bc:m});return Z("create_function","number","number string number number number number".split(" "),[d,f,h,g,q,1])};e.getFunctionUserData=function(d){return c.get(d)};bc=function(d,f,h,g,m,l){d=b.get(d);const k=x;m=BigInt(l)<<32n|BigInt(m)&4294967295n;d(f,a(k,h),a(k,g),m)};Zb=function(d,f,h,g){d=b.get(d);c.set(f,d.bc);d.f(f,new Uint32Array(y.buffer,g,h));c.delete(f)};ac=function(d,f,h,g){d=b.get(d);c.set(f,d.bc);d.step(f,
new Uint32Array(y.buffer,g,h));c.delete(f)};Yb=function(d,f){d=b.get(d);c.set(f,d.bc);d.Oc(f);c.delete(f)}})();(function(){const a=new Map;e.progressHandler=function(b,c,d,f){d?a.set(b,{f:d,zc:f}):a.delete(b);return Z("progress_handler",null,["number","number"],[b,c])};$b=function(b){if(a.has(b)){const {f:c,zc:d}=a.get(b);return c(d)}return 0}})();
(function(){function a(l,k){const q=`get${l}`,n=`set${l}`;return new Proxy(new DataView(y.buffer,k,"Int32"===l?4:8),{get(r,w){if(w===q)return function(z,F){if(!F)throw Error("must be little endian");return r[w](z,F)};if(w===n)return function(z,F,D){if(!D)throw Error("must be little endian");return r[w](z,F,D)};if("string"===typeof w&&w.match(/^(get)|(set)/))throw Error("invalid type");return r[w]}})}const b="object"===typeof cd,c=new Map,d=new Map,f=new Map,h=b?new Set:null,g=b?new Set:null,m=new Map;
sc=function(l,k,q,n){m.set(M(l),{size:k,jc:Array.from(new Uint32Array(y.buffer,n,q))})};e.createModule=function(l,k,q,n){b&&(q.handleAsync=bd);const r=c.size;c.set(r,{module:q,bc:n});n=0;q.xCreate&&(n|=1);q.xConnect&&(n|=2);q.xBestIndex&&(n|=4);q.xDisconnect&&(n|=8);q.xDestroy&&(n|=16);q.xOpen&&(n|=32);q.xClose&&(n|=64);q.xFilter&&(n|=128);q.xNext&&(n|=256);q.xEof&&(n|=512);q.xColumn&&(n|=1024);q.xRowid&&(n|=2048);q.xUpdate&&(n|=4096);q.xBegin&&(n|=8192);q.xSync&&(n|=16384);q.xCommit&&(n|=32768);
q.xRollback&&(n|=65536);q.xFindFunction&&(n|=131072);q.xRename&&(n|=262144);return Z("create_module","number",["number","string","number","number"],[l,k,r,n])};ic=function(l,k,q,n,r,w){k=c.get(k);d.set(r,k);if(b){h.delete(r);for(const z of h)d.delete(z)}n=Array.from(new Uint32Array(y.buffer,n,q)).map(z=>M(z));return k.module.xCreate(l,k.bc,n,r,a("Int32",w))};hc=function(l,k,q,n,r,w){k=c.get(k);d.set(r,k);if(b){h.delete(r);for(const z of h)d.delete(z)}n=Array.from(new Uint32Array(y.buffer,n,q)).map(z=>
M(z));return k.module.xConnect(l,k.bc,n,r,a("Int32",w))};dc=function(l,k){var q=d.get(l),n=m.get("sqlite3_index_info").jc;const r={};r.nConstraint=K(k+n[0],"i32");r.aConstraint=[];var w=K(k+n[1],"*"),z=m.get("sqlite3_index_constraint").size;for(var F=0;F<r.nConstraint;++F){var D=r.aConstraint,J=D.push,H=w+F*z,fa=m.get("sqlite3_index_constraint").jc,V={};V.iColumn=K(H+fa[0],"i32");V.op=K(H+fa[1],"i8");V.usable=!!K(H+fa[2],"i8");J.call(D,V)}r.nOrderBy=K(k+n[2],"i32");r.aOrderBy=[];w=K(k+n[3],"*");z=
m.get("sqlite3_index_orderby").size;for(F=0;F<r.nOrderBy;++F)D=r.aOrderBy,J=D.push,H=w+F*z,fa=m.get("sqlite3_index_orderby").jc,V={},V.iColumn=K(H+fa[0],"i32"),V.desc=!!K(H+fa[1],"i8"),J.call(D,V);r.aConstraintUsage=[];for(w=0;w<r.nConstraint;++w)r.aConstraintUsage.push({argvIndex:0,omit:!1});r.idxNum=K(k+n[5],"i32");r.idxStr=null;r.orderByConsumed=!!K(k+n[8],"i8");r.estimatedCost=K(k+n[9],"double");r.estimatedRows=K(k+n[10],"i64");r.idxFlags=K(k+n[11],"i32");r.colUsed=K(k+n[12],"i64");l=q.module.xBestIndex(l,
r);q=m.get("sqlite3_index_info").jc;n=K(k+q[4],"*");w=m.get("sqlite3_index_constraint_usage").size;for(J=0;J<r.nConstraint;++J)z=n+J*w,D=r.aConstraintUsage[J],H=m.get("sqlite3_index_constraint_usage").jc,L(z+H[0],D.argvIndex,"i32"),L(z+H[1],D.omit?1:0,"i8");L(k+q[5],r.idxNum,"i32");"string"===typeof r.idxStr&&(n=Qa(r.idxStr),w=Z("sqlite3_malloc","number",["number"],[n+1]),Nb(r.idxStr,w,n+1),L(k+q[6],w,"*"),L(k+q[7],1,"i32"));L(k+q[8],r.orderByConsumed,"i32");L(k+q[9],r.estimatedCost,"double");L(k+
q[10],r.estimatedRows,"i64");L(k+q[11],r.idxFlags,"i32");return l};kc=function(l){const k=d.get(l);b?h.add(l):d.delete(l);return k.module.xDisconnect(l)};jc=function(l){const k=d.get(l);b?h.add(l):d.delete(l);return k.module.xDestroy(l)};oc=function(l,k){const q=d.get(l);f.set(k,q);if(b){g.delete(k);for(const n of g)f.delete(n)}return q.module.xOpen(l,k)};ec=function(l){const k=f.get(l);b?g.add(l):f.delete(l);return k.module.xClose(l)};lc=function(l){return f.get(l).module.xEof(l)?1:0};mc=function(l,
k,q,n,r){const w=f.get(l);q=q?M(q):null;r=new Uint32Array(y.buffer,r,n);return w.module.xFilter(l,k,q,r)};nc=function(l){return f.get(l).module.xNext(l)};fc=function(l,k,q){return f.get(l).module.xColumn(l,k,q)};rc=function(l,k){return f.get(l).module.xRowid(l,a("BigInt64",k))};uc=function(l,k,q,n){const r=d.get(l);q=new Uint32Array(y.buffer,q,k);return r.module.xUpdate(l,q,a("BigInt64",n))};cc=function(l){return d.get(l).module.xBegin(l)};tc=function(l){return d.get(l).module.xSync(l)};gc=function(l){return d.get(l).module.xCommit(l)};
qc=function(l){return d.get(l).module.xRollback(l)};pc=function(l,k){const q=d.get(l);k=M(k);return q.module.xRename(l,k)}})();
(function(){function a(g,m){const l=`get${g}`,k=`set${g}`;return new Proxy(new DataView(y.buffer,m,"Int32"===g?4:8),{get(q,n){if(n===l)return function(r,w){if(!w)throw Error("must be little endian");return q[n](r,w)};if(n===k)return function(r,w,z){if(!z)throw Error("must be little endian");return q[n](r,w,z)};if("string"===typeof n&&n.match(/^(get)|(set)/))throw Error("invalid type");return q[n]}})}function b(g){g>>=2;return B[g]+B[g+1]*2**32}const c="object"===typeof cd,d=new Map,f=new Map;e.registerVFS=
function(g,m){if(Z("sqlite3_vfs_find","number",["string"],[g.name]))throw Error(`VFS '${g.name}' already registered`);c&&(g.handleAsync=bd);var l=g.$c??64;const k=e._malloc(4);m=Z("register_vfs","number",["string","number","number","number"],[g.name,l,m?1:0,k]);m||(l=K(k,"*"),d.set(l,g));e._free(k);return m};const h=c?new Set:null;xc=function(g){const m=f.get(g);c?h.add(g):f.delete(g);return m.xClose(g)};Ec=function(g,m,l,k){return f.get(g).xRead(g,y.subarray(m,m+l),b(k))};Jc=function(g,m,l,k){return f.get(g).xWrite(g,
y.subarray(m,m+l),b(k))};Hc=function(g,m){return f.get(g).xTruncate(g,b(m))};Gc=function(g,m){return f.get(g).xSync(g,m)};Bc=function(g,m){const l=f.get(g);m=a("BigInt64",m);return l.xFileSize(g,m)};Cc=function(g,m){return f.get(g).xLock(g,m)};Ic=function(g,m){return f.get(g).xUnlock(g,m)};wc=function(g,m){const l=f.get(g);m=a("Int32",m);return l.xCheckReservedLock(g,m)};Ac=function(g,m,l){const k=f.get(g);l=new DataView(y.buffer,l);return k.xFileControl(g,m,l)};Fc=function(g){return f.get(g).xSectorSize(g)};
zc=function(g){return f.get(g).xDeviceCharacteristics(g)};Dc=function(g,m,l,k,q){g=d.get(g);f.set(l,g);if(c){h.delete(l);for(var n of h)f.delete(n)}n=null;if(k&64){n=1;const r=[];for(;n;){const w=y[m++];if(w)r.push(w);else switch(y[m]||(n=null),n){case 1:r.push(63);n=2;break;case 2:r.push(61);n=3;break;case 3:r.push(38),n=2}}n=(new TextDecoder).decode(new Uint8Array(r))}else m&&(n=M(m));q=a("Int32",q);return g.xOpen(n,l,k,q)};yc=function(g,m,l){return d.get(g).xDelete(M(m),l)};vc=function(g,m,l,k){g=
d.get(g);k=a("Int32",k);return g.xAccess(M(m),l,k)}})();
var hd={a:function(a,b,c,d){u(`Assertion failed: ${M(a)}, at: `+[b?M(b):"unknown filename",c,d?M(d):"unknown function"])},M:function(a,b){try{return a=M(a),Ab(a,b),0}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Tb}},P:function(a,b,c){try{b=M(b);b=Jb(a,b);if(c&-8)return-28;var d=S(b,{cc:!0}).node;if(!d)return-44;a="";c&4&&(a+="r");c&2&&(a+="w");c&1&&(a+="x");return a&&lb(d,a)?-2:0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Tb}},N:function(a,
b){try{var c=Q[a];if(!c)throw new O(8);Ab(c.node,b);return 0}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Tb}},L:function(a){try{var b=Q[a];if(!b)throw new O(8);var c=b.node;var d="string"==typeof c?S(c,{cc:!0}).node:c;if(!d.nb.Vb)throw new O(63);d.nb.Vb(d,{timestamp:Date.now()});return 0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Tb}},b:function(a,b,c){Lb=c;try{var d=W(a);switch(b){case 0:var f=Mb();return 0>f?-28:sb(d,f).ac;case 1:case 2:return 0;
case 3:return d.flags;case 4:return f=Mb(),d.flags|=f,0;case 5:return f=Mb(),oa[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return A[gd()>>2]=28,-1;default:return-28}}catch(h){if("undefined"==typeof U||"ErrnoError"!==h.name)throw h;return-h.Tb}},J:function(a,b){try{var c=W(a);return Kb(yb,c.path,b)}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Tb}},k:function(a,b,c){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return-61;var d=
Q[a];if(!d)throw new O(8);if(0===(d.flags&2097155))throw new O(28);Bb(d.node,b);return 0}catch(f){if("undefined"==typeof U||"ErrnoError"!==f.name)throw f;return-f.Tb}},E:function(a,b){try{if(0===b)return-28;var c=Qa("/")+1;if(b<c)return-68;Nb("/",a,b);return c}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Tb}},H:function(a,b){try{return a=M(a),Kb(zb,a,b)}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Tb}},B:function(a,b,c){try{return b=M(b),b=
Jb(a,b),b=N(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),T(b,c),0}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return-d.Tb}},G:function(a,b,c,d){try{b=M(b);var f=d&256;b=Jb(a,b,d&4096);return Kb(f?zb:yb,b,c)}catch(h){if("undefined"==typeof U||"ErrnoError"!==h.name)throw h;return-h.Tb}},w:function(a,b,c,d){Lb=d;try{b=M(b);b=Jb(a,b);var f=d?Mb():0;return Db(b,c,f).ac}catch(h){if("undefined"==typeof U||"ErrnoError"!==h.name)throw h;return-h.Tb}},u:function(a,b,c,d){try{b=M(b);
b=Jb(a,b);if(0>=d)return-28;var f=hb(b),h=Math.min(d,Qa(f)),g=x[c+h];Nb(f,c,d+1);x[c+h]=g;return h}catch(m){if("undefined"==typeof U||"ErrnoError"!==m.name)throw m;return-m.Tb}},t:function(a){try{return a=M(a),xb(a),0}catch(b){if("undefined"==typeof U||"ErrnoError"!==b.name)throw b;return-b.Tb}},I:function(a,b){try{return a=M(a),Kb(yb,a,b)}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return-c.Tb}},o:function(a,b,c){try{b=M(b);b=Jb(a,b);if(0===c){a=b;var d=S(a,{parent:!0}).node;
if(!d)throw new O(44);var f=Ma(a),h=ab(d,f),g=pb(d,f,!1);if(g)throw new O(g);if(!d.nb.tc)throw new O(63);if(h.ec)throw new O(10);d.nb.tc(d,f);kb(h)}else 512===c?xb(b):u("Invalid flags passed to unlinkat");return 0}catch(m){if("undefined"==typeof U||"ErrnoError"!==m.name)throw m;return-m.Tb}},n:function(a,b,c){try{b=M(b);b=Jb(a,b,!0);if(c){var d=Ob(c),f=A[c+8>>2];h=1E3*d+f/1E6;c+=16;d=Ob(c);f=A[c+8>>2];g=1E3*d+f/1E6}else var h=Date.now(),g=h;a=h;var m=S(b,{cc:!0}).node;m.nb.Vb(m,{timestamp:Math.max(a,
g)});return 0}catch(l){if("undefined"==typeof U||"ErrnoError"!==l.name)throw l;return-l.Tb}},z:function(a,b){a=new Date(1E3*Ob(a));A[b>>2]=a.getSeconds();A[b+4>>2]=a.getMinutes();A[b+8>>2]=a.getHours();A[b+12>>2]=a.getDate();A[b+16>>2]=a.getMonth();A[b+20>>2]=a.getFullYear()-1900;A[b+24>>2]=a.getDay();var c=a.getFullYear();A[b+28>>2]=(0!==c%4||0===c%100&&0!==c%400?Qb:Pb)[a.getMonth()]+a.getDate()-1|0;A[b+36>>2]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=
(new Date(a.getFullYear(),0,1)).getTimezoneOffset();A[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},x:function(a,b,c,d,f,h,g){try{var m=W(d);if(0!==(b&2)&&0===(c&2)&&2!==(m.flags&2097155))throw new O(2);if(1===(m.flags&2097155))throw new O(2);if(!m.Rb.oc)throw new O(43);var l=m.Rb.oc(m,a,f,b,c);var k=l.Uc;A[h>>2]=l.Ic;B[g>>2]=k;return 0}catch(q){if("undefined"==typeof U||"ErrnoError"!==q.name)throw q;return-q.Tb}},y:function(a,b,c,d,f,h){try{var g=W(f);if(c&2){if(32768!==(g.node.mode&61440))throw new O(43);
d&2||g.Rb.pc&&g.Rb.pc(g,y.slice(a,a+b),h,b,d)}}catch(m){if("undefined"==typeof U||"ErrnoError"!==m.name)throw m;return-m.Tb}},q:function(a,b,c){function d(l){return(l=l.toTimeString().match(/\(([A-Za-z ]+)\)$/))?l[1]:"GMT"}var f=(new Date).getFullYear(),h=new Date(f,0,1),g=new Date(f,6,1);f=h.getTimezoneOffset();var m=g.getTimezoneOffset();B[a>>2]=60*Math.max(f,m);A[b>>2]=Number(f!=m);a=d(h);b=d(g);a=Rb(a);b=Rb(b);m<f?(B[c>>2]=a,B[c+4>>2]=b):(B[c>>2]=b,B[c+4>>2]=a)},f:function(){return Date.now()},
r:function(){return 2147483648},e:()=>performance.now(),O:function(a,b,c){y.copyWithin(a,b,b+c)},l:function(a){var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math,h=f.min;d=Math.max(a,d);d+=(65536-d%65536)%65536;a:{var g=ma.buffer;try{ma.grow(h.call(f,2147483648,d)-g.byteLength+65535>>>16);ra();var m=1;break a}catch(l){}m=void 0}if(m)return!0}return!1},C:function(a,b){var c=0;Ub().forEach(function(d,f){var h=b+c;f=B[a+4*f>>2]=
h;for(h=0;h<d.length;++h)x[f++>>0]=d.charCodeAt(h);x[f>>0]=0;c+=d.length+1});return 0},D:function(a,b){var c=Ub();B[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});B[b>>2]=d;return 0},d:Wb,g:function(a){try{var b=W(a);if(null===b.ac)throw new O(8);b.uc&&(b.uc=null);try{b.Rb.close&&b.Rb.close(b)}catch(c){throw c;}finally{Q[b.ac]=null}b.ac=null;return 0}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return c.Tb}},m:function(a,b){try{var c=W(a);x[b>>0]=c.Xb?2:16384===(c.mode&
61440)?3:40960===(c.mode&61440)?7:4;oa[b+2>>1]=0;I=[0,(G=0,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[b+8>>2]=I[0];A[b+12>>2]=I[1];I=[0,(G=0,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[b+16>>2]=I[0];A[b+20>>2]=I[1];return 0}catch(d){if("undefined"==typeof U||"ErrnoError"!==d.name)throw d;return d.Tb}},v:function(a,b,c,d){try{a:{var f=W(a);a=b;for(var h,g=b=0;g<c;g++){var m=B[a>>2],l=B[a+
4>>2];a+=8;var k=f,q=m,n=l,r=h,w=x;if(0>n||0>r)throw new O(28);if(null===k.ac)throw new O(8);if(1===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Rb.read)throw new O(28);var z="undefined"!=typeof r;if(!z)r=k.position;else if(!k.seekable)throw new O(70);var F=k.Rb.read(k,w,q,n,r);z||(k.position+=F);var D=F;if(0>D){var J=-1;break a}b+=D;if(D<l)break;"undefined"!==typeof h&&(h+=D)}J=b}B[d>>2]=J;return 0}catch(H){if("undefined"==typeof U||"ErrnoError"!==H.name)throw H;
return H.Tb}},j:function(a,b,c,d,f){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var h=W(a);Eb(h,b,d);I=[h.position>>>0,(G=h.position,1<=+Math.abs(G)?0<G?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)];A[f>>2]=I[0];A[f+4>>2]=I[1];h.uc&&0===b&&0===d&&(h.uc=null);return 0}catch(g){if("undefined"==typeof U||"ErrnoError"!==g.name)throw g;return g.Tb}},F:function(a){try{var b=W(a);return Xc(function(c){var d=b.node.Zb;d.type.Xc?d.type.Xc(d,
!1,function(f){f?c(function(){return 29}):c(0)}):c(0)})}catch(c){if("undefined"==typeof U||"ErrnoError"!==c.name)throw c;return c.Tb}},s:function(a,b,c,d){try{a:{var f=W(a);a=b;for(var h,g=b=0;g<c;g++){var m=B[a>>2],l=B[a+4>>2];a+=8;var k=f,q=m,n=l,r=h,w=x;if(0>n||0>r)throw new O(28);if(null===k.ac)throw new O(8);if(0===(k.flags&2097155))throw new O(8);if(16384===(k.node.mode&61440))throw new O(31);if(!k.Rb.write)throw new O(28);k.seekable&&k.flags&1024&&Eb(k,0,2);var z="undefined"!=typeof r;if(!z)r=
k.position;else if(!k.seekable)throw new O(70);var F=k.Rb.write(k,w,q,n,r,void 0);z||(k.position+=F);var D=F;if(0>D){var J=-1;break a}b+=D;"undefined"!==typeof h&&(h+=D)}J=b}B[d>>2]=J;return 0}catch(H){if("undefined"==typeof U||"ErrnoError"!==H.name)throw H;return H.Tb}},va:Xb,R:Yb,ka:Zb,fa:$b,aa:ac,K:bc,oa:cc,A:dc,h:ec,ra:fc,ma:gc,ha:hc,ia:ic,i:jc,p:kc,sa:lc,ua:mc,ta:nc,ga:oc,ja:pc,la:qc,qa:rc,c:sc,na:tc,pa:uc,da:vc,U:wc,Z:xc,ea:yc,Q:zc,T:Ac,X:Bc,W:Cc,ca:Dc,ba:Ec,S:Fc,Y:Gc,_:Hc,V:Ic,$:Jc};
(function(){function a(c){c=c.exports;c=Mc(c);e.asm=c;ma=e.asm.wa;ra();ta.unshift(e.asm.xa);C--;e.monitorRunDependencies&&e.monitorRunDependencies(C);if(0==C&&(null!==ya&&(clearInterval(ya),ya=null),za)){var d=za;za=null;d()}return c}var b={a:hd};C++;e.monitorRunDependencies&&e.monitorRunDependencies(C);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){t("Module.instantiateWasm callback failed with error: "+c),ba(c)}Fa(b,function(c){a(c.instance)}).catch(ba);return{}})();
e._sqlite3_malloc=function(){return(e._sqlite3_malloc=e.asm.ya).apply(null,arguments)};e._sqlite3_free=function(){return(e._sqlite3_free=e.asm.za).apply(null,arguments)};e._sqlite3_bind_blob=function(){return(e._sqlite3_bind_blob=e.asm.Aa).apply(null,arguments)};e._sqlite3_bind_int=function(){return(e._sqlite3_bind_int=e.asm.Ba).apply(null,arguments)};e._sqlite3_bind_int64=function(){return(e._sqlite3_bind_int64=e.asm.Ca).apply(null,arguments)};
e._sqlite3_bind_double=function(){return(e._sqlite3_bind_double=e.asm.Da).apply(null,arguments)};e._sqlite3_bind_null=function(){return(e._sqlite3_bind_null=e.asm.Ea).apply(null,arguments)};e._sqlite3_bind_text=function(){return(e._sqlite3_bind_text=e.asm.Fa).apply(null,arguments)};e._sqlite3_close=function(){return(e._sqlite3_close=e.asm.Ga).apply(null,arguments)};e._sqlite3_column_type=function(){return(e._sqlite3_column_type=e.asm.Ha).apply(null,arguments)};
e._sqlite3_column_count=function(){return(e._sqlite3_column_count=e.asm.Ia).apply(null,arguments)};e._sqlite3_column_text=function(){return(e._sqlite3_column_text=e.asm.Ja).apply(null,arguments)};e._sqlite3_column_blob=function(){return(e._sqlite3_column_blob=e.asm.Ka).apply(null,arguments)};e._sqlite3_column_bytes=function(){return(e._sqlite3_column_bytes=e.asm.La).apply(null,arguments)};e._sqlite3_column_double=function(){return(e._sqlite3_column_double=e.asm.Ma).apply(null,arguments)};
e._sqlite3_column_int=function(){return(e._sqlite3_column_int=e.asm.Na).apply(null,arguments)};e._sqlite3_column_int64=function(){return(e._sqlite3_column_int64=e.asm.Oa).apply(null,arguments)};e._sqlite3_column_name=function(){return(e._sqlite3_column_name=e.asm.Pa).apply(null,arguments)};e._sqlite3_declare_vtab=function(){return(e._sqlite3_declare_vtab=e.asm.Qa).apply(null,arguments)};e._sqlite3_errmsg=function(){return(e._sqlite3_errmsg=e.asm.Ra).apply(null,arguments)};
e._sqlite3_exec=function(){return(e._sqlite3_exec=e.asm.Sa).apply(null,arguments)};e._sqlite3_finalize=function(){return(e._sqlite3_finalize=e.asm.Ta).apply(null,arguments)};e._sqlite3_prepare_v2=function(){return(e._sqlite3_prepare_v2=e.asm.Ua).apply(null,arguments)};e._sqlite3_result_int=function(){return(e._sqlite3_result_int=e.asm.Va).apply(null,arguments)};e._sqlite3_result_blob=function(){return(e._sqlite3_result_blob=e.asm.Wa).apply(null,arguments)};
e._sqlite3_result_int64=function(){return(e._sqlite3_result_int64=e.asm.Xa).apply(null,arguments)};e._sqlite3_result_double=function(){return(e._sqlite3_result_double=e.asm.Ya).apply(null,arguments)};e._sqlite3_result_null=function(){return(e._sqlite3_result_null=e.asm.Za).apply(null,arguments)};e._sqlite3_result_error=function(){return(e._sqlite3_result_error=e.asm._a).apply(null,arguments)};e._sqlite3_result_text=function(){return(e._sqlite3_result_text=e.asm.$a).apply(null,arguments)};
e._sqlite3_sql=function(){return(e._sqlite3_sql=e.asm.ab).apply(null,arguments)};e._sqlite3_reset=function(){return(e._sqlite3_reset=e.asm.bb).apply(null,arguments)};e._sqlite3_step=function(){return(e._sqlite3_step=e.asm.cb).apply(null,arguments)};e._sqlite3_value_text=function(){return(e._sqlite3_value_text=e.asm.db).apply(null,arguments)};e._sqlite3_value_type=function(){return(e._sqlite3_value_type=e.asm.eb).apply(null,arguments)};
e._sqlite3_value_bytes=function(){return(e._sqlite3_value_bytes=e.asm.fb).apply(null,arguments)};e._sqlite3_value_blob=function(){return(e._sqlite3_value_blob=e.asm.gb).apply(null,arguments)};e._sqlite3_value_int=function(){return(e._sqlite3_value_int=e.asm.hb).apply(null,arguments)};e._sqlite3_value_int64=function(){return(e._sqlite3_value_int64=e.asm.ib).apply(null,arguments)};e._sqlite3_value_double=function(){return(e._sqlite3_value_double=e.asm.jb).apply(null,arguments)};
e._RegisterExtensionFunctions=function(){return(e._RegisterExtensionFunctions=e.asm.kb).apply(null,arguments)};function gd(){return(gd=e.asm.lb).apply(null,arguments)}var ad=e._free=function(){return(ad=e._free=e.asm.mb).apply(null,arguments)};e._set_authorizer=function(){return(e._set_authorizer=e.asm.ob).apply(null,arguments)};e._create_function=function(){return(e._create_function=e.asm.pb).apply(null,arguments)};e._update_hook=function(){return(e._update_hook=e.asm.qb).apply(null,arguments)};
e._create_module=function(){return(e._create_module=e.asm.rb).apply(null,arguments)};e._progress_handler=function(){return(e._progress_handler=e.asm.sb).apply(null,arguments)};e._register_vfs=function(){return(e._register_vfs=e.asm.tb).apply(null,arguments)};e._sqlite3_vfs_find=function(){return(e._sqlite3_vfs_find=e.asm.ub).apply(null,arguments)};e._getSqliteFree=function(){return(e._getSqliteFree=e.asm.vb).apply(null,arguments)};var jd=e._main=function(){return(jd=e._main=e.asm.wb).apply(null,arguments)};
e._sqlite3_clear_bindings=function(){return(e._sqlite3_clear_bindings=e.asm.xb).apply(null,arguments)};e._sqlite3_data_count=function(){return(e._sqlite3_data_count=e.asm.yb).apply(null,arguments)};e._sqlite3_bind_parameter_count=function(){return(e._sqlite3_bind_parameter_count=e.asm.zb).apply(null,arguments)};e._sqlite3_bind_parameter_name=function(){return(e._sqlite3_bind_parameter_name=e.asm.Ab).apply(null,arguments)};
e._sqlite3_libversion=function(){return(e._sqlite3_libversion=e.asm.Bb).apply(null,arguments)};e._sqlite3_libversion_number=function(){return(e._sqlite3_libversion_number=e.asm.Cb).apply(null,arguments)};e._sqlite3_changes=function(){return(e._sqlite3_changes=e.asm.Db).apply(null,arguments)};e._sqlite3_limit=function(){return(e._sqlite3_limit=e.asm.Eb).apply(null,arguments)};e._sqlite3_open_v2=function(){return(e._sqlite3_open_v2=e.asm.Fb).apply(null,arguments)};
e._sqlite3_get_autocommit=function(){return(e._sqlite3_get_autocommit=e.asm.Gb).apply(null,arguments)};var Sb=e._malloc=function(){return(Sb=e._malloc=e.asm.Hb).apply(null,arguments)};function bb(){return(bb=e.asm.Ib).apply(null,arguments)}function kd(){return(kd=e.asm.Jb).apply(null,arguments)}function fd(){return(fd=e.asm.Kb).apply(null,arguments)}function dd(){return(dd=e.asm.Lb).apply(null,arguments)}function ed(){return(ed=e.asm.Mb).apply(null,arguments)}
function Zc(){return(Zc=e.asm.Nb).apply(null,arguments)}function Oc(){return(Oc=e.asm.Ob).apply(null,arguments)}function Yc(){return(Yc=e.asm.Pb).apply(null,arguments)}function $c(){return($c=e.asm.Qb).apply(null,arguments)}e.getTempRet0=kd;e.ccall=Z;e.cwrap=function(a,b,c,d){var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!d?e["_"+a]:function(){return Z(a,b,c,arguments,d)}};e.setValue=L;e.getValue=K;e.UTF8ToString=M;e.stringToUTF8=Nb;e.lengthBytesUTF8=Qa;var ld;
za=function md(){ld||nd();ld||(za=md)};
function nd(){function a(){if(!ld&&(ld=!0,e.calledRun=!0,!v)){e.noFSInit||Gb||(Gb=!0,Fb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Ib("stdin",e.stdin):wb("/dev/tty","/dev/stdin"),e.stdout?Ib("stdout",null,e.stdout):wb("/dev/tty","/dev/stdout"),e.stderr?Ib("stderr",null,e.stderr):wb("/dev/tty1","/dev/stderr"),Db("/dev/stdin",0),Db("/dev/stdout",1),Db("/dev/stderr",1));gb=!1;Ha(ta);Ha(ua);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(od){var b=jd;try{var c=b(0,0);Wb(c,
!0)}catch(d){Kc(d)}}if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)b=e.postRun.shift(),va.unshift(b);Ha(va)}}if(!(0<C)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)xa();Ha(sa);0<C||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var od=!0;
e.noInitialRun&&(od=!1);nd();

@@ -111,0 +113,0 @@

{
"name": "@vlcn.io/wa-sqlite",
"version": "0.19.0",
"version": "0.20.0-next.0",
"type": "module",

@@ -21,2 +21,9 @@ "main": "src/sqlite-api.js",

],
"scripts": {
"build-docs": "typedoc",
"start": "web-dev-server --node-resolve",
"deep-clean": "rm -rf ./dist || true",
"test": "karma start karma.conf.cjs --browsers ChromeHeadless",
"test-manual": "karma start karma.conf.cjs --auto-watch --no-single-run --reporters progress"
},
"devDependencies": {

@@ -44,10 +51,3 @@ "@web/dev-server": "^0.1.38",

}
},
"scripts": {
"build-docs": "typedoc",
"start": "web-dev-server --node-resolve",
"deep-clean": "rm -rf ./dist || true",
"test": "karma start karma.conf.cjs --browsers ChromeHeadless",
"test-manual": "karma start karma.conf.cjs --auto-watch --no-single-run --reporters progress"
}
}
}

@@ -8,2 +8,3 @@ // Copyright 2022 Roy T. Hashimoto. All Rights Reserved.

const SECTOR_SIZE = 512;
const MAX_TASK_MILLIS = 3000;

@@ -58,2 +59,5 @@ /**

#taskTimestamp = performance.now();
#pendingAsync = new Set();
constructor(idbDatabaseName = 'wa-sqlite', options = DEFAULT_OPTIONS) {

@@ -73,3 +77,3 @@ super();

this.#idb?.close();
await this.#idb?.close();
this.#idb = null;

@@ -210,2 +214,32 @@ }

xWrite(fileId, pData, iOffset) {
// Handle asynchronously every MAX_TASK_MILLIS milliseconds. This is
// tricky because Asyncify calls asynchronous methods twice: once
// to initiate the call and unwinds the stack, then rewinds the
// stack and calls again to retrieve the completed result.
const rewound = this.#pendingAsync.has(fileId);
if (rewound || performance.now() - this.#taskTimestamp > MAX_TASK_MILLIS) {
const result = this.handleAsync(async () => {
if (this.handleAsync !== super.handleAsync) {
this.#pendingAsync.add(fileId);
}
await new Promise(resolve => setTimeout(resolve));
const result = this.#xWriteHelper(fileId, pData, iOffset);
this.#taskTimestamp = performance.now();
return result;
});
if (rewound) this.#pendingAsync.delete(fileId);
return result;
}
return this.#xWriteHelper(fileId, pData, iOffset);
}
/**
* @param {number} fileId
* @param {Uint8Array} pData
* @param {number} iOffset
* @returns {number}
*/
#xWriteHelper(fileId, pData, iOffset) {
const file = this.#mapIdToFile.get(fileId);

@@ -283,17 +317,40 @@ log(`xWrite ${file.path} ${pData.byteLength} ${iOffset}`);

* @param {number} fileId
* @param {*} flags
* @param {number} flags
* @returns {number}
*/
xSync(fileId, flags) {
// Skip IndexedDB sync if durability is relaxed and the last
// sync was recent enough.
const rewound = this.#pendingAsync.has(fileId);
if (rewound || this.#options.durability !== 'relaxed' ||
performance.now() - this.#taskTimestamp > MAX_TASK_MILLIS) {
const result = this.handleAsync(async () => {
if (this.handleAsync !== super.handleAsync) {
this.#pendingAsync.add(fileId);
}
const result = await this.#xSyncHelper(fileId, flags);
this.#taskTimestamp = performance.now();
return result;
});
if (rewound) this.#pendingAsync.delete(fileId);
return result;
}
const file = this.#mapIdToFile.get(fileId);
log(`xSync ${file.path} ${flags}`);
return VFS.SQLITE_OK;
}
/**
* @param {number} fileId
* @param {number} flags
* @returns {Promise<number>}
*/
async #xSyncHelper(fileId, flags) {
const file = this.#mapIdToFile.get(fileId);
log(`xSync ${file.path} ${flags}`);
try {
if (this.#options.durability !== 'relaxed') {
return this.handleAsync(async () => {
await this.#idb.sync();
return VFS.SQLITE_OK;
});
}
return VFS.SQLITE_OK;
await this.#idb.sync();
} catch (e) {

@@ -303,2 +360,3 @@ console.error(e);

}
return VFS.SQLITE_OK;
}

@@ -305,0 +363,0 @@

// Copyright 2022 Roy T. Hashimoto. All Rights Reserved.
const RETRYABLE_EXCEPTIONS = new Set(['TransactionInactiveError', 'InvalidStateError']);
// IndexedDB transactions older than this will be replaced.
const MAX_TRANSACTION_LIFETIME_MILLIS = 5_000;
// For debugging.

@@ -14,2 +16,3 @@ let nextTxId = 0;

export class IDBContext {
/** @type {IDBDatabase} */ #db;
/** @type {Promise<IDBDatabase>} */ #dbReady;

@@ -19,5 +22,5 @@ #txOptions;

/** @type {IDBTransaction} */ #tx = null;
/** @type {Promise<void>} */ #txComplete = null;
/** @type {IDBRequest} */ #request = null;
#chain = Promise.resolve();
#txTimestamp = 0;
#runChain = Promise.resolve();
#putChain = Promise.resolve();

@@ -28,3 +31,3 @@ /**

constructor(idbDatabase, txOptions = { durability: 'default' }) {
this.#dbReady = Promise.resolve(idbDatabase);
this.#dbReady = Promise.resolve(idbDatabase).then(db => this.#db = db);
this.#txOptions = txOptions;

@@ -34,3 +37,5 @@ }

async close() {
const db = await this.#dbReady;
const db = this.#db ?? await this.#dbReady;
await this.#runChain;
await this.sync();
db.close();

@@ -43,9 +48,9 @@ }

* @param {IDBTransactionMode} mode
* @param {(stores: Object.<string, Store>) => any} f
* @param {(stores: Object.<string, ObjectStore>) => any} f
*/
async run(mode, f) {
// Ensure that functions run sequentially.
return this.#chain = this.#chain.then(() => {
return this.#run(mode, f);
});
const result = this.#runChain.then(() => this.#run(mode, f));
this.#runChain = result.catch(() => {});
return result;
}

@@ -55,17 +60,23 @@

* @param {IDBTransactionMode} mode
* @param {(stores: Object.<string, Store>) => any} f
* @param {(stores: Object.<string, ObjectStore>) => any} f
* @returns
*/
async #run(mode, f) {
const db = await this.#dbReady;
const storeNames = Array.from(db.objectStoreNames);
if (mode !== 'readonly' && this.#tx?.mode === 'readonly') {
// Force creation of a new read-write transaction.
const db = this.#db ?? await this.#dbReady;
if (mode === 'readwrite' && this.#tx?.mode === 'readonly') {
// Mode requires a new transaction.
this.#tx = null;
} else if (this.#request?.readyState === 'pending') {
// Wait for pending IDBRequest so the IDBTransaction is active.
await new Promise(done => {
this.#request.addEventListener('success', done);
this.#request.addEventListener('error', done);
});
} else if (performance.now() - this.#txTimestamp > MAX_TRANSACTION_LIFETIME_MILLIS) {
// Chrome times out transactions after 60 seconds so refresh preemptively.
try {
this.#tx?.commit();
} catch (e) {
// Explicit commit can fail but this can be ignored if it will
// auto-commit anyway.
if (e.name !== 'InvalidStateError') throw e;
}
// Skip to the next task to allow processing.
await new Promise(resolve => setTimeout(resolve));
this.#tx = null;
}

@@ -77,12 +88,29 @@

// @ts-ignore
this.#tx = db.transaction(storeNames, mode, this.#txOptions);
this.#txComplete = new Promise(resolve => {
this.#tx.addEventListener('complete', event => {
if (this.#tx === event.target) {
this.#tx = null
}
resolve();
log(`transaction ${mapTxToId.get(event.target)} complete`);
this.#tx = db.transaction(db.objectStoreNames, mode, this.#txOptions);
const timestamp = this.#txTimestamp = performance.now();
// Chain the result of every transaction. If any transaction is
// aborted then the next sync() call will throw.
this.#putChain = this.#putChain.then(() => {
return new Promise((resolve, reject) => {
this.#tx.addEventListener('complete', event => {
resolve();
if (this.#tx === event.target) {
this.#tx = null;
}
log(`transaction ${mapTxToId.get(event.target)} complete`);
});
this.#tx.addEventListener('abort', event => {
console.warn('tx abort', (performance.now() - timestamp)/1000);
// @ts-ignore
const e = event.target.error;
reject(e);
if (this.#tx === event.target) {
this.#tx = null;
}
log(`transaction ${mapTxToId.get(event.target)} aborted`, e);
});
});
});
log(`new transaction ${nextTxId} ${mode}`);

@@ -93,15 +121,10 @@ mapTxToId.set(this.#tx, nextTxId++);

try {
const stores = Object.fromEntries(storeNames.map(name => {
const objectStore = this.#tx.objectStore(name);
const store = new Store(objectStore, request => this.#setRequest(request));
return [name, store];
const stores = Object.fromEntries(Array.from(db.objectStoreNames, name => {
return [name, new ObjectStore(this.#tx.objectStore(name))];
}));
return await f(stores);
} catch (e) {
if (i || !RETRYABLE_EXCEPTIONS.has(e.name)) {
// On failure make sure nothing is committed.
try { this.#tx.abort() } catch (ignored) {}
throw e;
}
this.#tx = null;
if (i) throw e;
// console.warn('retrying with new transaction');
}

@@ -112,28 +135,30 @@ }

async sync() {
// Wait until all previously queued request functions have run.
await new Promise(resolve => this.run('readwrite', resolve));
return this.#txComplete;
// Wait until all transactions since the previous sync have committed.
// Throw if any transaction failed.
await this.#putChain;
this.#putChain = Promise.resolve();
}
}
/**
* @param {IDBRequest} request
*/
#setRequest(request) {
this.#request = request;
return new Promise((resolve, reject) => {
request.onsuccess = () => resolve(request.result);
request.onerror = () => reject(request.error);
});
}
/**
* Helper to convert IDBRequest to Promise.
* @param {IDBRequest} request
* @returns {Promise}
*/
function wrapRequest(request) {
return new Promise((resolve, reject) => {
request.addEventListener('success', () => resolve(request.result));
request.addEventListener('error', () => reject(request.error));
});
}
// IDBStore wrapper passed to IDBActivity run functions.
class Store {
// IDBObjectStore wrapper passed to IDBContext run functions.
class ObjectStore {
#objectStore;
/**
* @param {IDBObjectStore} store
* @param {(request: IDBRequest) => Promise} addRequest
* @param {IDBObjectStore} objectStore
*/
constructor(store, addRequest) {
this.store = store;
this.addRequest = addRequest;
constructor(objectStore) {
this.#objectStore = objectStore;
}

@@ -146,5 +171,5 @@

get(query) {
log(`get ${this.store.name}`, query);
const request = this.store.get(query);
return this.addRequest(request);
log(`get ${this.#objectStore.name}`, query);
const request = this.#objectStore.get(query);
return wrapRequest(request);
}

@@ -158,5 +183,5 @@

getAll(query, count) {
log(`getAll ${this.store.name}`, query, count);
const request = this.store.getAll(query, count);
return this.addRequest(request);
log(`getAll ${this.#objectStore.name}`, query, count);
const request = this.#objectStore.getAll(query, count);
return wrapRequest(request);
}

@@ -169,5 +194,5 @@

getKey(query) {
log(`getKey ${this.store.name}`, query);
const request = this.store.getKey(query);
return this.addRequest(request);
log(`getKey ${this.#objectStore.name}`, query);
const request = this.#objectStore.getKey(query);
return wrapRequest(request);
}

@@ -181,5 +206,5 @@

getAllKeys(query, count) {
log(`getAllKeys ${this.store.name}`, query, count);
const request = this.store.getAllKeys(query, count);
return this.addRequest(request);
log(`getAllKeys ${this.#objectStore.name}`, query, count);
const request = this.#objectStore.getAllKeys(query, count);
return wrapRequest(request);
}

@@ -193,5 +218,5 @@

put(value, key) {
log(`put ${this.store.name}`, value, key);
const request = this.store.put(value, key);
return this.addRequest(request);
log(`put ${this.#objectStore.name}`, value, key);
const request = this.#objectStore.put(value, key);
return wrapRequest(request);
}

@@ -204,15 +229,15 @@

delete(query) {
log(`delete ${this.store.name}`, query);
const request = this.store.delete(query);
return this.addRequest(request);
log(`delete ${this.#objectStore.name}`, query);
const request = this.#objectStore.delete(query);
return wrapRequest(request);
}
clear() {
log(`clear ${this.store.name}`);
const request = this.store.clear();
return this.addRequest(request);
log(`clear ${this.#objectStore.name}`);
const request = this.#objectStore.clear();
return wrapRequest(request);
}
index(name) {
return new Index(this.store.index(name), request => this.addRequest(request));
return new Index(this.#objectStore.index(name));
}

@@ -222,9 +247,9 @@ }

class Index {
/** @type {IDBIndex} */ #index;
/**
* @param {IDBIndex} index
* @param {(request: IDBRequest) => Promise} addRequest
*/
constructor(index, addRequest) {
this.index = index;
this.addRequest = addRequest;
constructor(index) {
this.#index = index;
}

@@ -238,6 +263,6 @@

getAllKeys(query, count) {
log(`IDBIndex.getAllKeys ${this.index.objectStore.name}<${this.index.name}>`, query, count);
const request = this.index.getAllKeys(query, count);
return this.addRequest(request);
log(`IDBIndex.getAllKeys ${this.#index.objectStore.name}<${this.#index.name}>`, query, count);
const request = this.#index.getAllKeys(query, count);
return wrapRequest(request);
}
}

@@ -57,3 +57,3 @@ // Copyright 2022 Roy T. Hashimoto. All Rights Reserved.

this.#idb?.close();
await this.#idb?.close();
this.#idb = null;

@@ -60,0 +60,0 @@ }

@@ -458,3 +458,5 @@ // Copyright 2021 Roy T. Hashimoto. All Rights Reserved.

return async function(stmt) {
verifyStatement(stmt);
if (!mapStmtToDB.has(stmt)) {
return SQLite.SQLITE_MISUSE;
}
const result = await f(stmt);

@@ -464,3 +466,6 @@

mapStmtToDB.delete(stmt)
return check(fname, result, db);
// Don't throw on error here. Typically the error has already been
// thrown and finalize() is part of the cleanup.
return result;
};

@@ -496,2 +501,11 @@ })();

sqlite3.limit = (function() {
const fname = 'sqlite3_limit';
const f = Module.cwrap(fname, ...decl('nnn:n'));
return function(db, id, newVal) {
const result = f(db, id, newVal);
return result;
};
})();
sqlite3.open_v2 = (function() {

@@ -505,3 +519,3 @@ const fname = 'sqlite3_open_v2';

const db = Module.getValue(tmpPtr[0], 'i32');
const db = Module.getValue(tmpPtr[0], '*');
databases.add(db);

@@ -523,6 +537,6 @@ Module._sqlite3_free(zVfs);

const stmt = Module.getValue(tmpPtr[0], 'i32');
const stmt = Module.getValue(tmpPtr[0], '*');
if (stmt) {
mapStmtToDB.set(stmt, db);
return { stmt, sql: Module.getValue(tmpPtr[1], 'i32') };
return { stmt, sql: Module.getValue(tmpPtr[1], '*') };
}

@@ -533,2 +547,7 @@ return null;

sqlite3.progress_handler = function(db, nProgressOps, handler, userData) {
verifyDatabase(db);
Module.progressHandler(db, nProgressOps, handler, userData);
};;
sqlite3.reset = (function() {

@@ -643,2 +662,8 @@ const fname = 'sqlite3_reset';

sqlite3.set_authorizer = function(db, authFunction, userData) {
verifyDatabase(db);
const result = Module.setAuthorizer(db, authFunction, userData);
return check('sqlite3_set_authorizer', result, db);
};;
sqlite3.sql = (function() {

@@ -866,6 +891,7 @@ const fname = 'sqlite3_sql';

const result = [];
const m = s.match(/([ns@]*):([ns@])/);
const m = s.match(/([ns@]*):([nsv@])/);
switch (m[2]) {
case 'n': result.push('number'); break;
case 's': result.push('string'); break;
case 'v': result.push(null); break;
}

@@ -872,0 +898,0 @@

@@ -218,1 +218,55 @@ // Primary result codes.

export const SQLITE_SYNC_DATAONLY = 0x00010;
// Authorizer action codes
export const SQLITE_CREATE_INDEX = 1;
export const SQLITE_CREATE_TABLE = 2;
export const SQLITE_CREATE_TEMP_INDEX = 3;
export const SQLITE_CREATE_TEMP_TABLE = 4;
export const SQLITE_CREATE_TEMP_TRIGGER = 5;
export const SQLITE_CREATE_TEMP_VIEW = 6;
export const SQLITE_CREATE_TRIGGER = 7;
export const SQLITE_CREATE_VIEW = 8;
export const SQLITE_DELETE = 9;
export const SQLITE_DROP_INDEX = 10;
export const SQLITE_DROP_TABLE = 11;
export const SQLITE_DROP_TEMP_INDEX = 12;
export const SQLITE_DROP_TEMP_TABLE = 13;
export const SQLITE_DROP_TEMP_TRIGGER = 14;
export const SQLITE_DROP_TEMP_VIEW = 15;
export const SQLITE_DROP_TRIGGER = 16;
export const SQLITE_DROP_VIEW = 17;
export const SQLITE_INSERT = 18;
export const SQLITE_PRAGMA = 19;
export const SQLITE_READ = 20;
export const SQLITE_SELECT = 21;
export const SQLITE_TRANSACTION = 22;
export const SQLITE_UPDATE = 23;
export const SQLITE_ATTACH = 24;
export const SQLITE_DETACH = 25;
export const SQLITE_ALTER_TABLE = 26;
export const SQLITE_REINDEX = 27;
export const SQLITE_ANALYZE = 28;
export const SQLITE_CREATE_VTABLE = 29;
export const SQLITE_DROP_VTABLE = 30;
export const SQLITE_FUNCTION = 31;
export const SQLITE_SAVEPOINT = 32;
export const SQLITE_COPY = 0;
export const SQLITE_RECURSIVE = 33;
// Authorizer return codes
export const SQLITE_DENY = 1;
export const SQLITE_IGNORE = 2;
// Limit categories
export const SQLITE_LIMIT_LENGTH = 0;
export const SQLITE_LIMIT_SQL_LENGTH = 1;
export const SQLITE_LIMIT_COLUMN = 2;
export const SQLITE_LIMIT_EXPR_DEPTH = 3;
export const SQLITE_LIMIT_COMPOUND_SELECT = 4;
export const SQLITE_LIMIT_VDBE_OP = 5;
export const SQLITE_LIMIT_FUNCTION_ARG = 6;
export const SQLITE_LIMIT_ATTACHED = 7;
export const SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8;
export const SQLITE_LIMIT_VARIABLE_NUMBER = 9;
export const SQLITE_LIMIT_TRIGGER_DEPTH = 10;
export const SQLITE_LIMIT_WORKER_THREADS = 11;

@@ -14,2 +14,3 @@ declare namespace Asyncify {

declare var HEAPU8: Uint8Array;
declare var HEAPU32: Uint32Array;
declare var LibraryManager;

@@ -58,1 +59,5 @@ declare var Module;

declare var _modRename;
declare var _jsAuth;
declare var _jsProgress;

@@ -660,5 +660,7 @@ /**

* Destroy a prepared statement object compiled with {@link prepare_v2}
*
* This function does *not* throw on error.
* @see https://www.sqlite.org/c3ref/finalize.html
* @param stmt prepared statement pointer
* @returns Promise resolving to `SQLITE_OK` (rejects on error)
* @returns Promise resolving to `SQLITE_OK` or error status
*/

@@ -690,2 +692,15 @@ finalize(stmt: number): Promise<number>;

/**
* Set a usage limit on a connection.
* @see https://www.sqlite.org/c3ref/limit.html
* @param db database pointer
* @param id limit category
* @param newVal
* @returns previous setting
*/
limit(
db: number,
id: number,
newVal: number): number;
/**
* Opening a new database connection.

@@ -754,2 +769,11 @@ *

/**
* Specify callback to be invoked between long-running queries
* @param db database pointer
* @param nProgressOps target number of database operations between handler invocations
* @param handler
* @param userData
*/
progress_handler(db: number, nProgressOps: number, handler: (userData: any) => number, userData);
/**
* Reset a prepared statement object

@@ -829,2 +853,14 @@ * @see https://www.sqlite.org/c3ref/reset.html

/**
* Register a callback function that is invoked to authorize certain SQL statement actions.
* @see https://www.sqlite.org/c3ref/set_authorizer.html
* @param db database pointer
* @param authFunction
* @param userData
*/
set_authorizer(
db: number,
authFunction: (userData: any, iActionCode: number, param3: string|null, param4: string|null, param5: string|null, param6: string|null) => number,
userData: any): number;
/**
* Get statement SQL

@@ -870,3 +906,3 @@ * @see https://www.sqlite.org/c3ref/expanded_sql.html

* to ensure that all allocated resources are released.
* @param db
* @param db database pointer
* @param sql

@@ -873,0 +909,0 @@ */

@@ -6,3 +6,3 @@ import { IDBBatchAtomicVFS } from "../src/examples/IDBBatchAtomicVFS.js";

// jasmine.DEFAULT_TIMEOUT_INTERVAL = 300_000;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 300_000;

@@ -15,6 +15,2 @@ class TestVFS extends IDBBatchAtomicVFS {

handleAsync(f) {
return f();
}
static instances = [];

@@ -31,5 +27,5 @@

await new Promise((resolve, reject) => {
const db = indexedDB.deleteDatabase(IDB_DATABASE_NAME);
db.addEventListener('success', resolve);
db.addEventListener('error', reject);
const deleteRequest = indexedDB.deleteDatabase(IDB_DATABASE_NAME);
deleteRequest.addEventListener('success', resolve);
deleteRequest.addEventListener('error', reject);
});

@@ -36,0 +32,0 @@

@@ -18,6 +18,2 @@ import { IDBMinimalVFS } from "../src/examples/IDBMinimalVFS.js";

handleAsync(f) {
return f();
}
static instances = [];

@@ -34,5 +30,5 @@

await new Promise((resolve, reject) => {
const db = indexedDB.deleteDatabase(IDB_DATABASE_NAME);
db.addEventListener('success', resolve);
db.addEventListener('error', reject);
const deleteRequest = indexedDB.deleteDatabase(IDB_DATABASE_NAME);
deleteRequest.addEventListener('success', resolve);
deleteRequest.addEventListener('error', reject);
});

@@ -39,0 +35,0 @@

@@ -265,2 +265,48 @@ import { getSQLite, getSQLiteAsync } from './api-instances.js';

it('authorizer', async function() {
const calls = [];
function authFunction(userData, iActionCode, param3, param4, param5, param6) {
calls.push({ userData, iActionCode, param3, param4, param5, param6 });
if (iActionCode === SQLite.SQLITE_PRAGMA) {
return SQLite.SQLITE_DENY;
}
return SQLite.SQLITE_OK;
}
let result;
result = sqlite3.set_authorizer(db, authFunction, 42);
expect(result).toBe(SQLite.SQLITE_OK);
await sqlite3.exec(db, 'CREATE TABLE foo(x)');
expect(calls.length).toBeGreaterThan(0);
const createTable = calls.find(call => call.iActionCode === SQLite.SQLITE_CREATE_TABLE);
expect(createTable).toBeDefined();
expect(createTable.userData).toBe(42);
expect(createTable.param3).toBe('foo');
expect(createTable.param4).toBe(null);
expect(createTable.param5).toBe('main');
expect(createTable.param6).toBe(null);
calls.splice(0, Infinity);
await expectAsync(sqlite3.exec(db, 'PRAGMA page_count'))
.toBeRejectedWithError(/not authorized/);
calls.splice(0, Infinity);
result = sqlite3.set_authorizer(db, null, null);
expect(result).toBe(SQLite.SQLITE_OK);
await sqlite3.exec(db, 'CREATE TABLE bar(x)');
expect(calls.length).toBe(0);
});
it('limit', async function() {
let result;
result = sqlite3.limit(db, SQLite.SQLITE_LIMIT_SQL_LENGTH, -1);
expect(result).toBeGreaterThan(64);
sqlite3.limit(db, SQLite.SQLITE_LIMIT_SQL_LENGTH, 8);
await expectAsync(sqlite3.exec(db, 'PRAGMA page_count'))
.toBeRejectedWithError(/too big/);
});
it('statements', async function() {

@@ -528,2 +574,29 @@ sinon.spy(sqlite3, 'finalize');

});
it('progress_handler', async function() {
let handlerArg;
let handlerCount = 0;
function handler(userData) {
handlerArg = userData;
return ++handlerCount > 5 ? 1 : 0;
}
sqlite3.progress_handler(db, 1, handler, 42);
let result;
result = sqlite3.exec(db, `
WITH RECURSIVE numbers(n)
AS (SELECT 1 UNION ALL SELECT n + 1 FROM numbers LIMIT 10)
SELECT * FROM numbers;
`);
await expectAsync(result).toBeRejectedWithError(/interrupted/);
expect(handlerArg).toBe(42);
sqlite3.progress_handler(db, 0, null, 42);
result = sqlite3.exec(db, `
WITH RECURSIVE numbers(n)
AS (SELECT 1 UNION ALL SELECT n + 1 FROM numbers LIMIT 10)
SELECT * FROM numbers;
`);
await expectAsync(result).toBeResolved();
});
}

@@ -530,0 +603,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet