blakejs/a.out.o3opt.js

53 строки
49 KiB
JavaScript

var b;b||(b=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var g={},q;for(q in b)b.hasOwnProperty(q)&&(g[q]=b[q]);var t="object"===typeof window,u="function"===typeof importScripts,v="object"===typeof process&&"function"===typeof require&&!t&&!u,x=!t&&!v&&!u;
if(v){b.print||(b.print=function(a){process.stdout.write(a+"\n")});b.printErr||(b.printErr=function(a){process.stderr.write(a+"\n")});var aa=require("fs"),ba=require("path");b.read=function(a,c){a=ba.normalize(a);var d=aa.readFileSync(a);d||a==ba.resolve(a)||(a=path.join(__dirname,"..","src",a),d=aa.readFileSync(a));d&&!c&&(d=d.toString());return d};b.readBinary=function(a){a=b.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};b.load=function(a){ca(read(a))};b.thisProgram||(b.thisProgram=
1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");b.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=b);process.on("uncaughtException",function(a){if(!(a instanceof y))throw a;});b.inspect=function(){return"[Emscripten Module object]"}}else if(x)b.print||(b.print=print),"undefined"!=typeof printErr&&(b.printErr=printErr),b.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},b.readBinary=function(a){if("function"===
typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!=typeof scriptArgs?b.arguments=scriptArgs:"undefined"!=typeof arguments&&(b.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(t||u)b.read=function(a){var c=new XMLHttpRequest;c.open("GET",a,!1);c.send(null);return c.responseText},"undefined"!=typeof arguments&&(b.arguments=arguments),"undefined"!==
typeof console?(b.print||(b.print=function(a){console.log(a)}),b.printErr||(b.printErr=function(a){console.log(a)})):b.print||(b.print=function(){}),u&&(b.load=importScripts),"undefined"===typeof b.setWindowTitle&&(b.setWindowTitle=function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ca(a){eval.call(null,a)}!b.load&&b.read&&(b.load=function(a){ca(b.read(a))});b.print||(b.print=function(){});b.printErr||(b.printErr=b.print);b.arguments||(b.arguments=[]);
b.thisProgram||(b.thisProgram="./this.program");b.print=b.print;b.A=b.printErr;b.preRun=[];b.postRun=[];for(q in g)g.hasOwnProperty(q)&&(b[q]=g[q]);
var A={P:function(a){da=a},N:function(){return da},G:function(){return z},F:function(a){z=a},D: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]?A.o:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},M:function(a){return Math.max(A.D(a),A.o)},R:16,ea:function(a,c){"double"===c||"i64"===c?a&7&&(assert(4===(a&7)),a+=4):assert(0===(a&3));return a},Y:function(a,
c,d){return d||"i64"!=a&&"double"!=a?a?Math.min(c||(a?A.M(a):0),A.o):Math.min(c,8):8},r:function(a,c,d){return d&&d.length?(d.splice||(d=Array.prototype.slice.call(d)),d.splice(0,0,c),b["dynCall_"+a].apply(null,d)):b["dynCall_"+a].call(null,c)},k:[],H:function(a){for(var c=0;c<A.k.length;c++)if(!A.k[c])return A.k[c]=a,2*(1+c);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},O:function(a){A.k[(a-2)/2]=null},e:function(a){A.e.B||(A.e.B={});A.e.B[a]||
(A.e.B[a]=1,b.A(a))},u:{},$:function(a,c){assert(c);A.u[c]||(A.u[c]={});var d=A.u[c];d[a]||(d[a]=function(){return A.r(c,a,arguments)});return d[a]},Z:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";},n:function(a){var c=z;z=z+a|0;z=z+15&-16;return c},Q:function(a){var c=B;B=B+a|0;B=B+15&-16;return c},g:function(a){var c=C;C=C+a|0;C=C+15&-16;if(a=C>=D)E("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+
D+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),a=!0;return a?(C=c,0):c},p:function(a,c){return Math.ceil(a/(c?c:16))*(c?c:16)},da:function(a,c,d){return d?+(a>>>0)+4294967296*+(c>>>0):+(a>>>0)+4294967296*+(c|0)},C:8,o:4,S:0};A.addFunction=A.H;
A.removeFunction=A.O;var F=!1,G,H,da;function assert(a,c){a||E("Assertion failed: "+c)}(function(){var a={stackSave:function(){A.G()},stackRestore:function(){A.F()},arrayToC:function(a){var c=A.n(a.length);ea(a,c);return c},stringToC:function(a){var c=0;null!==a&&void 0!==a&&0!==a&&(c=A.n((a.length<<2)+1),fa(a,c));return c}},c=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,d;for(d in a)a.hasOwnProperty(d)&&a[d].toString().match(c).slice(1)})();
function ga(a){var c;c="i32";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return I[a>>0];case "i8":return I[a>>0];case "i16":return J[a>>1];case "i32":return K[a>>2];case "i64":return K[a>>2];case "float":return M[a>>2];case "double":return N[a>>3];default:E("invalid type for setValue: "+c)}return null}
function O(a,c,d){var e,h,k;"number"===typeof a?(h=!0,k=a):(h=!1,k=a.length);var l="string"===typeof c?c:null;d=4==d?e:[P,A.n,A.Q,A.g][void 0===d?2:d](Math.max(k,l?1:c.length));if(h){e=d;assert(0==(d&3));for(a=d+(k&-4);e<a;e+=4)K[e>>2]=0;for(a=d+k;e<a;)I[e++>>0]=0;return d}if("i8"===l)return a.subarray||a.slice?Q.set(a,d):Q.set(new Uint8Array(a),d),d;e=0;for(var f,L;e<k;){var r=a[e];"function"===typeof r&&(r=A.aa(r));h=l||c[e];if(0===h)e++;else{"i64"==h&&(h="i32");var w=d+e,p=h,p=p||"i8";"*"===p.charAt(p.length-
1)&&(p="i32");switch(p){case "i1":I[w>>0]=r;break;case "i8":I[w>>0]=r;break;case "i16":J[w>>1]=r;break;case "i32":K[w>>2]=r;break;case "i64":H=[r>>>0,(G=r,1<=+ha(G)?0<G?(ia(+ja(G/4294967296),4294967295)|0)>>>0:~~+ka((G-+(~~G>>>0))/4294967296)>>>0:0)];K[w>>2]=H[0];K[w+4>>2]=H[1];break;case "float":M[w>>2]=r;break;case "double":N[w>>3]=r;break;default:E("invalid type for setValue: "+p)}L!==h&&(f=A.D(h),L=h);e+=f}}return d}
function la(a){var c;if(0===c||!a)return"";for(var d=0,e,h=0;;){e=Q[a+h>>0];d|=e;if(0==e&&!c)break;h++;if(c&&h==c)break}c||(c=h);e="";if(128>d){for(;0<c;)d=String.fromCharCode.apply(String,Q.subarray(a,a+Math.min(c,1024))),e=e?e+d:d,a+=1024,c-=1024;return e}return b.UTF8ToString(a)}
function ma(a){function c(d,e,h){e=e||Infinity;var k="",l=[],n;if("N"===a[f]){f++;"K"===a[f]&&f++;for(n=[];"E"!==a[f];)if("S"===a[f]){f++;var m=a.indexOf("_",f);n.push(r[a.substring(f,m)||0]||"?");f=m+1}else if("C"===a[f])n.push(n[n.length-1]),f+=2;else{var m=parseInt(a.substr(f)),p=m.toString().length;if(!m||!p){f--;break}var oa=a.substr(f+p,m);n.push(oa);r.push(oa);f+=p+m}f++;n=n.join("::");e--;if(0===e)return d?[n]:n}else if(("K"===a[f]||w&&"L"===a[f])&&f++,m=parseInt(a.substr(f)))p=m.toString().length,
n=a.substr(f+p,m),f+=p+m;w=!1;"I"===a[f]?(f++,m=c(!0),p=c(!0,1,!0),k+=p[0]+" "+n+"<"+m.join(", ")+">"):k=n;a:for(;f<a.length&&0<e--;)if(n=a[f++],n in L)l.push(L[n]);else switch(n){case "P":l.push(c(!0,1,!0)[0]+"*");break;case "R":l.push(c(!0,1,!0)[0]+"&");break;case "L":f++;m=a.indexOf("E",f)-f;l.push(a.substr(f,m));f+=m+2;break;case "A":m=parseInt(a.substr(f));f+=m.toString().length;if("_"!==a[f])throw"?";f++;l.push(c(!0,1,!0)[0]+" ["+m+"]");break;case "E":break a;default:k+="?"+n;break a}h||1!==
l.length||"void"!==l[0]||(l=[]);return d?(k&&l.push(k+"?"),l):k+("("+l.join(", ")+")")}var d=!!b.___cxa_demangle;if(d)try{var e=P(a.length);fa(a.substr(1),e);var h=P(4),k=b.___cxa_demangle(e,0,0,h);if(0===ga(h)&&k)return la(k)}catch(l){}finally{e&&na(e),h&&na(h),k&&na(k)}var f=3,L={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:"..."},
r=[],w=!0,e=a;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=la(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}e=c()}catch(p){e+="?"}0<=e.indexOf("?")&&!d&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return e}
function pa(){return qa().replace(/__Z[\w\d_]+/g,function(a){var c=ma(a);return a===c?a:a+" ["+c+"]"})}function qa(){var a=Error();if(!a.stack){try{throw Error(0);}catch(c){a=c}if(!a.stack)return"(no stack trace available)"}return a.stack.toString()}function ra(){var a=C;0<a%4096&&(a+=4096-a%4096);return a}for(var I,Q,J,sa,K,ta,M,N,ua=0,B=0,va=0,z=0,wa=0,xa=0,C=0,ya=b.TOTAL_STACK||5242880,D=b.TOTAL_MEMORY||16777216,R=65536;R<D||R<2*ya;)R=16777216>R?2*R:R+16777216;R!==D&&(D=R);
assert("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(D);I=new Int8Array(buffer);J=new Int16Array(buffer);K=new Int32Array(buffer);Q=new Uint8Array(buffer);sa=new Uint16Array(buffer);ta=new Uint32Array(buffer);M=new Float32Array(buffer);N=new Float64Array(buffer);K[0]=255;assert(255===Q[0]&&0===Q[3],"Typed arrays 2 must be run on a little-endian system");
b.HEAP=void 0;b.buffer=buffer;b.HEAP8=I;b.HEAP16=J;b.HEAP32=K;b.HEAPU8=Q;b.HEAPU16=sa;b.HEAPU32=ta;b.HEAPF32=M;b.HEAPF64=N;function S(a){for(;0<a.length;){var c=a.shift();if("function"==typeof c)c();else{var d=c.X;"number"===typeof d?void 0===c.q?A.r("v",d):A.r("vi",d,[c.q]):d(void 0===c.q?null:c.q)}}}var za=[],Aa=[],Ba=[],Ca=[],Da=[],T=!1;function Ea(){var a=b.preRun.shift();za.unshift(a)}
function Fa(a,c){for(var d=0,e=0;e<a.length;++e){var h=a.charCodeAt(e);55296<=h&&57343>=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++e)&1023);127>=h?++d:d=2047>=h?d+2:65535>=h?d+3:2097151>=h?d+4:67108863>=h?d+5:d+6}d=Array(d+1);var k=d.length,e=0;if(0<k){for(var h=e,k=e+k-1,l=0;l<a.length;++l){var f=a.charCodeAt(l);55296<=f&&57343>=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++l)&1023);if(127>=f){if(e>=k)break;d[e++]=f}else{if(2047>=f){if(e+1>=k)break;d[e++]=192|f>>6}else{if(65535>=f){if(e+2>=k)break;d[e++]=
224|f>>12}else{if(2097151>=f){if(e+3>=k)break;d[e++]=240|f>>18}else{if(67108863>=f){if(e+4>=k)break;d[e++]=248|f>>24}else{if(e+5>=k)break;d[e++]=252|f>>30;d[e++]=128|f>>24&63}d[e++]=128|f>>18&63}d[e++]=128|f>>12&63}d[e++]=128|f>>6&63}d[e++]=128|f&63}}d[e]=0;e=e-h}else e=0;c&&(d.length=e);return d}function fa(a,c){for(var d=Fa(a,void 0),e=0;e<d.length;)I[c+e>>0]=d[e],e+=1}function ea(a,c){for(var d=0;d<a.length;d++)I[c++>>0]=a[d]}b.writeArrayToMemory=ea;
Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,c){var d=a&65535,e=c&65535;return d*e+((a>>>16)*e+d*(c>>>16)<<16)|0});Math.ba=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var c=0;32>c;c++)if(a&1<<31-c)return c;return 32});Math.V=Math.clz32;var ha=Math.abs,ka=Math.ceil,ja=Math.floor,ia=Math.min,U=0,Ga=null,V=null;b.preloadedImages={};b.preloadedAudios={};var W=null,ua=8,B=ua+768;Aa.push();var W="a.out.o3opt.js.mem",Ha=A.p(O(12,"i8",2),8);assert(0==Ha%8);
function Ia(a){b.___errno_location&&(K[b.___errno_location()>>2]=a);return a}b._i64Add=Ja;b._memset=Ka;b._bitshift64Lshr=La;b._bitshift64Shl=Ma;function X(a){X.L||(C=ra(),X.L=!0,assert(A.g),X.K=A.g,A.g=function(){E("cannot dynamically allocate, sbrk now has control")});var c=C;return 0==a||X.K(a)?c:4294967295}b._memcpy=Na;va=z=A.p(B);wa=va+ya;xa=C=A.p(wa);assert(xa<D,"TOTAL_MEMORY not big enough for stack");
var Oa=O([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);b.I={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
b.J={abort:E,assert:assert,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Ia,_sbrk:X,_time:function(a){var c=Date.now()/1E3|0;a&&(K[a>>2]=c);return c},_emscripten_memcpy_big:function(a,c,d){Q.set(Q.subarray(c,c+d),a);return a},_sysconf:function(a){switch(a){case 30:return 4096;case 85:return R/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 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 79:return 0;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}Ia(22);return-1},
STACKTOP:z,STACK_MAX:wa,tempDoublePtr:Ha,ABORT:F,cttz_i8:Oa};// EMSCRIPTEN_START_ASM
var Y=(function(global,env,buffer) {
"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=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env._pthread_self;var ea=env._abort;var fa=env.___setErrNo;var ga=env._sbrk;var ha=env._time;var ia=env._emscripten_memcpy_big;var ja=env._sysconf;var ka=0.0;
// EMSCRIPTEN_START_FUNCS
function la(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ma(){return i|0}function na(a){a=a|0;i=a}function oa(a,b){a=a|0;b=b|0;i=a;j=b}function pa(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function qa(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 ra(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 sa(a){a=a|0;C=a}function ta(){return C|0}function ua(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if(!((d+-1|0)>>>0>63|f>>>0>64)){h=b+128|0;c[h>>2]=-205731576;c[h+4>>2]=1779033703;h=b+136|0;c[h>>2]=-2067093701;c[h+4>>2]=-1150833019;h=b+144|0;c[h>>2]=-23791573;c[h+4>>2]=1013904242;h=b+152|0;c[h>>2]=1595750129;c[h+4>>2]=-1521486534;h=b+160|0;c[h>>2]=-1377402159;c[h+4>>2]=1359893119;h=b+168|0;c[h>>2]=725511199;c[h+4>>2]=-1694144372;h=b+176|0;c[h>>2]=-79577749;c[h+4>>2]=528734635;h=b+184|0;c[h>>2]=327033209;c[h+4>>2]=1541459225;h=b+128|0;i=h;g=c[i+4>>2]|0;c[h>>2]=c[i>>2]^(d^16842752^f<<8);c[h+4>>2]=g;h=b+192|0;g=b+208|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[b+212>>2]=d;if(f>>>0<128){d=f;do{a[b+d>>0]=0;d=d+1|0}while(d>>>0<128)}if(!f)d=0;else{va(b,e,f);c[g>>2]=128;d=0}}else d=-1;return d|0}function va(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+208|0;h=b+192|0;i=b+200|0;if(e){j=0;do{f=c[g>>2]|0;if((f|0)==128){k=h;f=c[k>>2]|0;k=c[k+4>>2]|0;m=Da(f|0,k|0,128,0)|0;l=h;c[l>>2]=m;c[l+4>>2]=C;if(k>>>0>4294967295|(k|0)==-1&f>>>0>4294967167){l=i;l=Da(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=i;c[m>>2]=l;c[m+4>>2]=C}wa(b,0);c[g>>2]=0;f=0}m=a[d+j>>0]|0;c[g>>2]=f+1;a[b+f>>0]=m;j=j+1|0}while((j|0)!=(e|0))}return}function wa(a,b){a=a|0;b=b|0;var e=0,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,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,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ba=i;i=i+256|0;aa=ba+128|0;M=ba;e=0;do{$=a+128+(e<<3)|0;_=c[$+4>>2]|0;Z=aa+(e<<3)|0;c[Z>>2]=c[$>>2];c[Z+4>>2]=_;Z=8+(e<<3)|0;_=c[Z+4>>2]|0;$=aa+(e+8<<3)|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;e=e+1|0}while((e|0)!=8);Z=a+192|0;_=aa+96|0;f=_;$=c[f+4>>2]^c[Z+4>>2];g=_;c[g>>2]=c[f>>2]^c[Z>>2];c[g+4>>2]=$;g=a+200|0;$=aa+104|0;Z=$;f=c[Z>>2]^c[g>>2];g=c[Z+4>>2]^c[g+4>>2];Z=$;c[Z>>2]=f;c[Z+4>>2]=g;if(!b)e=0;else{e=aa+112|0;Y=e;Z=~c[Y+4>>2];c[e>>2]=~c[Y>>2];c[e+4>>2]=Z;e=0}do{X=e<<3;S=d[a+X>>0]|0;R=Ga(d[a+(X|1)>>0]|0|0,0,8)|0;Y=C;T=Ga(d[a+(X|2)>>0]|0|0,0,16)|0;Y=Y|C;U=Ga(d[a+(X|3)>>0]|0|0,0,24)|0;Y=Y|C|(d[a+(X|4)>>0]|0);V=Ga(d[a+(X|5)>>0]|0|0,0,40)|0;Y=Y^C;W=Ga(d[a+(X|6)>>0]|0|0,0,48)|0;Y=Y^C;X=Ga(d[a+(X|7)>>0]|0|0,0,56)|0;Z=M+(e<<3)|0;c[Z>>2]=(R|S|T|U)^V^W^X;c[Z+4>>2]=Y^C;e=e+1|0}while((e|0)!=16);N=aa+32|0;O=aa+64|0;P=aa+8|0;Q=aa+40|0;R=aa+72|0;S=aa+16|0;T=aa+48|0;U=aa+112|0;V=aa+80|0;W=aa+24|0;X=aa+56|0;Y=aa+120|0;Z=aa+88|0;p=aa;q=N;x=_;E=O;K=P;J=Q;F=R;A=S;y=T;v=U;s=V;o=W;m=X;h=Y;e=Z;l=c[q>>2]|0;q=c[q+4>>2]|0;k=c[p>>2]|0;p=c[p+4>>2]|0;u=c[x>>2]|0;x=c[x+4>>2]|0;B=c[E>>2]|0;E=c[E+4>>2]|0;H=c[J>>2]|0;J=c[J+4>>2]|0;I=c[K>>2]|0;K=c[K+4>>2]|0;G=c[F>>2]|0;F=c[F+4>>2]|0;z=c[y>>2]|0;y=c[y+4>>2]|0;D=c[A>>2]|0;A=c[A+4>>2]|0;w=c[v>>2]|0;v=c[v+4>>2]|0;t=c[s>>2]|0;s=c[s+4>>2]|0;n=c[m>>2]|0;m=c[m+4>>2]|0;r=c[o>>2]|0;o=c[o+4>>2]|0;j=c[h>>2]|0;h=c[h+4>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;L=0;do{p=Da(l|0,q|0,k|0,p|0)|0;k=M+((d[572+(L<<4)>>0]|0)<<3)|0;k=Da(p|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;p=C;u=u^k;da=x^p;E=Da(da|0,u|0,B|0,E|0)|0;B=C;fa=E^l;ea=B^q;q=Fa(fa|0,ea|0,24)|0;ca=C;ea=Ga(fa|0,ea|0,40)|0;ea=q|ea;ca=ca|C;q=M+((d[572+(L<<4)+1>>0]|0)<<3)|0;p=Da(c[q>>2]|0,c[q+4>>2]|0,k|0,p|0)|0;p=Da(p|0,C|0,ea|0,ca|0)|0;k=C;da=p^da;u=k^u;q=Fa(da|0,u|0,16)|0;fa=C;u=Ga(da|0,u|0,48)|0;u=q|u;fa=fa|C;B=Da(u|0,fa|0,E|0,B|0)|0;E=C;ea=B^ea;ca=E^ca;q=Fa(ea|0,ca|0,63)|0;da=C;ca=Ga(ea|0,ca|0,1)|0;ca=q|ca;da=da|C;K=Da(H|0,J|0,I|0,K|0)|0;I=M+((d[572+(L<<4)+2>>0]|0)<<3)|0;I=Da(K|0,C|0,c[I>>2]|0,c[I+4>>2]|0)|0;K=C;f=f^I;q=g^K;F=Da(q|0,f|0,G|0,F|0)|0;G=C;ea=F^H;J=G^J;H=Fa(ea|0,J|0,24)|0;ga=C;J=Ga(ea|0,J|0,40)|0;J=H|J;ga=ga|C;H=M+((d[572+(L<<4)+3>>0]|0)<<3)|0;K=Da(c[H>>2]|0,c[H+4>>2]|0,I|0,K|0)|0;K=Da(K|0,C|0,J|0,ga|0)|0;I=C;H=K^q;f=I^f;q=Fa(H|0,f|0,16)|0;ea=C;f=Ga(H|0,f|0,48)|0;f=q|f;ea=ea|C;G=Da(f|0,ea|0,F|0,G|0)|0;F=C;J=G^J;ga=F^ga;q=Fa(J|0,ga|0,63)|0;H=C;ga=Ga(J|0,ga|0,1)|0;ga=q|ga;H=H|C;A=Da(z|0,y|0,D|0,A|0)|0;D=M+((d[572+(L<<4)+4>>0]|0)<<3)|0;D=Da(A|0,C|0,c[D>>2]|0,c[D+4>>2]|0)|0;A=C;w=w^D;v=v^A;s=Da(v|0,w|0,t|0,s|0)|0;t=C;q=s^z;J=t^y;l=Fa(q|0,J|0,24)|0;x=C;J=Ga(q|0,J|0,40)|0;J=l|J;x=x|C;l=M+((d[572+(L<<4)+5>>0]|0)<<3)|0;A=Da(c[l>>2]|0,c[l+4>>2]|0,D|0,A|0)|0;A=Da(A|0,C|0,J|0,x|0)|0;D=C;v=A^v;w=D^w;l=Fa(v|0,w|0,16)|0;q=C;w=Ga(v|0,w|0,48)|0;w=l|w;q=q|C;t=Da(w|0,q|0,s|0,t|0)|0;s=C;J=t^J;x=s^x;l=Fa(J|0,x|0,63)|0;v=C;x=Ga(J|0,x|0,1)|0;x=l|x;v=v|C;o=Da(n|0,m|0,r|0,o|0)|0;r=M+((d[572+(L<<4)+6>>0]|0)<<3)|0;r=Da(o|0,C|0,c[r>>2]|0,c[r+4>>2]|0)|0;o=C;j=j^r;l=h^o;e=Da(l|0,j|0,b|0,e|0)|0;b=C;J=e^n;m=b^m;h=Fa(J|0,m|0,24)|0;g=C;m=Ga(J|0,m|0,40)|0;m=h|m;g=g|C;h=M+((d[572+(L<<4)+7>>0]|0)<<3)|0;o=Da(c[h>>2]|0,c[h+4>>2]|0,r|0,o|0)|0;o=Da(o|0,C|0,m|0,g|0)|0;r=C;l=o^l;j=r^j;h=Fa(l|0,j|0,16)|0;J=C;j=Ga(l|0,j|0,48)|0;j=h|j;J=J|C;b=Da(j|0,J|0,e|0,b|0)|0;e=C;m=b^m;g=e^g;h=Fa(m|0,g|0,63)|0;l=C;g=Ga(m|0,g|0,1)|0;g=h|g;l=l|C;k=Da(ga|0,H|0,p|0,k|0)|0;p=M+((d[572+(L<<4)+8>>0]|0)<<3)|0;p=Da(k|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;k=C;j=j^p;J=J^k;s=Da(J|0,j|0,t|0,s|0)|0;t=C;h=s^ga;m=t^H;y=Fa(h|0,m|0,24)|0;H=C;m=Ga(h|0,m|0,40)|0;m=y|m;H=H|C;y=M+((d[572+(L<<4)+9>>0]|0)<<3)|0;k=Da(c[y>>2]|0,c[y+4>>2]|0,p|0,k|0)|0;k=Da(k|0,C|0,m|0,H|0)|0;p=C;J=k^J;j=p^j;y=Fa(J|0,j|0,16)|0;h=C;j=Ga(J|0,j|0,48)|0;j=y|j;h=h|C;t=Da(j|0,h|0,s|0,t|0)|0;s=C;m=t^m;H=s^H;y=Fa(m|0,H|0,63)|0;J=C;H=Ga(m|0,H|0,1)|0;H=y|H;J=J|C;I=Da(x|0,v|0,K|0,I|0)|0;K=M+((d[572+(L<<4)+10>>0]|0)<<3)|0;K=Da(I|0,C|0,c[K>>2]|0,c[K+4>>2]|0)|0;I=C;u=u^K;y=fa^I;e=Da(y|0,u|0,b|0,e|0)|0;b=C;x=e^x;v=b^v;m=Fa(x|0,v|0,24)|0;z=C;v=Ga(x|0,v|0,40)|0;v=m|v;z=z|C;m=M+((d[572+(L<<4)+11>>0]|0)<<3)|0;I=Da(c[m>>2]|0,c[m+4>>2]|0,K|0,I|0)|0;I=Da(I|0,C|0,v|0,z|0)|0;K=C;y=I^y;u=K^u;m=Fa(y|0,u|0,16)|0;x=C;u=Ga(y|0,u|0,48)|0;u=m|u;x=x|C;b=Da(u|0,x|0,e|0,b|0)|0;e=C;v=b^v;z=e^z;m=Fa(v|0,z|0,63)|0;y=C;z=Ga(v|0,z|0,1)|0;z=m|z;y=y|C;D=Da(g|0,l|0,A|0,D|0)|0;A=M+((d[572+(L<<4)+12>>0]|0)<<3)|0;A=Da(D|0,C|0,c[A>>2]|0,c[A+4>>2]|0)|0;D=C;f=f^A;m=ea^D;E=Da(m|0,f|0,B|0,E|0)|0;B=C;g=E^g;l=B^l;v=Fa(g|0,l|0,24)|0;n=C;l=Ga(g|0,l|0,40)|0;l=v|l;n=n|C;v=M+((d[572+(L<<4)+13>>0]|0)<<3)|0;D=Da(c[v>>2]|0,c[v+4>>2]|0,A|0,D|0)|0;D=Da(D|0,C|0,l|0,n|0)|0;A=C;m=D^m;f=A^f;v=Fa(m|0,f|0,16)|0;g=C;f=Ga(m|0,f|0,48)|0;f=v|f;g=g|C;B=Da(f|0,g|0,E|0,B|0)|0;E=C;l=B^l;n=E^n;v=Fa(l|0,n|0,63)|0;m=C;n=Ga(l|0,n|0,1)|0;n=v|n;m=m|C;r=Da(ca|0,da|0,o|0,r|0)|0;o=M+((d[572+(L<<4)+14>>0]|0)<<3)|0;o=Da(r|0,C|0,c[o>>2]|0,c[o+4>>2]|0)|0;r=C;w=w^o;q=q^r;F=Da(q|0,w|0,G|0,F|0)|0;G=C;v=F^ca;da=G^da;ca=Fa(v|0,da|0,24)|0;l=C;da=Ga(v|0,da|0,40)|0;da=ca|da;l=l|C;ca=M+((d[572+(L<<4)+15>>0]|0)<<3)|0;r=Da(c[ca>>2]|0,c[ca+4>>2]|0,o|0,r|0)|0;r=Da(r|0,C|0,da|0,l|0)|0;o=C;q=r^q;w=o^w;ca=Fa(q|0,w|0,16)|0;v=C;w=Ga(q|0,w|0,48)|0;w=ca|w;v=v|C;G=Da(w|0,v|0,F|0,G|0)|0;F=C;da=G^da;l=F^l;ca=Fa(da|0,l|0,63)|0;q=C;l=Ga(da|0,l|0,1)|0;l=ca|l;q=q|C;L=L+1|0}while((L|0)!=12);ga=aa;c[ga>>2]=k;c[ga+4>>2]=p;ga=N;c[ga>>2]=l;c[ga+4>>2]=q;ga=_;c[ga>>2]=u;c[ga+4>>2]=x;ga=O;c[ga>>2]=B;c[ga+4>>2]=E;ga=P;c[ga>>2]=I;c[ga+4>>2]=K;ga=Q;c[ga>>2]=H;c[ga+4>>2]=J;ga=R;c[ga>>2]=G;c[ga+4>>2]=F;ga=$;c[ga>>2]=f;c[ga+4>>2]=g;ga=S;c[ga>>2]=D;c[ga+4>>2]=A;ga=T;c[ga>>2]=z;c[ga+4>>2]=y;ga=U;c[ga>>2]=w;c[ga+4>>2]=v;ga=V;c[ga>>2]=t;c[ga+4>>2]=s;ga=W;c[ga>>2]=r;c[ga+4>>2]=o;ga=X;c[ga>>2]=n;c[ga+4>>2]=m;ga=Y;c[ga>>2]=j;c[ga+4>>2]=h;ga=Z;c[ga>>2]=b;c[ga+4>>2]=e;e=0;do{da=aa+(e<<3)|0;ca=aa+(e+8<<3)|0;ga=a+128+(e<<3)|0;ea=ga;fa=c[ca+4>>2]^c[da+4>>2]^c[ea+4>>2];c[ga>>2]=c[ca>>2]^c[da>>2]^c[ea>>2];c[ga+4>>2]=fa;e=e+1|0}while((e|0)!=8);i=ba;return}function xa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+208|0;e=c[f>>2]|0;i=b+192|0;g=i;g=Da(c[g>>2]|0,c[g+4>>2]|0,e|0,0)|0;h=C;c[i>>2]=g;c[i+4>>2]=h;if(h>>>0<0|(h|0)==0&g>>>0<e>>>0){i=b+200|0;h=i;h=Da(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[i>>2]=h;c[i+4>>2]=C}if(e>>>0<128)do{c[f>>2]=e+1;a[b+e>>0]=0;e=c[f>>2]|0}while(e>>>0<128);wa(b,1);e=b+212|0;if(c[e>>2]|0){f=0;do{i=b+128+(f>>>3<<3)|0;i=Fa(c[i>>2]|0,c[i+4>>2]|0,f<<3&56|0)|0;a[d+f>>0]=i;f=f+1|0}while(f>>>0<(c[e>>2]|0)>>>0)}return}function ya(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+224|0;g=h;if(!(ua(g,b,c,d)|0)){va(g,e,f);xa(g,a);g=0}else g=-1;i=h;return g|0}function za(){var a=0;if(!0)a=72;else a=c[(da()|0)+60>>2]|0;return a|0}function Aa(a){a=a|0;var b=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,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;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[19]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=116+(e<<2)|0;e=116+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[23]|0)>>>0)ea();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ea()}else c[19]=i&~(1<<a);while(0);M=a<<3;c[f+4>>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[21]|0;if(o>>>0>h>>>0){if(d){e=2<<a;e=d<<a&(e|0-e);e=(e&0-e)+-1|0;j=e>>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=116+(e<<2)|0;e=116+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[23]|0)>>>0)ea();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[21]|0;break}else ea()}else{c[19]=i&~(1<<a);k=h}while(0);M=a<<3;h=M-o|0;c[g+4>>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[24]|0;d=k>>>3;b=d<<1;e=116+(b<<2)|0;a=c[19]|0;d=1<<d;if(a&d){a=116+(b+2<<2)|0;b=c[a>>2]|0;if(b>>>0<(c[23]|0)>>>0)ea();else{l=a;m=b}}else{c[19]=a|d;l=116+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[21]=h;c[24]=i;M=j;return M|0}a=c[20]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[380+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0<d>>>0;d=M?a:d;a=b;e=M?b:e}g=c[23]|0;if(e>>>0<g>>>0)ea();i=e+o|0;if(e>>>0>=i>>>0)ea();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0<g>>>0)ea();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0<g>>>0)ea();b=f+12|0;if((c[b>>2]|0)!=(e|0))ea();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ea()}while(0);do if(h){b=c[e+28>>2]|0;a=380+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[20]=c[20]&~(1<<b);break}}else{if(h>>>0<(c[23]|0)>>>0)ea();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[23]|0;if(n>>>0<a>>>0)ea();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0<a>>>0)ea();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[23]|0)>>>0)ea();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[21]|0;if(b){g=c[24]|0;d=b>>>3;b=d<<1;f=116+(b<<2)|0;a=c[19]|0;d=1<<d;if(a&d){b=116+(b+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[23]|0)>>>0)ea();else{p=b;q=a}}else{c[19]=a|d;p=116+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[21]=j;c[24]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[20]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<<q;p=(v+520192|0)>>>16&4;v=v<<p;k=(v+245760|0)>>>16&2;k=14-(p|q|k)+(v<<k>>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[380+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0<h>>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<<k;a=l&(a|0-a);if(!a){q=m;break}a=(a&0-a)+-1|0;n=a>>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[380+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0<d>>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[21]|0)-m|0)>>>0:0){f=c[23]|0;if(j>>>0<f>>>0)ea();h=j+m|0;if(j>>>0>=h>>>0)ea();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)ea();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)ea();b=e+12|0;if((c[b>>2]|0)!=(j|0))ea();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ea()}while(0);do if(g){b=c[j+28>>2]|0;a=380+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[20]=c[20]&~(1<<b);break}}else{if(g>>>0<(c[23]|0)>>>0)ea();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[23]|0;if(o>>>0<a>>>0)ea();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0<a>>>0)ea();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[23]|0)>>>0)ea();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=116+(a<<2)|0;d=c[19]|0;b=1<<b;if(d&b){b=116+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[23]|0)>>>0)ea();else{s=b;t=a}}else{c[19]=d|b;s=116+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=380+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[20]|0;d=1<<e;if(!(a&d)){c[20]=a|d;c[b>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[23]|0)>>>0)ea();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[23]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ea()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[21]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[24]|0;if(b>>>0>15){c[24]=a+q;c[21]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[21]=0;c[24]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[22]|0;if(a>>>0>q>>>0){L=a-q|0;c[22]=L;M=c[25]|0;c[25]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[137]|0)){a=ja(30)|0;if(!(a+-1&a)){c[139]=a;c[138]=a;c[140]=-1;c[141]=-1;c[142]=0;c[130]=0;c[137]=(ha(0)|0)&-16^1431655768;break}else ea()}while(0);j=q+48|0;i=c[139]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[129]|0;if((a|0)!=0?(t=c[127]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[130]&4)){a=c[25]|0;e:do if(a){f=524;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[22]|0)&i;if(d>>>0<2147483647){f=ga(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=ga(0)|0;if((g|0)!=(-1|0)){a=g;d=c[138]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[127]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[129]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=ga(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[139]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((ga(u|0)|0)==(-1|0)){ga(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[130]=c[130]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=ga(l|0)|0,x=ga(0)|0,w>>>0<x>>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[127]|0)+p|0;c[127]=a;if(a>>>0>(c[128]|0)>>>0)c[128]=a;h=c[25]|0;g:do if(h){g=524;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0<w>>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[22]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[25]=h+L;c[22]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[26]=c[141];break}a=c[23]|0;if(w>>>0<a>>>0){c[23]=w;a=w}d=w+p|0;g=524;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=524;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[24]|0)){M=(c[21]|0)+l|0;c[21]=M;c[24]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<a>>>0)ea();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0<a>>>0)ea();a=f+12|0;if((c[a>>2]|0)!=(b|0))ea();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ea()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=380+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[23]|0)>>>0)ea();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[20]=c[20]&~(1<<a);break i}while(0);d=c[23]|0;if(J>>>0<d>>>0)ea();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0<d>>>0)ea();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[23]|0)>>>0)ea();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=116+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0<a>>>0)ea();if((c[e+12>>2]|0)==(b|0))break;ea()}while(0);if((f|0)==(e|0)){c[19]=c[19]&~(1<<g);break}do if((f|0)==(d|0))F=f+8|0;else{if(f>>>0<a>>>0)ea();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ea()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=116+(a<<2)|0;d=c[19]|0;b=1<<b;do if(!(d&b)){c[19]=d|b;K=116+(a+2<<2)|0;L=e}else{b=116+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0>=(c[23]|0)>>>0){K=b;L=a;break}ea()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;e=(L+245760|0)>>>16&2;e=14-(J|K|e)+(L<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=380+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[20]|0;d=1<<e;if(!(a&d)){c[20]=a|d;c[b>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[23]|0)>>>0)ea();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[23]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ea()}else{M=(c[22]|0)+l|0;c[22]=M;c[25]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=524;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0<f>>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[25]=w+d;c[22]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[26]=c[141];d=a+4|0;c[d>>2]=27;c[b>>2]=c[131];c[b+4>>2]=c[132];c[b+8>>2]=c[133];c[b+12>>2]=c[134];c[131]=w;c[132]=p;c[134]=0;c[133]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0<e>>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0<e>>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=116+(a<<2)|0;d=c[19]|0;b=1<<b;if(d&b){b=116+(a+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[23]|0)>>>0)ea();else{G=b;H=a}}else{c[19]=d|b;G=116+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<<L;K=(M+520192|0)>>>16&4;M=M<<K;e=(M+245760|0)>>>16&2;e=14-(K|L|e)+(M<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=380+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[20]|0;a=1<<e;if(!(b&a)){c[20]=b|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[23]|0)>>>0)ea();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[23]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ea()}}else{M=c[23]|0;if((M|0)==0|w>>>0<M>>>0)c[23]=w;c[131]=w;c[132]=p;c[134]=0;c[28]=c[137];c[27]=-1;b=0;do{M=b<<1;L=116+(M<<2)|0;c[116+(M+3<<2)>>2]=L;c[116+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[25]=w+M;c[22]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[26]=c[141]}while(0);b=c[22]|0;if(b>>>0>q>>>0){L=b-q|0;c[22]=L;M=c[25]|0;c[25]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(za()|0)>>2]=12;M=0;return M|0}function Ba(a){a=a|0;var b=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,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[23]|0;if(b>>>0<i>>>0)ea();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ea();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0<i>>>0)ea();if((l|0)==(c[24]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[21]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=116+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<i>>>0)ea();if((c[e+12>>2]|0)!=(l|0))ea()}if((d|0)==(e|0)){c[19]=c[19]&~(1<<f);u=l;g=m;break}if((d|0)!=(b|0)){if(d>>>0<i>>>0)ea();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ea()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<i>>>0)ea();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0<i>>>0)ea();b=f+12|0;if((c[b>>2]|0)!=(l|0))ea();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ea()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=380+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[20]=c[20]&~(1<<b);u=l;g=m;break}}else{if(h>>>0<(c[23]|0)>>>0)ea();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[23]|0;if(k>>>0<d>>>0)ea();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0<d>>>0)ea();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[23]|0)>>>0)ea();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)ea();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ea();if(!(d&2)){if((q|0)==(c[25]|0)){t=(c[22]|0)+g|0;c[22]=t;c[25]=u;c[u+4>>2]=t|1;if((u|0)!=(c[24]|0))return;c[24]=0;c[21]=0;return}if((q|0)==(c[24]|0)){t=(c[21]|0)+g|0;c[21]=t;c[24]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[23]|0)>>>0)ea();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[23]|0)>>>0)ea();e=d+12|0;if((c[e>>2]|0)!=(q|0))ea();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ea()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=380+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[20]=c[20]&~(1<<b);break}}else{if(h>>>0<(c[23]|0)>>>0)ea();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[23]|0;if(p>>>0<d>>>0)ea();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0<d>>>0)ea();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[23]|0)>>>0)ea();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=116+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[23]|0)>>>0)ea();if((c[e+12>>2]|0)!=(q|0))ea()}if((d|0)==(e|0)){c[19]=c[19]&~(1<<f);break}if((d|0)!=(b|0)){if(d>>>0<(c[23]|0)>>>0)ea();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ea()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[24]|0)){c[21]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=116+(d<<2)|0;e=c[19]|0;b=1<<b;if(e&b){b=116+(d+2<<2)|0;d=c[b>>2]|0;if(d>>>0<(c[23]|0)>>>0)ea();else{r=b;s=d}}else{c[19]=e|b;r=116+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<<r;q=(s+520192|0)>>>16&4;s=s<<q;f=(s+245760|0)>>>16&2;f=14-(q|r|f)+(s<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=380+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[20]|0;e=1<<f;a:do if(d&e){b=c[b>>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[23]|0)>>>0)ea();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[23]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ea()}else{c[20]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[27]|0)+-1|0;c[27]=u;if(!u)b=532;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[27]=-1;return}function Ca(){}function Da(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Ea(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Fa(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Ga(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Ha(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ia(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Ia(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function Ja(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Ka(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function La(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Ma(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Ia(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Ia((Ra(h,g,Ia(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Na(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Ia(h^a,g^b,h,g)|0;b=C;Ra(a,b,Ia(l^d,k^e,l,k)|0,C,j)|0;e=Ia(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function Oa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=La(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Pa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra(a,b,c,d,0)|0}function Qa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Ra(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ra(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Ka(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Ka(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (C=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Da(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Ia(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ia(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}
// EMSCRIPTEN_END_FUNCS
return{_free:Ba,_blake2b:ya,_i64Add:Da,_memset:Ea,_malloc:Aa,_memcpy:Ha,_bitshift64Lshr:Fa,_bitshift64Shl:Ga,runPostSets:Ca,stackAlloc:la,stackSave:ma,stackRestore:na,establishStackSpace:oa,setThrew:pa,setTempRet0:sa,getTempRet0:ta}})
// EMSCRIPTEN_END_ASM
(b.I,b.J,buffer),na=b._free=Y._free;b.runPostSets=Y.runPostSets;b._blake2b=Y._blake2b;var Ja=b._i64Add=Y._i64Add,Ka=b._memset=Y._memset,P=b._malloc=Y._malloc,Na=b._memcpy=Y._memcpy,La=b._bitshift64Lshr=Y._bitshift64Lshr,Ma=b._bitshift64Shl=Y._bitshift64Shl;A.n=Y.stackAlloc;A.G=Y.stackSave;A.F=Y.stackRestore;A.W=Y.establishStackSpace;A.P=Y.setTempRet0;A.N=Y.getTempRet0;
if(W)if("function"===typeof b.locateFile?W=b.locateFile(W):b.memoryInitializerPrefixURL&&(W=b.memoryInitializerPrefixURL+W),v||x){var Pa=b.readBinary(W);Q.set(Pa,A.C)}else{var Ra=function(){Browser.T(W,Qa,function(){throw"could not load memory initializer "+W;})};U++;b.monitorRunDependencies&&b.monitorRunDependencies(U);var Qa=function(a){a.byteLength&&(a=new Uint8Array(a));Q.set(a,A.C);U--;b.monitorRunDependencies&&b.monitorRunDependencies(U);0==U&&(null!==Ga&&(clearInterval(Ga),Ga=null),V&&(a=V,
V=null,a()))},Z=b.memoryInitializerRequest;if(Z){var Sa=function(){200!==Z.status&&0!==Z.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+W),Ra()):Qa(Z.response)};Z.response?setTimeout(Sa,0):Z.addEventListener("load",Sa)}else Ra()}function y(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}y.prototype=Error();y.prototype.constructor=y;
var Ta=null,V=function Ua(){b.calledRun||Va();b.calledRun||(V=Ua)};
b.callMain=b.U=function(a){function c(){for(var a=0;3>a;a++)e.push(0)}assert(0==U,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(0==za.length,"cannot call main when preRun functions remain to be called");a=a||[];T||(T=!0,S(Aa));var d=a.length+1,e=[O(Fa(b.thisProgram),"i8",0)];c();for(var h=0;h<d-1;h+=1)e.push(O(Fa(a[h]),"i8",0)),c();e.push(0);e=O(e,"i32",0);try{var k=b._main(d,e,0);Wa(k,!0)}catch(l){if(!(l instanceof y))if("SimulateInfiniteLoop"==l)b.noExitRuntime=
!0;else throw l&&"object"===typeof l&&l.stack&&b.A("exception thrown: "+[l,l.stack]),l;}finally{}};
function Va(a){function c(){if(!b.calledRun&&(b.calledRun=!0,!F)){T||(T=!0,S(Aa));S(Ba);if(b.onRuntimeInitialized)b.onRuntimeInitialized();b._main&&Xa&&b.callMain(a);if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var c=b.postRun.shift();Da.unshift(c)}S(Da)}}a=a||b.arguments;null===Ta&&(Ta=Date.now());if(!(0<U)){if(b.preRun)for("function"==typeof b.preRun&&(b.preRun=[b.preRun]);b.preRun.length;)Ea();S(za);0<U||b.calledRun||(b.setStatus?(b.setStatus("Running..."),
setTimeout(function(){setTimeout(function(){b.setStatus("")},1);c()},1)):c())}}b.run=b.run=Va;function Wa(a,c){if(!c||!b.noExitRuntime){if(!b.noExitRuntime&&(F=!0,z=void 0,S(Ca),b.onExit))b.onExit(a);v?(process.stdout.once("drain",function(){process.exit(a)}),console.log(" "),setTimeout(function(){process.exit(a)},500)):x&&"function"===typeof quit&&quit(a);throw new y(a);}}b.exit=b.exit=Wa;var Ya=[];
function E(a){void 0!==a?(b.print(a),b.A(a),a=JSON.stringify(a)):a="";F=!0;var c="abort("+a+") at "+pa()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";Ya&&Ya.forEach(function(d){c=d(c,a)});throw c;}b.abort=b.abort=E;if(b.preInit)for("function"==typeof b.preInit&&(b.preInit=[b.preInit]);0<b.preInit.length;)b.preInit.pop()();var Xa=!0;b.noInitialRun&&(Xa=!1);b.noExitRuntime=!0;Va();