b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);returnnewUint8Array(b.response)}catch(d){if(a=D(a))returna;throwd;}});varma=c.print||console.log.bind(console),F=c.printErr||console.warn.bind(console);for(nink)k.hasOwnProperty(n)&&(c[n]=k[n]);k=null;c.arguments&&(ba=c.arguments);c.thisProgram&&(ca=c.thisProgram);c.quit&&(da=c.quit);varna;c.wasmBinary&&(na=c.wasmBinary);varnoExitRuntime;c.noExitRuntime&&(noExitRuntime=c.noExitRuntime);"object"!==typeofWebAssembly&&F("no native wasm support detected");
functionLa(){O--;c.monitorRunDependencies&&c.monitorRunDependencies(O);if(0==O&&(null!==Ia&&(clearInterval(Ia),Ia=null),Ja)){vara=Ja;Ja=null;a()}}c.preloadedImages={};c.preloadedAudios={};functionE(a){if(c.onAbort)c.onAbort(a);ma(a);F(a);pa=!0;thrownewWebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}functionMa(a,b){returnString.prototype.startsWith?a.startsWith(b):0===a.indexOf(b)}varNa="data:application/octet-stream;base64,",P="data:application/octet-stream;base64,AGFzbQEAAAAB5gRSYAF/AX9gAn9/AX9gA39/fgF+YAF/AGACf38AYAN/f38AYAN/f38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38Bf2AGf39/f39/AX9gBX9/f39/AGAAAGAGf39/f39/AGAEf39/fQBgBH9/f3wAYAh/f39/f39/fwF/YAF/AX5gB39/f39/f38AYAABf2AHf39/f39/fwF/YAN/fn8BfmAFf35+fn4AYAR/f39/AX5gAXwBfGAIf39/f39/f38AYAJ/fgBgBX9/f39+AX9gCX9/f39/f39/fwBgCn9/f39/f39/f38AYAV/f39/fQBgBX9/f398AGACf34Bf2ABfwF8YAR/fn5/AGAFf39/f3wBf2ACf38BfmAPf39/f39/f39/f39/f39/AGAEf39/fgBgA39/fgBgAn1/AGACfH8AYAp/f39/f39/f39/AX9gC39/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAZ/fH9/f38Bf2ACfn8Bf2ACfn4Bf2AEf39/fgF+YAR/fn5/AX5gAX8BfWACf38BfGACfH8BfGAFf39/fHwAYAZ/f398fH8AYAR/f35/AGAFf39+f38AYAN/f3wAYAN/fn8AYAN/fn4AYAJ/fQBgAn98AGAEf35/fwF/YAJ/fAF/YAN+f38Bf2AEfn5+fgF/YAF9AX9gAXwBf2ACfH8Bf2ADf39/AX5gAX4BfmADfn9/AX5gAXwBfmACf38BfWADf39/AX1gAn5+AX1gA39/fwF8YAJ+fgF8YAJ8fAF8YAN8fH8BfALYASEBYQFhAAcBYQFiAAwBYQFjAAABYQFkAAUBYQFlAAABYQFmAAABYQFnAAABYQFoAAgBYQFpAAYBYQFqAAYBYQFrAAEBYQFsAAEBYQFtAAEBYQFuAAkBYQFvAAYBYQFwAAABYQFxAAkBYQFyAAEBYQFzAAEBYQF0AAEBYQF1AAEBYQF2AAEBYQF3AAYBYQF4AAgBYQF5AAEBYQF6AAABYQFBAAABYQFCAAgBYQFDAAYBYQFEAAcBYQFFAAEBYQZtZW1vcnkCAYACgIACAWEFdGFibGUBcADQBgPxDu8OBQYFAwAGABUAMwYzAxEEAAEFAAEEAAEIRQUAAwYEBAAADBMBRBYBAQQAAwQDBgAAAAEFCAMADAEAAAMRBAEBAAEEBQQECQcEBAEBIgQEAAAAAAshAAQBFhIgBQADBgQGAAAEAQABAAQSBAwEAAAEBAEGAQYaAAAAAAMBAD0GAQYACAYKADYEBAQECQkIBQEABT8BCgEBARAQCgEHAwQFAwADAQQAFSY7AAQEBAAHAAcBARgBARkGAAAAAQEHACYABQAAAAQBAwQAARhDAAEEAAADAQABBBgGBAUBASoAKgAAAAQBASIEAAgwNhIABgAEBQMGCBMABAAAAAABAwADBQEFBAEAAAAAUVAAAQEHBQAICAQEFxcBCAgBCAgICAQICAABAQEGAwgIAAgICAQ5BRMaBAQEBAQRCwAEBAADAAYEAAEAAAQSBhIBFAQBFBAEBAQAAQAAAQRPBgEIAwAAHAgBBQYBAQMBAQYBAQEBAwEBAQEBAQABBgIEAQEBAQADAAAAAAEBAREENQBIBQAGDQUHBQYAAAQLBQAAAAgGAAkDBAMDBiwACwYsCwAEBxcAAAQEBgQDAwADBQAAAAAWATIAFAgAAAEBAA0KHBISCgQFBQUEBQUHAQEBAQQBAwQEAAICAQMBBgMBAwEDAQMEBgcBAQABAAEBBAQEACcBAAUBBAYAAAABAQYGAEoAEQEEAgMAAwAGABMAEwIEBgU8BCkpISEFDw8PDyg0BQ4OBQUODgAgAANAAAMAFhgEBwMAAwEDBQMLGQUFGQQMBAQEAwYBAAMEBQMEAwETAwEGAAAAAAkQAAEDAAAEAwMABAUGACUdJR0AAQAABCsEAQAABQQrBAQBAQQNCw0NCw0NEgYSCgADBgMHTkwXCAoIFwgBBQUXAAgAAwEAAQEAAAEDAxABAwEDAwAABQUAAAEBBEEBAwAAAAEEAAABAwAABAAHBgM6BgADGEZNFhUFIQEGJzIkByIWBAYHAAQJAQADAwcFAQYABQkKAxMDBAwHBwUHAAsFBAcFAQADAwQEBAULAQ0HBxIBAAcBARkDBwQZAxMFBQUBBwAFAQQEBAcEBAACAgICAgICAgACAwAIAAYAAwAAAB8eBwcfHgMHBx8eBwcfHgcHAgICAgICAgICAgMCAgICAAIAAAADAAABAQgAAQYDAAYBAAAFAwYABgAHAAACAgICAgICAwICAAAAAAAAAAAAAAACAgMCAgICAgIBAQEBAAEBAAIBAQADAQEAAAAAAAAAAgICAgICAgIAAwMDAAADAgACAgICAgICAgAAAAAAAAAAAAABAAAEAAAAAAAAAAAEAAAAAgICAkcCAgICAgAADQMBGiAIAAAAJAUNAgICAiQCAgICAAYBAQABAAAAAAAAAAAAAwQDAQEBAwMIBgEAAAACAgICAgIAAgICAQEBAQQKAgACAgICAQECAgICAQEAAgUAAgICAgICAgICDw4FEQUPDgUFAgICAgIAAgICDw4FBQ8OBQUCAgICAgICBAIHBwcHBQQHBwcHBQUHBwcHBAUHBwcHBQcHBwcDBQUHBwcHBQUHBwAHBwUFBwcHBwUFCw8OBQ8OBQUPDgUEDw4FDw4FBQ8OBQQPDgUFDw4FBQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgICAgICAgICAgYCAgICAgICAgICAAICAgICAgICAgIAAgICAAICAAAAAAADAQEBBAEAAQEAAQEGBgUGBAYHBwAHBwICAgIBAQMAAAAAAAAHBwAHBxEEAAMEAAUBAwIGARERABoaBAUEBAQEEwUEBQAFDw8CAgICAgICAgIDAgICAgICAgAAKDQODgICAgICAgICAgICAgICAgIAAwADAAMEAAEAMRgBDQ0NCwsLBwcHBgADAwAMAwMAAAEBBQUFBQMHBAQEDAUIBgYHBAYGBQcFAwQHBgMEBAgABwEBBgMAAwADAAMAAwADAAMAAzcAAwwAAwwAAwwACwMMAAMMAAMMAAMEBAQEBAQAAAcDAwYJChAKEAYJChAKEAAICQcFAAAJChAJEAADAQkJBggABgEGAQMJBggBBgEGAQgICAYDAwQEAxMDAwUDARMMBAwMDAcABw0NCgAtCi0EAQQGBQMUBR0UBgUFAxQDHRQDCQ0UFAQHCwsLDQcLCwsLAAsLEAoKCgMKCgcLCwsNBwALCwsLCwsQCgQKCgoKBAQDCS4jGwkbBwQJCQkuIxsJGwAFCQkBAwoJCgkKCQoJCgkJCgkKCQoKCgkKCQoFCQoJCgkJCwoJChEACQoKBgQHCQYHCQcFNUsJCAYDBhMGAQAGBAEGBAEABwAEAQEAAAQDAQwDAwwDDAAEAwEDASAAAQABBgELBgAGAwYAAQYDAwAGAAg4PgcxAAYMAwYBAQEBBgUFBgUGAQYSDQYELzBCFQMAAwcEAQAGBhUAA
if(!Ma(P,Na)){varOa=P;P=c.locateFile?c.locateFile(Oa,z):z+Oa}functionPa(){try{if(na)returnnewUint8Array(na);vara=D(P);if(a)returna;if(ha)returnha(P);throw"both async and sync fetching of the wasm failed";}catch(b){E(b)}}
functionQa(){returnna||!ea&&!u||"function"!==typeoffetch||Ma(P,"file://")?newPromise(function(a){a(Pa())}):fetch(P,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+P+"'";returna.arrayBuffer()}).catch(function(){returnPa()})}varQ,R;Aa.push({Tb:function(){Ra()}});functionSa(a){returna.replace(/\b_Z[\w\d_]+/g,function(b){returnb===b?b:b+" ["+b+"]"})}functionTa(){return0<Ta.$}functionUa(a){returnN[Va()>>2]=a}
functionV(){for(vara="",b=!1,d=arguments.length-1;-1<=d&&!b;d--){b=0<=d?arguments[d]:W.cwd();if("string"!==typeofb)thrownewTypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Wa(a.split("/").filter(function(e){return!!e}),!b).join("/");return(b?"/":"")+a||"."}
(a&61440)},isSocket:function(a){return49152===(a&49152)},Rb:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},Zb:function(a){varb=W.Rb[a];if("undefined"===typeofb)throwError("Unknown file open mode: "+a);returnb},mb:function(a){varb=["r","w","rw"][a&3];a&512&&(b+="w");returnb},ka:function(a,b){if(W.tb)return0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&
255},ma:function(a,b){returna<<8|b},bb:function(a,b){W.jb[a]={R:b}},Ub:function(a){returnW.jb[a]},ob:function(a){varb=[];for(a=[a];a.length;){vard=a.pop();b.push(d);a.push.apply(a,d.Aa)}returnb},wb:function(a,b){functiond(l){W.Ha--;returnb(l)}functione(l){if(l){if(!e.$)returne.$=!0,d(l)}else++g>=f.length&&d(null)}"function"===typeofa&&(b=a,a=!1);W.Ha++;1<W.Ha&&F("warning: "+W.Ha+" FS.syncfs operations in flight at once, probably just doing extra work");varf=W.ob(W.root.V),g=0;f.forEach(function(l){if(!l.type.wb)returne(null);
a+"', '"+b+"') threw an exception: "+q.message)}W.sb(l);try{p.P.rename(l,t,g)}catch(q){throwq;}finally{W.rb(l)}try{if(W.X.onMovePath)W.X.onMovePath(a,b)}catch(q){F("FS.trackingDelegate['onMovePath']('"+a+"', '"+b+"') threw an exception: "+q.message)}}},rmdir:function(a){varb=W.S(a,{parent:!0}).node,d=T(a),e=W.ha(b,d),f=W.Fa(b,d,!0);if(f)thrownewW.N(f);if(!b.P.rmdir)thrownewW.N(63);if(W.la(e))thrownewW.N(10);try{W.X.willDeletePath&&W.X.willDeletePath(a)}catch(g){F("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+g.message)}b.P.rmdir(b,d);W.Oa(e);try{if(W.X.onDeletePath)W.X.onDeletePath(a)}catch(g){F("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}},readdir:function(a){a=W.S(a,{aa:!0}).node;if(!a.P.readdir)thrownewW.N(54);returna.P.readdir(a)},unlink:function(a){varb=W.S(a,{parent:!0}).node,d=T(a),e=W.ha(b,d),f=W.Fa(b,d,!1);if(f)thrownewW.N(f);if(!b.P.unlink)thrownewW.N(63);if(W.la(e))thrownewW.N(10);try{W.X.willDeletePath&&W.X.willDeletePath(a)}catch(g){F("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+g.message)}b.P.unlink(b,d);W.Oa(e);try{if(W.X.onDeletePath)W.X.onDeletePath(a)}catch(g){F("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}},readlink:function(a){a=W.S(a).node;if(!a)thrownewW.N(44);if(!a.P.readlink)thrownewW.N(28);returnV(W.ba(a.parent),a.P.readlink(a))},stat:function(a,b){a=W.S(a,{aa:!b}).node;if(!a)thrownewW.N(44);if(!a.P.da)thrownewW.N(63);returna.P.da(a)},lstat:function(a){returnW.stat(a,!0)},chmod:function(a,
a.path+"') threw an exception: "+p.message)}returnb},ua:function(a,b,d){if(W.wa(a))thrownewW.N(8);if(0>b||0>=d)thrownewW.N(28);if(0===(a.flags&2097155))thrownewW.N(8);if(!W.isFile(a.node.mode)&&!W.W(a.node.mode))thrownewW.N(43);if(!a.R.ua)thrownewW.N(138);a.R.ua(a,b,d)},ya:function(a,b,d,e,f,g){if(0!==(f&2)&&0===(g&2)&&2!==(a.flags&2097155))thrownewW.N(2);if(1===(a.flags&2097155))thrownewW.N(2);if(!a.R.ya)thrownewW.N(43);returna.R.ya(a,b,d,e,f,g)},qa:function(a,b,d,e,f){returna&&
a.R.qa?a.R.qa(a,b,d,e,f):0},Ec:function(){return0},Ua:function(a,b,d){if(!a.R.Ua)thrownewW.N(59);returna.R.Ua(a,b,d)},readFile:function(a,b){b=b||{};b.flags=b.flags||"r";b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throwError('Invalid encoding type "'+b.encoding+'"');vard,e=W.open(a,b.flags);a=W.stat(a).size;varf=newUint8Array(a);W.read(e,f,0,a,0);"utf8"===b.encoding?d=H(f,0):"binary"===b.encoding&&(d=f);W.close(e);returnd},writeFile:function(a,b,d){d=d||
{};d.flags=d.flags||"w";a=W.open(a,d.flags,d.mode);if("string"===typeofb){vare=newUint8Array(sa(b)+1);b=ra(b,e,0,e.length);W.write(a,e,0,b,void0,d.Hb)}elseif(ArrayBuffer.isView(b))W.write(a,b,0,b.byteLength,void0,d.Hb);elsethrowError("Unsupported data type");W.close(a)},cwd:function(){returnW.ib},chdir:function(a){a=W.S(a,{aa:!0});if(null===a.node)thrownewW.N(44);if(!W.W(a.node.mode))thrownewW.N(54);varb=W.ka(a.node,"x");if(b)thrownewW.N(b);W.ib=a.path},Lb:function(){W.mkdir("/tmp");
"<generic error, no stack>"}))},hc:function(){W.kb();W.fa=Array(4096);W.V(X,{},"/");W.Lb();W.Kb();W.Nb();W.Qb={MEMFS:X}},va:function(a,b,d){W.va.Ta=!0;W.kb();c.stdin=a||c.stdin;c.stdout=b||c.stdout;c.stderr=d||c.stderr;W.Ob()},quit:function(){W.va.Ta=!1;vara=c._fflush;a&&a(0);for(a=0;a<W.streams.length;a++){varb=W.streams[a];b&&W.close(b)}},Ca:function(a,b){vard=0;a&&(d|=365);b&&(d|=146);returnd},yc:function(a,b){a=Ya.apply(null,a);b&&"/"==a[0]&&(a=a.substr(1));returna},nc:function(a,b){returnV(b,
returnm},write:function(g,l,p,t){for(varm=0;m<t;m++)try{e(l[p+m])}catch(q){thrownewW.N(29);}t&&(g.node.timestamp=Date.now());returnm}});returnW.Ga(a,b,f)},rc:function(a,b,d){a=U("string"===typeofa?a:W.ba(a),b);returnW.symlink(d,a)},nb:function(a){if(a.Va||a.Wb||a.link||a.O)return!0;varb=!0;if("undefined"!==typeofXMLHttpRequest)throwError("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(A)try{a.O=cb(A(a.url),!0),a.T=a.O.length}catch(d){b=!1}elsethrowError("Cannot load without read() or XMLHttpRequest.");b||Ua(29);returnb},qc:function(a,b,d,e,f){functiong(){this.Wa=!1;this.$=[]}g.prototype.get=function(m){if(!(m>this.length-1||0>m)){varq=m%this.chunkSize;returnthis.qb(m/this.chunkSize|0)[q]}};g.prototype.Ab=function(m){this.qb=m};g.prototype.fb=function(){varm=newXMLHttpRequest;m.open("HEAD",d,!1);m.send(null);if(!(200<=m.status&&300>m.status||304===m.status))throwError("Couldn't load "+
d+". Status: "+m.status);varq=Number(m.getResponseHeader("Content-length")),w,y=(w=m.getResponseHeader("Accept-Ranges"))&&"bytes"===w;m=(w=m.getResponseHeader("Content-Encoding"))&&"gzip"===w;varh=1048576;y||(h=q);varr=this;r.Ab(function(v){varB=v*h,I=(v+1)*h-1;I=Math.min(I,q-1);if("undefined"===typeofr.$[v]){varyb=r.$;if(B>I)throwError("invalid range ("+B+", "+I+") or no bytes requested!");if(I>q-1)throwError("only "+q+" bytes available! programmer error!");varC=newXMLHttpRequest;C.open("GET",
ma("LazyFiles on gzip forces download of the whole file when length is accessed");this.Eb=q;this.Db=h;this.Wa=!0};if("undefined"!==typeofXMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";varl=newg;Object.defineProperties(l,{length:{get:function(){this.Wa||this.fb();returnthis.Eb}},chunkSize:{get:function(){this.Wa||this.fb();returnthis.Db}}});l={Va:!1,O:l}}elsel={Va:!1,url:d};varp=W.Mb(a,b,l,e,f);
y="January February March April May June July August September October November December".split(" ");m={"%a":function(h){returnw[h.Ja].substring(0,3)},"%A":function(h){returnw[h.Ja]},"%b":function(h){returny[h.sa].substring(0,3)},"%B":function(h){returny[h.sa]},"%C":function(h){returng((h.Z+1900)/100|0,2)},"%d":function(h){returng(h.Ba,2)},"%e":function(h){returnf(h.Ba,2," ")},"%g":function(h){returnt(h).toString().substring(2)},"%G":function(h){returnt(h)},"%H":function(h){returng(h.Ia,
W.yb=ub;W.hc();vargb,vb=!1;functioncb(a,b){vard=Array(sa(a)+1);a=ra(a,d,0,d.length);b&&(d.length=a);returnd}functionla(a){for(varb=[],d=0;d<a.length;d++){vare=a[d];255<e&&(vb&&assert(!1,"Character code "+e+" ("+String.fromCharCode(e)+") at offset "+d+" not in 0x00-0xFF."),e&=255);b.push(String.fromCharCode(e))}returnb.join("")}
(function(){functiona(f){c.asm=f.exports;La()}functionb(f){a(f.instance)}functiond(f){returnQa().then(function(g){returnWebAssembly.instantiate(g,e)}).then(f,function(g){F("failed to asynchronously prepare wasm: "+g);E(g)})}vare={a:zb};Ka();if(c.instantiateWasm)try{returnc.instantiateWasm(e,a)}catch(f){returnF("Module.instantiateWasm callback failed with error: "+f),!1}(function(){if(na||"function"!==typeofWebAssembly.instantiateStreaming||Ma(P,Na)||Ma(P,"file://")||"function"!==typeoffetch)returnd(b);
fetch(P,{credentials:"same-origin"}).then(function(f){returnWebAssembly.instantiateStreaming(f,e).then(b,function(g){F("wasm streaming compile failed: "+g);F("falling back to ArrayBuffer instantiation");returnd(b)})})})();return{}})();varRa=c.___wasm_call_ctors=function(){return(Ra=c.___wasm_call_ctors=c.asm.F).apply(null,arguments)};c._main=function(){return(c._main=c.asm.G).apply(null,arguments)};