1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/thirdparty/viblast/viblast.crypto.js

355 lines
535 KiB
JavaScript
Raw Normal View History

2015-07-09 23:00:03 -04:00
function e(a){throw a;}var h=void 0,k=!0,l=null,p=!1;function q(){return function(){}}function r(a){return function(){return a}}var t,u;u||(u=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in u)u.hasOwnProperty(ba)&&(aa[ba]=u[ba]);var x="object"===typeof process&&"function"===typeof require,ca="object"===typeof window,da="function"===typeof importScripts,ea=!ca&&!x&&!da;
if(x){u.print||(u.print=function(a){process.stdout.write(a+"\n")});u.printErr||(u.printErr=function(a){process.stderr.write(a+"\n")});var fa=require("fs"),ga=require("path");u.read=function(a,b){var a=ga.normalize(a),c=fa.readFileSync(a);!c&&a!=ga.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=fa.readFileSync(a));c&&!b&&(c=c.toString());return c};u.readBinary=function(a){return u.read(a,k)};u.load=function(a){ha(read(a))};u.thisProgram=process.argv[1].replace(/\\/g,"/");u.arguments=process.argv.slice(2);
"undefined"!==typeof module&&(module.exports=u);process.on("uncaughtException",function(a){a instanceof ja||e(a)})}else ea?(u.print||(u.print=print),"undefined"!=typeof printErr&&(u.printErr=printErr),u.read="undefined"!=typeof read?read:function(){e("no read() available (jsc?)")},u.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");z("object"===typeof a);return a},"undefined"!=typeof scriptArgs?u.arguments=scriptArgs:"undefined"!=typeof arguments&&
(u.arguments=arguments),this.Module=u,eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined")):ca||da?(u.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,p);b.send(l);return b.responseText},"undefined"!=typeof arguments&&(u.arguments=arguments),"undefined"!==typeof console?(u.print||(u.print=function(a){console.log(a)}),u.printErr||(u.printErr=function(a){console.log(a)})):u.print||(u.print=q()),ca?window.Module=u:u.load=importScripts):e("Unknown runtime environment. Where are we?");
function ha(a){eval.call(l,a)}!u.load&&u.read&&(u.load=function(a){ha(u.read(a))});u.print||(u.print=q());u.printErr||(u.printErr=u.print);u.arguments||(u.arguments=[]);u.thisProgram||(u.thisProgram="./this.program");u.print=u.print;u.ra=u.printErr;u.preRun=[];u.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(u[ba]=aa[ba]);
var B={pf:function(a){ka=a},He:function(){return ka},Wb:function(){return A},Hc:function(a){A=a},sd:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?B.Da:"i"===a[0]?(a=parseInt(a.substr(1)),z(0===a%8),a/8):0}},rd:function(a){return Math.max(B.sd(a),B.Da)},lh:16,Mh:function(a,b,c){return!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?B.rd(a):0),
B.Da)},Fa:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),u["dynCall_"+a].apply(l,c)):u["dynCall_"+a].call(l,b)},Ib:[],ge:function(a){for(var b=0;b<B.Ib.length;b++)if(!B.Ib[b])return B.Ib[b]=a,2*(1+b);e("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")},jf:function(a){B.Ib[(a-2)/2]=l},Nh:function(a,b){B.ic||(B.ic={});var c=B.ic[a];if(c)return c;for(var c=[],d=0;d<b;d++)c.push(String.fromCharCode(36)+d);
d=E(a);'"'===d[0]&&(d.indexOf('"',1)===d.length-1?d=d.substr(1,d.length-2):la("invalid EM_ASM input |"+d+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)"));try{var f=eval("(function(Module, FS) { return function("+c.join(",")+"){ "+d+" } })")(u,"undefined"!==typeof F?F:l)}catch(g){u.ra("error in executing inline EM_ASM code: "+g+" on: \n\n"+d+"\n\nwith args |"+c+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)"),e(g)}return B.ic[a]=
f},Ya:function(a){B.Ya.Fc||(B.Ya.Fc={});B.Ya.Fc[a]||(B.Ya.Fc[a]=1,u.ra(a))},qc:{},Qh:function(a,b){z(b);B.qc[b]||(B.qc[b]={});var c=B.qc[b];c[a]||(c[a]=function(){return B.Fa(b,a,arguments)});return c[a]},bb:function(){var a=[],b=0;this.Sb=function(c){c&=255;if(0==a.length){if(0==(c&128))return String.fromCharCode(c);a.push(c);b=192==(c&224)?1:224==(c&240)?2:3;return""}if(b&&(a.push(c),b--,0<b))return"";var c=a[0],d=a[1],f=a[2],g=a[3];2==a.length?c=String.fromCharCode((c&31)<<6|d&63):3==a.length?
c=String.fromCharCode((c&15)<<12|(d&63)<<6|f&63):(c=(c&7)<<18|(d&63)<<12|(f&63)<<6|g&63,c=String.fromCharCode(((c-65536)/1024|0)+55296,(c-65536)%1024+56320));a.length=0;return c};this.Hd=function(a){for(var a=unescape(encodeURIComponent(a)),b=[],f=0;f<a.length;f++)b.push(a.charCodeAt(f));return b}},Oh:function(){e("You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work")},Vb:function(a){var b=A;A=A+a|0;A=A+15&-16;return b},Ld:function(a){var b=
ma;ma=ma+a|0;ma=ma+15&-16;return b},fb:function(a){var b=G;G=G+a|0;G=G+15&-16;G>=H&&la("Cannot enlarge memory arrays. Atleast "+(G-H)+" more bytes required. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+H+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.");return b},Ab:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},Se:function(a,b,c){return c?+(a>>>
0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},cc:8,Da:4,ph:0};u.Runtime=B;B.addFunction=B.ge;B.removeFunction=B.jf;var na=p,oa,pa,ka;function z(a,b){a||la("Assertion failed: "+b)}function qa(a){var b=u["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}z(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var ra,sa;
(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b=0,c={stackSave:function(){b=B.Wb()},stackRestore:function(){B.Hc(b)},arrayToC:function(a){var b=B.Vb(a.length);ta(a,b);return b},stringToC:function(a){var b=0;a!==l&&(a!==h&&0!==a)&&(b=B.Vb((a.length<<2)+1),ua(a,b));return b}},d={string:c.stringToC,array:c.arrayToC};sa=function(a,f,g,i){var a=qa(a),s=[];if(i)for(var y=0;y<i.length;y++){var K=d[g[y]];K?(0===b&&(b=B.Wb()),s[y]=K(i[y])):
s[y]=i[y]}g=a.apply(l,s);"string"===f&&(g=E(g));0!==b&&c.stackRestore();return g};var f=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,g={},i;for(i in c)c.hasOwnProperty(i)&&(g[i]=a(c[i]));ra=function(b,c,d){var d=d||[],f=qa(b),b=d.every(function(a){return"number"===a}),i="string"!==c;if(i&&b)return f;var y=d.map(function(a,b){return"$"+b}),c="(function("+y.join(",")+") {",K=d.length;if(!b)for(var c=c+(g.stackSave.body+";"),M=0;M<K;M++){var X=y[M],J=d[M];"number"!==J&&(J=
g[J+"ToC"],c+="var "+J.arguments+" = "+X+";",c+=J.body+";",c+=X+"="+J.returnValue+";")}d=a(function(){return f}).returnValue;c+="var ret = "+d+"("+y.join(",")+");";i||(d=a(function(){return E}).returnValue,c+="ret = "+d+"(ret);");b||(c+=g.stackRestore.body+";");return eval(c+"return ret})")}})();u.cwrap=ra;u.ccall=sa;
function va(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":I[a>>0]=b;break;case "i8":I[a>>0]=b;break;case "i16":wa[a>>1]=b;break;case "i32":L[a>>2]=b;break;case "i64":pa=[b>>>0,(oa=b,1<=+xa(oa)?0<oa?(ya(+za(oa/4294967296),4294967295)|0)>>>0:~~+Aa((oa-+(~~oa>>>0))/4294967296)>>>0:0)];L[a>>2]=pa[0];L[a+4>>2]=pa[1];break;case "float":Ba[a>>2]=b;break;case "double":Ca[a>>3]=b;break;default:la("invalid type for setValue: "+c)}}u.setValue=va;
function Da(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return I[a>>0];case "i8":return I[a>>0];case "i16":return wa[a>>1];case "i32":return L[a>>2];case "i64":return L[a>>2];case "float":return Ba[a>>2];case "double":return Ca[a>>3];default:la("invalid type for setValue: "+b)}return l}u.getValue=Da;var Ea=0,Fa=1,Ga=2,Ha=4;u.ALLOC_NORMAL=Ea;u.ALLOC_STACK=Fa;u.ALLOC_STATIC=Ga;u.ALLOC_DYNAMIC=3;u.ALLOC_NONE=Ha;
function N(a,b,c,d){var f,g;"number"===typeof a?(f=k,g=a):(f=p,g=a.length);var i="string"===typeof b?b:l,c=c==Ha?d:[O,B.Vb,B.Ld,B.fb][c===h?Ga:c](Math.max(g,i?1:b.length));if(f){d=c;z(0==(c&3));for(a=c+(g&-4);d<a;d+=4)L[d>>2]=0;for(a=c+g;d<a;)I[d++>>0]=0;return c}if("i8"===i)return a.subarray||a.slice?P.set(a,c):P.set(new Uint8Array(a),c),c;for(var d=0,j,n;d<g;){var m=a[d];"function"===typeof m&&(m=B.Rh(m));f=i||b[d];0===f?d++:("i64"==f&&(f="i32"),va(c+d,m,f),n!==f&&(j=B.sd(f),n=f),d+=j)}return c}
u.allocate=N;function E(a,b){for(var c=p,d,f=0;;){d=P[a+f>>0];if(128<=d)c=k;else if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);var g="";if(!c){for(;0<b;)d=String.fromCharCode.apply(String,P.subarray(a,a+Math.min(b,1024))),g=g?g+d:d,a+=1024,b-=1024;return g}c=new B.bb;for(f=0;f<b;f++)d=P[a+f>>0],g+=c.Sb(d);return g}u.Pointer_stringify=E;u.UTF16ToString=function(a){for(var b=0,c="";;){var d=wa[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}};
u.stringToUTF16=function(a,b){for(var c=0;c<a.length;++c)wa[b+2*c>>1]=a.charCodeAt(c);wa[b+2*a.length>>1]=0};u.UTF32ToString=function(a){for(var b=0,c="";;){var d=L[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d-=65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}};u.stringToUTF32=function(a,b){for(var c=0,d=0;d<a.length;++d){var f=a.charCodeAt(d);if(55296<=f&&57343>=f)var g=a.charCodeAt(++d),f=65536+((f&1023)<<10)|g&1023;L[b+4*c>>2]=f;++c}L[b+4*c>>2]=0};
function Ia(a){function b(c,d,f){var d=d||Infinity,g="",i=[],s;if("N"===a[j]){j++;"K"===a[j]&&j++;for(s=[];"E"!==a[j];)if("S"===a[j]){j++;var D=a.indexOf("_",j);s.push(m[a.substring(j,D)||0]||"?");j=D+1}else if("C"===a[j])s.push(s[s.length-1]),j+=2;else{var D=parseInt(a.substr(j)),v=D.toString().length;if(!D||!v){j--;break}var ia=a.substr(j+v,D);s.push(ia);m.push(ia);j+=v+D}j++;s=s.join("::");d--;if(0===d)return c?[s]:s}else if(("K"===a[j]||w&&"L"===a[j])&&j++,D=parseInt(a.substr(j)))v=D.toString().length,
s=a.substr(j+v,D),j+=v+D;w=p;"I"===a[j]?(j++,D=b(k),v=b(k,1,k),g+=v[0]+" "+s+"<"+D.join(", ")+">"):g=s;a:for(;j<a.length&&0<d--;)if(s=a[j++],s in n)i.push(n[s]);else switch(s){case "P":i.push(b(k,1,k)[0]+"*");break;case "R":i.push(b(k,1,k)[0]+"&");break;case "L":j++;D=a.indexOf("E",j)-j;i.push(a.substr(j,D));j+=D+2;break;case "A":D=parseInt(a.substr(j));j+=D.toString().length;"_"!==a[j]&&e("?");j++;i.push(b(k,1,k)[0]+" ["+D+"]");break;case "E":break a;default:g+="?"+s;break a}!f&&(1===i.length&&"void"===
i[0])&&(i=[]);return c?(g&&i.push(g+"?"),i):g+("("+i.join(", ")+")")}var c=!!u.___cxa_demangle;if(c)try{var d=O(a.length);ua(a.substr(1),d);var f=O(4),g=u.___cxa_demangle(d,0,0,f);if(0===Da(f,"i32")&&g)return E(g)}catch(i){}finally{d&&Ja(d),f&&Ja(f),g&&Ja(g)}var j=3,n={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},m=[],w=k,d=
a;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=E(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}d=b()}catch(s){d+="?"}0<=d.indexOf("?")&&!c&&B.Ya("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return d}
function Ka(){var a;a:{a=Error();if(!a.stack){try{e(Error(0))}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}return a.replace(/__Z[\w\d_]+/g,function(a){var b=Ia(a);return a===b?a:a+" ["+b+"]"})}u.stackTrace=function(){return Ka()};for(var I,P,wa,La,L,Ma,Ba,Ca,Na=0,ma=0,Oa=0,A=0,Pa=0,Qa=0,G=0,Ra=u.TOTAL_STACK||5242880,H=u.TOTAL_MEMORY||67108864,Sa=65536;Sa<H||Sa<2*Ra;)Sa=16777216>Sa?2*Sa:Sa+16777216;
Sa!==H&&(u.ra("increasing TOTAL_MEMORY to "+Sa+" to be compliant with the asm.js spec"),H=Sa);z("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var Q;a:{var Ta=H,Ua=0,Va=0.1*Ta&-8;do{try{Q=new ArrayBuffer(Ta);break a}catch(Wa){Ta-=Va}Ua++}while(5>Ua);e(Error("Cannot allocate even after 5 reductions. Reduced memory="+Ta))}H=Q.byteLength;I=new Int8Array(Q);wa=new Int16Array(Q);
L=new Int32Array(Q);P=new Uint8Array(Q);La=new Uint16Array(Q);Ma=new Uint32Array(Q);Ba=new Float32Array(Q);Ca=new Float64Array(Q);L[0]=255;z(255===P[0]&&0===P[3],"Typed arrays 2 must be run on a little-endian system");u.HEAP=h;u.HEAP8=I;u.HEAP16=wa;u.HEAP32=L;u.HEAPU8=P;u.HEAPU16=La;u.HEAPU32=Ma;u.HEAPF32=Ba;u.HEAPF64=Ca;function Xa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.da;"number"===typeof c?b.eb===h?B.Fa("v",c):B.Fa("vi",c,[b.eb]):c(b.eb===h?l:b.eb)}}}
var Ya=[],Za=[],$a=[],ab=[],bb=[],cb=p;function db(a){Ya.unshift(a)}u.addOnPreRun=u.vh=db;u.addOnInit=u.sh=function(a){Za.unshift(a)};u.addOnPreMain=u.uh=function(a){$a.unshift(a)};u.addOnExit=u.rh=function(a){ab.unshift(a)};function eb(a){bb.unshift(a)}u.addOnPostRun=u.th=eb;function fb(a,b,c){a=(new B.bb).Hd(a);c&&(a.length=c);b||a.push(0);return a}u.intArrayFromString=fb;u.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];255<d&&(d&=255);b.push(String.fromCharCode(d))}return b.join("")};
function ua(a,b,c){a=fb(a,c);for(c=0;c<a.length;)I[b+c>>0]=a[c],c+=1}u.writeStringToMemory=ua;function ta(a,b){for(var c=0;c<a.length;c++)I[b+c>>0]=a[c]}u.writeArrayToMemory=ta;function gb(a,b,c){for(var d=0;d<a.length;d++)I[b+d>>0]=a.charCodeAt(d);c||(I[b+a.length>>0]=0)}u.writeAsciiToMemory=gb;function hb(a,b){return 0<=a?a:32>=b?2*Math.abs(1<<b-1)+a:Math.pow(2,b)+a}function ib(a,b){if(0>=a)return a;var c=32>=b?Math.abs(1<<b-1):Math.pow(2,b-1);if(a>=c&&(32>=b||a>c))a=-2*c+a;return a}
if(!Math.imul||-5!==Math.imul(4294967295,5))Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0};Math.Uh=Math.imul;var xa=Math.abs,Aa=Math.ceil,za=Math.floor,ya=Math.min,jb=0,kb=l,lb=l;function mb(){jb++;u.monitorRunDependencies&&u.monitorRunDependencies(jb)}u.addRunDependency=mb;function nb(){jb--;u.monitorRunDependencies&&u.monitorRunDependencies(jb);if(0==jb&&(kb!==l&&(clearInterval(kb),kb=l),lb)){var a=lb;lb=l;a()}}u.removeRunDependency=nb;
u.preloadedImages={};u.preloadedAudios={};var ob=l,Na=8,ma=Na+B.Ab(22291);Za.push({da:function(){pb()}},{da:function(){qb()}});
N([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,
100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,
250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,
24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,
11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,
177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,
29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,
156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,
1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,
203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,80,81,244,167,83,126,65,101,195,26,23,164,150,58,39,94,203,59,171,107,241,31,157,69,171,172,250,88,147,75,227,3,85,32,48,250,246,173,118,109,145,136,204,118,37,245,2,76,252,79,229,215,215,197,42,203,128,38,53,68,143,181,98,163,73,222,177,90,103,37,186,27,152,69,234,14,225,93,254,192,2,195,47,117,18,129,76,240,163,141,70,151,198,107,211,249,231,3,143,95,149,21,146,156,235,191,109,122,218,149,82,89,45,212,190,131,211,88,116,33,41,73,224,105,68,142,
201,200,106,117,194,137,120,244,142,121,107,153,88,62,221,39,185,113,182,190,225,79,23,240,136,173,102,201,32,172,180,125,206,58,24,99,223,74,130,229,26,49,96,151,81,51,69,98,83,127,224,177,100,119,132,187,107,174,28,254,129,160,148,249,8,43,88,112,72,104,25,143,69,253,135,148,222,108,183,82,123,248,35,171,115,211,226,114,75,2,87,227,31,143,42,102,85,171,7,178,235,40,3,47,181,194,154,134,197,123,165,211,55,8,242,48,40,135,178,35,191,165,186,2,3,106,92,237,22,130,43,138,207,28,146,167,121,180,240,
243,7,242,161,78,105,226,205,101,218,244,213,6,5,190,31,209,52,98,138,196,166,254,157,52,46,83,160,162,243,85,50,5,138,225,117,164,246,235,57,11,131,236,170,64,96,239,6,94,113,159,81,189,110,16,249,62,33,138,61,150,221,6,174,221,62,5,70,77,230,189,181,145,84,141,5,113,196,93,111,4,6,212,255,96,80,21,36,25,152,251,151,214,189,233,204,137,64,67,119,103,217,158,189,176,232,66,136,7,137,139,56,231,25,91,219,121,200,238,71,161,124,10,233,124,66,15,201,248,132,30,0,0,0,0,131,9,128,134,72,50,43,237,172,
30,17,112,78,108,90,114,251,253,14,255,86,15,133,56,30,61,174,213,39,54,45,57,100,10,15,217,33,104,92,166,209,155,91,84,58,36,54,46,177,12,10,103,15,147,87,231,210,180,238,150,158,27,155,145,79,128,192,197,162,97,220,32,105,90,119,75,22,28,18,26,10,226,147,186,229,192,160,42,67,60,34,224,29,18,27,23,11,14,9,13,173,242,139,199,185,45,182,168,200,20,30,169,133,87,241,25,76,175,117,7,187,238,153,221,253,163,127,96,159,247,1,38,188,92,114,245,197,68,102,59,52,91,251,126,118,139,67,41,220,203,35,198,104,
182,237,252,99,184,228,241,202,215,49,220,16,66,99,133,64,19,151,34,32,132,198,17,125,133,74,36,248,210,187,61,17,174,249,50,109,199,41,161,75,29,158,47,243,220,178,48,236,13,134,82,208,119,193,227,108,43,179,22,153,169,112,185,250,17,148,72,34,71,233,100,196,168,252,140,26,160,240,63,216,86,125,44,239,34,51,144,199,135,73,78,193,217,56,209,254,140,202,162,54,152,212,11,207,166,245,129,40,165,122,222,38,218,183,142,164,63,173,191,228,44,58,157,13,80,120,146,155,106,95,204,98,84,126,70,194,246,141,
19,232,144,216,184,94,46,57,247,245,130,195,175,190,159,93,128,124,105,208,147,169,111,213,45,179,207,37,18,59,200,172,153,167,16,24,125,110,232,156,99,123,219,59,187,9,205,38,120,244,110,89,24,1,236,154,183,168,131,79,154,101,230,149,110,126,170,255,230,8,33,188,207,230,239,21,232,217,186,231,155,206,74,111,54,212,234,159,9,214,41,176,124,175,49,164,178,49,42,63,35,48,198,165,148,192,53,162,102,55,116,78,188,166,252,130,202,176,224,144,208,21,51,167,216,74,241,4,152,247,65,236,218,14,127,205,80,
47,23,145,246,141,118,77,214,77,67,239,176,84,204,170,77,223,228,150,4,227,158,209,181,27,76,106,136,184,193,44,31,127,70,101,81,4,157,94,234,93,1,140,53,115,250,135,116,46,251,11,65,90,179,103,29,82,146,219,210,51,233,16,86,19,109,214,71,140,154,215,97,122,55,161,12,142,89,248,20,137,235,19,60,238,206,169,39,53,183,97,201,237,225,28,229,60,122,71,177,89,156,210,223,63,85,242,115,121,24,20,206,191,115,199,55,234,83,247,205,91,95,253,170,20,223,61,111,134,120,68,219,129,202,175,243,62,185,104,196,
44,56,36,52,95,194,163,64,114,22,29,195,12,188,226,37,139,40,60,73,65,255,13,149,113,57,168,1,222,8,12,179,156,216,180,228,144,100,86,193,97,123,203,132,112,213,50,182,116,72,108,92,66,208,184,87,167,80,81,244,101,83,126,65,164,195,26,23,94,150,58,39,107,203,59,171,69,241,31,157,88,171,172,250,3,147,75,227,250,85,32,48,109,246,173,118,118,145,136,204,76,37,245,2,215,252,79,229,203,215,197,42,68,128,38,53,163,143,181,98,90,73,222,177,27,103,37,186,14,152,69,234,192,225,93,254,117,2,195,47,240,18,129,
76,151,163,141,70,249,198,107,211,95,231,3,143,156,149,21,146,122,235,191,109,89,218,149,82,131,45,212,190,33,211,88,116,105,41,73,224,200,68,142,201,137,106,117,194,121,120,244,142,62,107,153,88,113,221,39,185,79,182,190,225,173,23,240,136,172,102,201,32,58,180,125,206,74,24,99,223,49,130,229,26,51,96,151,81,127,69,98,83,119,224,177,100,174,132,187,107,160,28,254,129,43,148,249,8,104,88,112,72,253,25,143,69,108,135,148,222,248,183,82,123,211,35,171,115,2,226,114,75,143,87,227,31,171,42,102,85,40,
7,178,235,194,3,47,181,123,154,134,197,8,165,211,55,135,242,48,40,165,178,35,191,106,186,2,3,130,92,237,22,28,43,138,207,180,146,167,121,242,240,243,7,226,161,78,105,244,205,101,218,190,213,6,5,98,31,209,52,254,138,196,166,83,157,52,46,85,160,162,243,225,50,5,138,235,117,164,246,236,57,11,131,239,170,64,96,159,6,94,113,16,81,189,110,138,249,62,33,6,61,150,221,5,174,221,62,189,70,77,230,141,181,145,84,93,5,113,196,212,111,4,6,21,255,96,80,251,36,25,152,233,151,214,189,67,204,137,64,158,119,103,217,
66,189,176,232,139,136,7,137,91,56,231,25,238,219,121,200,10,71,161,124,15,233,124,66,30,201,248,132,0,0,0,0,134,131,9,128,237,72,50,43,112,172,30,17,114,78,108,90,255,251,253,14,56,86,15,133,213,30,61,174,57,39,54,45,217,100,10,15,166,33,104,92,84,209,155,91,46,58,36,54,103,177,12,10,231,15,147,87,150,210,180,238,145,158,27,155,197,79,128,192,32,162,97,220,75,105,90,119,26,22,28,18,186,10,226,147,42,229,192,160,224,67,60,34,23,29,18,27,13,11,14,9,199,173,242,139,168,185,45,182,169,200,20,30,25,133,
87,241,7,76,175,117,221,187,238,153,96,253,163,127,38,159,247,1,245,188,92,114,59,197,68,102,126,52,91,251,41,118,139,67,198,220,203,35,252,104,182,237,241,99,184,228,220,202,215,49,133,16,66,99,34,64,19,151,17,32,132,198,36,125,133,74,61,248,210,187,50,17,174,249,161,109,199,41,47,75,29,158,48,243,220,178,82,236,13,134,227,208,119,193,22,108,43,179,185,153,169,112,72,250,17,148,100,34,71,233,140,196,168,252,63,26,160,240,44,216,86,125,144,239,34,51,78,199,135,73,209,193,217,56,162,254,140,202,11,
54,152,212,129,207,166,245,222,40,165,122,142,38,218,183,191,164,63,173,157,228,44,58,146,13,80,120,204,155,106,95,70,98,84,126,19,194,246,141,184,232,144,216,247,94,46,57,175,245,130,195,128,190,159,93,147,124,105,208,45,169,111,213,18,179,207,37,153,59,200,172,125,167,16,24,99,110,232,156,187,123,219,59,120,9,205,38,24,244,110,89,183,1,236,154,154,168,131,79,110,101,230,149,230,126,170,255,207,8,33,188,232,230,239,21,155,217,186,231,54,206,74,111,9,212,234,159,124,214,41,176,178,175,49,164,35,49,
42,63,148,48,198,165,102,192,53,162,188,55,116,78,202,166,252,130,208,176,224,144,216,21,51,167,152,74,241,4,218,247,65,236,80,14,127,205,246,47,23,145,214,141,118,77,176,77,67,239,77,84,204,170,4,223,228,150,181,227,158,209,136,27,76,106,31,184,193,44,81,127,70,101,234,4,157,94,53,93,1,140,116,115,250,135,65,46,251,11,29,90,179,103,210,82,146,219,86,51,233,16,71,19,109,214,97,140,154,215,12,122,55,161,20,142,89,248,60,137,235,19,39,238,206,169,201,53,183,97,229,237,225,28,177,60,122,71,223,89,156,
210,115,63,85,242,206,121,24,20,55,191,115,199,205,234,83,247,170,91,95,253,111,20,223,61,219,134,120,68,243,129,202,175,196,62,185,104,52,44,56,36,64,95,194,163,195,114,22,29,37,12,188,226,73,139,40,60,149,65,255,13,1,113,57,168,179,222,8,12,228,156,216,180,193,144,100,86,132,97,123,203,182,112,213,50,92,116,72,108,87,66,208,184,244,167,80,81,65,101,83,126,23,164,195,26,39,94,150,58,171,107,203,59,157,69,241,31,250,88,171,172,227,3,147,75,48,250,85,32,118,109,246,173,204,118,145,136,2,76,37,245,
229,215,252,79,42,203,215,197,53,68,128,38,98,163,143,181,177,90,73,222,186,27,103,37,234,14,152,69,254,192,225,93,47,117,2,195,76,240,18,129,70,151,163,141,211,249,198,107,143,95,231,3,146,156,149,21,109,122,235,191,82,89,218,149,190,131,45,212,116,33,211,88,224,105,41,73,201,200,68,142,194,137,106,117,142,121,120,244,88,62,107,153,185,113,221,39,225,79,182,190,136,173,23,240,32,172,102,201,206,58,180,125,223,74,24,99,26,49,130,229,81,51,96,151,83,127,69,98,100,119,224,177,107,174,132,187,129,160,
28,254,8,43,148,249,72,104,88,112,69,253,25,143,222,108,135,148,123,248,183,82,115,211,35,171,75,2,226,114,31,143,87,227,85,171,42,102,235,40,7,178,181,194,3,47,197,123,154,134,55,8,165,211,40,135,242,48,191,165,178,35,3,106,186,2,22,130,92,237,207,28,43,138,121,180,146,167,7,242,240,243,105,226,161,78,218,244,205,101,5,190,213,6,52,98,31,209,166,254,138,196,46,83,157,52,243,85,160,162,138,225,50,5,246,235,117,164,131,236,57,11,96,239,170,64,113,159,6,94,110,16,81,189,33,138,249,62,221,6,61,150,62,
5,174,221,230,189,70,77,84,141,181,145,196,93,5,113,6,212,111,4,80,21,255,96,152,251,36,25,189,233,151,214,64,67,204,137,217,158,119,103,232,66,189,176,137,139,136,7,25,91,56,231,200,238,219,121,124,10,71,161,66,15,233,124,132,30,201,248,0,0,0,0,128,134,131,9,43,237,72,50,17,112,172,30,90,114,78,108,14,255,251,253,133,56,86,15,174,213,30,61,45,57,39,54,15,217,100,10,92,166,33,104,91,84,209,155,54,46,58,36,10,103,177,12,87,231,15,147,238,150,210,180,155,145,158,27,192,197,79,128,220,32,162,97,119,
75,105,90,18,26,22,28,147,186,10,226,160,42,229,192,34,224,67,60,27,23,29,18,9,13,11,14,139,199,173,242,182,168,185,45,30,169,200,20,241,25,133,87,117,7,76,175,153,221,187,238,127,96,253,163,1,38,159,247,114,245,188,92,102,59,197,68,251,126,52,91,67,41,118,139,35,198,220,203,237,252,104,182,228,241,99,184,49,220,202,215,99,133,16,66,151,34,64,19,198,17,32,132,74,36,125,133,187,61,248,210,249,50,17,174,41,161,109,199,158,47,75,29,178,48,243,220,134,82,236,13,193,227,208,119,179,22,108,43,112,185,153,
169,148,72,250,17,233,100,34,71,252,140,196,168,240,63,26,160,125,44,216,86,51,144,239,34,73,78,199,135,56,209,193,217,202,162,254,140,212,11,54,152,245,129,207,166,122,222,40,165,183,142,38,218,173,191,164,63,58,157,228,44,120,146,13,80,95,204,155,106,126,70,98,84,141,19,194,246,216,184,232,144,57,247,94,46,195,175,245,130,93,128,190,159,208,147,124,105,213,45,169,111,37,18,179,207,172,153,59,200,24,125,167,16,156,99,110,232,59,187,123,219,38,120,9,205,89,24,244,110,154,183,1,236,79,154,168,131,
149,110,101,230,255,230,126,170,188,207,8,33,21,232,230,239,231,155,217,186,111,54,206,74,159,9,212,234,176,124,214,41,164,178,175,49,63,35,49,42,165,148,48,198,162,102,192,53,78,188,55,116,130,202,166,252,144,208,176,224,167,216,21,51,4,152,74,241,236,218,247,65,205,80,14,127,145,246,47,23,77,214,141,118,239,176,77,67,170,77,84,204,150,4,223,228,209,181,227,158,106,136,27,76,44,31,184,193,101,81,127,70,94,234,4,157,140,53,93,1,135,116,115,250,11,65,46,251,103,29,90,179,219,210,82,146,16,86,51,233,
214,71,19,109,215,97,140,154,161,12,122,55,248,20,142,89,19,60,137,235,169,39,238,206,97,201,53,183,28,229,237,225,71,177,60,122,210,223,89,156,242,115,63,85,20,206,121,24,199,55,191,115,247,205,234,83,253,170,91,95,61,111,20,223,68,219,134,120,175,243,129,202,104,196,62,185,36,52,44,56,163,64,95,194,29,195,114,22,226,37,12,188,60,73,139,40,13,149,65,255,168,1,113,57,12,179,222,8,180,228,156,216,86,193,144,100,203,132,97,123,50,182,112,213,108,92,116,72,184,87,66,208,82,9,106,213,48,54,165,56,191,
64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,
173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,252,255,255,255,0,
0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,248,255,255,255,0,0,0,0,3,0,0,0,244,255,255,255,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,91,73,78,70,79,93,32,67,104,111,111,115,105,110,103,32,112,114,111,103,114,97,109,32,37,100,10,0,0,0,0,0,91,73,78,70,79,93,32,67,104,111,111,115,105,110,103,32,115,116,114,101,97,109,32,119,105,116,104,32,112,105,100,32,37,100,32,97,115,32,116,104,101,32,118,105,100,101,111,32,112,105,100,10,0,0,0,0,91,73,78,70,79,93,32,67,104,111,111,115,105,110,103,32,115,116,114,101,97,
109,32,119,105,116,104,32,112,105,100,32,37,100,32,97,115,32,116,104,101,32,97,117,100,105,111,32,112,105,100,10,0,0,0,0,91,87,65,82,78,93,32,73,110,99,111,109,112,108,101,116,101,32,80,69,83,32,112,97,99,107,101,116,46,32,82,101,109,97,105,110,105,110,103,32,98,121,116,101,115,32,37,100,46,10,0,0,0,0,0,0,91,69,82,82,79,82,93,32,67,97,110,110,111,116,32,100,101,99,114,121,112,116,32,102,117,108,108,32,99,104,117,110,107,32,105,110,32,65,69,83,45,49,50,56,32,109,111,100,101,46,32,67,104,117,110,107,
32,76,101,110,61,37,100,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,91,87,65,82,78,93,32,116,97,98,108,101,115,32,116,104,97,116,32,115,112,97,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,80,83,32,112,97,99,107,101,116,32,97,114,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,32,116,97,98,108,101,76,101,110,61,32,37,100,32,112,97,121,108,111,97,100,76,101,110,61,37,100,10,0,0,0,0,0,0,91,87,65,82,78,93,32,101,115,73,110,102,111,76,101,110,40,37,100,41,32,105,115,32,
116,111,111,32,98,105,103,32,40,112,97,121,108,111,97,100,61,37,100,41,46,32,68,114,111,112,112,105,110,103,46,46,46,10,0,0,0,0,0,0,91,69,82,82,79,82,93,32,67,97,110,110,111,116,32,99,114,101,97,116,101,32,65,69,83,32,99,111,110,116,101,120,116,0,0,0,0,0,0,0,91,87,65,82,78,93,32,84,83,32,68,105,115,99,111,110,116,105,110,117,105,116,121,0,91,87,65,82,78,93,32,69,109,112,116,121,32,80,65,84,0,0,0,0,0,0,0,0,91,73,78,70,79,93,32,67,97,110,110,111,116,32,99,111,114,114,101,99,116,32,97,117,100,105,111,
47,118,105,100,101,111,32,115,116,114,101,97,109,32,116,121,112,101,115,46,32,67,111,110,116,105,110,117,105,110,103,46,46,46,0,0,0,91,87,65,82,78,93,32,65,67,45,51,32,101,110,99,114,121,112,116,101,100,32,115,116,114,101,97,109,115,32,97,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,87,65,82,78,93,32,32,68,111,110,39,116,32,107,110,111,119,32,104,111,119,32,116,111,32,104,97,110,100,108,101,32,80,77,84,32,112,97,99,107,101,116,32,119,105,116,104,32,110,111,32,112,97,121,108,
111,97,100,32,0,0,0,0,91,87,65,82,78,93,32,82,101,99,101,105,118,101,100,32,80,77,84,32,119,105,116,104,32,112,114,111,103,114,97,109,45,105,110,102,111,45,108,101,110,32,98,105,103,103,101,114,32,116,104,97,116,32,105,116,115,32,97,99,116,117,97,108,32,112,97,121,108,111,97,100,32,108,101,110,46,32,68,114,111,112,112,105,110,103,46,46,46,0,0,0,0,0,0,0,91,87,65,82,78,93,32,97,108,114,101,97,100,121,32,119,114,111,116,101,32,97,32,99,111,109,112,108,101,116,101,32,112,101,115,32,116,111,32,111,117,
116,112,117,116,32,98,117,116,32,114,101,99,101,105,118,101,100,32,97,32,112,101,115,32,116,115,32,112,97,99,107,101,116,32,102,111,114,32,116,104,101,32,115,97,109,101,32,115,116,114,101,97,109,46,0,91,69,82,82,79,82,93,32,67,97,110,110,111,116,32,100,101,99,114,121,112,116,0,0,91,69,82,82,79,82,93,32,67,97,110,110,111,116,32,115,101,116,32,73,86,0,0,0,91,69,82,82,79,82,93,32,97,100,97,112,116,97,116,105,111,110,70,105,101,108,100,32,108,101,110,32,61,32,0,0,32,112,105,100,61,0,0,0,32,116,97,98,
108,101,115,32,116,104,97,116,32,115,112,97,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,80,83,32,112,97,99,107,101,116,32,97,114,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,0,32,105,110,118,97,108,105,100,101,32,115,101,99,116,105,111,110,76,101,110,61,0,0,0,46,32,73,116,32,109,117,115,116,32,98,101,32,100,101,118,105,100,97,98,108,101,32,98,121,32,52,32,98,117,116,32,105,116,32,105,115,110,39,116,0,0,0,0,0,0,0,0,32,68,111,110,39,116,32,107,110,111,119,
32,104,111,119,32,116,111,32,104,97,110,100,108,101,32,80,77,84,32,112,97,99,107,101,116,32,119,105,116,104,32,110,111,32,112,97,121,108,111,97,100,32,0,0,0,32,116,97,98,108,101,115,32,116,104,97,116,32,115,112,97,110,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,80,83,32,112,97,99,107,101,116,32,97,114,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,32,116,97,98,108,101,76,101,110,61,32,0,0,0,0,0,32,112,97,121,108,111,97,100,76,101,110,61,0,0,0,0,32,82,101,99,
101,105,118,101,100,32,80,77,84,32,119,105,116,104,32,112,114,111,103,114,97,109,45,105,110,102,111,45,108,101,110,32,98,105,103,103,101,114,32,116,104,97,116,32,105,116,115,32,97,99,116,117,97,108,32,112,97,121,108,111,97,100,32,108,101,110,46,32,68,114,111,112,112,105,110,103,46,46,46,0,0,0,0,0,32,101,115,73,110,102,111,76,101,110,40,0,0,0,0,0,41,32,105,115,32,116,111,111,32,98,105,103,32,40,112,97,121,108,111,97,100,61,0,0,41,46,32,68,114,111,112,112,105,110,103,46,46,46,0,0,32,112,114,101,109,
97,116,117,114,101,32,101,110,100,32,111,102,32,80,77,84,32,112,97,99,107,101,116,46,32,67,97,110,110,111,116,32,112,97,114,115,101,32,99,114,99,46,32,68,114,111,112,112,105,110,103,32,112,97,99,107,101,116,0,112,101,115,32,100,111,101,110,39,116,32,115,116,97,114,116,32,119,105,116,104,32,48,120,48,48,48,48,48,49,46,32,68,114,111,112,112,105,110,103,46,46,46,0,0,0,0,0,32,112,101,115,32,112,97,99,107,101,116,32,116,104,97,116,32,104,97,115,32,100,116,115,32,98,117,116,32,110,111,116,32,112,116,115,
32,105,115,32,102,111,114,98,105,100,100,101,110,0,0,0,0,0,0,0,91,87,65,82,78,73,78,71,93,32,0,0,0,0,0,0,91,87,65,82,78,93,32,108,101,97,100,105,110,103,47,116,114,97,105,108,105,110,103,32,122,101,114,111,32,98,121,116,101,32,105,115,32,110,111,116,32,122,101,114,111,32,98,117,116,32,105,115,32,37,100,10,0,0,0,0,0,0,0,0,91,87,65,82,78,93,32,116,114,97,105,108,105,110,103,32,122,101,114,111,32,98,121,116,101,32,105,115,32,110,111,116,32,122,101,114,111,0,0,0,91,87,65,82,78,93,32,102,111,114,98,105,
100,100,101,110,32,48,32,98,105,116,32,105,115,32,110,111,116,32,122,101,114,111,0,0,0,0,0,0,69,114,114,111,114,32,105,110,32,65,68,84,83,32,115,116,114,101,97,109,58,32,102,114,97,109,101,76,101,110,61,0,32,104,101,97,100,101,114,76,101,110,61,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,2,0,0,0,8],"i8",Ha,B.cc);
N([88,32,0,0,9,0,0,0,10,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,0,0,0,0,0,0,0,112,80,0,0,56,32,0,0,208,37,0,0,0,0,0,0,0,0,0,0,192,32,0,0,11,0,0,0,12,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,13,0,0,0,5,0,0,0,14,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,112,80,0,0,168,32,0,
0,208,37,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,0,0,0,0,0,0,88,33,0,0,13,0,0,0,14,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,9,0,0,0,7,0,0,0,10,0,0,0,11,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,0,0,0,0,0,0,0,112,80,0,0,56,33,0,0,144,37,0,0,0,0,0,0,0,0,0,0,192,33,0,0,15,0,0,0,16,0,0,0,8,0,0,0,6,0,0,0,2,0,0,0,
2,0,0,0,12,0,0,0,9,0,0,0,7,0,0,0,13,0,0,0,14,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,112,80,0,0,168,33,0,0,144,37,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,0,0,0,0,0,0,0,72,80,0,0,208,33,0,0,58,32,0,0,0,0,0,0,0,0,0,0,48,34,0,0,17,0,0,0,18,0,0,0,15,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,0,112,80,0,0,24,34,0,0,96,79,0,0,0,
0,0,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,0,0,0,0,0,0,0,72,80,0,0,64,34,0,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,0,112,80,0,0,104,34,0,0,96,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,115,105,99,95,115,116,114,105,110,103,0,0,0,0,0,0,0,0,144,37,0,0,19,0,0,0,20,0,0,0,9,0,0,0,6,0,0,0,2,0,0,0,
2,0,0,0,12,0,0,0,9,0,0,0,7,0,0,0,10,0,0,0,11,0,0,0,15,0,0,0,9,0,0,0,18,0,0,0,0,0,0,0,208,37,0,0,21,0,0,0,22,0,0,0,10,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,5,0,0,0,14,0,0,0,8,0,0,0,0,0,0,0,8,38,0,0,23,0,0,0,24,0,0,0,248,255,255,255,248,255,255,255,8,38,0,0,25,0,0,0,26,0,0,0,8,0,0,0,0,0,0,0,80,38,0,0,27,0,0,0,28,0,0,0,248,255,255,255,248,255,255,255,80,38,0,0,29,0,0,0,30,0,0,0,4,0,0,0,0,0,0,0,152,38,0,0,31,0,0,0,32,0,0,0,252,255,255,255,252,255,255,255,152,38,
0,0,33,0,0,0,34,0,0,0,4,0,0,0,0,0,0,0,224,38,0,0,35,0,0,0,36,0,0,0,252,255,255,255,252,255,255,255,224,38,0,0,37,0,0,0,38,0,0,0,105,111,115,116,114,101,97,109,0,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,36,0,0,39,0,0,0,40,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,208,36,0,0,41,0,0,0,42,0,0,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,78,83,
116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,0,0,0,0,0,0,112,80,0,0,136,36,0,0,48,34,0,0,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,0,0,0,0,0,0,72,80,0,0,184,36,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,112,80,0,0,216,36,0,0,208,36,0,0,0,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,
97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,112,80,0,0,24,37,0,0,208,36,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,0,72,80,0,0,88,37,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,0,72,80,0,0,152,37,0,
0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,208,80,0,0,216,37,0,0,0,0,0,0,1,0,0,0,8,37,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,208,80,0,0,32,38,0,0,0,0,0,0,1,0,0,0,72,37,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,
114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,208,80,0,0,104,38,0,0,0,0,0,0,1,0,0,0,8,37,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,208,80,0,0,176,38,0,0,0,0,0,0,1,0,0,0,72,37,0,0,3,244,255,255,0,0,0,0,64,39,0,0,43,0,0,0,44,0,0,0,16,0,0,0,3,0,0,0,10,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,57,95,95,
105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,0,0,112,80,0,0,32,39,0,0,128,34,0,0,0,0,0,0,0,0,0,0,136,53,0,0,45,0,0,0,46,0,0,0,47,0,0,0,1,0,0,0,3,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,53,0,0,48,0,0,0,49,0,0,0,47,0,0,0,2,0,0,0,4,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,58,0,0,50,0,0,0,51,0,0,0,47,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,
69,70,120,88,43,45,112,80,105,73,110,78,0,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,248,58,0,0,52,0,0,0,53,0,0,0,47,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,59,0,0,54,0,0,0,55,0,0,0,47,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,80,60,0,0,56,0,0,0,57,0,0,0,47,0,0,0,7,0,0,0,8,0,0,
0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,120,55,0,0,58,0,0,0,59,0,0,0,47,0,0,0,17,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,120,55,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,37,72,58,37,77,0,0,0,37,72,58,37,77,58,37,83,
0,0,0,0,24,56,0,0,60,0,0,0,61,0,0,0,47,0,0,0,25,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,24,56,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,
0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,168,56,0,0,62,0,0,0,63,0,0,0,47,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,57,0,0,64,0,0,0,65,0,0,0,47,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,66,0,0,0,67,0,0,0,47,0,0,0,33,0,0,0,34,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,35,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,54,0,0,68,0,0,0,69,0,0,0,47,0,0,0,36,0,
0,0,37,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,38,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,54,0,0,70,0,0,0,71,0,0,0,47,0,0,0,39,0,0,0,40,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,41,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,54,0,0,72,0,0,0,73,0,0,0,47,0,0,0,42,0,0,0,43,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,44,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,60,0,0,74,0,0,0,75,0,0,0,47,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,
0,0,37,76,102,0,0,0,0,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,0,0,0,0,112,61,0,0,76,0,0,0,77,0,0,0,47,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,0,0,0,0,0,62,0,0,78,0,0,0,79,0,0,0,47,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,46,48,76,102,0,0,0,0,0,0,0,144,62,0,0,80,0,0,0,81,0,0,0,47,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,57,0,0,82,0,0,0,83,0,0,0,47,0,0,0,14,0,0,0,11,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,160,57,0,0,84,0,0,0,85,0,0,0,47,0,0,0,15,0,0,0,12,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,118,101,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,96,53,0,0,86,0,0,0,87,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,50,0,0,88,0,0,0,89,0,0,0,47,0,0,0,19,0,0,0,16,0,0,0,20,0,0,0,17,0,0,0,21,0,0,0,1,0,0,0,18,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,24,51,0,0,90,0,0,0,91,0,0,0,47,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,45,0,0,0,46,0,0,0,5,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,53,0,0,92,0,0,0,93,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,56,53,0,0,94,0,0,0,95,0,0,0,47,0,0,0,50,0,0,0,51,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,116,114,117,101,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,102,97,108,115,101,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,
101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,109,47,37,100,47,37,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,72,58,37,77,
58,37,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,0,0,112,49,0,0,96,0,0,0,97,0,0,0,47,0,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,0,0,112,80,0,0,88,49,
0,0,240,33,0,0,0,0,0,0,0,0,0,0,0,50,0,0,96,0,0,0,98,0,0,0,47,0,0,0,19,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,22,0,0,0,20,0,0,0,23,0,0,0,21,0,0,0,24,0,0,0,5,0,0,0,22,0,0,0,6,0,0,0,0,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,0,0,0,72,80,0,0,224,49,0,0,208,80,0,0,200,49,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,49,0,0,2,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,0,0,0,0,0,0,208,80,0,0,
32,50,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,49,0,0,2,0,0,0,0,0,0,0,208,50,0,0,96,0,0,0,99,0,0,0,47,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,52,0,0,0,53,0,0,0,8,0,0,0,54,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,0,72,80,0,0,176,50,0,0,208,80,0,0,136,50,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,200,50,0,0,2,0,0,0,78,83,116,51,95,95,49,55,99,111,
100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,208,80,0,0,240,50,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,200,50,0,0,2,0,0,0,0,0,0,0,144,51,0,0,96,0,0,0,100,0,0,0,47,0,0,0,5,0,0,0,6,0,0,0,9,0,0,0,55,0,0,0,56,0,0,0,10,0,0,0,57,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,208,80,0,0,104,51,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,200,50,0,0,2,0,0,0,0,0,0,0,8,52,0,0,96,0,
0,0,101,0,0,0,47,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,58,0,0,0,59,0,0,0,12,0,0,0,60,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,208,80,0,0,224,51,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,200,50,0,0,2,0,0,0,0,0,0,0,128,52,0,0,96,0,0,0,102,0,0,0,47,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,58,0,0,0,59,0,0,0,12,0,0,0,60,0,0,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,
69,0,0,0,0,0,0,0,112,80,0,0,88,52,0,0,8,52,0,0,0,0,0,0,0,0,0,0,232,52,0,0,96,0,0,0,103,0,0,0,47,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,58,0,0,0,59,0,0,0,12,0,0,0,60,0,0,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,112,80,0,0,192,52,0,0,8,52,0,0,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,0,0,0,112,80,0,0,248,52,0,0,112,49,0,0,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,
73,119,69,69,0,0,0,0,112,80,0,0,32,53,0,0,112,49,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,0,0,112,80,0,0,72,53,0,0,112,49,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,0,0,0,0,112,80,0,0,112,53,0,0,112,49,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,0,0,0,0,112,80,0,0,152,53,0,0,112,49,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,0,
0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,0,0,0,72,80,0,0,224,53,0,0,208,80,0,0,192,53,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,53,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,0,0,0,0,208,80,0,0,32,54,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,53,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,0,0,0,0,208,80,0,0,96,54,0,0,0,0,0,0,2,0,0,0,112,49,
0,0,2,0,0,0,248,53,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,0,0,0,0,208,80,0,0,160,54,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,53,0,0,2,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,
115,101,69,0,0,0,0,0,0,72,80,0,0,40,55,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,0,0,0,0,0,0,72,80,0,0,72,55,0,0,208,80,0,0,224,54,0,0,0,0,0,0,3,0,0,0,112,49,0,0,2,0,0,0,64,55,0,0,2,0,0,0,112,55,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,
69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,0,0,0,0,0,0,72,80,0,0,232,55,0,0,208,80,0,0,160,55,0,0,0,0,0,0,3,0,0,0,112,49,0,0,2,0,0,0,64,55,0,0,2,0,0,0,16,56,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,
0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,0,0,0,72,80,0,0,136,56,0,0,208,80,0,0,64,56,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,160,56,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,208,80,0,0,200,56,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,160,56,0,0,0,8,0,0,
78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,72,80,0,0,72,57,0,0,208,80,0,0,48,57,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,96,57,0,0,2,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,0,0,0,208,80,0,0,136,57,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,96,57,0,0,2,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,
98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,72,80,0,0,32,58,0,0,208,80,0,0,8,58,0,0,0,0,0,0,1,0,0,0,64,58,0,0,0,0,0,0,208,80,0,0,192,57,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,72,58,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,
103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,0,0,208,80,0,0,200,58,0,0,0,0,0,0,1,0,0,0,64,58,0,0,0,0,0,0,208,80,0,0,128,58,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,224,58,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,
101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,72,80,0,0,120,59,0,0,208,80,0,0,96,59,0,0,0,0,0,0,1,0,0,0,152,59,0,0,0,0,0,0,208,80,0,0,24,59,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,160,59,0,0,0,0,0,0,78,83,116,51,95,95,49,55,
110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,0,0,208,80,0,0,32,60,0,0,0,0,0,0,1,0,0,0,152,59,0,0,0,0,0,0,208,80,0,0,216,59,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,56,60,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,
49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,0,0,0,0,0,0,0,72,80,0,0,184,60,0,0,208,80,0,0,112,60,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,216,60,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,
97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,0,0,0,0,0,0,0,72,80,0,0,72,61,0,0,208,80,0,0,0,61,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,104,61,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,
105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,0,0,0,0,0,0,0,72,80,0,0,216,61,0,0,208,80,0,0,144,61,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,248,61,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,
49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,0,0,0,0,0,0,0,72,80,0,0,104,62,0,0,208,80,0,0,32,62,0,0,0,0,0,0,2,0,0,0,112,49,0,0,2,0,0,0,136,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,77,0,0,0,0,0,0,80,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,
0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,
109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,
0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,0,0,0,0,0,0,0,77,97,114,99,104,0,0,0,65,112,114,105,108,0,0,0,77,97,121,0,0,0,0,0,74,117,110,101,0,0,0,0,74,117,
108,121,0,0,0,0,65,117,103,117,115,116,0,0,83,101,112,116,101,109,98,101,114,0,0,0,0,0,0,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,0,0,0,0,0,0,0,68,101,99,101,109,98,101,114,0,0,0,0,0,0,0,0,74,97,110],"i8",Ha,B.cc+8180);
N([70,101,98,0,0,0,0,0,77,97,114,0,0,0,0,0,65,112,114,0,0,0,0,0,74,117,110,0,0,0,0,0,74,117,108,0,0,0,0,0,65,117,103,0,0,0,0,0,83,101,112,0,0,0,0,0,79,99,116,0,0,0,0,0,78,111,118,0,0,0,0,0,68,101,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,
0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,117,110,100,97,121,0,0,77,111,110,100,97,121,0,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,0,0,0,0,0,0,84,104,117,114,115,100,97,121,0,0,0,0,0,0,0,0,70,114,105,100,97,121,0,0,83,97,116,117,114,100,97,121,0,0,0,0,0,0,0,0,83,117,110,
0,0,0,0,0,77,111,110,0,0,0,0,0,84,117,101,0,0,0,0,0,87,101,100,0,0,0,0,0,84,104,117,0,0,0,0,0,70,114,105,0,0,0,0,0,83,97,116,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,
0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,144,76,0,0,0,0,0,0,117,110,99,97,117,103,104,116,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,0,0,0,116,101,114,109,105,110,97,116,105,
110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,0,0,116,101,114,109,105,110,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,
97,108,115,95,102,97,115,116,40,41,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,0,40,78,0,0,104,0,0,0,105,0,0,0,61,0,0,0,0,0,0,0,115,116,100,
58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,112,80,0,0,24,78,0,0,176,78,0,0,0,0,0,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,
116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,72,80,0,0,160,78,0,0,0,0,0,0,248,78,0,0,106,0,0,0,107,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,96,79,0,0,108,0,0,0,109,0,0,0,15,0,0,0,0,0,0,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,112,80,0,0,232,78,0,0,176,78,0,0,0,0,0,0,0,0,0,0,56,79,0,0,106,0,0,0,110,0,0,0,62,0,0,0,0,0,0,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,0,0,0,0,112,80,0,0,32,79,0,0,248,78,0,0,0,0,0,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,
114,111,114,0,0,0,0,0,0,0,112,80,0,0,72,79,0,0,176,78,0,0,0,0,0,0,0,0,0,0,192,79,0,0,111,0,0,0,112,0,0,0,63,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,72,80,0,0,152,79,0,0,83,116,56,98,97,100,95,99,97,115,116,0,0,0,0,0,112,80,0,0,176,79,0,0,176,78,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,112,80,0,0,208,79,0,0,168,79,0,0,0,0,0,
0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,112,80,0,0,8,80,0,0,248,79,0,0,0,0,0,0,0,0,0,0,48,80,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,23,0,0,0,13,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,184,80,0,0,113,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,23,0,0,0,14,0,0,0,2,0,0,0,6,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,112,80,0,0,144,
80,0,0,48,80,0,0,0,0,0,0,0,0,0,0,24,81,0,0,113,0,0,0,118,0,0,0,115,0,0,0,116,0,0,0,23,0,0,0,15,0,0,0,3,0,0,0,7,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,112,80,0,0,240,80,0,0,48,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,
255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,2,4,7,3,6,5,0,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,110,97,110,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,
0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,0,0,0,0,0,0,40,110,
117,108,108,41,0,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,0,0,0,0,0,105,110,102,0,0,0,0,0,73,78,70,0,0,0,0,0,110,97,110,0,0,0,0,0,78,65,78,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",Ha,B.cc+18424);
var rb=B.Ab(N(12,"i8",Ga),8);z(0==rb%8);function sb(a,b){ab.unshift({da:a,eb:b})}u._i64Subtract=tb;var ub=0;function R(a){return L[ub>>2]=a}
var S={Y:1,X:2,Zg:3,$f:4,Ca:5,Pc:6,yf:7,wg:8,V:9,Lf:10,ab:11,jh:11,Vd:12,$b:13,Vf:14,Ig:15,Ba:16,Nc:17,Yd:18,tb:19,vb:20,Oa:21,B:22,rg:23,Ud:24,Wd:25,gh:26,Wf:27,Eg:28,xb:29,Wg:30,kg:31,Qg:32,Sf:33,Xd:34,Ag:42,Yf:43,Mf:44,bg:45,cg:46,dg:47,jg:48,hh:49,ug:50,ag:51,Qf:35,xg:37,Df:52,Gf:53,kh:54,sg:55,Hf:56,If:57,Rf:35,Jf:59,Gg:60,vg:61,dh:62,Fg:63,Bg:64,Cg:65,Vg:66,yg:67,Bf:68,$g:69,Nf:70,Rg:71,mg:72,Tf:73,Ff:74,Mg:76,Ef:77,Ug:78,eg:79,fg:80,ig:81,hg:82,gg:83,Hg:38,bc:39,ng:36,ac:40,wb:95,Pg:96,Pf:104,
tg:105,Cf:97,Tg:91,Kg:88,Dg:92,Xg:108,Mc:111,zf:98,Of:103,qg:101,og:100,eh:110,Xf:112,Oc:113,Sd:115,Qd:114,Rd:89,lg:90,Sg:93,Yg:94,Af:99,pg:102,Td:106,ub:107,fh:109,ih:87,Uf:122,ah:116,Lg:95,zg:123,Zf:84,Ng:75,Kf:125,Jg:131,Og:130,bh:86};function vb(){return!!vb.Jc}var wb=0,xb=[],yb={};function zb(a){if(!a||yb[a])return a;for(var b in yb)if(yb[b].Wc===a)return b;return a}
function Ab(){var a=wb;if(!a)return(T.setTempRet0(0),0)|0;var b=yb[a],c=b.type;if(!c)return(T.setTempRet0(0),a)|0;var d=Array.prototype.slice.call(arguments);u.___cxa_is_pointer_type(c);Ab.buffer||(Ab.buffer=O(4));L[Ab.buffer>>2]=a;for(var a=Ab.buffer,f=0;f<d.length;f++)if(d[f]&&u.___cxa_can_catch(d[f],c,a))return a=L[a>>2],b.Wc=a,(T.setTempRet0(d[f]),a)|0;a=L[a>>2];return(T.setTempRet0(c),a)|0}u._memset=Bb;
var Cb={"0":"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",
23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",
43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",
64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",
81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",
98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",
115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function Db(a,b,c){if(a in Cb){if(Cb[a].length>c-1)return R(S.Xd);gb(Cb[a],b);return 0}return R(S.B)}function Eb(a){Eb.buffer||(Eb.buffer=O(256));Db(a,Eb.buffer,256);return Eb.buffer}function Fb(a){return 0===a%4&&(0!==a%100||0===a%400)}function Gb(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}
var Hb=[31,29,31,30,31,30,31,31,30,31,30,31],Ib=[31,28,31,30,31,30,31,31,30,31,30,31];function Jb(a,b){for(var c=new Date(a.getTime());0<b;){var d=c.getMonth(),f=(Fb(c.getFullYear())?Hb:Ib)[d];if(b>f-c.getDate())b-=f-c.getDate()+1,c.setDate(1),11>d?c.setMonth(d+1):(c.setMonth(0),c.setFullYear(c.getFullYear()+1));else{c.setDate(c.getDate()+b);break}}return c}
function Kb(a,b,c,d){function f(a,b,c){for(a="number"===typeof a?a.toString():a||"";a.length<b;)a=c[0]+a;return a}function g(a,b){return f(a,b,"0")}function i(a,b){var c;if(0===(c=0>a.getFullYear()-b.getFullYear()?-1:0<a.getFullYear()-b.getFullYear()?1:0))if(0===(c=0>a.getMonth()-b.getMonth()?-1:0<a.getMonth()-b.getMonth()?1:0))c=0>a.getDate()-b.getDate()?-1:0<a.getDate()-b.getDate()?1:0;return c}function j(a){switch(a.getDay()){case 0:return new Date(a.getFullYear()-1,11,29);case 1:return a;case 2:return new Date(a.getFullYear(),
0,3);case 3:return new Date(a.getFullYear(),0,2);case 4:return new Date(a.getFullYear(),0,1);case 5:return new Date(a.getFullYear()-1,11,31);case 6:return new Date(a.getFullYear()-1,11,30)}}function n(a){var a=Jb(new Date(a.P+1900,0,1),a.Xb),b=j(new Date(a.getFullYear()+1,0,4));return 0>=i(j(new Date(a.getFullYear(),0,4)),a)?0>=i(b,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var m=L[d+40>>2],d={uf:L[d>>2],tf:L[d+4>>2],Wa:L[d+8>>2],Na:L[d+12>>2],Aa:L[d+16>>2],P:L[d+20>>2],Nd:L[d+24>>2],
Xb:L[d+28>>2],pi:L[d+32>>2],sf:L[d+36>>2],vf:m?E(m):""},c=E(c),m={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"},w;for(w in m)c=c.replace(RegExp(w,"g"),m[w]);var s="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),y="January February March April May June July August September October November December".split(" "),m={"%a":function(a){return s[a.Nd].substring(0,3)},"%A":function(a){return s[a.Nd]},
"%b":function(a){return y[a.Aa].substring(0,3)},"%B":function(a){return y[a.Aa]},"%C":function(a){return g((a.P+1900)/100|0,2)},"%d":function(a){return g(a.Na,2)},"%e":function(a){return f(a.Na,2," ")},"%g":function(a){return n(a).toString().substring(2)},"%G":function(a){return n(a)},"%H":function(a){return g(a.Wa,2)},"%I":function(a){return g(13>a.Wa?a.Wa:a.Wa-12,2)},"%j":function(a){return g(a.Na+Gb(Fb(a.P+1900)?Hb:Ib,a.Aa-1),3)},"%m":function(a){return g(a.Aa+1,2)},"%M":function(a){return g(a.tf,
2)},"%n":r("\n"),"%p":function(a){return 0<a.Wa&&13>a.Wa?"AM":"PM"},"%S":function(a){return g(a.uf,2)},"%t":r("\t"),"%u":function(a){return(new Date(a.P+1900,a.Aa+1,a.Na,0,0,0,0)).getDay()||7},"%U":function(a){var b=new Date(a.P+1900,0,1),c=0===b.getDay()?b:Jb(b,7-b.getDay()),a=new Date(a.P+1900,a.Aa,a.Na);return 0>i(c,a)?g(Math.ceil((31-c.getDate()+(Gb(Fb(a.getFullYear())?Hb:Ib,a.getMonth()-1)-31)+a.getDate())/7),2):0===i(c,b)?"01":"00"},"%V":function(a){var b=j(new Date(a.P+1900,0,4)),c=j(new Date(a.P+
1901,0,4)),d=Jb(new Date(a.P+1900,0,1),a.Xb);return 0>i(d,b)?"53":0>=i(c,d)?"01":g(Math.ceil((b.getFullYear()<a.P+1900?a.Xb+32-b.getDate():a.Xb+1-b.getDate())/7),2)},"%w":function(a){return(new Date(a.P+1900,a.Aa+1,a.Na,0,0,0,0)).getDay()},"%W":function(a){var b=new Date(a.P,0,1),c=1===b.getDay()?b:Jb(b,0===b.getDay()?1:7-b.getDay()+1),a=new Date(a.P+1900,a.Aa,a.Na);return 0>i(c,a)?g(Math.ceil((31-c.getDate()+(Gb(Fb(a.getFullYear())?Hb:Ib,a.getMonth()-1)-31)+a.getDate())/7),2):0===i(c,b)?"01":"00"},
"%y":function(a){return(a.P+1900).toString().substring(2)},"%Y":function(a){return a.P+1900},"%z":function(a){var a=a.sf,b=0<=a,a=Math.abs(a)/60;return(b?"+":"-")+String("0000"+(100*(a/60)+a%60)).slice(-4)},"%Z":function(a){return a.vf},"%%":r("%")};for(w in m)0<=c.indexOf(w)&&(c=c.replace(RegExp(w,"g"),m[w](d)));w=fb(c,p);if(w.length>b)return 0;ta(w,a);return w.length-1}
function Lb(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}function Mb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=Lb(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function Nb(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}function Ob(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Pb(){var a=Array.prototype.slice.call(arguments,0);return Mb(a.join("/"))}function Qb(a,b){return Mb(a+"/"+b)}
function Rb(){for(var a="",b=p,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:F.lc();"string"!==typeof b&&e(new TypeError("Arguments to path.resolve must be strings"));if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Lb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}
function Sb(a,b){function c(a){for(var b=0;b<a.length&&""===a[b];b++);for(var c=a.length-1;0<=c&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}for(var a=Rb(a).substr(1),b=Rb(b).substr(1),d=c(a.split("/")),f=c(b.split("/")),g=Math.min(d.length,f.length),i=g,j=0;j<g;j++)if(d[j]!==f[j]){i=j;break}g=[];for(j=i;j<d.length;j++)g.push("..");g=g.concat(f.slice(i));return g.join("/")}var Tb=[];function Ub(a,b){Tb[a]={input:[],La:[],mb:b};F.Bc(a,Vb)}
var Vb={open:function(a){var b=Tb[a.k.Ub];b||e(new F.e(S.tb));a.ba=b;a.seekable=p},close:function(a){a.ba.La.length&&a.ba.mb.Tb(a.ba,10)},S:function(a,b,c,d){(!a.ba||!a.ba.mb.vd)&&e(new F.e(S.Pc));for(var f=0,g=0;g<d;g++){var i;try{i=a.ba.mb.vd(a.ba)}catch(j){e(new F.e(S.Ca))}i===h&&0===f&&e(new F.e(S.ab));if(i===l||i===h)break;f++;b[c+g]=i}f&&(a.k.timestamp=Date.now());return f},write:function(a,b,c,d){(!a.ba||!a.ba.mb.Tb)&&e(new F.e(S.Pc));for(var f=0;f<d;f++)try{a.ba.mb.Tb(a.ba,b[c+f])}catch(g){e(new F.e(S.Ca))}d&&
(a.k.timestamp=Date.now());return f}},Xb={vd:function(a){if(!a.input.length){var b=l;if(x){if(b=process.stdin.read(),!b){if(process.stdin._readableState&&process.stdin._readableState.ended)return l;return}}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),b!==l&&(b+="\n")):"function"==typeof readline&&(b=readline(),b!==l&&(b+="\n"));if(!b)return l;a.input=fb(b,k)}return a.input.shift()},Tb:function(a,b){b===l||10===b?(u.print(a.La.join("")),a.La=[]):a.La.push(Wb.Sb(b))}},
Yb={Tb:function(a,b){b===l||10===b?(u.printErr(a.La.join("")),a.La=[]):a.La.push(Wb.Sb(b))}},U={ga:l,L:function(){return U.createNode(l,"/",16895,0)},createNode:function(a,b,c,d){(F.Ne(c)||F.Oe(c))&&e(new F.e(S.Y));U.ga||(U.ga={dir:{k:{ea:U.o.ea,O:U.o.O,Qa:U.o.Qa,qa:U.o.qa,rename:U.o.rename,Xa:U.o.Xa,qb:U.o.qb,ob:U.o.ob,sa:U.o.sa},H:{oa:U.q.oa}},file:{k:{ea:U.o.ea,O:U.o.O},H:{oa:U.q.oa,S:U.q.S,write:U.q.write,cb:U.q.cb,jb:U.q.jb}},link:{k:{ea:U.o.ea,O:U.o.O,Ra:U.o.Ra},H:{}},ad:{k:{ea:U.o.ea,O:U.o.O},
H:F.le}});c=F.createNode(a,b,c,d);F.R(c.mode)?(c.o=U.ga.dir.k,c.q=U.ga.dir.H,c.n={}):F.isFile(c.mode)?(c.o=U.ga.file.k,c.q=U.ga.file.H,c.C=0,c.n=l):F.ib(c.mode)?(c.o=U.ga.link.k,c.q=U.ga.link.H):F.Nb(c.mode)&&(c.o=U.ga.ad.k,c.q=U.ga.ad.H);c.timestamp=Date.now();a&&(a.n[b]=c);return c},Fe:function(a){if(a.n&&a.n.subarray){for(var b=[],c=0;c<a.C;++c)b.push(a.n[c]);return b}return a.n},Ph:function(a){return!a.n?new Uint8Array:a.n.subarray?a.n.subarray(0,a.C):new Uint8Array(a.n)},od:function(a,b){a.n&&
(a.n.subarray&&b>a.n.length)&&(a.n=U.Fe(a),a.C=a.n.length);if(!a.n||a.n.subarray){var c=a.n?a.n.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.n,a.n=new Uint8Array(b),0<a.C&&a.n.set(c.subarray(0,a.C),0))}else{!a.n&&0<b&&(a.n=[]);for(;a.n.length<b;)a.n.push(0)}},lf:function(a,b){if(a.C!=b)if(0==b)a.n=l,a.C=0;else{if(!a.n||a.n.subarray){var c=a.n;a.n=new Uint8Array(new ArrayBuffer(b));c&&a.n.set(c.subarray(0,Math.min(b,a.C)))}else if(a.n||(a.n=[]),a.n.length>
b)a.n.length=b;else for(;a.n.length<b;)a.n.push(0);a.C=b}},o:{ea:function(a){var b={};b.Fh=F.Nb(a.mode)?a.id:1;b.Vh=a.id;b.mode=a.mode;b.gi=1;b.uid=0;b.Th=0;b.Ub=a.Ub;b.size=F.R(a.mode)?4096:F.isFile(a.mode)?a.C:F.ib(a.mode)?a.link.length:0;b.xh=new Date(a.timestamp);b.fi=new Date(a.timestamp);b.Dh=new Date(a.timestamp);b.ie=4096;b.yh=Math.ceil(b.size/b.ie);return b},O:function(a,b){b.mode!==h&&(a.mode=b.mode);b.timestamp!==h&&(a.timestamp=b.timestamp);b.size!==h&&U.lf(a,b.size)},Qa:function(){e(F.rc[S.X])},
qa:function(a,b,c,d){return U.createNode(a,b,c,d)},rename:function(a,b,c){if(F.R(a.mode)){var d;try{d=F.pa(b,c)}catch(f){}if(d)for(var g in d.n)e(new F.e(S.bc))}delete a.parent.n[a.name];a.name=c;b.n[c]=a;a.parent=b},Xa:function(a,b){delete a.n[b]},qb:function(a,b){var c=F.pa(a,b),d;for(d in c.n)e(new F.e(S.bc));delete a.n[b]},ob:function(a){var b=[".",".."],c;for(c in a.n)a.n.hasOwnProperty(c)&&b.push(c);return b},sa:function(a,b,c){a=U.createNode(a,b,41471,0);a.link=c;return a},Ra:function(a){F.ib(a.mode)||
e(new F.e(S.B));return a.link}},q:{S:function(a,b,c,d,f){var g=a.k.n;if(f>=a.k.C)return 0;a=Math.min(a.k.C-f,d);z(0<=a);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){if(!d)return 0;a=a.k;a.timestamp=Date.now();if(b.subarray&&(!a.n||a.n.subarray)){if(g)return a.n=b.subarray(c,c+d),a.C=d;if(0===a.C&&0===f)return a.n=new Uint8Array(b.subarray(c,c+d)),a.C=d;if(f+d<=a.C)return a.n.set(b.subarray(c,c+d),f),d}U.od(a,f+d);if(a.n.subarray&&
b.subarray)a.n.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.n[f+g]=b[c+g];a.C=Math.max(a.C,f+d);return d},oa:function(a,b,c){1===c?b+=a.position:2===c&&F.isFile(a.k.mode)&&(b+=a.k.C);0>b&&e(new F.e(S.B));a.Zb=[];return a.position=b},cb:function(a,b,c){U.od(a.k,b+c);a.k.C=Math.max(a.k.C,b+c)},jb:function(a,b,c,d,f,g,i){F.isFile(a.k.mode)||e(new F.e(S.tb));c=a.k.n;if(!(i&2)&&(c.buffer===b||c.buffer===b.buffer))a=p,d=c.byteOffset;else{if(0<f||f+d<a.k.C)c=c.subarray?c.subarray(f,f+d):Array.prototype.slice.call(c,
f,f+d);a=k;(d=O(d))||e(new F.e(S.Vd));b.set(c,d)}return{df:d,wh:a}}}},Zb=N(1,"i32*",Ga),$b=N(1,"i32*",Ga),ac=N(1,"i32*",Ga),F={root:l,lb:[],hd:[l],Ma:[],Xe:1,fa:l,dd:"/",Mb:p,yd:k,N:{},Od:{Fd:{ae:1,de:2}},e:l,rc:{},Lb:function(a){a instanceof F.e||e(a+" : "+Ka());return R(a.Hb)},G:function(a,b){a=Rb(F.lc(),a);b=b||{};if(!a)return{path:"",k:l};var c={pc:k,Ac:0},d;for(d in c)b[d]===h&&(b[d]=c[d]);8<b.Ac&&e(new F.e(S.ac));var c=Lb(a.split("/").filter(function(a){return!!a}),p),f=F.root;d="/";for(var g=
0;g<c.length;g++){var i=g===c.length-1;if(i&&b.parent)break;f=F.pa(f,c[g]);d=Qb(d,c[g]);if(F.Ga(f)&&(!i||i&&b.pc))f=f.kb.root;if(!i||b.ca)for(i=0;F.ib(f.mode);)f=F.Ra(d),d=Rb(Nb(d),f),f=F.G(d,{Ac:b.Ac}).k,40<i++&&e(new F.e(S.ac))}return{path:d,k:f}},wa:function(a){for(var b;;){if(F.Ob(a))return a=a.L.Ve,!b?a:"/"!==a[a.length-1]?a+"/"+b:a+b;b=b?a.name+"/"+b:a.name;a=a.parent}},tc:function(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%F.fa.length},wd:function(a){var b=
F.tc(a.parent.id,a.name);a.Ja=F.fa[b];F.fa[b]=a},xd:function(a){var b=F.tc(a.parent.id,a.name);if(F.fa[b]===a)F.fa[b]=a.Ja;else for(b=F.fa[b];b;){if(b.Ja===a){b.Ja=a.Ja;break}b=b.Ja}},pa:function(a,b){var c=F.Te(a);c&&e(new F.e(c,a));for(c=F.fa[F.tc(a.id,b)];c;c=c.Ja){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return F.Qa(a,b)},createNode:function(a,b,c,d){F.yb||(F.yb=function(a,b,c,d){a||(a=this);this.parent=a;this.L=a.L;this.kb=l;this.id=F.Xe++;this.name=b;this.mode=c;this.o={};this.q={};
this.Ub=d},F.yb.prototype={},Object.defineProperties(F.yb.prototype,{S:{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}},Pe:{get:function(){return F.R(this.mode)}},uc:{get:function(){return F.Nb(this.mode)}}}));a=new F.yb(a,b,c,d);F.wd(a);return a},mc:function(a){F.xd(a)},Ob:function(a){return a===a.parent},Ga:function(a){return!!a.kb},isFile:function(a){return 32768===
(a&61440)},R:function(a){return 16384===(a&61440)},ib:function(a){return 40960===(a&61440)},Nb:function(a){return 8192===(a&61440)},Ne:function(a){return 24576===(a&61440)},Oe:function(a){return 4096===(a&61440)},Qe:function(a){return 49152===(a&49152)},Be:{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},Dd:function(a){var b=F.Be[a];"undefined"===typeof b&&e(Error("Unknown file open mode: "+a));return b},Ce:function(a){var b=
["r","w","rw"][a&2097155];a&512&&(b+="w");return b},Ka:function(a,b){return F.yd?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?S.$b:0},Te:function(a){var b=F.Ka(a,"x");return b?b:!a.o.Qa?S.$b:0},xc:function(a,b){try{return F.pa(a,b),S.Nc}catch(c){}return F.Ka(a,"wx")},Pb:function(a,b,c){var d;try{d=F.pa(a,b)}catch(f){return f.Hb}if(a=F.Ka(a,"wx"))return a;if(c){if(!F.R(d.mode))return S.vb;if(F.Ob(d)||F.wa(d)===F.lc())return S.Ba}else if(F.R(d.mode))return S.Oa;
return 0},Ue:function(a,b){return!a?S.X:F.ib(a.mode)?S.ac:F.R(a.mode)&&(0!==(b&2097155)||b&512)?S.Oa:F.Ka(a,F.Ce(b))},$d:4096,Ye:function(a,b){for(var b=b||F.$d,c=a||0;c<=b;c++)if(!F.Ma[c])return c;e(new F.e(S.Ud))},ya:function(a){return F.Ma[a]},bd:function(a,b,c){F.zb||(F.zb=q(),F.zb.prototype={},Object.defineProperties(F.zb.prototype,{object:{get:function(){return this.k},set:function(a){this.k=a}},Xh:{get:function(){return 1!==(this.J&2097155)}},Yh:{get:function(){return 0!==(this.J&2097155)}},
Wh:{get:function(){return this.J&1024}}}));var d=new F.zb,f;for(f in a)d[f]=a[f];a=d;b=F.Ye(b,c);a.F=b;return F.Ma[b]=a},me:function(a){F.Ma[a]=l},Pa:function(a){return F.Ma[a-1]},sc:function(a){return a?a.F+1:0},le:{open:function(a){a.q=F.Ee(a.k.Ub).q;a.q.open&&a.q.open(a)},oa:function(){e(new F.e(S.xb))}},wc:function(a){return a>>8},ei:function(a){return a&255},Ia:function(a,b){return a<<8|b},Bc:function(a,b){F.hd[a]={q:b}},Ee:function(a){return F.hd[a]},qd:function(a){for(var b=[],a=[a];a.length;){var c=
a.pop();b.push(c);a.push.apply(a,c.lb)}return b},Md:function(a,b){function c(a){if(a){if(!c.ze)return c.ze=k,b(a)}else++f>=d.length&&b(l)}"function"===typeof a&&(b=a,a=p);var d=F.qd(F.root.L),f=0;d.forEach(function(b){if(!b.type.Md)return c(l);b.type.Md(b,a,c)})},L:function(a,b,c){var d="/"===c,f=!c,g;d&&F.root&&e(new F.e(S.Ba));!d&&!f&&(g=F.G(c,{pc:p}),c=g.path,g=g.k,F.Ga(g)&&e(new F.e(S.Ba)),F.R(g.mode)||e(new F.e(S.vb)));b={type:a,ii:b,Ve:c,lb:[]};a=a.L(b);a.L=b;b.root=a;d?F.root=a:g&&(g.kb=b,
g.L&&g.L.lb.push(b));return a},qi:function(a){a=F.G(a,{pc:p});F.Ga(a.k)||e(new F.e(S.B));var a=a.k,b=a.kb,c=F.qd(b);Object.keys(F.fa).forEach(function(a){for(a=F.fa[a];a;){var b=a.Ja;-1!==c.indexOf(a.L)&&F.mc(a);a=b}});a.kb=l;b=a.L.lb.indexOf(b);z(-1!==b);a.L.lb.splice(b,1)},Qa:function(a,b){return a.o.Qa(a,b)},qa:function(a,b,c){var d=F.G(a,{parent:k}).k,a=Ob(a);(!a||"."===a||".."===a)&&e(new F.e(S.B));var f=F.xc(d,a);f&&e(new F.e(f));d.o.qa||e(new F.e(S.Y));return d.o.qa(d,a,b,c)},create:function(a,
b){b=(b!==h?b:438)&4095;b|=32768;return F.qa(a,b,0)},za:function(a,b){b=(b!==h?b:511)&1023;b|=16384;return F.qa(a,b,0)},Qb:function(a,b,c){"undefined"===typeof c&&(c=b,b=438);return F.qa(a,b|8192,c)},sa:function(a,b){Rb(a)||e(new F.e(S.X));var c=F.G(b,{parent:k}).k;c||e(new F.e(S.X));var d=Ob(b),f=F.xc(c,d);f&&e(new F.e(f));c.o.sa||e(new F.e(S.Y));return c.o.sa(c,d,a)},rename:function(a,b){var c=Nb(a),d=Nb(b),f=Ob(a),g=Ob(b),i,j,n;try{i=F.G(a,{parent:k}),j=i.k,i=F.G(b,{parent:k}),n=i.k}catch(m){e(new F.e(S.Ba))}(!j||
!n)&&e(new F.e(S.X));j.L!==n.L&&e(new F.e(S.Yd));i=F.pa(j,f);d=Sb(a,d);"."!==d.charAt(0)&&e(new F.e(S.B));d=Sb(b,c);"."!==d.charAt(0)&&e(new F.e(S.bc));var w;try{w=F.pa(n,g)}catch(s){}if(i!==w){c=F.R(i.mode);(f=F.Pb(j,f,c))&&e(new F.e(f));(f=w?F.Pb(n,g,c):F.xc(n,g))&&e(new F.e(f));j.o.rename||e(new F.e(S.Y));(F.Ga(i)||w&&F.Ga(w))&&e(new F.e(S.Ba));n!==j&&(f=F.Ka(j,"w"))&&e(new F.e(f));try{F.N.willMovePath&&F.N.willMovePath(a,b)}catch(y){console.log("FS.trackingDelegate['willMovePath']('"+a+"', '"+
b+"') threw an exception: "+y.message)}F.xd(i);try{j.o.rename(i,n,g)}catch(K){e(K)}finally{F.wd(i)}try{if(F.N.onMovePath)F.N.onMovePath(a,b)}catch(M){console.log("FS.trackingDelegate['onMovePath']('"+a+"', '"+b+"') threw an exception: "+M.message)}}},qb:function(a){var b=F.G(a,{parent:k}).k,c=Ob(a),d=F.pa(b,c),f=F.Pb(b,c,k);f&&e(new F.e(f));b.o.qb||e(new F.e(S.Y));F.Ga(d)&&e(new F.e(S.Ba));try{F.N.willDeletePath&&F.N.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+g.message)}b.o.qb(b,c);F.mc(d);try{if(F.N.onDeletePath)F.N.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},ob:function(a){a=F.G(a,{ca:k}).k;a.o.ob||e(new F.e(S.vb));return a.o.ob(a)},Xa:function(a){var b=F.G(a,{parent:k}).k,c=Ob(a),d=F.pa(b,c),f=F.Pb(b,c,p);f&&(f===S.Oa&&(f=S.Y),e(new F.e(f)));b.o.Xa||e(new F.e(S.Y));F.Ga(d)&&e(new F.e(S.Ba));try{F.N.willDeletePath&&F.N.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+g.message)}b.o.Xa(b,c);F.mc(d);try{if(F.N.onDeletePath)F.N.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},Ra:function(a){(a=F.G(a).k)||e(new F.e(S.X));a.o.Ra||e(new F.e(S.B));return a.o.Ra(a)},Kd:function(a,b){var c=F.G(a,{ca:!b}).k;c||e(new F.e(S.X));c.o.ea||e(new F.e(S.Y));return c.o.ea(c)},di:function(a){return F.Kd(a,k)},Bb:function(a,b,c){a="string"===typeof a?F.G(a,{ca:!c}).k:a;a.o.O||e(new F.e(S.Y));
a.o.O(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},$h:function(a,b){F.Bb(a,b,k)},Ih:function(a,b){var c=F.ya(a);c||e(new F.e(S.V));F.Bb(c.k,b)},$c:function(a,b,c,d){a="string"===typeof a?F.G(a,{ca:!d}).k:a;a.o.O||e(new F.e(S.Y));a.o.O(a,{timestamp:Date.now()})},ai:function(a,b,c){F.$c(a,b,c,k)},Jh:function(a,b,c){(a=F.ya(a))||e(new F.e(S.V));F.$c(a.k,b,c)},truncate:function(a,b){0>b&&e(new F.e(S.B));var c;c="string"===typeof a?F.G(a,{ca:k}).k:a;c.o.O||e(new F.e(S.Y));F.R(c.mode)&&e(new F.e(S.Oa));
F.isFile(c.mode)||e(new F.e(S.B));var d=F.Ka(c,"w");d&&e(new F.e(d));c.o.O(c,{size:b,timestamp:Date.now()})},Lh:function(a,b){var c=F.ya(a);c||e(new F.e(S.V));0===(c.J&2097155)&&e(new F.e(S.B));F.truncate(c.k,b)},ri:function(a,b,c){a=F.G(a,{ca:k}).k;a.o.O(a,{timestamp:Math.max(b,c)})},open:function(a,b,c,d,f){""===a&&e(new F.e(S.X));var b="string"===typeof b?F.Dd(b):b,c=b&64?("undefined"===typeof c?438:c)&4095|32768:0,g;if("object"===typeof a)g=a;else{a=Mb(a);try{g=F.G(a,{ca:!(b&131072)}).k}catch(i){}}var j=
p;b&64&&(g?b&128&&e(new F.e(S.Nc)):(g=F.qa(a,c,0),j=k));g||e(new F.e(S.X));F.Nb(g.mode)&&(b&=-513);j||(c=F.Ue(g,b))&&e(new F.e(c));b&512&&F.truncate(g,0);b&=-641;d=F.bd({k:g,path:F.wa(g),J:b,seekable:k,position:0,q:g.q,Zb:[],error:p},d,f);d.q.open&&d.q.open(d);u.logReadFiles&&!(b&1)&&(F.zc||(F.zc={}),a in F.zc||(F.zc[a]=1,u.printErr("read file: "+a)));try{F.N.onOpenFile&&(f=0,1!==(b&2097155)&&(f|=F.Od.Fd.ae),0!==(b&2097155)&&(f|=F.Od.Fd.de),F.N.onOpenFile(a,f))}catch(n){console.log("FS.trackingDelegate['onOpenFile']('"+
a+"', flags) threw an exception: "+n.message)}return d},close:function(a){try{a.q.close&&a.q.close(a)}catch(b){e(b)}finally{F.me(a.F)}},oa:function(a,b,c){(!a.seekable||!a.q.oa)&&e(new F.e(S.xb));return a.q.oa(a,b,c)},S:function(a,b,c,d,f){(0>d||0>f)&&e(new F.e(S.B));1===(a.J&2097155)&&e(new F.e(S.V));F.R(a.k.mode)&&e(new F.e(S.Oa));a.q.S||e(new F.e(S.B));var g=k;"undefined"===typeof f?(f=a.position,g=p):a.seekable||e(new F.e(S.xb));b=a.q.S(a,b,c,d,f);g||(a.position+=b);return b},write:function(a,
b,c,d,f,g){(0>d||0>f)&&e(new F.e(S.B));0===(a.J&2097155)&&e(new F.e(S.V));F.R(a.k.mode)&&e(new F.e(S.Oa));a.q.write||e(new F.e(S.B));a.J&1024&&F.oa(a,0,2);var i=k;"undefined"===typeof f?(f=a.position,i=p):a.seekable||e(new F.e(S.xb));b=a.q.write(a,b,c,d,f,g);i||(a.position+=b);try{if(a.path&&F.N.onWriteToFile)F.N.onWriteToFile(a.path)}catch(j){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+j.message)}return b},cb:function(a,b,c){(0>b||0>=c)&&e(new F.e(S.B));0===
(a.J&2097155)&&e(new F.e(S.V));!F.isFile(a.k.mode)&&!F.R(node.mode)&&e(new F.e(S.tb));a.q.cb||e(new F.e(S.wb));a.q.cb(a,b,c)},jb:function(a,b,c,d,f,g,i){1===(a.J&2097155)&&e(new F.e(S.$b));a.q.jb||e(new F.e(S.tb));return a.q.jb(a,b,c,d,f,g,i)},hb:function(a,b,c){a.q.hb||e(new F.e(S.Wd));return a.q.hb(a,b,c)},ji:function(a,b){b=b||{};b.J=b.J||"r";b.encoding=b.encoding||"binary";"utf8"!==b.encoding&&"binary"!==b.encoding&&e(Error('Invalid encoding type "'+b.encoding+'"'));var c,d=F.open(a,b.J),f=F.Kd(a).size,
g=new Uint8Array(f);F.S(d,g,0,f,0);if("utf8"===b.encoding){c="";for(var i=new B.bb,j=0;j<f;j++)c+=i.Sb(g[j])}else"binary"===b.encoding&&(c=g);F.close(d);return c},si:function(a,b,c){c=c||{};c.J=c.J||"w";c.encoding=c.encoding||"utf8";"utf8"!==c.encoding&&"binary"!==c.encoding&&e(Error('Invalid encoding type "'+c.encoding+'"'));a=F.open(a,c.J,c.mode);"utf8"===c.encoding?(b=new Uint8Array((new B.bb).Hd(b)),F.write(a,b,0,b.length,0,c.ke)):"binary"===c.encoding&&F.write(a,b,0,b.length,0,c.ke);F.close(a)},
lc:function(){return F.dd},Ah:function(a){a=F.G(a,{ca:k});F.R(a.k.mode)||e(new F.e(S.vb));var b=F.Ka(a.k,"x");b&&e(new F.e(b));F.dd=a.path},oe:function(){F.za("/tmp");F.za("/home");F.za("/home/web_user")},ne:function(){F.za("/dev");F.Bc(F.Ia(1,3),{S:r(0),write:r(0)});F.Qb("/dev/null",F.Ia(1,3));Ub(F.Ia(5,0),Xb);Ub(F.Ia(6,0),Yb);F.Qb("/dev/tty",F.Ia(5,0));F.Qb("/dev/tty1",F.Ia(6,0));var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=
x?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};F.ka("/dev","random",a);F.ka("/dev","urandom",a);F.za("/dev/shm");F.za("/dev/shm/tmp")},we:function(){u.stdin?F.ka("/dev","stdin",u.stdin):F.sa("/dev/tty","/dev/stdin");u.stdout?F.ka("/dev","stdout",l,u.stdout):F.sa("/dev/tty","/dev/stdout");u.stderr?F.ka("/dev","stderr",l,u.stderr):F.sa("/dev/tty1","/dev/stderr");var a=F.open("/dev/stdin","r");L[Zb>>2]=F.sc(a);z(0===a.F,"invalid handle for stdin ("+a.F+
")");a=F.open("/dev/stdout","w");L[$b>>2]=F.sc(a);z(1===a.F,"invalid handle for stdout ("+a.F+")");a=F.open("/dev/stderr","w");L[ac>>2]=F.sc(a);z(2===a.F,"invalid handle for stderr ("+a.F+")")},kd:function(){F.e||(F.e=function(a,b){this.k=b;this.of=function(a){this.Hb=a;for(var b in S)if(S[b]===a){this.code=b;break}};this.of(a);this.message=Cb[a]},F.e.prototype=Error(),[S.X].forEach(function(a){F.rc[a]=new F.e(a);F.rc[a].stack="<generic error, no stack>"}))},rf:function(){F.kd();F.fa=Array(4096);
F.L(U,{},"/");F.oe();F.ne()},gb:function(a,b,c){z(!F.gb.Mb,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");F.gb.Mb=k;F.kd();u.stdin=a||u.stdin;u.stdout=b||u.stdout;u.stderr=c||u.stderr;F.we()},ff:function(){F.gb.Mb=p;for(var a=0;a<F.Ma.length;a++){var b=F.Ma[a];b&&F.close(b)}},Jb:function(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c},Zh:function(a,b){var c=Pb.apply(l,a);
b&&"/"==c[0]&&(c=c.substr(1));return c},qh:function(a,b){return Rb(b,a)},mi:function(a){return Mb(a)},Kh:function(a,b){var c=F.hc(a,b);if(c.oc)return c.object;R(c.error);return l},hc:function(a,b){try{var c=F.G(a,{ca:!b}),a=c.path}catch(d){}var f={Ob:p,oc:p,error:0,name:l,path:l,object:l,af:p,cf:l,bf:l};try{c=F.G(a,{parent:k}),f.af=k,f.cf=c.path,f.bf=c.k,f.name=Ob(a),c=F.G(a,{ca:!b}),f.oc=k,f.path=c.path,f.object=c.k,f.name=c.k.name,f.Ob="/"===c.path}catch(g){f.error=g.Hb}return f},qe:function(a,
b,c,d){a=Qb("string"===typeof a?a:F.wa(a),b);return F.za(a,F.Jb(c,d))},te:function(a,b){for(var a="string"===typeof a?a:F.wa(a),c=b.split("/").reverse();c.length;){var d=c.pop();if(d){var f=Qb(a,d);try{F.za(f)}catch(g){}a=f}}return f},pe:function(a,b,c,d,f){a=Qb("string"===typeof a?a:F.wa(a),b);return F.create(a,F.Jb(d,f))},kc:function(a,b,c,d,f,g){a=b?Qb("string"===typeof a?a:F.wa(a),b):a;d=F.Jb(d,f);f=F.create(a,d);if(c){if("string"===typeof c){for(var a=Array(c.length),b=0,i=c.length;b<i;++b)a[b]=
c.charCodeAt(b);c=a}F.Bb(f,d|146);a=F.open(f,"w");F.write(a,c,0,c.length,0,g);F.close(a);F.Bb(f,d)}return f},ka:function(a,b,c,d){a=Qb("string"===typeof a?a:F.wa(a),b);b=F.Jb(!!c,!!d);F.ka.wc||(F.ka.wc=64);var f=F.Ia(F.ka.wc++,0);F.Bc(f,{open:function(a){a.seekable=p},close:function(){d&&(d.buffer&&d.buffer.length)&&d(10)},S:function(a,b,d,f){for(var m=0,w=0;w<f;w++){var s;try{s=c()}catch(y){e(new F.e(S.Ca))}s===h&&0===m&&e(new F.e(S.ab));if(s===l||s===h)break;m++;b[d+w]=s}m&&(a.k.timestamp=Date.now());
return m},write:function(a,b,c,f){for(var m=0;m<f;m++)try{d(b[c+m])}catch(w){e(new F.e(S.Ca))}f&&(a.k.timestamp=Date.now());return m}});return F.Qb(a,b,f)},se:function(a,b,c){a=Qb("string"===typeof a?a:F.wa(a),b);return F.sa(c,a)},pd:function(a){if(a.uc||a.Pe||a.link||a.n)return k;var b=k;"undefined"!==typeof XMLHttpRequest&&e(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(u.read)try{a.n=fb(u.read(a.url),k),a.C=a.n.length}catch(c){b=p}else e(Error("Cannot load without read() or XMLHttpRequest."));b||R(S.Ca);return b},re:function(a,b,c,d,f){function g(){this.vc=p;this.Db=[]}g.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.Cb;return this.Ie(a/this.Cb|0)[b]}};g.prototype.nf=function(a){this.Ie=a};g.prototype.Yc=function(){var a=new XMLHttpRequest;a.open("HEAD",c,p);a.send(l);200<=a.status&&300>a.status||304===a.status||e(Error("Couldn't load "+c+
". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&&"bytes"===d))f=b;var g=this;g.nf(function(a){var d=a*f,i=(a+1)*f-1,i=Math.min(i,b-1);if("undefined"===typeof g.Db[a]){var j=g.Db;d>i&&e(Error("invalid range ("+d+", "+i+") or no bytes requested!"));i>b-1&&e(Error("only "+b+" bytes available! programmer error!"));var m=new XMLHttpRequest;m.open("GET",c,p);b!==f&&m.setRequestHeader("Range","bytes="+d+"-"+i);"undefined"!=
typeof Uint8Array&&(m.responseType="arraybuffer");m.overrideMimeType&&m.overrideMimeType("text/plain; charset=x-user-defined");m.send(l);200<=m.status&&300>m.status||304===m.status||e(Error("Couldn't load "+c+". Status: "+m.status));d=m.response!==h?new Uint8Array(m.response||[]):fb(m.responseText||"",k);j[a]=d}"undefined"===typeof g.Db[a]&&e(Error("doXHR failed!"));return g.Db[a]});this.fe=b;this.ee=f;this.vc=k};if("undefined"!==typeof XMLHttpRequest){da||e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
var i=new g;Object.defineProperty(i,"length",{get:function(){this.vc||this.Yc();return this.fe}});Object.defineProperty(i,"chunkSize",{get:function(){this.vc||this.Yc();return this.ee}});i={uc:p,n:i}}else i={uc:p,url:c};var j=F.pe(a,b,i,d,f);i.n?j.n=i.n:i.url&&(j.n=l,j.url=i.url);Object.defineProperty(j,"usedBytes",{get:function(){return this.n.length}});var n={};Object.keys(j.q).forEach(function(a){var b=j.q[a];n[a]=function(){F.pd(j)||e(new F.e(S.Ca));return b.apply(l,arguments)}});n.S=function(a,
b,c,d,f){F.pd(j)||e(new F.e(S.Ca));a=a.k.n;if(f>=a.length)return 0;d=Math.min(a.length-f,d);z(0<=d);if(a.slice)for(var g=0;g<d;g++)b[c+g]=a[f+g];else for(g=0;g<d;g++)b[c+g]=a.get(f+g);return d};j.q=n;return j},ue:function(a,b,c,d,f,g,i,j,n){function m(){bc=document.pointerLockElement===y||document.mozPointerLockElement===y||document.webkitPointerLockElement===y||document.msPointerLockElement===y}function w(c){function m(c){j||F.kc(a,b,c,d,f,n);g&&g();nb()}var s=p;u.preloadPlugins.forEach(function(a){!s&&
a.canHandle(K)&&(a.handle(c,K,m,function(){i&&i();nb()}),s=k)});s||m(c)}u.preloadPlugins||(u.preloadPlugins=[]);if(!cc){cc=k;try{new Blob,dc=k}catch(s){dc=p,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}ec="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:!dc?console.log("warning: no BlobBuilder"):l;fc="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:h;!u.Ed&&"undefined"===typeof fc&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),
u.Ed=k);u.preloadPlugins.push({canHandle:function(a){return!u.Ed&&/\.(jpg|jpeg|png|bmp)$/i.test(a)},handle:function(a,b,c,d){var f=l;if(dc)try{f=new Blob([a],{type:gc(b)}),f.size!==a.length&&(f=new Blob([(new Uint8Array(a)).buffer],{type:gc(b)}))}catch(g){B.Ya("Blob constructor present but fails: "+g+"; falling back to blob builder")}f||(f=new ec,f.append((new Uint8Array(a)).buffer),f=f.getBlob());var i=fc.createObjectURL(f),j=new Image;j.onload=function(){z(j.complete,"Image "+b+" could not be decoded");
var d=document.createElement("canvas");d.width=j.width;d.height=j.height;d.getContext("2d").drawImage(j,0,0);u.preloadedImages[b]=d;fc.revokeObjectURL(i);c&&c(a)};j.onerror=function(){console.log("Image "+i+" could not be decoded");d&&d()};j.src=i}});u.preloadPlugins.push({canHandle:function(a){return!u.hi&&a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(a,b,c,d){function f(d){i||(i=k,u.preloadedAudios[b]=d,c&&c(a))}function g(){i||(i=k,u.preloadedAudios[b]=new Audio,d&&d())}var i=p;if(dc){try{var j=
new Blob([a],{type:gc(b)})}catch(m){return g()}var j=fc.createObjectURL(j),n=new Audio;n.addEventListener("canplaythrough",function(){f(n)},p);n.onerror=function(){if(!i){console.log("warning: browser could not fully decode audio "+b+", trying slower base64 approach");for(var c="",d=0,g=0,j=0;j<a.length;j++){d=d<<8|a[j];for(g+=8;6<=g;)var m=d>>g-6&63,g=g-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[m]}2==g?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&
3)<<4],c+="=="):4==g&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&15)<<2],c+="=");n.src="data:audio/x-"+b.substr(-3)+";base64,"+c;f(n)}};n.src=j;u.noExitRuntime=k;setTimeout(function(){na||f(n)},1E4)}else return g()}});var y=u.canvas;y&&(y.Cc=y.requestPointerLock||y.mozRequestPointerLock||y.webkitRequestPointerLock||y.msRequestPointerLock||q(),y.nd=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||q(),y.nd=
y.nd.bind(document),document.addEventListener("pointerlockchange",m,p),document.addEventListener("mozpointerlockchange",m,p),document.addEventListener("webkitpointerlockchange",m,p),document.addEventListener("mspointerlockchange",m,p),u.elementPointerLock&&y.addEventListener("click",function(a){!bc&&y.Cc&&(y.Cc(),a.preventDefault())},p))}var K=b?Rb(Qb(a,b)):a;mb();"string"==typeof c?hc(c,function(a){w(a)},i):w(c)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||
window.msIndexedDB},Kc:function(){return"EM_FS_"+window.location.pathname},Lc:20,Za:"FILE_DATA",li:function(a,b,c){var b=b||q(),c=c||q(),d=F.indexedDB();try{var f=d.open(F.Kc(),F.Lc)}catch(g){return c(g)}f.$e=function(){console.log("creating db");f.result.createObjectStore(F.Za)};f.onsuccess=function(){var d=f.result.transaction([F.Za],"readwrite"),g=d.objectStore(F.Za),n=0,m=0,w=a.length;a.forEach(function(a){a=g.put(F.hc(a).object.n,a);a.onsuccess=function(){n++;n+m==w&&(0==m?b():c())};a.onerror=
function(){m++;n+m==w&&(0==m?b():c())}});d.onerror=c};f.onerror=c},ci:function(a,b,c){var b=b||q(),c=c||q(),d=F.indexedDB();try{var f=d.open(F.Kc(),F.Lc)}catch(g){return c(g)}f.$e=c;f.onsuccess=function(){var d=f.result;try{var g=d.transaction([F.Za],"readonly")}catch(n){c(n);return}var m=g.objectStore(F.Za),w=0,s=0,y=a.length;a.forEach(function(a){var d=m.get(a);d.onsuccess=function(){F.hc(a).oc&&F.Xa(a);F.kc(Nb(a),Ob(a),d.result,k,k,k);w++;w+s==y&&(0==s?b():c())};d.onerror=function(){s++;w+s==y&&
(0==s?b():c())}});g.onerror=c};f.onerror=c}};function ic(){e("TODO")}
var V={L:function(){u.websocket=u.websocket&&"object"===typeof u.websocket?u.websocket:{};u.websocket.ec={};u.websocket.on=function(a,b){"function"===typeof b&&(this.ec[a]=b);return this};u.websocket.Z=function(a,b){"function"===typeof this.ec[a]&&this.ec[a].call(this,b)};return F.createNode(l,"/",16895,0)},ve:function(a,b,c){c&&z(1==b==(6==c));a={Ae:a,type:b,protocol:c,M:l,error:l,nb:{},yc:[],Sa:[],Ua:V.U};b=V.Rb();c=F.createNode(V.root,b,49152,0);c.Ta=a;b=F.bd({path:b,k:c,J:F.Dd("r+"),seekable:p,
q:V.q});a.H=b;return a},td:function(a){a=F.ya(a);return!a||!F.Qe(a.k.mode)?l:a.k.Ta},q:{Gd:function(a){a=a.k.Ta;return a.Ua.Gd(a)},hb:function(a,b,c){a=a.k.Ta;return a.Ua.hb(a,b,c)},S:function(a,b,c,d){a=a.k.Ta;d=a.Ua.hf(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a,b,c,d){a=a.k.Ta;return a.Ua.mf(a,b,c,d)},close:function(a){a=a.k.Ta;a.Ua.close(a)}},Rb:function(){V.Rb.cd||(V.Rb.cd=0);return"socket["+V.Rb.cd++ +"]"},U:{Fb:function(a,b,c){var d;"object"===typeof b&&(d=
b,c=b=l);if(d)d._socket?(b=d._socket.remoteAddress,c=d._socket.remotePort):((c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(d.url))||e(Error("WebSocket URL must be in the format ws(s)://address:port")),b=c[1],c=parseInt(c[2],10));else try{var f=u.websocket&&"object"===typeof u.websocket,g="ws:#".replace("#","//");f&&"string"===typeof u.websocket.url&&(g=u.websocket.url);if("ws://"===g||"wss://"===g)var i=b.split("/"),g=g+i[0]+":"+c+"/"+i.slice(1).join("/");i="binary";f&&"string"===typeof u.websocket.subprotocol&&
(i=u.websocket.subprotocol);var i=i.replace(/^ +| +$/g,"").split(/ *, */),j=x?{protocol:i.toString()}:i;d=new (x?require("ws"):window.WebSocket)(g,j);d.binaryType="arraybuffer"}catch(n){e(new F.e(S.Oc))}b={ja:b,port:c,p:d,Gb:[]};V.U.Vc(a,b);V.U.Le(a,b);2===a.type&&"undefined"!==typeof a.Va&&b.Gb.push(new Uint8Array([255,255,255,255,112,111,114,116,(a.Va&65280)>>8,a.Va&255]));return b},Kb:function(a,b,c){return a.nb[b+":"+c]},Vc:function(a,b){a.nb[b.ja+":"+b.port]=b},Id:function(a,b){delete a.nb[b.ja+
":"+b.port]},Le:function(a,b){function c(){u.websocket.Z("open",a.H.F);try{for(var c=b.Gb.shift();c;)b.p.send(c),c=b.Gb.shift()}catch(d){b.p.close()}}function d(c){z("string"!==typeof c&&c.byteLength!==h);var c=new Uint8Array(c),d=f;f=p;d&&10===c.length&&255===c[0]&&255===c[1]&&255===c[2]&&255===c[3]&&112===c[4]&&111===c[5]&&114===c[6]&&116===c[7]?(c=c[8]<<8|c[9],V.U.Id(a,b),b.port=c,V.U.Vc(a,b)):(a.Sa.push({ja:b.ja,port:b.port,data:c}),u.websocket.Z("message",a.H.F))}var f=k;x?(b.p.on("open",c),
b.p.on("message",function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),b.p.on("close",function(){u.websocket.Z("close",a.H.F)}),b.p.on("error",function(){a.error=S.Mc;u.websocket.Z("error",[a.H.F,a.error,"ECONNREFUSED: Connection refused"])})):(b.p.onopen=c,b.p.onclose=function(){u.websocket.Z("close",a.H.F)},b.p.onmessage=function(a){d(a.data)},b.p.onerror=function(){a.error=S.Mc;u.websocket.Z("error",[a.H.F,a.error,"ECONNREFUSED: Connection refused"])})},Gd:function(a){if(1===a.type&&a.M)return a.yc.length?
65:0;var b=0,c=1===a.type?V.U.Kb(a,a.la,a.ma):l;if(a.Sa.length||!c||c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=65;if(!c||c&&c.p.readyState===c.p.OPEN)b|=4;if(c&&c.p.readyState===c.p.sb||c&&c.p.readyState===c.p.CLOSED)b|=16;return b},hb:function(a,b,c){switch(b){case 21531:return b=0,a.Sa.length&&(b=a.Sa[0].data.length),L[c>>2]=b,0;default:return S.B}},close:function(a){if(a.M){try{a.M.close()}catch(b){}a.M=l}for(var c=Object.keys(a.nb),d=0;d<c.length;d++){var f=a.nb[c[d]];try{f.p.close()}catch(g){}V.U.Id(a,
f)}return 0},bind:function(a,b,c){("undefined"!==typeof a.Dc||"undefined"!==typeof a.Va)&&e(new F.e(S.B));a.Dc=b;a.Va=c||ic();if(2===a.type){a.M&&(a.M.close(),a.M=l);try{a.Ua.Re(a,0)}catch(d){d instanceof F.e||e(d),d.Hb!==S.wb&&e(d)}}},Bh:function(a,b,c){a.M&&e(new F.e(S.wb));if("undefined"!==typeof a.la&&"undefined"!==typeof a.ma){var d=V.U.Kb(a,a.la,a.ma);d&&(d.p.readyState===d.p.CONNECTING&&e(new F.e(S.Qd)),e(new F.e(S.Td)))}b=V.U.Fb(a,b,c);a.la=b.ja;a.ma=b.port;e(new F.e(S.Sd))},Re:function(a){x||
e(new F.e(S.wb));a.M&&e(new F.e(S.B));var b=require("ws").Server;a.M=new b({host:a.Dc,port:a.Va});u.websocket.Z("listen",a.H.F);a.M.on("connection",function(b){if(1===a.type){var d=V.ve(a.Ae,a.type,a.protocol),b=V.U.Fb(d,b);d.la=b.ja;d.ma=b.port;a.yc.push(d);u.websocket.Z("connection",d.H.F)}else V.U.Fb(a,b),u.websocket.Z("connection",a.H.F)});a.M.on("closed",function(){u.websocket.Z("close",a.H.F);a.M=l});a.M.on("error",function(){a.error=S.Oc;u.websocket.Z("error",[a.H.F,a.error,"EHOSTUNREACH: Host is unreachable"])})},
accept:function(a){a.M||e(new F.e(S.B));var b=a.yc.shift();b.H.J=a.H.J;return b},Sh:function(a,b){var c,d;b?((a.la===h||a.ma===h)&&e(new F.e(S.ub)),c=a.la,d=a.ma):(c=a.Dc||0,d=a.Va||0);return{ja:c,port:d}},mf:function(a,b,c,d,f,g){if(2===a.type){if(f===h||g===h)f=a.la,g=a.ma;(f===h||g===h)&&e(new F.e(S.Rd))}else f=a.la,g=a.ma;var i=V.U.Kb(a,f,g);1===a.type&&((!i||i.p.readyState===i.p.sb||i.p.readyState===i.p.CLOSED)&&e(new F.e(S.ub)),i.p.readyState===i.p.CONNECTING&&e(new F.e(S.ab)));b=b instanceof
Array||b instanceof ArrayBuffer?b.slice(c,c+d):b.buffer.slice(b.byteOffset+c,b.byteOffset+c+d);if(2===a.type&&(!i||i.p.readyState!==i.p.OPEN)){if(!i||i.p.readyState===i.p.sb||i.p.readyState===i.p.CLOSED)i=V.U.Fb(a,f,g);i.Gb.push(b);return d}try{return i.p.send(b),d}catch(j){e(new F.e(S.B))}},hf:function(a,b){1===a.type&&a.M&&e(new F.e(S.ub));var c=a.Sa.shift();if(!c){if(1===a.type){var d=V.U.Kb(a,a.la,a.ma);if(d){if(d.p.readyState===d.p.sb||d.p.readyState===d.p.CLOSED)return l;e(new F.e(S.ab))}e(new F.e(S.ub))}e(new F.e(S.ab))}var d=
c.data.byteLength||c.data.length,f=c.data.byteOffset||0,g=c.data.buffer||c.data,i=Math.min(b,d),j={buffer:new Uint8Array(g,f,i),ja:c.ja,port:c.port};1===a.type&&i<d&&(c.data=new Uint8Array(g,f+i,d-i),a.Sa.unshift(c));return j}}};function jc(a,b,c){a=F.ya(a);if(!a)return R(S.V),-1;try{return F.write(a,I,b,c)}catch(d){return F.Lb(d),-1}}function kc(a){a=F.Pa(a);return!a?-1:a.F}function lc(a,b,c,d){c*=b;if(0==c)return 0;a=jc(kc(d),a,c);if(-1==a){if(b=F.Pa(d))b.error=k;return 0}return a/b|0}
u._strlen=mc;function nc(a){return 0>a||0===a&&-Infinity===1/a}
function oc(a,b){function c(a){var c;"double"===a?c=(L[rb>>2]=L[b+f>>2],L[rb+4>>2]=L[b+(f+4)>>2],+Ca[rb>>3]):"i64"==a?c=[L[b+f>>2],L[b+(f+4)>>2]]:(a="i32",c=L[b+f>>2]);f+=B.rd(a);return c}for(var d=a,f=0,g=[],i,j;;){var n=d;i=I[d>>0];if(0===i)break;j=I[d+1>>0];if(37==i){var m=p,w=p,s=p,y=p,K=p;a:for(;;){switch(j){case 43:m=k;break;case 45:w=k;break;case 35:s=k;break;case 48:if(y)break a;else{y=k;break}case 32:K=k;break;default:break a}d++;j=I[d+1>>0]}var M=0;if(42==j)M=c("i32"),d++,j=I[d+1>>0];else for(;48<=
j&&57>=j;)M=10*M+(j-48),d++,j=I[d+1>>0];var X=p,J=-1;if(46==j){J=0;X=k;d++;j=I[d+1>>0];if(42==j)J=c("i32"),d++;else for(;;){j=I[d+1>>0];if(48>j||57<j)break;J=10*J+(j-48);d++}j=I[d+1>>0]}0>J&&(J=6,X=p);var C;switch(String.fromCharCode(j)){case "h":j=I[d+2>>0];104==j?(d++,C=1):C=2;break;case "l":j=I[d+2>>0];108==j?(d++,C=8):C=4;break;case "L":case "q":case "j":C=8;break;case "z":case "t":case "I":C=4;break;default:C=l}C&&d++;j=I[d+1>>0];switch(String.fromCharCode(j)){case "d":case "i":case "u":case "o":case "x":case "X":case "p":n=
100==j||105==j;C=C||4;var D=i=c("i"+8*C),v;8==C&&(i=B.Se(i[0],i[1],117==j));4>=C&&(i=(n?ib:hb)(i&Math.pow(256,C)-1,8*C));var ia=Math.abs(i),n="";if(100==j||105==j)v=8==C&&pc?pc.stringify(D[0],D[1],l):ib(i,8*C).toString(10);else if(117==j)v=8==C&&pc?pc.stringify(D[0],D[1],k):hb(i,8*C).toString(10),i=Math.abs(i);else if(111==j)v=(s?"0":"")+ia.toString(8);else if(120==j||88==j){n=s&&0!=i?"0x":"";if(8==C&&pc)if(D[1]){v=(D[1]>>>0).toString(16);for(s=(D[0]>>>0).toString(16);8>s.length;)s="0"+s;v+=s}else v=
(D[0]>>>0).toString(16);else if(0>i){i=-i;v=(ia-1).toString(16);D=[];for(s=0;s<v.length;s++)D.push((15-parseInt(v[s],16)).toString(16));for(v=D.join("");v.length<2*C;)v="f"+v}else v=ia.toString(16);88==j&&(n=n.toUpperCase(),v=v.toUpperCase())}else 112==j&&(0===ia?v="(nil)":(n="0x",v=ia.toString(16)));if(X)for(;v.length<J;)v="0"+v;0<=i&&(m?n="+"+n:K&&(n=" "+n));"-"==v.charAt(0)&&(n="-"+n,v=v.substr(1));for(;n.length+v.length<M;)w?v+=" ":y?v="0"+v:n=" "+n;v=n+v;v.split("").forEach(function(a){g.push(a.charCodeAt(0))});
break;case "f":case "F":case "e":case "E":case "g":case "G":i=c("double");if(isNaN(i))v="nan",y=p;else if(isFinite(i)){X=p;C=Math.min(J,20);if(103==j||71==j)X=k,J=J||1,C=parseInt(i.toExponential(C).split("e")[1],10),J>C&&-4<=C?(j=(103==j?"f":"F").charCodeAt(0),J-=C+1):(j=(103==j?"e":"E").charCodeAt(0),J--),C=Math.min(J,20);if(101==j||69==j)v=i.toExponential(C),/[eE][-+]\d$/.test(v)&&(v=v.slice(0,-1)+"0"+v.slice(-1));else if(102==j||70==j)v=i.toFixed(C),0===i&&nc(i)&&(v="-"+v);n=v.split("e");if(X&&
!s)for(;1<n[0].length&&-1!=n[0].indexOf(".")&&("0"==n[0].slice(-1)||"."==n[0].slice(-1));)n[0]=n[0].slice(0,-1);else for(s&&-1==v.indexOf(".")&&(n[0]+=".");J>C++;)n[0]+="0";v=n[0]+(1<n.length?"e"+n[1]:"");69==j&&(v=v.toUpperCase());0<=i&&(m?v="+"+v:K&&(v=" "+v))}else v=(0>i?"-":"")+"inf",y=p;for(;v.length<M;)v=w?v+" ":y&&("-"==v[0]||"+"==v[0])?v[0]+"0"+v.slice(1):(y?"0":" ")+v;97>j&&(v=v.toUpperCase());v.split("").forEach(function(a){g.push(a.charCodeAt(0))});break;case "s":y=(m=c("i8*"))?mc(m):6;
X&&(y=Math.min(y,J));if(!w)for(;y<M--;)g.push(32);if(m)for(s=0;s<y;s++)g.push(P[m++>>0]);else g=g.concat(fb("(null)".substr(0,y),k));if(w)for(;y<M--;)g.push(32);break;case "c":for(w&&g.push(c("i8"));0<--M;)g.push(32);w||g.push(c("i8"));break;case "n":w=c("i32*");L[w>>2]=g.length;break;case "%":g.push(i);break;default:for(s=n;s<d+2;s++)g.push(I[s>>0])}d+=2}else g.push(i),d+=1}return g}function qc(a,b,c){c=oc(b,c);b=B.Wb();a=lc(N(c,"i8",Fa),1,c.length,a);B.Hc(b);return a}
function rc(a,b){rc.Ec||(rc.Ec={});a in rc.Ec||(B.Fa("v",b),rc.Ec[a]=1)}var sc=xa;function tc(a,b){var c=hb(a&255);I[tc.T>>0]=c;if(-1==jc(kc(b),tc.T,1)){if(c=F.Pa(b))c.error=k;return-1}return c}var uc={};u._i64Add=vc;function wc(a,b){return jc(kc(b),a,mc(a))}function xc(a,b,c){a=F.ya(a);if(!a)return R(S.V),-1;try{return F.S(a,I,b,c)}catch(d){return F.Lb(d),-1}}
function yc(a,b,c,d){c*=b;if(0==c)return 0;var f=0,d=F.Pa(d);if(!d)return R(S.V),0;for(;d.Zb.length&&0<c;)I[a++>>0]=d.Zb.pop(),c--,f++;a=xc(d.F,a,c);if(-1==a)return d&&(d.error=k),0;f+=a;f<c&&(d.md=k);return f/b|0}function zc(a){var b=F.Pa(a);if(!b||b.md||b.error)return-1;a=yc(zc.T,1,1,a);return 0==a?-1:-1==a?(b.error=k,-1):P[zc.T>>0]}function Ac(a,b){Bc=a;Cc=b;if(!Dc)return 1;0==a?(Ec=function(){setTimeout(Fc,b)},Gc="timeout"):1==a&&(Ec=function(){Hc(Fc)},Gc="rAF");return 0}
function Ic(a,b,c,d){u.noExitRuntime=k;z(!Dc,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Dc=a;Jc=d;var f=Kc;Fc=function(){if(!na)if(0<Lc.length){var b=Date.now(),c=Lc.shift();c.da(c.eb);if(Mc){var j=Mc,n=0==j%1?j-1:Math.floor(j);Mc=c.Ch?n:(8*j+(n+0.5))/9}console.log('main loop blocker "'+c.name+'" took '+(Date.now()-b)+" ms");u.setStatus&&(b=u.statusMessage||
"Please wait...",c=Mc,j=Nc.Hh,c?c<j?u.setStatus(b+" ("+(j-c)+"/"+j+")"):u.setStatus(b):u.setStatus(""));setTimeout(Fc,0)}else if(!(f<Kc))if(Oc=Oc+1|0,1==Bc&&1<Cc&&0!=Oc%Cc)Ec();else{"timeout"===Gc&&u.Eh&&(u.ra("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Gc="");a:if(!na&&!(u.preMainLoop&&u.preMainLoop()===p)){try{"undefined"!==
typeof d?B.Fa("vi",a,[d]):B.Fa("v",a)}catch(m){if(m instanceof ja)break a;m&&("object"===typeof m&&m.stack)&&u.ra("exception thrown: "+[m,m.stack]);e(m)}u.postMainLoop&&u.postMainLoop()}f<Kc||("object"===typeof SDL&&(SDL.Xc&&SDL.Xc.ef)&&SDL.Xc.ef(),Ec())}};b&&0<b?Ac(0,1E3/b):Ac(1,1);Ec();c&&e("SimulateInfiniteLoop")}var Ec=l,Gc="",Kc=0,Dc=l,Jc=0,Bc=0,Cc=0,Oc=0,Lc=[],Nc={},Fc,Mc,Pc=p,bc=p,Qc=p,Rc=h,Sc=h,Tc=0;
function Uc(a){var b=Date.now();if(0===Tc)Tc=b+1E3/60;else for(;b+2>=Tc;)Tc+=1E3/60;b=Math.max(Tc-b,0);setTimeout(a,b)}function Hc(a){"undefined"===typeof window?Uc(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Uc),window.requestAnimationFrame(a))}
function gc(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}
function hc(a,b,c){function d(){c?c():e('Loading data file "'+a+'" failed.')}var f=new XMLHttpRequest;f.open("GET",a,k);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response){var c=f.response;z(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));nb()}else d()};f.onerror=d;f.send(l);mb()}var Vc=[];function Wc(){var a=u.canvas;Vc.forEach(function(b){b(a.width,a.height)})}
function Xc(a,b,c){b&&c?(a.xf=b,a.Me=c):(b=a.xf,c=a.Me);var d=b,f=c;u.forcedAspectRatio&&0<u.forcedAspectRatio&&(d/f<u.forcedAspectRatio?d=Math.round(f*u.forcedAspectRatio):f=Math.round(d/u.forcedAspectRatio));if((document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===
a.parentNode&&"undefined"!=typeof screen)var g=Math.min(screen.width/d,screen.height/f),d=Math.round(d*g),f=Math.round(f*g);Sc?(a.width!=d&&(a.width=d),a.height!=f&&(a.height=f),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||f!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",f+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))}
var cc,dc,ec,fc;
function Yc(){if(!Yc.T){for(var a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,8195,8194,8194,8194,8194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,24577,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,55304,55304,55304,55304,55304,55304,
55304,55304,55304,55304,49156,49156,49156,49156,49156,49156,49156,54536,54536,54536,54536,54536,54536,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,49156,49156,49156,49156,49156,49156,54792,54792,54792,54792,54792,54792,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,49156,49156,49156,49156,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],b=O(2*a.length),c=0;c<a.length;c++)wa[b+2*c>>1]=a[c];Yc.T=N([b+256],"i16*",Ea)}return Yc.T}var Zc=0;function Ja(){}u._free=Ja;function O(a){return B.fb(a+8)+8&4294967288}u._malloc=O;function $c(a,b){return a%b}u._bitshift64Lshr=ad;
function bd(){if(!bd.T){for(var a=[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,
245,246,247,248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,
148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],b=O(4*a.length),c=0;c<a.length;c++)L[b+4*c>>2]=a[c];bd.T=N([b+512],"i32*",
Ea)}return bd.T}
function cd(){if(!cd.T){for(var a=[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,
245,246,247,248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,
137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],b=O(4*a.length),c=0;c<a.length;c++)L[b+
4*c>>2]=a[c];cd.T=N([b+512],"i32*",Ea)}return cd.T}u._memcpy=dd;var ed=1;function fd(a){fd.je||(G=G+4095&-4096,fd.je=k,z(B.fb),fd.he=B.fb,B.fb=function(){la("cannot dynamically allocate, sbrk now has control")});var b=G;0!=a&&fd.he(a);return b}u._bitshift64Shl=gd;function hd(a,b){var c=O(a*b);Bb(c,0,a*b);return c}u._calloc=hd;u._memmove=id;function jd(a){try{return Ja(a)}catch(b){}}
function kd(){if(kd.Jd)kd.Jd=p;else{T.setThrew(0);var a=xb.pop();if(a){if(a=zb(a)){var b=yb[a];z(0<b.pb);b.pb--;0===b.pb&&(b.gd&&B.Fa("vi",b.gd,[a]),delete yb[a],jd(a))}wb=0}}}function ld(a,b){return nc(a)===nc(b)?a:-a}var md=N(1,"i32*",Ga),ub=B.Ld(4);L[ub>>2]=0;F.rf();Za.unshift({da:function(){!u.noFSInit&&!F.gb.Mb&&F.gb()}});$a.push({da:function(){F.yd=p}});ab.push({da:function(){F.ff()}});u.FS_createFolder=F.qe;u.FS_createPath=F.te;u.FS_createDataFile=F.kc;u.FS_createPreloadedFile=F.ue;
u.FS_createLazyFile=F.re;u.FS_createLink=F.se;u.FS_createDevice=F.ka;Za.unshift({da:q()});ab.push({da:q()});var Wb=new B.bb;x&&(require("fs"),process.platform.match(/^win/));Za.push({da:function(){V.root=F.L(V,{},l)}});tc.T=N([0],"i8",Ga);zc.T=N([0],"i8",Ga);
u.requestFullScreen=function(a,b){function c(){Pc=p;var a=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(d.Zc=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||
q(),d.Zc=d.Zc.bind(document),Rc&&d.Cc(),Pc=k,Sc&&("undefined"!=typeof SDL&&(a=Ma[SDL.screen+0*B.Da>>2],L[SDL.screen+0*B.Da>>2]=a|8388608),Wc())):(a.parentNode.insertBefore(d,a),a.parentNode.removeChild(a),Sc&&("undefined"!=typeof SDL&&(a=Ma[SDL.screen+0*B.Da>>2],L[SDL.screen+0*B.Da>>2]=a&-8388609),Wc()));if(u.onFullScreen)u.onFullScreen(Pc);Xc(d)}Rc=a;Sc=b;"undefined"===typeof Rc&&(Rc=k);"undefined"===typeof Sc&&(Sc=p);var d=u.canvas;Qc||(Qc=k,document.addEventListener("fullscreenchange",c,p),document.addEventListener("mozfullscreenchange",
c,p),document.addEventListener("webkitfullscreenchange",c,p),document.addEventListener("MSFullscreenChange",c,p));var f=document.createElement("div");d.parentNode.insertBefore(f,d);f.appendChild(d);f.kf=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:l);f.kf()};u.requestAnimationFrame=function(a){Hc(a)};u.setCanvasSize=function(a,b,c){Xc(u.canvas,a,b);c||Wc()};
u.pauseMainLoop=function(){Ec=l;Kc++};u.resumeMainLoop=function(){Kc++;var a=Bc,b=Cc,c=Dc;Dc=l;Ic(c,0,p,Jc);Ac(a,b)};u.getUserMedia=function(){window.ud||(window.ud=navigator.getUserMedia||navigator.mozGetUserMedia);window.ud(h)};Oa=A=B.Ab(ma);Pa=Oa+Ra;Qa=G=B.Ab(Pa);z(Qa<H,"TOTAL_MEMORY not big enough for stack");
var nd=N([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0],"i8",3),od=N([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,
0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3),ya=Math.min;
var T=(function(global,env,buffer) {
// EMSCRIPTEN_START_ASM
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env.___dso_handle|0;var p=env._stderr|0;var q=env._stdin|0;var r=env._stdout|0;var s=0;var t=0;var u=0;var v=0;var w=+env.NaN,x=+env.Infinity;var y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0.0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=global.Math.floor;var S=global.Math.abs;var T=global.Math.sqrt;var U=global.Math.pow;var V=global.Math.cos;var W=global.Math.sin;var X=global.Math.tan;var Y=global.Math.acos;var Z=global.Math.asin;var _=global.Math.atan;var $=global.Math.atan2;var aa=global.Math.exp;var ba=global.Math.log;var ca=global.Math.ceil;var da=global.Math.imul;var ea=env.abort;var fa=env.assert;var ga=env.min;var ha=env.invoke_iiii;var ia=env.invoke_viiiiiii;var ja=env.invoke_viiiii;var ka=env.invoke_vi;var la=env.invoke_vii;var ma=env.invoke_viiiiiiiii;var na=env.invoke_ii;var oa=env.invoke_viiiiiid;var pa=env.invoke_viii;var qa=env.invoke_viiiiid;var ra=env.invoke_v;var sa=env.invoke_iiiiiiiii;var ta=env.invoke_iiiii;var ua=env.invoke_viiiiiiii;var va=env.invoke_viiiiii;var wa=env.invoke_iii;var xa=env.invoke_iiiiii;var ya=env.invoke_viiii;var za=env._fabs;var Aa=env._strftime;var Ba=env._pthread_cond_wait;var Ca=env._copysignl;var Da=env._send;var Ea=env._atexit;var Fa=env._fread;var Ga=env.___ctype_b_loc;var Ha=env._fmod;var Ia=env.___cxa_guard_acquire;var Ja=env.__reallyNegative;var Ka=env._vfprintf;var La=env._ungetc;var Ma=env.___cxa_free_exception;var Na=env.___cxa_allocate_exception;var Oa=env.__ZSt18uncaught_exceptionv;var Pa=env.___ctype_toupper_loc;var Qa=env._fflush;var Ra=env.___cxa_guard_release;var Sa=env.__addDays;var Ta=env._pwrite;var Ua=env._strerror_r;var Va=env._strftime_l;var Wa=env._fprintf;var Xa=env._emscripten_set_main_loop_timing;var Ya=env._sbrk;var Za=env._uselocale;var _a=env._catgets;var $a=env._newlocale;var ab=env.___cxa_begin_catch;var bb=env._emscripten_memcpy_big;var cb=env.___cxa_end_catch;var db=env.___resumeException;var eb=env.___cxa_find_matching_catch;var fb=env._sysconf;var gb=env._emscripten_worker_respond;var hb=env._pthread_getspecific;var ib=env.__arraySum;var jb=env._calloc;var kb=env.___ctype_tolower_loc;var lb=env._fileno;var mb=env._pthread_mutex_unlock;var nb=env._pthread_once;var ob=env._pread;var pb=env._puts;var qb=env._printf;var rb=env._pthread_key_create;var sb=env._getc;var tb=env._write;var ub=env.__isLeapYear;var vb=env._emscripten_set_main_loop;var wb=env.___errno_location;var xb=env._recv;var yb=env._pthread_setspecific;var zb=env._copysign;var Ab=env._fgetc;var Bb=env._fputc;var Cb=env._mkport;var Db=env._freelocale;var Eb=env._pthread_cond_broadcast;var Fb=env.___cxa_rethrow;var Gb=env._abort;var Hb=env._catclose;var Ib=env._fwrite;var Jb=env.___cxa_throw;var Kb=env._pthread_mutex_lock;var Lb=env._strerror;var Mb=env.___cxa_atexit;var Nb=env.__formatString;var Ob=env._fputs;var Pb=env._catopen;var Qb=env._time;var Rb=env._read;var Sb=env.___setErrNo;var Tb=env._fmodl;var Ub=0.0;
// EMSCRIPTEN_START_FUNCS
function Kh(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=i;i=i+304|0;u=l+200|0;t=l+196|0;m=l+184|0;d=l+172|0;r=l+168|0;s=l+8|0;o=l+4|0;p=l;q=Sn(g)|0;ci(m,g,u,t);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;ff(d,10,0);if((a[d>>0]&1)==0){z=d+1|0;w=z;g=d+8|0}else{z=d+8|0;w=d+1|0;g=z;z=c[z>>2]|0}c[r>>2]=z;c[o>>2]=s;c[p>>2]=0;v=d+4|0;x=c[t>>2]|0;t=c[e>>2]|0;a:while(1){if((t|0)!=0){y=c[t+12>>2]|0;if((y|0)==(c[t+16>>2]|0))y=$b[c[(c[t>>2]|0)+36>>2]&63](t)|0;else y=c[y>>2]|0;if((y|0)==-1){c[e>>2]=0;A=1;t=0}else A=0}else{A=1;t=0}y=c[f>>2]|0;do if((y|0)!=0){B=c[y+12>>2]|0;if((B|0)==(c[y+16>>2]|0))B=$b[c[(c[y>>2]|0)+36>>2]&63](y)|0;else B=c[B>>2]|0;if(!((B|0)==-1))if(A)break;else break a;else{c[f>>2]=0;k=17;break}}else k=17;while(0);if((k|0)==17){k=0;if(A){y=0;break}else y=0}A=a[d>>0]|0;B=(A&1)==0;if(B)C=(A&255)>>>1;else C=c[v>>2]|0;if((c[r>>2]|0)==(z+C|0)){if(B){z=(A&255)>>>1;A=(A&255)>>>1}else{A=c[v>>2]|0;z=A}ff(d,z<<1,0);if((a[d>>0]&1)==0)z=10;else z=(c[d>>2]&-2)+ -1|0;ff(d,z,0);if((a[d>>0]&1)==0)z=w;else z=c[g>>2]|0;c[r>>2]=z+A}B=t+12|0;C=c[B>>2]|0;A=t+16|0;if((C|0)==(c[A>>2]|0))C=$b[c[(c[t>>2]|0)+36>>2]&63](t)|0;else C=c[C>>2]|0;if((_h(C,q,z,r,p,x,m,s,o,u)|0)!=0)break;y=c[B>>2]|0;if((y|0)==(c[A>>2]|0)){$b[c[(c[t>>2]|0)+40>>2]&63](t)|0;continue}else{c[B>>2]=y+4;continue}}u=a[m>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[m+4>>2]|0;if((u|0)!=0?(n=c[o>>2]|0,(n-s|0)<160):0){C=c[p>>2]|0;c[o>>2]=n+4;c[n>>2]=C}B=no(z,c[r>>2]|0,h,q)|0;C=j;c[C>>2]=B;c[C+4>>2]=H;Rk(m,s,c[o>>2]|0,h);if((t|0)!=0){j=c[t+12>>2]|0;if((j|0)==(c[t+16>>2]|0))j=$b[c[(c[t>>2]|0)+36>>2]&63](t)|0;else j=c[j>>2]|0;if((j|0)==-1){c[e>>2]=0;t=0;e=1}else e=0}else{t=0;e=1}do if((y|0)!=0){j=c[y+12>>2]|0;if((j|0)==(c[y+16>>2]|0))j=$b[c[(c[y>>2]|0)+36>>2]&63](y)|0;else j=c[j>>2]|0;if((j|0)==-1){c[f>>2]=0;k=56;break}if(e){c[b>>2]=t;bf(d);bf(m);i=l;return}}else k=56;while(0);if((k|0)==56?!e:0){c[b>>2]=t;bf(d);bf(m);i=l;return}c[h>>2]=c[h>>2]|2;c[b>>2]=t;bf(d);bf(m);i=l;return}function Lh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;b=i;i=i+16|0;j=b+12|0;k=b+8|0;m=b+4|0;l=b;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];c[k+0>>2]=c[m+0>>2];c[j+0>>2]=c[l+0>>2];Mh(a,0,k,j,f,g,h);i=b;return}function Mh(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=i;i=i+304|0;v=m+200|0;u=m+196|0;n=m+184|0;e=m+172|0;s=m+168|0;t=m+8|0;p=m+4|0;q=m;r=Sn(h)|0;ci(n,h,v,u);c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;ff(e,10,0);if((a[e>>0]&1)==0){A=e+1|0;x=A;h=e+8|0}else{A=e+8|0;x=e+1|0;h=A;A=c[A>>2]|0}c[s>>2]=A;c[p>>2]=t;c[q>>2]=0;w=e+4|0;y=c[u>>2]|0;u=c[f>>2]|0;a:while(1){if((u|0)!=0){z=c[u+12>>2]|0;if((z|0)==(c[u+16>>2]|0))z=$b[c[(c[u>>2]|0)+36>>2]&63](u)|0;else z=c[z>>2]|0;if((z|0)==-1){c[f>>2]=0;B=1;u=0}else B=0}else{B=1;u=0}z=c[g>>2]|0;do if((z|0)!=0){C=c[z+12>>2]|0;if((C|0)==(c[z+16>>2]|0))C=$b[c[(c[z>>2]|0)+36>>2]&63](z)|0;else C=c[C>>2]|0;if(!((C|0)==-1))if(B)break;else break a;else{c[g>>2]=0;l=17;break}}else l=17;while(0);if((l|0)==17){l=0;if(B){z=0;break}else z=0}B=a[e>>0]|0;C=(B&1)==0;if(C)D=(B&255)>>>1;else D=c[w>>2]|0;if((c[s>>2]|0)==(A+D|0)){if(C){A=(B&255)>>>1;B=(B&255)>>>1}else{B=c[w>>2]|0;A=B}ff(e,A<<1,0);if((a[e>>0]&1)==0)A=10;else A=(c[e>>2]&-2)+ -1|0;ff(e,A,0);if((a[e>>0]&1)==0)A=x;else A=c[h>>2]|0;c[s>>2]=A+B}C=u+12|0;D=c[C>>2]|0;B=u+16|0;if((D|0)==(c[B>>2]|0))D=$b[c[(c[u>>2]|0)+36>>2]&63](u)|0;else D=c[D>>2]|0;if((_h(D,r,A,s,q,y,n,t,p,v)|0)!=0)break;z=c[C>>2]|0;if((z|0)==(c[B>>2]|0)){$b[c[(c[u>>2]|0)+40>>2]&63](u)|0;continue}else{c[C>>2]=z+4;continue}}v=a[n>>0]|0;if((v&1)==0)v=(v&255)>>>1;else v=c[n+4>>2]|0;if((v|0)!=0?(o=c[p>>2]|0,(o-t|0)<160):0){D=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=D}b[k>>1]=mo(A,c[s>>2]|0,j,r)|0;Rk(n,t,c[p>>2]|0,j);if((u|0)!=0){k=c[u+12>>2]|0;if((k|0)==(c[u+16>>2]|0))k=$b[c[(c[u>>2]|0)+36>>2]&63](u)|0;else k=c[k>>2]|0;if((k|0)==-1){c[f>>2]=0;u=0;f=1}else f=0}else{u=0;f=1}do if((z|0)!=0){k=c[z+12>>2]|0;if((k|0)==(c[z+16>>2]|0))k=$b[c[(c[z>>2]|0)+36>>2]&63](z)|0;else k=c[k>>2]|0;if((k|0)==
function lc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function mc(){return i|0}function nc(a){a=a|0;i=a}function oc(a,b){a=a|0;b=b|0;if((s|0)==0){s=a;t=b}}function pc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function qc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function rc(a){a=a|0;H=a}function sc(){return H|0}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=i;if((d|0)==0){b=wc(b,c,a+32|0)|0;if((b|0)==0)e=4}else if((d|0)==1){b=xc(b,c,a+32|0)|0;if((b|0)==0)e=4}else b=2;if((e|0)==4)b=0;i=f;return b|0}function uc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=i;e=b+16|0;f=0;do{g=a[c+f>>0]|0;a[b+f>>0]=g;a[e+f>>0]=g;f=f+1|0}while((f|0)!=16);i=d;return 0}function vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;h=f;e=c[e>>2]|0;if((e&15|0)!=0){l=2;i=f;return l|0}j=h+0|0;l=b+16|0;k=j+16|0;do{a[j>>0]=a[l>>0]|0;j=j+1|0;l=l+1|0}while((j|0)<(k|0));if((e|0)<=0){l=0;i=f;return l|0}b=b+32|0;while(1){k=0;j=d;while(1){a[g+k>>0]=a[j>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+1|0}yc(g,b);k=0;j=d;while(1){m=a[j>>0]|0;l=h+k|0;a[j>>0]=a[l>>0]^a[g+k>>0];a[l>>0]=m;k=k+1|0;if((k|0)==16)break;else j=j+1|0}e=e+ -16|0;if((e|0)<=0){g=0;break}else d=d+16|0}i=f;return g|0}function wc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((e|0)==32){c[f+240>>2]=14;zc(f,b);zc(f+16|0,b+16|0);e=2;h=1;do{b=f+(e+ -1<<4)|0;if((e&1|0)==0){l=h&255;k=f+(e<<4)|0;a[k>>0]=a[8+(d[b+13>>0]|0)>>0]^h;a[k+1>>0]=a[8+(d[b+14>>0]|0)>>0]|0;a[k+2>>0]=a[8+(d[b+15>>0]|0)>>0]|0;a[k+3>>0]=a[8+(d[b+12>>0]|0)>>0]|0;h=l<<1;h=((l&128|0)!=0?h^27:h)&255}else{l=f+(e<<4)|0;a[l>>0]=a[8+(d[b+12>>0]|0)>>0]|0;a[l+1>>0]=a[8+(d[b+13>>0]|0)>>0]|0;a[l+2>>0]=a[8+(d[b+14>>0]|0)>>0]|0;a[l+3>>0]=a[8+(d[b+15>>0]|0)>>0]|0}j=e+ -2|0;k=f+(j<<4)|0;l=f+(e<<4)|0;b=c[l>>2]^c[k>>2];c[l>>2]=b;b=b^c[k+4>>2];c[l+4>>2]=b;j=b^c[f+(j<<4)+8>>2];c[f+(e<<4)+8>>2]=j;c[l+12>>2]=j^c[k+12>>2];e=e+1|0}while((e|0)!=15);f=0;i=g;return f|0}else if((e|0)==16){c[f+240>>2]=10;zc(f,b);e=c[f>>2]|0;b=c[f+4>>2]|0;h=c[f+8>>2]|0;j=1;k=1;while(1){m=f+(j+ -1<<4)|0;l=f+(j<<4)|0;a[l>>0]=(d[8+(d[m+13>>0]|0)>>0]|0)^k;a[l+1>>0]=a[8+(d[m+14>>0]|0)>>0]|0;a[l+2>>0]=a[8+(d[m+15>>0]|0)>>0]|0;a[l+3>>0]=a[8+(d[m+12>>0]|0)>>0]|0;e=c[l>>2]^e;c[l>>2]=e;b=e^b;c[l+4>>2]=b;h=b^h;c[f+(j<<4)+8>>2]=h;c[l+12>>2]=h^c[m+12>>2];l=k<<1&510;j=j+1|0;if((j|0)==11){f=0;break}else k=(k&128|0)!=0?l^27:l}i=g;return f|0}else{m=2;i=g;return m|0}return 0}function xc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;a=wc(a,b,e)|0;if((a|0)!=0){h=a;i=f;return h|0}a=c[e+240>>2]|0;b=(a|0)/2|0;g=(a|0)>1;if(g)h=0;else{h=0;i=f;return h|0}do{j=a-h|0;n=e+(j<<4)|0;q=c[n>>2]|0;l=n+4|0;o=c[l>>2]|0;j=e+(j<<4)+8|0;m=c[j>>2]|0;r=n+12|0;k=c[r>>2]|0;p=e+(h<<4)|0;c[n>>2]=c[p>>2];n=p+4|0;c[l>>2]=c[n>>2];l=e+(h<<4)+8|0;c[j>>2]=c[l>>2];j=p+12|0;c[r>>2]=c[j>>2];c[p>>2]=q;c[n>>2]=o;c[l>>2]=m;c[j>>2]=k;h=h+1|0}while((h|0)<(b|0));if(g)b=1;else{r=0;i=f;return r|0}do{r=e+(b<<4)|0;n=c[1288+((d[8+(d[r+5>>0]|0)>>0]|0)<<2)>>2]^c[264+((d[8+(d[r+4>>0]|0)>>0]|0)<<2)>>2]^c[2312+((d[8+(d[r+6>>0]|0)>>0]|0)<<2)>>2]^c[3336+((d[8+(d[r+7>>0]|0)>>0]|0)<<2)>>2];p=e+(b<<4)+8|0;o=c[1288+((d[8+(d[r+9>>0]|0)>>0]|0)<<2)>>2]^c[264+((d[8+(d[p>>0]|0)>>0]|0)<<2)>>2]^c[2312+((d[8+(d[r+10>>0]|0)>>0]|0)<<2)>>2]^c[3336+((d[8+(d[r+11>>0]|0)>>0]|0)<<2)>>2];q=c[1288+((d[8+(d[r+13>>0]|0)>>0]|0)<<2)>>2]^c[264+((d[8+(d[r+12>>0]|0)>>0]|0)<<2)>>2]^c[2312+((d[8+(d[r+14>>0]|0)>>0]|0)<<2)>>2]^c[3336+((d[8+(d[r+15>>0]|0)>>0]|0)<<2)>>2];c[r>>2]=c[1288+((d[8+(d[r+1>>0]|0)>>0]|0)<<2)>>2]^c[264+((d[8+(d[r>>0]|0)>>0]|0)<<2)>>2]^c[2312+((d[8+(d[r+2>>0]|0)>>0]|0)<<2)>>2]^c[3336+((d[8+(d[r+3>>0]|0)>>0]|0)<<2)>>2];c[r+4>>2]=n;c[p>>2]=o;c[r+12>>2]=q;b=b+1|0}while((b|0)!=(a|0));e=0;i=f;return e|0}function yc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;x=i;G=e;M=b;L=c[M>>2]^c[G>>2];G
function al(b,d,e,f,g,j,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;A=i;i=i+384|0;s=A;H=A+276|0;F=A+68|0;E=A+176|0;t=A+64|0;v=A+60|0;w=A+173|0;C=A+172|0;B=A+48|0;d=A+36|0;z=A+24|0;G=A+20|0;D=A+72|0;x=A+16|0;u=A+12|0;y=A+8|0;c[F>>2]=H;h[k>>3]=l;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];H=uq(H,100,11456,s)|0;if(H>>>0>99){E=Ch()|0;h[k>>3]=l;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];E=si(F,E,11456,s)|0;H=c[F>>2]|0;if((H|0)==0)Zp();I=_p(E)|0;if((I|0)==0)Zp();else{m=I;p=H;r=I;q=E}}else{m=0;p=0;r=E;q=H}Df(t,g);E=lm(t,11704)|0;I=c[F>>2]|0;fc[c[(c[E>>2]|0)+32>>2]&7](E,I,I+q|0,r)|0;if((q|0)==0)F=0;else F=(a[c[F>>2]>>0]|0)==45;c[v>>2]=0;c[B+0>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;bl(f,F,t,v,w,C,B,d,z,G);f=c[G>>2]|0;if((q|0)>(f|0)){G=a[z>>0]|0;if((G&1)==0)G=(G&255)>>>1;else G=c[z+4>>2]|0;H=a[d>>0]|0;if((H&1)==0)H=(H&255)>>>1;else H=c[d+4>>2]|0;G=G+(q-f<<1|1)+H|0}else{G=a[z>>0]|0;if((G&1)==0)G=(G&255)>>>1;else G=c[z+4>>2]|0;H=a[d>>0]|0;if((H&1)==0)H=(H&255)>>>1;else H=c[d+4>>2]|0;G=G+2+H|0}G=G+f|0;if(G>>>0>100){D=_p(G)|0;if((D|0)==0)Zp();else{n=D;o=D}}else{n=0;o=D}cl(o,x,u,c[g+4>>2]|0,r,r+q|0,E,F,v,a[w>>0]|0,a[C>>0]|0,B,d,z,f);c[y>>2]=c[e>>2];H=c[x>>2]|0;I=c[u>>2]|0;c[s+0>>2]=c[y+0>>2];Dd(b,s,o,H,I,g,j);$p(n);bf(z);bf(d);bf(B);Ie(c[t>>2]|0)|0;$p(m);$p(p);i=A;return}function bl(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+112|0;w=n+108|0;v=n+96|0;y=n+92|0;x=n+80|0;u=n+68|0;s=n+56|0;q=n+52|0;p=n+40|0;t=n+36|0;r=n+24|0;o=n+12|0;z=n;if(b){o=lm(e,11144)|0;p=c[o>>2]|0;if(d){Zb[c[p+44>>2]&63](w,o);b=c[w>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Zb[c[(c[o>>2]|0)+32>>2]&63](v,o);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}hf(l,0);c[l+0>>2]=c[v+0>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;bf(v)}else{Zb[c[p+40>>2]&63](y,o);b=c[y>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Zb[c[(c[o>>2]|0)+28>>2]&63](x,o);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}hf(l,0);c[l+0>>2]=c[x+0>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x+0>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;bf(x)}a[g>>0]=$b[c[(c[o>>2]|0)+12>>2]&63](o)|0;a[h>>0]=$b[c[(c[o>>2]|0)+16>>2]&63](o)|0;Zb[c[(c[o>>2]|0)+20>>2]&63](u,o);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}hf(j,0);c[j+0>>2]=c[u+0>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;bf(u);Zb[c[(c[o>>2]|0)+24>>2]&63](s,o);if((a[k>>0]&1)==0){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}hf(k,0);c[k+0>>2]=c[s+0>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;bf(s);b=$b[c[(c[o>>2]|0)+36>>2]&63](o)|0;c[m>>2]=b;i=n;return}else{s=lm(e,11080)|0;u=c[s>>2]|0;if(d){Zb[c[u+44>>2]&63](q,s);b=c[q>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Zb[c[(c[s>>2]|0)+32>>2]&63](p,s);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}hf(l,0);c[l+0>>2]=c[p+0>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;bf(p)}else{Zb[c[u+40>>2]&63](t,s);b=c[t>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Zb[c[(c[s>>2]|0)+28>>2]&63](r,s);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}hf(l,0);c[l+0>>2]=c[r+0>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;bf(r)}a[g>>0]=$b[c[(c[s>>2]|0)+12>>2]&63](s)|0;a[h>>0]=$b[c[(c[s>>2]|0)+16>>2]&63](s)|0;Zb[c[(c[s>>2]|0)+20>>2]&63](o,s);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}hf(j,0);c[j+0>>2]=c[o+0>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;bf(o);Zb[c[(c[s>>2]|0)+24>>2]&63](z,s);if((a[k>>0]&1)==0){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}hf(k,0);c[k+0>>2]=c[z+0>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z+0>>2]=0;c[z+4>>2
function gq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0;g=i;i=i+512|0;k=g;if((e|0)==0){e=24;h=-149}else if((e|0)==1){e=53;h=-1074}else if((e|0)==2){e=53;h=-1074}else{L=0.0;i=g;return+L}n=b+4|0;o=b+100|0;do{j=c[n>>2]|0;if(j>>>0<(c[o>>2]|0)>>>0){c[n>>2]=j+1;y=d[j>>0]|0}else y=jq(b)|0}while((dq(y)|0)!=0);do if((y|0)==43|(y|0)==45){j=1-(((y|0)==45&1)<<1)|0;m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;y=d[m>>0]|0;break}else{y=jq(b)|0;break}}else j=1;while(0);m=0;do{if((y|32|0)!=(a[21552+m>>0]|0))break;do if(m>>>0<7){p=c[n>>2]|0;if(p>>>0<(c[o>>2]|0)>>>0){c[n>>2]=p+1;y=d[p>>0]|0;break}else{y=jq(b)|0;break}}while(0);m=m+1|0}while(m>>>0<8);do if((m|0)==3)q=23;else if((m|0)!=8){p=(f|0)==0;if(!(m>>>0<4|p))if((m|0)==8)break;else{q=23;break}a:do if((m|0)==0){m=0;do{if((y|32|0)!=(a[21568+m>>0]|0))break a;do if(m>>>0<2){s=c[n>>2]|0;if(s>>>0<(c[o>>2]|0)>>>0){c[n>>2]=s+1;y=d[s>>0]|0;break}else{y=jq(b)|0;break}}while(0);m=m+1|0}while(m>>>0<3)}while(0);if((m|0)==3){e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){c[n>>2]=e+1;e=d[e>>0]|0}else e=jq(b)|0;if((e|0)==40)e=1;else{if((c[o>>2]|0)==0){L=w;i=g;return+L}c[n>>2]=(c[n>>2]|0)+ -1;L=w;i=g;return+L}while(1){h=c[n>>2]|0;if(h>>>0<(c[o>>2]|0)>>>0){c[n>>2]=h+1;h=d[h>>0]|0}else h=jq(b)|0;if(!((h+ -48|0)>>>0<10|(h+ -65|0)>>>0<26)?!((h+ -97|0)>>>0<26|(h|0)==95):0)break;e=e+1|0}if((h|0)==41){L=w;i=g;return+L}h=(c[o>>2]|0)==0;if(!h)c[n>>2]=(c[n>>2]|0)+ -1;if(p){c[(wb()|0)>>2]=22;iq(b,0);L=0.0;i=g;return+L}if((e|0)==0|h){L=w;i=g;return+L}do{e=e+ -1|0;c[n>>2]=(c[n>>2]|0)+ -1}while((e|0)!=0);r=w;i=g;return+r}else if((m|0)==0){do if((y|0)==48){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;m=d[m>>0]|0}else m=jq(b)|0;if((m|32|0)!=120){if((c[o>>2]|0)==0){y=48;break}c[n>>2]=(c[n>>2]|0)+ -1;y=48;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;A=d[k>>0]|0;y=0}else{A=jq(b)|0;y=0}while(1){if((A|0)==46){q=70;break}else if((A|0)!=48){k=0;m=0;t=0;s=0;v=0;z=0;I=1.0;u=0;r=0.0;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;A=d[k>>0]|0;y=1;continue}else{A=jq(b)|0;y=1;continue}}b:do if((q|0)==70){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;A=d[k>>0]|0}else A=jq(b)|0;if((A|0)==48){t=-1;s=-1;while(1){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;A=d[k>>0]|0}else A=jq(b)|0;if((A|0)!=48){k=0;m=0;y=1;v=1;z=0;I=1.0;u=0;r=0.0;break b}J=Hq(t|0,s|0,-1,-1)|0;t=J;s=H}}else{k=0;m=0;t=0;s=0;v=1;z=0;I=1.0;u=0;r=0.0}}while(0);c:while(1){D=A+ -48|0;do if(!(D>>>0<10)){C=A|32;B=(A|0)==46;if(!((C+ -97|0)>>>0<6|B))break c;if(B)if((v|0)==0){t=m;s=k;v=1;break}else{A=46;break c}else{D=(A|0)>57?C+ -87|0:D;q=84;break}}else q=84;while(0);if((q|0)==84){q=0;do if(!((k|0)<0|(k|0)==0&m>>>0<8)){if((k|0)<0|(k|0)==0&m>>>0<14){L=I*.0625;K=L;r=r+L*+(D|0);break}if((D|0)!=0&(z|0)==0){z=1;K=I;r=r+I*.5}else K=I}else{K=I;u=D+(u<<4)|0}while(0);m=Hq(m|0,k|0,1,0)|0;k=H;y=1;I=K}A=c[n>>2]|0;if(A>>>0<(c[o>>2]|0)>>>0){c[n>>2]=A+1;A=d[A>>0]|0;continue}else{A=jq(b)|0;continue}}if((y|0)==0){e=(c[o>>2]|0)==0;if(!e)c[n>>2]=(c[n>>2]|0)+ -1;if(!p){if(!e?(l=c[n>>2]|0,c[n>>2]=l+ -1,(v|0)!=0):0)c[n>>2]=l+ -2}else iq(b,0);L=+(j|0)*0.0;i=g;return+L}q=(v|0)==0;l=q?m:t;q=q?k:s;if((k|0)<0|(k|0)==0&m>>>0<8)do{u=u<<4;m=Hq(m|0,k|0,1,0)|0;k=H}while((k|0)<0|(k|0)==0&m>>>0<8);do if((A|32|0)==112){m=hq(b,f)|0;k=H;if((m|0)==0&(k|0)==-2147483648)if(p){iq(b,0);L=0.0;i=g;return+L}else{if((c[o>>2]|0)==0){m=0;k=0;break}c[n>>2]=(c[n>>2]|0)+ -1;m=0;k=0;break}}else if((c[o>>2]|0)==0){m=0;k=0}else{c[n>>2]=(c[n>>2]|0)+ -1;m=0;k=0}while(0);l=Kq(l|0,q|0,2)|0;l=Hq(l|0,H|0,-32,-1)|0;k=Hq(l|0,H|0,m|0,k|0)|0;l=H;if((u|0)==0){L=+(j|0)*0.0;i=g;return+L}if((l|0)>0|(l|0)==0&k>>>0>(0-h|0)>>>0){c[(wb()|0)>>2]=34;L=+(j|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+L}J=h+ -106|0;G=((J|0)<0)<<31>>31;if((l|0)<(G|0)|(l|0)==(G|0)&k>>>0<J>>>0){c[(wb()|0)>>2]=34;L=+(j|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+L}if((u|0)>-1)do{u=u<<1;if(!(r>=.5))I=r;else{I=r+-1.0;u=u|1}r=r+I;k=Hq(k|0,l|0,-1,-1)|0;l=H}while((u|0)>-1);h=Eq(32,0,h|0,((h|0)<0)<<
// EMSCRIPTEN_END_FUNCS
var Vb=[mr,Gc,$f,eg,ge,ig,Lf,Qf,ve,Uf,Pe,Qe,Zg,ch,ml,rl,Jm,Lm,Om,qm,xm,Am,Dm,Jp,yq,Wo,mr,mr,mr,mr,mr,mr];var Wb=[nr,fh,hh,jh,lh,nh,ph,rh,th,vh,xh,zh,Fh,Hh,Jh,Lh,Nh,Ph,Rh,Th,Vh,Xh,Zh,ni,pi,Ci,Ei,Ni,Oi,Pi,Ri,Ti,lj,mj,nj,pj,rj,dl,jl,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr];var Xb=[or,Vp,Up,Rp];var Yb=[pr,Dc,Bc,Ec,Cc,Sd,Wd,Xd,Yd,ce,de,je,ke,re,se,ye,ze,Ve,Ue,Hf,Gf,Xf,Wf,lg,kg,ng,mg,rg,qg,tg,sg,wg,vg,yg,xg,Gg,Fg,Ig,Hg,Rg,Qg,Af,Sg,Og,Tg,Vg,Ug,nm,$g,_g,eh,dh,Eh,Dh,gi,fi,xi,wi,Li,Ki,jj,ij,Ij,Hj,Nj,Mj,Rj,Qj,ak,$j,lk,kk,wk,vk,Hk,Gk,Tk,Sk,$k,_k,fl,el,ll,kl,ql,pl,am,$l,Hm,Gm,ul,Zm,Fn,En,Hn,Gn,Wg,mm,pm,Qm,fn,rn,Cn,Dn,kp,jp,rp,qp,up,tp,wp,Bp,Ap,Dp,Gp,Ep,Fp,Hp,Ip,ae,Jk,$p,om,po,Eo,Do,Co,Bo,Ao,zo,bf,rf,dp,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr,pr];var Zb=[qr,Vc,Zc,Wc,_c,ee,le,te,Ae,Kf,_f,Uj,Vj,Wj,Xj,Zj,_j,dk,ek,fk,gk,ik,jk,ok,pk,qk,rk,tk,uk,zk,Ak,Bk,Ck,Ek,Fk,ol,tl,Mn,On,Qn,Nn,Pn,Rn,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr];var _b=[rr,Vi,tj,rr];var $b=[sr,fe,dg,fg,gg,cg,me,ne,ue,Pf,Rf,Sf,Of,Be,Ce,vp,Lg,Mi,Tn,Vn,Xn,bo,eo,Zn,$n,kj,Un,Wn,Yn,co,fo,_n,ao,Sj,Tj,Yj,bk,ck,hk,mk,nk,sk,xk,yk,Dk,bn,cn,en,In,Kn,Jn,Ln,Um,Vm,Xm,mn,nn,qn,xn,yn,Bn,lp,sp,Cp];var ac=[tr,al,gl,tr];var bc=[ur,$c,Ud,Oe,Mg,ur,ur,ur];var cc=[vr,qi,ui,Fi,Hi,vr,vr,vr];var dc=[wr,ap,cp,wr];var ec=[xr,_m,$m,Rm,Sm,gn,jn,sn,un,xr,xr,xr,xr,xr,xr,xr];var fc=[yr,Nm,sm,tm,um,Cm,yr,yr];var gc=[zr,Kj,Oj,Ik,Mk,Uk,Wk,zr];var hc=[Ar,ag,Mf,hi,ii,oi,vi,yi,zi,Di,Ii,nl,sl,Yp,Xp,Wp];var ic=[Br,Hc,Jc,Lc,Nc,Qc,Ic,Kc,Mc,Pc,Sc,hg,he,oe,jg,Tf,we,De,Vf,Im,Km,Mm,vm,ym,Bm,Br,Br,Br,Br,Br,Br,Br];var jc=[Cr,Xg,ah,Pm,an,dn,Em,Tm,Wm,ln,on,wn,zn,Cr,Cr,Cr];var kc=[Dr,bg,Nf,Yg,bh,Lp,Mp,Op];return{_i64Subtract:Eq,_free:$p,_realloc:aq,_i64Add:Hq,_memmove:Lq,_viblast_vecrypter_decrypt:Td,_strlen:Gq,_memset:Fq,_malloc:_p,_memcpy:Jq,_bitshift64Lshr:Iq,_bitshift64Shl:Kq,__GLOBAL__I_a:Zd,__GLOBAL__I_a150:Fe,runPostSets:Dq,stackAlloc:lc,stackSave:mc,stackRestore:nc,setThrew:oc,setTempRet0:rc,getTempRet0:sc,dynCall_iiii:Wq,dynCall_viiiiiii:Xq,dynCall_viiiii:Yq,dynCall_vi:Zq,dynCall_vii:_q,dynCall_viiiiiiiii:$q,dynCall_ii:ar,dynCall_viiiiiid:br,dynCall_viii:cr,dynCall_viiiiid:dr,dynCall_v:er,dynCall_iiiiiiiii:fr,dynCall_iiiii:gr,dynCall_viiiiiiii:hr,dynCall_viiiiii:ir,dynCall_iii:jr,dynCall_iiiiii:kr,dynCall_viiii:lr}
// EMSCRIPTEN_END_ASM
})({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array},{abort:la,assert:z,min:ya,invoke_iiii:function(a,b,c,d){try{return u.dynCall_iiii(a,b,c,d)}catch(f){"number"!==typeof f&&"longjmp"!==f&&e(f),T.setThrew(1,0)}},invoke_viiiiiii:function(a,b,c,d,f,g,i,j){try{u.dynCall_viiiiiii(a,b,c,d,f,g,i,j)}catch(n){"number"!==typeof n&&
"longjmp"!==n&&e(n),T.setThrew(1,0)}},invoke_viiiii:function(a,b,c,d,f,g){try{u.dynCall_viiiii(a,b,c,d,f,g)}catch(i){"number"!==typeof i&&"longjmp"!==i&&e(i),T.setThrew(1,0)}},invoke_vi:function(a,b){try{u.dynCall_vi(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&e(c),T.setThrew(1,0)}},invoke_vii:function(a,b,c){try{u.dynCall_vii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&e(d),T.setThrew(1,0)}},invoke_viiiiiiiii:function(a,b,c,d,f,g,i,j,n,m){try{u.dynCall_viiiiiiiii(a,b,c,d,f,g,i,j,n,
m)}catch(w){"number"!==typeof w&&"longjmp"!==w&&e(w),T.setThrew(1,0)}},invoke_ii:function(a,b){try{return u.dynCall_ii(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&e(c),T.setThrew(1,0)}},invoke_viiiiiid:function(a,b,c,d,f,g,i,j){try{u.dynCall_viiiiiid(a,b,c,d,f,g,i,j)}catch(n){"number"!==typeof n&&"longjmp"!==n&&e(n),T.setThrew(1,0)}},invoke_viii:function(a,b,c,d){try{u.dynCall_viii(a,b,c,d)}catch(f){"number"!==typeof f&&"longjmp"!==f&&e(f),T.setThrew(1,0)}},invoke_viiiiid:function(a,b,c,d,f,
g,i){try{u.dynCall_viiiiid(a,b,c,d,f,g,i)}catch(j){"number"!==typeof j&&"longjmp"!==j&&e(j),T.setThrew(1,0)}},invoke_v:function(a){try{u.dynCall_v(a)}catch(b){"number"!==typeof b&&"longjmp"!==b&&e(b),T.setThrew(1,0)}},invoke_iiiiiiiii:function(a,b,c,d,f,g,i,j,n){try{return u.dynCall_iiiiiiiii(a,b,c,d,f,g,i,j,n)}catch(m){"number"!==typeof m&&"longjmp"!==m&&e(m),T.setThrew(1,0)}},invoke_iiiii:function(a,b,c,d,f){try{return u.dynCall_iiiii(a,b,c,d,f)}catch(g){"number"!==typeof g&&"longjmp"!==g&&e(g),
T.setThrew(1,0)}},invoke_viiiiiiii:function(a,b,c,d,f,g,i,j,n){try{u.dynCall_viiiiiiii(a,b,c,d,f,g,i,j,n)}catch(m){"number"!==typeof m&&"longjmp"!==m&&e(m),T.setThrew(1,0)}},invoke_viiiiii:function(a,b,c,d,f,g,i){try{u.dynCall_viiiiii(a,b,c,d,f,g,i)}catch(j){"number"!==typeof j&&"longjmp"!==j&&e(j),T.setThrew(1,0)}},invoke_iii:function(a,b,c){try{return u.dynCall_iii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&e(d),T.setThrew(1,0)}},invoke_iiiiii:function(a,b,c,d,f,g){try{return u.dynCall_iiiiii(a,
b,c,d,f,g)}catch(i){"number"!==typeof i&&"longjmp"!==i&&e(i),T.setThrew(1,0)}},invoke_viiii:function(a,b,c,d,f){try{u.dynCall_viiii(a,b,c,d,f)}catch(g){"number"!==typeof g&&"longjmp"!==g&&e(g),T.setThrew(1,0)}},_fabs:sc,_strftime:Kb,_pthread_cond_wait:r(0),_copysignl:function(){return ld.apply(l,arguments)},_send:function(a,b,c){return!V.td(a)?(R(S.V),-1):jc(a,b,c)},_atexit:sb,_fread:yc,___ctype_b_loc:Yc,_fmod:$c,___cxa_guard_acquire:function(a){return!I[a>>0]?I[a>>0]=1:0},__reallyNegative:nc,_vfprintf:function(a,
b,c){return qc(a,b,L[c>>2])},_ungetc:function(a,b){b=F.Pa(b);if(!b)return-1;if(-1===a)return a;a=hb(a&255);b.Zb.push(a);b.md=p;return a},___cxa_free_exception:jd,___cxa_allocate_exception:function(a){return O(a)},__ZSt18uncaught_exceptionv:vb,___ctype_toupper_loc:bd,_fflush:q(),___cxa_guard_release:q(),__addDays:Jb,_pwrite:function(a,b,c,d){a=F.ya(a);if(!a)return R(S.V),-1;try{return F.write(a,I,b,c,d)}catch(f){return F.Lb(f),-1}},_strerror_r:Db,_strftime_l:function(a,b,c,d){return Kb(a,b,c,d)},_fprintf:qc,
_emscripten_set_main_loop_timing:Ac,_sbrk:fd,_uselocale:function(a){var b=Zc;a&&(Zc=a);return b},_catgets:function(a,b,c,d){return d},_newlocale:function(a,b,c){(a=b)&&(a=E(a));if(!("C"===a||"POSIX"===a||!a))return R(S.X),0;c||(c=hd(1,4));return c},___cxa_begin_catch:function(a){vb.Jc--;xb.push(a);var b=zb(a);b&&yb[b].pb++;return a},_emscripten_memcpy_big:function(a,b,c){P.set(P.subarray(b,b+c),a);return a},___cxa_end_catch:kd,___resumeException:function(a){wb||(wb=a);var b=zb(a);b&&(yb[b].pb=0);
e(a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")},___cxa_find_matching_catch:Ab,_sysconf:function(a){switch(a){case 30:return 4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;
case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;
case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}R(S.B);return-1},
_emscripten_worker_respond:function(a,b){pd||e("not in worker call!");qd&&e("already responded with final response!");qd=k;postMessage({callbackId:rd,finalResponse:k,data:a?new Uint8Array(P.subarray(a,a+b)):0})},_pthread_getspecific:function(a){return uc[a]||0},__arraySum:Gb,_calloc:hd,___ctype_tolower_loc:cd,_fileno:kc,_pthread_mutex_unlock:q(),_pthread_once:rc,_pread:function(a,b,c,d){a=F.ya(a);if(!a)return R(S.V),-1;try{return F.S(a,I,b,c,d)}catch(f){return F.Lb(f),-1}},_puts:function(a){var b=
L[$b>>2],a=wc(a,b);return 0>a?a:0>tc(10,b)?-1:a+1},_printf:function(a,b){return qc(L[$b>>2],a,b)},_pthread_key_create:function(a){if(0==a)return S.B;L[a>>2]=ed;uc[ed]=0;ed++;return 0},_getc:function(){return zc.apply(l,arguments)},_write:jc,__isLeapYear:Fb,_emscripten_set_main_loop:Ic,___errno_location:function(){return ub},_recv:function(a,b,c){return!V.td(a)?(R(S.V),-1):xc(a,b,c)},_pthread_setspecific:function(a,b){if(!(a in uc))return S.B;uc[a]=b;return 0},_copysign:ld,_fgetc:zc,_fputc:tc,_mkport:ic,
_freelocale:function(a){Ja(a)},_pthread_cond_broadcast:r(0),___cxa_rethrow:function(){kd.Jd=k;var a=xb.pop();wb=a;e(a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")},_abort:function(){u.abort()},_catclose:r(0),_fwrite:lc,___cxa_throw:function(a,b,c){yb[a]={df:a,Wc:a,type:b,gd:c,pb:0};wb=a;"uncaught_exception"in vb?vb.Jc++:vb.Jc=1;e(a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.")},
_pthread_mutex_lock:q(),_strerror:Eb,___cxa_atexit:function(){return sb.apply(l,arguments)},__formatString:oc,_fputs:wc,_catopen:r(-1),_time:function(a){var b=Date.now()/1E3|0;a&&(L[a>>2]=b);return b},_read:xc,___setErrNo:R,_fmodl:function(){return $c.apply(l,arguments)},STACKTOP:A,STACK_MAX:Pa,tempDoublePtr:rb,ABORT:na,cttz_i8:od,ctlz_i8:nd,NaN:NaN,Infinity:Infinity,___dso_handle:md,_stderr:ac,_stdin:Zb,_stdout:$b},Q),tb=u._i64Subtract=T._i64Subtract,Ja=u._free=T._free;u._realloc=T._realloc;
var vc=u._i64Add=T._i64Add,id=u._memmove=T._memmove;u._viblast_vecrypter_decrypt=T._viblast_vecrypter_decrypt;var mc=u._strlen=T._strlen,Bb=u._memset=T._memset,O=u._malloc=T._malloc,dd=u._memcpy=T._memcpy,ad=u._bitshift64Lshr=T._bitshift64Lshr,gd=u._bitshift64Shl=T._bitshift64Shl,pb=u.__GLOBAL__I_a=T.__GLOBAL__I_a,qb=u.__GLOBAL__I_a150=T.__GLOBAL__I_a150;u.runPostSets=T.runPostSets;u.dynCall_iiii=T.dynCall_iiii;u.dynCall_viiiiiii=T.dynCall_viiiiiii;u.dynCall_viiiii=T.dynCall_viiiii;u.dynCall_vi=T.dynCall_vi;
u.dynCall_vii=T.dynCall_vii;u.dynCall_viiiiiiiii=T.dynCall_viiiiiiiii;u.dynCall_ii=T.dynCall_ii;u.dynCall_viiiiiid=T.dynCall_viiiiiid;u.dynCall_viii=T.dynCall_viii;u.dynCall_viiiiid=T.dynCall_viiiiid;u.dynCall_v=T.dynCall_v;u.dynCall_iiiiiiiii=T.dynCall_iiiiiiiii;u.dynCall_iiiii=T.dynCall_iiiii;u.dynCall_viiiiiiii=T.dynCall_viiiiiiii;u.dynCall_viiiiii=T.dynCall_viiiiii;u.dynCall_iii=T.dynCall_iii;u.dynCall_iiiiii=T.dynCall_iiiiii;u.dynCall_viiii=T.dynCall_viiii;B.Vb=T.stackAlloc;B.Wb=T.stackSave;
B.Hc=T.stackRestore;B.pf=T.setTempRet0;B.He=T.getTempRet0;var pc;function W(a,b){a!=l&&("number"==typeof a?this.aa(a):b==l&&"string"!=typeof a?this.Q(a,256):this.Q(a,b))}function sd(){return new W(l)}function td(a,b){var c=vd[a.charCodeAt(b)];return c==l?-1:c}function wd(a){var b=sd();b.va(a);return b}function Y(a,b){this.D=a|0;this.K=b|0}Y.Sc={};Y.va=function(a){if(-128<=a&&128>a){var b=Y.Sc[a];if(b)return b}b=new Y(a|0,0>a?-1:0);-128<=a&&128>a&&(Y.Sc[a]=b);return b};
Y.aa=function(a){return isNaN(a)||!isFinite(a)?Y.ZERO:a<=-Y.Uc?Y.MIN_VALUE:a+1>=Y.Uc?Y.MAX_VALUE:0>a?Y.aa(-a).I():new Y(a%Y.ta|0,a/Y.ta|0)};Y.na=function(a,b){return new Y(a,b)};
Y.Q=function(a,b){0==a.length&&e(Error("number format error: empty string"));var c=b||10;(2>c||36<c)&&e(Error("radix out of range: "+c));if("-"==a.charAt(0))return Y.Q(a.substring(1),c).I();0<=a.indexOf("-")&&e(Error('number format error: interior "-" character: '+a));for(var d=Y.aa(Math.pow(c,8)),f=Y.ZERO,g=0;g<a.length;g+=8){var i=Math.min(8,a.length-g),j=parseInt(a.substring(g,g+i),c);8>i?(i=Y.aa(Math.pow(c,i)),f=f.multiply(i).add(Y.aa(j))):(f=f.multiply(d),f=f.add(Y.aa(j)))}return f};Y.dc=65536;
Y.mh=16777216;Y.ta=Y.dc*Y.dc;Y.nh=Y.ta/2;Y.oh=Y.ta*Y.dc;Y.ce=Y.ta*Y.ta;Y.Uc=Y.ce/2;Y.ZERO=Y.va(0);Y.ONE=Y.va(1);Y.Tc=Y.va(-1);Y.MAX_VALUE=Y.na(-1,2147483647);Y.MIN_VALUE=Y.na(0,-2147483648);Y.be=Y.va(16777216);t=Y.prototype;t.Yb=function(){return this.K*Y.ta+this.Ge()};
t.toString=function(a){a=a||10;(2>a||36<a)&&e(Error("radix out of range: "+a));if(this.Ha())return"0";if(this.W()){if(this.$(Y.MIN_VALUE)){var b=Y.aa(a),c=this.Ea(b),b=c.multiply(b).rb(this);return c.toString(a)+b.D.toString(a)}return"-"+this.I().toString(a)}for(var c=Y.aa(Math.pow(a,6)),b=this,d="";;){var f=b.Ea(c),g=b.rb(f.multiply(c)).D.toString(a),b=f;if(b.Ha())return g+d;for(;6>g.length;)g="0"+g;d=""+g+d}};t.Ge=function(){return 0<=this.D?this.D:Y.ta+this.D};
t.Ha=function(){return 0==this.K&&0==this.D};t.W=function(){return 0>this.K};t.Ad=function(){return 1==(this.D&1)};t.$=function(a){return this.K==a.K&&this.D==a.D};t.Cd=function(){return 0>this.jc(Y.be)};t.Je=function(a){return 0<this.jc(a)};t.Ke=function(a){return 0<=this.jc(a)};t.jc=function(a){if(this.$(a))return 0;var b=this.W(),c=a.W();return b&&!c?-1:!b&&c?1:this.rb(a).W()?-1:1};t.I=function(){return this.$(Y.MIN_VALUE)?Y.MIN_VALUE:this.Ze().add(Y.ONE)};
t.add=function(a){var b=this.K>>>16,c=this.K&65535,d=this.D>>>16,f=a.K>>>16,g=a.K&65535,i=a.D>>>16,j;j=0+((this.D&65535)+(a.D&65535));a=0+(j>>>16);a+=d+i;d=0+(a>>>16);d+=c+g;c=0+(d>>>16);c=c+(b+f)&65535;return Y.na((a&65535)<<16|j&65535,c<<16|d&65535)};t.rb=function(a){return this.add(a.I())};
t.multiply=function(a){if(this.Ha()||a.Ha())return Y.ZERO;if(this.$(Y.MIN_VALUE))return a.Ad()?Y.MIN_VALUE:Y.ZERO;if(a.$(Y.MIN_VALUE))return this.Ad()?Y.MIN_VALUE:Y.ZERO;if(this.W())return a.W()?this.I().multiply(a.I()):this.I().multiply(a).I();if(a.W())return this.multiply(a.I()).I();if(this.Cd()&&a.Cd())return Y.aa(this.Yb()*a.Yb());var b=this.K>>>16,c=this.K&65535,d=this.D>>>16,f=this.D&65535,g=a.K>>>16,i=a.K&65535,j=a.D>>>16,a=a.D&65535,n,m,w,s;s=0+f*a;w=0+(s>>>16);w+=d*a;m=0+(w>>>16);w=(w&65535)+
f*j;m+=w>>>16;w&=65535;m+=c*a;n=0+(m>>>16);m=(m&65535)+d*j;n+=m>>>16;m&=65535;m+=f*i;n+=m>>>16;m&=65535;n=n+(b*a+c*j+d*i+f*g)&65535;return Y.na(w<<16|s&65535,n<<16|m)};
t.Ea=function(a){a.Ha()&&e(Error("division by zero"));if(this.Ha())return Y.ZERO;if(this.$(Y.MIN_VALUE)){if(a.$(Y.ONE)||a.$(Y.Tc))return Y.MIN_VALUE;if(a.$(Y.MIN_VALUE))return Y.ONE;var b=this.qf().Ea(a).shiftLeft(1);if(b.$(Y.ZERO))return a.W()?Y.ONE:Y.Tc;var c=this.rb(a.multiply(b));return b.add(c.Ea(a))}if(a.$(Y.MIN_VALUE))return Y.ZERO;if(this.W())return a.W()?this.I().Ea(a.I()):this.I().Ea(a).I();if(a.W())return this.Ea(a.I()).I();for(var d=Y.ZERO,c=this;c.Ke(a);){for(var b=Math.max(1,Math.floor(c.Yb()/
a.Yb())),f=Math.ceil(Math.log(b)/Math.LN2),f=48>=f?1:Math.pow(2,f-48),g=Y.aa(b),i=g.multiply(a);i.W()||i.Je(c);)b-=f,g=Y.aa(b),i=g.multiply(a);g.Ha()&&(g=Y.ONE);d=d.add(g);c=c.rb(i)}return d};t.Ze=function(){return Y.na(~this.D,~this.K)};t.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.D;return 32>a?Y.na(b<<a,this.K<<a|b>>>32-a):Y.na(0,b<<a-32)};t.qf=function(){var a;a=1;if(0==a)return this;var b=this.K;return 32>a?Y.na(this.D>>>a|b<<32-a,b>>a):Y.na(b>>a-32,0<=b?0:-1)};t=W.prototype;
t.gc=function(a,b,c,d){for(var f=0,g=0;0<=--d;){var i=a*this[f++]+b[c]+g,g=Math.floor(i/67108864);b[c++]=i&67108863}return g};t.A=26;t.ia=67108863;t.$a=67108864;t.Zd=Math.pow(2,52);t.Qc=26;t.Rc=0;var vd=[],xd,Z;xd=48;for(Z=0;9>=Z;++Z)vd[xd++]=Z;xd=97;for(Z=10;36>Z;++Z)vd[xd++]=Z;xd=65;for(Z=10;36>Z;++Z)vd[xd++]=Z;t=W.prototype;t.copyTo=function(a){for(var b=this.g-1;0<=b;--b)a[b]=this[b];a.g=this.g;a.u=this.u};t.va=function(a){this.g=1;this.u=0>a?-1:0;0<a?this[0]=a:-1>a?this[0]=a+DV:this.g=0};
t.Q=function(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else if(4==b)c=2;else{this.De(a,b);return}this.u=this.g=0;for(var d=a.length,f=p,g=0;0<=--d;){var i=8==c?a[d]&255:td(a,d);0>i?"-"==a.charAt(d)&&(f=k):(f=p,0==g?this[this.g++]=i:g+c>this.A?(this[this.g-1]|=(i&(1<<this.A-g)-1)<<g,this[this.g++]=i>>this.A-g):this[this.g-1]|=i<<g,g+=c,g>=this.A&&(g-=this.A))}8==c&&0!=(a[0]&128)&&(this.u=-1,0<g&&(this[this.g-1]|=(1<<this.A-g)-1<<g));this.ua();f&&
W.ZERO.ha(this,this)};t.ua=function(){for(var a=this.u&this.ia;0<this.g&&this[this.g-1]==a;)--this.g};t.nc=function(a,b){var c;for(c=this.g-1;0<=c;--c)b[c+a]=this[c];for(c=a-1;0<=c;--c)b[c]=0;b.g=this.g+a;b.u=this.u};t.xe=function(a,b){for(var c=a;c<this.g;++c)b[c-a]=this[c];b.g=Math.max(this.g-a,0);b.u=this.u};
t.Bd=function(a,b){var c=a%this.A,d=this.A-c,f=(1<<d)-1,g=Math.floor(a/this.A),i=this.u<<c&this.ia,j;for(j=this.g-1;0<=j;--j)b[j+g+1]=this[j]>>d|i,i=(this[j]&f)<<c;for(j=g-1;0<=j;--j)b[j]=0;b[g]=i;b.g=this.g+g+1;b.u=this.u;b.ua()};t.gf=function(a,b){b.u=this.u;var c=Math.floor(a/this.A);if(c>=this.g)b.g=0;else{var d=a%this.A,f=this.A-d,g=(1<<d)-1;b[0]=this[c]>>d;for(var i=c+1;i<this.g;++i)b[i-c-1]|=(this[i]&g)<<f,b[i-c]=this[i]>>d;0<d&&(b[this.g-c-1]|=(this.u&g)<<f);b.g=this.g-c;b.ua()}};
t.ha=function(a,b){for(var c=0,d=0,f=Math.min(a.g,this.g);c<f;)d+=this[c]-a[c],b[c++]=d&this.ia,d>>=this.A;if(a.g<this.g){for(d-=a.u;c<this.g;)d+=this[c],b[c++]=d&this.ia,d>>=this.A;d+=this.u}else{for(d+=this.u;c<a.g;)d-=a[c],b[c++]=d&this.ia,d>>=this.A;d-=a.u}b.u=0>d?-1:0;-1>d?b[c++]=this.$a+d:0<d&&(b[c++]=d);b.g=c;b.ua()};t.We=function(a){var b=$.Pd,c=this.abs(),d=b.abs(),f=c.g;for(a.g=f+d.g;0<=--f;)a[f]=0;for(f=0;f<d.g;++f)a[f+c.g]=c.gc(d[f],a,f,c.g);a.u=0;a.ua();this.u!=b.u&&W.ZERO.ha(a,a)};
t.jd=function(a,b,c){var d=a.abs();if(!(0>=d.g)){var f=this.abs();if(f.g<d.g)b!=l&&b.va(0),c!=l&&this.copyTo(c);else{c==l&&(c=sd());var g=sd(),i=this.u,a=a.u,j=d[d.g-1],n=1,m;if(0!=(m=j>>>16))j=m,n+=16;if(0!=(m=j>>8))j=m,n+=8;if(0!=(m=j>>4))j=m,n+=4;if(0!=(m=j>>2))j=m,n+=2;0!=j>>1&&(n+=1);j=this.A-n;0<j?(d.Bd(j,g),f.Bd(j,c)):(d.copyTo(g),f.copyTo(c));d=g.g;f=g[d-1];if(0!=f){m=f*(1<<this.Qc)+(1<d?g[d-2]>>this.Rc:0);n=this.Zd/m;m=(1<<this.Qc)/m;var w=1<<this.Rc,s=c.g,y=s-d,K=b==l?sd():b;g.nc(y,K);0<=
c.Eb(K)&&(c[c.g++]=1,c.ha(K,c));W.ONE.nc(d,K);for(K.ha(g,g);g.g<d;)g[g.g++]=0;for(;0<=--y;){var M=c[--s]==f?this.ia:Math.floor(c[s]*n+(c[s-1]+w)*m);if((c[s]+=g.gc(M,c,y,d))<M){g.nc(y,K);for(c.ha(K,c);c[s]<--M;)c.ha(K,c)}}b!=l&&(c.xe(d,b),i!=a&&W.ZERO.ha(b,b));c.g=d;c.ua();0<j&&c.gf(j,c);0>i&&W.ZERO.ha(c,c)}}}};
t.toString=function(a){if(0>this.u)return"-"+this.I().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this.wf(a);var b=(1<<a)-1,c,d=p,f="",g=this.g,i=this.A-g*this.A%a;if(0<g--){if(i<this.A&&0<(c=this[g]>>i))d=k,f="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c);for(;0<=g;)i<a?(c=(this[g]&(1<<i)-1)<<a-i,c|=this[--g]>>(i+=this.A-a)):(c=this[g]>>(i-=a)&b,0>=i&&(i+=this.A,--g)),0<c&&(d=k),d&&(f+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c))}return d?
f:"0"};t.I=function(){var a=sd();W.ZERO.ha(this,a);return a};t.abs=function(){return 0>this.u?this.I():this};t.Eb=function(a){var b=this.u-a.u;if(0!=b)return b;var c=this.g,b=c-a.g;if(0!=b)return 0>this.u?-b:b;for(;0<=--c;)if(0!=(b=this[c]-a[c]))return b;return 0};W.ZERO=wd(0);W.ONE=wd(1);t=W.prototype;
t.De=function(a,b){this.va(0);b==l&&(b=10);for(var c=this.Cb(b),d=Math.pow(b,c),f=p,g=0,i=0,j=0;j<a.length;++j){var n=td(a,j);0>n?"-"==a.charAt(j)&&0==this.Gc()&&(f=k):(i=b*i+n,++g>=c&&(this.fd(d),this.ed(i),i=g=0))}0<g&&(this.fd(Math.pow(b,g)),this.ed(i));f&&W.ZERO.ha(this,this)};t.Cb=function(a){return Math.floor(Math.LN2*this.A/Math.log(a))};t.Gc=function(){return 0>this.u?-1:0>=this.g||1==this.g&&0>=this[0]?0:1};t.fd=function(a){this[this.g]=this.gc(a-1,this,0,this.g);++this.g;this.ua()};
t.ed=function(a){var b=0;if(0!=a){for(;this.g<=b;)this[this.g++]=0;for(this[b]+=a;this[b]>=this.$a;)this[b]-=this.$a,++b>=this.g&&(this[this.g++]=0),++this[b]}};t.wf=function(a){a==l&&(a=10);if(0==this.Gc()||2>a||36<a)return"0";var b=this.Cb(a),b=Math.pow(a,b),c=wd(b),d=sd(),f=sd(),g="";for(this.jd(c,d,f);0<d.Gc();)g=(b+f.zd()).toString(a).substr(1)+g,d.jd(c,d,f);return f.zd().toString(a)+g};
t.zd=function(){if(0>this.u){if(1==this.g)return this[0]-this.$a;if(0==this.g)return-1}else{if(1==this.g)return this[0];if(0==this.g)return 0}return(this[1]&(1<<32-this.A)-1)<<this.A|this[0]};
t.fc=function(a,b){for(var c=0,d=0,f=Math.min(a.g,this.g);c<f;)d+=this[c]+a[c],b[c++]=d&this.ia,d>>=this.A;if(a.g<this.g){for(d+=a.u;c<this.g;)d+=this[c],b[c++]=d&this.ia,d>>=this.A;d+=this.u}else{for(d+=this.u;c<a.g;)d+=a[c],b[c++]=d&this.ia,d>>=this.A;d+=a.u}b.u=0>d?-1:0;0<d?b[c++]=d:-1>d&&(b[c++]=this.$a+d);b.g=c;b.ua()};
var $={abs:function(a,b){var c=new Y(a,b),c=c.W()?c.I():c;L[rb>>2]=c.D;L[rb+4>>2]=c.K},ld:function(){$.ye||($.ye=k,$.Pd=new W,$.Pd.Q("4294967296",10),$.Ic=new W,$.Ic.Q("18446744073709551616",10),$.ni=new W,$.oi=new W)},bi:function(a,b){var c=new W;c.Q(b.toString(),10);var d=new W;c.We(d);c=new W;c.Q(a.toString(),10);var f=new W;c.fc(d,f);return f},stringify:function(a,b,c){a=(new Y(a,b)).toString();c&&"-"==a[0]&&($.ld(),c=new W,c.Q(a,10),a=new W,$.Ic.fc(c,a),a=a.toString(10));return a},Q:function(a,
b,c,d,f){$.ld();var g=new W;g.Q(a,b);a=new W;a.Q(c,10);c=new W;c.Q(d,10);f&&0>g.Eb(W.ZERO)&&(d=new W,g.fc($.Ic,d),g=d);d=p;0>g.Eb(a)?(g=a,d=k):0<g.Eb(c)&&(g=c,d=k);g=Y.Q(g.toString());L[rb>>2]=g.D;L[rb+4>>2]=g.K;d&&e("range error")}};pc=$;
if(ob)if("function"===typeof u.locateFile?ob=u.locateFile(ob):u.memoryInitializerPrefixURL&&(ob=u.memoryInitializerPrefixURL+ob),x||ea){var yd=u.readBinary(ob);P.set(yd,Na)}else mb(),hc(ob,function(a){P.set(a,Na);nb()},function(){e("could not load memory initializer "+ob)});function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}ja.prototype=Error();var zd,Ad=l,lb=function Bd(){!u.calledRun&&Cd&&Dd();u.calledRun||(lb=Bd)};
u.callMain=u.zh=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}z(0==jb,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");z(0==Ya.length,"cannot call main when preRun functions remain to be called");a=a||[];cb||(cb=k,Xa(Za));var c=a.length+1,d=[N(fb(u.thisProgram),"i8",Ea)];b();for(var f=0;f<c-1;f+=1)d.push(N(fb(a[f]),"i8",Ea)),b();d.push(0);d=N(d,"i32",Ea);zd=A;try{var g=u._main(c,d,0);Ed(g)}catch(i){i instanceof ja||("SimulateInfiniteLoop"==i?u.noExitRuntime=k:(i&&
("object"===typeof i&&i.stack)&&u.ra("exception thrown: "+[i,i.stack]),e(i)))}finally{}};
function Dd(a){function b(){if(!u.calledRun&&(u.calledRun=k,!na)){cb||(cb=k,Xa(Za));Xa($a);ca&&Ad!==l&&u.ra("pre-main prep time: "+(Date.now()-Ad)+" ms");u._main&&Cd&&u.callMain(a);if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)eb(u.postRun.shift());Xa(bb)}}a=a||u.arguments;Ad===l&&(Ad=Date.now());if(0<jb)u.ra("run() called, but dependencies remain, so not running");else{if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)db(u.preRun.shift());
Xa(Ya);!(0<jb)&&!u.calledRun&&(u.setStatus?(u.setStatus("Running..."),setTimeout(function(){setTimeout(function(){u.setStatus("")},1);b()},1)):b())}}u.run=u.ki=Dd;function Ed(a){u.noExitRuntime||(na=k,A=zd,Xa(ab),x?(process.stdout.once("drain",function(){process.exit(a)}),console.log(" "),setTimeout(function(){process.exit(a)},500)):ea&&"function"===typeof quit&&quit(a),e(new ja(a)))}u.exit=u.Gh=Ed;
function la(a){a&&(u.print(a),u.ra(a));e(Error("Error: "+a+"\nabort() at "+Ka()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information."))}u.abort=u.abort=la;if(u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);0<u.preInit.length;)u.preInit.pop()();var Cd=k;u.noInitialRun&&(Cd=p);Dd();var Fd=l;function Gd(){cb?(z(Fd&&0<Fd.length),Fd.forEach(function(a){onmessage(a)}),Fd=l):setTimeout(Gd,100)}var Hd=Q=0,pd=p,qd=p,rd=-1;
onmessage=function(a){if(cb){var b=u["_"+a.data.funcName];b||e("invalid worker function to call: "+a.data.funcName);var c=a.data.data;if(c){c.byteLength||(c=new Uint8Array(c));if(!Q||Hd<c.length)Q&&Ja(Q),Hd=c.length,Q=O(c.length);P.set(c,Q)}pd=k;qd=p;rd=a.data.callbackId;c?b(Q,c.length):b(0,0);pd=p}else Fd||(Fd=[],setTimeout(Gd,100)),Fd.push(a)};