function Ea(){var a=e.preRun.shift();Ba.unshift(a)}var Fa=0,Ha=null,Ia=null;function Ja(){Fa++;e.monitorRunDependencies&&e.monitorRunDependencies(Fa)}function Ka(){Fa--;e.monitorRunDependencies&&e.monitorRunDependencies(Fa);if(0==Fa&&(null!==Ha&&(clearInterval(Ha),Ha=null),Ia)){var a=Ia;Ia=null;a()}}function x(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";u(a);qa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}var La;La="comm-query-executor.wasm";
function Na(a){var b=La;try{a:{try{if(b==La&&oa){var c=new Uint8Array(oa);break a}if(ka){c=ka(b);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(g){x(g)}c=void 0}var d=new WebAssembly.Module(c);var f=new WebAssembly.Instance(d,a)}catch(g){throw a=g.toString(),u("failed to compile wasm module: "+a),(a.includes("imported Memory")||a.includes("memory import"))&&u("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),
function Va(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:M.cwd();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=Ra(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}
function Za(a,b){Ya[a]={input:[],output:[],Ab:b};M.pc(a,$a)}
var $a={open:function(a){var b=Ya[a.node.rdev];if(!b)throw new M.Ga(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Ab.flush(a.tty)},flush:function(a){a.tty.Ab.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Ab.Ic)throw new M.Ga(60);for(var f=0,g=0;g<d;g++){try{var k=a.tty.Ab.Ic(a.tty)}catch(h){throw new M.Ga(29);}if(void 0===k&&0===f)throw new M.Ga(6);if(null===k||void 0===k)break;f++;b[c+g]=k}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.Ab.kc)throw new M.Ga(60);
function cb(a){a=65536*Math.ceil(a/65536);var b=db(65536,a);if(!b)return 0;z.fill(0,b,b+a);return b}
var N={fb:null,Qa:function(){return N.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(M.vd(c)||M.isFIFO(c))throw new M.Ga(63);N.fb||(N.fb={dir:{node:{bb:N.Ia.bb,Ta:N.Ia.Ta,lookup:N.Ia.lookup,ib:N.Ia.ib,rename:N.Ia.rename,unlink:N.Ia.unlink,rmdir:N.Ia.rmdir,readdir:N.Ia.readdir,symlink:N.Ia.symlink},stream:{cb:N.Ka.cb}},file:{node:{bb:N.Ia.bb,Ta:N.Ia.Ta},stream:{cb:N.Ka.cb,read:N.Ka.read,write:N.Ka.write,Cb:N.Ka.Cb,qb:N.Ka.qb,zb:N.Ka.zb}},link:{node:{bb:N.Ia.bb,Ta:N.Ia.Ta,readlink:N.Ia.readlink},
M.yb(a.mode)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.Xc=4096;b.blocks=Math.ceil(b.size/b.Xc);return b},Ta:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&N.Jd(a,b.size)},lookup:function(){throw M.Zb[44];},ib:function(a,b,c,d){return N.createNode(a,b,c,d)},rename:function(a,b,c){if(M.Sa(a.mode)){try{var d=M.hb(b,c)}catch(g){}if(d)for(var f in d.Ja)throw new M.Ga(55);
}delete a.parent.Ja[a.name];a.parent.timestamp=Date.now();a.name=c;b.Ja[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},unlink:function(a,b){delete a.Ja[b];a.timestamp=Date.now()},rmdir:function(a,b){var c=M.hb(a,b),d;for(d in c.Ja)throw new M.Ga(55);delete a.Ja[b];a.timestamp=Date.now()},readdir:function(a){var b=[".",".."],c;for(c in a.Ja)a.Ja.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(!M.yb(a.mode))throw new M.Ga(28);
d);if(a.Ja.subarray&&b.subarray)a.Ja.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.Ja[f+g]=b[c+g];a.Pa=Math.max(a.Pa,f+d);return d},cb:function(a,b,c){1===c?b+=a.position:2===c&&M.isFile(a.node.mode)&&(b+=a.node.Pa);if(0>b)throw new M.Ga(28);return b},Cb:function(a,b,c){N.Ec(a.node,b+c);a.node.Pa=Math.max(a.node.Pa,b+c)},qb:function(a,b,c,d,f){if(!M.isFile(a.node.mode))throw new M.Ga(43);a=a.node.Ja;if(f&2||a.buffer!==va){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=cb(b);if(!b)throw new M.Ga(48);A.set(a,b)}else c=!1,b=a.byteOffset;return{La:b,tc:c}},zb:function(a,b,c,d,f){if(!M.isFile(a.node.mode))throw new M.Ga(43);if(f&2)return 0;N.Ka.write(a,b,0,d,c,!1);return 0}}};function eb(a,b,c){var d="al "+a;ja(a,f=>{f||x('Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(f));d&&Ka(d)},()=>{if(c)c();else throw'Loading data file "'+a+'" failed.';});d&&Ja(d)}
var M={root:null,Fb:[],Cc:{},streams:[],Bd:1,eb:null,Ac:"/",cc:!1,Lc:!0,Ga:null,Zb:{},md:null,Rb:0,Oa:(a,b={})=>{a=Va(M.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Xb:!0,nc:0},b);if(8<b.nc)throw new M.Ga(32);a=Ra(a.split("/").filter(k=>!!k),!1);for(var c=M.root,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=M.hb(c,a[f]);d=J(d+"/"+a[f]);M.ob(c)&&(!g||g&&b.Xb)&&(c=c.Eb.root);if(!g||b.Xa)for(g=0;M.yb(c.mode);)if(c=M.readlink(d),d=Va(Sa(d),c),c=M.Oa(d,{nc:b.nc+1}).node,
40<g++)throw new M.Ga(32);}return{path:d,node:c}},kb:a=>{for(var b;;){if(M.Nb(a))return a=a.Qa.Mc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},bc:(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%M.eb.length},Jc:a=>{var b=M.bc(a.parent.id,a.name);a.rb=M.eb[b];M.eb[b]=a},Kc:a=>{var b=M.bc(a.parent.id,a.name);if(M.eb[b]===a)M.eb[b]=a.rb;else for(b=M.eb[b];b;){if(b.rb===a){b.rb=a.rb;break}b=b.rb}},hb:(a,b)=>{var c=M.yd(a);if(c)throw new M.Ga(c,
f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);M.Rb++;1<M.Rb&&u("warning: "+M.Rb+" FS.syncfs operations in flight at once, probably just doing extra work");var f=M.Hc(M.root.Qa),g=0;f.forEach(k=>{if(!k.type.Oc)return d(null);k.type.Oc(k,a,d)})},Qa:(a,b,c)=>{var d="/"===c,f=!c;if(d&&M.root)throw new M.Ga(10);if(!d&&!f){var g=M.Oa(c,{Xb:!1});c=g.path;g=g.node;if(M.ob(g))throw new M.Ga(10);if(!M.Sa(g.mode))throw new M.Ga(54);}b={type:a,ce:b,Mc:c,Fb:[]};a=a.Qa(b);a.Qa=b;b.root=a;d?M.root=a:g&&(g.Eb=
b,g.Qa&&g.Qa.Fb.push(b));return a},ge:a=>{a=M.Oa(a,{Xb:!1});if(!M.ob(a.node))throw new M.Ga(28);a=a.node;var b=a.Eb,c=M.Hc(b);Object.keys(M.eb).forEach(d=>{for(d=M.eb[d];d;){var f=d.rb;c.includes(d.Qa)&&M.Wb(d);d=f}});a.Eb=null;a.Qa.Fb.splice(a.Qa.Fb.indexOf(b),1)},lookup:(a,b)=>a.Ia.lookup(a,b),ib:(a,b,c)=>{var d=M.Oa(a,{parent:!0}).node;a=L(a);if(!a||"."===a||".."===a)throw new M.Ga(28);var f=M.jc(d,a);if(f)throw new M.Ga(f);if(!d.Ia.ib)throw new M.Ga(63);return d.Ia.ib(d,a,b,c)},create:(a,b)=>
M.ib(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>M.ib(a,(void 0!==b?b:511)&1023|16384,0),ae:(a,b)=>{a=a.split("/");for(var c="",d=0;d<a.length;++d)if(a[d]){c+="/"+a[d];try{M.mkdir(c,b)}catch(f){if(20!=f.Ma)throw f;}}},Qb:(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);return M.ib(a,b|8192,c)},symlink:(a,b)=>{if(!Va(a))throw new M.Ga(44);var c=M.Oa(b,{parent:!0}).node;if(!c)throw new M.Ga(44);b=L(b);var d=M.jc(c,b);if(d)throw new M.Ga(d);if(!c.Ia.symlink)throw new M.Ga(63);return c.Ia.symlink(c,b,
a)},rename:(a,b)=>{var c=Sa(a),d=Sa(b),f=L(a),g=L(b);var k=M.Oa(a,{parent:!0});var h=k.node;k=M.Oa(b,{parent:!0});k=k.node;if(!h||!k)throw new M.Ga(44);if(h.Qa!==k.Qa)throw new M.Ga(75);var n=M.hb(h,f);a=Wa(a,d);if("."!==a.charAt(0))throw new M.Ga(28);a=Wa(b,c);if("."!==a.charAt(0))throw new M.Ga(55);try{var q=M.hb(k,g)}catch(p){}if(n!==q){b=M.Sa(n.mode);if(f=M.Pb(h,f,b))throw new M.Ga(f);if(f=q?M.Pb(k,g,b):M.jc(k,g))throw new M.Ga(f);if(!h.Ia.rename)throw new M.Ga(63);if(M.ob(n)||q&&M.ob(q))throw new M.Ga(10);
if(k!==h&&(f=M.mb(h,"w")))throw new M.Ga(f);M.Kc(n);try{h.Ia.rename(n,k,g)}catch(p){throw p;}finally{M.Jc(n)}}},rmdir:a=>{var b=M.Oa(a,{parent:!0}).node;a=L(a);var c=M.hb(b,a),d=M.Pb(b,a,!0);if(d)throw new M.Ga(d);if(!b.Ia.rmdir)throw new M.Ga(63);if(M.ob(c))throw new M.Ga(10);b.Ia.rmdir(b,a);M.Wb(c)},readdir:a=>{a=M.Oa(a,{Xa:!0}).node;if(!a.Ia.readdir)throw new M.Ga(54);return a.Ia.readdir(a)},unlink:a=>{var b=M.Oa(a,{parent:!0}).node;if(!b)throw new M.Ga(44);a=L(a);var c=M.hb(b,a),d=M.Pb(b,a,!1);
if(d)throw new M.Ga(d);if(!b.Ia.unlink)throw new M.Ga(63);if(M.ob(c))throw new M.Ga(10);b.Ia.unlink(b,a);M.Wb(c)},readlink:a=>{a=M.Oa(a).node;if(!a)throw new M.Ga(44);if(!a.Ia.readlink)throw new M.Ga(28);return Va(M.kb(a.parent),a.Ia.readlink(a))},stat:(a,b)=>{a=M.Oa(a,{Xa:!b}).node;if(!a)throw new M.Ga(44);if(!a.Ia.bb)throw new M.Ga(63);return a.Ia.bb(a)},lstat:a=>M.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?M.Oa(a,{Xa:!c}).node:a;if(!a.Ia.Ta)throw new M.Ga(63);a.Ia.Ta(a,{mode:b&4095|a.mode&
-4096,timestamp:Date.now()})},lchmod:(a,b)=>{M.chmod(a,b,!0)},fchmod:(a,b)=>{a=M.lb(a);if(!a)throw new M.Ga(8);M.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?M.Oa(a,{Xa:!d}).node:a;if(!a.Ia.Ta)throw new M.Ga(63);a.Ia.Ta(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{M.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=M.lb(a);if(!a)throw new M.Ga(8);M.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new M.Ga(28);a="string"==typeof a?M.Oa(a,{Xa:!0}).node:a;if(!a.Ia.Ta)throw new M.Ga(63);if(M.Sa(a.mode))throw new M.Ga(31);
if(!M.isFile(a.mode))throw new M.Ga(28);var c=M.mb(a,"w");if(c)throw new M.Ga(c);a.Ia.Ta(a,{size:b,timestamp:Date.now()})},od:(a,b)=>{a=M.lb(a);if(!a)throw new M.Ga(8);if(0===(a.flags&2097155))throw new M.Ga(28);M.truncate(a.node,b)},Vd:(a,b,c)=>{a=M.Oa(a,{Xa:!0}).node;a.Ia.Ta(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new M.Ga(44);b="string"==typeof b?M.Ad(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=J(a);try{d=M.Oa(a,{Xa:!(b&131072)}).node}catch(g){}}var f=
!1;if(b&64)if(d){if(b&128)throw new M.Ga(20);}else d=M.ib(a,c,0),f=!0;if(!d)throw new M.Ga(44);M.Lb(d.mode)&&(b&=-513);if(b&65536&&!M.Sa(d.mode))throw new M.Ga(54);if(!f&&(c=M.zd(d,b)))throw new M.Ga(c);b&512&&!f&&M.truncate(d,0);b&=-131713;d=M.zc({node:d,path:M.kb(d),flags:b,seekable:!0,position:0,Ka:d.Ka,Ud:[],error:!1});d.Ka.open&&d.Ka.open(d);!e.logReadFiles||b&1||(M.mc||(M.mc={}),a in M.mc||(M.mc[a]=1));return d},close:a=>{if(M.Db(a))throw new M.Ga(8);a.ac&&(a.ac=null);try{a.Ka.close&&a.Ka.close(a)}catch(b){throw b;
}finally{M.ad(a.fd)}a.fd=null},Db:a=>null===a.fd,cb:(a,b,c)=>{if(M.Db(a))throw new M.Ga(8);if(!a.seekable||!a.Ka.cb)throw new M.Ga(70);if(0!=c&&1!=c&&2!=c)throw new M.Ga(28);a.position=a.Ka.cb(a,b,c);a.Ud=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new M.Ga(28);if(M.Db(a))throw new M.Ga(8);if(1===(a.flags&2097155))throw new M.Ga(8);if(M.Sa(a.node.mode))throw new M.Ga(31);if(!a.Ka.read)throw new M.Ga(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new M.Ga(70);
b=a.Ka.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0>f)throw new M.Ga(28);if(M.Db(a))throw new M.Ga(8);if(0===(a.flags&2097155))throw new M.Ga(8);if(M.Sa(a.node.mode))throw new M.Ga(31);if(!a.Ka.write)throw new M.Ga(28);a.seekable&&a.flags&1024&&M.cb(a,0,2);var k="undefined"!=typeof f;if(!k)f=a.position;else if(!a.seekable)throw new M.Ga(70);b=a.Ka.write(a,b,c,d,f,g);k||(a.position+=b);return b},Cb:(a,b,c)=>{if(M.Db(a))throw new M.Ga(8);if(0>b||0>=c)throw new M.Ga(28);
if(0===(a.flags&2097155))throw new M.Ga(8);if(!M.isFile(a.node.mode)&&!M.Sa(a.node.mode))throw new M.Ga(43);if(!a.Ka.Cb)throw new M.Ga(138);a.Ka.Cb(a,b,c)},qb:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new M.Ga(2);if(1===(a.flags&2097155))throw new M.Ga(2);if(!a.Ka.qb)throw new M.Ga(43);return a.Ka.qb(a,b,c,d,f)},zb:(a,b,c,d,f)=>a&&a.Ka.zb?a.Ka.zb(a,b,c,d,f):0,be:()=>0,dc:(a,b,c)=>{if(!a.Ka.dc)throw new M.Ga(59);return a.Ka.dc(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;
b,0,b.byteLength,void 0,c.Zc);else throw Error("Unsupported data type");M.close(a)},cwd:()=>M.Ac,chdir:a=>{a=M.Oa(a,{Xa:!0});if(null===a.node)throw new M.Ga(44);if(!M.Sa(a.node.mode))throw new M.Ga(54);var b=M.mb(a.node,"x");if(b)throw new M.Ga(b);M.Ac=a.path},dd:()=>{M.mkdir("/tmp");M.mkdir("/home");M.mkdir("/home/web_user")},cd:()=>{M.mkdir("/dev");M.pc(M.pb(1,3),{read:()=>0,write:(b,c,d,f)=>f});M.Qb("/dev/null",M.pb(1,3));Za(M.pb(5,0),ab);Za(M.pb(6,0),bb);M.Qb("/dev/tty",M.pb(5,0));M.Qb("/dev/tty1",
M.pb(6,0));var a=Ua();M.$a("/dev","random",a);M.$a("/dev","urandom",a);M.mkdir("/dev/shm");M.mkdir("/dev/shm/tmp")},gd:()=>{M.mkdir("/proc");var a=M.mkdir("/proc/self");M.mkdir("/proc/self/fd");M.Qa({Qa:()=>{var b=M.createNode(a,"fd",16895,73);b.Ia={lookup:(c,d)=>{var f=M.lb(+d);if(!f)throw new M.Ga(8);c={parent:null,Qa:{Mc:"fake"},Ia:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},hd:()=>{e.stdin?M.$a("/dev","stdin",e.stdin):M.symlink("/dev/tty","/dev/stdin");e.stdout?
M.$a("/dev","stdout",null,e.stdout):M.symlink("/dev/tty","/dev/stdout");e.stderr?M.$a("/dev","stderr",null,e.stderr):M.symlink("/dev/tty1","/dev/stderr");M.open("/dev/stdin",0);M.open("/dev/stdout",1);M.open("/dev/stderr",1)},Dc:()=>{M.Ga||(M.Ga=function(a,b){this.node=b;this.Kd=function(c){this.Ma=c};this.Kd(a);this.message="FS error"},M.Ga.prototype=Error(),M.Ga.prototype.constructor=M.Ga,[44].forEach(a=>{M.Zb[a]=new M.Ga(a);M.Zb[a].stack="<generic error, no stack>"}))},Pd:()=>{M.Dc();M.eb=Array(4096);
J(a+"/"+b):a);a=M.$b(d,f);k=M.create(k,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d<f;++d)b[d]=c.charCodeAt(d);c=b}M.chmod(k,a|146);b=M.open(k,577);M.write(b,c,0,c.length,0,g);M.close(b);M.chmod(k,a)}return k},$a:(a,b,c,d)=>{a=Ta("string"==typeof a?a:M.kb(a),b);b=M.$b(!!c,!!d);M.$a.ic||(M.$a.ic=64);var f=M.pb(M.$a.ic++,0);M.pc(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,k,h,n)=>{for(var q=0,p=0;p<n;p++){try{var r=c()}catch(v){throw new M.Ga(29);
}if(void 0===r&&0===q)throw new M.Ga(6);if(null===r||void 0===r)break;q++;k[h+p]=r}q&&(g.node.timestamp=Date.now());return q},write:(g,k,h,n)=>{for(var q=0;q<n;q++)try{d(k[h+q])}catch(p){throw new M.Ga(29);}n&&(g.node.timestamp=Date.now());return q}});return M.Qb(a,b,f)},Yb:a=>{if(a.ec||a.wd||a.link||a.Ja)return!0;if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
if(ia)try{a.Ja=Xa(ia(a.url),!0),a.Pa=a.Ja.length}catch(b){throw new M.Ga(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");},wc:(a,b,c,d,f)=>{function g(){this.hc=!1;this.Wa=[]}function k(p,r,v,l,t){p=p.node.Ja;if(t>=p.length)return 0;l=Math.min(p.length-t,l);if(p.slice)for(var w=0;w<l;w++)r[v+w]=p[t+w];else for(w=0;w<l;w++)r[v+w]=p.get(t+w);return l}g.prototype.get=function(p){if(!(p>this.length-1||0>p)){var r=p%this.chunkSize;return this.Kb(p/this.chunkSize|0)[r]}};g.prototype.Ub=
w.Wa;if(K>H)throw Error("invalid range ("+K+", "+H+") or no bytes requested!");if(H>r-1)throw Error("only "+r+" bytes available! programmer error!");var I=new XMLHttpRequest;I.open("GET",c,!1);r!==t&&I.setRequestHeader("Range","bytes="+K+"-"+H);I.responseType="arraybuffer";I.overrideMimeType&&I.overrideMimeType("text/plain; charset=x-user-defined");I.send(null);if(!(200<=I.status&&300>I.status||304===I.status))throw Error("Couldn't load "+c+". Status: "+I.status);K=void 0!==I.response?new Uint8Array(I.response||
[]):Xa(I.responseText||"",!0);Ga[B]=K}if("undefined"==typeof w.Wa[B])throw Error("doXHR failed!");return w.Wa[B]});if(p||!r)t=r=1,t=r=this.Kb(0).length,na("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wc=r;this.Vc=t;this.hc=!0};if("undefined"!=typeof XMLHttpRequest){if(!fa)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var h=new g;Object.defineProperties(h,{length:{get:function(){this.hc||
"readonly")}catch(r){c(r);return}var h=k.objectStore(M.Bb),n=0,q=0,p=a.length;a.forEach(r=>{var v=h.get(r);v.onsuccess=()=>{M.Vb(r).exists&&M.unlink(r);M.Jb(Sa(r),L(r),v.result,!0,!0,!0);n++;n+q==p&&(0==q?b():c())};v.onerror=()=>{q++;n+q==p&&(0==q?b():c())}});k.onerror=c};f.onerror=c}};function O(a,b,c){if("/"===b.charAt(0))return b;if(-100===a)a=M.cwd();else{a=M.lb(a);if(!a)throw new M.Ga(8);a=a.path}if(0==b.length){if(!c)throw new M.Ga(44);return a}return J(a+"/"+b)}
function gb(a,b,c){try{var d=a(b)}catch(f){if(f&&f.node&&J(b)!==J(M.kb(f.node)))return-54;throw f;}D[c>>2]=d.dev;D[c+4>>2]=0;D[c+8>>2]=d.ino;D[c+12>>2]=d.mode;D[c+16>>2]=d.nlink;D[c+20>>2]=d.uid;D[c+24>>2]=d.gid;D[c+28>>2]=d.rdev;D[c+32>>2]=0;G=[d.size>>>0,(F=d.size,1<=+Math.abs(F)?0<F?(Math.min(+Math.floor(F/4294967296),4294967295)|0)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];D[c+40>>2]=G[0];D[c+44>>2]=G[1];D[c+48>>2]=4096;D[c+52>>2]=d.blocks;G=[Math.floor(d.atime.getTime()/1E3)>>>0,(F=
function sb(a){var b=Error,c=rb(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var tb=void 0;function ub(a){throw new tb(a);}
function Q(a,b,c){function d(h){h=c(h);h.length!==a.length&&ub("Mismatched type converter count");for(var n=0;n<a.length;++n)R(a[n],h[n])}a.forEach(function(h){pb[h]=b});var f=Array(b.length),g=[],k=0;b.forEach((h,n)=>{ob.hasOwnProperty(h)?f[n]=ob[h]:(g.push(h),nb.hasOwnProperty(h)||(nb[h]=[]),nb[h].push(()=>{f[n]=ob[h];++k;k===g.length&&d(f)}))});0===g.length&&d(f)}
function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var wb=void 0;function S(a){for(var b="";z[a];)b+=wb[z[a++]];return b}var xb=void 0;function T(a){throw new xb(a);}
function R(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(ob.hasOwnProperty(a)){if(c.ud)return;T("Cannot register type '"+d+"' twice")}ob[a]=b;delete pb[a];nb.hasOwnProperty(a)&&(b=nb[a],delete nb[a],b.forEach(f=>f()))}function yb(a){T(a.Ha.Ra.Na.name+" instance already deleted")}var zb=!1;function Ab(){}
function Bb(a){--a.count.value;0===a.count.value&&(a.Va?a.Ya.jb(a.Va):a.Ra.Na.jb(a.La))}function Cb(a,b,c){if(b===c)return a;if(void 0===c.Za)return null;a=Cb(a,b,c.Za);return null===a?null:c.jd(a)}var Db={},Eb=[];function Fb(){for(;Eb.length;){var a=Eb.pop();a.Ha.vb=!1;a["delete"]()}}var Gb=void 0,Hb={};function Ib(a,b){for(void 0===b&&T("ptr should not be undefined");a.Za;)b=a.Hb(b),a=a.Za;return Hb[b]}
function Jb(a,b){b.Ra&&b.La||ub("makeClassHandle requires ptr and ptrType");!!b.Ya!==!!b.Va&&ub("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Kb(Object.create(a,{Ha:{value:b}}))}function Kb(a){if("undefined"===typeof FinalizationRegistry)return Kb=b=>b,a;zb=new FinalizationRegistry(b=>{Bb(b.Ha)});Kb=b=>{var c=b.Ha;c.Va&&zb.register(b,{Ha:c},b);return b};Ab=b=>{zb.unregister(b)};return Kb(a)}function U(){}
function Lb(a,b,c){if(void 0===a[b].Ua){var d=a[b];a[b]=function(){a[b].Ua.hasOwnProperty(arguments.length)||T("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Ua+")!");return a[b].Ua[arguments.length].apply(this,arguments)};a[b].Ua=[];a[b].Ua[d.ub]=d}}
function Mb(a,b){e.hasOwnProperty(a)?(T("Cannot register public name '"+a+"' twice"),Lb(e,a,a),e.hasOwnProperty(void 0)&&T("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),e[a].Ua[void 0]=b):e[a]=b}function Nb(a,b,c,d,f,g,k,h){this.name=a;this.constructor=b;this.xb=c;this.jb=d;this.Za=f;this.pd=g;this.Hb=k;this.jd=h;this.Hd=[]}
function Ob(a,b,c){for(;b!==c;)b.Hb||T("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.Hb(a),b=b.Za;return a}function Pb(a,b){if(null===b)return this.fc&&T("null is not a valid "+this.name),0;b.Ha||T('Cannot pass "'+Qb(b)+'" as a '+this.name);b.Ha.La||T("Cannot pass deleted object as a pointer of type "+this.name);return Ob(b.Ha.La,b.Ha.Ra.Na,this.Na)}
function Rb(a,b){if(null===b){this.fc&&T("null is not a valid "+this.name);if(this.Ob){var c=this.lc();null!==a&&a.push(this.jb,c);return c}return 0}b.Ha||T('Cannot pass "'+Qb(b)+'" as a '+this.name);b.Ha.La||T("Cannot pass deleted object as a pointer of type "+this.name);!this.Mb&&b.Ha.Ra.Mb&&T("Cannot convert argument of type "+(b.Ha.Ya?b.Ha.Ya.name:b.Ha.Ra.name)+" to parameter type "+this.name);c=Ob(b.Ha.La,b.Ha.Ra.Na,this.Na);if(this.Ob)switch(void 0===b.Ha.Va&&T("Passing raw pointer to smart pointer is illegal"),
this.Od){case 0:b.Ha.Ya===this?c=b.Ha.Va:T("Cannot convert argument of type "+(b.Ha.Ya?b.Ha.Ya.name:b.Ha.Ra.name)+" to parameter type "+this.name);break;case 1:c=b.Ha.Va;break;case 2:if(b.Ha.Ya===this)c=b.Ha.Va;else{var d=b.clone();c=this.Id(c,Sb(function(){d["delete"]()}));null!==a&&a.push(this.jb,c)}break;default:T("Unsupporting sharing policy")}return c}
function Tb(a,b){if(null===b)return this.fc&&T("null is not a valid "+this.name),0;b.Ha||T('Cannot pass "'+Qb(b)+'" as a '+this.name);b.Ha.La||T("Cannot pass deleted object as a pointer of type "+this.name);b.Ha.Ra.Mb&&T("Cannot convert argument of type "+b.Ha.Ra.name+" to parameter type "+this.name);return Ob(b.Ha.La,b.Ha.Ra.Na,this.Na)}
function V(a,b,c,d){this.name=a;this.Na=b;this.fc=c;this.Mb=d;this.Ob=!1;this.jb=this.Id=this.lc=this.Nc=this.Od=this.Gd=void 0;void 0!==b.Za?this.toWireType=Rb:(this.toWireType=d?Pb:Tb,this.ab=null)}function Ub(a,b){e.hasOwnProperty(a)||ub("Replacing nonexistant public symbol");e[a]=b;e[a].ub=void 0}
function Vb(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=e["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=Aa.get(b).apply(null,c);return d}}function W(a,b){a=S(a);var c=a.includes("j")?Vb(a,b):Aa.get(b);"function"!=typeof c&&T("unknown function pointer with signature "+a+": "+b);return c}var Wb=void 0;function Xb(a){a=Yb(a);var b=S(a);X(a);return b}
function Zb(a,b){function c(g){f[g]||ob[g]||(pb[g]?pb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Wb(a+": "+d.map(Xb).join([", "]));}function $b(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=rb(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function ac(a,b,c,d,f){var g=b.length;2>g&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");var k=null!==b[1]&&null!==c,h=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].ab){h=!0;break}var n="void"!==b[0].name,q="",p="";for(c=0;c<g-2;++c)q+=(0!==c?", ":"")+"arg"+c,p+=(0!==c?", ":"")+"arg"+c+"Wired";a="return function "+qb(a)+"("+q+") {\nif (arguments.length !== "+(g-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+
"%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var p in q)c=c.replace(new RegExp(p,"g"),q[p]);var r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),v="January February March April May June July August September October November December".split(" ");q={"%a":function(l){return r[l.gb].substring(0,3)},"%A":function(l){return r[l.gb]},"%b":function(l){return v[l.Tb].substring(0,3)},"%B":function(l){return v[l.Tb]},
K));lb(H)}}});return[{name:b.name,fromWireType:function(n){var q={},p;for(p in h)q[p]=h[p].read(n);d(n);return q},toWireType:function(n,q){for(var p in h)if(!(p in q))throw new TypeError('Missing field: "'+p+'"');var r=c();for(p in h)h[p].write(r,q[p]);null!==n&&n.push(d,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:d}]})},E:function(){},da:function(a,b,c,d,f){var g=vb(c);b=S(b);R(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1===
c)var h=A;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},ab:null})},s:function(a,b,c,d,f,g,k,h,n,q,p,r,v){p=S(p);g=W(f,g);h&&(h=W(k,h));q&&(q=W(n,q));v=W(r,v);var l=qb(p);Mb(l,function(){Zb("Cannot construct "+p+" due to unbound types",[d])});Q([a,b,c],d?[d]:[],function(t){t=t[0];if(d){var w=t.Na;var B=w.xb}else B=U.prototype;t=rb(l,function(){if(Object.getPrototypeOf(this)!==K)throw new xb("Use 'new' to construct "+
p);if(void 0===H.nb)throw new xb(p+" has no accessible constructor");var I=H.nb[arguments.length];if(void 0===I)throw new xb("Tried to invoke ctor of "+p+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(H.nb).toString()+") parameters instead!");return I.apply(this,arguments)});var K=Object.create(B,{constructor:{value:t}});t.prototype=K;var H=new Nb(p,t,K,v,w,g,h,q);w=new V(p,H,!0,!1);B=new V(p+"*",H,!1,!1);var Ga=new V(p+" const*",H,!1,!0);Db[a]={pointerType:B,
bd:Ga};Ub(l,t);return[w,B,Ga]})},fa:function(a,b,c,d,f,g,k){var h=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(n){function q(){Zb("Cannot call "+p+" due to unbound types",h)}n=n[0];var p=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var r=n.Na.constructor;void 0===r[b]?(q.ub=c-1,r[b]=q):(Lb(r,b,p),r[b].Ua[c-1]=q);Q([],h,function(v){v=[v[0],null].concat(v.slice(1));v=ac(p,v,null,g,k);void 0===r[b].Ua?(v.ub=c-1,r[b]=v):r[b].Ua[c-1]=v;return[]});return[]})},o:function(a,b,c,d,f,g){0<b||x();
var k=bc(b,c);f=W(d,f);Q([],[a],function(h){h=h[0];var n="constructor "+h.name;void 0===h.Na.nb&&(h.Na.nb=[]);if(void 0!==h.Na.nb[b-1])throw new xb("Cannot register multiple constructors with identical number of parameters ("+(b-1)+") for class '"+h.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");h.Na.nb[b-1]=()=>{Zb("Cannot construct "+h.name+" due to unbound types",k)};Q([],k,function(q){q.splice(1,0,null);h.Na.nb[b-1]=ac(n,q,null,f,g);
-return[]});return[]})},e:function(a,b,c,d,f,g,k,h){var n=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(q){function p(){Zb("Cannot call "+r+" due to unbound types",n)}q=q[0];var r=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&q.Na.Hd.push(b);var v=q.Na.xb,l=v[b];void 0===l||void 0===l.Ua&&l.className!==q.name&&l.ub===c-2?(p.ub=c-2,p.className=q.name,v[b]=p):(Lb(v,b,r),v[b].Ua[c-2]=p);Q([],n,function(t){t=ac(r,t,q,g,k);void 0===v[b].Ua?(t.ub=c-2,v[b]=t):v[b].Ua[c-2]=t;return[]});return[]})},
+return[]});return[]})},d:function(a,b,c,d,f,g,k,h){var n=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(q){function p(){Zb("Cannot call "+r+" due to unbound types",n)}q=q[0];var r=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&q.Na.Hd.push(b);var v=q.Na.xb,l=v[b];void 0===l||void 0===l.Ua&&l.className!==q.name&&l.ub===c-2?(p.ub=c-2,p.className=q.name,v[b]=p):(Lb(v,b,r),v[b].Ua[c-2]=p);Q([],n,function(t){t=ac(r,t,q,g,k);void 0===v[b].Ua?(t.ub=c-2,v[b]=t):v[b].Ua[c-2]=t;return[]});return[]})},
-g)ta(f,z,n,k+1);else if(g)for(g=0;g<k;++g){var q=f.charCodeAt(g);255<q&&(X(n),T("String has UTF-16 code units that do not fit in 8 bits"));z[n+g]=q}else for(g=0;g<k;++g)z[n+g]=f[g];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:mb,ab:function(d){X(d)}})},l:function(a,b,c){c=S(c);if(2===b){var d=ic;var f=jc;var g=kc;var k=()=>wa;var h=1}else 4===b&&(d=lc,f=mc,g=nc,k=()=>E,h=2);R(a,{name:c,fromWireType:function(n){for(var q=E[n>>2],p=k(),r,v=n+4,l=0;l<=q;++l){var t=n+4+l*b;if(l==
-q||0==p[t>>h])v=d(v,t-v),void 0===r?r=v:(r+=String.fromCharCode(0),r+=v),v=t+b}X(n);return r},toWireType:function(n,q){"string"!=typeof q&&T("Cannot pass non-string to C++ string type "+c);var p=g(q),r=wc(4+p+b);E[r>>2]=p>>h;f(q,r+4,p+b);null!==n&&n.push(X,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:function(n){X(n)}})},m:function(a,b,c,d,f,g){kb[a]={name:S(b),lc:W(c,d),jb:W(f,g),Fc:[]}},j:function(a,b,c,d,f,g,k,h,n,q){kb[a].Fc.push({ld:S(b),td:c,Kb:W(d,f),sd:g,Md:k,Ld:W(h,n),Nd:q})},
+g)ta(f,z,n,k+1);else if(g)for(g=0;g<k;++g){var q=f.charCodeAt(g);255<q&&(X(n),T("String has UTF-16 code units that do not fit in 8 bits"));z[n+g]=q}else for(g=0;g<k;++g)z[n+g]=f[g];null!==d&&d.push(X,h);return h},argPackAdvance:8,readValueFromPointer:mb,ab:function(d){X(d)}})},m:function(a,b,c){c=S(c);if(2===b){var d=ic;var f=jc;var g=kc;var k=()=>wa;var h=1}else 4===b&&(d=lc,f=mc,g=nc,k=()=>E,h=2);R(a,{name:c,fromWireType:function(n){for(var q=E[n>>2],p=k(),r,v=n+4,l=0;l<=q;++l){var t=n+4+l*b;if(l==
+q||0==p[t>>h])v=d(v,t-v),void 0===r?r=v:(r+=String.fromCharCode(0),r+=v),v=t+b}X(n);return r},toWireType:function(n,q){"string"!=typeof q&&T("Cannot pass non-string to C++ string type "+c);var p=g(q),r=wc(4+p+b);E[r>>2]=p>>h;f(q,r+4,p+b);null!==n&&n.push(X,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:function(n){X(n)}})},j:function(a,b,c,d,f,g){kb[a]={name:S(b),lc:W(c,d),jb:W(f,g),Fc:[]}},g:function(a,b,c,d,f,g,k,h,n,q){kb[a].Fc.push({ld:S(b),td:c,Kb:W(d,f),sd:g,Md:k,Ld:W(h,n),Nd:q})},