var Module = function(Module) { Module = Module || {}; var a;a||(a=typeof Module !== 'undefined' ? Module : {});var e={},g;for(g in a)a.hasOwnProperty(g)&&(e[g]=a[g]);a.arguments=[];a.thisProgram="./this.program";a.quit=function(b,c){throw c;};a.preRun=[];a.postRun=[];var k=!1,l=!1,m=!1,n=!1; if(a.ENVIRONMENT)if("WEB"===a.ENVIRONMENT)k=!0;else if("WORKER"===a.ENVIRONMENT)l=!0;else if("NODE"===a.ENVIRONMENT)m=!0;else if("SHELL"===a.ENVIRONMENT)n=!0;else throw Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");else k="object"===typeof window,l="function"===typeof importScripts,m="object"===typeof process&&"function"===typeof require&&!k&&!l,n=!k&&!m&&!l; if(m){var p,q;a.read=function(b,c){var d=r(b);d||(p||(p=require("fs")),q||(q=require("path")),b=q.normalize(b),d=p.readFileSync(b));return c?d:d.toString()};a.readBinary=function(b){b=a.read(b,!0);b.buffer||(b=new Uint8Array(b));assert(b.buffer);return b};1>2]=H;D=!0;var la=!1;function v(b){for(var c=[],d=0;d>4; h=(h&15)<<4|t>>2;var S=(t&3)<<6|J;c+=String.fromCharCode(f);64!==t&&(c+=String.fromCharCode(h));64!==J&&(c+=String.fromCharCode(S))}while(d>2]=b);return b},_emscripten_memcpy_big:function(b,c,d){z.set(z.subarray(c,c+d),b);return b},_llvm_pow_f64:ha,_llvm_stackrestore:function(b){var c=W.a[b];W.a.splice(b, 1);na(c)},_llvm_stacksave:W,DYNAMICTOP_PTR:I,tempDoublePtr:ia,ABORT:x,STACKTOP:F,STACK_MAX:G};// EMSCRIPTEN_START_ASM var X=(/** @suppress {uselessCode} */ 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.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|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;var y=0;var z=global.Math.floor;var A=global.Math.abs;var B=global.Math.sqrt;var C=global.Math.pow;var D=global.Math.cos;var E=global.Math.sin;var F=global.Math.tan;var G=global.Math.acos;var H=global.Math.asin;var I=global.Math.atan;var J=global.Math.atan2;var K=global.Math.exp;var L=global.Math.log;var M=global.Math.ceil;var N=global.Math.imul;var O=global.Math.min;var P=global.Math.max;var Q=global.Math.clz32;var R=env.abort;var S=env.assert;var T=env.enlargeMemory;var U=env.getTotalMemory;var V=env.abortOnCannotGrowMemory;var W=env.invoke_viiiiiii;var X=env.___setErrNo;var Y=env._emscripten_memcpy_big;var Z=env._llvm_pow_f64;var _=env._llvm_stackrestore;var $=env._llvm_stacksave;var aa=0.0; // EMSCRIPTEN_START_FUNCS function hb(a,d,e,f,h,i,j,k,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+96|0;I=S+92|0;u=S+88|0;E=S+84|0;G=S+80|0;s=S+76|0;D=S+72|0;t=S+68|0;P=S+64|0;J=S+60|0;O=S+56|0;v=S+52|0;M=S+48|0;H=S+40|0;K=S+36|0;F=S+32|0;R=S+28|0;Q=S+24|0;B=S+20|0;C=S+16|0;y=S+12|0;x=S+8|0;r=S+4|0;w=S;c[I>>2]=a;c[u>>2]=d;c[E>>2]=e;c[G>>2]=f;c[s>>2]=h;c[D>>2]=i;c[t>>2]=j;c[P>>2]=k;c[J>>2]=m;g[O>>2]=n;c[v>>2]=o;g[M>>2]=p;c[S+44>>2]=q;g[K>>2]=0.0;g[Q>>2]=5.0;if((c[D>>2]|0)==2){g[y>>2]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=8)break;g[r>>2]=+kb((c[u>>2]|0)+(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2]<<2)|0,(c[u>>2]|0)+((c[t>>2]|0)+(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2])<<2)|0,(b[(c[(c[I>>2]|0)+32>>2]|0)+((c[H>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)<>2]);g[y>>2]=+g[y>>2]+ +g[r>>2];c[H>>2]=(c[H>>2]|0)+1}g[y>>2]=+g[y>>2]*.125;if(1.0<+A(+(+g[y>>2])))p=1.0;else p=+A(+(+g[y>>2]));g[y>>2]=p;g[x>>2]=+g[y>>2];c[H>>2]=8;while(1){if((c[H>>2]|0)>=(c[v>>2]|0))break;g[w>>2]=+kb((c[u>>2]|0)+(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2]<<2)|0,(c[u>>2]|0)+((c[t>>2]|0)+(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]<>2])<<2)|0,(b[(c[(c[I>>2]|0)+32>>2]|0)+((c[H>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[I>>2]|0)+32>>2]|0)+(c[H>>2]<<1)>>1]|0)<>2]);if(+g[x>>2]<+A(+(+g[w>>2])))p=+g[x>>2];else p=+A(+(+g[w>>2]));g[x>>2]=p;c[H>>2]=(c[H>>2]|0)+1}if(1.0<+A(+(+g[x>>2])))p=1.0;else p=+A(+(+g[x>>2]));g[x>>2]=p;g[B>>2]=+L(+(1.0010000467300415-+g[y>>2]*+g[y>>2]))*1.4426950408889634;if(+g[B>>2]*.5>+L(+(1.0010000467300415-+g[x>>2]*+g[x>>2]))*1.4426950408889634)p=+g[B>>2]*.5;else p=+L(+(1.0010000467300415-+g[x>>2]*+g[x>>2]))*1.4426950408889634;g[C>>2]=p;g[Q>>2]=+g[Q>>2]+(-4.0>+g[B>>2]*.75?-4.0:+g[B>>2]*.75);if(+g[c[J>>2]>>2]+.25<-(+g[C>>2]*.5))p=+g[c[J>>2]>>2]+.25;else p=-(+g[C>>2]*.5);g[c[J>>2]>>2]=p}c[F>>2]=0;do{c[H>>2]=0;while(1){if((c[H>>2]|0)>=((c[G>>2]|0)-1|0))break;n=+g[(c[E>>2]|0)+((c[H>>2]|0)+(N(c[F>>2]|0,c[(c[I>>2]|0)+8>>2]|0)|0)<<2)>>2];g[K>>2]=+g[K>>2]+n*+(2+(c[H>>2]<<1)-(c[G>>2]|0)|0);c[H>>2]=(c[H>>2]|0)+1}J=(c[F>>2]|0)+1|0;c[F>>2]=J}while((J|0)<(c[D>>2]|0));n=+(N(c[D>>2]|0,(c[G>>2]|0)-1|0)|0);g[K>>2]=+g[K>>2]/n;if(2.0<(+g[K>>2]+1.0)/6.0)p=2.0;else p=(+g[K>>2]+1.0)/6.0;if(!(-2.0>p))if(2.0<(+g[K>>2]+1.0)/6.0)p=2.0;else p=(+g[K>>2]+1.0)/6.0;else p=-2.0;g[Q>>2]=+g[Q>>2]-p;g[Q>>2]=+g[Q>>2]-+g[M>>2];g[Q>>2]=+g[Q>>2]-+g[O>>2]*2.0;if(c[c[P>>2]>>2]|0){if(2.0<(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0;if(!(-2.0>p))if(2.0<(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0)p=2.0;else p=(+g[(c[P>>2]|0)+8>>2]+.05000000074505806)*2.0;else p=-2.0;g[Q>>2]=+g[Q>>2]-p}c[R>>2]=~~+z(+(+g[Q>>2]+.5));if(0>((10<(c[R>>2]|0)?10:c[R>>2]|0)|0)){Q=0;c[R>>2]=Q;R=c[R>>2]|0;l=S;return R|0}Q=10<(c[R>>2]|0)?10:c[R>>2]|0;c[R>>2]=Q;R=c[R>>2]|0;l=S;return R|0}function ib(a,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;r=+r;s=s|0;t=t|0;u=u|0;v=+v;w=+w;var 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,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;ea=l;l=l+144|0;ga=ea+140|0;D=ea+136|0;aa=ea+132|0;P=ea+128|0;W=ea+124|0;fa=ea+120|0;O=ea+116|0;A=ea+112|0;X=ea+108|0;C=ea+104|0;F=ea+100|0;_=ea+96|0;I=ea+92|0;U=ea+88|0;G=ea+84|0;T=ea+80|0;Y=ea+76|0;J=ea+72|0;ca=ea+68|0;ba=ea+64|0;H=ea+60|0;x=ea+56|0;E=ea+52|0;V=ea+48|0;R=ea+44|0;y=ea+40|0;z=ea+36|0;B=ea+32|0;M=ea+28|0;L=ea+24|0;K=ea+20|0;S=ea+16|0;Q=ea+12|0;Z=ea+8|0;$=ea+4|0;da=ea;c[ga>>2]=a;c[D>>2]=d;c[aa>>2]=e;c[P>>2]=f;c[W>>2]=h;c[fa>>2]=i;c[O>>2]=j;c[A>>2]=k;c[X>>2]=m;g[C>>2]=n;c[F>>2]=o;g[_>>2]=p;c[I>>2]=q;g[U>>2]=r;c[G>>2]=s;c[T>>2]=t;c[Y>>2]=u;g[J>>2]=v;g[ca>>2]=w;c[V>>2]=c[(c[ga>>2]|0)+8>>2];c[R>>2]=c[(c[ga>>2]|0)+32>>2];c[x>>2]=c[fa>>2]|0?c[fa>>2]|0:c[V>>2]|0;c[H>>2]=b[(c[R>>2]|0)+(c[x>>2]<<1)>>1]<>2];if((c[O>>2]|0)==2)c[H>>2]=(c[H>>2]|0)+(b[(c[R>>2]|0)+(((c[A>>2]|0)<(c[x>>2]|0)?c[A>>2]|0:c[x>>2]|0)<<1)>>1]<>2]);c[ba>>2]=c[aa>>2];if(c[c[D>>2]>>2]|0?+g[(c[D>>2]|0)+16>>2]<.4:0)c[ba>>2]=(c[ba>>2]|0)-~~(+(c[H>>2]<<3|0)*(.4000000059604645-+g[(c[D>>2]|0)+16>>2]));if((c[O>>2]|0)==2){c[y>>2]=(c[A>>2]|0)<(c[x>>2]|0)?c[A>>2]|0:c[x>>2]|0;c[z>>2]=(b[(c[R>>2]|0)+(c[y>>2]<<1)>>1]<>2])-(c[y>>2]|0);g[B>>2]=+(c[z>>2]|0)*.800000011920929/+(c[H>>2]|0);g[C>>2]=+g[C>>2]<1.0?+g[C>>2]:1.0;if(+g[B>>2]*+(c[ba>>2]|0)<(+g[C>>2]-.10000000149011612)*+(c[z>>2]<<3|0)){j=c[ba>>2]|0;r=+g[B>>2]}else{j=c[z>>2]<<3;r=+g[C>>2]-.10000000149011612}c[ba>>2]=(c[ba>>2]|0)-~~(r*+(j|0))}c[ba>>2]=(c[ba>>2]|0)+((c[F>>2]|0)-(16<>2]));g[E>>2]=(c[G>>2]|0)==5010?.019999999552965164:.03999999910593033;c[ba>>2]=(c[ba>>2]|0)+~~((+g[_>>2]-+g[E>>2])*+(c[ba>>2]|0));if(!(c[T>>2]|0?1:(c[c[D>>2]>>2]|0)==0)){if(0.0>+g[(c[D>>2]|0)+4>>2]-.15000000596046448)r=0.0;else r=+g[(c[D>>2]|0)+4>>2]-.15000000596046448;g[L>>2]=r-.09000000357627869;c[M>>2]=(c[ba>>2]|0)+~~(+(c[H>>2]<<3|0)*1.2000000476837158*+g[L>>2]);if(c[I>>2]|0)c[M>>2]=(c[M>>2]|0)+~~(+(c[H>>2]<<3|0)*.800000011920929);c[ba>>2]=c[M>>2]}if(!((c[Y>>2]|0)==0|(c[T>>2]|0)!=0)){c[K>>2]=(c[ba>>2]|0)+~~(+g[J>>2]*+(c[H>>2]<<3|0));if(((c[ba>>2]|0)/4|0|0)>(c[K>>2]|0))j=(c[ba>>2]|0)/4|0;else j=c[K>>2]|0;c[ba>>2]=j}c[Q>>2]=b[(c[R>>2]|0)+((c[V>>2]|0)-2<<1)>>1]<>2];p=+((N(c[O>>2]|0,c[Q>>2]|0)|0)<<3|0);c[S>>2]=~~(p*+g[U>>2]);c[S>>2]=(c[S>>2]|0)>(c[ba>>2]>>2|0)?c[S>>2]|0:c[ba>>2]>>2;c[ba>>2]=(c[ba>>2]|0)<(c[S>>2]|0)?c[ba>>2]|0:c[S>>2]|0;if((c[Y>>2]|0)==0|(c[T>>2]|0)!=0?(c[X>>2]|0)!=0|(c[W>>2]|0)<64e3:0){if(0.0>+((c[W>>2]|0)-32e3|0)*.000030517578125)r=0.0;else r=+((c[W>>2]|0)-32e3|0)*.000030517578125;g[Z>>2]=r;if(c[X>>2]|0)g[Z>>2]=+g[Z>>2]<.6700000166893005?+g[Z>>2]:.6700000166893005;c[ba>>2]=(c[aa>>2]|0)+~~(+g[Z>>2]*+((c[ba>>2]|0)-(c[aa>>2]|0)|0))}if(!((c[Y>>2]|0)==0&+g[_>>2]<.20000000298023224)){fa=c[aa>>2]|0;fa=fa<<1;da=c[ba>>2]|0;da=(fa|0)<(da|0);fa=c[aa>>2]|0;fa=fa<<1;ga=c[ba>>2]|0;ga=da?fa:ga;c[ba>>2]=ga;ga=c[ba>>2]|0;l=ea;return ga|0}if(0>((32e3<(96e3-(c[W>>2]|0)|0)?32e3:96e3-(c[W>>2]|0)|0)|0))j=0;else j=32e3<(96e3-(c[W>>2]|0)|0)?32e3:96e3-(c[W>>2]|0)|0;g[$>>2]=+(j|0)*3.099999958067201e-06;g[da>>2]=+g[ca>>2]*+g[$>>2];c[ba>>2]=(c[ba>>2]|0)+~~(+g[da>>2]*+(c[ba>>2]|0));fa=c[aa>>2]|0;fa=fa<<1;da=c[ba>>2]|0;da=(fa|0)<(da|0);fa=c[aa>>2]|0;fa=fa<<1;ga=c[ba>>2]|0;ga=da?fa:ga;c[ba>>2]=ga;ga=c[ba>>2]|0;l=ea;return ga|0}function jb(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+16|0;k=m+12|0;f=m+8|0;h=m+4|0;j=m;c[i>>2]=a;c[k>>2]=b;c[f>>2]=d;g[j>>2]=0.0;c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;g[j>>2]=e+ +g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return +e}function lb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;b=n+32|0;m=n+28|0;d=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[m>>2]=a;g[f>>2]=+g[(c[m>>2]|0)+8>>2];a=c[m>>2]|0;if(+g[c[m>>2]>>2]>+g[(c[m>>2]|0)+4>>2]){g[d>>2]=+g[a+4>>2];g[e>>2]=+g[c[m>>2]>>2]}else{g[d>>2]=+g[a>>2];g[e>>2]=+g[(c[m>>2]|0)+4>>2]}a=c[m>>2]|0;if(+g[(c[m>>2]|0)+12>>2]>+g[(c[m>>2]|0)+16>>2]){g[h>>2]=+g[a+16>>2];g[i>>2]=+g[(c[m>>2]|0)+12>>2]}else{g[h>>2]=+g[a+12>>2];g[i>>2]=+g[(c[m>>2]|0)+16>>2]}if(+g[d>>2]>+g[h>>2]){g[j>>2]=+g[d>>2];g[d>>2]=+g[h>>2];g[h>>2]=+g[j>>2];g[k>>2]=+g[e>>2];g[e>>2]=+g[i>>2];g[i>>2]=+g[k>>2]}if(+g[f>>2]>+g[e>>2])if(+g[e>>2]<+g[h>>2]){g[b>>2]=+g[f>>2]<+g[h>>2]?+g[f>>2]:+g[h>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[i>>2]<+g[e>>2]?+g[i>>2]:+g[e>>2];o=+g[b>>2];l=n;return +o}else if(+g[f>>2]<+g[h>>2]){g[b>>2]=+g[e>>2]<+g[h>>2]?+g[e>>2]:+g[h>>2];o=+g[b>>2];l=n;return +o}else{g[b>>2]=+g[f>>2]<+g[i>>2]?+g[f>>2]:+g[i>>2];o=+g[b>>2];l=n;return +o}return 0.0}function mb(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0;i=l;l=l+32|0;b=i+16|0;h=i+12|0;d=i+8|0;e=i+4|0;f=i;c[h>>2]=a;a=c[h>>2]|0;if(+g[c[h>>2]>>2]>+g[(c[h>>2]|0)+4>>2]){g[d>>2]=+g[a+4>>2];g[e>>2]=+g[c[h>>2]>>2]}else{g[d>>2]=+g[a>>2];g[e>>2]=+g[(c[h>>2]|0)+4>>2]}g[f>>2]=+g[(c[h>>2]|0)+8>>2];if(+g[e>>2]<+g[f>>2]){g[b>>2]=+g[e>>2];j=+g[b>>2];l=i;return +j}if(+g[d>>2]<+g[f>>2]){g[b>>2]=+g[f>>2];j=+g[b>>2];l=i;return +j}else{g[b>>2]=+g[d>>2];j=+g[b>>2];l=i;return +j}return 0.0}function nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+20|0;i=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;f=n;c[m>>2]=a;c[i>>2]=b;c[h>>2]=d;g[j>>2]=e;g[f>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;e=+A(+(+g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]));g[f>>2]=+g[f>>2]+e;c[k>>2]=(c[k>>2]|0)+1}g[f>>2]=+g[f>>2]+ +(c[h>>2]|0)*+g[j>>2]*+g[f>>2];l=n;return +(+g[f>>2])}function ob(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=sc(48e3,960,0)|0;a=pb(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function pb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=88+((N(c[g>>2]|0,2048+(c[(c[f>>2]|0)+4>>2]|0)|0)|0)-1<<2)|0;c[d>>2]=a+((c[g>>2]|0)*24<<2)+(c[(c[f>>2]|0)+8>>2]<<3<<2);l=e;return c[d>>2]|0}function qb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;h=i+12|0;g=i+8|0;j=i+4|0;e=i;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;b=c[h>>2]|0;a=sc(48e3,960,0)|0;c[e>>2]=rb(b,a,c[j>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];j=c[f>>2]|0;l=i;return j|0}j=Ma(c[g>>2]|0)|0;c[(c[h>>2]|0)+16>>2]=j;if(!(c[(c[h>>2]|0)+16>>2]|0)){c[f>>2]=-1;j=c[f>>2]|0;l=i;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=i;return j|0}return 0}function rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i+12|0;f=i+8|0;e=i+4|0;c[h>>2]=a;c[f>>2]=b;c[e>>2]=d;if((c[e>>2]|0)<0|(c[e>>2]|0)>2){c[g>>2]=-1;h=c[g>>2]|0;l=i;return h|0}if(!(c[h>>2]|0)){c[g>>2]=-7;h=c[g>>2]|0;l=i;return h|0}else{a=c[h>>2]|0;aj(a|0,0,pb(c[f>>2]|0,c[e>>2]|0)|0)|0;c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];a=c[e>>2]|0;c[(c[h>>2]|0)+8>>2]=a;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=1;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+24>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[(c[h>>2]|0)+28>>2]=1;a=sb()|0;c[(c[h>>2]|0)+32>>2]=a;c[(c[h>>2]|0)+48>>2]=0;tb(c[h>>2]|0,4028,i)|0;c[g>>2]=0;h=c[g>>2]|0;l=i;return h|0}return 0}function sb(){return 0}function tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=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;G=l;l=l+128|0;F=G+120|0;m=G+116|0;H=G+112|0;e=G+96|0;n=G+88|0;w=G+84|0;r=G+80|0;B=G+76|0;o=G+72|0;x=G+68|0;p=G+64|0;y=G+60|0;q=G+56|0;z=G+52|0;f=G+48|0;h=G+44|0;i=G+40|0;j=G+36|0;k=G+32|0;s=G+28|0;A=G+24|0;t=G+20|0;C=G+16|0;u=G+12|0;D=G+8|0;v=G+4|0;E=G;c[m>>2]=a;c[H>>2]=b;c[e>>2]=d;a:do switch(c[H>>2]|0){case 10010:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[w>>2]=H;c[n>>2]=c[w>>2];if((c[n>>2]|0)>=0?(c[n>>2]|0)<(c[(c[c[m>>2]>>2]|0)+8>>2]|0):0){c[(c[m>>2]|0)+20>>2]=c[n>>2];e=24}else e=25;break}case 10012:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[B>>2]=H;c[r>>2]=c[B>>2];if((c[r>>2]|0)>=1?(c[r>>2]|0)<=(c[(c[c[m>>2]>>2]|0)+8>>2]|0):0){c[(c[m>>2]|0)+24>>2]=c[r>>2];e=24}else e=25;break}case 10008:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[x>>2]=H;c[o>>2]=c[x>>2];if((c[o>>2]|0)<1|(c[o>>2]|0)>2)e=25;else{c[(c[m>>2]|0)+12>>2]=c[o>>2];e=24}break}case 10007:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[y>>2]=H;c[p>>2]=c[y>>2];if(!(c[p>>2]|0))e=25;else{c[c[p>>2]>>2]=c[(c[m>>2]|0)+40>>2];c[(c[m>>2]|0)+40>>2]=0;e=24}break}case 4027:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[z>>2]=H;c[q>>2]=c[z>>2];if(!(c[q>>2]|0))e=25;else{c[c[q>>2]>>2]=(c[(c[m>>2]|0)+4>>2]|0)/(c[(c[m>>2]|0)+16>>2]|0)|0;e=24}break}case 4028:{c[h>>2]=(c[m>>2]|0)+84+((N(2048+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0)|0)<<2);c[i>>2]=(c[h>>2]|0)+((c[(c[m>>2]|0)+8>>2]|0)*24<<2);c[j>>2]=(c[i>>2]|0)+(c[(c[c[m>>2]>>2]|0)+8>>2]<<1<<2);c[k>>2]=(c[j>>2]|0)+(c[(c[c[m>>2]>>2]|0)+8>>2]<<1<<2);aj((c[m>>2]|0)+36|0,0,(pb(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0)-((c[m>>2]|0)+36-(c[m>>2]|0))|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[m>>2]>>2]|0)+8>>2]<<1|0)){e=24;break a}g[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;g[(c[j>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;c[f>>2]=(c[f>>2]|0)+1}}case 4033:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[A>>2]=H;c[s>>2]=c[A>>2];if(!(c[s>>2]|0))e=25;else{c[c[s>>2]>>2]=c[(c[m>>2]|0)+52>>2];e=24}break}case 10015:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[C>>2]=H;c[t>>2]=c[C>>2];if(!(c[t>>2]|0))e=25;else{c[c[t>>2]>>2]=c[c[m>>2]>>2];e=24}break}case 10016:{E=(c[e>>2]|0)+(4-1)&~(4-1);H=c[E>>2]|0;c[e>>2]=E+4;c[D>>2]=H;c[u>>2]=c[D>>2];c[(c[m>>2]|0)+28>>2]=c[u>>2];e=24;break}case 4031:{D=(c[e>>2]|0)+(4-1)&~(4-1);H=c[D>>2]|0;c[e>>2]=D+4;c[E>>2]=H;c[v>>2]=c[E>>2];if(!(c[v>>2]|0))e=25;else{c[c[v>>2]>>2]=c[(c[m>>2]|0)+36>>2];e=24}break}default:{c[F>>2]=-5;H=c[F>>2]|0;l=G;return H|0}}while(0);if((e|0)==24){c[F>>2]=0;H=c[F>>2]|0;l=G;return H|0}else if((e|0)==25){c[F>>2]=-1;H=c[F>>2]|0;l=G;return H|0}return 0}function ub(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0.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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0;va=l;l=l+304|0;qa=va+288|0;sa=va+284|0;n=va+280|0;ha=va+276|0;oa=va+272|0;fa=va+268|0;da=va+264|0;aa=va+260|0;ba=va+256|0;ga=va+252|0;Z=va+248|0;M=va+244|0;B=va+240|0;k=va+192|0;C=va+184|0;na=va+176|0;wa=va+168|0;ka=va+164|0;la=va+160|0;ma=va+156|0;W=va+152|0;K=va+148|0;R=va+144|0;q=va+140|0;Y=va+136|0;P=va+132|0;Q=va+128|0;ua=va+124|0;ea=va+120|0;I=va+116|0;G=va+112|0;A=va+108|0;U=va+104|0;T=va+100|0;J=va+96|0;H=va+92|0;z=va+88|0;F=va+84|0;y=va+80|0;s=va+76|0;V=va+72|0;E=va+68|0;D=va+64|0;L=va+60|0;O=va+56|0;ia=va+52|0;ja=va+48|0;S=va+44|0;u=va+40|0;p=va+36|0;o=va+32|0;ra=va+28|0;x=va+24|0;w=va+20|0;t=va+16|0;r=va+12|0;v=va+8|0;X=va+4|0;ca=va;c[sa>>2]=a;c[n>>2]=d;c[ha>>2]=e;c[oa>>2]=f;c[fa>>2]=h;c[da>>2]=i;c[aa>>2]=j;c[Y>>2]=c[(c[sa>>2]|0)+8>>2];c[J>>2]=0;c[H>>2]=0;c[D>>2]=0;c[O>>2]=c[(c[sa>>2]|0)+12>>2];c[ia>>2]=c[c[sa>>2]>>2];c[ja>>2]=c[(c[ia>>2]|0)+8>>2];c[S>>2]=c[(c[ia>>2]|0)+4>>2];c[u>>2]=c[(c[ia>>2]|0)+32>>2];c[ua>>2]=c[(c[sa>>2]|0)+20>>2];c[ea>>2]=c[(c[sa>>2]|0)+24>>2];c[fa>>2]=N(c[fa>>2]|0,c[(c[sa>>2]|0)+16>>2]|0)|0;c[wa>>2]=(c[sa>>2]|0)+84+((N(2048+(c[S>>2]|0)|0,c[Y>>2]|0)|0)<<2);c[ka>>2]=(c[wa>>2]|0)+((c[Y>>2]|0)*24<<2);c[la>>2]=(c[ka>>2]|0)+(c[ja>>2]<<1<<2);c[ma>>2]=(c[la>>2]|0)+(c[ja>>2]<<1<<2);c[W>>2]=(c[ma>>2]|0)+(c[ja>>2]<<1<<2);c[P>>2]=0;while(1){if((c[P>>2]|0)>(c[(c[ia>>2]|0)+36>>2]|0))break;if((c[(c[ia>>2]|0)+44>>2]<>2]|0)==(c[fa>>2]|0))break;c[P>>2]=(c[P>>2]|0)+1}if((c[P>>2]|0)>(c[(c[ia>>2]|0)+36>>2]|0)){c[qa>>2]=-1;wa=c[qa>>2]|0;l=va;return wa|0}c[Q>>2]=1<>2];if((c[ha>>2]|0)<0|(c[ha>>2]|0)>1275|(c[oa>>2]|0)==0){c[qa>>2]=-1;wa=c[qa>>2]|0;l=va;return wa|0}c[Z>>2]=N(c[Q>>2]|0,c[(c[ia>>2]|0)+44>>2]|0)|0;c[ba>>2]=0;do{wa=(c[sa>>2]|0)+84+((N(c[ba>>2]|0,2048+(c[S>>2]|0)|0)|0)<<2)|0;c[C+(c[ba>>2]<<2)>>2]=wa;c[na+(c[ba>>2]<<2)>>2]=(c[C+(c[ba>>2]<<2)>>2]|0)+8192+(0-(c[Z>>2]|0)<<2);wa=(c[ba>>2]|0)+1|0;c[ba>>2]=wa}while((wa|0)<(c[Y>>2]|0));c[I>>2]=c[ea>>2];if((c[I>>2]|0)>(c[(c[ia>>2]|0)+12>>2]|0))c[I>>2]=c[(c[ia>>2]|0)+12>>2];if((c[n>>2]|0)==0|(c[ha>>2]|0)<=1){vb(c[sa>>2]|0,c[Z>>2]|0,c[P>>2]|0);wb(na,c[oa>>2]|0,c[Z>>2]|0,c[Y>>2]|0,c[(c[sa>>2]|0)+16>>2]|0,(c[ia>>2]|0)+16|0,(c[sa>>2]|0)+76|0,c[aa>>2]|0);c[qa>>2]=(c[fa>>2]|0)/(c[(c[sa>>2]|0)+16>>2]|0)|0;wa=c[qa>>2]|0;l=va;return wa|0}if(!(c[da>>2]|0)){Hb(k,c[n>>2]|0,c[ha>>2]|0);c[da>>2]=k}a:do if((c[O>>2]|0)==1){c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[ja>>2]|0))break a;if(+g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2]>+g[(c[ka>>2]|0)+((c[ja>>2]|0)+(c[ga>>2]|0)<<2)>>2])k=c[ga>>2]|0;else k=(c[ja>>2]|0)+(c[ga>>2]|0)|0;g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2]=+g[(c[ka>>2]|0)+(k<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1}}while(0);c[z>>2]=c[ha>>2]<<3;c[y>>2]=xb(c[da>>2]|0)|0;do if((c[y>>2]|0)<(c[z>>2]|0))if((c[y>>2]|0)==1){c[L>>2]=Ob(c[da>>2]|0,15)|0;break}else{c[L>>2]=0;break}else c[L>>2]=1;while(0);if(c[L>>2]|0){c[y>>2]=c[ha>>2]<<3;a=c[y>>2]|0;a=a-(xb(c[da>>2]|0)|0)|0;wa=(c[da>>2]|0)+20|0;c[wa>>2]=(c[wa>>2]|0)+a}g[T>>2]=0.0;c[U>>2]=0;c[V>>2]=0;if((c[ua>>2]|0)==0?((c[y>>2]|0)+16|0)<=(c[z>>2]|0):0){if(Ob(c[da>>2]|0,1)|0){c[o>>2]=Qb(c[da>>2]|0,6)|0;wa=16<>2];c[U>>2]=wa+(Rb(c[da>>2]|0,4+(c[o>>2]|0)|0)|0)-1;c[p>>2]=Rb(c[da>>2]|0,3)|0;wa=(xb(c[da>>2]|0)|0)+2|0;if((wa|0)<=(c[z>>2]|0))c[V>>2]=Pb(c[da>>2]|0,25571,2)|0;g[T>>2]=+((c[p>>2]|0)+1|0)*.09375}c[y>>2]=xb(c[da>>2]|0)|0}if((c[P>>2]|0)>0?((c[y>>2]|0)+3|0)<=(c[z>>2]|0):0){c[R>>2]=Ob(c[da>>2]|0,3)|0;c[y>>2]=xb(c[da>>2]|0)|0}else c[R>>2]=0;if(c[R>>2]|0)c[K>>2]=c[Q>>2];else c[K>>2]=0;if(((c[y>>2]|0)+3|0)<=(c[z>>2]|0))k=Ob(c[da>>2]|0,3)|0;else k=0;c[q>>2]=k;Qc(c[ia>>2]|0,c[ua>>2]|0,c[ea>>2]|0,c[ka>>2]|0,c[q>>2]|0,c[da>>2]|0,c[O>>2]|0,c[P>>2]|0);wa=c[ja>>2]|0;c[ra>>2]=$()|0;e=l;l=l+((1*(wa<<2)|0)+15&-16)|0;yb(c[ua>>2]|0,c[ea>>2]|0,c[R>>2]|0,e,c[P>>2]|0,c[da>>2]|0);c[y>>2]=xb(c[da>>2]|0)|0;c[M>>2]=2;if(((c[y>>2]|0)+4|0)<=(c[z>>2]|0))c[M>>2]=Pb(c[da>>2]|0,25574,5)|0;j=l;l=l+((1*(c[ja>>2]<<2)|0)+15&-16)|0;Pa(c[ia>>2]|0,j,c[P>>2]|0,c[O>>2]|0);h=l;l=l+((1*(c[ja>>2]<<2)|0)+15&-16)|0;c[s>>2]=6;c[z>>2]=c[z>>2]<<3;c[y>>2]=Gb(c[da>>2]|0)|0;c[ga>>2]=c[ua>>2];while(1){if((c[ga>>2]|0)>=(c[ea>>2]|0))break;k=N(c[O>>2]|0,(b[(c[u>>2]|0)+((c[ga>>2]|0)+1<<1)>>1]|0)-(b[(c[u>>2]|0)+(c[ga>>2]<<1)>>1]|0)|0)|0;c[x>>2]=k<>2];k=c[x>>2]|0;if((c[x>>2]<<3|0)<((48>(c[x>>2]|0)?48:c[x>>2]|0)|0))k=k<<3;else k=48>(k|0)?48:c[x>>2]|0;c[w>>2]=k;c[t>>2]=c[s>>2];c[r>>2]=0;while(1){if(((c[y>>2]|0)+(c[t>>2]<<3)|0)>=(c[z>>2]|0))break;if((c[r>>2]|0)>=(c[j+(c[ga>>2]<<2)>>2]|0))break;c[v>>2]=Ob(c[da>>2]|0,c[t>>2]|0)|0;c[y>>2]=Gb(c[da>>2]|0)|0;if(!(c[v>>2]|0))break;c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[w>>2]|0);c[t>>2]=1}c[h+(c[ga>>2]<<2)>>2]=c[r>>2];if((c[r>>2]|0)>0)c[s>>2]=2>((c[s>>2]|0)-1|0)?2:(c[s>>2]|0)-1|0;c[ga>>2]=(c[ga>>2]|0)+1}i=l;l=l+((1*(c[ja>>2]<<2)|0)+15&-16)|0;if(((c[y>>2]|0)+48|0)<=(c[z>>2]|0))k=Pb(c[da>>2]|0,25578,7)|0;else k=5;c[A>>2]=k;wa=c[ha>>2]<<3<<3;c[B>>2]=wa-(Gb(c[da>>2]|0)|0)-1;if((c[R>>2]|0)!=0&(c[P>>2]|0)>=2)k=(c[B>>2]|0)>=((c[P>>2]|0)+2<<3|0);else k=0;c[E>>2]=k?8:0;c[B>>2]=(c[B>>2]|0)-(c[E>>2]|0);d=l;l=l+((1*(c[ja>>2]<<2)|0)+15&-16)|0;n=l;l=l+((1*(c[ja>>2]<<2)|0)+15&-16)|0;c[G>>2]=Uc(c[ia>>2]|0,c[ua>>2]|0,c[ea>>2]|0,h,j,c[A>>2]|0,J,H,c[B>>2]|0,F,d,i,n,c[O>>2]|0,c[P>>2]|0,c[da>>2]|0,0,0,0)|0;Rc(c[ia>>2]|0,c[ua>>2]|0,c[ea>>2]|0,c[ka>>2]|0,i,c[da>>2]|0,c[O>>2]|0);c[ba>>2]=0;do{$i(c[C+(c[ba>>2]<<2)>>2]|0,(c[C+(c[ba>>2]<<2)>>2]|0)+(c[Z>>2]<<2)|0,(2048-(c[Z>>2]|0)+((c[S>>2]|0)/2|0)<<2)+0|0)|0;wa=(c[ba>>2]|0)+1|0;c[ba>>2]=wa}while((wa|0)<(c[Y>>2]|0));wa=N(c[O>>2]|0,c[ja>>2]|0)|0;k=l;l=l+((1*wa|0)+15&-16)|0;wa=(N(c[O>>2]|0,c[Z>>2]|0)|0)<<2;j=l;l=l+((1*wa|0)+15&-16)|0;ta(0,c[ia>>2]|0,c[ua>>2]|0,c[ea>>2]|0,j,(c[O>>2]|0)==2?j+(c[Z>>2]<<2)|0:0,k,0,d,c[K>>2]|0,c[M>>2]|0,c[H>>2]|0,c[J>>2]|0,e,(c[ha>>2]<<6)-(c[E>>2]|0)|0,c[F>>2]|0,c[da>>2]|0,c[P>>2]|0,c[G>>2]|0,(c[sa>>2]|0)+36|0,c[(c[sa>>2]|0)+32>>2]|0);if((c[E>>2]|0)>0)c[D>>2]=Rb(c[da>>2]|0,1)|0;H=c[ia>>2]|0;J=c[ua>>2]|0;K=c[ea>>2]|0;M=c[ka>>2]|0;wa=c[ha>>2]<<3;wa=wa-(xb(c[da>>2]|0)|0)|0;Sc(H,J,K,M,i,n,wa,c[da>>2]|0,c[O>>2]|0);if(c[D>>2]|0)pa(c[ia>>2]|0,j,k,c[P>>2]|0,c[O>>2]|0,c[Z>>2]|0,c[ua>>2]|0,c[ea>>2]|0,c[ka>>2]|0,c[la>>2]|0,c[ma>>2]|0,d,c[(c[sa>>2]|0)+36>>2]|0,c[(c[sa>>2]|0)+32>>2]|0);b:do if(c[L>>2]|0){c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(N(c[O>>2]|0,c[ja>>2]|0)|0))break b;g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2]=-28.0;c[ga>>2]=(c[ga>>2]|0)+1}}while(0);zb(c[ia>>2]|0,j,na,c[ka>>2]|0,c[ua>>2]|0,c[I>>2]|0,c[O>>2]|0,c[Y>>2]|0,c[R>>2]|0,c[P>>2]|0,c[(c[sa>>2]|0)+16>>2]|0,c[L>>2]|0,c[(c[sa>>2]|0)+32>>2]|0);c[ba>>2]=0;do{if((c[(c[sa>>2]|0)+52>>2]|0)>15)k=c[(c[sa>>2]|0)+52>>2]|0;else k=15;c[(c[sa>>2]|0)+52>>2]=k;if((c[(c[sa>>2]|0)+56>>2]|0)>15)k=c[(c[sa>>2]|0)+56>>2]|0;else k=15;c[(c[sa>>2]|0)+56>>2]=k;Na(c[na+(c[ba>>2]<<2)>>2]|0,c[na+(c[ba>>2]<<2)>>2]|0,c[(c[sa>>2]|0)+56>>2]|0,c[(c[sa>>2]|0)+52>>2]|0,c[(c[ia>>2]|0)+44>>2]|0,+g[(c[sa>>2]|0)+64>>2],+g[(c[sa>>2]|0)+60>>2],c[(c[sa>>2]|0)+72>>2]|0,c[(c[sa>>2]|0)+68>>2]|0,c[(c[ia>>2]|0)+60>>2]|0,c[S>>2]|0,c[(c[sa>>2]|0)+32>>2]|0);if(c[P>>2]|0)Na((c[na+(c[ba>>2]<<2)>>2]|0)+(c[(c[ia>>2]|0)+44>>2]<<2)|0,(c[na+(c[ba>>2]<<2)>>2]|0)+(c[(c[ia>>2]|0)+44>>2]<<2)|0,c[(c[sa>>2]|0)+52>>2]|0,c[U>>2]|0,(c[Z>>2]|0)-(c[(c[ia>>2]|0)+44>>2]|0)|0,+g[(c[sa>>2]|0)+60>>2],+g[T>>2],c[(c[sa>>2]|0)+68>>2]|0,c[V>>2]|0,c[(c[ia>>2]|0)+60>>2]|0,c[S>>2]|0,c[(c[sa>>2]|0)+32>>2]|0);wa=(c[ba>>2]|0)+1|0;c[ba>>2]=wa}while((wa|0)<(c[Y>>2]|0));c[(c[sa>>2]|0)+56>>2]=c[(c[sa>>2]|0)+52>>2];g[(c[sa>>2]|0)+64>>2]=+g[(c[sa>>2]|0)+60>>2];c[(c[sa>>2]|0)+72>>2]=c[(c[sa>>2]|0)+68>>2];c[(c[sa>>2]|0)+52>>2]=c[U>>2];g[(c[sa>>2]|0)+60>>2]=+g[T>>2];c[(c[sa>>2]|0)+68>>2]=c[V>>2];if(c[P>>2]|0){c[(c[sa>>2]|0)+56>>2]=c[(c[sa>>2]|0)+52>>2];g[(c[sa>>2]|0)+64>>2]=+g[(c[sa>>2]|0)+60>>2];c[(c[sa>>2]|0)+72>>2]=c[(c[sa>>2]|0)+68>>2]}if((c[O>>2]|0)==1)_i((c[ka>>2]|0)+(c[ja>>2]<<2)|0,c[ka>>2]|0,(c[ja>>2]<<2)+0|0)|0;c:do if(c[R>>2]|0){c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[ja>>2]<<1|0))break c;if(+g[(c[la>>2]|0)+(c[ga>>2]<<2)>>2]<+g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2])k=(c[la>>2]|0)+(c[ga>>2]<<2)|0;else k=(c[ka>>2]|0)+(c[ga>>2]<<2)|0;g[(c[la>>2]|0)+(c[ga>>2]<<2)>>2]=+g[k>>2];c[ga>>2]=(c[ga>>2]|0)+1}}else{_i(c[ma>>2]|0,c[la>>2]|0,(c[ja>>2]<<1<<2)+0|0)|0;_i(c[la>>2]|0,c[ka>>2]|0,(c[ja>>2]<<1<<2)+0|0)|0;if((c[(c[sa>>2]|0)+48>>2]|0)<10)g[X>>2]=+(c[Q>>2]|0)*1.0000000474974513e-03;else g[X>>2]=1.0;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[ja>>2]<<1|0))break c;if(+g[(c[W>>2]|0)+(c[ga>>2]<<2)>>2]+ +g[X>>2]<+g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2])m=+g[(c[W>>2]|0)+(c[ga>>2]<<2)>>2]+ +g[X>>2];else m=+g[(c[ka>>2]|0)+(c[ga>>2]<<2)>>2];g[(c[W>>2]|0)+(c[ga>>2]<<2)>>2]=m;c[ga>>2]=(c[ga>>2]|0)+1}}while(0);c[ba>>2]=0;do{c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[ua>>2]|0))break;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[ka>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=0.0;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[ma>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=-28.0;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[la>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=-28.0;c[ga>>2]=(c[ga>>2]|0)+1}c[ga>>2]=c[ea>>2];while(1){if((c[ga>>2]|0)>=(c[ja>>2]|0))break;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[ka>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=0.0;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[ma>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=-28.0;wa=N(c[ba>>2]|0,c[ja>>2]|0)|0;g[(c[la>>2]|0)+(wa+(c[ga>>2]|0)<<2)>>2]=-28.0;c[ga>>2]=(c[ga>>2]|0)+1}wa=(c[ba>>2]|0)+1|0;c[ba>>2]=wa}while((wa|0)<2);c[(c[sa>>2]|0)+36>>2]=c[(c[da>>2]|0)+28>>2];wb(na,c[oa>>2]|0,c[Z>>2]|0,c[Y>>2]|0,c[(c[sa>>2]|0)+16>>2]|0,(c[ia>>2]|0)+16|0,(c[sa>>2]|0)+76|0,c[aa>>2]|0);c[(c[sa>>2]|0)+48>>2]=0;wa=xb(c[da>>2]|0)|0;if((wa|0)>(c[ha>>2]<<3|0)){c[qa>>2]=-3;c[ca>>2]=1}else{if(Ab(c[da>>2]|0)|0)c[(c[sa>>2]|0)+40>>2]=1;c[qa>>2]=(c[fa>>2]|0)/(c[(c[sa>>2]|0)+16>>2]|0)|0;c[ca>>2]=1}_(c[ra>>2]|0);wa=c[qa>>2]|0;l=va;return wa|0}function vb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0;ma=l;l=l+4608|0;la=ma+4596|0;ea=ma+4592|0;M=ma+4588|0;fa=ma+4584|0;ha=ma+4580|0;da=ma+4576|0;ga=ma+4568|0;Y=ma+4560|0;C=ma+4556|0;X=ma+4552|0;i=ma+4548|0;j=ma+4544|0;O=ma+4540|0;ca=ma+4536|0;W=ma+4532|0;ja=ma+4528|0;ba=ma+4524|0;ia=ma+4520|0;h=ma+4516|0;S=ma+4512|0;aa=ma+4508|0;U=ma+4504|0;T=ma+4500|0;R=ma+4496|0;Z=ma+4492|0;V=ma+4488|0;Q=ma+4484|0;P=ma+4480|0;L=ma+4476|0;z=ma+4472|0;F=ma+4468|0;H=ma+4464|0;v=ma+368|0;s=ma+360|0;q=ma+356|0;n=ma+352|0;r=ma+348|0;y=ma+344|0;x=ma+340|0;w=ma+336|0;A=ma+332|0;p=ma+232|0;D=ma+136|0;k=ma+128|0;m=ma+124|0;t=ma+120|0;u=ma+116|0;I=ma+112|0;E=ma+16|0;o=ma+12|0;J=ma+8|0;G=ma+4|0;K=ma;c[la>>2]=a;c[ea>>2]=d;c[M>>2]=e;c[da>>2]=c[(c[la>>2]|0)+8>>2];c[ca>>2]=c[c[la>>2]>>2];c[W>>2]=c[(c[ca>>2]|0)+8>>2];c[ja>>2]=c[(c[ca>>2]|0)+4>>2];c[S>>2]=c[(c[ca>>2]|0)+32>>2];c[fa>>2]=0;do{a=(c[la>>2]|0)+84+((N(c[fa>>2]|0,2048+(c[ja>>2]|0)|0)|0)<<2)|0;c[ga+(c[fa>>2]<<2)>>2]=a;c[Y+(c[fa>>2]<<2)>>2]=(c[ga+(c[fa>>2]<<2)>>2]|0)+8192+(0-(c[ea>>2]|0)<<2);a=(c[fa>>2]|0)+1|0;c[fa>>2]=a}while((a|0)<(c[da>>2]|0));c[C>>2]=(c[la>>2]|0)+84+((N(2048+(c[ja>>2]|0)|0,c[da>>2]|0)|0)<<2);c[X>>2]=(c[C>>2]|0)+((c[da>>2]|0)*24<<2);c[i>>2]=(c[X>>2]|0)+(c[W>>2]<<1<<2);c[j>>2]=(c[i>>2]|0)+(c[W>>2]<<1<<2);c[O>>2]=(c[j>>2]|0)+(c[W>>2]<<1<<2);c[ia>>2]=c[(c[la>>2]|0)+48>>2];c[ba>>2]=c[(c[la>>2]|0)+20>>2];c[h>>2]=((c[ia>>2]|0)>=5?1:(c[ba>>2]|0)!=0)&1;if(c[h>>2]|0){c[U>>2]=c[(c[la>>2]|0)+24>>2];if((c[U>>2]|0)<(c[(c[ca>>2]|0)+12>>2]|0))e=c[U>>2]|0;else e=c[(c[ca>>2]|0)+12>>2]|0;do if((c[ba>>2]|0)<=(e|0))if((c[U>>2]|0)<(c[(c[ca>>2]|0)+12>>2]|0)){e=c[U>>2]|0;break}else{e=c[(c[ca>>2]|0)+12>>2]|0;break}else e=c[ba>>2]|0;while(0);c[T>>2]=e;L=N(c[da>>2]|0,c[ea>>2]|0)|0;c[Z>>2]=$()|0;e=l;l=l+((1*(L<<2)|0)+15&-16)|0;g[R>>2]=(c[ia>>2]|0)==0?1.5:.5;c[fa>>2]=0;do{c[ha>>2]=c[ba>>2];while(1){if((c[ha>>2]|0)>=(c[U>>2]|0))break;K=N(c[fa>>2]|0,c[W>>2]|0)|0;L=N(c[fa>>2]|0,c[W>>2]|0)|0;if(+g[(c[O>>2]|0)+(K+(c[ha>>2]|0)<<2)>>2]>+g[(c[X>>2]|0)+(L+(c[ha>>2]|0)<<2)>>2]-+g[R>>2]){L=N(c[fa>>2]|0,c[W>>2]|0)|0;f=+g[(c[O>>2]|0)+(L+(c[ha>>2]|0)<<2)>>2]}else{L=N(c[fa>>2]|0,c[W>>2]|0)|0;f=+g[(c[X>>2]|0)+(L+(c[ha>>2]|0)<<2)>>2]-+g[R>>2]}L=N(c[fa>>2]|0,c[W>>2]|0)|0;g[(c[X>>2]|0)+(L+(c[ha>>2]|0)<<2)>>2]=f;c[ha>>2]=(c[ha>>2]|0)+1}L=(c[fa>>2]|0)+1|0;c[fa>>2]=L}while((L|0)<(c[da>>2]|0));c[aa>>2]=c[(c[la>>2]|0)+36>>2];c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[da>>2]|0))break;c[ha>>2]=c[ba>>2];while(1){if((c[ha>>2]|0)>=(c[T>>2]|0))break;W=N(c[ea>>2]|0,c[fa>>2]|0)|0;c[Q>>2]=W+(b[(c[S>>2]|0)+(c[ha>>2]<<1)>>1]<>2]);c[P>>2]=(b[(c[S>>2]|0)+((c[ha>>2]|0)+1<<1)>>1]|0)-(b[(c[S>>2]|0)+(c[ha>>2]<<1)>>1]|0)<>2];c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[P>>2]|0))break;c[aa>>2]=ka(c[aa>>2]|0)|0;g[e+((c[Q>>2]|0)+(c[V>>2]|0)<<2)>>2]=+(c[aa>>2]>>20|0);c[V>>2]=(c[V>>2]|0)+1}cd(e+(c[Q>>2]<<2)|0,c[P>>2]|0,1.0,c[(c[la>>2]|0)+32>>2]|0);c[ha>>2]=(c[ha>>2]|0)+1}c[fa>>2]=(c[fa>>2]|0)+1}c[(c[la>>2]|0)+36>>2]=c[aa>>2];c[fa>>2]=0;do{$i(c[ga+(c[fa>>2]<<2)>>2]|0,(c[ga+(c[fa>>2]<<2)>>2]|0)+(c[ea>>2]<<2)|0,(2048-(c[ea>>2]|0)+(c[ja>>2]>>1)<<2)+0|0)|0;ha=(c[fa>>2]|0)+1|0;c[fa>>2]=ha}while((ha|0)<(c[da>>2]|0));zb(c[ca>>2]|0,e,Y,c[X>>2]|0,c[ba>>2]|0,c[T>>2]|0,c[da>>2]|0,c[da>>2]|0,0,c[M>>2]|0,c[(c[la>>2]|0)+16>>2]|0,0,c[(c[la>>2]|0)+32>>2]|0);_(c[Z>>2]|0);ja=c[ia>>2]|0;ja=ja+1|0;la=c[la>>2]|0;la=la+48|0;c[la>>2]=ja;l=ma;return}g[z>>2]=1.0;if(!(c[ia>>2]|0)){ba=Bb(ga,c[da>>2]|0,c[(c[la>>2]|0)+32>>2]|0)|0;c[F>>2]=ba;c[(c[la>>2]|0)+44>>2]=ba}else{c[F>>2]=c[(c[la>>2]|0)+44>>2];g[z>>2]=.800000011920929}ba=c[ja>>2]|0;c[H>>2]=$()|0;d=l;l=l+((1*(ba<<2)|0)+15&-16)|0;c[L>>2]=c[(c[ca>>2]|0)+60>>2];c[fa>>2]=0;do{g[n>>2]=0.0;c[r>>2]=c[ga+(c[fa>>2]<<2)>>2];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=1024)break;g[v+(c[ha>>2]<<2)>>2]=+g[(c[r>>2]|0)+(1024+(c[ha>>2]|0)<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}if(!(c[ia>>2]|0)){Hc(v,p,c[L>>2]|0,c[ja>>2]|0,24,1024,c[(c[la>>2]|0)+32>>2]|0)|0;g[p>>2]=+g[p>>2]*1.000100016593933;c[ha>>2]=1;while(1){if((c[ha>>2]|0)>24)break;ca=p+(c[ha>>2]<<2)|0;g[ca>>2]=+g[ca>>2]-+g[p+(c[ha>>2]<<2)>>2]*6.400000711437315e-05*+(c[ha>>2]|0)*+(c[ha>>2]|0);c[ha>>2]=(c[ha>>2]|0)+1}Dc((c[C>>2]|0)+((c[fa>>2]|0)*24<<2)|0,p,24)}c[w>>2]=(c[F>>2]<<1|0)<1024?c[F>>2]<<1:1024;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=24)break;g[D+(c[ha>>2]<<2)>>2]=+g[(c[r>>2]|0)+(2048-(c[w>>2]|0)-1-(c[ha>>2]|0)<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}Ec(v+4096+(0-(c[w>>2]|0)<<2)|0,(c[C>>2]|0)+((c[fa>>2]|0)*24<<2)|0,v+4096+(0-(c[w>>2]|0)<<2)|0,c[w>>2]|0,24,D,c[(c[la>>2]|0)+32>>2]|0);g[k>>2]=1.0;g[m>>2]=1.0;c[t>>2]=c[w>>2]>>1;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[t>>2]|0))break;g[u>>2]=+g[v+(1024-(c[t>>2]|0)+(c[ha>>2]|0)<<2)>>2];g[k>>2]=+g[k>>2]+ +g[u>>2]*+g[u>>2];g[u>>2]=+g[v+(1024-(c[t>>2]<<1)+(c[ha>>2]|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[u>>2]*+g[u>>2];c[ha>>2]=(c[ha>>2]|0)+1}g[k>>2]=+g[k>>2]<+g[m>>2]?+g[k>>2]:+g[m>>2];g[s>>2]=+B(+(+g[k>>2]/+g[m>>2]));$i(c[r>>2]|0,(c[r>>2]|0)+(c[ea>>2]<<2)|0,(2048-(c[ea>>2]|0)<<2)+0|0)|0;c[y>>2]=1024-(c[F>>2]|0);c[x>>2]=(c[ea>>2]|0)+(c[ja>>2]|0);g[q>>2]=+g[z>>2]*+g[s>>2];c[A>>2]=0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[x>>2]|0))break;if((c[A>>2]|0)>=(c[F>>2]|0)){c[A>>2]=(c[A>>2]|0)-(c[F>>2]|0);g[q>>2]=+g[q>>2]*+g[s>>2]}g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2]=+g[q>>2]*+g[v+((c[y>>2]|0)+(c[A>>2]|0)<<2)>>2];g[I>>2]=+g[(c[r>>2]|0)+(1024-(c[ea>>2]|0)+(c[y>>2]|0)+(c[A>>2]|0)<<2)>>2];g[n>>2]=+g[n>>2]+ +g[I>>2]*+g[I>>2];c[ha>>2]=(c[ha>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}c[ha>>2]=0;while(1){e=c[r>>2]|0;if((c[ha>>2]|0)>=24)break;g[E+(c[ha>>2]<<2)>>2]=+g[e+(2048-(c[ea>>2]|0)-1-(c[ha>>2]|0)<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}Gc(e+8192+(0-(c[ea>>2]|0)<<2)|0,(c[C>>2]|0)+((c[fa>>2]|0)*24<<2)|0,(c[r>>2]|0)+8192+(0-(c[ea>>2]|0)<<2)|0,c[x>>2]|0,24,E,c[(c[la>>2]|0)+32>>2]|0);g[o>>2]=0.0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[x>>2]|0))break;g[J>>2]=+g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2];g[o>>2]=+g[o>>2]+ +g[J>>2]*+g[J>>2];c[ha>>2]=(c[ha>>2]|0)+1}a:do if(+g[n>>2]>+g[o>>2]*.20000000298023224){if(+g[n>>2]<+g[o>>2]){g[G>>2]=+B(+((+g[n>>2]+1.0)/(+g[o>>2]+1.0)));c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ja>>2]|0))break;g[K>>2]=1.0-+g[(c[L>>2]|0)+(c[ha>>2]<<2)>>2]*(1.0-+g[G>>2]);g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2]=+g[K>>2]*+g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}c[ha>>2]=c[ja>>2];while(1){if((c[ha>>2]|0)>=(c[x>>2]|0))break a;g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2]=+g[G>>2]*+g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}}}else{c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[x>>2]|0))break a;g[(c[r>>2]|0)+(2048-(c[ea>>2]|0)+(c[ha>>2]|0)<<2)>>2]=0.0;c[ha>>2]=(c[ha>>2]|0)+1}}while(0);Na(d,(c[r>>2]|0)+8192|0,c[(c[la>>2]|0)+52>>2]|0,c[(c[la>>2]|0)+52>>2]|0,c[ja>>2]|0,-+g[(c[la>>2]|0)+60>>2],-+g[(c[la>>2]|0)+60>>2],c[(c[la>>2]|0)+68>>2]|0,c[(c[la>>2]|0)+68>>2]|0,0,0,c[(c[la>>2]|0)+32>>2]|0);c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=((c[ja>>2]|0)/2|0|0))break;g[(c[r>>2]|0)+(2048+(c[ha>>2]|0)<<2)>>2]=+g[(c[L>>2]|0)+(c[ha>>2]<<2)>>2]*+g[d+((c[ja>>2]|0)-1-(c[ha>>2]|0)<<2)>>2]+ +g[(c[L>>2]|0)+((c[ja>>2]|0)-(c[ha>>2]|0)-1<<2)>>2]*+g[d+(c[ha>>2]<<2)>>2];c[ha>>2]=(c[ha>>2]|0)+1}ca=(c[fa>>2]|0)+1|0;c[fa>>2]=ca}while((ca|0)<(c[da>>2]|0));_(c[H>>2]|0);ja=c[ia>>2]|0;ja=ja+1|0;la=c[la>>2]|0;la=la+48|0;c[la>>2]=ja;l=ma;return}function wb(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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.0;C=l;l=l+80|0;s=C+72|0;w=C+68|0;m=C+64|0;k=C+60|0;r=C+56|0;D=C+52|0;v=C+48|0;p=C+40|0;n=C+36|0;o=C+32|0;q=C+28|0;x=C+24|0;t=C+20|0;A=C+16|0;B=C+12|0;u=C+8|0;y=C+4|0;z=C;c[s>>2]=a;c[w>>2]=b;c[m>>2]=d;c[k>>2]=e;c[r>>2]=f;c[D>>2]=h;c[v>>2]=i;c[C+44>>2]=j;c[o>>2]=0;b=c[m>>2]|0;c[x>>2]=$()|0;e=l;l=l+((1*(b<<2)|0)+15&-16)|0;g[q>>2]=+g[c[D>>2]>>2];c[n>>2]=(c[m>>2]|0)/(c[r>>2]|0)|0;c[p>>2]=0;do{g[u>>2]=+g[(c[v>>2]|0)+(c[p>>2]<<2)>>2];c[A>>2]=c[(c[s>>2]|0)+(c[p>>2]<<2)>>2];c[B>>2]=(c[w>>2]|0)+(c[p>>2]<<2);D=(c[r>>2]|0)>1;c[t>>2]=0;a:do if(D){while(1){if((c[t>>2]|0)>=(c[m>>2]|0))break;g[y>>2]=+g[(c[A>>2]|0)+(c[t>>2]<<2)>>2]+ +g[u>>2]+1.0000000031710769e-30;g[u>>2]=+g[q>>2]*+g[y>>2];g[e+(c[t>>2]<<2)>>2]=+g[y>>2];c[t>>2]=(c[t>>2]|0)+1}c[o>>2]=1}else while(1){if((c[t>>2]|0)>=(c[m>>2]|0))break a;g[z>>2]=+g[(c[A>>2]|0)+(c[t>>2]<<2)>>2]+ +g[u>>2]+1.0000000031710769e-30;g[u>>2]=+g[q>>2]*+g[z>>2];g[(c[B>>2]|0)+((N(c[t>>2]|0,c[k>>2]|0)|0)<<2)>>2]=+g[z>>2]*.000030517578125;c[t>>2]=(c[t>>2]|0)+1}while(0);g[(c[v>>2]|0)+(c[p>>2]<<2)>>2]=+g[u>>2];b:do if(c[o>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[n>>2]|0))break b;E=+g[e+((N(c[t>>2]|0,c[r>>2]|0)|0)<<2)>>2]*.000030517578125;g[(c[B>>2]|0)+((N(c[t>>2]|0,c[k>>2]|0)|0)<<2)>>2]=E;c[t>>2]=(c[t>>2]|0)+1}}while(0);D=(c[p>>2]|0)+1|0;c[p>>2]=D}while((D|0)<(c[k>>2]|0));_(c[x>>2]|0);l=C;return}function xb(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function yb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=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;x=l;l=l+64|0;r=x+52|0;n=x+48|0;p=x+44|0;u=x+40|0;i=x+36|0;m=x+32|0;o=x+28|0;k=x+24|0;v=x+20|0;w=x+16|0;t=x+12|0;q=x+8|0;j=x+4|0;s=x;c[r>>2]=b;c[n>>2]=d;c[p>>2]=e;c[u>>2]=f;c[i>>2]=g;c[m>>2]=h;c[j>>2]=c[(c[m>>2]|0)+4>>2]<<3;c[s>>2]=xb(c[m>>2]|0)|0;c[q>>2]=c[p>>2]|0?2:4;if((c[i>>2]|0)>0)g=((c[s>>2]|0)+(c[q>>2]|0)+1|0)>>>0<=(c[j>>2]|0)>>>0;else g=0;c[w>>2]=g&1;c[j>>2]=(c[j>>2]|0)-(c[w>>2]|0);c[k>>2]=0;c[t>>2]=0;c[o>>2]=c[r>>2];while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;if(((c[s>>2]|0)+(c[q>>2]|0)|0)>>>0<=(c[j>>2]|0)>>>0){f=Ob(c[m>>2]|0,c[q>>2]|0)|0;c[k>>2]=c[k>>2]^f;c[s>>2]=xb(c[m>>2]|0)|0;c[t>>2]=c[t>>2]|c[k>>2]}c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=c[k>>2];c[q>>2]=c[p>>2]|0?4:5;c[o>>2]=(c[o>>2]|0)+1}c[v>>2]=0;if(c[w>>2]|0?(a[25228+(c[i>>2]<<3)+((c[p>>2]<<2)+0+(c[t>>2]|0))>>0]|0)!=(a[25228+(c[i>>2]<<3)+((c[p>>2]<<2)+2+(c[t>>2]|0))>>0]|0):0)c[v>>2]=Ob(c[m>>2]|0,1)|0;c[o>>2]=c[r>>2];while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=a[25228+(c[i>>2]<<3)+((c[p>>2]<<2)+(c[v>>2]<<1)+(c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]|0))>>0];c[o>>2]=(c[o>>2]|0)+1}l=x;return}function zb(a,b,d,e,f,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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,O=0,P=0,Q=0,R=0;Q=l;l=l+112|0;G=Q+100|0;x=Q+96|0;J=Q+92|0;I=Q+88|0;P=Q+84|0;C=Q+80|0;r=Q+76|0;s=Q+72|0;R=Q+68|0;t=Q+64|0;B=Q+60|0;O=Q+56|0;y=Q+52|0;A=Q+48|0;F=Q+44|0;u=Q+40|0;z=Q+36|0;q=Q+32|0;v=Q+28|0;w=Q+24|0;M=Q+20|0;H=Q+16|0;K=Q+12|0;L=Q+8|0;D=Q+4|0;E=Q;c[G>>2]=a;c[x>>2]=b;c[J>>2]=d;c[I>>2]=e;c[P>>2]=f;c[C>>2]=h;c[r>>2]=i;c[s>>2]=j;c[R>>2]=k;c[t>>2]=m;c[B>>2]=n;c[O>>2]=o;c[y>>2]=p;c[K>>2]=c[(c[G>>2]|0)+4>>2];c[H>>2]=c[(c[G>>2]|0)+8>>2];c[v>>2]=c[(c[G>>2]|0)+44>>2]<>2];f=c[v>>2]|0;c[L>>2]=$()|0;i=l;l=l+((1*(f<<2)|0)+15&-16)|0;c[u>>2]=1<>2];if(c[R>>2]|0){c[q>>2]=c[u>>2];c[w>>2]=c[(c[G>>2]|0)+44>>2];c[M>>2]=c[(c[G>>2]|0)+36>>2]}else{c[q>>2]=1;c[w>>2]=c[(c[G>>2]|0)+44>>2]<>2];c[M>>2]=(c[(c[G>>2]|0)+36>>2]|0)-(c[t>>2]|0)}if((c[s>>2]|0)==2&(c[r>>2]|0)==1){oa(c[G>>2]|0,c[x>>2]|0,i,c[I>>2]|0,c[P>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[O>>2]|0);c[D>>2]=(c[(c[J>>2]|0)+4>>2]|0)+(((c[K>>2]|0)/2|0)<<2);_i(c[D>>2]|0,i|0,(c[v>>2]<<2)+0|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;R=(c[c[J>>2]>>2]|0)+((N(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;rc((c[G>>2]|0)+64|0,(c[D>>2]|0)+(c[z>>2]<<2)|0,R,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;R=(c[(c[J>>2]|0)+4>>2]|0)+((N(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;rc((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,R,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}R=c[L>>2]|0;_(R|0);l=Q;return}if(!((c[s>>2]|0)==1&(c[r>>2]|0)==2)){c[A>>2]=0;do{F=(c[x>>2]|0)+((N(c[A>>2]|0,c[v>>2]|0)|0)<<2)|0;R=(c[I>>2]|0)+((N(c[A>>2]|0,c[H>>2]|0)|0)<<2)|0;oa(c[G>>2]|0,F,i,R,c[P>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[O>>2]|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;R=(c[(c[J>>2]|0)+(c[A>>2]<<2)>>2]|0)+((N(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;rc((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,R,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}R=(c[A>>2]|0)+1|0;c[A>>2]=R}while((R|0)<(c[s>>2]|0));R=c[L>>2]|0;_(R|0);l=Q;return}c[E>>2]=(c[c[J>>2]>>2]|0)+(((c[K>>2]|0)/2|0)<<2);oa(c[G>>2]|0,c[x>>2]|0,i,c[I>>2]|0,c[P>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[O>>2]|0);oa(c[G>>2]|0,(c[x>>2]|0)+(c[v>>2]<<2)|0,c[E>>2]|0,(c[I>>2]|0)+(c[H>>2]<<2)|0,c[P>>2]|0,c[C>>2]|0,c[u>>2]|0,c[B>>2]|0,c[O>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;g[i+(c[F>>2]<<2)>>2]=(+g[i+(c[F>>2]<<2)>>2]+ +g[(c[E>>2]|0)+(c[F>>2]<<2)>>2])*.5;c[F>>2]=(c[F>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[q>>2]|0))break;R=(c[c[J>>2]>>2]|0)+((N(c[w>>2]|0,c[z>>2]|0)|0)<<2)|0;rc((c[G>>2]|0)+64|0,i+(c[z>>2]<<2)|0,R,c[(c[G>>2]|0)+60>>2]|0,c[K>>2]|0,c[M>>2]|0,c[q>>2]|0,c[y>>2]|0);c[z>>2]=(c[z>>2]|0)+1}R=c[L>>2]|0;_(R|0);l=Q;return}function Ab(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function Bb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+4112|0;j=f+4108|0;i=f+4104|0;g=f+4100|0;e=f+4096|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;tc(c[j>>2]|0,h,2048,c[i>>2]|0,c[g>>2]|0);yc(h+1440|0,h,1328,620,e,c[g>>2]|0);c[e>>2]=720-(c[e>>2]|0);l=f;return c[e>>2]|0}function Cb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[j>>2]=e;b=c[j>>2]|0;a=Db(c[h>>2]|0,c[i>>2]|0)|0;ac(b,a,(c[(c[364+(((c[h>>2]|0)<(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(((c[h>>2]|0)>(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[h>>2]|0)<((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)+(((c[h>>2]|0)>((c[g>>2]|0)+1|0)?c[h>>2]|0:(c[g>>2]|0)+1|0)<<2)>>2]|0)|0);l=f;return}function Db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=(c[d>>2]|0)-1;c[f>>2]=(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0&1;c[h>>2]=A(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;do{c[g>>2]=(c[g>>2]|0)+-1;if(((c[d>>2]|0)-(c[g>>2]|0)|0)<(c[h>>2]|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=c[h>>2]|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>(c[h>>2]|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0);b=A(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+b;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<0){if(((c[d>>2]|0)-(c[g>>2]|0)|0)<((c[h>>2]|0)+1|0))a=(c[d>>2]|0)-(c[g>>2]|0)|0;else a=(c[h>>2]|0)+1|0;if(((c[d>>2]|0)-(c[g>>2]|0)|0)>((c[h>>2]|0)+1|0))b=(c[d>>2]|0)-(c[g>>2]|0)|0;else b=(c[h>>2]|0)+1|0;c[f>>2]=(c[f>>2]|0)+(c[(c[364+(a<<2)>>2]|0)+(b<<2)>>2]|0)}}while((c[g>>2]|0)>0);l=i;return c[f>>2]|0}function Eb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;h=g+12|0;j=g+8|0;i=g+4|0;k=g;c[h>>2]=a;c[j>>2]=b;c[i>>2]=d;c[k>>2]=e;d=c[j>>2]|0;b=c[i>>2]|0;a=Qb(c[k>>2]|0,(c[(c[364+(((c[j>>2]|0)<(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(((c[j>>2]|0)>(c[i>>2]|0)?c[j>>2]|0:c[i>>2]|0)<<2)>>2]|0)+(c[(c[364+(((c[j>>2]|0)<((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)+(((c[j>>2]|0)>((c[i>>2]|0)+1|0)?c[j>>2]|0:(c[i>>2]|0)+1|0)<<2)>>2]|0)|0)|0;f=+Fb(d,b,a,c[h>>2]|0);l=g;return +f}function Fb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;t=l;l=l+48|0;j=t+36|0;i=t+32|0;h=t+28|0;k=t+24|0;n=t+20|0;q=t+16|0;m=t+12|0;r=t+40|0;s=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[i>>2]=d;c[h>>2]=e;c[k>>2]=f;g[s>>2]=0.0;while(1){e=c[i>>2]|0;if((c[j>>2]|0)<=2)break;do if((e|0)>=(c[j>>2]|0)){c[p>>2]=c[364+(c[j>>2]<<2)>>2];c[n>>2]=c[(c[p>>2]|0)+((c[i>>2]|0)+1<<2)>>2];c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[i>>2];c[o>>2]=c[(c[p>>2]|0)+(c[j>>2]<<2)>>2];a:do if((c[o>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[i>>2]=c[j>>2];do{f=(c[i>>2]|0)+-1|0;c[i>>2]=f;c[n>>2]=c[(c[364+(f<<2)>>2]|0)+(c[j>>2]<<2)>>2]}while((c[n>>2]|0)>>>0>(c[h>>2]|0)>>>0)}else{c[n>>2]=c[(c[p>>2]|0)+(c[i>>2]<<2)>>2];while(1){if((c[n>>2]|0)>>>0<=(c[h>>2]|0)>>>0)break a;c[i>>2]=(c[i>>2]|0)+-1;c[n>>2]=c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]}}while(0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[i>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}else{c[n>>2]=c[(c[364+(c[i>>2]<<2)>>2]|0)+(c[j>>2]<<2)>>2];c[o>>2]=c[(c[364+((c[i>>2]|0)+1<<2)>>2]|0)+(c[j>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=(c[h>>2]|0)>>>0?(c[h>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=0;break}c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[o>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[o>>2]&c[q>>2]);c[m>>2]=c[i>>2];do{f=(c[i>>2]|0)+-1|0;c[i>>2]=f;c[n>>2]=c[(c[364+(f<<2)>>2]|0)+(c[j>>2]<<2)>>2]}while((c[n>>2]|0)>>>0>(c[h>>2]|0)>>>0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0);b[r>>1]=(c[m>>2]|0)-(c[i>>2]|0)+(c[q>>2]|0)^c[q>>2];a=b[r>>1]|0;f=c[k>>2]|0;c[k>>2]=f+4;c[f>>2]=a;g[s>>2]=+g[s>>2]+ +(b[r>>1]|0)*+(b[r>>1]|0)}while(0);c[j>>2]=(c[j>>2]|0)+-1}c[n>>2]=(e<<1)+1;c[q>>2]=0-((c[h>>2]|0)>>>0>=(c[n>>2]|0)>>>0&1);c[h>>2]=(c[h>>2]|0)-(c[n>>2]&c[q>>2]);c[m>>2]=c[i>>2];c[i>>2]=((c[h>>2]|0)+1|0)>>>1;if(!(c[i>>2]|0)){p=c[m>>2]|0;o=c[i>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[k>>2]|0;n=p+4|0;c[k>>2]=n;c[p>>2]=o;w=+g[s>>2];p=b[r>>1]|0;u=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=u*v;v=w+v;g[s>>2]=v;p=c[h>>2]|0;p=0-p|0;c[q>>2]=p;p=c[i>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[k>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;w=+(q<<16>>16);r=b[r>>1]|0;u=+(r<<16>>16);u=w*u;u=v+u;g[s>>2]=u;u=+g[s>>2];l=t;return +u}c[h>>2]=(c[h>>2]|0)-((c[i>>2]<<1)-1);p=c[m>>2]|0;o=c[i>>2]|0;o=p-o|0;p=c[q>>2]|0;p=o+p|0;o=c[q>>2]|0;o=p^o;o=o&65535;b[r>>1]=o;o=b[r>>1]|0;o=o<<16>>16;p=c[k>>2]|0;n=p+4|0;c[k>>2]=n;c[p>>2]=o;u=+g[s>>2];p=b[r>>1]|0;w=+(p<<16>>16);p=b[r>>1]|0;v=+(p<<16>>16);v=w*v;v=u+v;g[s>>2]=v;p=c[h>>2]|0;p=0-p|0;c[q>>2]=p;p=c[i>>2]|0;o=c[q>>2]|0;o=p+o|0;p=c[q>>2]|0;p=o^p;p=p&65535;b[r>>1]=p;p=b[r>>1]|0;p=p<<16>>16;q=c[k>>2]|0;c[q>>2]=p;v=+g[s>>2];q=b[r>>1]|0;u=+(q<<16>>16);r=b[r>>1]|0;w=+(r<<16>>16);w=u*w;w=v+w;g[s>>2]=w;w=+g[s>>2];l=t;return +w}function Gb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+16|0;d=e+12|0;g=e+8|0;b=e+4|0;f=e;c[h>>2]=a;c[d>>2]=c[(c[h>>2]|0)+20>>2]<<3;c[b>>2]=32-(Q(c[(c[h>>2]|0)+28>>2]|0)|0);c[g>>2]=(c[(c[h>>2]|0)+28>>2]|0)>>>((c[b>>2]|0)-16|0);c[f>>2]=((c[g>>2]|0)>>>12)-8;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)>>>0>(c[5512+(c[f>>2]<<2)>>2]|0)>>>0&1);c[b>>2]=(c[b>>2]<<3)+(c[f>>2]|0);l=e;return (c[d>>2]|0)-(c[b>>2]|0)|0}function Hb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=9;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=128;a=Ib(c[f>>2]|0)|0;c[(c[f>>2]|0)+40>>2]=a;c[(c[f>>2]|0)+32>>2]=(c[(c[f>>2]|0)+28>>2]|0)-1-(c[(c[f>>2]|0)+40>>2]>>1);c[(c[f>>2]|0)+44>>2]=0;Jb(c[f>>2]|0);l=e;return}function Ib(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+24>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}a=c[c[b>>2]>>2]|0;f=(c[b>>2]|0)+24|0;b=c[f>>2]|0;c[f>>2]=b+1;b=d[a+b>>0]|0;l=e;return b|0}function Jb(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;c[d>>2]=c[(c[b>>2]|0)+40>>2];a=Ib(c[b>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=a;c[d>>2]=(c[d>>2]<<8|c[(c[b>>2]|0)+40>>2])>>1;c[(c[b>>2]|0)+32>>2]=(c[(c[b>>2]|0)+32>>2]<<8)+(255&~c[d>>2])&2147483647}l=e;return}function Kb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;a=Lb(c[(c[g>>2]|0)+28>>2]|0,c[e>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=a;c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (c[e>>2]|0)-((c[d>>2]|0)+1+((c[e>>2]|0)-((c[d>>2]|0)+1)&0-((c[e>>2]|0)>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function Lb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[e>>2]=b;c[(c[g>>2]|0)+36>>2]=(c[(c[g>>2]|0)+28>>2]|0)>>>(c[e>>2]|0);c[d>>2]=((c[(c[g>>2]|0)+32>>2]|0)>>>0)/((c[(c[g>>2]|0)+36>>2]|0)>>>0)|0;l=f;return (1<>2])-((c[d>>2]|0)+1+((1<>2])-((c[d>>2]|0)+1)&0-(1<>2]>>>0<((c[d>>2]|0)+1|0)>>>0&1)))|0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;g=j+12|0;f=j+8|0;k=j+4|0;i=j;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[k>>2]=e;c[i>>2]=N(c[(c[h>>2]|0)+36>>2]|0,(c[k>>2]|0)-(c[f>>2]|0)|0)|0;d=(c[h>>2]|0)+32|0;c[d>>2]=(c[d>>2]|0)-(c[i>>2]|0);d=c[h>>2]|0;if((c[g>>2]|0)>>>0>0){i=N(c[d+36>>2]|0,(c[f>>2]|0)-(c[g>>2]|0)|0)|0;k=c[h>>2]|0;k=k+28|0;c[k>>2]=i;k=c[h>>2]|0;Jb(k);l=j;return}else{i=(c[d+28>>2]|0)-(c[i>>2]|0)|0;k=c[h>>2]|0;k=k+28|0;c[k>>2]=i;k=c[h>>2]|0;Jb(k);l=j;return}}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+20|0;j=i+16|0;f=i+12|0;e=i+8|0;h=i+4|0;g=i;c[d>>2]=a;c[j>>2]=b;c[f>>2]=c[(c[d>>2]|0)+28>>2];c[e>>2]=c[(c[d>>2]|0)+32>>2];c[h>>2]=(c[f>>2]|0)>>>(c[j>>2]|0);c[g>>2]=(c[e>>2]|0)>>>0<(c[h>>2]|0)>>>0&1;if(!(c[g>>2]|0))c[(c[d>>2]|0)+32>>2]=(c[e>>2]|0)-(c[h>>2]|0);if(c[g>>2]|0){h=c[h>>2]|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=h;j=c[d>>2]|0;Jb(j);j=c[g>>2]|0;l=i;return j|0}else{h=(c[f>>2]|0)-(c[h>>2]|0)|0;j=c[d>>2]|0;j=j+28|0;c[j>>2]=h;j=c[d>>2]|0;Jb(j);j=c[g>>2]|0;l=i;return j|0}return 0}function Pb(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+28|0;f=n+24|0;o=n+20|0;i=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;j=n;c[g>>2]=a;c[f>>2]=b;c[o>>2]=e;c[k>>2]=c[(c[g>>2]|0)+28>>2];c[h>>2]=c[(c[g>>2]|0)+32>>2];c[i>>2]=(c[k>>2]|0)>>>(c[o>>2]|0);c[j>>2]=-1;do{c[m>>2]=c[k>>2];b=c[i>>2]|0;a=c[f>>2]|0;o=(c[j>>2]|0)+1|0;c[j>>2]=o;c[k>>2]=N(b,d[a+o>>0]|0)|0}while((c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0);c[(c[g>>2]|0)+32>>2]=(c[h>>2]|0)-(c[k>>2]|0);c[(c[g>>2]|0)+28>>2]=(c[m>>2]|0)-(c[k>>2]|0);Jb(c[g>>2]|0);l=n;return c[j>>2]|0}function Qb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;i=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[d>>2]=b;c[d>>2]=(c[d>>2]|0)+-1;c[g>>2]=32-(Q(c[d>>2]|0)|0);if((c[g>>2]|0)<=8){c[d>>2]=(c[d>>2]|0)+1;c[i>>2]=Kb(c[e>>2]|0,c[d>>2]|0)|0;Nb(c[e>>2]|0,c[i>>2]|0,(c[i>>2]|0)+1|0,c[d>>2]|0);c[h>>2]=c[i>>2];j=c[h>>2]|0;l=k;return j|0}c[g>>2]=(c[g>>2]|0)-8;c[f>>2]=((c[d>>2]|0)>>>(c[g>>2]|0))+1;c[i>>2]=Kb(c[e>>2]|0,c[f>>2]|0)|0;Nb(c[e>>2]|0,c[i>>2]|0,(c[i>>2]|0)+1|0,c[f>>2]|0);i=c[i>>2]<>2];c[j>>2]=i|(Rb(c[e>>2]|0,c[g>>2]|0)|0);if((c[j>>2]|0)>>>0<=(c[d>>2]|0)>>>0){c[h>>2]=c[j>>2];j=c[h>>2]|0;l=k;return j|0}else{c[(c[e>>2]|0)+44>>2]=1;c[h>>2]=c[d>>2];j=c[h>>2]|0;l=k;return j|0}return 0}function Rb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;d=i+12|0;h=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=c[(c[e>>2]|0)+16>>2];if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0)do{a=Sb(c[e>>2]|0)|0;c[h>>2]=c[h>>2]|a<>2];c[f>>2]=(c[f>>2]|0)+8}while((c[f>>2]|0)<=24);c[g>>2]=c[h>>2]&(1<>2])-1;c[h>>2]=(c[h>>2]|0)>>>(c[d>>2]|0);c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[(c[e>>2]|0)+16>>2]=c[f>>2];h=(c[e>>2]|0)+20|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);l=i;return c[g>>2]|0}function Sb(a){a=a|0;var b=0,e=0,f=0,g=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((c[(c[b>>2]|0)+8>>2]|0)>>>0>=(c[(c[b>>2]|0)+4>>2]|0)>>>0){b=0;l=e;return b|0}f=c[c[b>>2]>>2]|0;a=c[(c[b>>2]|0)+4>>2]|0;g=(c[b>>2]|0)+8|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;b=d[f+(a-b)>>0]|0;l=e;return b|0}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+20>>2]=33;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=-2147483648;c[(c[f>>2]|0)+40>>2]=-1;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+44>>2]=0;l=e;return}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[i>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=e;c[j>>2]=Vb(c[(c[i>>2]|0)+28>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>0){h=(c[(c[i>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0)|0;a=(c[i>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+h;j=N(c[j>>2]|0,(c[f>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=j;j=c[i>>2]|0;Wb(j);l=k;return}else{a=N(c[j>>2]|0,(c[h>>2]|0)-(c[f>>2]|0)|0)|0;j=(c[i>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-a;j=c[i>>2]|0;Wb(j);l=k;return}}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Wb(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){if((c[(c[b>>2]|0)+28>>2]|0)>>>0>8388608)break;Xb(c[b>>2]|0,(c[(c[b>>2]|0)+32>>2]|0)>>>23);c[(c[b>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2]<<8&2147483647;a=(c[b>>2]|0)+28|0;c[a>>2]=c[a>>2]<<8;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+8}l=d;return}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[d>>2]=b;if((c[d>>2]|0)==255){g=(c[e>>2]|0)+36|0;c[g>>2]=(c[g>>2]|0)+1;l=h;return}c[f>>2]=c[d>>2]>>8;if((c[(c[e>>2]|0)+40>>2]|0)>=0){b=Yb(c[e>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[f>>2]|0)|0)|0;a=(c[e>>2]|0)+44|0;c[a>>2]=c[a>>2]|b}if((c[(c[e>>2]|0)+36>>2]|0)>>>0>0){c[g>>2]=255+(c[f>>2]|0)&255;do{f=Yb(c[e>>2]|0,c[g>>2]|0)|0;a=(c[e>>2]|0)+44|0;c[a>>2]=c[a>>2]|f;a=(c[e>>2]|0)+36|0;f=(c[a>>2]|0)+-1|0;c[a>>2]=f}while(f>>>0>0)}c[(c[e>>2]|0)+40>>2]=c[d>>2]&255;l=h;return}function Yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}else{b=c[f>>2]&255;d=c[c[e>>2]>>2]|0;e=(c[e>>2]|0)+24|0;f=c[e>>2]|0;c[e>>2]=f+1;a[d+f>>0]=b;c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)>>>(c[f>>2]|0);if((c[h>>2]|0)>>>0>0){b=(c[(c[i>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,(1<>2])-(c[h>>2]|0)|0)|0)|0;a=(c[i>>2]|0)+32|0;c[a>>2]=(c[a>>2]|0)+b;j=N(c[j>>2]|0,(c[g>>2]|0)-(c[h>>2]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=j;j=c[i>>2]|0;Wb(j);l=k;return}else{a=N(c[j>>2]|0,(1<>2])-(c[g>>2]|0)|0)|0;j=(c[i>>2]|0)+28|0;c[j>>2]=(c[j>>2]|0)-a;j=c[i>>2]|0;Wb(j);l=k;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;k=j+12|0;h=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=c[(c[e>>2]|0)+32>>2];c[i>>2]=(c[h>>2]|0)>>>(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[i>>2]|0);if(c[f>>2]|0)c[(c[e>>2]|0)+32>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[(c[e>>2]|0)+28>>2]=c[f>>2]|0?c[i>>2]|0:c[h>>2]|0;Wb(c[e>>2]|0);l=j;return}function $b(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+16|0;h=k+12|0;g=k+8|0;m=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=e;c[m>>2]=f;c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)>>>(c[m>>2]|0);if((c[h>>2]|0)>0){a=(c[(c[i>>2]|0)+28>>2]|0)-(N(c[j>>2]|0,d[(c[g>>2]|0)+((c[h>>2]|0)-1)>>0]|0)|0)|0;m=(c[i>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+a;m=N(c[j>>2]|0,(d[(c[g>>2]|0)+((c[h>>2]|0)-1)>>0]|0)-(d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0)|0)|0;c[(c[i>>2]|0)+28>>2]=m;m=c[i>>2]|0;Wb(m);l=k;return}else{j=N(c[j>>2]|0,d[(c[g>>2]|0)+(c[h>>2]|0)>>0]|0)|0;m=(c[i>>2]|0)+28|0;c[m>>2]=(c[m>>2]|0)-j;m=c[i>>2]|0;Wb(m);l=k;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+20|0;e=k+16|0;f=k+12|0;i=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[f>>2]=(c[f>>2]|0)+-1;c[j>>2]=32-(Q(c[f>>2]|0)|0);if((c[j>>2]|0)>8){c[j>>2]=(c[j>>2]|0)-8;c[i>>2]=((c[f>>2]|0)>>>(c[j>>2]|0))+1;c[h>>2]=(c[e>>2]|0)>>>(c[j>>2]|0);Ub(c[g>>2]|0,c[h>>2]|0,(c[h>>2]|0)+1|0,c[i>>2]|0);bc(c[g>>2]|0,c[e>>2]&(1<>2])-1,c[j>>2]|0);l=k;return}else{Ub(c[g>>2]|0,c[e>>2]|0,(c[e>>2]|0)+1|0,(c[f>>2]|0)+1|0);l=k;return}}function bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+16|0;f=j+12|0;e=j+8|0;i=j+4|0;h=j;c[g>>2]=a;c[f>>2]=b;c[e>>2]=d;c[i>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=c[(c[g>>2]|0)+16>>2];if(((c[h>>2]|0)+(c[e>>2]|0)|0)>>>0>32)do{b=cc(c[g>>2]|0,c[i>>2]&255)|0;a=(c[g>>2]|0)+44|0;c[a>>2]=c[a>>2]|b;c[i>>2]=(c[i>>2]|0)>>>8;c[h>>2]=(c[h>>2]|0)-8}while((c[h>>2]|0)>=8);c[i>>2]=c[i>>2]|c[f>>2]<>2];c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[i>>2];c[(c[g>>2]|0)+16>>2]=c[h>>2];i=(c[g>>2]|0)+20|0;c[i>>2]=(c[i>>2]|0)+(c[e>>2]|0);l=j;return}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+24>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}else{i=c[f>>2]&255;b=c[c[e>>2]>>2]|0;d=c[(c[e>>2]|0)+4>>2]|0;e=(c[e>>2]|0)+8|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;a[b+(d-f)>>0]=i;c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function dc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;g=m+8|0;k=m+4|0;j=m;c[h>>2]=b;c[i>>2]=e;c[g>>2]=f;c[k>>2]=8-(c[g>>2]|0);c[j>>2]=(1<>2])-1<>2];f=c[h>>2]|0;if((c[(c[h>>2]|0)+24>>2]|0)>>>0>0){a[c[c[h>>2]>>2]>>0]=(d[c[f>>2]>>0]|0)&~c[j>>2]|c[i>>2]<>2];l=m;return}b=c[h>>2]|0;if((c[f+40>>2]|0)>=0){c[(c[h>>2]|0)+40>>2]=c[b+40>>2]&~c[j>>2]|c[i>>2]<>2];l=m;return}f=c[h>>2]|0;if((c[b+28>>2]|0)>>>0<=-2147483648>>>(c[g>>2]|0)>>>0){c[(c[h>>2]|0)+32>>2]=c[f+32>>2]&~(c[j>>2]<<23)|c[i>>2]<<23+(c[k>>2]|0);l=m;return}else{c[f+44>>2]=-1;l=m;return}}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;$i((c[c[e>>2]>>2]|0)+(c[f>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0)+(0-(c[(c[e>>2]|0)+8>>2]|0))|0,(c[(c[e>>2]|0)+8>>2]|0)+0|0)|0;c[(c[e>>2]|0)+4>>2]=c[f>>2];l=d;return}function fc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+20|0;j=k+16|0;i=k+12|0;e=k+8|0;f=k+4|0;h=k;c[g>>2]=b;c[h>>2]=32-(32-(Q(c[(c[g>>2]|0)+28>>2]|0)|0));c[e>>2]=2147483647>>>(c[h>>2]|0);c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2];if((c[f>>2]|c[e>>2])>>>0>=((c[(c[g>>2]|0)+32>>2]|0)+(c[(c[g>>2]|0)+28>>2]|0)|0)>>>0){c[h>>2]=(c[h>>2]|0)+1;c[e>>2]=(c[e>>2]|0)>>>1;c[f>>2]=(c[(c[g>>2]|0)+32>>2]|0)+(c[e>>2]|0)&~c[e>>2]}while(1){b=c[g>>2]|0;if((c[h>>2]|0)<=0)break;Xb(b,(c[f>>2]|0)>>>23);c[f>>2]=c[f>>2]<<8&2147483647;c[h>>2]=(c[h>>2]|0)-8}if(!((c[b+40>>2]|0)<0?(c[(c[g>>2]|0)+36>>2]|0)>>>0<=0:0))Xb(c[g>>2]|0,0);c[j>>2]=c[(c[g>>2]|0)+12>>2];c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){b=c[g>>2]|0;if((c[i>>2]|0)<8)break;e=cc(b,c[j>>2]&255)|0;f=(c[g>>2]|0)+44|0;c[f>>2]=c[f>>2]|e;c[j>>2]=(c[j>>2]|0)>>>8;c[i>>2]=(c[i>>2]|0)-8}if(c[b+44>>2]|0){l=k;return}aj((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+24>>2]|0)|0,0,(c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+24>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)|0)|0;if((c[i>>2]|0)<=0){l=k;return}if((c[(c[g>>2]|0)+8>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0){c[(c[g>>2]|0)+44>>2]=-1;l=k;return}c[h>>2]=0-(c[h>>2]|0);if(((c[(c[g>>2]|0)+24>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0?(c[h>>2]|0)<(c[i>>2]|0):0){c[j>>2]=c[j>>2]&(1<>2])-1;c[(c[g>>2]|0)+44>>2]=-1}i=(c[c[g>>2]>>2]|0)+((c[(c[g>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0)-1)|0;a[i>>0]=d[i>>0]|0|c[j>>2]&255;l=k;return}function gc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+60|0;f=o+56|0;j=o+52|0;i=o+48|0;k=o+44|0;e=o+40|0;g=o+8|0;h=o+4|0;m=o;c[n>>2]=a;c[f>>2]=d;if((c[(c[n>>2]|0)+8>>2]|0)>0)d=c[(c[n>>2]|0)+8>>2]|0;else d=0;c[m>>2]=d;c[g>>2]=1;c[e>>2]=0;do{c[k>>2]=b[(c[n>>2]|0)+12+(c[e>>2]<<1<<1)>>1];c[i>>2]=b[(c[n>>2]|0)+12+((c[e>>2]<<1)+1<<1)>>1];a=N(c[g+(c[e>>2]<<2)>>2]|0,c[k>>2]|0)|0;c[g+((c[e>>2]|0)+1<<2)>>2]=a;c[e>>2]=(c[e>>2]|0)+1}while((c[i>>2]|0)!=1);c[i>>2]=b[(c[n>>2]|0)+12+((c[e>>2]<<1)-1<<1)>>1];c[h>>2]=(c[e>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if(c[h>>2]|0)c[j>>2]=b[(c[n>>2]|0)+12+((c[h>>2]<<1)-1<<1)>>1];else c[j>>2]=1;switch(b[(c[n>>2]|0)+12+(c[h>>2]<<1<<1)>>1]|0){case 2:{hc(c[f>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0);break}case 4:{ic(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}case 3:{jc(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}case 5:{kc(c[f>>2]|0,c[g+(c[h>>2]<<2)>>2]<>2],c[n>>2]|0,c[i>>2]|0,c[g+(c[h>>2]<<2)>>2]|0,c[j>>2]|0);break}default:{}}c[i>>2]=c[j>>2];c[h>>2]=(c[h>>2]|0)+-1}l=o;return}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+28|0;h=m+20|0;f=m+16|0;i=m+12|0;k=m+8|0;j=m;c[e>>2]=a;c[m+24>>2]=b;c[h>>2]=d;g[k>>2]=.7071067690849304;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;c[f>>2]=(c[e>>2]|0)+32;b=c[f>>2]|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];g[c[f>>2]>>2]=+g[c[e>>2]>>2]-+g[j>>2];g[(c[f>>2]|0)+4>>2]=+g[(c[e>>2]|0)+4>>2]-+g[j+4>>2];b=c[e>>2]|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=(+g[(c[f>>2]|0)+8>>2]+ +g[(c[f>>2]|0)+8+4>>2])*+g[k>>2];g[j+4>>2]=(+g[(c[f>>2]|0)+8+4>>2]-+g[(c[f>>2]|0)+8>>2])*+g[k>>2];g[(c[f>>2]|0)+8>>2]=+g[(c[e>>2]|0)+8>>2]-+g[j>>2];g[(c[f>>2]|0)+8+4>>2]=+g[(c[e>>2]|0)+8+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+8|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+8+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=+g[(c[f>>2]|0)+16+4>>2];g[j+4>>2]=-+g[(c[f>>2]|0)+16>>2];g[(c[f>>2]|0)+16>>2]=+g[(c[e>>2]|0)+16>>2]-+g[j>>2];g[(c[f>>2]|0)+16+4>>2]=+g[(c[e>>2]|0)+16+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+16|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+16+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];g[j>>2]=(+g[(c[f>>2]|0)+24+4>>2]-+g[(c[f>>2]|0)+24>>2])*+g[k>>2];g[j+4>>2]=(-+g[(c[f>>2]|0)+24+4>>2]-+g[(c[f>>2]|0)+24>>2])*+g[k>>2];g[(c[f>>2]|0)+24>>2]=+g[(c[e>>2]|0)+24>>2]-+g[j>>2];g[(c[f>>2]|0)+24+4>>2]=+g[(c[e>>2]|0)+24+4>>2]-+g[j+4>>2];b=(c[e>>2]|0)+24|0;g[b>>2]=+g[b>>2]+ +g[j>>2];b=(c[e>>2]|0)+24+4|0;g[b>>2]=+g[b>>2]+ +g[j+4>>2];c[e>>2]=(c[e>>2]|0)+64;c[i>>2]=(c[i>>2]|0)+1}l=m;return}function ic(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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;A=l;l=l+128|0;i=A+120|0;m=A+116|0;w=A+112|0;p=A+108|0;k=A+104|0;s=A+100|0;n=A+96|0;u=A+88|0;v=A+80|0;o=A+72|0;t=A+24|0;x=A+20|0;y=A+16|0;z=A+12|0;q=A+8|0;r=A+4|0;j=A;c[i>>2]=a;c[m>>2]=b;c[w>>2]=d;c[p>>2]=e;c[k>>2]=f;c[s>>2]=h;if((c[p>>2]|0)==1){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;g[u>>2]=+g[c[i>>2]>>2]-+g[(c[i>>2]|0)+16>>2];g[u+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[(c[i>>2]|0)+16+4>>2];z=c[i>>2]|0;g[z>>2]=+g[z>>2]+ +g[(c[i>>2]|0)+16>>2];z=(c[i>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[(c[i>>2]|0)+16+4>>2];g[v>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[(c[i>>2]|0)+24>>2];g[v+4>>2]=+g[(c[i>>2]|0)+8+4>>2]+ +g[(c[i>>2]|0)+24+4>>2];g[(c[i>>2]|0)+16>>2]=+g[c[i>>2]>>2]-+g[v>>2];g[(c[i>>2]|0)+16+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[v+4>>2];z=c[i>>2]|0;g[z>>2]=+g[z>>2]+ +g[v>>2];z=(c[i>>2]|0)+4|0;g[z>>2]=+g[z>>2]+ +g[v+4>>2];g[v>>2]=+g[(c[i>>2]|0)+8>>2]-+g[(c[i>>2]|0)+24>>2];g[v+4>>2]=+g[(c[i>>2]|0)+8+4>>2]-+g[(c[i>>2]|0)+24+4>>2];g[(c[i>>2]|0)+8>>2]=+g[u>>2]+ +g[v+4>>2];g[(c[i>>2]|0)+8+4>>2]=+g[u+4>>2]-+g[v>>2];g[(c[i>>2]|0)+24>>2]=+g[u>>2]-+g[v+4>>2];g[(c[i>>2]|0)+24+4>>2]=+g[u+4>>2]+ +g[v>>2];c[i>>2]=(c[i>>2]|0)+32;c[n>>2]=(c[n>>2]|0)+1}l=A;return}c[q>>2]=c[p>>2]<<1;c[r>>2]=(c[p>>2]|0)*3;c[j>>2]=c[i>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=(c[j>>2]|0)+((N(c[n>>2]|0,c[s>>2]|0)|0)<<3);d=c[(c[w>>2]|0)+48>>2]|0;c[x>>2]=d;c[y>>2]=d;c[z>>2]=d;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break;g[t>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]*+g[c[x>>2]>>2]-+g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]*+g[(c[x>>2]|0)+4>>2];g[t+4>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]*+g[(c[x>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]*+g[c[x>>2]>>2];g[t+8>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[c[y>>2]>>2]-+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[(c[y>>2]|0)+4>>2];g[t+8+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[(c[y>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[c[y>>2]>>2];g[t+16>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[c[z>>2]>>2]-+g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[(c[z>>2]|0)+4>>2];g[t+16+4>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[(c[z>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[c[z>>2]>>2];g[t+40>>2]=+g[c[i>>2]>>2]-+g[t+8>>2];g[t+40+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+8+4>>2];d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+8>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+8+4>>2];g[t+24>>2]=+g[t>>2]+ +g[t+16>>2];g[t+24+4>>2]=+g[t+4>>2]+ +g[t+16+4>>2];g[t+32>>2]=+g[t>>2]-+g[t+16>>2];g[t+32+4>>2]=+g[t+4>>2]-+g[t+16+4>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]=+g[c[i>>2]>>2]-+g[t+24>>2];g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+24+4>>2];c[x>>2]=(c[x>>2]|0)+(c[m>>2]<<3);c[y>>2]=(c[y>>2]|0)+(c[m>>2]<<1<<3);c[z>>2]=(c[z>>2]|0)+((c[m>>2]|0)*3<<3);d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+24>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+24+4>>2];g[(c[i>>2]|0)+(c[p>>2]<<3)>>2]=+g[t+40>>2]+ +g[t+32+4>>2];g[(c[i>>2]|0)+(c[p>>2]<<3)+4>>2]=+g[t+40+4>>2]-+g[t+32>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]=+g[t+40>>2]-+g[t+32+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]=+g[t+40+4>>2]+ +g[t+32>>2];c[i>>2]=(c[i>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}l=A;return}function jc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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;x=l;l=l+112|0;i=x+96|0;n=x+92|0;u=x+88|0;q=x+84|0;k=x+80|0;s=x+76|0;o=x+72|0;p=x+68|0;r=x+64|0;v=x+60|0;w=x+56|0;t=x+16|0;m=x+8|0;j=x;c[i>>2]=a;c[n>>2]=b;c[u>>2]=d;c[q>>2]=e;c[k>>2]=f;c[s>>2]=h;c[r>>2]=c[q>>2]<<1;c[j>>2]=c[i>>2];d=(c[(c[u>>2]|0)+48>>2]|0)+((N(c[n>>2]|0,c[q>>2]|0)|0)<<3)|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=(c[j>>2]|0)+((N(c[o>>2]|0,c[s>>2]|0)|0)<<3);d=c[(c[u>>2]|0)+48>>2]|0;c[w>>2]=d;c[v>>2]=d;c[p>>2]=c[q>>2];do{g[t+8>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[c[v>>2]>>2]-+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[(c[v>>2]|0)+4>>2];g[t+8+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]*+g[(c[v>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]*+g[c[v>>2]>>2];g[t+16>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[c[w>>2]>>2]-+g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[(c[w>>2]|0)+4>>2];g[t+16+4>>2]=+g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]*+g[(c[w>>2]|0)+4>>2]+ +g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]*+g[c[w>>2]>>2];g[t+24>>2]=+g[t+8>>2]+ +g[t+16>>2];g[t+24+4>>2]=+g[t+8+4>>2]+ +g[t+16+4>>2];g[t>>2]=+g[t+8>>2]-+g[t+16>>2];g[t+4>>2]=+g[t+8+4>>2]-+g[t+16+4>>2];c[v>>2]=(c[v>>2]|0)+(c[n>>2]<<3);c[w>>2]=(c[w>>2]|0)+(c[n>>2]<<1<<3);g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]=+g[c[i>>2]>>2]-+g[t+24>>2]*.5;g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+4>>2]-+g[t+24+4>>2]*.5;g[t>>2]=+g[t>>2]*+g[m+4>>2];d=t+4|0;g[d>>2]=+g[d>>2]*+g[m+4>>2];d=c[i>>2]|0;g[d>>2]=+g[d>>2]+ +g[t+24>>2];d=(c[i>>2]|0)+4|0;g[d>>2]=+g[d>>2]+ +g[t+24+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)>>2]+ +g[t+4>>2];g[(c[i>>2]|0)+(c[r>>2]<<3)+4>>2]=+g[(c[i>>2]|0)+(c[q>>2]<<3)+4>>2]-+g[t>>2];d=(c[i>>2]|0)+(c[q>>2]<<3)|0;g[d>>2]=+g[d>>2]-+g[t+4>>2];d=(c[i>>2]|0)+(c[q>>2]<<3)+4|0;g[d>>2]=+g[d>>2]+ +g[t>>2];c[i>>2]=(c[i>>2]|0)+8;d=(c[p>>2]|0)+-1|0;c[p>>2]=d}while((d|0)!=0);c[o>>2]=(c[o>>2]|0)+1}l=x;return}function kc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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.0;A=l;l=l+192|0;i=A+184|0;r=A+180|0;B=A+176|0;t=A+172|0;q=A+168|0;u=A+164|0;j=A+160|0;k=A+156|0;m=A+152|0;n=A+148|0;o=A+144|0;s=A+140|0;x=A+136|0;v=A+32|0;w=A+24|0;y=A+16|0;z=A+8|0;p=A;c[i>>2]=a;c[r>>2]=b;c[B>>2]=d;c[t>>2]=e;c[q>>2]=f;c[u>>2]=h;c[p>>2]=c[i>>2];d=(c[(c[B>>2]|0)+48>>2]|0)+((N(c[r>>2]|0,c[t>>2]|0)|0)<<3)|0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];d=(c[(c[B>>2]|0)+48>>2]|0)+((N(c[r>>2]<<1,c[t>>2]|0)|0)<<3)|0;c[z>>2]=c[d>>2];c[z+4>>2]=c[d+4>>2];c[w>>2]=c[(c[B>>2]|0)+48>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;c[i>>2]=(c[p>>2]|0)+((N(c[s>>2]|0,c[u>>2]|0)|0)<<3);c[j>>2]=c[i>>2];c[k>>2]=(c[j>>2]|0)+(c[t>>2]<<3);c[m>>2]=(c[j>>2]|0)+(c[t>>2]<<1<<3);c[n>>2]=(c[j>>2]|0)+((c[t>>2]|0)*3<<3);c[o>>2]=(c[j>>2]|0)+(c[t>>2]<<2<<3);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[t>>2]|0))break;B=c[j>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=c[B+4>>2];C=+g[c[k>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]|0,c[r>>2]|0)|0)<<3)>>2];g[v+8>>2]=C-+g[(c[k>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]|0,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[k>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]|0,c[r>>2]|0)|0)<<3)+4>>2];g[v+8+4>>2]=C+ +g[(c[k>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]|0,c[r>>2]|0)|0)<<3)>>2];C=+g[c[m>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<1,c[r>>2]|0)|0)<<3)>>2];g[v+16>>2]=C-+g[(c[m>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<1,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[m>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<1,c[r>>2]|0)|0)<<3)+4>>2];g[v+16+4>>2]=C+ +g[(c[m>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<1,c[r>>2]|0)|0)<<3)>>2];C=+g[c[n>>2]>>2]*+g[(c[w>>2]|0)+((N((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)>>2];g[v+24>>2]=C-+g[(c[n>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[n>>2]>>2]*+g[(c[w>>2]|0)+((N((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)+4>>2];g[v+24+4>>2]=C+ +g[(c[n>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N((c[x>>2]|0)*3|0,c[r>>2]|0)|0)<<3)>>2];C=+g[c[o>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<2,c[r>>2]|0)|0)<<3)>>2];g[v+32>>2]=C-+g[(c[o>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<2,c[r>>2]|0)|0)<<3)+4>>2];C=+g[c[o>>2]>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<2,c[r>>2]|0)|0)<<3)+4>>2];g[v+32+4>>2]=C+ +g[(c[o>>2]|0)+4>>2]*+g[(c[w>>2]|0)+((N(c[x>>2]<<2,c[r>>2]|0)|0)<<3)>>2];g[v+56>>2]=+g[v+8>>2]+ +g[v+32>>2];g[v+56+4>>2]=+g[v+8+4>>2]+ +g[v+32+4>>2];g[v+80>>2]=+g[v+8>>2]-+g[v+32>>2];g[v+80+4>>2]=+g[v+8+4>>2]-+g[v+32+4>>2];g[v+64>>2]=+g[v+16>>2]+ +g[v+24>>2];g[v+64+4>>2]=+g[v+16+4>>2]+ +g[v+24+4>>2];g[v+72>>2]=+g[v+16>>2]-+g[v+24>>2];g[v+72+4>>2]=+g[v+16+4>>2]-+g[v+24+4>>2];B=c[j>>2]|0;g[B>>2]=+g[B>>2]+(+g[v+56>>2]+ +g[v+64>>2]);B=(c[j>>2]|0)+4|0;g[B>>2]=+g[B>>2]+(+g[v+56+4>>2]+ +g[v+64+4>>2]);g[v+40>>2]=+g[v>>2]+ +g[v+56>>2]*+g[y>>2]+ +g[v+64>>2]*+g[z>>2];g[v+40+4>>2]=+g[v+4>>2]+ +g[v+56+4>>2]*+g[y>>2]+ +g[v+64+4>>2]*+g[z>>2];g[v+48>>2]=+g[v+80+4>>2]*+g[y+4>>2]+ +g[v+72+4>>2]*+g[z+4>>2];g[v+48+4>>2]=-(+g[v+80>>2]*+g[y+4>>2])-+g[v+72>>2]*+g[z+4>>2];g[c[k>>2]>>2]=+g[v+40>>2]-+g[v+48>>2];g[(c[k>>2]|0)+4>>2]=+g[v+40+4>>2]-+g[v+48+4>>2];g[c[o>>2]>>2]=+g[v+40>>2]+ +g[v+48>>2];g[(c[o>>2]|0)+4>>2]=+g[v+40+4>>2]+ +g[v+48+4>>2];g[v+88>>2]=+g[v>>2]+ +g[v+56>>2]*+g[z>>2]+ +g[v+64>>2]*+g[y>>2];g[v+88+4>>2]=+g[v+4>>2]+ +g[v+56+4>>2]*+g[z>>2]+ +g[v+64+4>>2]*+g[y>>2];g[v+96>>2]=-(+g[v+80+4>>2]*+g[z+4>>2])+ +g[v+72+4>>2]*+g[y+4>>2];g[v+96+4>>2]=+g[v+80>>2]*+g[z+4>>2]-+g[v+72>>2]*+g[y+4>>2];g[c[m>>2]>>2]=+g[v+88>>2]+ +g[v+96>>2];g[(c[m>>2]|0)+4>>2]=+g[v+88+4>>2]+ +g[v+96+4>>2];g[c[n>>2]>>2]=+g[v+88>>2]-+g[v+96>>2];g[(c[n>>2]|0)+4>>2]=+g[v+88+4>>2]-+g[v+96+4>>2];c[j>>2]=(c[j>>2]|0)+8;c[k>>2]=(c[k>>2]|0)+8;c[m>>2]=(c[m>>2]|0)+8;c[n>>2]=(c[n>>2]|0)+8;c[o>>2]=(c[o>>2]|0)+8;c[x>>2]=(c[x>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}l=A;return}function lc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+24|0;f=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n;c[k>>2]=a;c[f>>2]=d;c[h>>2]=e;g[j>>2]=+g[(c[k>>2]|0)+4>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[k>>2]>>2]|0))break;a=(c[f>>2]|0)+(c[i>>2]<<3)|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];g[(c[h>>2]|0)+(b[(c[(c[k>>2]|0)+44>>2]|0)+(c[i>>2]<<1)>>1]<<3)>>2]=+g[j>>2]*+g[m>>2];g[(c[h>>2]|0)+(b[(c[(c[k>>2]|0)+44>>2]|0)+(c[i>>2]<<1)>>1]<<3)+4>>2]=+g[j>>2]*+g[m+4>>2];c[i>>2]=(c[i>>2]|0)+1}gc(c[k>>2]|0,c[h>>2]|0);l=n;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;k=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;i=q+4|0;g=q;c[j>>2]=a;c[p>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[c[p>>2]>>2];c[k>>2]=0;if(!(c[h>>2]|0)){n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;Zb(n,o,p,15);l=q;return}c[o>>2]=0-((c[h>>2]|0)<0&1);c[h>>2]=(c[h>>2]|0)+(c[o>>2]|0)^c[o>>2];c[k>>2]=c[m>>2];c[m>>2]=nc(c[m>>2]|0,c[f>>2]|0)|0;c[n>>2]=1;while(1){if((c[m>>2]|0)>>>0>0)a=(c[n>>2]|0)<(c[h>>2]|0);else a=0;e=c[m>>2]|0;if(!a)break;c[m>>2]=e<<1;c[k>>2]=(c[k>>2]|0)+((c[m>>2]|0)+2);c[m>>2]=(N(c[m>>2]|0,c[f>>2]|0)|0)>>>15;c[n>>2]=(c[n>>2]|0)+1}if(e|0){c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+(c[m>>2]&~c[o>>2]);n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;Zb(n,o,p,15);l=q;return}c[g>>2]=(32768-(c[k>>2]|0)+1-1|0)>>>0;c[g>>2]=(c[g>>2]|0)-(c[o>>2]|0)>>1;if(((c[h>>2]|0)-(c[n>>2]|0)|0)<((c[g>>2]|0)-1|0))e=(c[h>>2]|0)-(c[n>>2]|0)|0;else e=(c[g>>2]|0)-1|0;c[i>>2]=e;c[k>>2]=(c[k>>2]|0)+((c[i>>2]<<1)+1+(c[o>>2]|0));c[m>>2]=1<(32768-(c[k>>2]|0)|0)>>>0?1:32768-(c[k>>2]|0)|0;c[c[p>>2]>>2]=(c[n>>2]|0)+(c[i>>2]|0)+(c[o>>2]|0)^c[o>>2];n=c[j>>2]|0;o=c[k>>2]|0;k=c[k>>2]|0;p=c[m>>2]|0;p=k+p|0;Zb(n,o,p,15);l=q;return}function nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=32736-(c[g>>2]|0);a=(N(c[f>>2]|0,16384-(c[e>>2]|0)|0)|0)>>>15;l=d;return a|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;j=m+20|0;f=m+16|0;k=m+12|0;i=m+8|0;h=m+4|0;g=m;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[k>>2]=0;c[h>>2]=Mb(c[e>>2]|0,15)|0;c[i>>2]=0;do if((c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0){c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=c[j>>2];c[j>>2]=(nc(c[j>>2]|0,c[f>>2]|0)|0)+1;while(1){if((c[j>>2]|0)>>>0>1)d=(c[h>>2]|0)>>>0>=((c[i>>2]|0)+(c[j>>2]<<1)|0)>>>0;else d=0;a=c[j>>2]|0;if(!d)break;c[j>>2]=a<<1;c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);c[j>>2]=(N((c[j>>2]|0)-2|0,c[f>>2]|0)|0)>>>15;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if(a>>>0<=1){c[g>>2]=((c[h>>2]|0)-(c[i>>2]|0)|0)>>>1;c[k>>2]=(c[k>>2]|0)+(c[g>>2]|0);c[i>>2]=(c[i>>2]|0)+(c[g>>2]<<1)}if((c[h>>2]|0)>>>0<((c[i>>2]|0)+(c[j>>2]|0)|0)>>>0){c[k>>2]=0-(c[k>>2]|0);break}else{c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0);break}}while(0);a=c[e>>2]|0;d=c[i>>2]|0;if(((c[i>>2]|0)+(c[j>>2]|0)|0)>>>0>=32768){j=32768;Nb(a,d,j,32768);k=c[k>>2]|0;l=m;return k|0}j=(c[i>>2]|0)+(c[j>>2]|0)|0;Nb(a,d,j,32768);k=c[k>>2]|0;l=m;return k|0}function pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;c[b>>2]=a;c[f>>2]=0;c[e>>2]=32-(Q(c[b>>2]|0)|0)-1>>1;c[d>>2]=1<>2];do{c[g>>2]=(c[f>>2]<<1)+(c[d>>2]|0)<>2];if((c[g>>2]|0)>>>0<=(c[b>>2]|0)>>>0){c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)-(c[g>>2]|0)}c[d>>2]=(c[d>>2]|0)>>>1;c[e>>2]=(c[e>>2]|0)+-1}while((c[e>>2]|0)>=0);l=h;return c[f>>2]|0}function qc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;V=l;l=l+160|0;W=V+144|0;t=V+140|0;u=V+136|0;G=V+132|0;v=V+128|0;n=V+124|0;A=V+120|0;r=V+112|0;m=V+108|0;o=V+104|0;p=V+100|0;z=V+96|0;F=V+92|0;y=V+88|0;x=V+84|0;J=V+80|0;K=V+76|0;P=V+72|0;H=V+68|0;I=V+64|0;S=V+60|0;B=V+56|0;L=V+48|0;C=V+44|0;D=V+40|0;w=V+36|0;s=V+32|0;T=V+28|0;M=V+24|0;q=V+20|0;Q=V+16|0;R=V+12|0;E=V+8|0;U=V+4|0;O=V;c[W>>2]=a;c[t>>2]=d;c[u>>2]=e;c[G>>2]=f;c[v>>2]=h;c[n>>2]=i;c[A>>2]=j;c[V+116>>2]=k;c[z>>2]=c[(c[W>>2]|0)+8+(c[n>>2]<<2)>>2];g[y>>2]=+g[(c[z>>2]|0)+4>>2];c[m>>2]=c[c[W>>2]>>2];c[F>>2]=c[(c[W>>2]|0)+24>>2];c[r>>2]=0;while(1){k=c[m>>2]>>1;if((c[r>>2]|0)>=(c[n>>2]|0))break;c[m>>2]=k;c[F>>2]=(c[F>>2]|0)+(c[m>>2]<<2);c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=k;c[p>>2]=c[m>>2]>>2;d=c[o>>2]|0;c[x>>2]=$()|0;k=l;l=l+((1*(d<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[p>>2]<<3)|0)+15&-16)|0;c[J>>2]=(c[t>>2]|0)+(c[v>>2]>>1<<2);c[K>>2]=(c[t>>2]|0)+(c[o>>2]<<2)+-4+(c[v>>2]>>1<<2);c[P>>2]=k;c[H>>2]=(c[G>>2]|0)+(c[v>>2]>>1<<2);c[I>>2]=(c[G>>2]|0)+(c[v>>2]>>1<<2)+-4;c[r>>2]=0;while(1){if((c[r>>2]|0)>=((c[v>>2]|0)+3>>2|0))break;X=+g[c[I>>2]>>2]*+g[(c[J>>2]|0)+(c[o>>2]<<2)>>2]+ +g[c[H>>2]>>2]*+g[c[K>>2]>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;X=+g[c[H>>2]>>2]*+g[c[J>>2]>>2]-+g[c[I>>2]>>2]*+g[(c[K>>2]|0)+(0-(c[o>>2]|0)<<2)>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}c[H>>2]=c[G>>2];c[I>>2]=(c[G>>2]|0)+(c[v>>2]<<2)+-4;while(1){if((c[r>>2]|0)>=((c[p>>2]|0)-((c[v>>2]|0)+3>>2)|0))break;X=+g[c[K>>2]>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;X=+g[c[J>>2]>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;X=-(+g[c[H>>2]>>2]*+g[(c[J>>2]|0)+(0-(c[o>>2]|0)<<2)>>2])+ +g[c[I>>2]>>2]*+g[c[K>>2]>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;X=+g[c[I>>2]>>2]*+g[c[J>>2]>>2]+ +g[c[H>>2]>>2]*+g[(c[K>>2]|0)+(c[o>>2]<<2)>>2];W=c[P>>2]|0;c[P>>2]=W+4;g[W>>2]=X;c[J>>2]=(c[J>>2]|0)+8;c[K>>2]=(c[K>>2]|0)+-8;c[H>>2]=(c[H>>2]|0)+8;c[I>>2]=(c[I>>2]|0)+-8;c[r>>2]=(c[r>>2]|0)+1}c[S>>2]=k;c[B>>2]=c[F>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;g[C>>2]=+g[(c[B>>2]|0)+(c[r>>2]<<2)>>2];g[D>>2]=+g[(c[B>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2];W=c[S>>2]|0;c[S>>2]=W+4;g[w>>2]=+g[W>>2];W=c[S>>2]|0;c[S>>2]=W+4;g[s>>2]=+g[W>>2];g[T>>2]=+g[w>>2]*+g[C>>2]-+g[s>>2]*+g[D>>2];g[M>>2]=+g[s>>2]*+g[C>>2]+ +g[w>>2]*+g[D>>2];g[L>>2]=+g[T>>2];g[L+4>>2]=+g[M>>2];g[L>>2]=+g[y>>2]*+g[L>>2];g[L+4>>2]=+g[y>>2]*+g[L+4>>2];W=d+(b[(c[(c[z>>2]|0)+44>>2]|0)+(c[r>>2]<<1)>>1]<<3)|0;c[W>>2]=c[L>>2];c[W+4>>2]=c[L+4>>2];c[r>>2]=(c[r>>2]|0)+1}gc(c[z>>2]|0,d);c[q>>2]=d;c[Q>>2]=c[u>>2];c[R>>2]=(c[u>>2]|0)+((N(c[A>>2]|0,(c[o>>2]|0)-1|0)|0)<<2);c[E>>2]=c[F>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;g[U>>2]=+g[(c[q>>2]|0)+4>>2]*+g[(c[E>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2]-+g[c[q>>2]>>2]*+g[(c[E>>2]|0)+(c[r>>2]<<2)>>2];g[O>>2]=+g[c[q>>2]>>2]*+g[(c[E>>2]|0)+((c[p>>2]|0)+(c[r>>2]|0)<<2)>>2]+ +g[(c[q>>2]|0)+4>>2]*+g[(c[E>>2]|0)+(c[r>>2]<<2)>>2];g[c[Q>>2]>>2]=+g[U>>2];g[c[R>>2]>>2]=+g[O>>2];c[q>>2]=(c[q>>2]|0)+8;c[Q>>2]=(c[Q>>2]|0)+(c[A>>2]<<1<<2);c[R>>2]=(c[R>>2]|0)+(0-(c[A>>2]<<1)<<2);c[r>>2]=(c[r>>2]|0)+1}_(c[x>>2]|0);l=V;return}function rc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;W=l;l=l+144|0;t=W+140|0;s=W+136|0;u=W+132|0;F=W+128|0;v=W+124|0;y=W+120|0;z=W+116|0;q=W+108|0;m=W+104|0;n=W+100|0;o=W+96|0;E=W+92|0;K=W+88|0;M=W+84|0;Q=W+80|0;A=W+76|0;p=W+72|0;x=W+68|0;U=W+64|0;O=W+60|0;R=W+56|0;S=W+52|0;D=W+48|0;w=W+44|0;r=W+40|0;V=W+36|0;P=W+32|0;B=W+28|0;C=W+24|0;L=W+20|0;T=W+16|0;G=W+12|0;H=W+8|0;I=W+4|0;J=W;c[t>>2]=a;c[s>>2]=d;c[u>>2]=e;c[F>>2]=f;c[v>>2]=h;c[y>>2]=i;c[z>>2]=j;c[W+112>>2]=k;c[m>>2]=c[c[t>>2]>>2];c[E>>2]=c[(c[t>>2]|0)+24>>2];c[q>>2]=0;while(1){k=c[m>>2]>>1;if((c[q>>2]|0)>=(c[y>>2]|0))break;c[m>>2]=k;c[E>>2]=(c[E>>2]|0)+(c[m>>2]<<2);c[q>>2]=(c[q>>2]|0)+1}c[n>>2]=k;c[o>>2]=c[m>>2]>>2;c[K>>2]=c[s>>2];c[M>>2]=(c[s>>2]|0)+((N(c[z>>2]|0,(c[n>>2]|0)-1|0)|0)<<2);c[Q>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2);c[A>>2]=c[E>>2];c[p>>2]=c[(c[(c[t>>2]|0)+8+(c[y>>2]<<2)>>2]|0)+44>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+2;c[x>>2]=b[s>>1];g[U>>2]=+g[c[M>>2]>>2]*+g[(c[A>>2]|0)+(c[q>>2]<<2)>>2]+ +g[c[K>>2]>>2]*+g[(c[A>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[O>>2]=+g[c[K>>2]>>2]*+g[(c[A>>2]|0)+(c[q>>2]<<2)>>2]-+g[c[M>>2]>>2]*+g[(c[A>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[(c[Q>>2]|0)+((c[x>>2]<<1)+1<<2)>>2]=+g[U>>2];g[(c[Q>>2]|0)+(c[x>>2]<<1<<2)>>2]=+g[O>>2];c[K>>2]=(c[K>>2]|0)+(c[z>>2]<<1<<2);c[M>>2]=(c[M>>2]|0)+(0-(c[z>>2]<<1)<<2);c[q>>2]=(c[q>>2]|0)+1}gc(c[(c[t>>2]|0)+8+(c[y>>2]<<2)>>2]|0,(c[u>>2]|0)+(c[v>>2]>>1<<2)|0);c[R>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2);c[S>>2]=(c[u>>2]|0)+(c[v>>2]>>1<<2)+(c[n>>2]<<2)+-8;c[D>>2]=c[E>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[o>>2]|0)+1>>1|0))break;g[w>>2]=+g[(c[R>>2]|0)+4>>2];g[r>>2]=+g[c[R>>2]>>2];g[B>>2]=+g[(c[D>>2]|0)+(c[q>>2]<<2)>>2];g[C>>2]=+g[(c[D>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2];g[V>>2]=+g[w>>2]*+g[B>>2]+ +g[r>>2]*+g[C>>2];g[P>>2]=+g[w>>2]*+g[C>>2]-+g[r>>2]*+g[B>>2];g[w>>2]=+g[(c[S>>2]|0)+4>>2];g[r>>2]=+g[c[S>>2]>>2];g[c[R>>2]>>2]=+g[V>>2];g[(c[S>>2]|0)+4>>2]=+g[P>>2];g[B>>2]=+g[(c[D>>2]|0)+((c[o>>2]|0)-(c[q>>2]|0)-1<<2)>>2];g[C>>2]=+g[(c[D>>2]|0)+((c[n>>2]|0)-(c[q>>2]|0)-1<<2)>>2];g[V>>2]=+g[w>>2]*+g[B>>2]+ +g[r>>2]*+g[C>>2];g[P>>2]=+g[w>>2]*+g[C>>2]-+g[r>>2]*+g[B>>2];g[c[S>>2]>>2]=+g[V>>2];g[(c[R>>2]|0)+4>>2]=+g[P>>2];c[R>>2]=(c[R>>2]|0)+8;c[S>>2]=(c[S>>2]|0)+-8;c[q>>2]=(c[q>>2]|0)+1}c[L>>2]=(c[u>>2]|0)+(c[v>>2]<<2)+-4;c[T>>2]=c[u>>2];c[G>>2]=c[F>>2];c[H>>2]=(c[F>>2]|0)+(c[v>>2]<<2)+-4;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[v>>2]|0)/2|0|0))break;g[I>>2]=+g[c[L>>2]>>2];g[J>>2]=+g[c[T>>2]>>2];X=+g[c[H>>2]>>2]*+g[J>>2]-+g[c[G>>2]>>2]*+g[I>>2];V=c[T>>2]|0;c[T>>2]=V+4;g[V>>2]=X;X=+g[c[G>>2]>>2]*+g[J>>2]+ +g[c[H>>2]>>2]*+g[I>>2];V=c[L>>2]|0;c[L>>2]=V+-4;g[V>>2]=X;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+-4;c[q>>2]=(c[q>>2]|0)+1}l=W;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[i>>2]=0;a:while(1){if((c[i>>2]|0)>=1){a=12;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;if((c[e>>2]|0)==(c[c[5544+(c[i>>2]<<2)>>2]>>2]|0)?(c[f>>2]<>2]|0)==(N(c[(c[5544+(c[i>>2]<<2)>>2]|0)+44>>2]|0,c[(c[5544+(c[i>>2]<<2)>>2]|0)+40>>2]|0)|0):0){a=7;break a}c[g>>2]=(c[g>>2]|0)+1}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==7){if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[j>>2]=c[5544+(c[i>>2]<<2)>>2];j=c[j>>2]|0;l=k;return j|0}else if((a|0)==12){if(c[h>>2]|0)c[c[h>>2]>>2]=-1;c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}return 0}function tc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+112|0;s=u+108|0;t=u+104|0;n=u+100|0;h=u+96|0;j=u+92|0;m=u+88|0;i=u+68|0;r=u+64|0;o=u+48|0;q=u+24|0;p=u+4|0;k=u;c[s>>2]=a;c[t>>2]=b;c[n>>2]=d;c[h>>2]=e;c[j>>2]=f;g[r>>2]=1.0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;g[k>>2]=.800000011920929;c[m>>2]=1;while(1){e=c[c[s>>2]>>2]|0;if((c[m>>2]|0)>=(c[n>>2]>>1|0))break;g[(c[t>>2]|0)+(c[m>>2]<<2)>>2]=((+g[e+((c[m>>2]<<1)-1<<2)>>2]+ +g[(c[c[s>>2]>>2]|0)+((c[m>>2]<<1)+1<<2)>>2])*.5+ +g[(c[c[s>>2]>>2]|0)+(c[m>>2]<<1<<2)>>2])*.5;c[m>>2]=(c[m>>2]|0)+1}g[c[t>>2]>>2]=(+g[e+4>>2]*.5+ +g[c[c[s>>2]>>2]>>2])*.5;if((c[h>>2]|0)==2){c[m>>2]=1;while(1){e=c[(c[s>>2]|0)+4>>2]|0;if((c[m>>2]|0)>=(c[n>>2]>>1|0))break;h=(c[t>>2]|0)+(c[m>>2]<<2)|0;g[h>>2]=+g[h>>2]+((+g[e+((c[m>>2]<<1)-1<<2)>>2]+ +g[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]<<1)+1<<2)>>2])*.5+ +g[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<1<<2)>>2])*.5;c[m>>2]=(c[m>>2]|0)+1}h=c[t>>2]|0;g[h>>2]=+g[h>>2]+(+g[e+4>>2]*.5+ +g[c[(c[s>>2]|0)+4>>2]>>2])*.5}Hc(c[t>>2]|0,i,0,0,4,c[n>>2]>>1,c[j>>2]|0)|0;g[i>>2]=+g[i>>2]*1.000100016593933;c[m>>2]=1;while(1){if((c[m>>2]|0)>4)break;s=i+(c[m>>2]<<2)|0;g[s>>2]=+g[s>>2]-+g[i+(c[m>>2]<<2)>>2]*(+(c[m>>2]|0)*.00800000037997961)*(+(c[m>>2]|0)*.00800000037997961);c[m>>2]=(c[m>>2]|0)+1}Dc(o,i,4);c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;g[r>>2]=+g[r>>2]*.8999999761581421;g[o+(c[m>>2]<<2)>>2]=+g[o+(c[m>>2]<<2)>>2]*+g[r>>2];c[m>>2]=(c[m>>2]|0)+1}g[p>>2]=+g[o>>2]+.800000011920929;g[p+4>>2]=+g[o+4>>2]+ +g[k>>2]*+g[o>>2];g[p+8>>2]=+g[o+8>>2]+ +g[k>>2]*+g[o+4>>2];g[p+12>>2]=+g[o+12>>2]+ +g[k>>2]*+g[o+8>>2];g[p+16>>2]=+g[k>>2]*+g[o+12>>2];uc(c[t>>2]|0,p,c[t>>2]|0,c[n>>2]>>1,q);l=u;return}function uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=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;y=l;l=l+80|0;w=y+64|0;z=y+60|0;x=y+56|0;h=y+52|0;j=y+48|0;i=y+44|0;q=y+40|0;r=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;n=y+12|0;o=y+8|0;p=y+4|0;v=y;c[w>>2]=a;c[z>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;g[q>>2]=+g[c[z>>2]>>2];g[r>>2]=+g[(c[z>>2]|0)+4>>2];g[s>>2]=+g[(c[z>>2]|0)+8>>2];g[t>>2]=+g[(c[z>>2]|0)+12>>2];g[u>>2]=+g[(c[z>>2]|0)+16>>2];g[k>>2]=+g[c[j>>2]>>2];g[m>>2]=+g[(c[j>>2]|0)+4>>2];g[n>>2]=+g[(c[j>>2]|0)+8>>2];g[o>>2]=+g[(c[j>>2]|0)+12>>2];g[p>>2]=+g[(c[j>>2]|0)+16>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[v>>2]=+g[(c[w>>2]|0)+(c[i>>2]<<2)>>2];g[v>>2]=+g[v>>2]+ +g[q>>2]*+g[k>>2];g[v>>2]=+g[v>>2]+ +g[r>>2]*+g[m>>2];g[v>>2]=+g[v>>2]+ +g[s>>2]*+g[n>>2];g[v>>2]=+g[v>>2]+ +g[t>>2]*+g[o>>2];g[v>>2]=+g[v>>2]+ +g[u>>2]*+g[p>>2];g[p>>2]=+g[o>>2];g[o>>2]=+g[n>>2];g[n>>2]=+g[m>>2];g[m>>2]=+g[k>>2];g[k>>2]=+g[(c[w>>2]|0)+(c[i>>2]<<2)>>2];g[(c[x>>2]|0)+(c[i>>2]<<2)>>2]=+g[v>>2];c[i>>2]=(c[i>>2]|0)+1}g[c[j>>2]>>2]=+g[k>>2];g[(c[j>>2]|0)+4>>2]=+g[m>>2];g[(c[j>>2]|0)+8>>2]=+g[n>>2];g[(c[j>>2]|0)+12>>2]=+g[o>>2];g[(c[j>>2]|0)+16>>2]=+g[p>>2];l=y;return}function vc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;i=r+48|0;j=r+44|0;q=r+40|0;m=r+36|0;n=r+32|0;k=r+24|0;o=r+8|0;p=r;c[i>>2]=a;c[j>>2]=b;c[q>>2]=d;c[m>>2]=e;c[n>>2]=f;c[r+28>>2]=h;c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[n>>2]|0)-3|0))break;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;wc(c[i>>2]|0,(c[j>>2]|0)+(c[k>>2]<<2)|0,o,c[m>>2]|0);g[(c[q>>2]|0)+(c[k>>2]<<2)>>2]=+g[o>>2];g[(c[q>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=+g[o+4>>2];g[(c[q>>2]|0)+((c[k>>2]|0)+2<<2)>>2]=+g[o+8>>2];g[(c[q>>2]|0)+((c[k>>2]|0)+3<<2)>>2]=+g[o+12>>2];c[k>>2]=(c[k>>2]|0)+4}while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;g[p>>2]=+xc(c[i>>2]|0,(c[j>>2]|0)+(c[k>>2]<<2)|0,c[m>>2]|0);g[(c[q>>2]|0)+(c[k>>2]<<2)>>2]=+g[p>>2];c[k>>2]=(c[k>>2]|0)+1}l=r;return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+48|0;p=u+44|0;i=u+40|0;h=u+36|0;f=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;t=u+16|0;j=u+12|0;m=u+8|0;n=u+4|0;k=u;c[o>>2]=a;c[p>>2]=b;c[i>>2]=d;c[h>>2]=e;g[t>>2]=0.0;b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[s>>2]=+g[b>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[h>>2]|0)-3|0))break;b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[t>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[t>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[q>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[r>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[s>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[s>>2];c[f>>2]=(c[f>>2]|0)+4}b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)<(c[h>>2]|0)){b=c[o>>2]|0;c[o>>2]=b+4;g[m>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[t>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[m>>2]*+g[q>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[m>>2]*+g[r>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[m>>2]*+g[s>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2]}b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)<(c[h>>2]|0)){b=c[o>>2]|0;c[o>>2]=b+4;g[n>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[n>>2]*+g[r>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[n>>2]*+g[s>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[n>>2]*+g[t>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[n>>2]*+g[q>>2]}if((c[f>>2]|0)>=(c[h>>2]|0)){l=u;return}b=c[o>>2]|0;c[o>>2]=b+4;g[k>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[k>>2]*+g[s>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[k>>2]*+g[t>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[k>>2]*+g[q>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[k>>2]*+g[r>>2];l=u;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+16|0;k=m+12|0;f=m+8|0;h=m+4|0;j=m;c[i>>2]=a;c[k>>2]=b;c[f>>2]=d;g[j>>2]=0.0;c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;g[j>>2]=e+ +g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return +e}function yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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;z=l;l=l+80|0;x=z+64|0;y=z+60|0;r=z+56|0;s=z+52|0;u=z+48|0;j=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;m=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;i=z+8|0;k=z+4|0;n=z;c[x>>2]=a;c[y>>2]=b;c[r>>2]=d;c[s>>2]=e;c[u>>2]=f;c[j>>2]=h;c[m>>2]=0;c[m+4>>2]=0;c[q>>2]=(c[r>>2]|0)+(c[s>>2]|0);d=c[r>>2]>>2;c[v>>2]=$()|0;h=l;l=l+((1*(d<<2)|0)+15&-16)|0;d=l;l=l+((1*(c[q>>2]>>2<<2)|0)+15&-16)|0;e=l;l=l+((1*(c[s>>2]>>1<<2)|0)+15&-16)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]>>2|0))break;g[h+(c[p>>2]<<2)>>2]=+g[(c[x>>2]|0)+(c[p>>2]<<1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]>>2|0))break;g[d+(c[p>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[p>>2]<<1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}vc(h,d,e,c[r>>2]>>2,c[s>>2]>>2,c[j>>2]|0);zc(e,d,c[r>>2]>>2,c[s>>2]>>2,m);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]>>1|0))break;g[e+(c[o>>2]<<2)>>2]=0.0;if(!((A((c[o>>2]|0)-(c[m>>2]<<1)|0)|0)>2?(A((c[o>>2]|0)-(c[m+4>>2]<<1)|0)|0)>2:0)){g[w>>2]=+xc(c[x>>2]|0,(c[y>>2]|0)+(c[o>>2]<<2)|0,c[r>>2]>>1);g[e+(c[o>>2]<<2)>>2]=-1.0>+g[w>>2]?-1.0:+g[w>>2]}c[o>>2]=(c[o>>2]|0)+1}zc(e,c[y>>2]|0,c[r>>2]>>1,c[s>>2]>>1,m);if((c[m>>2]|0)>0?(c[m>>2]|0)<((c[s>>2]>>1)-1|0):0){g[i>>2]=+g[e+((c[m>>2]|0)-1<<2)>>2];g[k>>2]=+g[e+(c[m>>2]<<2)>>2];g[n>>2]=+g[e+((c[m>>2]|0)+1<<2)>>2];if(+g[n>>2]-+g[i>>2]>(+g[k>>2]-+g[i>>2])*.699999988079071){c[t>>2]=1;y=c[m>>2]|0;y=y<<1;x=c[t>>2]|0;x=y-x|0;y=c[u>>2]|0;c[y>>2]=x;y=c[v>>2]|0;_(y|0);l=z;return}if(+g[i>>2]-+g[n>>2]>(+g[k>>2]-+g[n>>2])*.699999988079071){c[t>>2]=-1;y=c[m>>2]|0;y=y<<1;x=c[t>>2]|0;x=y-x|0;y=c[u>>2]|0;c[y>>2]=x;y=c[v>>2]|0;_(y|0);l=z;return}else{c[t>>2]=0;y=c[m>>2]|0;y=y<<1;x=c[t>>2]|0;x=y-x|0;y=c[u>>2]|0;c[y>>2]=x;y=c[v>>2]|0;_(y|0);l=z;return}}c[t>>2]=0;y=c[m>>2]|0;y=y<<1;x=c[t>>2]|0;x=y-x|0;y=c[u>>2]|0;c[y>>2]=x;y=c[v>>2]|0;_(y|0);l=z;return}function zc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+52|0;t=u+48|0;o=u+44|0;p=u+40|0;m=u+36|0;n=u+32|0;h=u+28|0;i=u+24|0;k=u+16|0;j=u+8|0;q=u+4|0;s=u;c[r>>2]=a;c[t>>2]=b;c[o>>2]=d;c[p>>2]=e;c[m>>2]=f;g[i>>2]=1.0;g[k>>2]=-1.0;g[k+4>>2]=-1.0;g[j>>2]=0.0;g[j+4>>2]=0.0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;g[i>>2]=+g[i>>2]+ +g[(c[t>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[t>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;if(+g[(c[r>>2]|0)+(c[n>>2]<<2)>>2]>0.0?(g[s>>2]=+g[(c[r>>2]|0)+(c[n>>2]<<2)>>2],g[s>>2]=+g[s>>2]*9.999999960041972e-13,g[q>>2]=+g[s>>2]*+g[s>>2],+g[q>>2]*+g[j+4>>2]>+g[k+4>>2]*+g[i>>2]):0){if(+g[q>>2]*+g[j>>2]>+g[k>>2]*+g[i>>2]){g[k+4>>2]=+g[k>>2];g[j+4>>2]=+g[j>>2];c[(c[m>>2]|0)+4>>2]=c[c[m>>2]>>2];g[k>>2]=+g[q>>2];g[j>>2]=+g[i>>2];f=c[n>>2]|0;h=c[m>>2]|0}else{g[k+4>>2]=+g[q>>2];g[j+4>>2]=+g[i>>2];f=c[n>>2]|0;h=(c[m>>2]|0)+4|0}c[h>>2]=f}g[i>>2]=+g[i>>2]+(+g[(c[t>>2]|0)+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2]*+g[(c[t>>2]|0)+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2]-+g[(c[t>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[t>>2]|0)+(c[n>>2]<<2)>>2]);g[i>>2]=1.0>+g[i>>2]?1.0:+g[i>>2];c[n>>2]=(c[n>>2]|0)+1}l=u;return}function Ac(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;var k=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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+124|0;z=R+120|0;C=R+116|0;m=R+112|0;p=R+108|0;H=R+104|0;G=R+100|0;y=R+92|0;k=R+88|0;n=R+84|0;o=R+80|0;v=R+76|0;w=R+72|0;F=R+68|0;O=R+64|0;M=R+60|0;Q=R+56|0;P=R+52|0;L=R+40|0;s=R+36|0;t=R+32|0;E=R+28|0;D=R+24|0;I=R+20|0;q=R+16|0;r=R+12|0;x=R+8|0;u=R+4|0;J=R;c[K>>2]=a;c[z>>2]=b;c[C>>2]=d;c[m>>2]=e;c[p>>2]=f;c[H>>2]=h;g[G>>2]=i;c[R+96>>2]=j;c[D>>2]=c[C>>2];c[z>>2]=(c[z>>2]|0)/2|0;c[C>>2]=(c[C>>2]|0)/2|0;a=c[p>>2]|0;c[a>>2]=(c[a>>2]|0)/2|0;c[H>>2]=(c[H>>2]|0)/2|0;c[m>>2]=(c[m>>2]|0)/2|0;c[K>>2]=(c[K>>2]|0)+(c[z>>2]<<2);if((c[c[p>>2]>>2]|0)>=(c[z>>2]|0))c[c[p>>2]>>2]=(c[z>>2]|0)-1;a=c[c[p>>2]>>2]|0;c[o>>2]=a;c[n>>2]=a;a=(c[z>>2]|0)+1|0;c[I>>2]=$()|0;f=l;l=l+((1*(a<<2)|0)+15&-16)|0;Bc(c[K>>2]|0,c[K>>2]|0,(c[K>>2]|0)+(0-(c[o>>2]|0)<<2)|0,c[m>>2]|0,M,O);g[f>>2]=+g[M>>2];g[Q>>2]=+g[M>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[z>>2]|0))break;g[Q>>2]=+g[Q>>2]+ +g[(c[K>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]*+g[(c[K>>2]|0)+(0-(c[k>>2]|0)<<2)>>2]-+g[(c[K>>2]|0)+((c[m>>2]|0)-(c[k>>2]|0)<<2)>>2]*+g[(c[K>>2]|0)+((c[m>>2]|0)-(c[k>>2]|0)<<2)>>2];g[f+(c[k>>2]<<2)>>2]=0.0>+g[Q>>2]?0.0:+g[Q>>2];c[k>>2]=(c[k>>2]|0)+1}g[Q>>2]=+g[f+(c[o>>2]<<2)>>2];g[s>>2]=+g[O>>2];g[t>>2]=+g[Q>>2];i=+g[O>>2]/+B(+(+g[M>>2]*+g[Q>>2]+1.0));g[w>>2]=i;g[v>>2]=i;c[y>>2]=2;while(1){if((c[y>>2]|0)>15)break;g[u>>2]=0.0;c[q>>2]=Cc((c[o>>2]<<1)+(c[y>>2]|0)|0,c[y>>2]<<1)|0;if((c[q>>2]|0)<(c[C>>2]|0))break;do if((c[y>>2]|0)==2){e=c[o>>2]|0;if(((c[q>>2]|0)+(c[o>>2]|0)|0)>(c[z>>2]|0)){c[r>>2]=e;break}else{c[r>>2]=e+(c[q>>2]|0);break}}else{k=N(c[17400+(c[y>>2]<<2)>>2]<<1,c[o>>2]|0)|0;c[r>>2]=Cc(k+(c[y>>2]|0)|0,c[y>>2]<<1)|0}while(0);Bc(c[K>>2]|0,(c[K>>2]|0)+(0-(c[q>>2]|0)<<2)|0,(c[K>>2]|0)+(0-(c[r>>2]|0)<<2)|0,c[m>>2]|0,O,P);g[O>>2]=+g[O>>2]+ +g[P>>2];g[Q>>2]=+g[f+(c[q>>2]<<2)>>2]+ +g[f+(c[r>>2]<<2)>>2];g[x>>2]=+g[O>>2]/+B(+(+g[M>>2]*2.0*1.0*+g[Q>>2]+1.0));do if((A((c[q>>2]|0)-(c[H>>2]|0)|0)|0)<=1)g[u>>2]=+g[G>>2];else{if((A((c[q>>2]|0)-(c[H>>2]|0)|0)|0)<=2?(k=N((c[y>>2]|0)*5|0,c[y>>2]|0)|0,(k|0)<(c[o>>2]|0)):0){g[u>>2]=+g[G>>2]*.5;break}g[u>>2]=0.0}while(0);if(.30000001192092896>+g[w>>2]*.699999988079071-+g[u>>2])i=.30000001192092896;else i=+g[w>>2]*.699999988079071-+g[u>>2];g[J>>2]=i;if((c[q>>2]|0)>=((c[C>>2]|0)*3|0)){if((c[q>>2]|0)<(c[C>>2]<<1|0)){if(.5>+g[w>>2]*.8999999761581421-+g[u>>2])i=.5;else i=+g[w>>2]*.8999999761581421-+g[u>>2];g[J>>2]=i}}else{if(.4000000059604645>+g[w>>2]*.8500000238418579-+g[u>>2])i=.4000000059604645;else i=+g[w>>2]*.8500000238418579-+g[u>>2];g[J>>2]=i}if(+g[x>>2]>+g[J>>2]){g[s>>2]=+g[O>>2];g[t>>2]=+g[Q>>2];c[n>>2]=c[q>>2];g[v>>2]=+g[x>>2]}c[y>>2]=(c[y>>2]|0)+1}g[s>>2]=0.0>+g[s>>2]?0.0:+g[s>>2];if(+g[t>>2]<=+g[s>>2])g[F>>2]=1.0;else g[F>>2]=+g[s>>2]/(+g[t>>2]+1.0);c[y>>2]=0;while(1){if((c[y>>2]|0)>=3)break;i=+xc(c[K>>2]|0,(c[K>>2]|0)+(0-((c[n>>2]|0)+(c[y>>2]|0)-1)<<2)|0,c[m>>2]|0);g[L+(c[y>>2]<<2)>>2]=i;c[y>>2]=(c[y>>2]|0)+1}do if(!(+g[L+8>>2]-+g[L>>2]>(+g[L+4>>2]-+g[L>>2])*.699999988079071))if(+g[L>>2]-+g[L+8>>2]>(+g[L+4>>2]-+g[L+8>>2])*.699999988079071){c[E>>2]=-1;break}else{c[E>>2]=0;break}else c[E>>2]=1;while(0);if(+g[F>>2]>+g[v>>2])g[F>>2]=+g[v>>2];c[c[p>>2]>>2]=(c[n>>2]<<1)+(c[E>>2]|0);if((c[c[p>>2]>>2]|0)>=(c[D>>2]|0)){i=+g[F>>2];Q=c[I>>2]|0;_(Q|0);l=R;return +i}c[c[p>>2]>>2]=c[D>>2];i=+g[F>>2];Q=c[I>>2]|0;_(Q|0);l=R;return +i}function Bc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+32|0;r=t+28|0;s=t+24|0;j=t+20|0;p=t+16|0;q=t+12|0;k=t+8|0;n=t+4|0;o=t;c[m>>2]=a;c[r>>2]=b;c[s>>2]=d;c[j>>2]=e;c[p>>2]=f;c[q>>2]=h;g[n>>2]=0.0;g[o>>2]=0.0;c[k>>2]=0;while(1){i=+g[n>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[n>>2]=i+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[r>>2]|0)+(c[k>>2]<<2)>>2];g[o>>2]=+g[o>>2]+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[s>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}g[c[p>>2]>>2]=i;g[c[q>>2]>>2]=+g[o>>2];l=t;return}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+40|0;e=q+36|0;k=q+32|0;h=q+28|0;i=q+24|0;m=q+20|0;f=q+16|0;j=q+12|0;n=q+8|0;o=q+4|0;p=q;c[r>>2]=a;c[e>>2]=b;c[k>>2]=d;g[f>>2]=+g[c[e>>2]>>2];c[j>>2]=c[r>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0))break;g[(c[j>>2]|0)+(c[h>>2]<<2)>>2]=0.0;c[h>>2]=(c[h>>2]|0)+1}if(!(+g[c[e>>2]>>2]!=0.0)){l=q;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0)){a=15;break}g[n>>2]=0.0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[n>>2]=+g[n>>2]+ +g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]*+g[(c[e>>2]|0)+((c[h>>2]|0)-(c[i>>2]|0)<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}g[n>>2]=+g[n>>2]+ +g[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2];g[m>>2]=-(+g[n>>2]/+g[f>>2]);g[(c[j>>2]|0)+(c[h>>2]<<2)>>2]=+g[m>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=((c[h>>2]|0)+1>>1|0))break;g[o>>2]=+g[(c[j>>2]|0)+(c[i>>2]<<2)>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[h>>2]|0)-1-(c[i>>2]|0)<<2)>>2];g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]=+g[o>>2]+ +g[m>>2]*+g[p>>2];g[(c[j>>2]|0)+((c[h>>2]|0)-1-(c[i>>2]|0)<<2)>>2]=+g[p>>2]+ +g[m>>2]*+g[o>>2];c[i>>2]=(c[i>>2]|0)+1}g[f>>2]=+g[f>>2]-+g[m>>2]*+g[m>>2]*+g[f>>2];if(+g[f>>2]<+g[c[e>>2]>>2]*1.0000000474974513e-03){a=15;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==15){l=q;return}}function Ec(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;k=v+60|0;q=v+56|0;m=v+52|0;j=v+48|0;r=v+44|0;p=v+40|0;n=v+32|0;o=v+28|0;s=v+24|0;t=v+8|0;u=v;c[k>>2]=a;c[q>>2]=b;c[m>>2]=d;c[j>>2]=e;c[r>>2]=f;c[p>>2]=h;c[v+36>>2]=i;a=c[r>>2]|0;c[s>>2]=$()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;a=l;l=l+((1*((c[j>>2]|0)+(c[r>>2]|0)<<2)|0)+15&-16)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;g[e+(c[n>>2]<<2)>>2]=+g[(c[q>>2]|0)+((c[r>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;g[a+(c[n>>2]<<2)>>2]=+g[(c[p>>2]|0)+((c[r>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[a+((c[n>>2]|0)+(c[r>>2]|0)<<2)>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;g[(c[p>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[k>>2]|0)+((c[j>>2]|0)-(c[n>>2]|0)-1<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[j>>2]|0)-3|0))break;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Fc(e,a+(c[n>>2]<<2)|0,t,c[r>>2]|0);g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]+ +g[t>>2];g[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+1<<2)>>2]+ +g[t+4>>2];g[(c[m>>2]|0)+((c[n>>2]|0)+2<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+2<<2)>>2]+ +g[t+8>>2];g[(c[m>>2]|0)+((c[n>>2]|0)+3<<2)>>2]=+g[(c[k>>2]|0)+((c[n>>2]|0)+3<<2)>>2]+ +g[t+12>>2];c[n>>2]=(c[n>>2]|0)+4}while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[u>>2]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;g[u>>2]=+g[u>>2]+ +g[e+(c[o>>2]<<2)>>2]*+g[a+((c[n>>2]|0)+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]+ +g[u>>2];c[n>>2]=(c[n>>2]|0)+1}_(c[s>>2]|0);l=v;return}function Fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;o=u+48|0;p=u+44|0;i=u+40|0;h=u+36|0;f=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;t=u+16|0;j=u+12|0;m=u+8|0;n=u+4|0;k=u;c[o>>2]=a;c[p>>2]=b;c[i>>2]=d;c[h>>2]=e;g[t>>2]=0.0;b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[s>>2]=+g[b>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[h>>2]|0)-3|0))break;b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[t>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[t>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[q>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[s>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[r>>2];b=c[o>>2]|0;c[o>>2]=b+4;g[j>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[s>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[j>>2]*+g[t>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[j>>2]*+g[q>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[j>>2]*+g[r>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[j>>2]*+g[s>>2];c[f>>2]=(c[f>>2]|0)+4}b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)<(c[h>>2]|0)){b=c[o>>2]|0;c[o>>2]=b+4;g[m>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[t>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[m>>2]*+g[q>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[m>>2]*+g[r>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[m>>2]*+g[s>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[m>>2]*+g[t>>2]}b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)<(c[h>>2]|0)){b=c[o>>2]|0;c[o>>2]=b+4;g[n>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[q>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[n>>2]*+g[r>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[n>>2]*+g[s>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[n>>2]*+g[t>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[n>>2]*+g[q>>2]}if((c[f>>2]|0)>=(c[h>>2]|0)){l=u;return}b=c[o>>2]|0;c[o>>2]=b+4;g[k>>2]=+g[b>>2];b=c[p>>2]|0;c[p>>2]=b+4;g[r>>2]=+g[b>>2];g[c[i>>2]>>2]=+g[c[i>>2]>>2]+ +g[k>>2]*+g[s>>2];g[(c[i>>2]|0)+4>>2]=+g[(c[i>>2]|0)+4>>2]+ +g[k>>2]*+g[t>>2];g[(c[i>>2]|0)+8>>2]=+g[(c[i>>2]|0)+8>>2]+ +g[k>>2]*+g[q>>2];g[(c[i>>2]|0)+12>>2]=+g[(c[i>>2]|0)+12>>2]+ +g[k>>2]*+g[r>>2];l=u;return}function Gc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;k=v+60|0;n=v+56|0;m=v+52|0;j=v+48|0;r=v+44|0;q=v+40|0;o=v+32|0;p=v+28|0;s=v+24|0;t=v+8|0;u=v;c[k>>2]=a;c[n>>2]=b;c[m>>2]=d;c[j>>2]=e;c[r>>2]=f;c[q>>2]=h;c[v+36>>2]=i;a=c[r>>2]|0;c[s>>2]=$()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;a=l;l=l+((1*((c[j>>2]|0)+(c[r>>2]|0)<<2)|0)+15&-16)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;g[e+(c[o>>2]<<2)>>2]=+g[(c[n>>2]|0)+((c[r>>2]|0)-(c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;g[a+(c[o>>2]<<2)>>2]=-+g[(c[q>>2]|0)+((c[r>>2]|0)-(c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}while(1){if((c[o>>2]|0)>=((c[j>>2]|0)+(c[r>>2]|0)|0))break;g[a+(c[o>>2]<<2)>>2]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[j>>2]|0)-3|0))break;g[t>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];g[t+4>>2]=+g[(c[k>>2]|0)+((c[o>>2]|0)+1<<2)>>2];g[t+8>>2]=+g[(c[k>>2]|0)+((c[o>>2]|0)+2<<2)>>2];g[t+12>>2]=+g[(c[k>>2]|0)+((c[o>>2]|0)+3<<2)>>2];Fc(e,a+(c[o>>2]<<2)|0,t,c[r>>2]|0);g[a+((c[o>>2]|0)+(c[r>>2]|0)<<2)>>2]=-+g[t>>2];g[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=+g[t>>2];g[t+4>>2]=+g[t+4>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)<<2)>>2]*+g[c[n>>2]>>2];g[a+((c[o>>2]|0)+(c[r>>2]|0)+1<<2)>>2]=-+g[t+4>>2];g[(c[m>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=+g[t+4>>2];g[t+8>>2]=+g[t+8>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)+1<<2)>>2]*+g[c[n>>2]>>2];g[t+8>>2]=+g[t+8>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+4>>2];g[a+((c[o>>2]|0)+(c[r>>2]|0)+2<<2)>>2]=-+g[t+8>>2];g[(c[m>>2]|0)+((c[o>>2]|0)+2<<2)>>2]=+g[t+8>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)+2<<2)>>2]*+g[c[n>>2]>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)+1<<2)>>2]*+g[(c[n>>2]|0)+4>>2];g[t+12>>2]=+g[t+12>>2]+ +g[a+((c[o>>2]|0)+(c[r>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+8>>2];g[a+((c[o>>2]|0)+(c[r>>2]|0)+3<<2)>>2]=-+g[t+12>>2];g[(c[m>>2]|0)+((c[o>>2]|0)+3<<2)>>2]=+g[t+12>>2];c[o>>2]=(c[o>>2]|0)+4}while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;g[u>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;g[u>>2]=+g[u>>2]-+g[e+(c[p>>2]<<2)>>2]*+g[a+((c[o>>2]|0)+(c[p>>2]|0)<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}g[a+((c[o>>2]|0)+(c[r>>2]|0)<<2)>>2]=+g[u>>2];g[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=+g[u>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;g[(c[q>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[m>>2]|0)+((c[j>>2]|0)-(c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}_(c[s>>2]|0);l=v;return}function Hc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=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;z=l;l=l+64|0;o=z+52|0;p=z+48|0;n=z+44|0;m=z+40|0;u=z+36|0;v=z+32|0;k=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;r=z+12|0;x=z+8|0;y=z+4|0;w=z;c[o>>2]=a;c[p>>2]=b;c[n>>2]=d;c[m>>2]=e;c[u>>2]=f;c[v>>2]=h;c[k>>2]=i;c[r>>2]=(c[v>>2]|0)-(c[u>>2]|0);a=c[v>>2]|0;c[w>>2]=$()|0;b=l;l=l+((1*(a<<2)|0)+15&-16)|0;if(!(c[m>>2]|0))c[y>>2]=c[o>>2];else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;g[b+(c[s>>2]<<2)>>2]=+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;g[b+(c[s>>2]<<2)>>2]=+g[(c[o>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2];g[b+((c[v>>2]|0)-(c[s>>2]|0)-1<<2)>>2]=+g[(c[o>>2]|0)+((c[v>>2]|0)-(c[s>>2]|0)-1<<2)>>2]*+g[(c[n>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[y>>2]=b}c[x>>2]=0;vc(c[y>>2]|0,c[y>>2]|0,c[p>>2]|0,c[r>>2]|0,(c[u>>2]|0)+1|0,c[k>>2]|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[u>>2]|0))break;c[s>>2]=(c[t>>2]|0)+(c[r>>2]|0);g[q>>2]=0.0;while(1){j=+g[q>>2];if((c[s>>2]|0)>=(c[v>>2]|0))break;g[q>>2]=j+ +g[(c[y>>2]|0)+(c[s>>2]<<2)>>2]*+g[(c[y>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0)<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}o=(c[p>>2]|0)+(c[t>>2]<<2)|0;g[o>>2]=+g[o>>2]+j;c[t>>2]=(c[t>>2]|0)+1}y=c[x>>2]|0;_(c[w>>2]|0);l=z;return y|0}function Ic(a,b,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0;ca=l;l=l+224|0;Q=ca+216|0;Y=ca+212|0;J=ca+208|0;v=ca+204|0;F=ca+200|0;V=ca+196|0;D=ca+192|0;K=ca+188|0;G=ca+184|0;z=ca+180|0;A=ca+176|0;x=ca+172|0;da=ca+168|0;E=ca+164|0;ba=ca+160|0;w=ca+156|0;P=ca+152|0;L=ca+148|0;R=ca+144|0;I=ca+96|0;Z=ca+92|0;B=ca+88|0;M=ca+84|0;S=ca+80|0;W=ca+76|0;O=ca+72|0;H=ca+24|0;aa=ca+20|0;U=ca+16|0;T=ca+12|0;y=ca+8|0;C=ca+4|0;X=ca;c[Q>>2]=a;c[Y>>2]=b;c[J>>2]=d;c[v>>2]=e;c[F>>2]=f;c[V>>2]=h;c[D>>2]=i;c[K>>2]=j;c[G>>2]=k;c[z>>2]=m;c[A>>2]=n;c[x>>2]=o;c[da>>2]=p;c[E>>2]=q;c[ba>>2]=r;c[w>>2]=s;c[P>>2]=t;c[B>>2]=0;if(!(c[da>>2]|0))if(!(c[ba>>2]|0)?+g[c[E>>2]>>2]>+(N(c[z>>2]<<1,(c[J>>2]|0)-(c[Y>>2]|0)|0)|0):0)m=(c[x>>2]|0)>(N((c[J>>2]|0)-(c[Y>>2]|0)|0,c[z>>2]|0)|0);else m=0;else m=1;c[L>>2]=m&1;c[M>>2]=~~(+((c[D>>2]|0)>>>0)*+g[c[E>>2]>>2]*+(c[w>>2]|0)/+(c[z>>2]<<9|0));g[S>>2]=+Jc(c[F>>2]|0,c[V>>2]|0,c[Y>>2]|0,c[v>>2]|0,c[(c[Q>>2]|0)+8>>2]|0,c[z>>2]|0);c[Z>>2]=Kc(c[G>>2]|0)|0;if(((c[Z>>2]|0)+3|0)>>>0>(c[D>>2]|0)>>>0){c[L>>2]=0;c[ba>>2]=0}g[R>>2]=16.0;if(((c[J>>2]|0)-(c[Y>>2]|0)|0)>10){if(+g[R>>2]<+(c[x>>2]|0)*.125)u=+g[R>>2];else u=+(c[x>>2]|0)*.125;g[R>>2]=u}if(c[P>>2]|0)g[R>>2]=3.0;q=I;f=c[G>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));da=N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0;c[W>>2]=$()|0;n=l;l=l+((1*(da<<2)|0)+15&-16)|0;da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;i=l;l=l+((1*da|0)+15&-16)|0;da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;_i(n|0,c[V>>2]|0,da+0|0)|0;if((c[ba>>2]|0)!=0|(c[L>>2]|0)!=0)c[B>>2]=Lc(c[Q>>2]|0,c[Y>>2]|0,c[J>>2]|0,c[F>>2]|0,n,c[D>>2]|0,c[Z>>2]|0,26380+((c[A>>2]|0)*84|0)+42|0,i,c[G>>2]|0,c[z>>2]|0,c[A>>2]|0,1,+g[R>>2],c[P>>2]|0)|0;if(c[L>>2]|0){da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;_i(c[V>>2]|0,n|0,da+0|0)|0;da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;_i(c[K>>2]|0,i|0,da+0|0)|0}else{c[aa>>2]=Gb(c[G>>2]|0)|0;q=H;f=c[G>>2]|0;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[U>>2]=Mc(I)|0;c[T>>2]=Mc(H)|0;q=Nc(H)|0;c[O>>2]=q+(c[U>>2]|0);q=(c[T>>2]|0)-(c[U>>2]|0)|0;c[y>>2]=q;c[y>>2]=(c[y>>2]|0)==0?1:q;q=c[y>>2]|0;c[X>>2]=$()|0;m=l;l=l+((1*q|0)+15&-16)|0;_i(m|0,c[O>>2]|0,(c[T>>2]|0)-(c[U>>2]|0)+0|0)|0;q=c[G>>2]|0;f=I;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));c[C>>2]=Lc(c[Q>>2]|0,c[Y>>2]|0,c[J>>2]|0,c[F>>2]|0,c[V>>2]|0,c[D>>2]|0,c[Z>>2]|0,26380+((c[A>>2]|0)*84|0)+((c[L>>2]|0)*42|0)|0,c[K>>2]|0,c[G>>2]|0,c[z>>2]|0,c[A>>2]|0,0,+g[R>>2],c[P>>2]|0)|0;do if(c[ba>>2]|0){if((c[B>>2]|0)>=(c[C>>2]|0)){if((c[B>>2]|0)!=(c[C>>2]|0))break;da=Gb(c[G>>2]|0)|0;if((da+(c[M>>2]|0)|0)<=(c[aa>>2]|0))break}q=c[G>>2]|0;f=H;e=q+48|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(e|0));_i(c[O>>2]|0,m|0,(c[T>>2]|0)-(c[U>>2]|0)+0|0)|0;da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;_i(c[V>>2]|0,n|0,da+0|0)|0;da=(N(c[z>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)<<2;_i(c[K>>2]|0,i|0,da+0|0)|0;c[L>>2]=1}while(0);_(c[X>>2]|0)}if(c[L>>2]|0){g[c[E>>2]>>2]=+g[S>>2];da=c[W>>2]|0;_(da|0);l=ca;return}else{g[c[E>>2]>>2]=+g[17564+(c[A>>2]<<2)>>2]*+g[17564+(c[A>>2]<<2)>>2]*+g[c[E>>2]>>2]+ +g[S>>2];da=c[W>>2]|0;_(da|0);l=ca;return}}function Jc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+36|0;r=t+32|0;s=t+28|0;o=t+24|0;q=t+20|0;i=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;k=t;c[n>>2]=a;c[r>>2]=b;c[s>>2]=d;c[o>>2]=e;c[q>>2]=f;c[i>>2]=h;g[m>>2]=0.0;c[j>>2]=0;do{c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;u=+g[(c[n>>2]|0)+((c[p>>2]|0)+(N(c[j>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[k>>2]=u-+g[(c[r>>2]|0)+((c[p>>2]|0)+(N(c[j>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[m>>2]=+g[m>>2]+ +g[k>>2]*+g[k>>2];c[p>>2]=(c[p>>2]|0)+1}d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((d|0)<(c[i>>2]|0));l=t;return +(200.0<+g[m>>2]?200.0:+g[m>>2])}function Kc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0} function gg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+40|0;h=k+36|0;g=k+32|0;e=k+8|0;f=k+4|0;j=k;c[i>>2]=a;c[h>>2]=d;c[g>>2]=Pb(c[i>>2]|0,28974,8)|0;c[e+8>>2]=(c[g>>2]|0)/5|0;c[e+12+8>>2]=(c[g>>2]|0)-((c[e+8>>2]|0)*5|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;a=Pb(c[i>>2]|0,29027,8)|0;c[e+((c[g>>2]|0)*12|0)>>2]=a;a=Pb(c[i>>2]|0,29034,8)|0;c[e+((c[g>>2]|0)*12|0)+4>>2]=a;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;i=e+((c[g>>2]|0)*12|0)|0;c[i>>2]=(c[i>>2]|0)+((c[e+((c[g>>2]|0)*12|0)+8>>2]|0)*3|0);c[f>>2]=b[24526+(c[e+((c[g>>2]|0)*12|0)>>2]<<1)>>1];c[j>>2]=(((b[24526+((c[e+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[f>>2]|0)>>16)*6554|0)+(((b[24526+((c[e+((c[g>>2]|0)*12|0)>>2]|0)+1<<1)>>1]|0)-(c[f>>2]|0)&65535)*6554>>16);i=(c[f>>2]|0)+(N((c[j>>2]&65535)<<16>>16,((c[e+((c[g>>2]|0)*12|0)+4>>2]<<1)+1&65535)<<16>>16)|0)|0;c[(c[h>>2]|0)+(c[g>>2]<<2)>>2]=i;c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[(c[h>>2]|0)+4>>2]|0);l=k;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Pb(c[f>>2]|0,28999,8)|0;c[c[e>>2]>>2]=a;l=d;return}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[g>>2]=b;c[e>>2]=d;c[f>>2]=((a[(c[e>>2]|0)+2>>0]|0)*5|0)+(a[(c[e>>2]|0)+3+2>>0]|0);$b(c[g>>2]|0,c[f>>2]|0,28974,8);c[f>>2]=0;while(1){if((c[f>>2]|0)>=2)break;$b(c[g>>2]|0,a[(c[e>>2]|0)+((c[f>>2]|0)*3|0)>>0]|0,29027,8);$b(c[g>>2]|0,a[(c[e>>2]|0)+((c[f>>2]|0)*3|0)+1>>0]|0,29034,8);c[f>>2]=(c[f>>2]|0)+1}l=h;return}function jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;$b(c[g>>2]|0,a[f>>0]|0,28999,8);l=e;return}function kg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=l;l=l+64|0;q=r+52|0;u=r+48|0;t=r+44|0;o=r+40|0;s=r+36|0;n=r+32|0;m=r+28|0;v=r+24|0;w=r+20|0;i=r+16|0;j=r+12|0;h=r+8|0;p=r+4|0;k=r;c[q>>2]=a;c[u>>2]=b;c[t>>2]=d;c[o>>2]=e;c[s>>2]=f;c[n>>2]=g;fg(i,v,c[u>>2]|0,c[s>>2]|0);fg(j,w,c[t>>2]|0,c[s>>2]|0);c[m>>2]=lg(c[v>>2]|0,c[w>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[m>>2]&1);c[j>>2]=c[j>>2]>>(c[m>>2]|0)-(c[w>>2]|0);c[i>>2]=c[i>>2]>>(c[m>>2]|0)-(c[v>>2]|0);c[i>>2]=lg(c[i>>2]|0,1)|0;c[h>>2]=Af(c[u>>2]|0,c[t>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;c[p>>2]=mg(c[h>>2]|0,c[i>>2]|0,13)|0;if((c[p>>2]|0)>16384)f=16384;else f=(c[p>>2]|0)<-16384?-16384:c[p>>2]|0;c[p>>2]=f;w=N(c[p>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[k>>2]=w+((N(c[p>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16);w=c[k>>2]|0;c[n>>2]=lg(c[n>>2]|0,(c[k>>2]|0)>0?w:0-w|0)|0;c[m>>2]=c[m>>2]>>1;w=c[c[o>>2]>>2]|0;v=ng(c[i>>2]|0)|0;v=N((v<>2])-(c[c[o>>2]>>2]|0)>>16,(c[n>>2]&65535)<<16>>16)|0;u=ng(c[i>>2]|0)|0;u=w+(v+((N((u<>2])-(c[c[o>>2]>>2]|0)&65535,(c[n>>2]&65535)<<16>>16)|0)>>16))|0;c[c[o>>2]>>2]=u;u=N(c[h>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[j>>2]=(c[j>>2]|0)-(u+((N(c[h>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)<<4);u=N(c[i>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;c[j>>2]=(c[j>>2]|0)+(u+((N(c[i>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16)<<6);u=c[(c[o>>2]|0)+4>>2]|0;v=ng(c[j>>2]|0)|0;v=N((v<>2])-(c[(c[o>>2]|0)+4>>2]|0)>>16,(c[n>>2]&65535)<<16>>16)|0;w=ng(c[j>>2]|0)|0;w=u+(v+((N((w<>2])-(c[(c[o>>2]|0)+4>>2]|0)&65535,(c[n>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[o>>2]|0)+4>>2]=w;if((c[c[o>>2]>>2]|0)>1)f=c[c[o>>2]>>2]|0;else f=1;w=mg(c[(c[o>>2]|0)+4>>2]|0,f,14)|0;c[c[q>>2]>>2]=w;if((c[c[q>>2]>>2]|0)>32767){v=32767;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}if((c[c[q>>2]>>2]|0)<0){v=0;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}v=c[c[q>>2]>>2]|0;w=c[q>>2]|0;c[w>>2]=v;w=c[p>>2]|0;l=r;return w|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(pg((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[j>>2]=(pg((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,32)|0;c[n>>2]=b-(d<<3);d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}og(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=pg(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(qg(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function pg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+40|0;i=r+36|0;h=r+32|0;j=r+28|0;n=r+24|0;k=r+20|0;q=r+16|0;m=r+12|0;g=r+8|0;f=r+4|0;p=r;c[o>>2]=d;c[i>>2]=e;c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=2)break;c[g>>2]=2147483647;c[h>>2]=0;a:while(1){if((c[h>>2]|0)>=15)break;c[k>>2]=b[24526+(c[h>>2]<<1)>>1];c[q>>2]=(((b[24526+((c[h>>2]|0)+1<<1)>>1]|0)-(c[k>>2]|0)>>16)*6554|0)+(((b[24526+((c[h>>2]|0)+1<<1)>>1]|0)-(c[k>>2]|0)&65535)*6554>>16);c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;c[m>>2]=(c[k>>2]|0)+(N((c[q>>2]&65535)<<16>>16,((c[j>>2]<<1)+1&65535)<<16>>16)|0);d=(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[m>>2]|0)|0;c[f>>2]=((c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[m>>2]|0)|0)>0?d:0-d|0;if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[g>>2]=c[f>>2];c[p>>2]=c[m>>2];a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)>>0]=c[h>>2];a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+1>>0]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]=(a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)>>0]|0)/3|0;d=(c[i>>2]|0)+((c[n>>2]|0)*3|0)|0;a[d>>0]=(a[d>>0]|0)-((a[(c[i>>2]|0)+((c[n>>2]|0)*3|0)+2>>0]|0)*3|0);c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;c[q>>2]=(c[q>>2]|0)-(c[(c[o>>2]|0)+4>>2]|0);l=r;return}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+32|0;n=p+28|0;q=p+24|0;m=p+20|0;k=p+16|0;j=p+12|0;i=p+8|0;f=p+4|0;h=p;c[o>>2]=a;c[n>>2]=b;c[q>>2]=d;c[m>>2]=e;g[j>>2]=3.1415927410125732/+((c[m>>2]|0)+1|0);g[i>>2]=2.0-+g[j>>2]*+g[j>>2];if((c[q>>2]|0)<2){g[f>>2]=0.0;g[h>>2]=+g[j>>2]}else{g[f>>2]=1.0;g[h>>2]=+g[i>>2]*.5}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;g[(c[o>>2]|0)+((c[k>>2]|0)+0<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+0<<2)>>2]*.5*(+g[f>>2]+ +g[h>>2]);g[(c[o>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+1<<2)>>2]*+g[h>>2];g[f>>2]=+g[i>>2]*+g[h>>2]-+g[f>>2];g[(c[o>>2]|0)+((c[k>>2]|0)+2<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+2<<2)>>2]*.5*(+g[h>>2]+ +g[f>>2]);g[(c[o>>2]|0)+((c[k>>2]|0)+3<<2)>>2]=+g[(c[n>>2]|0)+((c[k>>2]|0)+3<<2)>>2]*+g[f>>2];g[h>>2]=+g[i>>2]*+g[f>>2]-+g[h>>2];c[k>>2]=(c[k>>2]|0)+4}l=p;return}function tg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+32|0;p=o+24|0;n=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[p>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[m>>2]=(c[p>>2]|0)+((c[i>>2]|0)-1<<2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;q=+qh(c[m>>2]|0,c[n>>2]|0,c[h>>2]|0);g[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=q;c[m>>2]=(c[m>>2]|0)+-4;c[k>>2]=(c[k>>2]|0)+1}l=o;return}function ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+36|0;f=r+32|0;i=r+28|0;j=r+24|0;m=r+20|0;n=r+16|0;k=r;o=r+12|0;p=r+8|0;c[q>>2]=a;c[f>>2]=b;c[i>>2]=d;c[j>>2]=e;c[o>>2]=(c[q>>2]|0)+((c[i>>2]|0)-1<<2);h[k>>3]=+ph(c[o>>2]|0,c[f>>2]|0);g[(c[j>>2]|0)+(0<<2)>>2]=+h[k>>3];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;h[k>>3]=+h[k>>3]+(+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]-+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]*+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]);a=N(c[m>>2]|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(a+(c[m>>2]|0)<<2)>>2]=+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=(c[q>>2]|0)+((c[i>>2]|0)-2<<2);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;h[k>>3]=+qh(c[o>>2]|0,c[p>>2]|0,c[f>>2]|0);g[(c[j>>2]|0)+((N(c[n>>2]|0,c[i>>2]|0)|0)+0<<2)>>2]=+h[k>>3];g[(c[j>>2]|0)+(0+(c[n>>2]|0)<<2)>>2]=+h[k>>3];c[m>>2]=1;while(1){if((c[m>>2]|0)>=((c[i>>2]|0)-(c[n>>2]|0)|0))break;h[k>>3]=+h[k>>3]+(+g[(c[o>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+(0-(c[m>>2]|0)<<2)>>2]-+g[(c[o>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]*+g[(c[p>>2]|0)+((c[f>>2]|0)-(c[m>>2]|0)<<2)>>2]);q=N((c[n>>2]|0)+(c[m>>2]|0)|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(q+(c[m>>2]|0)<<2)>>2]=+h[k>>3];q=N(c[m>>2]|0,c[i>>2]|0)|0;g[(c[j>>2]|0)+(q+((c[n>>2]|0)+(c[m>>2]|0))<<2)>>2]=+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+-4;c[n>>2]=(c[n>>2]|0)+1}l=r;return}function vg(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=b;Fe(c[d>>2]|0,(c[d>>2]|0)+5128+2|0)|0;b=c[d>>2]|0;if((c[(c[d>>2]|0)+4556>>2]|0)>=13){c[b+6116>>2]=0;c[(c[d>>2]|0)+6112>>2]=0;a[(c[d>>2]|0)+4768+29>>0]=1;b=1;e=c[d>>2]|0;d=(c[d>>2]|0)+4752|0;e=e+5780|0;e=c[e>>2]|0;e=d+e|0;a[e>>0]=b;l=f;return}a[b+4768+29>>0]=0;b=(c[d>>2]|0)+6116|0;c[b>>2]=(c[b>>2]|0)+1;b=c[d>>2]|0;if((c[(c[d>>2]|0)+6116>>2]|0)>=10){if((c[b+6116>>2]|0)>30){c[(c[d>>2]|0)+6116>>2]=10;b=c[d>>2]|0;e=5}}else e=5;if((e|0)==5)c[b+6112>>2]=0;b=0;e=c[d>>2]|0;d=(c[d>>2]|0)+4752|0;e=e+5780|0;e=c[e>>2]|0;e=d+e|0;a[e>>0]=b;l=f;return}function wg(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+15152|0;P=Y+13856|0;L=Y+13852|0;K=Y+13848|0;M=Y+13844|0;p=Y+13840|0;E=Y+13836|0;W=Y+13832|0;Q=Y+12920|0;C=Y+12916|0;D=Y+12912|0;F=Y+12908|0;u=Y+12904|0;t=Y+12900|0;O=Y+12896|0;n=Y+12892|0;m=Y+12888|0;X=Y+11608|0;k=Y+8920|0;T=Y+8872|0;U=Y+8824|0;R=Y+4444|0;S=Y+64|0;V=Y+60|0;G=Y+56|0;H=Y+52|0;I=Y+48|0;w=Y+44|0;x=Y+40|0;z=Y+36|0;A=Y+32|0;B=Y+28|0;v=Y+13862|0;r=Y+13860|0;s=Y+24|0;o=Y+15139|0;J=Y+8|0;q=Y+13864|0;y=Y;c[L>>2]=d;c[K>>2]=e;c[M>>2]=f;c[p>>2]=h;c[E>>2]=i;c[W>>2]=j;c[O>>2]=0;c[x>>2]=0;c[w>>2]=0;c[I>>2]=0;c[H>>2]=0;a[o>>0]=0;f=(c[L>>2]|0)+4644|0;j=c[f>>2]|0;c[f>>2]=j+1;a[(c[L>>2]|0)+4768+34>>0]=j&3;c[n>>2]=(c[L>>2]|0)+9356+(c[(c[L>>2]|0)+4616>>2]<<2);c[m>>2]=k+(c[(c[L>>2]|0)+4616>>2]<<2);Pd((c[L>>2]|0)+16|0,(c[L>>2]|0)+5128+2|0,c[(c[L>>2]|0)+4608>>2]|0);xg((c[n>>2]|0)+((c[(c[L>>2]|0)+4600>>2]|0)*5<<2)|0,(c[L>>2]|0)+5128+2|0,c[(c[L>>2]|0)+4608>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=8)break;j=(c[n>>2]|0)+(((c[(c[L>>2]|0)+4600>>2]|0)*5|0)+(N(c[C>>2]|0,c[(c[L>>2]|0)+4608>>2]>>3)|0)<<2)|0;g[j>>2]=+g[j>>2]+ +(1-(c[C>>2]&2)|0)*9.999999974752427e-07;c[C>>2]=(c[C>>2]|0)+1}a:do if(!(c[(c[L>>2]|0)+4712>>2]|0)){Gg(c[L>>2]|0,Q,k,c[n>>2]|0,c[(c[L>>2]|0)+5124>>2]|0);Qg(c[L>>2]|0,Q,c[m>>2]|0,c[n>>2]|0);Hg(c[L>>2]|0,Q,k,c[n>>2]|0,c[p>>2]|0);Yg(c[L>>2]|0,Q,c[p>>2]|0);Vg(c[L>>2]|0,Q,X,c[n>>2]|0);yg(c[L>>2]|0,Q,X,c[p>>2]|0);c[F>>2]=6;b[v>>1]=256;c[t>>2]=0;c[u>>2]=0;c[z>>2]=Nd((c[L>>2]|0)+4768|0,c[(c[L>>2]|0)+4604>>2]|0)|0;c[A>>2]=-1;c[B>>2]=-1;h=T;i=c[M>>2]|0;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));_i(R|0,(c[L>>2]|0)+144|0,4380)|0;c[V>>2]=a[(c[L>>2]|0)+4768+34>>0];b[r>>1]=b[(c[L>>2]|0)+5804>>1]|0;c[s>>2]=c[(c[L>>2]|0)+5800>>2];c[D>>2]=0;while(1){do if((c[z>>2]|0)!=(c[A>>2]|0)){if((c[z>>2]|0)==(c[B>>2]|0)){c[G>>2]=c[I>>2];break}if((c[D>>2]|0)>0){h=c[M>>2]|0;i=T;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));_i((c[L>>2]|0)+144|0,R|0,4380)|0;a[(c[L>>2]|0)+4768+34>>0]=c[V>>2];b[(c[L>>2]|0)+5804>>1]=b[r>>1]|0;c[(c[L>>2]|0)+5800>>2]=c[s>>2]}kh(c[L>>2]|0,Q,(c[L>>2]|0)+4768|0,(c[L>>2]|0)+144|0,(c[L>>2]|0)+4804|0,X);Gd(c[L>>2]|0,c[M>>2]|0,c[(c[L>>2]|0)+5780>>2]|0,0,c[p>>2]|0);Hd(c[M>>2]|0,a[(c[L>>2]|0)+4768+29>>0]|0,a[(c[L>>2]|0)+4768+30>>0]|0,(c[L>>2]|0)+4804|0,c[(c[L>>2]|0)+4608>>2]|0);c[G>>2]=zg(c[M>>2]|0)|0;if((c[W>>2]|0)==0&(c[D>>2]|0)==0?(c[G>>2]|0)<=(c[E>>2]|0):0)break a}else c[G>>2]=c[H>>2];while(0);if((c[D>>2]|0)==(c[F>>2]|0))break;do if((c[G>>2]|0)>(c[E>>2]|0))if((c[t>>2]|0)==0&(c[D>>2]|0)>=2){n=Q+852|0;g[n>>2]=+g[n>>2]*1.5;c[u>>2]=0;c[B>>2]=-1;break}else{c[u>>2]=1;c[I>>2]=c[G>>2];c[x>>2]=b[v>>1];c[B>>2]=c[z>>2];break}else{if((c[G>>2]|0)>=((c[E>>2]|0)-5|0))break a;c[t>>2]=1;c[H>>2]=c[G>>2];c[w>>2]=b[v>>1];if((c[z>>2]|0)!=(c[A>>2]|0)){c[A>>2]=c[z>>2];h=U;i=c[M>>2]|0;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));_i(q|0,c[c[M>>2]>>2]|0,c[(c[M>>2]|0)+24>>2]|0)|0;_i(S|0,(c[L>>2]|0)+144|0,4380)|0;a[o>>0]=a[(c[L>>2]|0)+7200>>0]|0}}while(0);do if(c[t>>2]&c[u>>2]){n=N((c[x>>2]|0)-(c[w>>2]|0)|0,(c[E>>2]|0)-(c[H>>2]|0)|0)|0;b[v>>1]=(c[w>>2]|0)+((n|0)/((c[I>>2]|0)-(c[H>>2]|0)|0)|0);if((b[v>>1]|0)>((c[w>>2]|0)+((c[x>>2]|0)-(c[w>>2]|0)>>2)|0)){b[v>>1]=(c[w>>2]|0)+((c[x>>2]|0)-(c[w>>2]|0)>>2);break}if((b[v>>1]|0)<((c[x>>2]|0)-((c[x>>2]|0)-(c[w>>2]|0)>>2)|0))b[v>>1]=(c[x>>2]|0)-((c[x>>2]|0)-(c[w>>2]|0)>>2)}else{c[y>>2]=Ff((((c[G>>2]|0)-(c[E>>2]|0)<<7|0)/(c[(c[L>>2]|0)+4608>>2]|0)|0)+2048|0)|0;c[y>>2]=Ag(c[y>>2]|0,131072)|0;if((c[G>>2]|0)>(c[E>>2]|0))c[y>>2]=Bg(c[y>>2]|0,85197)|0;n=N(c[y>>2]>>16,b[v>>1]|0)|0;b[v>>1]=n+((N(c[y>>2]&65535,b[v>>1]|0)|0)>>16)}while(0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;n=N(c[Q+892+(c[C>>2]<<2)>>2]>>16,b[v>>1]|0)|0;if((n+((N(c[Q+892+(c[C>>2]<<2)>>2]&65535,b[v>>1]|0)|0)>>16)|0)<=8388607){n=N(c[Q+892+(c[C>>2]<<2)>>2]>>16,b[v>>1]|0)|0;if((n+((N(c[Q+892+(c[C>>2]<<2)>>2]&65535,b[v>>1]|0)|0)>>16)|0)<-8388608)h=-8388608;else{h=N(c[Q+892+(c[C>>2]<<2)>>2]>>16,b[v>>1]|0)|0;h=h+((N(c[Q+892+(c[C>>2]<<2)>>2]&65535,b[v>>1]|0)|0)>>16)|0}}else h=8388607;c[J+(c[C>>2]<<2)>>2]=h<<8;c[C>>2]=(c[C>>2]|0)+1}a[(c[L>>2]|0)+7200>>0]=a[Q+908>>0]|0;Jd((c[L>>2]|0)+4768|0,J,(c[L>>2]|0)+7200|0,(c[p>>2]|0)==2&1,c[(c[L>>2]|0)+4604>>2]|0);c[z>>2]=Nd((c[L>>2]|0)+4768|0,c[(c[L>>2]|0)+4604>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;g[Q+(c[C>>2]<<2)>>2]=+(c[J+(c[C>>2]<<2)>>2]|0)/65536.0;c[C>>2]=(c[C>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}if(c[t>>2]|0){if((c[z>>2]|0)!=(c[A>>2]|0)?(c[G>>2]|0)<=(c[E>>2]|0):0)break;h=c[M>>2]|0;i=U;e=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(e|0));_i(c[c[M>>2]>>2]|0,q|0,c[U+24>>2]|0)|0;_i((c[L>>2]|0)+144|0,S|0,4380)|0;a[(c[L>>2]|0)+7200>>0]=a[o>>0]|0}}while(0);$i((c[L>>2]|0)+9356|0,(c[L>>2]|0)+9356+(c[(c[L>>2]|0)+4608>>2]<<2)|0,(c[(c[L>>2]|0)+4616>>2]|0)+((c[(c[L>>2]|0)+4600>>2]|0)*5|0)<<2|0)|0;if(c[(c[L>>2]|0)+4712>>2]|0){c[c[K>>2]>>2]=0;c[P>>2]=c[O>>2];X=c[P>>2]|0;l=Y;return X|0}else{c[(c[L>>2]|0)+4568>>2]=c[Q+228+((c[(c[L>>2]|0)+4604>>2]|0)-1<<2)>>2];a[(c[L>>2]|0)+4565>>0]=a[(c[L>>2]|0)+4768+29>>0]|0;c[(c[L>>2]|0)+4696>>2]=0;X=(zg(c[M>>2]|0)|0)+7>>3;c[c[K>>2]>>2]=X;c[P>>2]=c[O>>2];X=c[P>>2]|0;l=Y;return X|0}return 0}function xg(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function yg(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+4448|0;n=s+4432|0;o=s+4428|0;r=s+4424|0;k=s+4420|0;m=s+4416|0;i=s+4400|0;j=s+4384|0;p=s+4380|0;q=s;c[n>>2]=d;c[o>>2]=e;c[r>>2]=f;c[k>>2]=h;c[p>>2]=(c[n>>2]|0)+6132+((c[(c[n>>2]|0)+5780>>2]|0)*36|0);if(!(c[(c[n>>2]|0)+6124>>2]|0)){l=s;return}if((c[(c[n>>2]|0)+4556>>2]|0)<=77){l=s;return}c[(c[n>>2]|0)+4756+(c[(c[n>>2]|0)+5780>>2]<<2)>>2]=1;_i(q|0,(c[n>>2]|0)+144|0,4380)|0;h=c[p>>2]|0;d=(c[n>>2]|0)+4768|0;e=h+36|0;do{b[h>>1]=b[d>>1]|0;h=h+2|0;d=d+2|0}while((h|0)<(e|0));_i(j|0,c[o>>2]|0,c[(c[n>>2]|0)+4604>>2]<<2|0)|0;if(!((c[(c[n>>2]|0)+5780>>2]|0)!=0?(c[(c[n>>2]|0)+4756+((c[(c[n>>2]|0)+5780>>2]|0)-1<<2)>>2]|0)!=0:0)){a[(c[n>>2]|0)+4564>>0]=a[(c[n>>2]|0)+7200>>0]|0;f=c[p>>2]|0;a[f>>0]=(a[f>>0]|0)+(c[(c[n>>2]|0)+6128>>2]|0);f=(Cg(a[c[p>>2]>>0]|0,63)|0)&255;a[c[p>>2]>>0]=f}Ld(i,c[p>>2]|0,(c[n>>2]|0)+4564|0,(c[k>>2]|0)==2&1,c[(c[n>>2]|0)+4604>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[n>>2]|0)+4604>>2]|0))break;g[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=+(c[i+(c[m>>2]<<2)>>2]|0)*.0000152587890625;c[m>>2]=(c[m>>2]|0)+1}kh(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,q,(c[n>>2]|0)+6240+((c[(c[n>>2]|0)+5780>>2]|0)*320|0)|0,c[r>>2]|0);_i(c[o>>2]|0,j|0,c[(c[n>>2]|0)+4604>>2]<<2|0)|0;l=s;return}function zg(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1744|0;p=v+1700|0;k=v+1696|0;u=v+1692|0;h=v+1688|0;o=v+1684|0;t=v+1680|0;m=v+1616|0;q=v+1608|0;r=v+1604|0;s=v+1600|0;j=v+1704|0;n=v+1536|0;i=v;c[p>>2]=b;c[k>>2]=d;c[u>>2]=e;g[h>>2]=f;c[t>>2]=(c[(c[p>>2]|0)+4612>>2]|0)+(c[(c[p>>2]|0)+4664>>2]|0);a[(c[p>>2]|0)+4768+31>>0]=4;g[q>>2]=+nh(m,c[u>>2]|0,+g[h>>2],c[t>>2]|0,c[(c[p>>2]|0)+4604>>2]|0,c[(c[p>>2]|0)+4664>>2]|0);a:do if((c[(c[p>>2]|0)+4656>>2]|0?(c[(c[p>>2]|0)+4696>>2]|0)==0:0)?(c[(c[p>>2]|0)+4604>>2]|0)==4:0){f=+nh(n,(c[u>>2]|0)+(c[t>>2]<<1<<2)|0,+g[h>>2],c[t>>2]|0,2,c[(c[p>>2]|0)+4664>>2]|0);g[q>>2]=+g[q>>2]-f;gh(c[k>>2]|0,n,c[(c[p>>2]|0)+4664>>2]|0);g[r>>2]=3402823466385288598117041.0e14;c[o>>2]=3;while(1){if((c[o>>2]|0)<0)break a;Od(j,(c[p>>2]|0)+4524|0,c[k>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+4664>>2]|0);ih(n,j,c[(c[p>>2]|0)+4664>>2]|0);Ig(i,n,c[u>>2]|0,c[t>>2]<<1,c[(c[p>>2]|0)+4664>>2]|0);f=+ph(i+(c[(c[p>>2]|0)+4664>>2]<<2)|0,(c[t>>2]|0)-(c[(c[p>>2]|0)+4664>>2]|0)|0);g[s>>2]=f+ +ph(i+(c[(c[p>>2]|0)+4664>>2]<<2)+(c[t>>2]<<2)|0,(c[t>>2]|0)-(c[(c[p>>2]|0)+4664>>2]|0)|0);f=+g[s>>2];if(!(+g[s>>2]<+g[q>>2])){if(f>+g[r>>2])break a}else{g[q>>2]=f;a[(c[p>>2]|0)+4768+31>>0]=c[o>>2]}g[r>>2]=+g[s>>2];c[o>>2]=(c[o>>2]|0)+-1}}while(0);if((a[(c[p>>2]|0)+4768+31>>0]|0)!=4){l=v;return}gh(c[k>>2]|0,m,c[(c[p>>2]|0)+4664>>2]|0);l=v;return}function Eg(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.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;L=l;l=l+192|0;A=L+188|0;O=L+184|0;p=L+180|0;N=L+176|0;t=L+172|0;s=L+168|0;z=L+164|0;I=L+160|0;M=L+156|0;F=L+152|0;G=L+148|0;B=L+144|0;J=L+140|0;r=L+136|0;o=L+132|0;m=L+128|0;C=L+112|0;H=L+104|0;E=L+100|0;D=L+80|0;K=L+64|0;v=L+48|0;x=L+44|0;q=L+24|0;y=L+8|0;w=L+4|0;u=L;c[A>>2]=a;c[O>>2]=b;c[p>>2]=d;c[N>>2]=e;c[t>>2]=f;c[s>>2]=h;c[z>>2]=i;c[I>>2]=j;c[M>>2]=k;c[B>>2]=c[A>>2];c[r>>2]=c[O>>2];c[w>>2]=(c[N>>2]|0)+(c[M>>2]<<2);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[u>>2]=(c[w>>2]|0)+(0-((c[(c[t>>2]|0)+(c[G>>2]<<2)>>2]|0)+2)<<2);ug(c[u>>2]|0,c[z>>2]|0,5,c[r>>2]|0);tg(c[u>>2]|0,c[w>>2]|0,c[z>>2]|0,5,q);n=+ph(c[w>>2]|0,c[z>>2]|0);g[y+(c[G>>2]<<2)>>2]=n;g[x>>2]=+g[y+(c[G>>2]<<2)>>2]+1.0+ +g[c[r>>2]>>2]+ +g[(c[r>>2]|0)+96>>2];g[x>>2]=+g[x>>2]*.01666666753590107;_g(c[r>>2]|0,y+(c[G>>2]<<2)|0,+g[x>>2],5);bh(c[r>>2]|0,5,q,c[B>>2]|0);n=+$g(c[B>>2]|0,c[r>>2]|0,q,+g[y+(c[G>>2]<<2)>>2],5);g[v+(c[G>>2]<<2)>>2]=n;g[J>>2]=+g[(c[s>>2]|0)+(c[G>>2]<<2)>>2]/(+g[v+(c[G>>2]<<2)>>2]*+g[(c[s>>2]|0)+(c[G>>2]<<2)>>2]+ +(c[z>>2]|0)*.009999999776482582);Dh(c[r>>2]|0,+g[J>>2],25);g[K+(c[G>>2]<<2)>>2]=+g[(c[r>>2]|0)+48>>2];c[w>>2]=(c[w>>2]|0)+(c[z>>2]<<2);c[B>>2]=(c[B>>2]|0)+20;c[r>>2]=(c[r>>2]|0)+100;c[G>>2]=(c[G>>2]|0)+1}if(c[p>>2]|0){g[m>>2]=9.999999974752427e-07;g[o>>2]=0.0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;g[o>>2]=+g[o>>2]+ +g[y+(c[G>>2]<<2)>>2]*+g[(c[s>>2]|0)+(c[G>>2]<<2)>>2];g[m>>2]=+g[m>>2]+ +g[v+(c[G>>2]<<2)>>2]*+g[(c[s>>2]|0)+(c[G>>2]<<2)>>2];c[G>>2]=(c[G>>2]|0)+1}n=+Fg(+g[o>>2]/+g[m>>2])*3.0;g[c[p>>2]>>2]=n}c[B>>2]=c[A>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;g[C+(c[G>>2]<<2)>>2]=0.0;c[F>>2]=0;while(1){m=c[B>>2]|0;if((c[F>>2]|0)>=5)break;O=C+(c[G>>2]<<2)|0;g[O>>2]=+g[O>>2]+ +g[m+(c[F>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}c[B>>2]=m+20;c[G>>2]=(c[G>>2]|0)+1}g[J>>2]=1.0000000474974513e-03;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;g[J>>2]=+g[J>>2]+ +g[K+(c[G>>2]<<2)>>2];c[G>>2]=(c[G>>2]|0)+1}g[H>>2]=0.0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;g[H>>2]=+g[H>>2]+ +g[C+(c[G>>2]<<2)>>2]*+g[K+(c[G>>2]<<2)>>2];c[G>>2]=(c[G>>2]|0)+1}g[H>>2]=+g[H>>2]/+g[J>>2];c[B>>2]=c[A>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;g[E>>2]=.10000000149011612/(+g[K+(c[G>>2]<<2)>>2]+.10000000149011612)*(+g[H>>2]-+g[C+(c[G>>2]<<2)>>2]);g[J>>2]=0.0;c[F>>2]=0;while(1){if((c[F>>2]|0)>=5)break;if(+g[(c[B>>2]|0)+(c[F>>2]<<2)>>2]>.10000000149011612)n=+g[(c[B>>2]|0)+(c[F>>2]<<2)>>2];else n=.10000000149011612;g[D+(c[F>>2]<<2)>>2]=n;g[J>>2]=+g[J>>2]+ +g[D+(c[F>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}g[J>>2]=+g[E>>2]/+g[J>>2];c[F>>2]=0;while(1){m=c[B>>2]|0;if((c[F>>2]|0)>=5)break;g[(c[B>>2]|0)+(c[F>>2]<<2)>>2]=+g[m+(c[F>>2]<<2)>>2]+ +g[D+(c[F>>2]<<2)>>2]*+g[J>>2];c[F>>2]=(c[F>>2]|0)+1}c[B>>2]=m+20;c[G>>2]=(c[G>>2]|0)+1}l=L;return}function Fg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function Gg(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=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;p=l;l=l+1792|0;k=p+1776|0;m=p+1772|0;n=p+1768|0;z=p+1764|0;j=p+1760|0;q=p+1756|0;o=p+1752|0;u=p+1748|0;x=p+1744|0;r=p+1740|0;v=p+1672|0;s=p+1608|0;t=p+1544|0;w=p+8|0;y=p;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[z>>2]=h;c[j>>2]=i;c[q>>2]=(c[(c[k>>2]|0)+4620>>2]|0)+(c[(c[k>>2]|0)+4608>>2]|0)+(c[(c[k>>2]|0)+4616>>2]|0);c[r>>2]=(c[z>>2]|0)+(0-(c[(c[k>>2]|0)+4616>>2]|0)<<2);c[x>>2]=(c[r>>2]|0)+(c[q>>2]<<2)+(0-(c[(c[k>>2]|0)+4572>>2]|0)<<2);c[y>>2]=w;sg(c[y>>2]|0,c[x>>2]|0,1,c[(c[k>>2]|0)+4620>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[(c[k>>2]|0)+4620>>2]<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[k>>2]|0)+4620>>2]<<2);_i(c[y>>2]|0,c[x>>2]|0,(c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2|0)|0;c[y>>2]=(c[y>>2]|0)+((c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2);c[x>>2]=(c[x>>2]|0)+((c[(c[k>>2]|0)+4572>>2]|0)-(c[(c[k>>2]|0)+4620>>2]<<1)<<2);sg(c[y>>2]|0,c[x>>2]|0,2,c[(c[k>>2]|0)+4620>>2]|0);mh(v,w,c[(c[k>>2]|0)+4572>>2]|0,(c[(c[k>>2]|0)+4672>>2]|0)+1|0);g[v>>2]=+g[v>>2]+(+g[v>>2]*1.0000000474974513e-03+1.0);g[u>>2]=+Eh(t,v,c[(c[k>>2]|0)+4672>>2]|0);g[(c[m>>2]|0)+868>>2]=+g[v>>2]/(+g[u>>2]>1.0?+g[u>>2]:1.0);rh(s,t,c[(c[k>>2]|0)+4672>>2]|0);oh(s,c[(c[k>>2]|0)+4672>>2]|0,.9900000095367432);Ig(c[n>>2]|0,s,c[r>>2]|0,c[q>>2]|0,c[(c[k>>2]|0)+4672>>2]|0);if(a[(c[k>>2]|0)+4768+29>>0]|0?(c[(c[k>>2]|0)+4696>>2]|0)==0:0){g[o>>2]=.6000000238418579;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4672>>2]|0)*.004000000189989805;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4556>>2]|0)*.10000000149011612*.00390625;g[o>>2]=+g[o>>2]-+(a[(c[k>>2]|0)+4565>>0]>>1|0)*.15000000596046448;g[o>>2]=+g[o>>2]-+(c[(c[k>>2]|0)+4744>>2]|0)*.10000000149011612*.000030517578125;z=(uh(c[n>>2]|0,(c[m>>2]|0)+228|0,(c[k>>2]|0)+4768+26|0,(c[k>>2]|0)+4768+28|0,(c[k>>2]|0)+12236|0,c[(c[k>>2]|0)+4568>>2]|0,+(c[(c[k>>2]|0)+4676>>2]|0)/65536.0,+g[o>>2],c[(c[k>>2]|0)+4600>>2]|0,c[(c[k>>2]|0)+4668>>2]|0,c[(c[k>>2]|0)+4604>>2]|0,c[j>>2]|0)|0)==0;a[(c[k>>2]|0)+4768+29>>0]=z?2:1;l=p;return}z=(c[m>>2]|0)+228|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;b[(c[k>>2]|0)+4768+26>>1]=0;a[(c[k>>2]|0)+4768+28>>0]=0;g[(c[k>>2]|0)+12236>>2]=0.0;l=p;return}function Hg(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=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;y=l;l=l+2048|0;s=y+2004|0;t=y+2e3|0;u=y+1996|0;v=y+1992|0;o=y+1988|0;p=y+1984|0;m=y+1584|0;q=y+1568|0;n=y+1552|0;j=y+2008|0;x=y+1548|0;w=y+1544|0;k=y+8|0;r=y;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=h;c[o>>2]=i;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[s>>2]|0)+4604>>2]|0))break;g[q+(c[p>>2]<<2)>>2]=1.0/+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2];g[n+(c[p>>2]<<2)>>2]=+g[q+(c[p>>2]<<2)>>2]*+g[q+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}if((a[(c[s>>2]|0)+4768+29>>0]|0)==2){Eg((c[t>>2]|0)+144|0,m,(c[t>>2]|0)+872|0,c[u>>2]|0,(c[t>>2]|0)+228|0,n,c[(c[s>>2]|0)+4612>>2]|0,c[(c[s>>2]|0)+4604>>2]|0,c[(c[s>>2]|0)+4616>>2]|0);lh((c[t>>2]|0)+144|0,(c[s>>2]|0)+4768+4|0,(c[s>>2]|0)+4768+32|0,(c[s>>2]|0)+4688|0,m,c[(c[s>>2]|0)+4684>>2]|0,c[(c[s>>2]|0)+4680>>2]|0,c[(c[s>>2]|0)+4604>>2]|0,c[(c[s>>2]|0)+5124>>2]|0);Pg(c[s>>2]|0,c[t>>2]|0,c[o>>2]|0);Og(k,(c[v>>2]|0)+(0-(c[(c[s>>2]|0)+4664>>2]|0)<<2)|0,(c[t>>2]|0)+144|0,(c[t>>2]|0)+228|0,q,c[(c[s>>2]|0)+4612>>2]|0,c[(c[s>>2]|0)+4604>>2]|0,c[(c[s>>2]|0)+4664>>2]|0)}else{c[x>>2]=(c[v>>2]|0)+(0-(c[(c[s>>2]|0)+4664>>2]|0)<<2);c[w>>2]=k;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[s>>2]|0)+4604>>2]|0))break;Ch(c[w>>2]|0,c[x>>2]|0,+g[q+(c[p>>2]<<2)>>2],(c[(c[s>>2]|0)+4612>>2]|0)+(c[(c[s>>2]|0)+4664>>2]|0)|0);c[w>>2]=(c[w>>2]|0)+((c[(c[s>>2]|0)+4612>>2]|0)+(c[(c[s>>2]|0)+4664>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(c[(c[s>>2]|0)+4612>>2]<<2);c[p>>2]=(c[p>>2]|0)+1}aj((c[t>>2]|0)+144|0,0,(c[(c[s>>2]|0)+4604>>2]|0)*5<<2|0)|0;g[(c[t>>2]|0)+872>>2]=0.0;c[(c[s>>2]|0)+4688>>2]=0}if(c[(c[s>>2]|0)+4696>>2]|0){g[r>>2]=.009999999776482582;v=c[s>>2]|0;z=+g[r>>2];Dg(v,j,k,z);v=c[s>>2]|0;h=c[t>>2]|0;h=h+16|0;u=c[s>>2]|0;u=u+4524|0;jh(v,h,j,u);u=c[t>>2]|0;u=u+876|0;h=c[t>>2]|0;h=h+16|0;v=c[t>>2]|0;w=c[s>>2]|0;w=w+4612|0;w=c[w>>2]|0;x=c[s>>2]|0;x=x+4604|0;x=c[x>>2]|0;m=c[s>>2]|0;m=m+4664|0;m=c[m>>2]|0;ah(u,k,h,v,w,x,m);m=c[s>>2]|0;m=m+4524|0;k=m+32|0;do{b[m>>1]=b[j>>1]|0;m=m+2|0;j=j+2|0}while((m|0)<(k|0));l=y;return}else{g[r>>2]=+C(2.0,+(+g[(c[t>>2]|0)+872>>2]/3.0))/1.0e4;g[r>>2]=+g[r>>2]/(+g[(c[t>>2]|0)+860>>2]*.75+.25);v=c[s>>2]|0;z=+g[r>>2];Dg(v,j,k,z);v=c[s>>2]|0;h=c[t>>2]|0;h=h+16|0;u=c[s>>2]|0;u=u+4524|0;jh(v,h,j,u);u=c[t>>2]|0;u=u+876|0;h=c[t>>2]|0;h=h+16|0;v=c[t>>2]|0;w=c[s>>2]|0;w=w+4612|0;w=c[w>>2]|0;x=c[s>>2]|0;x=x+4604|0;x=c[x>>2]|0;m=c[s>>2]|0;m=m+4664|0;m=c[m>>2]|0;ah(u,k,h,v,w,x,m);m=c[s>>2]|0;m=m+4524|0;k=m+32|0;do{b[m>>1]=b[j>>1]|0;m=m+2|0;j=j+2|0}while((m|0)<(k|0));l=y;return}}function Ig(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,m=0;m=l;l=l+32|0;j=m+16|0;h=m+12|0;k=m+8|0;i=m+4|0;g=m;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[i>>2]=e;c[g>>2]=f;switch(c[g>>2]|0){case 6:{Jg(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 8:{Kg(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 10:{Lg(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 12:{Mg(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}case 16:{Ng(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);break}default:{}}aj(c[j>>2]|0,0,c[g>>2]<<2|0)|0;l=m;return}function Jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=6;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=8;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=10;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=12;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;f=o+4|0;n=o;c[k>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[i>>2]=16;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[m>>2]|0)+((c[i>>2]|0)-1<<2);g[f>>2]=+g[c[n>>2]>>2]*+g[c[h>>2]>>2]+ +g[(c[n>>2]|0)+-4>>2]*+g[(c[h>>2]|0)+4>>2]+ +g[(c[n>>2]|0)+-8>>2]*+g[(c[h>>2]|0)+8>>2]+ +g[(c[n>>2]|0)+-12>>2]*+g[(c[h>>2]|0)+12>>2]+ +g[(c[n>>2]|0)+-16>>2]*+g[(c[h>>2]|0)+16>>2]+ +g[(c[n>>2]|0)+-20>>2]*+g[(c[h>>2]|0)+20>>2]+ +g[(c[n>>2]|0)+-24>>2]*+g[(c[h>>2]|0)+24>>2]+ +g[(c[n>>2]|0)+-28>>2]*+g[(c[h>>2]|0)+28>>2]+ +g[(c[n>>2]|0)+-32>>2]*+g[(c[h>>2]|0)+32>>2]+ +g[(c[n>>2]|0)+-36>>2]*+g[(c[h>>2]|0)+36>>2]+ +g[(c[n>>2]|0)+-40>>2]*+g[(c[h>>2]|0)+40>>2]+ +g[(c[n>>2]|0)+-44>>2]*+g[(c[h>>2]|0)+44>>2]+ +g[(c[n>>2]|0)+-48>>2]*+g[(c[h>>2]|0)+48>>2]+ +g[(c[n>>2]|0)+-52>>2]*+g[(c[h>>2]|0)+52>>2]+ +g[(c[n>>2]|0)+-56>>2]*+g[(c[h>>2]|0)+56>>2]+ +g[(c[n>>2]|0)+-60>>2]*+g[(c[h>>2]|0)+60>>2];g[(c[k>>2]|0)+(c[i>>2]<<2)>>2]=+g[(c[n>>2]|0)+4>>2]-+g[f>>2];c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Og(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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;z=l;l=l+80|0;A=z+76|0;B=z+72|0;k=z+68|0;u=z+64|0;p=z+60|0;w=z+56|0;t=z+52|0;v=z+48|0;y=z+44|0;x=z+40|0;m=z+20|0;n=z+16|0;q=z+12|0;s=z+8|0;o=z+4|0;r=z;c[A>>2]=a;c[B>>2]=b;c[k>>2]=d;c[u>>2]=e;c[p>>2]=f;c[w>>2]=h;c[t>>2]=i;c[v>>2]=j;c[y>>2]=c[B>>2];c[n>>2]=c[A>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;c[x>>2]=(c[y>>2]|0)+(0-(c[(c[u>>2]|0)+(c[s>>2]<<2)>>2]|0)<<2);g[q>>2]=+g[(c[p>>2]|0)+(c[s>>2]<<2)>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=5)break;g[m+(c[o>>2]<<2)>>2]=+g[(c[k>>2]|0)+(((c[s>>2]|0)*5|0)+(c[o>>2]|0)<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=((c[w>>2]|0)+(c[v>>2]|0)|0))break;g[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[o>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=5)break;B=(c[n>>2]|0)+(c[o>>2]<<2)|0;g[B>>2]=+g[B>>2]-+g[m+(c[r>>2]<<2)>>2]*+g[(c[x>>2]|0)+(2-(c[r>>2]|0)<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}B=(c[n>>2]|0)+(c[o>>2]<<2)|0;g[B>>2]=+g[B>>2]*+g[q>>2];c[x>>2]=(c[x>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0)<<2);c[y>>2]=(c[y>>2]|0)+(c[w>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}l=z;return}function Pg(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m+12|0;k=m+8|0;n=m+4|0;i=m;c[j>>2]=d;c[k>>2]=e;c[n>>2]=f;f=c[j>>2]|0;if(!(c[n>>2]|0)){c[i>>2]=(c[f+4640>>2]|0)+(c[(c[j>>2]|0)+5776>>2]|0);if(!(+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612>2.0))if(+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612<0.0)h=0.0;else h=+(c[i>>2]|0)*+g[(c[k>>2]|0)+872>>2]*.10000000149011612;else h=2.0;d=~~h;f=c[j>>2]|0}else d=0;a[f+4768+33>>0]=d;g[(c[k>>2]|0)+224>>2]=+(b[24566+(a[(c[j>>2]|0)+4768+33>>0]<<1)>>1]|0)/16384.0;l=m;return}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=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,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.0,R=0;P=l;l=l+1152|0;L=P+1140|0;M=P+1136|0;v=P+1132|0;R=P+1128|0;N=P+1124|0;K=P+1120|0;t=P+1116|0;j=P+1112|0;G=P+1108|0;H=P+1104|0;I=P+1100|0;u=P+1096|0;x=P+1092|0;r=P+1088|0;s=P+1084|0;n=P+1080|0;m=P+1076|0;h=P+1072|0;i=P+1068|0;q=P+1064|0;p=P+1060|0;O=P+1056|0;J=P+1052|0;D=P+1048|0;F=P+88|0;k=P+20|0;E=P+16|0;w=P+12|0;y=P+8|0;z=P+4|0;o=P;c[L>>2]=b;c[M>>2]=d;c[v>>2]=e;c[R>>2]=f;c[N>>2]=(c[L>>2]|0)+7200;c[E>>2]=(c[R>>2]|0)+(0-(c[(c[L>>2]|0)+4624>>2]|0)<<2);g[j>>2]=+(c[(c[L>>2]|0)+4748>>2]|0)*.0078125;g[(c[M>>2]|0)+856>>2]=+((c[(c[L>>2]|0)+4728>>2]|0)+(c[(c[L>>2]|0)+4728+4>>2]|0)|0)*.5*.000030517578125;Q=+Rg((+g[j>>2]-20.0)*.25);g[(c[M>>2]|0)+860>>2]=Q;if(!(c[(c[L>>2]|0)+4708>>2]|0)){g[J>>2]=1.0-+(c[(c[L>>2]|0)+4556>>2]|0)*.00390625;g[j>>2]=+g[j>>2]-+g[(c[M>>2]|0)+860>>2]*2.0*(+g[(c[M>>2]|0)+856>>2]*.5+.5)*+g[J>>2]*+g[J>>2]}e=c[L>>2]|0;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2)g[j>>2]=+g[j>>2]+ +g[e+12236>>2]*2.0;else g[j>>2]=+g[j>>2]+(+(c[e+4748>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-+g[(c[M>>2]|0)+856>>2]);e=c[L>>2]|0;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){a[e+4768+30>>0]=0;g[(c[M>>2]|0)+864>>2]=0.0}else{c[t>>2]=c[e+4600>>2]<<1;g[n>>2]=0.0;g[s>>2]=0.0;c[w>>2]=c[v>>2];c[K>>2]=0;while(1){if((c[K>>2]|0)>=((((c[(c[L>>2]|0)+4604>>2]&65535)<<16>>16)*5|0)/2|0|0))break;Q=+(c[t>>2]|0);g[u>>2]=Q+ +ph(c[w>>2]|0,c[t>>2]|0);g[r>>2]=+Sg(+g[u>>2]);if((c[K>>2]|0)>0){Q=+A(+(+g[r>>2]-+g[s>>2]));g[n>>2]=+g[n>>2]+Q}g[s>>2]=+g[r>>2];c[w>>2]=(c[w>>2]|0)+(c[t>>2]<<2);c[K>>2]=(c[K>>2]|0)+1}Q=+Rg((+g[n>>2]-5.0)*.4000000059604645);g[(c[M>>2]|0)+864>>2]=Q;a[(c[L>>2]|0)+4768+30>>0]=+g[(c[M>>2]|0)+864>>2]>.75?0:1;g[j>>2]=+g[j>>2]+(+g[(c[M>>2]|0)+864>>2]-.5)*2.0}g[O>>2]=+g[(c[M>>2]|0)+868>>2]*1.0000000474974513e-03;Q=.949999988079071/(+g[O>>2]*+g[O>>2]+1.0);g[i>>2]=Q;g[h>>2]=Q;g[m>>2]=(1.0-+g[(c[M>>2]|0)+860>>2]*.75)*.009999999776482582;g[h>>2]=+g[h>>2]-+g[m>>2];g[i>>2]=+g[i>>2]+ +g[m>>2];g[h>>2]=+g[h>>2]/+g[i>>2];if((c[(c[L>>2]|0)+4704>>2]|0)>0)g[D>>2]=+(c[(c[L>>2]|0)+4704>>2]|0)/65536.0+ +g[(c[M>>2]|0)+860>>2]*.009999999776482582;else g[D>>2]=0.0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;c[o>>2]=(c[(c[L>>2]|0)+4600>>2]|0)*3;c[z>>2]=((c[(c[L>>2]|0)+4628>>2]|0)-(c[o>>2]|0)|0)/2|0;sg(F,c[E>>2]|0,1,c[z>>2]|0);c[y>>2]=c[z>>2];_i(F+(c[y>>2]<<2)|0,(c[E>>2]|0)+(c[y>>2]<<2)|0,c[o>>2]<<2|0)|0;c[y>>2]=(c[y>>2]|0)+(c[o>>2]|0);sg(F+(c[y>>2]<<2)|0,(c[E>>2]|0)+(c[y>>2]<<2)|0,2,c[z>>2]|0);c[E>>2]=(c[E>>2]|0)+(c[(c[L>>2]|0)+4612>>2]<<2);if((c[(c[L>>2]|0)+4704>>2]|0)>0)fh(k,F,+g[D>>2],c[(c[L>>2]|0)+4628>>2]|0,c[(c[L>>2]|0)+4660>>2]|0);else mh(k,F,c[(c[L>>2]|0)+4628>>2]|0,(c[(c[L>>2]|0)+4660>>2]|0)+1|0);g[k>>2]=+g[k>>2]+ +g[k>>2]*4.999999873689376e-05;g[u>>2]=+sh((c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,k,c[(c[L>>2]|0)+4660>>2]|0);Q=+B(+(+g[u>>2]));g[(c[M>>2]|0)+(c[K>>2]<<2)>>2]=Q;if((c[(c[L>>2]|0)+4704>>2]|0)>0){Q=+Tg((c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,+g[D>>2],c[(c[L>>2]|0)+4660>>2]|0);R=(c[M>>2]|0)+(c[K>>2]<<2)|0;g[R>>2]=+g[R>>2]*Q}oh((c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0,+g[i>>2]);_i((c[M>>2]|0)+244+(c[K>>2]<<4<<2)|0,(c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]<<2|0)|0;oh((c[M>>2]|0)+244+(c[K>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0,+g[h>>2]);g[x>>2]=+th((c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0);g[u>>2]=+th((c[M>>2]|0)+244+(c[K>>2]<<4<<2)|0,c[(c[L>>2]|0)+4660>>2]|0);g[(c[M>>2]|0)+788+(c[K>>2]<<2)>>2]=1.0-(1.0-+g[x>>2]/+g[u>>2])*.699999988079071;Ug((c[M>>2]|0)+500+(c[K>>2]<<4<<2)|0,(c[M>>2]|0)+244+(c[K>>2]<<4<<2)|0,+g[D>>2],3.999000072479248,c[(c[L>>2]|0)+4660>>2]|0);c[K>>2]=(c[K>>2]|0)+1}g[q>>2]=+C(2.0,+(+g[j>>2]*-.1599999964237213));g[p>>2]=+C(2.0,.3199999928474426);c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[M>>2]|0)+(c[K>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[q>>2];R=(c[M>>2]|0)+(c[K>>2]<<2)|0;g[R>>2]=+g[R>>2]+ +g[p>>2];c[K>>2]=(c[K>>2]|0)+1}g[q>>2]=+g[(c[M>>2]|0)+860>>2]*.10000000149011612+1.0499999523162842;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[M>>2]|0)+788+(c[K>>2]<<2)|0;g[R>>2]=+g[R>>2]*+g[q>>2];c[K>>2]=(c[K>>2]|0)+1}g[O>>2]=((+(c[(c[L>>2]|0)+4728>>2]|0)*.000030517578125-1.0)*.5+1.0)*4.0;g[O>>2]=+g[O>>2]*(+(c[(c[L>>2]|0)+4556>>2]|0)*.00390625);if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){c[K>>2]=0;while(1){e=c[L>>2]|0;if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;g[J>>2]=.20000000298023224/+(c[e+4600>>2]|0)+3.0/+(c[(c[M>>2]|0)+228+(c[K>>2]<<2)>>2]|0);g[(c[M>>2]|0)+756+(c[K>>2]<<2)>>2]=+g[J>>2]+-1.0;g[(c[M>>2]|0)+772+(c[K>>2]<<2)>>2]=1.0-+g[J>>2]-+g[J>>2]*+g[O>>2];c[K>>2]=(c[K>>2]|0)+1}g[I>>2]=-.25-+(c[e+4556>>2]|0)*.26249998807907104*.00390625}else{g[J>>2]=1.2999999523162842/+(c[(c[L>>2]|0)+4600>>2]|0);g[(c[M>>2]|0)+756>>2]=+g[J>>2]+-1.0;g[(c[M>>2]|0)+772>>2]=1.0-+g[J>>2]-+g[J>>2]*+g[O>>2]*.6000000238418579;c[K>>2]=1;while(1){if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;g[(c[M>>2]|0)+756+(c[K>>2]<<2)>>2]=+g[(c[M>>2]|0)+756>>2];g[(c[M>>2]|0)+772+(c[K>>2]<<2)>>2]=+g[(c[M>>2]|0)+772>>2];c[K>>2]=(c[K>>2]|0)+1}g[I>>2]=-.25}g[G>>2]=(1.0-+g[(c[M>>2]|0)+860>>2])*.10000000149011612*+g[(c[L>>2]|0)+12236>>2];g[G>>2]=+g[G>>2]+(1.0-+g[(c[M>>2]|0)+856>>2])*.10000000149011612;if((a[(c[L>>2]|0)+4768+29>>0]|0)==2){g[H>>2]=.30000001192092896;g[H>>2]=+g[H>>2]+(1.0-(1.0-+g[(c[M>>2]|0)+860>>2])*+g[(c[M>>2]|0)+856>>2])*.20000000298023224;Q=+B(+(+g[(c[L>>2]|0)+12236>>2]));g[H>>2]=+g[H>>2]*Q}else g[H>>2]=0.0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[L>>2]|0)+4604>>2]|0))break;R=(c[N>>2]|0)+4|0;g[R>>2]=+g[R>>2]+(+g[G>>2]-+g[(c[N>>2]|0)+4>>2])*.4000000059604645;g[(c[M>>2]|0)+804+(c[K>>2]<<2)>>2]=+g[(c[N>>2]|0)+4>>2];R=(c[N>>2]|0)+8|0;g[R>>2]=+g[R>>2]+(+g[H>>2]-+g[(c[N>>2]|0)+8>>2])*.4000000059604645;g[(c[M>>2]|0)+836+(c[K>>2]<<2)>>2]=+g[(c[N>>2]|0)+8>>2];R=(c[N>>2]|0)+12|0;g[R>>2]=+g[R>>2]+(+g[I>>2]-+g[(c[N>>2]|0)+12>>2])*.4000000059604645;g[(c[M>>2]|0)+820+(c[K>>2]<<2)>>2]=+g[(c[N>>2]|0)+12>>2];c[K>>2]=(c[K>>2]|0)+1}l=P;return}function Rg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+K(+-+g[c>>2])+1.0);l=b;return +a}function Sg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function Tg(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;i=j+12|0;k=j+8|0;h=j+4|0;f=j;c[e>>2]=a;g[i>>2]=b;c[k>>2]=d;g[i>>2]=-+g[i>>2];g[f>>2]=+g[(c[e>>2]|0)+((c[k>>2]|0)-1<<2)>>2];c[h>>2]=(c[k>>2]|0)-2;while(1){b=+g[i>>2]*+g[f>>2];if((c[h>>2]|0)<0)break;g[f>>2]=b+ +g[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+-1}l=j;return +(1.0/(1.0-b))}function Ug(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;j=v+48|0;i=v+44|0;q=v+40|0;r=v+36|0;t=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;u=v+16|0;s=v+12|0;h=v+8|0;m=v+4|0;k=v;c[j>>2]=a;c[i>>2]=b;g[q>>2]=d;g[r>>2]=e;c[t>>2]=f;c[o>>2]=0;c[n>>2]=(c[t>>2]|0)-1;while(1){d=+g[q>>2];if((c[n>>2]|0)<=0)break;f=(c[j>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];f=(c[i>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[q>>2]*+g[(c[i>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+-1}g[m>>2]=(1.0-d*+g[q>>2])/(+g[q>>2]*+g[c[j>>2]>>2]+1.0);g[k>>2]=(1.0-+g[q>>2]*+g[q>>2])/(+g[q>>2]*+g[c[i>>2]>>2]+1.0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[t>>2]|0))break;f=(c[j>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[m>>2];f=(c[i>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[k>>2];c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=10){b=31;break}g[s>>2]=-1.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[t>>2]|0))break;e=+A(+(+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2]));if(e>+A(+(+g[(c[i>>2]|0)+(c[n>>2]<<2)>>2])))b=(c[j>>2]|0)+(c[n>>2]<<2)|0;else b=(c[i>>2]|0)+(c[n>>2]<<2)|0;g[u>>2]=+A(+(+g[b>>2]));if(+g[u>>2]>+g[s>>2]){g[s>>2]=+g[u>>2];c[o>>2]=c[n>>2]}c[n>>2]=(c[n>>2]|0)+1}if(+g[s>>2]<=+g[r>>2]){b=31;break}c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[t>>2]|0))break;f=(c[j>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[q>>2]*+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];f=(c[i>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]+ +g[q>>2]*+g[(c[i>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}g[m>>2]=1.0/+g[m>>2];g[k>>2]=1.0/+g[k>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[t>>2]|0))break;f=(c[j>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[m>>2];f=(c[i>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[k>>2];c[n>>2]=(c[n>>2]|0)+1}g[h>>2]=.9900000095367432-(+(c[p>>2]|0)*.10000000149011612+.800000011920929)*(+g[s>>2]-+g[r>>2])/(+g[s>>2]*+((c[o>>2]|0)+1|0));oh(c[j>>2]|0,c[t>>2]|0,+g[h>>2]);oh(c[i>>2]|0,c[t>>2]|0,+g[h>>2]);c[n>>2]=(c[t>>2]|0)-1;while(1){d=+g[q>>2];if((c[n>>2]|0)<=0)break;f=(c[j>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-d*+g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];f=(c[i>>2]|0)+((c[n>>2]|0)-1<<2)|0;g[f>>2]=+g[f>>2]-+g[q>>2]*+g[(c[i>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+-1}g[m>>2]=(1.0-d*+g[q>>2])/(+g[q>>2]*+g[c[j>>2]>>2]+1.0);g[k>>2]=(1.0-+g[q>>2]*+g[q>>2])/(+g[q>>2]*+g[c[i>>2]>>2]+1.0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[t>>2]|0))break;f=(c[j>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[m>>2];f=(c[i>>2]|0)+(c[n>>2]<<2)|0;g[f>>2]=+g[f>>2]*+g[k>>2];c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}if((b|0)==31){l=v;return}}function Vg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=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;y=l;l=l+464|0;t=y+460|0;u=y+456|0;z=y+452|0;A=y+448|0;o=y+444|0;q=y+440|0;r=y+436|0;s=y+432|0;k=y+428|0;p=y+424|0;n=y+420|0;m=y+416|0;i=y+408|0;h=y+404|0;v=y+400|0;w=y+396|0;j=y+384|0;x=y;c[t>>2]=b;c[u>>2]=d;c[z>>2]=e;c[A>>2]=f;c[o>>2]=(c[t>>2]|0)+7216;c[v>>2]=c[A>>2];c[w>>2]=c[z>>2];c[s>>2]=c[(c[o>>2]|0)+2136>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[t>>2]|0)+4604>>2]|0))break;if((a[(c[t>>2]|0)+4768+29>>0]|0)==2)c[s>>2]=c[(c[u>>2]|0)+228+(c[r>>2]<<2)>>2];g[k>>2]=+g[(c[u>>2]|0)+836+(c[r>>2]<<2)>>2]*(1.0-+g[(c[u>>2]|0)+804+(c[r>>2]<<2)>>2]);g[j>>2]=+g[k>>2]*.25;g[j+4>>2]=+g[k>>2]*.4999847412109375;g[j+8>>2]=+g[k>>2]*.25;g[p>>2]=+g[(c[u>>2]|0)+820+(c[r>>2]<<2)>>2];g[n>>2]=+g[(c[u>>2]|0)+756+(c[r>>2]<<2)>>2];g[m>>2]=+g[(c[u>>2]|0)+772+(c[r>>2]<<2)>>2];c[h>>2]=(c[u>>2]|0)+244+(c[r>>2]<<4<<2);Wg((c[o>>2]|0)+2048|0,x,c[h>>2]|0,c[v>>2]|0,+(c[(c[t>>2]|0)+4704>>2]|0)/65536.0,c[(c[t>>2]|0)+4612>>2]|0,c[(c[t>>2]|0)+4660>>2]|0);g[i>>2]=+g[(c[u>>2]|0)+788+(c[r>>2]<<2)>>2];g[i+4>>2]=-+g[(c[u>>2]|0)+788+(c[r>>2]<<2)>>2]*(+g[(c[u>>2]|0)+804+(c[r>>2]<<2)>>2]*+g[k>>2]+.05000000074505806+ +g[(c[u>>2]|0)+860>>2]*.10000000149011612);g[c[w>>2]>>2]=+g[i>>2]*+g[x>>2]+ +g[i+4>>2]*+g[(c[o>>2]|0)+2128>>2];c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[(c[t>>2]|0)+4612>>2]|0))break;g[(c[w>>2]|0)+(c[q>>2]<<2)>>2]=+g[i>>2]*+g[x+(c[q>>2]<<2)>>2]+ +g[i+4>>2]*+g[x+((c[q>>2]|0)-1<<2)>>2];c[q>>2]=(c[q>>2]|0)+1}g[(c[o>>2]|0)+2128>>2]=+g[x+((c[(c[t>>2]|0)+4612>>2]|0)-1<<2)>>2];Xg(c[o>>2]|0,c[w>>2]|0,c[w>>2]|0,j,+g[p>>2],+g[n>>2],+g[m>>2],c[s>>2]|0,c[(c[t>>2]|0)+4612>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<2);c[w>>2]=(c[w>>2]|0)+(c[(c[t>>2]|0)+4612>>2]<<2);c[r>>2]=(c[r>>2]|0)+1}c[(c[o>>2]|0)+2136>>2]=c[(c[u>>2]|0)+228+((c[(c[t>>2]|0)+4604>>2]|0)-1<<2)>>2];l=y;return}function Wg(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+44|0;s=w+40|0;k=w+36|0;n=w+32|0;o=w+28|0;p=w+24|0;r=w+20|0;q=w+16|0;m=w+12|0;j=w+8|0;u=w+4|0;v=w;c[t>>2]=a;c[s>>2]=b;c[k>>2]=d;c[n>>2]=e;g[o>>2]=f;c[p>>2]=h;c[r>>2]=i;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[p>>2]|0))break;g[v>>2]=+g[c[t>>2]>>2]+ +g[o>>2]*+g[(c[t>>2]|0)+4>>2];g[c[t>>2]>>2]=+g[(c[n>>2]|0)+(c[q>>2]<<2)>>2];g[u>>2]=+g[(c[t>>2]|0)+4>>2]+ +g[o>>2]*(+g[(c[t>>2]|0)+8>>2]-+g[v>>2]);g[(c[t>>2]|0)+4>>2]=+g[v>>2];g[j>>2]=+g[c[k>>2]>>2]*+g[v>>2];c[m>>2]=2;while(1){if((c[m>>2]|0)>=(c[r>>2]|0))break;g[v>>2]=+g[(c[t>>2]|0)+(c[m>>2]<<2)>>2]+ +g[o>>2]*(+g[(c[t>>2]|0)+((c[m>>2]|0)+1<<2)>>2]-+g[u>>2]);g[(c[t>>2]|0)+(c[m>>2]<<2)>>2]=+g[u>>2];g[j>>2]=+g[j>>2]+ +g[(c[k>>2]|0)+((c[m>>2]|0)-1<<2)>>2]*+g[u>>2];g[u>>2]=+g[(c[t>>2]|0)+((c[m>>2]|0)+1<<2)>>2]+ +g[o>>2]*(+g[(c[t>>2]|0)+((c[m>>2]|0)+2<<2)>>2]-+g[v>>2]);g[(c[t>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[v>>2];g[j>>2]=+g[j>>2]+ +g[(c[k>>2]|0)+(c[m>>2]<<2)>>2]*+g[v>>2];c[m>>2]=(c[m>>2]|0)+2}g[(c[t>>2]|0)+(c[r>>2]<<2)>>2]=+g[u>>2];g[j>>2]=+g[j>>2]+ +g[(c[k>>2]|0)+((c[r>>2]|0)-1<<2)>>2]*+g[u>>2];g[(c[s>>2]|0)+(c[q>>2]<<2)>>2]=+g[(c[n>>2]|0)+(c[q>>2]<<2)>>2]-+g[j>>2];c[q>>2]=(c[q>>2]|0)+1}l=w;return}function Xg(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;k=k|0;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;E=l;l=l+80|0;r=E+68|0;C=E+64|0;D=E+60|0;m=E+56|0;s=E+52|0;o=E+48|0;n=E+44|0;v=E+40|0;w=E+36|0;t=E+32|0;u=E+28|0;q=E+24|0;z=E+20|0;x=E+16|0;y=E+12|0;A=E+8|0;B=E+4|0;p=E;c[r>>2]=a;c[C>>2]=b;c[D>>2]=d;c[m>>2]=e;g[s>>2]=f;g[o>>2]=h;g[n>>2]=i;c[v>>2]=j;c[w>>2]=k;c[p>>2]=c[r>>2];c[q>>2]=c[(c[r>>2]|0)+2116>>2];g[A>>2]=+g[(c[r>>2]|0)+2120>>2];g[B>>2]=+g[(c[r>>2]|0)+2124>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;if((c[v>>2]|0)>0){c[u>>2]=(c[v>>2]|0)+(c[q>>2]|0);g[y>>2]=+g[(c[p>>2]|0)+(((c[u>>2]|0)-1-1&511)<<2)>>2]*+g[c[m>>2]>>2];g[y>>2]=+g[y>>2]+ +g[(c[p>>2]|0)+(((c[u>>2]|0)-1&511)<<2)>>2]*+g[(c[m>>2]|0)+4>>2];g[y>>2]=+g[y>>2]+ +g[(c[p>>2]|0)+(((c[u>>2]|0)-1+1&511)<<2)>>2]*+g[(c[m>>2]|0)+8>>2]}else g[y>>2]=0.0;g[z>>2]=+g[A>>2]*+g[s>>2];g[x>>2]=+g[A>>2]*+g[n>>2]+ +g[B>>2]*+g[o>>2];g[A>>2]=+g[(c[C>>2]|0)+(c[t>>2]<<2)>>2]-+g[z>>2];g[B>>2]=+g[A>>2]-+g[x>>2];c[q>>2]=(c[q>>2]|0)-1&511;g[(c[p>>2]|0)+(c[q>>2]<<2)>>2]=+g[B>>2];g[(c[D>>2]|0)+(c[t>>2]<<2)>>2]=+g[B>>2]-+g[y>>2];c[t>>2]=(c[t>>2]|0)+1}g[(c[r>>2]|0)+2120>>2]=+g[A>>2];g[(c[r>>2]|0)+2124>>2]=+g[B>>2];c[(c[r>>2]|0)+2116>>2]=c[q>>2];l=E;return}function Yg(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+64|0;o=s+48|0;p=s+44|0;k=s+40|0;q=s+36|0;m=s+32|0;n=s+16|0;j=s+12|0;h=s+8|0;i=s+4|0;r=s;c[o>>2]=d;c[p>>2]=e;c[k>>2]=f;c[q>>2]=(c[o>>2]|0)+7200;a:do if((a[(c[o>>2]|0)+4768+29>>0]|0)==2){g[j>>2]=1.0-+Zg((+g[(c[p>>2]|0)+872>>2]-12.0)*.25)*.5;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4604>>2]|0))break a;e=(c[p>>2]|0)+(c[m>>2]<<2)|0;g[e>>2]=+g[e>>2]*+g[j>>2];c[m>>2]=(c[m>>2]|0)+1}}while(0);t=+C(2.0,+((21.0-+(c[(c[o>>2]|0)+4748>>2]|0)*.0078125)*.33000001311302185));g[h>>2]=t/+(c[(c[o>>2]|0)+4612>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4604>>2]|0))break;g[i>>2]=+g[(c[p>>2]|0)+(c[m>>2]<<2)>>2];g[i>>2]=+B(+(+g[i>>2]*+g[i>>2]+ +g[(c[p>>2]|0)+876+(c[m>>2]<<2)>>2]*+g[h>>2]));g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=+g[i>>2]<32767.0?+g[i>>2]:32767.0;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){h=c[p>>2]|0;if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4604>>2]|0))break;c[n+(c[m>>2]<<2)>>2]=~~(+g[h+(c[m>>2]<<2)>>2]*65536.0);c[m>>2]=(c[m>>2]|0)+1}_i(h+892|0,n|0,c[(c[o>>2]|0)+4604>>2]<<2|0)|0;a[(c[p>>2]|0)+908>>0]=a[c[q>>2]>>0]|0;Jd((c[o>>2]|0)+4768|0,n,c[q>>2]|0,(c[k>>2]|0)==2&1,c[(c[o>>2]|0)+4604>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4604>>2]|0))break;g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=+(c[n+(c[m>>2]<<2)>>2]|0)/65536.0;c[m>>2]=(c[m>>2]|0)+1}if((a[(c[o>>2]|0)+4768+29>>0]|0)==2)a[(c[o>>2]|0)+4768+30>>0]=+g[(c[p>>2]|0)+872>>2]+ +(c[(c[o>>2]|0)+4744>>2]|0)*.000030517578125>1.0?0:1;g[r>>2]=+(b[24558+(a[(c[o>>2]|0)+4768+29>>0]>>1<<2)+(a[(c[o>>2]|0)+4768+30>>0]<<1)>>1]|0)/1024.0;g[(c[p>>2]|0)+852>>2]=+(c[(c[o>>2]|0)+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[(c[o>>2]|0)+4556>>2]|0)*-.20000000298023224*.00390625+ +g[(c[p>>2]|0)+856>>2]*-.10000000149011612+ +g[(c[p>>2]|0)+860>>2]*-.20000000298023224+ +g[r>>2]*.800000011920929;l=s;return}function Zg(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;g[c>>2]=a;a=1.0/(+K(+-+g[c>>2])+1.0);l=b;return +a}function _g(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;k=m+12|0;j=m+8|0;f=m+4|0;i=m;c[h>>2]=a;c[k>>2]=b;g[j>>2]=d;c[f>>2]=e;c[i>>2]=0;while(1){d=+g[j>>2];if((c[i>>2]|0)>=(c[f>>2]|0))break;b=N(c[i>>2]|0,c[f>>2]|0)|0;b=(c[h>>2]|0)+(b+(c[i>>2]|0)<<2)|0;g[b>>2]=+g[b>>2]+d;c[i>>2]=(c[i>>2]|0)+1}k=c[k>>2]|0;g[k>>2]=+g[k>>2]+d;l=m;return}function $g(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;i=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;h=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;p=t+8|0;n=t+4|0;o=t;c[i>>2]=a;c[q>>2]=b;c[r>>2]=d;g[s>>2]=e;c[h>>2]=f;g[n>>2]=0.0;g[o>>2]=(+g[c[q>>2]>>2]+ +g[(c[q>>2]|0)+((N(c[h>>2]|0,c[h>>2]|0)|0)-1<<2)>>2])*9.99999993922529e-09;c[m>>2]=0;while(1){if((c[m>>2]|0)>=10)break;g[n>>2]=+g[s>>2];g[p>>2]=0.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=+g[p>>2]+ +g[(c[r>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}g[n>>2]=+g[n>>2]-+g[p>>2]*2.0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=0.0;c[k>>2]=(c[j>>2]|0)+1;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;e=+g[(c[q>>2]|0)+((c[j>>2]|0)+(N(c[h>>2]|0,c[k>>2]|0)|0)<<2)>>2];g[p>>2]=+g[p>>2]+e*+g[(c[i>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}e=+g[(c[q>>2]|0)+((c[j>>2]|0)+(N(c[h>>2]|0,c[j>>2]|0)|0)<<2)>>2];g[n>>2]=+g[n>>2]+ +g[(c[i>>2]|0)+(c[j>>2]<<2)>>2]*(+g[p>>2]*2.0+e*+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2]);c[j>>2]=(c[j>>2]|0)+1}if(+g[n>>2]>0.0)break;c[j>>2]=0;while(1){e=+g[o>>2];if((c[j>>2]|0)>=(c[h>>2]|0))break;d=(c[q>>2]|0)+((c[j>>2]|0)+(N(c[h>>2]|0,c[j>>2]|0)|0)<<2)|0;g[d>>2]=+g[d>>2]+e;c[j>>2]=(c[j>>2]|0)+1}g[o>>2]=e*2.0;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)!=10){e=+g[n>>2];l=t;return +e}g[n>>2]=1.0;e=+g[n>>2];l=t;return +e}function ah(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=l;l=l+816|0;p=t+800|0;s=t+796|0;n=t+792|0;o=t+788|0;r=t+784|0;u=t+780|0;j=t+776|0;q=t+772|0;m=t+768|0;k=t;c[p>>2]=a;c[s>>2]=b;c[n>>2]=d;c[o>>2]=e;c[r>>2]=f;c[u>>2]=h;c[j>>2]=i;c[m>>2]=k+(c[j>>2]<<2);c[q>>2]=(c[j>>2]|0)+(c[r>>2]|0);Ig(k,c[n>>2]|0,(c[s>>2]|0)+(0<<2)|0,c[q>>2]<<1,c[j>>2]|0);v=+g[c[o>>2]>>2]*+g[c[o>>2]>>2];v=v*+ph((c[m>>2]|0)+(0<<2)|0,c[r>>2]|0);g[c[p>>2]>>2]=v;v=+g[(c[o>>2]|0)+4>>2]*+g[(c[o>>2]|0)+4>>2];v=v*+ph((c[m>>2]|0)+(c[q>>2]<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+4>>2]=v;if((c[u>>2]|0)!=4){l=t;return}Ig(k,(c[n>>2]|0)+64|0,(c[s>>2]|0)+(c[q>>2]<<1<<2)|0,c[q>>2]<<1,c[j>>2]|0);v=+g[(c[o>>2]|0)+8>>2]*+g[(c[o>>2]|0)+8>>2];v=v*+ph((c[m>>2]|0)+(0<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+8>>2]=v;v=+g[(c[o>>2]|0)+12>>2]*+g[(c[o>>2]|0)+12>>2];v=v*+ph((c[m>>2]|0)+(c[q>>2]<<2)|0,c[r>>2]|0);g[(c[p>>2]|0)+12>>2]=v;l=t;return}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+1184|0;p=n+1168|0;i=n+1164|0;o=n+1160|0;m=n+1156|0;k=n+1152|0;h=n+128|0;j=n+64|0;f=n;c[p>>2]=a;c[i>>2]=b;c[o>>2]=d;c[m>>2]=e;ch(c[p>>2]|0,c[i>>2]|0,h,f);dh(h,c[i>>2]|0,c[o>>2]|0,j);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;g[j+(c[k>>2]<<2)>>2]=+g[j+(c[k>>2]<<2)>>2]*+g[f+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}eh(h,c[i>>2]|0,j,c[m>>2]|0);l=n;return}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=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;y=l;l=l+192|0;f=y+184|0;m=y+180|0;k=y+176|0;j=y+172|0;p=y+168|0;q=y+164|0;r=y+160|0;s=y+156|0;o=y+152|0;t=y+148|0;u=y+144|0;v=y+8|0;n=y;w=y+80|0;i=y+16|0;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[o>>2]=1;h[n>>3]=(+g[c[f>>2]>>2]+ +g[(c[f>>2]|0)+((N(c[m>>2]|0,c[m>>2]|0)|0)-1<<2)>>2])*4.999999873689376e-06;c[s>>2]=0;while(1){if(!((c[s>>2]|0)<(c[m>>2]|0)?(c[o>>2]|0)==1:0))break;c[o>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[m>>2]|0))break;c[t>>2]=(c[k>>2]|0)+((N(c[q>>2]|0,c[m>>2]|0)|0)+0<<2);b=N(c[q>>2]|0,c[m>>2]|0)|0;h[v>>3]=+g[(c[f>>2]|0)+(b+(c[q>>2]|0)<<2)>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;g[w+(c[p>>2]<<2)>>2]=+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]*+g[i+(c[p>>2]<<2)>>2];h[v>>3]=+h[v>>3]-+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]*+g[w+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}if(+h[v>>3]<+h[n>>3]){x=9;break}g[i+(c[q>>2]<<2)>>2]=+h[v>>3];g[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=1.0/+h[v>>3];b=N(c[q>>2]|0,c[m>>2]|0)|0;g[(c[k>>2]|0)+(b+(c[q>>2]|0)<<2)>>2]=1.0;c[t>>2]=(c[f>>2]|0)+((N(c[q>>2]|0,c[m>>2]|0)|0)+0<<2);c[u>>2]=(c[k>>2]|0)+((N((c[q>>2]|0)+1|0,c[m>>2]|0)|0)+0<<2);c[p>>2]=(c[q>>2]|0)+1;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;h[v>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;h[v>>3]=+h[v>>3]+ +g[(c[u>>2]|0)+(c[r>>2]<<2)>>2]*+g[w+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+1}b=N(c[p>>2]|0,c[m>>2]|0)|0;g[(c[k>>2]|0)+(b+(c[q>>2]|0)<<2)>>2]=(+g[(c[t>>2]|0)+(c[p>>2]<<2)>>2]-+h[v>>3])*+g[(c[j>>2]|0)+(c[q>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+(c[m>>2]<<2);c[p>>2]=(c[p>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((x|0)==9){x=0;h[v>>3]=+((c[s>>2]|0)+1|0)*+h[n>>3]-+h[v>>3];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;b=N(c[p>>2]|0,c[m>>2]|0)|0;b=(c[f>>2]|0)+(b+(c[p>>2]|0)<<2)|0;g[b>>2]=+g[b>>2]+ +h[v>>3];c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=1}c[s>>2]=(c[s>>2]|0)+1}l=y;return}function dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;f=p+28|0;h=p+24|0;i=p+20|0;o=p+16|0;j=p+12|0;k=p+8|0;n=p+4|0;m=p;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;c[o>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[m>>2]=(c[f>>2]|0)+((N(c[j>>2]|0,c[h>>2]|0)|0)+0<<2);g[n>>2]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[n>>2]=+g[n>>2]+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[o>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2]-+g[n>>2];g[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=+g[n>>2];c[j>>2]=(c[j>>2]|0)+1}l=p;return}function eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;f=p+28|0;h=p+24|0;i=p+20|0;o=p+16|0;j=p+12|0;k=p+8|0;n=p+4|0;m=p;c[f>>2]=a;c[h>>2]=b;c[i>>2]=d;c[o>>2]=e;c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[m>>2]=(c[f>>2]|0)+(0+(c[j>>2]|0)<<2);g[n>>2]=0.0;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<=(c[j>>2]|0))break;q=+g[(c[m>>2]|0)+((N(c[k>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[n>>2]=+g[n>>2]+q*+g[(c[o>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2]-+g[n>>2];g[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=+g[n>>2];c[j>>2]=(c[j>>2]|0)+-1}l=p;return}function fh(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+320|0;j=u+312|0;m=u+308|0;t=u+304|0;n=u+300|0;p=u+296|0;o=u+292|0;k=u+288|0;r=u+280|0;s=u+272|0;q=u+136|0;i=u;c[j>>2]=a;c[m>>2]=b;g[t>>2]=d;c[n>>2]=e;c[p>>2]=f;aj(q|0,0,136)|0;aj(i|0,0,136)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;h[r>>3]=+g[(c[m>>2]|0)+(c[o>>2]<<2)>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break;h[s>>3]=+h[q+(c[k>>2]<<3)>>3]+ +g[t>>2]*(+h[q+((c[k>>2]|0)+1<<3)>>3]-+h[r>>3]);h[q+(c[k>>2]<<3)>>3]=+h[r>>3];f=i+(c[k>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[r>>3];h[r>>3]=+h[q+((c[k>>2]|0)+1<<3)>>3]+ +g[t>>2]*(+h[q+((c[k>>2]|0)+2<<3)>>3]-+h[s>>3]);h[q+((c[k>>2]|0)+1<<3)>>3]=+h[s>>3];f=i+((c[k>>2]|0)+1<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[s>>3];c[k>>2]=(c[k>>2]|0)+2}h[q+(c[p>>2]<<3)>>3]=+h[r>>3];f=i+(c[p>>2]<<3)|0;h[f>>3]=+h[f>>3]+ +h[q>>3]*+h[r>>3];c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[p>>2]|0)+1|0))break;g[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=+h[i+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}l=u;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;f=k+76|0;j=k+72|0;e=k+68|0;i=k+64|0;h=k;c[f>>2]=a;c[j>>2]=b;c[e>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;b=hh(+g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]*65536.0)|0;c[h+(c[i>>2]<<2)>>2]=b;c[i>>2]=(c[i>>2]|0)+1}qf(c[f>>2]|0,h,c[e>>2]|0);l=k;return}function hh(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;b=Ui(+g[b>>2])|0;l=c;return b|0}function ih(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+12|0;m=k+8|0;f=k+4|0;i=k;h=k+16|0;c[j>>2]=a;c[m>>2]=d;c[f>>2]=e;Lf(h,c[m>>2]|0,c[f>>2]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;g[(c[j>>2]|0)+(c[i>>2]<<2)>>2]=+(b[h+(c[i>>2]<<1)>>1]|0)*.000244140625;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function jh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;m=n+20|0;h=n+16|0;p=n+12|0;o=n+8|0;j=n+4|0;k=n;i=n+24|0;c[m>>2]=a;c[h>>2]=d;c[p>>2]=e;c[o>>2]=f;Ze(c[m>>2]|0,i,c[p>>2]|0,c[o>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=2)break;c[j>>2]=0;while(1){e=c[k>>2]|0;if((c[j>>2]|0)>=(c[(c[m>>2]|0)+4664>>2]|0))break;g[(c[h>>2]|0)+(c[k>>2]<<6)+(c[j>>2]<<2)>>2]=+(b[i+(e<<5)+(c[j>>2]<<1)>>1]|0)*.000244140625;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=e+1}l=n;return}function kh(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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;D=l;l=l+1632|0;w=D+1388|0;x=D+1384|0;y=D+1380|0;z=D+1376|0;A=D+1372|0;B=D+1368|0;u=D+1364|0;v=D+1360|0;C=D+80|0;m=D+64|0;s=D+1560|0;p=D+1520|0;q=D+56|0;k=D+1392|0;o=D+40|0;r=D+32|0;t=D+16|0;n=D;c[w>>2]=d;c[x>>2]=e;c[y>>2]=f;c[z>>2]=h;c[A>>2]=i;c[B>>2]=j;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4604>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[w>>2]|0)+4660>>2]|0))break;j=(hh(+g[(c[x>>2]|0)+500+((c[u>>2]<<4)+(c[v>>2]|0)<<2)>>2]*8192.0)|0)&65535;b[k+((c[u>>2]<<4)+(c[v>>2]|0)<<1)>>1]=j;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){d=c[x>>2]|0;if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4604>>2]|0))break;j=(hh(+g[d+772+(c[u>>2]<<2)>>2]*16384.0)|0)<<16;j=j|(hh(+g[(c[x>>2]|0)+756+(c[u>>2]<<2)>>2]*16384.0)|0)&65535;c[o+(c[u>>2]<<2)>>2]=j;j=hh(+g[(c[x>>2]|0)+820+(c[u>>2]<<2)>>2]*16384.0)|0;c[t+(c[u>>2]<<2)>>2]=j;j=hh(+g[(c[x>>2]|0)+836+(c[u>>2]<<2)>>2]*16384.0)|0;c[n+(c[u>>2]<<2)>>2]=j;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=hh(+g[d+852>>2]*1024.0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[(c[w>>2]|0)+4604>>2]|0)*5|0))break;j=(hh(+g[(c[x>>2]|0)+144+(c[u>>2]<<2)>>2]*16384.0)|0)&65535;b[p+(c[u>>2]<<1)>>1]=j;c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=0;while(1){j=(c[v>>2]|0)<2;c[u>>2]=0;if(!j)break;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4664>>2]|0))break;j=(hh(+g[(c[x>>2]|0)+16+(c[v>>2]<<6)+(c[u>>2]<<2)>>2]*4096.0)|0)&65535;b[s+(c[v>>2]<<5)+(c[u>>2]<<1)>>1]=j;c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4604>>2]|0))break;v=hh(+g[(c[x>>2]|0)+(c[u>>2]<<2)>>2]*65536.0)|0;c[m+(c[u>>2]<<2)>>2]=v;c[u>>2]=(c[u>>2]|0)+1}if((a[(c[y>>2]|0)+29>>0]|0)==2)c[q>>2]=b[24566+(a[(c[y>>2]|0)+33>>0]<<1)>>1];else c[q>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[w>>2]|0)+4608>>2]|0))break;v=hh(+g[(c[B>>2]|0)+(c[u>>2]<<2)>>2]*8.0)|0;c[C+(c[u>>2]<<2)>>2]=v;c[u>>2]=(c[u>>2]|0)+1}if((c[(c[w>>2]|0)+4652>>2]|0)<=1?(c[(c[w>>2]|0)+4704>>2]|0)<=0:0){Xd(c[w>>2]|0,c[z>>2]|0,c[y>>2]|0,C,c[A>>2]|0,s,p,k,n,t,o,m,(c[x>>2]|0)+228|0,c[r>>2]|0,c[q>>2]|0);l=D;return}be(c[w>>2]|0,c[z>>2]|0,c[y>>2]|0,C,c[A>>2]|0,s,p,k,n,t,o,m,(c[x>>2]|0)+228|0,c[r>>2]|0,c[q>>2]|0);l=D;return}function lh(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|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;z=l;l=l+480|0;n=z+436|0;s=z+432|0;x=z+428|0;y=z+424|0;p=z+420|0;v=z+416|0;u=z+412|0;w=z+408|0;r=z+404|0;t=z+400|0;o=z+440|0;q=z;c[n>>2]=a;c[s>>2]=d;c[x>>2]=e;c[y>>2]=f;c[p>>2]=h;c[v>>2]=i;c[u>>2]=j;c[w>>2]=k;c[r>>2]=m;c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[w>>2]|0)*5|0))break;f=(hh(+g[(c[n>>2]|0)+(c[t>>2]<<2)>>2]*16384.0)|0)&65535;b[o+(c[t>>2]<<1)>>1]=f;c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(((c[w>>2]|0)*5|0)*5|0))break;f=hh(+g[(c[p>>2]|0)+(c[t>>2]<<2)>>2]*262144.0)|0;c[q+(c[t>>2]<<2)>>2]=f;c[t>>2]=(c[t>>2]|0)+1}Oe(o,c[s>>2]|0,c[x>>2]|0,c[y>>2]|0,q,c[v>>2]|0,c[u>>2]|0,c[w>>2]|0,c[r>>2]|0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[w>>2]|0)*5|0))break;g[(c[n>>2]|0)+(c[t>>2]<<2)>>2]=+(b[o+(c[t>>2]<<1)>>1]|0)*.00006103515625;c[t>>2]=(c[t>>2]|0)+1}l=z;return}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;k=m+16|0;i=m+12|0;j=m+8|0;f=m+4|0;h=m;c[k>>2]=a;c[i>>2]=b;c[j>>2]=d;c[f>>2]=e;if((c[f>>2]|0)>(c[j>>2]|0))c[f>>2]=c[j>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;n=+qh(c[i>>2]|0,(c[i>>2]|0)+(c[h>>2]<<2)|0,(c[j>>2]|0)-(c[h>>2]|0)|0);g[(c[k>>2]|0)+(c[h>>2]<<2)>>2]=n;c[h>>2]=(c[h>>2]|0)+1}l=m;return}function nh(a,b,d,e,f,i){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;i=i|0;var j=0,k=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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+784|0;j=L+768|0;I=L+764|0;v=L+760|0;F=L+756|0;x=L+752|0;s=L+748|0;u=L+744|0;w=L+740|0;E=L+736|0;D=L+732|0;n=L+720|0;t=L+712|0;A=L+704|0;z=L+696|0;y=L+688|0;C=L+680|0;m=L+672|0;G=L+664|0;H=L+656|0;J=L+728|0;q=L+528|0;r=L+400|0;p=L+264|0;o=L+128|0;k=L;c[j>>2]=a;c[I>>2]=b;g[v>>2]=d;c[F>>2]=e;c[x>>2]=f;c[s>>2]=i;h[n>>3]=+ph(c[I>>2]|0,N(c[x>>2]|0,c[F>>2]|0)|0);a=q;f=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(f|0));c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[x>>2]|0))break;c[J>>2]=(c[I>>2]|0)+((N(c[E>>2]|0,c[F>>2]|0)|0)<<2);c[w>>2]=1;while(1){if((c[w>>2]|0)>=((c[s>>2]|0)+1|0))break;d=+qh(c[J>>2]|0,(c[J>>2]|0)+(c[w>>2]<<2)|0,(c[F>>2]|0)-(c[w>>2]|0)|0);b=q+((c[w>>2]|0)-1<<3)|0;h[b>>3]=+h[b>>3]+d;c[w>>2]=(c[w>>2]|0)+1}c[E>>2]=(c[E>>2]|0)+1}a=r;i=q;f=a+128|0;do{c[a>>2]=c[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(f|0));d=+h[n>>3]+ +h[n>>3]*9.999999747378752e-06+9.999999717180685e-10;h[p>>3]=d;h[o>>3]=d;h[t>>3]=1.0;c[D>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[s>>2]|0))break;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[x>>2]|0))break;c[J>>2]=(c[I>>2]|0)+((N(c[E>>2]|0,c[F>>2]|0)|0)<<2);h[G>>3]=+g[(c[J>>2]|0)+(c[w>>2]<<2)>>2];h[H>>3]=+g[(c[J>>2]|0)+((c[F>>2]|0)-(c[w>>2]|0)-1<<2)>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;b=q+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[J>>2]|0)+(c[w>>2]<<2)>>2]*+g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)-1<<2)>>2];b=r+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+g[(c[J>>2]|0)+((c[F>>2]|0)-(c[w>>2]|0)-1<<2)>>2]*+g[(c[J>>2]|0)+((c[F>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)<<2)>>2];h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[G>>3]=+h[G>>3]+ +g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)-1<<2)>>2]*+h[m>>3];h[H>>3]=+h[H>>3]+ +g[(c[J>>2]|0)+((c[F>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)<<2)>>2]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>(c[w>>2]|0))break;b=p+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[G>>3]*+g[(c[J>>2]|0)+((c[w>>2]|0)-(c[u>>2]|0)<<2)>>2];b=o+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]-+h[H>>3]*+g[(c[J>>2]|0)+((c[F>>2]|0)-(c[w>>2]|0)+(c[u>>2]|0)-1<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}c[E>>2]=(c[E>>2]|0)+1}h[G>>3]=+h[q+(c[w>>2]<<3)>>3];h[H>>3]=+h[r+(c[w>>2]<<3)>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[G>>3]=+h[G>>3]+ +h[r+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]*+h[m>>3];h[H>>3]=+h[H>>3]+ +h[q+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[p+((c[w>>2]|0)+1<<3)>>3]=+h[G>>3];h[o+((c[w>>2]|0)+1<<3)>>3]=+h[H>>3];h[A>>3]=+h[o+((c[w>>2]|0)+1<<3)>>3];h[y>>3]=+h[o>>3];h[z>>3]=+h[p>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[A>>3]=+h[A>>3]+ +h[o+((c[w>>2]|0)-(c[u>>2]|0)<<3)>>3]*+h[m>>3];h[y>>3]=+h[y>>3]+ +h[o+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];h[z>>3]=+h[z>>3]+ +h[p+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[C>>3]=+h[A>>3]*-2.0/(+h[z>>3]+ +h[y>>3]);h[G>>3]=+h[t>>3]*(1.0-+h[C>>3]*+h[C>>3]);if(+h[G>>3]<=+g[v>>2]){h[C>>3]=+B(+(1.0-+g[v>>2]/+h[t>>3]));if(+h[A>>3]>0.0)h[C>>3]=-+h[C>>3];h[t>>3]=+g[v>>2];c[D>>2]=1}else h[t>>3]=+h[G>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[w>>2]|0)+1>>1|0))break;h[G>>3]=+h[k+(c[u>>2]<<3)>>3];h[H>>3]=+h[k+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3];h[k+(c[u>>2]<<3)>>3]=+h[G>>3]+ +h[C>>3]*+h[H>>3];h[k+((c[w>>2]|0)-(c[u>>2]|0)-1<<3)>>3]=+h[H>>3]+ +h[C>>3]*+h[G>>3];c[u>>2]=(c[u>>2]|0)+1}h[k+(c[w>>2]<<3)>>3]=+h[C>>3];if(c[D>>2]|0){K=33;break}c[u>>2]=0;while(1){if((c[u>>2]|0)>((c[w>>2]|0)+1|0))break;h[G>>3]=+h[p+(c[u>>2]<<3)>>3];b=p+(c[u>>2]<<3)|0;h[b>>3]=+h[b>>3]+ +h[C>>3]*+h[o+((c[w>>2]|0)-(c[u>>2]|0)+1<<3)>>3];b=o+((c[w>>2]|0)-(c[u>>2]|0)+1<<3)|0;h[b>>3]=+h[b>>3]+ +h[C>>3]*+h[G>>3];c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=(c[w>>2]|0)+1}a:do if((K|0)==33){c[u>>2]=(c[w>>2]|0)+1;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break a;h[k+(c[u>>2]<<3)>>3]=0.0;c[u>>2]=(c[u>>2]|0)+1}}while(0);if(!(c[D>>2]|0)){h[z>>3]=+h[p>>3];h[G>>3]=1.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;h[m>>3]=+h[k+(c[u>>2]<<3)>>3];h[z>>3]=+h[z>>3]+ +h[p+((c[u>>2]|0)+1<<3)>>3]*+h[m>>3];h[G>>3]=+h[G>>3]+ +h[m>>3]*+h[m>>3];g[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=-+h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[z>>3]=+h[z>>3]-+h[n>>3]*9.999999747378752e-06*+h[G>>3];d=+h[z>>3];l=L;return +d}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[s>>2]|0))break;g[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=-+h[k+(c[u>>2]<<3)>>3];c[u>>2]=(c[u>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[x>>2]|0))break;K=(c[I>>2]|0)+((N(c[E>>2]|0,c[F>>2]|0)|0)<<2)|0;d=+ph(K,c[s>>2]|0);h[n>>3]=+h[n>>3]-d;c[E>>2]=(c[E>>2]|0)+1}h[z>>3]=+h[n>>3]*+h[t>>3];d=+h[z>>3];l=L;return +d}function oh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;i=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[i>>2]=b;g[h>>2]=d;g[f>>2]=+g[h>>2];c[j>>2]=0;while(1){d=+g[f>>2];a=c[e>>2]|0;if((c[j>>2]|0)>=((c[i>>2]|0)-1|0))break;b=a+(c[j>>2]<<2)|0;g[b>>2]=+g[b>>2]*d;g[f>>2]=+g[f>>2]*+g[h>>2];c[j>>2]=(c[j>>2]|0)+1}j=a+((c[i>>2]|0)-1<<2)|0;g[j>>2]=+g[j>>2]*d;l=k;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+20|0;e=k+16|0;i=k+12|0;f=k+8|0;j=k;c[d>>2]=a;c[e>>2]=b;h[j>>3]=0.0;c[f>>2]=c[e>>2]&65532;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;h[j>>3]=+h[j>>3]+(+g[(c[d>>2]|0)+((c[i>>2]|0)+0<<2)>>2]*+g[(c[d>>2]|0)+((c[i>>2]|0)+0<<2)>>2]+ +g[(c[d>>2]|0)+((c[i>>2]|0)+1<<2)>>2]*+g[(c[d>>2]|0)+((c[i>>2]|0)+1<<2)>>2]+ +g[(c[d>>2]|0)+((c[i>>2]|0)+2<<2)>>2]*+g[(c[d>>2]|0)+((c[i>>2]|0)+2<<2)>>2]+ +g[(c[d>>2]|0)+((c[i>>2]|0)+3<<2)>>2]*+g[(c[d>>2]|0)+((c[i>>2]|0)+3<<2)>>2]);c[i>>2]=(c[i>>2]|0)+4}while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;h[j>>3]=+h[j>>3]+ +g[(c[d>>2]|0)+(c[i>>2]<<2)>>2]*+g[(c[d>>2]|0)+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}l=k;return +(+h[j>>3])}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;i=n+16|0;k=n+12|0;j=n+8|0;m=n;c[e>>2]=a;c[f>>2]=b;c[i>>2]=d;h[m>>3]=0.0;c[j>>2]=c[i>>2]&65532;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;h[m>>3]=+h[m>>3]+(+g[(c[e>>2]|0)+((c[k>>2]|0)+0<<2)>>2]*+g[(c[f>>2]|0)+((c[k>>2]|0)+0<<2)>>2]+ +g[(c[e>>2]|0)+((c[k>>2]|0)+1<<2)>>2]*+g[(c[f>>2]|0)+((c[k>>2]|0)+1<<2)>>2]+ +g[(c[e>>2]|0)+((c[k>>2]|0)+2<<2)>>2]*+g[(c[f>>2]|0)+((c[k>>2]|0)+2<<2)>>2]+ +g[(c[e>>2]|0)+((c[k>>2]|0)+3<<2)>>2]*+g[(c[f>>2]|0)+((c[k>>2]|0)+3<<2)>>2]);c[k>>2]=(c[k>>2]|0)+4}while(1){if((c[k>>2]|0)>=(c[i>>2]|0))break;h[m>>3]=+h[m>>3]+ +g[(c[e>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[f>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}l=n;return +(+h[m>>3])}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+96|0;e=m+80|0;k=m+76|0;j=m+72|0;h=m+68|0;i=m+64|0;f=m;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[f+(c[i>>2]<<2)>>2]=+g[(c[e>>2]|0)+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;b=(c[e>>2]|0)+(c[i>>2]<<2)|0;g[b>>2]=+g[b>>2]+ +g[f+((c[h>>2]|0)-(c[i>>2]|0)-1<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}g[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=-+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;e=s+44|0;i=s+40|0;q=s+36|0;j=s+32|0;n=s+28|0;m=s+24|0;o=s+20|0;p=s+16|0;r=s+12|0;k=s+8|0;f=s+4|0;h=s;c[e>>2]=a;c[i>>2]=b;c[q>>2]=d;g[o>>2]=+g[c[i>>2]>>2]*9.999999960041972e-13+9.999999717180685e-10;g[p>>2]=+g[c[i>>2]>>2];g[p>>2]=+g[o>>2]>+g[p>>2]?+g[o>>2]:+g[p>>2];g[c[e>>2]>>2]=+g[(c[i>>2]|0)+4>>2]/+g[p>>2];g[p>>2]=+g[p>>2]-+g[c[e>>2]>>2]*+g[(c[i>>2]|0)+4>>2];g[p>>2]=+g[o>>2]>+g[p>>2]?+g[o>>2]:+g[p>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[q>>2]|0))break;g[r>>2]=+g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[m>>2]|0))break;g[r>>2]=+g[r>>2]-+g[(c[e>>2]|0)+(c[j>>2]<<2)>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}g[k>>2]=+g[r>>2]/+g[p>>2];g[p>>2]=+g[p>>2]-+g[k>>2]*+g[r>>2];g[p>>2]=+g[o>>2]>+g[p>>2]?+g[o>>2]:+g[p>>2];c[n>>2]=c[m>>2]>>1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;g[f>>2]=+g[(c[e>>2]|0)+(c[j>>2]<<2)>>2];g[h>>2]=+g[(c[e>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)-1<<2)>>2];d=(c[e>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)-1<<2)|0;g[d>>2]=+g[d>>2]-+g[k>>2]*+g[f>>2];d=(c[e>>2]|0)+(c[j>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[k>>2]*+g[h>>2];c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]&1|0){d=(c[e>>2]|0)+(c[n>>2]<<2)|0;g[d>>2]=+g[d>>2]-+g[k>>2]*+g[(c[e>>2]|0)+(c[n>>2]<<2)>>2]}g[(c[e>>2]|0)+(c[m>>2]<<2)>>2]=+g[k>>2];c[m>>2]=(c[m>>2]|0)+1}l=s;return +(+g[p>>2])}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;r=l;l=l+192|0;p=r+184|0;t=r+180|0;s=r+176|0;j=r+172|0;k=r+168|0;i=r+24|0;m=r+16|0;n=r+8|0;o=r;f=r+40|0;e=r+36|0;d=r+32|0;c[t>>2]=a;c[s>>2]=b;c[d>>2]=f+((c[s>>2]&1)<<6);_i(c[d>>2]|0,c[t>>2]|0,c[s>>2]<<2|0)|0;h[i>>3]=1.0;c[j>>2]=(c[s>>2]|0)-1;while(1){a=c[d>>2]|0;if((c[j>>2]|0)<=0)break;h[m>>3]=-+g[a+(c[j>>2]<<2)>>2];if(+h[m>>3]>.9998999834060669|+h[m>>3]<-.9998999834060669){q=4;break}h[n>>3]=1.0-+h[m>>3]*+h[m>>3];h[o>>3]=1.0/+h[n>>3];h[i>>3]=+h[i>>3]*+h[n>>3];c[e>>2]=c[d>>2];c[d>>2]=f+((c[j>>2]&1)<<6);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;g[(c[d>>2]|0)+(c[k>>2]<<2)>>2]=(+g[(c[e>>2]|0)+(c[k>>2]<<2)>>2]-+g[(c[e>>2]|0)+((c[j>>2]|0)-(c[k>>2]|0)-1<<2)>>2]*+h[m>>3])*+h[o>>3];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+-1}if((q|0)==4){g[p>>2]=0.0;u=+g[p>>2];l=r;return +u}h[m>>3]=-+g[a>>2];if(+h[m>>3]>.9998999834060669|+h[m>>3]<-.9998999834060669){g[p>>2]=0.0;u=+g[p>>2];l=r;return +u}else{h[n>>3]=1.0-+h[m>>3]*+h[m>>3];h[i>>3]=+h[i>>3]*+h[n>>3];g[p>>2]=+h[i>>3];u=+g[p>>2];l=r;return +u}return 0.0}function uh(d,e,f,i,j,k,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=+m;n=+n;o=o|0;p=p|0;q=q|0;r=r|0;var 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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;La=l;l=l+13936|0;Ka=La+10416|0;pa=La+10412|0;Ja=La+10408|0;Ha=La+10404|0;Fa=La+10400|0;S=La+10396|0;$=La+10392|0;E=La+10388|0;ba=La+10384|0;ya=La+10380|0;ga=La+10376|0;Ia=La+10372|0;fa=La+10368|0;X=La+10364|0;Ga=La+10360|0;ka=La+10356|0;qa=La+10352|0;H=La+9072|0;x=La+8432|0;y=La+13288|0;w=La+12968|0;t=La+8408|0;K=La+8404|0;ha=La+8400|0;M=La+6016|0;G=La+5756|0;P=La+5712|0;xa=La+5708|0;T=La+5704|0;ia=La+24|0;D=La+16|0;na=La+8|0;oa=La;V=La+5608|0;U=La+12664|0;_=La+5600|0;Z=La+5596|0;s=La+5592|0;da=La+5588|0;Q=La+5584|0;R=La+5580|0;ea=La+5576|0;Ca=La+5572|0;O=La+5568|0;za=La+5564|0;wa=La+5560|0;la=La+5556|0;Aa=La+5552|0;Ea=La+5548|0;Y=La+5544|0;aa=La+5540|0;W=La+5536|0;ma=La+2816|0;ja=La+96|0;ra=La+88|0;z=La+84|0;B=La+80|0;A=La+76|0;va=La+72|0;ca=La+68|0;F=La+64|0;Ba=La+60|0;ta=La+56|0;J=La+52|0;sa=La+48|0;I=La+44|0;C=La+40|0;ua=La+36|0;Da=La+32|0;v=La+11384|0;u=La+10424|0;c[pa>>2]=d;c[Ja>>2]=e;c[Ha>>2]=f;c[Fa>>2]=i;c[S>>2]=j;c[$>>2]=k;g[E>>2]=m;g[ba>>2]=n;c[ya>>2]=o;c[ga>>2]=p;c[Ia>>2]=q;c[fa>>2]=r;c[z>>2]=N(20+((c[Ia>>2]|0)*5|0)|0,c[ya>>2]|0)|0;c[A>>2]=20+((c[Ia>>2]|0)*5|0)<<2;c[B>>2]=20+((c[Ia>>2]|0)*5|0)<<3;c[va>>2]=(c[ya>>2]|0)*5;c[F>>2]=20;c[ca>>2]=40;c[Ba>>2]=c[ya>>2]<<1;c[J>>2]=8;c[ta>>2]=16;c[sa>>2]=((c[ya>>2]|0)*18|0)-1;c[C>>2]=72;c[I>>2]=143;do if((c[ya>>2]|0)!=16)if((c[ya>>2]|0)==12){vh(u,c[pa>>2]|0,c[z>>2]|0);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;Vf(t,y,u,c[z>>2]|0);wh(H,y,c[B>>2]|0);break}else{vh(y,c[pa>>2]|0,c[B>>2]|0);break}else{vh(v,c[pa>>2]|0,c[z>>2]|0);c[t>>2]=0;c[t+4>>2]=0;Wf(t,y,v,c[z>>2]|0);wh(H,y,c[B>>2]|0)}while(0);c[t>>2]=0;c[t+4>>2]=0;Wf(t,w,y,c[B>>2]|0);wh(x,w,c[A>>2]|0);c[X>>2]=(c[A>>2]|0)-1;while(1){if((c[X>>2]|0)<=0)break;k=x+(c[X>>2]<<2)|0;g[k>>2]=+g[k>>2]+ +g[x+((c[X>>2]|0)-1<<2)>>2];c[X>>2]=(c[X>>2]|0)+-1}aj(M|0,0,(c[Ia>>2]<<2)*149|0)|0;c[xa>>2]=x+(c[F>>2]<<2<<2);c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]>>1|0))break;c[T>>2]=(c[xa>>2]|0)+(0-(c[J>>2]|0)<<2);vc(c[xa>>2]|0,(c[xa>>2]|0)+(0-(c[C>>2]|0)<<2)|0,G,c[ca>>2]|0,(c[C>>2]|0)-(c[J>>2]|0)+1|0,c[fa>>2]|0);h[ia>>3]=+g[G+((c[C>>2]|0)-(c[J>>2]|0)<<2)>>2];n=+ph(c[xa>>2]|0,c[ca>>2]|0);n=n+ +ph(c[T>>2]|0,c[ca>>2]|0);h[D>>3]=n+ +(c[ca>>2]|0)*4.0e3;F=M+(c[J>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ia>>3]*2.0/+h[D>>3];c[ka>>2]=(c[J>>2]|0)+1;while(1){if((c[ka>>2]|0)>(c[C>>2]|0))break;c[T>>2]=(c[T>>2]|0)+-4;h[ia>>3]=+g[G+((c[C>>2]|0)-(c[ka>>2]|0)<<2)>>2];h[D>>3]=+h[D>>3]+(+g[c[T>>2]>>2]*+g[c[T>>2]>>2]-+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]*+g[(c[T>>2]|0)+(c[ca>>2]<<2)>>2]);F=M+(c[ka>>2]<<2)|0;g[F>>2]=+g[F>>2]+ +h[ia>>3]*2.0/+h[D>>3];c[ka>>2]=(c[ka>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[ca>>2]<<2);c[Ga>>2]=(c[Ga>>2]|0)+1}c[X>>2]=c[C>>2];while(1){if((c[X>>2]|0)<(c[J>>2]|0))break;G=M+(c[X>>2]<<2)|0;g[G>>2]=+g[G>>2]-+g[M+(c[X>>2]<<2)>>2]*+(c[X>>2]|0)/4096.0;c[X>>2]=(c[X>>2]|0)+-1}c[_>>2]=4+(c[ga>>2]<<1);Fh(M+(c[J>>2]<<2)|0,V,(c[C>>2]|0)-(c[J>>2]|0)+1|0,c[_>>2]|0);g[s>>2]=+g[M+(c[J>>2]<<2)>>2];if(+g[s>>2]<.20000000298023224){aj(c[Ja>>2]|0,0,c[Ia>>2]<<2|0)|0;g[c[S>>2]>>2]=0.0;b[c[Ha>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ka>>2]=1;Ka=c[Ka>>2]|0;l=La;return Ka|0}g[K>>2]=+g[E>>2]*+g[s>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[_>>2]|0))break;s=c[X>>2]|0;if(!(+g[M+((c[J>>2]|0)+(c[X>>2]|0)<<2)>>2]>+g[K>>2])){L=24;break}c[V+(c[X>>2]<<2)>>2]=(c[V+(s<<2)>>2]|0)+(c[J>>2]|0)<<1;c[X>>2]=(c[X>>2]|0)+1}if((L|0)==24)c[_>>2]=s;c[X>>2]=(c[ta>>2]|0)-5;while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+5|0))break;b[U+(c[X>>2]<<1)>>1]=0;c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[_>>2]|0))break;b[U+(c[V+(c[X>>2]<<2)>>2]<<1)>>1]=1;c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=(c[I>>2]|0)+3;while(1){if((c[X>>2]|0)<(c[ta>>2]|0))break;L=U+(c[X>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[U+((c[X>>2]|0)-1<<1)>>1]|0)+(b[U+((c[X>>2]|0)-2<<1)>>1]|0));c[X>>2]=(c[X>>2]|0)+-1}c[_>>2]=0;c[X>>2]=c[ta>>2];while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+1|0))break;if((b[U+((c[X>>2]|0)+1<<1)>>1]|0)>0){c[V+(c[_>>2]<<2)>>2]=c[X>>2];c[_>>2]=(c[_>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}c[X>>2]=(c[I>>2]|0)+3;while(1){if((c[X>>2]|0)<(c[ta>>2]|0))break;L=U+(c[X>>2]<<1)|0;b[L>>1]=(b[L>>1]|0)+((b[U+((c[X>>2]|0)-1<<1)>>1]|0)+(b[U+((c[X>>2]|0)-2<<1)>>1]|0)+(b[U+((c[X>>2]|0)-3<<1)>>1]|0));c[X>>2]=(c[X>>2]|0)+-1}c[Z>>2]=0;c[X>>2]=c[ta>>2];while(1){if((c[X>>2]|0)>=((c[I>>2]|0)+4|0))break;if((b[U+(c[X>>2]<<1)>>1]|0)>0){b[U+(c[Z>>2]<<1)>>1]=(c[X>>2]|0)-2;c[Z>>2]=(c[Z>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}aj(M|0,0,2384)|0;if((c[ya>>2]|0)==8)c[xa>>2]=(c[pa>>2]|0)+640;else c[xa>>2]=H+640;c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;h[oa>>3]=+ph(c[xa>>2]|0,c[ca>>2]|0)+1.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[Z>>2]|0))break;c[ka>>2]=b[U+(c[qa>>2]<<1)>>1];c[T>>2]=(c[xa>>2]|0)+(0-(c[ka>>2]|0)<<2);h[ia>>3]=+qh(c[T>>2]|0,c[xa>>2]|0,c[ca>>2]|0);if(+h[ia>>3]>0.0){h[na>>3]=+ph(c[T>>2]|0,c[ca>>2]|0);m=+h[ia>>3]*2.0/(+h[na>>3]+ +h[oa>>3]);s=M+((c[Ga>>2]|0)*596|0)+(c[ka>>2]<<2)|0}else{m=0.0;s=M+((c[Ga>>2]|0)*596|0)+(c[ka>>2]<<2)|0}g[s>>2]=m;c[qa>>2]=(c[qa>>2]|0)+1}c[xa>>2]=(c[xa>>2]|0)+(c[ca>>2]<<2);c[Ga>>2]=(c[Ga>>2]|0)+1}g[da>>2]=0.0;g[Q>>2]=-1.0e3;c[Ca>>2]=0;c[za>>2]=-1;if((c[$>>2]|0)>0){if((c[ya>>2]|0)!=12){if((c[ya>>2]|0)==16)c[$>>2]=c[$>>2]>>1}else c[$>>2]=(c[$>>2]<<1|0)/3|0;g[aa>>2]=+xh(+(c[$>>2]|0))}else g[aa>>2]=0.0;do if((c[Ia>>2]|0)==4){c[Ea>>2]=11;c[Da>>2]=30282;if((c[ya>>2]|0)==8&(c[ga>>2]|0)>0){c[ua>>2]=11;break}else{c[ua>>2]=3;break}}else{c[Ea>>2]=3;c[Da>>2]=30248;c[ua>>2]=3}while(0);c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[_>>2]|0))break;c[ka>>2]=c[V+(c[Ga>>2]<<2)>>2];c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;g[P+(c[qa>>2]<<2)>>2]=0.0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ia>>2]|0))break;Z=N(c[X>>2]|0,c[Ea>>2]|0)|0;ca=P+(c[qa>>2]<<2)|0;g[ca>>2]=+g[ca>>2]+ +g[M+((c[X>>2]|0)*596|0)+((c[ka>>2]|0)+(a[(c[Da>>2]|0)+(Z+(c[qa>>2]|0))>>0]|0)<<2)>>2];c[X>>2]=(c[X>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}g[ea>>2]=-1.0e3;c[O>>2]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[ua>>2]|0))break;if(+g[P+(c[X>>2]<<2)>>2]>+g[ea>>2]){g[ea>>2]=+g[P+(c[X>>2]<<2)>>2];c[O>>2]=c[X>>2]}c[X>>2]=(c[X>>2]|0)+1}g[Y>>2]=+xh(+(c[ka>>2]|0));g[R>>2]=+g[ea>>2]-+(c[Ia>>2]|0)*.20000000298023224*+g[Y>>2];if((c[$>>2]|0)>0){g[W>>2]=+g[Y>>2]-+g[aa>>2];g[W>>2]=+g[W>>2]*+g[W>>2];g[R>>2]=+g[R>>2]-+(c[Ia>>2]|0)*.20000000298023224*+g[c[S>>2]>>2]*+g[W>>2]/(+g[W>>2]+.5)}if(+g[R>>2]>+g[Q>>2]?+g[ea>>2]>+(c[Ia>>2]|0)*+g[ba>>2]:0){g[Q>>2]=+g[R>>2];g[da>>2]=+g[ea>>2];c[za>>2]=c[ka>>2];c[Ca>>2]=c[O>>2]}c[Ga>>2]=(c[Ga>>2]|0)+1}if((c[za>>2]|0)==-1){Ja=c[Ja>>2]|0;c[Ja>>2]=0;c[Ja+4>>2]=0;c[Ja+8>>2]=0;c[Ja+12>>2]=0;g[c[S>>2]>>2]=0.0;b[c[Ha>>2]>>1]=0;a[c[Fa>>2]>>0]=0;c[Ka>>2]=1;Ka=c[Ka>>2]|0;l=La;return Ka|0}g[c[S>>2]>>2]=+g[da>>2]/+(c[Ia>>2]|0);if((c[ya>>2]|0)>8){s=c[za>>2]|0;if((c[ya>>2]|0)==12)c[za>>2]=(((s&65535)<<16>>16)*3>>1)+(((c[za>>2]&65535)<<16>>16)*3&1);else c[za>>2]=s<<1;s=c[za>>2]|0;do if((c[Ba>>2]|0)>(c[sa>>2]|0))if((s|0)>(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}else{s=(c[za>>2]|0)<(c[sa>>2]|0)?c[sa>>2]|0:c[za>>2]|0;break}else if((s|0)>(c[sa>>2]|0)){s=c[sa>>2]|0;break}else{s=(c[za>>2]|0)<(c[Ba>>2]|0)?c[Ba>>2]|0:c[za>>2]|0;break}while(0);c[za>>2]=s;c[wa>>2]=yh((c[za>>2]|0)-2|0,c[Ba>>2]|0)|0;c[la>>2]=zh((c[za>>2]|0)+2|0,c[sa>>2]|0)|0;c[Aa>>2]=c[za>>2];c[Ca>>2]=0;g[da>>2]=-1.0e3;Ah(ja,c[pa>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Ia>>2]|0,c[ga>>2]|0,c[fa>>2]|0);Bh(ma,c[pa>>2]|0,c[wa>>2]|0,c[va>>2]|0,c[Ia>>2]|0,c[ga>>2]|0);c[ra>>2]=0;g[ha>>2]=.05000000074505806/+(c[za>>2]|0);if((c[Ia>>2]|0)==4){c[ua>>2]=a[30486+(c[ga>>2]|0)>>0];c[Ea>>2]=34;c[Da>>2]=30326}else{c[ua>>2]=12;c[Ea>>2]=12;c[Da>>2]=30254}c[xa>>2]=(c[pa>>2]|0)+((c[ya>>2]|0)*20<<2);h[oa>>3]=+ph(c[xa>>2]|0,N(c[Ia>>2]|0,c[va>>2]|0)|0)+1.0;c[ka>>2]=c[wa>>2];while(1){if((c[ka>>2]|0)>(c[la>>2]|0))break;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[ua>>2]|0))break;h[ia>>3]=0.0;h[na>>3]=+h[oa>>3];c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;h[ia>>3]=+h[ia>>3]+ +g[ja+((c[Ga>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];h[na>>3]=+h[na>>3]+ +g[ma+((c[Ga>>2]|0)*680|0)+((c[qa>>2]|0)*20|0)+(c[ra>>2]<<2)>>2];c[Ga>>2]=(c[Ga>>2]|0)+1}if(+h[ia>>3]>0.0){g[ea>>2]=+h[ia>>3]*2.0/+h[na>>3];g[ea>>2]=+g[ea>>2]*(1.0-+g[ha>>2]*+(c[qa>>2]|0))}else g[ea>>2]=0.0;if(+g[ea>>2]>+g[da>>2]?((c[ka>>2]|0)+(a[30326+(c[qa>>2]|0)>>0]|0)|0)<=(c[sa>>2]|0):0){g[da>>2]=+g[ea>>2];c[Aa>>2]=c[ka>>2];c[Ca>>2]=c[qa>>2]}c[qa>>2]=(c[qa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[ka>>2]=(c[ka>>2]|0)+1}c[Ga>>2]=0;while(1){s=c[Aa>>2]|0;if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;za=N(c[Ga>>2]|0,c[Ea>>2]|0)|0;c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=s+(a[(c[Da>>2]|0)+(za+(c[Ca>>2]|0))>>0]|0);s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;do if((c[Ba>>2]|0)>((c[ya>>2]|0)*18|0)){if((s|0)>(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<((c[ya>>2]|0)*18|0)){s=(c[ya>>2]|0)*18|0;break}else{s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}}else{if((s|0)>((c[ya>>2]|0)*18|0)){s=(c[ya>>2]|0)*18|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<(c[Ba>>2]|0)){s=c[Ba>>2]|0;break}else{s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}}while(0);c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=s;c[Ga>>2]=(c[Ga>>2]|0)+1}b[c[Ha>>2]>>1]=s-(c[Ba>>2]|0);a[c[Fa>>2]>>0]=c[Ca>>2]}else{c[Ga>>2]=0;while(1){s=c[za>>2]|0;if((c[Ga>>2]|0)>=(c[Ia>>2]|0))break;Ba=N(c[Ga>>2]|0,c[Ea>>2]|0)|0;c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=s+(a[(c[Da>>2]|0)+(Ba+(c[Ca>>2]|0))>>0]|0);s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;do if((c[ta>>2]|0)>144){if((s|0)>(c[ta>>2]|0)){s=c[ta>>2]|0;break}if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<144)s=144;else s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0}else if((s|0)<=144)if((c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0)<(c[ta>>2]|0)){s=c[ta>>2]|0;break}else{s=c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]|0;break}else s=144;while(0);c[(c[Ja>>2]|0)+(c[Ga>>2]<<2)>>2]=s;c[Ga>>2]=(c[Ga>>2]|0)+1}b[c[Ha>>2]>>1]=s-(c[ta>>2]|0);a[c[Fa>>2]>>0]=c[Ca>>2]}c[Ka>>2]=0;Ka=c[Ka>>2]|0;l=La;return Ka|0}function vh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<=32767)if((Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<-32768)d=-32768;else d=Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0;else d=32767;b[(c[i>>2]|0)+(c[h>>2]<<1)>>1]=d;c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function wh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function xh(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=+Ti(+h[c>>3])*3.32192809488736;l=b;return +a}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ah(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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;H=l;l=l+256|0;q=H+252|0;s=H+248|0;E=H+244|0;D=H+240|0;B=H+236|0;p=H+232|0;n=H+228|0;F=H+224|0;t=H+220|0;v=H+216|0;w=H+212|0;x=H+208|0;z=H+204|0;y=H+200|0;A=H+196|0;r=H+192|0;u=H+188|0;o=H+184|0;C=H+96|0;G=H+8|0;m=H+4|0;k=H;c[q>>2]=b;c[s>>2]=d;c[E>>2]=e;c[D>>2]=f;c[B>>2]=h;c[p>>2]=i;c[n>>2]=j;if((c[B>>2]|0)==4){c[m>>2]=30462+(c[p>>2]<<3);c[k>>2]=30326;c[A>>2]=a[30486+(c[p>>2]|0)>>0];c[o>>2]=34}else{c[m>>2]=30278;c[k>>2]=30254;c[A>>2]=12;c[o>>2]=12}c[F>>2]=(c[s>>2]|0)+(c[D>>2]<<2<<2);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;c[x>>2]=0;c[z>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+0)>>0];c[y>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+1)>>0];vc(c[F>>2]|0,(c[F>>2]|0)+(0-(c[E>>2]|0)<<2)+(0-(c[y>>2]|0)<<2)|0,G,c[D>>2]|0,(c[y>>2]|0)-(c[z>>2]|0)+1|0,c[n>>2]|0);c[v>>2]=c[z>>2];while(1){if((c[v>>2]|0)>(c[y>>2]|0))break;g[C+(c[x>>2]<<2)>>2]=+g[G+((c[y>>2]|0)-(c[v>>2]|0)<<2)>>2];c[x>>2]=(c[x>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1}c[r>>2]=a[(c[m>>2]|0)+((c[w>>2]<<1)+0)>>0];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[A>>2]|0))break;e=N(c[w>>2]|0,c[o>>2]|0)|0;c[u>>2]=(a[(c[k>>2]|0)+(e+(c[t>>2]|0))>>0]|0)-(c[r>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=5)break;g[(c[q>>2]|0)+((c[w>>2]|0)*680|0)+((c[t>>2]|0)*20|0)+(c[v>>2]<<2)>>2]=+g[C+((c[u>>2]|0)+(c[v>>2]|0)<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[D>>2]<<2);c[w>>2]=(c[w>>2]|0)+1}l=H;return}function Bh(b,d,e,f,i,j){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;var k=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;G=l;l=l+176|0;r=G+168|0;t=G+164|0;E=G+160|0;D=G+156|0;B=G+152|0;p=G+148|0;F=G+144|0;n=G+140|0;s=G;x=G+136|0;u=G+132|0;w=G+128|0;y=G+124|0;A=G+120|0;q=G+116|0;v=G+112|0;o=G+108|0;z=G+104|0;C=G+16|0;m=G+12|0;k=G+8|0;c[r>>2]=b;c[t>>2]=d;c[E>>2]=e;c[D>>2]=f;c[B>>2]=i;c[p>>2]=j;if((c[B>>2]|0)==4){c[m>>2]=30462+(c[p>>2]<<3);c[k>>2]=30326;c[A>>2]=a[30486+(c[p>>2]|0)>>0];c[o>>2]=34}else{c[m>>2]=30278;c[k>>2]=30254;c[A>>2]=12;c[o>>2]=12}c[F>>2]=(c[t>>2]|0)+(c[D>>2]<<2<<2);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[B>>2]|0))break;c[y>>2]=0;c[n>>2]=(c[F>>2]|0)+(0-((c[E>>2]|0)+(a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0]|0))<<2);h[s>>3]=+ph(c[n>>2]|0,c[D>>2]|0)+.001;g[C+(c[y>>2]<<2)>>2]=+h[s>>3];c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(a[(c[m>>2]|0)+((c[x>>2]<<1)+1)>>0]|0)-(a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0]|0)+1;c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[z>>2]|0))break;h[s>>3]=+h[s>>3]-+g[(c[n>>2]|0)+((c[D>>2]|0)-(c[u>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+((c[D>>2]|0)-(c[u>>2]|0)<<2)>>2];h[s>>3]=+h[s>>3]+ +g[(c[n>>2]|0)+(0-(c[u>>2]|0)<<2)>>2]*+g[(c[n>>2]|0)+(0-(c[u>>2]|0)<<2)>>2];g[C+(c[y>>2]<<2)>>2]=+h[s>>3];c[y>>2]=(c[y>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[q>>2]=a[(c[m>>2]|0)+((c[x>>2]<<1)+0)>>0];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[A>>2]|0))break;e=N(c[x>>2]|0,c[o>>2]|0)|0;c[v>>2]=(a[(c[k>>2]|0)+(e+(c[u>>2]|0))>>0]|0)-(c[q>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=5)break;g[(c[r>>2]|0)+((c[x>>2]|0)*680|0)+((c[u>>2]|0)*20|0)+(c[w>>2]<<2)>>2]=+g[C+((c[v>>2]|0)+(c[w>>2]|0)<<2)>>2];c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+(c[D>>2]<<2);c[x>>2]=(c[x>>2]|0)+1}l=G;return}function Ch(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+20|0;i=n+16|0;k=n+12|0;f=n+8|0;m=n+4|0;h=n;c[j>>2]=a;c[i>>2]=b;g[k>>2]=d;c[f>>2]=e;c[h>>2]=c[f>>2]&65532;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;g[(c[j>>2]|0)+((c[m>>2]|0)+0<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+0<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+2<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+2<<2)>>2];g[(c[j>>2]|0)+((c[m>>2]|0)+3<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+((c[m>>2]|0)+3<<2)>>2];c[m>>2]=(c[m>>2]|0)+4}while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=+g[k>>2]*+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}l=n;return}function Dh(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;i=k+12|0;f=k+8|0;j=k+4|0;h=k;c[e>>2]=a;g[i>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&65532;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;d=(c[e>>2]|0)+((c[j>>2]|0)+0<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+1<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+2<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];d=(c[e>>2]|0)+((c[j>>2]|0)+3<<2)|0;g[d>>2]=+g[d>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+4}while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;h=(c[e>>2]|0)+(c[j>>2]<<2)|0;g[h>>2]=+g[h>>2]*+g[i>>2];c[j>>2]=(c[j>>2]|0)+1}l=k;return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+176|0;o=p+168|0;i=p+164|0;m=p+160|0;j=p+156|0;k=p+152|0;e=p+16|0;f=p+8|0;h=p+4|0;n=p;c[o>>2]=a;c[i>>2]=b;c[m>>2]=d;c[j>>2]=0;while(1){if((c[j>>2]|0)>=((c[m>>2]|0)+1|0))break;q=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];g[e+(c[j>>2]<<3)+4>>2]=q;g[e+(c[j>>2]<<3)>>2]=q;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[m>>2]|0))break;g[n>>2]=-+g[e+((c[j>>2]|0)+1<<3)>>2]/(+g[e+4>>2]>9.999999717180685e-10?+g[e+4>>2]:9.999999717180685e-10);g[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=+g[n>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[m>>2]|0)-(c[j>>2]|0)|0))break;g[f>>2]=+g[e+((c[k>>2]|0)+(c[j>>2]|0)+1<<3)>>2];g[h>>2]=+g[e+(c[k>>2]<<3)+4>>2];g[e+((c[k>>2]|0)+(c[j>>2]|0)+1<<3)>>2]=+g[f>>2]+ +g[h>>2]*+g[n>>2];g[e+(c[k>>2]<<3)+4>>2]=+g[h>>2]+ +g[f>>2]*+g[n>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}l=p;return +(+g[e+4>>2])}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;k=o+20|0;h=o+16|0;f=o+12|0;n=o+8|0;j=o+4|0;m=o;c[i>>2]=a;c[k>>2]=b;c[h>>2]=d;c[f>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];c[m>>2]=(c[j>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=c[f>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;g[n>>2]=+g[(c[i>>2]|0)+(c[j>>2]<<2)>>2];if(+g[n>>2]>+g[(c[i>>2]|0)+((c[f>>2]|0)-1<<2)>>2]){c[m>>2]=(c[f>>2]|0)-2;while(1){if((c[m>>2]|0)<0)break;if(!(+g[n>>2]>+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2]))break;g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}g[(c[i>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=+g[n>>2];c[(c[k>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}l=o;return}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=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,B=0,C=0.0;B=l;l=l+80|0;j=B+64|0;i=B+60|0;h=B+56|0;o=B+52|0;m=B+48|0;r=B+44|0;x=B+40|0;k=B+36|0;y=B+32|0;n=B+28|0;w=B+24|0;q=B+20|0;s=B+16|0;v=B+12|0;u=B+8|0;p=B+4|0;t=B;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[o>>2]=e;if(!((((c[h>>2]|0)<1|(c[i>>2]|0)<1)^1)&(c[j>>2]|0)!=0&(c[o>>2]|0)!=0)){l=B;return}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(N(c[i>>2]|0,c[h>>2]|0)|0))break;if(2.0<+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];if(!(-2.0>f))if(2.0<+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2])f=2.0;else f=+g[(c[j>>2]|0)+(c[r>>2]<<2)>>2];else f=-2.0;g[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;c[x>>2]=(c[j>>2]|0)+(c[m>>2]<<2);g[k>>2]=+g[(c[o>>2]|0)+(c[m>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[i>>2]|0))break;f=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(f*+g[k>>2]>=0.0)break;C=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];f=+g[k>>2]*+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];f=C+f*+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[n>>2]=0;g[y>>2]=+g[c[x>>2]>>2];do{c[v>>2]=0;c[r>>2]=c[n>>2];while(1){if((c[r>>2]|0)>=(c[i>>2]|0))break;if(+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]>1.0)break;if(+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]<-1.0)break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[i>>2]|0)){z=23;break}c[u>>2]=c[r>>2];e=c[r>>2]|0;c[q>>2]=e;c[w>>2]=e;g[s>>2]=+A(+(+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]));while(1){if((c[w>>2]|0)<=0)break;C=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(C*+g[(c[x>>2]|0)+((N((c[w>>2]|0)-1|0,c[h>>2]|0)|0)<<2)>>2]>=0.0))break;c[w>>2]=(c[w>>2]|0)+-1}while(1){if((c[q>>2]|0)>=(c[i>>2]|0))break;C=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(C*+g[(c[x>>2]|0)+((N(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]>=0.0))break;C=+A(+(+g[(c[x>>2]|0)+((N(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]));if(C>+g[s>>2]){g[s>>2]=+A(+(+g[(c[x>>2]|0)+((N(c[q>>2]|0,c[h>>2]|0)|0)<<2)>>2]));c[u>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}if(!(c[w>>2]|0)){C=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];d=C*+g[c[x>>2]>>2]>=0.0}else d=0;c[v>>2]=d&1;g[k>>2]=(+g[s>>2]-1.0)/(+g[s>>2]*+g[s>>2]);if(+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]>0.0)g[k>>2]=-+g[k>>2];c[r>>2]=c[w>>2];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;f=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];C=+g[k>>2]*+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];C=f+C*+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=C;c[r>>2]=(c[r>>2]|0)+1}a:do if((c[v>>2]|0)!=0&(c[u>>2]|0)>=2){g[t>>2]=+g[y>>2]-+g[c[x>>2]>>2];g[p>>2]=+g[t>>2]/+(c[u>>2]|0);c[r>>2]=c[n>>2];while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;g[t>>2]=+g[t>>2]-+g[p>>2];e=(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)|0;g[e>>2]=+g[e>>2]+ +g[t>>2];if(1.0<+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];if(!(-1.0>f))if(1.0<+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2])f=1.0;else f=+g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2];else f=-1.0;g[(c[x>>2]|0)+((N(c[r>>2]|0,c[h>>2]|0)|0)<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}}while(0);c[n>>2]=c[q>>2]}while((c[n>>2]|0)!=(c[i>>2]|0));if((z|0)==23){z=0;g[k>>2]=0.0}g[(c[o>>2]|0)+(c[m>>2]<<2)>>2]=+g[k>>2];c[m>>2]=(c[m>>2]|0)+1}l=B;return}function Hh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i+4|0;f=i;c[h>>2]=b;c[f>>2]=e;e=c[h>>2]|0;if((c[h>>2]|0)<252){a[c[f>>2]>>0]=e;c[g>>2]=1;h=c[g>>2]|0;l=i;return h|0}else{a[c[f>>2]>>0]=252+(e&3);a[(c[f>>2]|0)+1>>0]=(c[h>>2]|0)-(d[c[f>>2]>>0]|0)>>2;c[g>>2]=2;h=c[g>>2]|0;l=i;return h|0}return 0}function Ih(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a=d[c[e>>2]>>0]|0;if((d[c[e>>2]>>0]|0)&128|0){c[g>>2]=a>>3&3;c[g>>2]=(c[f>>2]<>2]|0)/400|0;g=c[g>>2]|0;l=h;return g|0}b=d[c[e>>2]>>0]|0;if((a&96|0)==96){c[g>>2]=(c[f>>2]|0)/((b&8|0?50:100)|0)|0;g=c[g>>2]|0;l=h;return g|0}c[g>>2]=b>>3&3;b=c[f>>2]|0;if((c[g>>2]|0)==3){c[g>>2]=(b*60|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}else{c[g>>2]=(b<>2]|0)/100|0;g=c[g>>2]|0;l=h;return g|0}return 0}function Jh(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;D=J+72|0;r=J+68|0;x=J+64|0;E=J+60|0;y=J+56|0;t=J+52|0;F=J+48|0;C=J+44|0;A=J+40|0;v=J+36|0;n=J+32|0;q=J+28|0;o=J+24|0;p=J+77|0;H=J+76|0;u=J+20|0;w=J+16|0;B=J+12|0;s=J+8|0;z=J+4|0;G=J;c[r>>2]=e;c[x>>2]=f;c[E>>2]=g;c[y>>2]=h;c[t>>2]=i;c[F>>2]=j;c[C>>2]=k;c[A>>2]=m;c[B>>2]=0;c[s>>2]=c[r>>2];if(!(c[F>>2]|0)){c[D>>2]=-1;I=c[D>>2]|0;l=J;return I|0}c[u>>2]=Ih(c[r>>2]|0,48e3)|0;c[o>>2]=0;j=c[r>>2]|0;c[r>>2]=j+1;a[H>>0]=a[j>>0]|0;c[x>>2]=(c[x>>2]|0)+-1;c[w>>2]=c[x>>2];a:do switch(d[H>>0]&3|0){case 0:{c[q>>2]=1;break}case 1:{c[q>>2]=2;c[o>>2]=1;if(!(c[E>>2]|0)){if(!(c[x>>2]&1)){c[w>>2]=(c[x>>2]|0)/2|0;b[c[F>>2]>>1]=c[w>>2];break a}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}break}case 2:{c[q>>2]=2;c[n>>2]=Kh(c[r>>2]|0,c[x>>2]|0,c[F>>2]|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[c[F>>2]>>1]|0)>=0?(b[c[F>>2]>>1]|0)<=(c[x>>2]|0):0){c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[w>>2]=(c[x>>2]|0)-(b[c[F>>2]>>1]|0);break a}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}default:{if((c[x>>2]|0)<1){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}j=c[r>>2]|0;c[r>>2]=j+1;a[p>>0]=a[j>>0]|0;c[q>>2]=d[p>>0]&63;if((c[q>>2]|0)>0?(N(c[u>>2]|0,c[q>>2]|0)|0)<=5760:0){c[x>>2]=(c[x>>2]|0)+-1;b:do if(d[p>>0]&64|0){while(1){if((c[x>>2]|0)<=0)break;j=c[r>>2]|0;c[r>>2]=j+1;c[z>>2]=d[j>>0];c[x>>2]=(c[x>>2]|0)+-1;c[G>>2]=(c[z>>2]|0)==255?254:c[z>>2]|0;c[x>>2]=(c[x>>2]|0)-(c[G>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[G>>2]|0);if((c[z>>2]|0)!=255)break b}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}while(0);if((c[x>>2]|0)<0){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[o>>2]=((d[p>>0]&128|0)!=0^1)&1;if(c[o>>2]|0){if(c[E>>2]|0)break a;c[w>>2]=(c[x>>2]|0)/(c[q>>2]|0)|0;I=N(c[w>>2]|0,c[q>>2]|0)|0;if((I|0)!=(c[x>>2]|0)){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break a;b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]=c[w>>2];c[v>>2]=(c[v>>2]|0)+1}}c[w>>2]=c[x>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break;c[n>>2]=Kh(c[r>>2]|0,c[x>>2]|0,(c[F>>2]|0)+(c[v>>2]<<1)|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0)<0){I=29;break}if((b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0)>(c[x>>2]|0)){I=29;break}c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[w>>2]=(c[w>>2]|0)-((c[n>>2]|0)+(b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0));c[v>>2]=(c[v>>2]|0)+1}if((I|0)==29){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}if((c[w>>2]|0)>=0)break a;c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}}while(0);c:do if(c[E>>2]|0){c[n>>2]=Kh(c[r>>2]|0,c[x>>2]|0,(c[F>>2]|0)+(c[q>>2]<<1)+-2|0)|0;c[x>>2]=(c[x>>2]|0)-(c[n>>2]|0);if((b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=0?(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)<=(c[x>>2]|0):0){c[r>>2]=(c[r>>2]|0)+(c[n>>2]|0);if(!(c[o>>2]|0)){if(((c[n>>2]|0)+(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)|0)<=(c[w>>2]|0))break;c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}I=N(b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0,c[q>>2]|0)|0;if((I|0)>(c[x>>2]|0)){c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=((c[q>>2]|0)-1|0))break c;b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]=b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0;c[v>>2]=(c[v>>2]|0)+1}}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}else{if((c[w>>2]|0)<=1275){b[(c[F>>2]|0)+((c[q>>2]|0)-1<<1)>>1]=c[w>>2];break}c[D>>2]=-4;I=c[D>>2]|0;l=J;return I|0}while(0);if(c[C>>2]|0)c[c[C>>2]>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[q>>2]|0))break;if(c[t>>2]|0)c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]=c[r>>2];c[r>>2]=(c[r>>2]|0)+(b[(c[F>>2]|0)+(c[v>>2]<<1)>>1]|0);c[v>>2]=(c[v>>2]|0)+1}if(c[A>>2]|0)c[c[A>>2]>>2]=(c[B>>2]|0)+((c[r>>2]|0)-(c[s>>2]|0));if(c[y>>2]|0)a[c[y>>2]>>0]=a[H>>0]|0;c[D>>2]=c[q>>2];I=c[D>>2]|0;l=J;return I|0}function Kh(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if((c[h>>2]|0)<1){b[c[j>>2]>>1]=-1;c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((d[c[g>>2]>>0]|0|0)<252){b[c[j>>2]>>1]=d[c[g>>2]>>0]|0;c[i>>2]=1;j=c[i>>2]|0;l=k;return j|0}if((c[h>>2]|0)<2){b[c[j>>2]>>1]=-1;c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}else{b[c[j>>2]>>1]=((d[(c[g>>2]|0)+1>>0]|0)<<2)+(d[c[g>>2]>>0]|0);c[i>>2]=2;j=c[i>>2]|0;l=k;return j|0}return 0}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;d=h+12|0;g=h+8|0;b=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}c[e>>2]=yd(g)|0;if(c[e>>2]|0){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}else{c[g>>2]=Mh(c[g>>2]|0)|0;c[b>>2]=ob(c[d>>2]|0)|0;e=Mh(88)|0;c[f>>2]=e+(c[g>>2]|0)+(c[b>>2]|0);g=c[f>>2]|0;l=h;return g|0}return 0}function Mh(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=N((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;i=o+32|0;m=o+28|0;e=o+24|0;g=o+20|0;k=o+16|0;f=o+12|0;h=o+8|0;j=o+4|0;c[m>>2]=a;c[e>>2]=b;c[g>>2]=d;if(!((c[e>>2]|0)!=48e3&(c[e>>2]|0)!=24e3&(c[e>>2]|0)!=16e3&(c[e>>2]|0)!=12e3&(c[e>>2]|0)!=8e3)?!((c[g>>2]|0)!=1&(c[g>>2]|0)!=2):0){a=c[m>>2]|0;aj(a|0,0,Lh(c[g>>2]|0)|0)|0;c[h>>2]=yd(j)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}c[j>>2]=Mh(c[j>>2]|0)|0;a=Mh(88)|0;c[(c[m>>2]|0)+4>>2]=a;c[c[m>>2]>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[j>>2]|0);c[k>>2]=(c[m>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);c[f>>2]=(c[m>>2]|0)+(c[c[m>>2]>>2]|0);a=c[g>>2]|0;c[(c[m>>2]|0)+8>>2]=a;c[(c[m>>2]|0)+48>>2]=a;c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+16+8>>2]=c[(c[m>>2]|0)+12>>2];c[(c[m>>2]|0)+16>>2]=c[(c[m>>2]|0)+8>>2];c[h>>2]=zd(c[k>>2]|0)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}c[h>>2]=qb(c[f>>2]|0,c[e>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){c[i>>2]=-3;n=c[i>>2]|0;l=o;return n|0}else{a=c[f>>2]|0;c[n>>2]=0;tb(a,10016,n)|0;c[(c[m>>2]|0)+60>>2]=0;c[(c[m>>2]|0)+64>>2]=(c[e>>2]|0)/400|0;n=Oh()|0;c[(c[m>>2]|0)+44>>2]=n;c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}}c[i>>2]=-1;n=c[i>>2]|0;l=o;return n|0}function Oh(){return 0}function Ph(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|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,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,O=0;O=l;l=l+208|0;K=O+88|0;L=O+84|0;o=O+80|0;s=O+76|0;H=O+72|0;G=O+68|0;p=O+64|0;C=O+60|0;y=O+56|0;E=O+52|0;r=O+48|0;t=O+44|0;n=O+40|0;u=O+36|0;F=O+192|0;w=O+32|0;v=O+28|0;x=O+24|0;z=O+20|0;D=O+96|0;I=O+16|0;J=O+12|0;q=O+8|0;A=O+4|0;B=O;c[L>>2]=a;c[o>>2]=d;c[s>>2]=e;c[H>>2]=f;c[G>>2]=h;c[p>>2]=i;c[C>>2]=j;c[y>>2]=k;c[E>>2]=m;if((c[p>>2]|0)<0|(c[p>>2]|0)>1){c[K>>2]=-1;M=c[K>>2]|0;l=O;return M|0}if((c[p>>2]|0)!=0|(c[s>>2]|0)==0|(c[o>>2]|0)==0?(c[G>>2]|0)%((c[(c[L>>2]|0)+12>>2]|0)/400|0|0)|0|0:0){c[K>>2]=-1;M=c[K>>2]|0;l=O;return M|0}if((c[s>>2]|0)==0|(c[o>>2]|0)==0){c[I>>2]=0;while(1){n=(c[H>>2]|0)+((N(c[I>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0)<<2)|0;c[J>>2]=Qh(c[L>>2]|0,0,0,n,(c[G>>2]|0)-(c[I>>2]|0)|0,0)|0;n=c[J>>2]|0;if((c[J>>2]|0)<0){M=9;break}c[I>>2]=(c[I>>2]|0)+n;if((c[I>>2]|0)>=(c[G>>2]|0)){M=11;break}}if((M|0)==9){c[K>>2]=n;M=c[K>>2]|0;l=O;return M|0}else if((M|0)==11){Rh()|0;c[(c[L>>2]|0)+72>>2]=c[I>>2];c[K>>2]=c[I>>2];M=c[K>>2]|0;l=O;return M|0}}if((c[s>>2]|0)<0){c[K>>2]=-1;M=c[K>>2]|0;l=O;return M|0}c[x>>2]=Sh(c[o>>2]|0)|0;c[v>>2]=Th(c[o>>2]|0)|0;c[w>>2]=Ih(c[o>>2]|0,c[(c[L>>2]|0)+12>>2]|0)|0;c[z>>2]=Uh(c[o>>2]|0)|0;c[n>>2]=Jh(c[o>>2]|0,c[s>>2]|0,c[C>>2]|0,F,0,D,u,c[y>>2]|0)|0;if((c[n>>2]|0)<0){c[K>>2]=c[n>>2];M=c[K>>2]|0;l=O;return M|0}c[o>>2]=(c[o>>2]|0)+(c[u>>2]|0);if(c[p>>2]|0){if(!((c[x>>2]|0)==1002?1:(c[G>>2]|0)<(c[w>>2]|0))?(c[(c[L>>2]|0)+56>>2]|0)!=1002:0){c[q>>2]=c[(c[L>>2]|0)+72>>2];if((c[G>>2]|0)-(c[w>>2]|0)|0?(c[A>>2]=Ph(c[L>>2]|0,0,0,c[H>>2]|0,(c[G>>2]|0)-(c[w>>2]|0)|0,0,0,0,c[E>>2]|0)|0,(c[A>>2]|0)<0):0){c[(c[L>>2]|0)+72>>2]=c[q>>2];c[K>>2]=c[A>>2];M=c[K>>2]|0;l=O;return M|0}c[(c[L>>2]|0)+56>>2]=c[x>>2];c[(c[L>>2]|0)+52>>2]=c[v>>2];c[(c[L>>2]|0)+64>>2]=c[w>>2];c[(c[L>>2]|0)+48>>2]=c[z>>2];M=(c[H>>2]|0)+((N(c[(c[L>>2]|0)+8>>2]|0,(c[G>>2]|0)-(c[w>>2]|0)|0)|0)<<2)|0;c[A>>2]=Qh(c[L>>2]|0,c[o>>2]|0,b[D>>1]|0,M,c[w>>2]|0,1)|0;if((c[A>>2]|0)<0){c[K>>2]=c[A>>2];M=c[K>>2]|0;l=O;return M|0}else{Rh()|0;c[(c[L>>2]|0)+72>>2]=c[G>>2];c[K>>2]=c[G>>2];M=c[K>>2]|0;l=O;return M|0}}c[K>>2]=Ph(c[L>>2]|0,0,0,c[H>>2]|0,c[G>>2]|0,0,0,0,c[E>>2]|0)|0;M=c[K>>2]|0;l=O;return M|0}J=N(c[n>>2]|0,c[w>>2]|0)|0;if((J|0)>(c[G>>2]|0)){c[K>>2]=-2;M=c[K>>2]|0;l=O;return M|0}c[(c[L>>2]|0)+56>>2]=c[x>>2];c[(c[L>>2]|0)+52>>2]=c[v>>2];c[(c[L>>2]|0)+64>>2]=c[w>>2];c[(c[L>>2]|0)+48>>2]=c[z>>2];c[t>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;J=(c[H>>2]|0)+((N(c[t>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0)<<2)|0;c[B>>2]=Qh(c[L>>2]|0,c[o>>2]|0,b[D+(c[r>>2]<<1)>>1]|0,J,(c[G>>2]|0)-(c[t>>2]|0)|0,0)|0;if((c[B>>2]|0)<0){M=31;break}c[o>>2]=(c[o>>2]|0)+(b[D+(c[r>>2]<<1)>>1]|0);c[t>>2]=(c[t>>2]|0)+(c[B>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((M|0)==31){c[K>>2]=c[B>>2];M=c[K>>2]|0;l=O;return M|0}c[(c[L>>2]|0)+72>>2]=c[t>>2];Rh()|0;if(c[E>>2]|0)Gh(c[H>>2]|0,c[t>>2]|0,c[(c[L>>2]|0)+8>>2]|0,(c[L>>2]|0)+76|0);else{g[(c[L>>2]|0)+76+4>>2]=0.0;g[(c[L>>2]|0)+76>>2]=0.0}c[K>>2]=c[t>>2];M=c[K>>2]|0;l=O;return M|0} function ca(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function da(){return l|0}function ea(a){a=a|0;l=a}function fa(a,b){a=a|0;b=b|0;l=a;m=b}function ga(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ha(a){a=a|0;y=a}function ia(){return y|0}function ja(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;k=o+4|0;j=o;g[n>>2]=a;c[m>>2]=b;c[i>>2]=d;c[h>>2]=e;c[k>>2]=f;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(+g[n>>2]<+g[(c[m>>2]|0)+(c[j>>2]<<2)>>2])break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)>(c[k>>2]|0)?+g[n>>2]<+g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]+ +g[(c[i>>2]|0)+(c[k>>2]<<2)>>2]:0)c[j>>2]=c[k>>2];if((c[j>>2]|0)>=(c[k>>2]|0)){n=c[j>>2]|0;l=o;return n|0}if(!(+g[n>>2]>+g[(c[m>>2]|0)+((c[k>>2]|0)-1<<2)>>2]-+g[(c[i>>2]|0)+((c[k>>2]|0)-1<<2)>>2])){n=c[j>>2]|0;l=o;return n|0}c[j>>2]=c[k>>2];n=c[j>>2]|0;l=o;return n|0}function ka(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(N(1664525,c[d>>2]|0)|0)+1013904223|0;l=b;return a|0}function la(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+48|0;t=v+40|0;n=v+36|0;o=v+32|0;r=v+28|0;j=v+24|0;k=v+20|0;s=v+16|0;p=v+12|0;m=v+8|0;q=v+4|0;u=v;c[t>>2]=a;c[n>>2]=d;c[o>>2]=e;c[r>>2]=f;c[j>>2]=h;c[k>>2]=i;c[q>>2]=c[(c[t>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+44>>2]<>2];c[p>>2]=0;do{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;f=N(c[p>>2]|0,c[m>>2]|0)|0;a=N(c[p>>2]|0,c[m>>2]|0)|0;g[u>>2]=+ma((c[n>>2]|0)+(f+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]<>2])<<2)|0,(c[n>>2]|0)+(a+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]<>2])<<2)|0,(b[(c[q>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)<>2])+1.0000000272452012e-27;w=+B(+(+g[u>>2]));g[(c[o>>2]|0)+((c[s>>2]|0)+(N(c[p>>2]|0,c[(c[t>>2]|0)+8>>2]|0)|0)<<2)>>2]=w;c[s>>2]=(c[s>>2]|0)+1}a=(c[p>>2]|0)+1|0;c[p>>2]=a}while((a|0)<(c[j>>2]|0));l=v;return}function ma(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+16|0;k=m+12|0;f=m+8|0;h=m+4|0;j=m;c[i>>2]=a;c[k>>2]=b;c[f>>2]=d;g[j>>2]=0.0;c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;g[j>>2]=e+ +g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return +e}function na(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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;y=l;l=l+64|0;x=y+48|0;t=y+44|0;o=y+40|0;p=y+36|0;s=y+32|0;k=y+28|0;m=y+24|0;v=y+20|0;q=y+16|0;n=y+12|0;r=y+8|0;w=y+4|0;u=y;c[x>>2]=a;c[t>>2]=d;c[o>>2]=e;c[p>>2]=f;c[s>>2]=h;c[k>>2]=i;c[m>>2]=j;c[r>>2]=c[(c[x>>2]|0)+32>>2];c[n>>2]=N(c[m>>2]|0,c[(c[x>>2]|0)+44>>2]|0)|0;c[q>>2]=0;do{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break;g[u>>2]=1.0/(+g[(c[p>>2]|0)+((c[v>>2]|0)+(N(c[q>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);c[w>>2]=N(c[m>>2]|0,b[(c[r>>2]|0)+(c[v>>2]<<1)>>1]|0)|0;while(1){if((c[w>>2]|0)>=(N(c[m>>2]|0,b[(c[r>>2]|0)+((c[v>>2]|0)+1<<1)>>1]|0)|0))break;z=+g[(c[t>>2]|0)+((c[w>>2]|0)+(N(c[q>>2]|0,c[n>>2]|0)|0)<<2)>>2];g[(c[o>>2]|0)+((c[w>>2]|0)+(N(c[q>>2]|0,c[n>>2]|0)|0)<<2)>>2]=z*+g[u>>2];c[w>>2]=(c[w>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}a=(c[q>>2]|0)+1|0;c[q>>2]=a}while((a|0)<(c[k>>2]|0));l=y;return}function oa(a,d,e,f,h,i,j,k,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;F=l;l=l+80|0;G=F+72|0;q=F+68|0;x=F+64|0;r=F+60|0;D=F+56|0;v=F+52|0;o=F+48|0;n=F+44|0;C=F+40|0;z=F+36|0;p=F+32|0;t=F+28|0;w=F+24|0;E=F+20|0;u=F+16|0;A=F+12|0;s=F+8|0;y=F+4|0;B=F;c[G>>2]=a;c[q>>2]=d;c[x>>2]=e;c[r>>2]=f;c[D>>2]=h;c[v>>2]=i;c[o>>2]=j;c[n>>2]=k;c[C>>2]=m;c[u>>2]=c[(c[G>>2]|0)+32>>2];c[p>>2]=N(c[o>>2]|0,c[(c[G>>2]|0)+44>>2]|0)|0;c[t>>2]=N(c[o>>2]|0,b[(c[u>>2]|0)+(c[v>>2]<<1)>>1]|0)|0;if((c[n>>2]|0)!=1){if((c[t>>2]|0)<((c[p>>2]|0)/(c[n>>2]|0)|0|0))j=c[t>>2]|0;else j=(c[p>>2]|0)/(c[n>>2]|0)|0;c[t>>2]=j}if(c[C>>2]|0){c[t>>2]=0;c[v>>2]=0;c[D>>2]=0}c[w>>2]=c[x>>2];c[E>>2]=(c[q>>2]|0)+((N(c[o>>2]|0,b[(c[u>>2]|0)+(c[D>>2]<<1)>>1]|0)|0)<<2);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(N(c[o>>2]|0,b[(c[u>>2]|0)+(c[D>>2]<<1)>>1]|0)|0))break;G=c[w>>2]|0;c[w>>2]=G+4;g[G>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[D>>2];while(1){if((c[z>>2]|0)>=(c[v>>2]|0))break;c[A>>2]=N(c[o>>2]|0,b[(c[u>>2]|0)+(c[z>>2]<<1)>>1]|0)|0;c[s>>2]=N(c[o>>2]|0,b[(c[u>>2]|0)+((c[z>>2]|0)+1<<1)>>1]|0)|0;g[B>>2]=+g[(c[r>>2]|0)+(c[z>>2]<<2)>>2]+ +g[17464+(c[z>>2]<<2)>>2];g[y>>2]=+K(+(+g[B>>2]*.6931471805599453));do{G=c[E>>2]|0;c[E>>2]=G+4;H=+g[G>>2]*+g[y>>2];G=c[w>>2]|0;c[w>>2]=G+4;g[G>>2]=H;G=(c[A>>2]|0)+1|0;c[A>>2]=G}while((G|0)<(c[s>>2]|0));c[z>>2]=(c[z>>2]|0)+1}aj((c[x>>2]|0)+(c[t>>2]<<2)|0,0,(c[p>>2]|0)-(c[t>>2]|0)<<2|0)|0;l=F;return}function pa(a,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,L=0,M=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;Y=l;l=l+112|0;L=Y+108|0;z=Y+104|0;D=Y+100|0;w=Y+96|0;u=Y+92|0;V=Y+88|0;Z=Y+84|0;F=Y+80|0;J=Y+76|0;O=Y+72|0;Q=Y+68|0;R=Y+64|0;U=Y+60|0;A=Y+56|0;C=Y+52|0;G=Y+48|0;H=Y+44|0;I=Y+40|0;x=Y+36|0;X=Y+32|0;W=Y+28|0;E=Y+24|0;y=Y+20|0;M=Y+16|0;P=Y+12|0;v=Y+8|0;S=Y+4|0;T=Y;c[L>>2]=a;c[z>>2]=e;c[D>>2]=f;c[w>>2]=h;c[u>>2]=i;c[V>>2]=j;c[Z>>2]=k;c[F>>2]=m;c[J>>2]=n;c[O>>2]=o;c[Q>>2]=p;c[R>>2]=q;c[U>>2]=r;c[A>>2]=s;c[G>>2]=c[Z>>2];while(1){if((c[G>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=(b[(c[(c[L>>2]|0)+32>>2]|0)+((c[G>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[L>>2]|0)+32>>2]|0)+(c[G>>2]<<1)>>1]|0);Z=qa(1+(c[(c[R>>2]|0)+(c[G>>2]<<2)>>2]|0)|0,(b[(c[(c[L>>2]|0)+32>>2]|0)+((c[G>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[L>>2]|0)+32>>2]|0)+(c[G>>2]<<1)>>1]|0)|0)|0;c[E>>2]=Z>>>(c[w>>2]|0);g[X>>2]=+K(+(+(c[E>>2]|0)*-.125*.6931471805599453))*.5;g[W>>2]=1.0/+B(+(+(c[x>>2]<>2]|0)));c[C>>2]=0;do{c[T>>2]=0;Z=N(c[C>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0;g[M>>2]=+g[(c[O>>2]|0)+(Z+(c[G>>2]|0)<<2)>>2];Z=N(c[C>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0;g[P>>2]=+g[(c[Q>>2]|0)+(Z+(c[G>>2]|0)<<2)>>2];if((c[u>>2]|0)==1){if(+g[M>>2]>+g[(c[O>>2]|0)+((c[(c[L>>2]|0)+8>>2]|0)+(c[G>>2]|0)<<2)>>2])t=+g[M>>2];else t=+g[(c[O>>2]|0)+((c[(c[L>>2]|0)+8>>2]|0)+(c[G>>2]|0)<<2)>>2];g[M>>2]=t;if(+g[P>>2]>+g[(c[Q>>2]|0)+((c[(c[L>>2]|0)+8>>2]|0)+(c[G>>2]|0)<<2)>>2])t=+g[P>>2];else t=+g[(c[Q>>2]|0)+((c[(c[L>>2]|0)+8>>2]|0)+(c[G>>2]|0)<<2)>>2];g[P>>2]=t}Z=N(c[C>>2]|0,c[(c[L>>2]|0)+8>>2]|0)|0;g[v>>2]=+g[(c[J>>2]|0)+(Z+(c[G>>2]|0)<<2)>>2]-(+g[M>>2]<+g[P>>2]?+g[M>>2]:+g[P>>2]);g[v>>2]=0.0>+g[v>>2]?0.0:+g[v>>2];g[S>>2]=+K(+(-+g[v>>2]*.6931471805599453))*2.0;if((c[w>>2]|0)==3)g[S>>2]=+g[S>>2]*1.4142135381698608;g[S>>2]=+g[X>>2]<+g[S>>2]?+g[X>>2]:+g[S>>2];g[S>>2]=+g[S>>2]*+g[W>>2];Z=(c[z>>2]|0)+((N(c[C>>2]|0,c[V>>2]|0)|0)<<2)|0;c[y>>2]=Z+(b[(c[(c[L>>2]|0)+32>>2]|0)+(c[G>>2]<<1)>>1]<>2]<<2);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(1<>2]|0))break;Z=N(c[G>>2]|0,c[u>>2]|0)|0;if(!(d[(c[D>>2]|0)+(Z+(c[C>>2]|0))>>0]&1<>2])){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[x>>2]|0))break;c[U>>2]=ka(c[U>>2]|0)|0;t=+g[S>>2];g[(c[y>>2]|0)+((c[H>>2]<>2])+(c[I>>2]|0)<<2)>>2]=c[U>>2]&32768|0?t:-t;c[H>>2]=(c[H>>2]|0)+1}c[T>>2]=1}c[I>>2]=(c[I>>2]|0)+1}if(c[T>>2]|0)cd(c[y>>2]|0,c[x>>2]<>2],1.0,c[A>>2]|0);Z=(c[C>>2]|0)+1|0;c[C>>2]=Z}while((Z|0)<(c[u>>2]|0));c[G>>2]=(c[G>>2]|0)+1}l=Y;return}function qa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function ra(a,d,e,f,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var 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,O=0;O=l;l=l+112|0;F=O+104|0;D=O+100|0;s=O+96|0;t=O+92|0;C=O+88|0;y=O+84|0;H=O+80|0;K=O+76|0;x=O+72|0;o=O+68|0;p=O+64|0;A=O+60|0;u=O+56|0;r=O+52|0;G=O+48|0;E=O+44|0;w=O+40|0;v=O+36|0;z=O+32|0;B=O+28|0;q=O+24|0;J=O+20|0;I=O+8|0;L=O+4|0;M=O;c[D>>2]=a;c[s>>2]=d;c[t>>2]=e;c[C>>2]=f;c[y>>2]=h;c[H>>2]=i;c[K>>2]=j;c[x>>2]=k;c[o>>2]=m;c[p>>2]=n;c[G>>2]=0;c[E>>2]=0;c[w>>2]=c[(c[D>>2]|0)+32>>2];c[z>>2]=0;c[r>>2]=N(c[p>>2]|0,c[(c[D>>2]|0)+44>>2]|0)|0;if((N(c[p>>2]|0,(b[(c[w>>2]|0)+(c[x>>2]<<1)>>1]|0)-(b[(c[w>>2]|0)+((c[x>>2]|0)-1<<1)>>1]|0)|0)|0)<=8){c[F>>2]=0;M=c[F>>2]|0;l=O;return M|0}c[u>>2]=0;do{c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[x>>2]|0))break;c[J>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;j=(c[s>>2]|0)+((N(c[p>>2]|0,b[(c[w>>2]|0)+(c[A>>2]<<1)>>1]|0)|0)<<2)|0;c[L>>2]=j+((N(c[u>>2]|0,c[r>>2]|0)|0)<<2);c[q>>2]=N(c[p>>2]|0,(b[(c[w>>2]|0)+((c[A>>2]|0)+1<<1)>>1]|0)-(b[(c[w>>2]|0)+(c[A>>2]<<1)>>1]|0)|0)|0;if((c[q>>2]|0)>8){c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break;g[M>>2]=+g[(c[L>>2]|0)+(c[B>>2]<<2)>>2]*+g[(c[L>>2]|0)+(c[B>>2]<<2)>>2]*+(c[q>>2]|0);if(+g[M>>2]<.25)c[I>>2]=(c[I>>2]|0)+1;if(+g[M>>2]<.0625){j=I+4|0;c[j>>2]=(c[j>>2]|0)+1}if(+g[M>>2]<.015625){j=I+8|0;c[j>>2]=(c[j>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}if((c[A>>2]|0)>((c[(c[D>>2]|0)+8>>2]|0)-4|0)){j=qa((c[I+4>>2]|0)+(c[I>>2]|0)<<5,c[q>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+j}c[J>>2]=((c[I+8>>2]<<1|0)>=(c[q>>2]|0)&1)+((c[I+4>>2]<<1|0)>=(c[q>>2]|0)&1)+((c[I>>2]<<1|0)>=(c[q>>2]|0)&1);c[G>>2]=(c[G>>2]|0)+(c[J>>2]<<8);c[E>>2]=(c[E>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}j=(c[u>>2]|0)+1|0;c[u>>2]=j}while((j|0)<(c[o>>2]|0));do if(c[K>>2]|0){if(c[z>>2]|0)c[z>>2]=qa(c[z>>2]|0,N(c[o>>2]|0,4-(c[(c[D>>2]|0)+8>>2]|0)+(c[x>>2]|0)|0)|0)|0;c[c[y>>2]>>2]=(c[c[y>>2]>>2]|0)+(c[z>>2]|0)>>1;c[z>>2]=c[c[y>>2]>>2];if((c[c[H>>2]>>2]|0)!=2){if(!(c[c[H>>2]>>2]|0))c[z>>2]=(c[z>>2]|0)-4}else c[z>>2]=(c[z>>2]|0)+4;if((c[z>>2]|0)>22){c[c[H>>2]>>2]=2;break}else{c[c[H>>2]>>2]=(c[z>>2]|0)>18?1:0;break}}while(0);c[G>>2]=qa(c[G>>2]|0,c[E>>2]|0)|0;c[G>>2]=(c[G>>2]|0)+(c[c[t>>2]>>2]|0)>>1;c[c[t>>2]>>2]=c[G>>2];c[G>>2]=((c[G>>2]|0)*3|0)+((3-(c[C>>2]|0)<<7)+64)+2>>2;do if((c[G>>2]|0)>=80){if((c[G>>2]|0)<256){c[v>>2]=2;break}if((c[G>>2]|0)<384){c[v>>2]=1;break}else{c[v>>2]=0;break}}else c[v>>2]=3;while(0);c[F>>2]=c[v>>2];M=c[F>>2]|0;l=O;return M|0}function sa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;e=n+20|0;j=n+16|0;h=n+12|0;i=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[e>>2]=b;c[j>>2]=d;c[e>>2]=c[e>>2]>>1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;d=N(c[j>>2]<<1,c[i>>2]|0)|0;g[k>>2]=+g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]*.7071067690849304;d=N(c[j>>2]|0,(c[i>>2]<<1)+1|0)|0;g[m>>2]=+g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]*.7071067690849304;d=N(c[j>>2]<<1,c[i>>2]|0)|0;g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]=+g[k>>2]+ +g[m>>2];d=N(c[j>>2]|0,(c[i>>2]<<1)+1|0)|0;g[(c[f>>2]|0)+(d+(c[h>>2]|0)<<2)>>2]=+g[k>>2]-+g[m>>2];c[i>>2]=(c[i>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}l=n;return}function ta(e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;var B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Aa=l;l=l+256|0;Ca=Aa+240|0;fa=Aa+236|0;pa=Aa+232|0;V=Aa+228|0;H=Aa+224|0;J=Aa+220|0;O=Aa+216|0;Da=Aa+212|0;ja=Aa+208|0;Ea=Aa+204|0;oa=Aa+200|0;R=Aa+196|0;aa=Aa+192|0;sa=Aa+188|0;ta=Aa+184|0;L=Aa+180|0;T=Aa+176|0;D=Aa+172|0;M=Aa+168|0;na=Aa+164|0;Ba=Aa+160|0;Z=Aa+156|0;ka=Aa+152|0;S=Aa+148|0;ga=Aa+144|0;ha=Aa+140|0;ea=Aa+136|0;B=Aa+132|0;E=Aa+128|0;da=Aa+124|0;xa=Aa+120|0;C=Aa+116|0;ia=Aa+112|0;la=Aa+108|0;P=Aa+64|0;ma=Aa+60|0;qa=Aa+56|0;K=Aa+52|0;F=Aa+48|0;Q=Aa+44|0;U=Aa+40|0;G=Aa+36|0;I=Aa+32|0;ra=Aa+28|0;ya=Aa+24|0;za=Aa+20|0;ca=Aa+16|0;Y=Aa+12|0;W=Aa+8|0;X=Aa+4|0;ba=Aa;c[Ca>>2]=e;c[fa>>2]=f;c[pa>>2]=h;c[V>>2]=i;c[H>>2]=j;c[J>>2]=k;c[O>>2]=m;c[Da>>2]=n;c[ja>>2]=o;c[Ea>>2]=p;c[oa>>2]=q;c[R>>2]=r;c[aa>>2]=s;c[sa>>2]=t;c[ta>>2]=u;c[L>>2]=v;c[T>>2]=w;c[D>>2]=x;c[M>>2]=y;c[na>>2]=z;c[Ba>>2]=A;c[S>>2]=c[(c[fa>>2]|0)+32>>2];c[xa>>2]=1;c[C>>2]=c[J>>2]|0?2:1;c[la>>2]=((c[Ca>>2]|0)!=0^1)&1;c[E>>2]=1<>2];c[B>>2]=c[Ea>>2]|0?c[E>>2]|0:1;c[ia>>2]=N(c[E>>2]|0,b[(c[S>>2]|0)+(c[pa>>2]<<1)>>1]|0)|0;t=N(c[E>>2]|0,b[(c[S>>2]|0)+((c[(c[fa>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0;t=N(c[C>>2]|0,t-(c[ia>>2]|0)|0)|0;c[ma>>2]=$()|0;u=l;l=l+((1*(t<<2)|0)+15&-16)|0;c[ga>>2]=u;u=(c[ga>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+((c[(c[fa>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2)|0;c[ha>>2]=u+(0-(c[ia>>2]|0)<<2);c[ea>>2]=(c[H>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+((c[(c[fa>>2]|0)+8>>2]|0)-1<<1)>>1]|0)|0)<<2);c[da>>2]=0;c[P+32>>2]=c[Da>>2];c[P+24>>2]=c[T>>2];c[P>>2]=c[Ca>>2];c[P+12>>2]=c[aa>>2];c[P+4>>2]=c[fa>>2];c[P+36>>2]=c[c[na>>2]>>2];c[P+16>>2]=c[oa>>2];c[P+40>>2]=c[Ba>>2];c[Z>>2]=c[pa>>2];while(1){if((c[Z>>2]|0)>=(c[V>>2]|0))break;c[U>>2]=-1;c[ra>>2]=0;c[P+8>>2]=c[Z>>2];c[ca>>2]=(c[Z>>2]|0)==((c[V>>2]|0)-1|0)&1;c[G>>2]=(c[H>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2);if(c[J>>2]|0)c[I>>2]=(c[J>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2);else c[I>>2]=0;Ea=N(c[E>>2]|0,b[(c[S>>2]|0)+((c[Z>>2]|0)+1<<1)>>1]|0)|0;c[F>>2]=Ea-(N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0);c[qa>>2]=Gb(c[T>>2]|0)|0;if((c[Z>>2]|0)!=(c[pa>>2]|0))c[L>>2]=(c[L>>2]|0)-(c[qa>>2]|0);c[ka>>2]=(c[ta>>2]|0)-(c[qa>>2]|0)-1;c[P+28>>2]=c[ka>>2];if((c[Z>>2]|0)<=((c[M>>2]|0)-1|0)){if(3<((c[M>>2]|0)-(c[Z>>2]|0)|0))x=3;else x=(c[M>>2]|0)-(c[Z>>2]|0)|0;c[Q>>2]=ua(c[L>>2]|0,x)|0;if(((c[ka>>2]|0)+1|0)<((c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0))x=(c[ka>>2]|0)+1|0;else x=(c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0;do if(16383>=(x|0))if(((c[ka>>2]|0)+1|0)<((c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0)){x=(c[ka>>2]|0)+1|0;break}else{x=(c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0;break}else x=16383;while(0);do if(0<=(x|0)){if(((c[ka>>2]|0)+1|0)<((c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0))x=(c[ka>>2]|0)+1|0;else x=(c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0;if(16383>=(x|0))if(((c[ka>>2]|0)+1|0)<((c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0)){x=(c[ka>>2]|0)+1|0;break}else{x=(c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Q>>2]|0)|0;break}else x=16383}else x=0;while(0);c[K>>2]=x}else c[K>>2]=0;if((c[la>>2]|0?(Ea=N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0,(Ea-(c[F>>2]|0)|0)>=(N(c[E>>2]|0,b[(c[S>>2]|0)+(c[pa>>2]<<1)>>1]|0)|0)):0)?(c[xa>>2]|0)!=0|(c[da>>2]|0)==0:0)c[da>>2]=c[Z>>2];c[ra>>2]=c[(c[sa>>2]|0)+(c[Z>>2]<<2)>>2];c[P+20>>2]=c[ra>>2];if((c[Z>>2]|0)>=(c[(c[fa>>2]|0)+12>>2]|0)){c[G>>2]=c[ga>>2];if(c[J>>2]|0)c[I>>2]=c[ga>>2];c[ea>>2]=0}if((c[Z>>2]|0)==((c[V>>2]|0)-1|0))c[ea>>2]=0;if(c[da>>2]|0?(c[oa>>2]|0)!=3|(c[B>>2]|0)>1|(c[ra>>2]|0)<0:0){Ea=N(c[E>>2]|0,b[(c[S>>2]|0)+(c[da>>2]<<1)>>1]|0)|0;if(0>(Ea-(c[ia>>2]|0)-(c[F>>2]|0)|0))x=0;else{x=N(c[E>>2]|0,b[(c[S>>2]|0)+(c[da>>2]<<1)>>1]|0)|0;x=x-(c[ia>>2]|0)-(c[F>>2]|0)|0}c[U>>2]=x;c[Y>>2]=c[da>>2];do{Ca=c[E>>2]|0;Da=c[S>>2]|0;Ea=(c[Y>>2]|0)+-1|0;c[Y>>2]=Ea;Ea=N(Ca,b[Da+(Ea<<1)>>1]|0)|0}while((Ea|0)>((c[U>>2]|0)+(c[ia>>2]|0)|0));c[W>>2]=(c[da>>2]|0)-1;do{Ca=c[E>>2]|0;Da=c[S>>2]|0;Ea=(c[W>>2]|0)+1|0;c[W>>2]=Ea;Ea=N(Ca,b[Da+(Ea<<1)>>1]|0)|0}while((Ea|0)<((c[U>>2]|0)+(c[ia>>2]|0)+(c[F>>2]|0)|0));c[za>>2]=0;c[ya>>2]=0;c[X>>2]=c[Y>>2];do{Ea=d[(c[O>>2]|0)+((N(c[X>>2]|0,c[C>>2]|0)|0)+0)>>0]|0;c[ya>>2]=c[ya>>2]|Ea;Ea=N(c[X>>2]|0,c[C>>2]|0)|0;c[za>>2]=c[za>>2]|d[(c[O>>2]|0)+(Ea+(c[C>>2]|0)-1)>>0];Ea=(c[X>>2]|0)+1|0;c[X>>2]=Ea}while((Ea|0)<(c[W>>2]|0))}else{Ea=(1<>2])-1|0;c[za>>2]=Ea;c[ya>>2]=Ea}a:do if((c[R>>2]|0?(c[Z>>2]|0)==(c[aa>>2]|0):0)?(c[R>>2]=0,c[la>>2]|0):0){c[ba>>2]=0;while(1){Ea=N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0;if((c[ba>>2]|0)>=(Ea-(c[ia>>2]|0)|0))break a;g[(c[ga>>2]|0)+(c[ba>>2]<<2)>>2]=(+g[(c[ga>>2]|0)+(c[ba>>2]<<2)>>2]+ +g[(c[ha>>2]|0)+(c[ba>>2]<<2)>>2])*.5;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);if(c[R>>2]|0){if((c[U>>2]|0)!=-1)x=(c[ga>>2]|0)+(c[U>>2]<<2)|0;else x=0;if(c[ca>>2]|0)j=0;else{j=(c[ga>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[ia>>2]|0)<<2)|0}c[ya>>2]=va(P,c[G>>2]|0,c[F>>2]|0,(c[K>>2]|0)/2|0,c[B>>2]|0,x,c[D>>2]|0,j,1.0,c[ea>>2]|0,c[ya>>2]|0)|0;if((c[U>>2]|0)!=-1)x=(c[ha>>2]|0)+(c[U>>2]<<2)|0;else x=0;if(c[ca>>2]|0)j=0;else{j=(c[ha>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[ia>>2]|0)<<2)|0}c[za>>2]=va(P,c[I>>2]|0,c[F>>2]|0,(c[K>>2]|0)/2|0,c[B>>2]|0,x,c[D>>2]|0,j,1.0,c[ea>>2]|0,c[za>>2]|0)|0}else{k=c[G>>2]|0;if(c[I>>2]|0){if((c[U>>2]|0)!=-1)x=(c[ga>>2]|0)+(c[U>>2]<<2)|0;else x=0;if(c[ca>>2]|0)j=0;else{j=(c[ga>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[ia>>2]|0)<<2)|0}c[ya>>2]=wa(P,k,c[I>>2]|0,c[F>>2]|0,c[K>>2]|0,c[B>>2]|0,x,c[D>>2]|0,j,c[ea>>2]|0,c[ya>>2]|c[za>>2])|0}else{if((c[U>>2]|0)!=-1)x=(c[ga>>2]|0)+(c[U>>2]<<2)|0;else x=0;if(c[ca>>2]|0)j=0;else{j=(c[ga>>2]|0)+((N(c[E>>2]|0,b[(c[S>>2]|0)+(c[Z>>2]<<1)>>1]|0)|0)<<2)|0;j=j+(0-(c[ia>>2]|0)<<2)|0}c[ya>>2]=va(P,k,c[F>>2]|0,c[K>>2]|0,c[B>>2]|0,x,c[D>>2]|0,j,1.0,c[ea>>2]|0,c[ya>>2]|c[za>>2])|0}c[za>>2]=c[ya>>2]}a[(c[O>>2]|0)+((N(c[Z>>2]|0,c[C>>2]|0)|0)+0)>>0]=c[ya>>2];Ea=N(c[Z>>2]|0,c[C>>2]|0)|0;a[(c[O>>2]|0)+(Ea+(c[C>>2]|0)-1)>>0]=c[za>>2];c[L>>2]=(c[L>>2]|0)+((c[(c[ja>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[qa>>2]|0));c[xa>>2]=(c[K>>2]|0)>(c[F>>2]<<3|0)&1;c[Z>>2]=(c[Z>>2]|0)+1}c[c[na>>2]>>2]=c[P+36>>2];_(c[ma>>2]|0);l=Aa;return}function ua(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return (c[e>>2]|0)/(c[d>>2]|0)|0|0}function va(a,b,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=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;Q=l;l=l+112|0;N=Q+100|0;z=Q+96|0;w=Q+92|0;s=Q+88|0;x=Q+84|0;p=Q+80|0;H=Q+76|0;r=Q+72|0;I=Q+68|0;D=Q+64|0;J=Q+60|0;C=Q+56|0;t=Q+52|0;u=Q+48|0;v=Q+44|0;q=Q+40|0;P=Q+36|0;L=Q+32|0;G=Q+28|0;y=Q+24|0;M=Q+20|0;F=Q+16|0;A=Q+12|0;O=Q+8|0;E=Q+4|0;K=Q;c[z>>2]=a;c[w>>2]=b;c[s>>2]=e;c[x>>2]=f;c[p>>2]=h;c[H>>2]=i;c[r>>2]=j;c[I>>2]=k;g[D>>2]=m;c[J>>2]=n;c[C>>2]=o;c[t>>2]=c[s>>2];c[u>>2]=c[s>>2];c[q>>2]=c[p>>2];c[P>>2]=0;c[L>>2]=0;c[y>>2]=0;c[M>>2]=((c[c[z>>2]>>2]|0)!=0^1)&1;c[A>>2]=c[c[z>>2]>>2];c[O>>2]=c[(c[z>>2]|0)+20>>2];c[G>>2]=(c[q>>2]|0)==1&1;c[u>>2]=qa(c[u>>2]|0,c[p>>2]|0)|0;if((c[s>>2]|0)==1){c[N>>2]=xa(c[z>>2]|0,c[w>>2]|0,0,c[x>>2]|0,c[I>>2]|0)|0;P=c[N>>2]|0;l=Q;return P|0}if((c[O>>2]|0)>0)c[L>>2]=c[O>>2];do if((c[J>>2]|0)!=0&(c[H>>2]|0)!=0){if((c[L>>2]|0)==0?!((c[u>>2]&1|0)==0&(c[O>>2]|0)<0|(c[q>>2]|0)>1):0)break;_i(c[J>>2]|0,c[H>>2]|0,(c[s>>2]<<2)+0|0)|0;c[H>>2]=c[J>>2]}while(0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[L>>2]|0))break;if(c[A>>2]|0)sa(c[w>>2]|0,c[s>>2]>>c[F>>2],1<>2]);if(c[H>>2]|0)sa(c[H>>2]|0,c[s>>2]>>c[F>>2],1<>2]);c[C>>2]=d[25196+(c[C>>2]&15)>>0]|0|(d[25196+(c[C>>2]>>4)>>0]|0)<<2;c[F>>2]=(c[F>>2]|0)+1}c[p>>2]=c[p>>2]>>c[L>>2];c[u>>2]=c[u>>2]<>2];while(1){if(!((c[u>>2]&1|0)==0?(c[O>>2]|0)<0:0))break;if(c[A>>2]|0)sa(c[w>>2]|0,c[u>>2]|0,c[p>>2]|0);if(c[H>>2]|0)sa(c[H>>2]|0,c[u>>2]|0,c[p>>2]|0);c[C>>2]=c[C>>2]|c[C>>2]<>2];c[p>>2]=c[p>>2]<<1;c[u>>2]=c[u>>2]>>1;c[P>>2]=(c[P>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+1}c[q>>2]=c[p>>2];c[v>>2]=c[u>>2];if((c[q>>2]|0)>1){if(c[A>>2]|0)ya(c[w>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<>2],c[G>>2]|0);if(c[H>>2]|0)ya(c[H>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<>2],c[G>>2]|0)}c[y>>2]=za(c[z>>2]|0,c[w>>2]|0,c[s>>2]|0,c[x>>2]|0,c[p>>2]|0,c[H>>2]|0,c[r>>2]|0,+g[D>>2],c[C>>2]|0)|0;if(c[M>>2]|0){if((c[q>>2]|0)>1)Aa(c[w>>2]|0,c[u>>2]>>c[L>>2],c[q>>2]<>2],c[G>>2]|0);c[u>>2]=c[v>>2];c[p>>2]=c[q>>2];c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[P>>2]|0))break;c[p>>2]=c[p>>2]>>1;c[u>>2]=c[u>>2]<<1;c[y>>2]=c[y>>2]|(c[y>>2]|0)>>>(c[p>>2]|0);sa(c[w>>2]|0,c[u>>2]|0,c[p>>2]|0);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[L>>2]|0))break;c[y>>2]=d[25212+(c[y>>2]|0)>>0];sa(c[w>>2]|0,c[t>>2]>>c[F>>2],1<>2]);c[F>>2]=(c[F>>2]|0)+1}c[p>>2]=c[p>>2]<>2];a:do if(c[I>>2]|0){g[K>>2]=+B(+(+(c[t>>2]|0)));c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[t>>2]|0))break a;g[(c[I>>2]|0)+(c[E>>2]<<2)>>2]=+g[K>>2]*+g[(c[w>>2]|0)+(c[E>>2]<<2)>>2];c[E>>2]=(c[E>>2]|0)+1}}while(0);c[y>>2]=c[y>>2]&(1<>2])-1}c[N>>2]=c[y>>2];P=c[N>>2]|0;l=Q;return P|0}function wa(a,b,d,e,f,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var 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,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+160|0;U=X+156|0;I=X+152|0;F=X+148|0;G=X+144|0;E=X+140|0;A=X+136|0;C=X+132|0;N=X+128|0;D=X+124|0;O=X+120|0;P=X+116|0;J=X+112|0;r=X+108|0;s=X+104|0;K=X+100|0;R=X+96|0;W=X+92|0;H=X+88|0;T=X+84|0;Q=X+80|0;V=X+76|0;z=X+72|0;L=X+68|0;B=X+64|0;u=X+40|0;t=X+36|0;q=X+32|0;p=X+28|0;o=X+24|0;v=X+20|0;x=X+16|0;y=X+12|0;w=X+8|0;S=X+4|0;M=X;c[I>>2]=a;c[F>>2]=b;c[G>>2]=d;c[E>>2]=e;c[A>>2]=f;c[C>>2]=h;c[N>>2]=i;c[D>>2]=j;c[O>>2]=k;c[P>>2]=m;c[J>>2]=n;c[r>>2]=0;c[s>>2]=0;c[K>>2]=0;g[R>>2]=0.0;g[W>>2]=0.0;c[H>>2]=0;c[T>>2]=((c[c[I>>2]>>2]|0)!=0^1)&1;c[q>>2]=c[c[I>>2]>>2];c[p>>2]=c[(c[I>>2]|0)+24>>2];if((c[E>>2]|0)==1){c[U>>2]=xa(c[I>>2]|0,c[F>>2]|0,c[G>>2]|0,c[A>>2]|0,c[O>>2]|0)|0;W=c[U>>2]|0;l=X;return W|0}c[t>>2]=c[J>>2];Ba(c[I>>2]|0,u,c[F>>2]|0,c[G>>2]|0,c[E>>2]|0,A,c[C>>2]|0,c[C>>2]|0,c[D>>2]|0,1,J);c[K>>2]=c[u>>2];c[r>>2]=c[u+4>>2];c[s>>2]=c[u+8>>2];c[z>>2]=c[u+12>>2];c[L>>2]=c[u+16>>2];c[B>>2]=c[u+20>>2];g[R>>2]=+(c[r>>2]|0)*.000030517578125;g[W>>2]=+(c[s>>2]|0)*.000030517578125;do if((c[E>>2]|0)==2){c[v>>2]=0;c[Q>>2]=c[A>>2];c[V>>2]=0;c[V>>2]=(c[L>>2]|0)!=0&(c[L>>2]|0)!=16384?8:0;c[Q>>2]=(c[Q>>2]|0)-(c[V>>2]|0);c[o>>2]=(c[L>>2]|0)>8192&1;S=(c[I>>2]|0)+28|0;c[S>>2]=(c[S>>2]|0)-((c[B>>2]|0)+(c[V>>2]|0));c[x>>2]=c[o>>2]|0?c[G>>2]|0:c[F>>2]|0;c[y>>2]=c[o>>2]|0?c[F>>2]|0:c[G>>2]|0;do if(c[V>>2]|0)if(c[q>>2]|0){c[v>>2]=+g[c[x>>2]>>2]*+g[(c[y>>2]|0)+4>>2]-+g[(c[x>>2]|0)+4>>2]*+g[c[y>>2]>>2]<0.0&1;bc(c[p>>2]|0,c[v>>2]|0,1);break}else{c[v>>2]=Rb(c[p>>2]|0,1)|0;break}while(0);c[v>>2]=1-(c[v>>2]<<1);c[H>>2]=va(c[I>>2]|0,c[x>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[t>>2]|0)|0;g[c[y>>2]>>2]=+(0-(c[v>>2]|0)|0)*+g[(c[x>>2]|0)+4>>2];g[(c[y>>2]|0)+4>>2]=+(c[v>>2]|0)*+g[c[x>>2]>>2];if(c[T>>2]|0){g[c[F>>2]>>2]=+g[R>>2]*+g[c[F>>2]>>2];g[(c[F>>2]|0)+4>>2]=+g[R>>2]*+g[(c[F>>2]|0)+4>>2];g[c[G>>2]>>2]=+g[W>>2]*+g[c[G>>2]>>2];g[(c[G>>2]|0)+4>>2]=+g[W>>2]*+g[(c[G>>2]|0)+4>>2];g[w>>2]=+g[c[F>>2]>>2];g[c[F>>2]>>2]=+g[w>>2]-+g[c[G>>2]>>2];g[c[G>>2]>>2]=+g[w>>2]+ +g[c[G>>2]>>2];g[w>>2]=+g[(c[F>>2]|0)+4>>2];g[(c[F>>2]|0)+4>>2]=+g[w>>2]-+g[(c[G>>2]|0)+4>>2];g[(c[G>>2]|0)+4>>2]=+g[w>>2]+ +g[(c[G>>2]|0)+4>>2]}}else{h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0;if(0<=(h|0)){h=c[A>>2]|0;if((c[A>>2]|0)>=(((c[A>>2]|0)-(c[z>>2]|0)|0)/2|0|0))h=(h-(c[z>>2]|0)|0)/2|0}else h=0;c[Q>>2]=h;c[V>>2]=(c[A>>2]|0)-(c[Q>>2]|0);h=(c[I>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[B>>2]|0);c[S>>2]=c[(c[I>>2]|0)+28>>2];h=c[I>>2]|0;if((c[Q>>2]|0)>=(c[V>>2]|0)){c[H>>2]=va(h,c[F>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[J>>2]|0)|0;c[S>>2]=(c[Q>>2]|0)-((c[S>>2]|0)-(c[(c[I>>2]|0)+28>>2]|0));if((c[S>>2]|0)>24&(c[L>>2]|0)!=0)c[V>>2]=(c[V>>2]|0)+((c[S>>2]|0)-24);W=va(c[I>>2]|0,c[G>>2]|0,c[E>>2]|0,c[V>>2]|0,c[C>>2]|0,0,c[D>>2]|0,0,+g[W>>2],0,c[J>>2]>>c[C>>2])|0;c[H>>2]=c[H>>2]|W;break}else{c[H>>2]=va(h,c[G>>2]|0,c[E>>2]|0,c[V>>2]|0,c[C>>2]|0,0,c[D>>2]|0,0,+g[W>>2],0,c[J>>2]>>c[C>>2])|0;c[S>>2]=(c[V>>2]|0)-((c[S>>2]|0)-(c[(c[I>>2]|0)+28>>2]|0));if((c[S>>2]|0)>24&(c[L>>2]|0)!=16384)c[Q>>2]=(c[Q>>2]|0)+((c[S>>2]|0)-24);W=va(c[I>>2]|0,c[F>>2]|0,c[E>>2]|0,c[Q>>2]|0,c[C>>2]|0,c[N>>2]|0,c[D>>2]|0,c[O>>2]|0,1.0,c[P>>2]|0,c[J>>2]|0)|0;c[H>>2]=c[H>>2]|W;break}}while(0);a:do if(c[T>>2]|0){if((c[E>>2]|0)!=2)Ka(c[F>>2]|0,c[G>>2]|0,+g[R>>2],c[E>>2]|0,c[(c[I>>2]|0)+40>>2]|0);if(c[K>>2]|0){c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[E>>2]|0))break a;g[(c[G>>2]|0)+(c[M>>2]<<2)>>2]=-+g[(c[G>>2]|0)+(c[M>>2]<<2)>>2];c[M>>2]=(c[M>>2]|0)+1}}}while(0);c[U>>2]=c[H>>2];W=c[U>>2]|0;l=X;return W|0}function xa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;m=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;q=u+24|0;k=u+20|0;s=u+16|0;t=u+12|0;o=u+8|0;n=u+4|0;r=u;c[m>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[p>>2]=f;c[q>>2]=((c[c[m>>2]>>2]|0)!=0^1)&1;c[t>>2]=c[h>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=c[(c[m>>2]|0)+24>>2];c[s>>2]=(c[i>>2]|0)!=0&1;c[k>>2]=0;do{c[r>>2]=0;if((c[(c[m>>2]|0)+28>>2]|0)>=8){if(c[o>>2]|0){c[r>>2]=+g[c[t>>2]>>2]<0.0&1;bc(c[n>>2]|0,c[r>>2]|0,1)}else c[r>>2]=Rb(c[n>>2]|0,1)|0;f=(c[m>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)-8;c[j>>2]=(c[j>>2]|0)-8}if(c[q>>2]|0)g[c[t>>2]>>2]=c[r>>2]|0?-1.0:1.0;c[t>>2]=c[i>>2];f=(c[k>>2]|0)+1|0;c[k>>2]=f}while((f|0)<(1+(c[s>>2]|0)|0));if(!(c[p>>2]|0)){l=u;return 1}g[c[p>>2]>>2]=+g[c[h>>2]>>2];l=u;return 1}function ya(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;h=p+28|0;o=p+24|0;q=p+20|0;j=p+16|0;k=p+12|0;f=p+8|0;n=p+4|0;m=p;c[i>>2]=a;c[h>>2]=b;c[o>>2]=d;c[q>>2]=e;c[f>>2]=N(c[h>>2]|0,c[o>>2]|0)|0;d=c[f>>2]|0;c[n>>2]=$()|0;b=l;l=l+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[m>>2]=8+(c[o>>2]<<2)+-8;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;d=N(c[k>>2]|0,c[o>>2]|0)|0;q=N(c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[k>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(d+(c[j>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;_i(o|0,b|0,q|0)|0;q=c[n>>2]|0;_(q|0);l=p;return}else{c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;m=N(c[k>>2]|0,c[o>>2]|0)|0;q=N(c[j>>2]|0,c[h>>2]|0)|0;g[b+(q+(c[k>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(m+(c[j>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;_i(o|0,b|0,q|0)|0;q=c[n>>2]|0;_(q|0);l=p;return}}function za(a,e,f,h,i,j,k,m,n){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=+m;n=n|0;var 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,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;Z=l;l=l+176|0;S=Z+164|0;R=Z+160|0;V=Z+156|0;C=Z+152|0;W=Z+148|0;U=Z+144|0;Q=Z+140|0;Y=Z+136|0;T=Z+132|0;_=Z+128|0;w=Z+124|0;s=Z+120|0;o=Z+116|0;p=Z+112|0;E=Z+108|0;J=Z+104|0;O=Z+100|0;X=Z+96|0;x=Z+92|0;F=Z+88|0;P=Z+84|0;v=Z+80|0;t=Z+76|0;B=Z+72|0;G=Z+68|0;I=Z+64|0;M=Z+60|0;A=Z+56|0;H=Z+52|0;D=Z+48|0;q=Z+24|0;K=Z+20|0;L=Z+16|0;z=Z+12|0;u=Z+8|0;r=Z+4|0;y=Z;c[S>>2]=a;c[R>>2]=e;c[V>>2]=f;c[C>>2]=h;c[W>>2]=i;c[U>>2]=j;c[Q>>2]=k;g[Y>>2]=m;c[T>>2]=n;c[o>>2]=0;c[p>>2]=0;c[E>>2]=c[W>>2];g[J>>2]=0.0;g[O>>2]=0.0;c[X>>2]=0;c[x>>2]=((c[c[S>>2]>>2]|0)!=0^1)&1;c[F>>2]=0;c[P>>2]=c[c[S>>2]>>2];c[v>>2]=c[(c[S>>2]|0)+4>>2];c[t>>2]=c[(c[S>>2]|0)+8>>2];c[B>>2]=c[(c[S>>2]|0)+16>>2];c[G>>2]=c[(c[S>>2]|0)+24>>2];j=N((c[Q>>2]|0)+1|0,c[(c[v>>2]|0)+8>>2]|0)|0;c[_>>2]=(c[(c[v>>2]|0)+92+8>>2]|0)+(b[(c[(c[v>>2]|0)+92+4>>2]|0)+(j+(c[t>>2]|0)<<1)>>1]|0);if((c[Q>>2]|0)!=-1?((c[V>>2]|0)>2?(c[C>>2]|0)>((d[(c[_>>2]|0)+(d[c[_>>2]>>0]|0)>>0]|0)+12|0):0):0){c[K>>2]=0;c[V>>2]=c[V>>2]>>1;c[F>>2]=(c[R>>2]|0)+(c[V>>2]<<2);c[Q>>2]=(c[Q>>2]|0)-1;if((c[W>>2]|0)==1)c[T>>2]=c[T>>2]&1|c[T>>2]<<1;c[W>>2]=(c[W>>2]|0)+1>>1;Ba(c[S>>2]|0,q,c[R>>2]|0,c[F>>2]|0,c[V>>2]|0,C,c[W>>2]|0,c[E>>2]|0,c[Q>>2]|0,0,T);c[o>>2]=c[q+4>>2];c[p>>2]=c[q+8>>2];c[A>>2]=c[q+12>>2];c[H>>2]=c[q+16>>2];c[D>>2]=c[q+20>>2];g[J>>2]=+(c[o>>2]|0)*.000030517578125;g[O>>2]=+(c[p>>2]|0)*.000030517578125;do if((c[E>>2]|0)>1?c[H>>2]&16383|0:0){i=c[A>>2]|0;if((c[H>>2]|0)>8192){c[A>>2]=(c[A>>2]|0)-(i>>4-(c[Q>>2]|0));break}if(0<(i+(c[V>>2]<<3>>5-(c[Q>>2]|0))|0))i=0;else i=(c[A>>2]|0)+(c[V>>2]<<3>>5-(c[Q>>2]|0))|0;c[A>>2]=i}while(0);i=c[C>>2]|0;if((c[C>>2]|0)>=(((c[C>>2]|0)-(c[A>>2]|0)|0)/2|0|0))i=(i-(c[A>>2]|0)|0)/2|0;if(0<=(i|0)){i=c[C>>2]|0;if((c[C>>2]|0)>=(((c[C>>2]|0)-(c[A>>2]|0)|0)/2|0|0))i=(i-(c[A>>2]|0)|0)/2|0}else i=0;c[I>>2]=i;c[M>>2]=(c[C>>2]|0)-(c[I>>2]|0);_=(c[S>>2]|0)+28|0;c[_>>2]=(c[_>>2]|0)-(c[D>>2]|0);if(c[U>>2]|0)c[K>>2]=(c[U>>2]|0)+(c[V>>2]<<2);c[L>>2]=c[(c[S>>2]|0)+28>>2];i=c[S>>2]|0;if((c[I>>2]|0)>=(c[M>>2]|0)){c[X>>2]=za(i,c[R>>2]|0,c[V>>2]|0,c[I>>2]|0,c[W>>2]|0,c[U>>2]|0,c[Q>>2]|0,+g[Y>>2]*+g[J>>2],c[T>>2]|0)|0;c[L>>2]=(c[I>>2]|0)-((c[L>>2]|0)-(c[(c[S>>2]|0)+28>>2]|0));if((c[L>>2]|0)>24&(c[H>>2]|0)!=0)c[M>>2]=(c[M>>2]|0)+((c[L>>2]|0)-24);_=za(c[S>>2]|0,c[F>>2]|0,c[V>>2]|0,c[M>>2]|0,c[W>>2]|0,c[K>>2]|0,c[Q>>2]|0,+g[Y>>2]*+g[O>>2],c[T>>2]>>c[W>>2])|0;c[X>>2]=c[X>>2]|_<<(c[E>>2]>>1);_=c[X>>2]|0;l=Z;return _|0}else{_=za(i,c[F>>2]|0,c[V>>2]|0,c[M>>2]|0,c[W>>2]|0,c[K>>2]|0,c[Q>>2]|0,+g[Y>>2]*+g[O>>2],c[T>>2]>>c[W>>2])|0;c[X>>2]=_<<(c[E>>2]>>1);c[L>>2]=(c[M>>2]|0)-((c[L>>2]|0)-(c[(c[S>>2]|0)+28>>2]|0));if((c[L>>2]|0)>24&(c[H>>2]|0)!=16384)c[I>>2]=(c[I>>2]|0)+((c[L>>2]|0)-24);_=za(c[S>>2]|0,c[R>>2]|0,c[V>>2]|0,c[I>>2]|0,c[W>>2]|0,c[U>>2]|0,c[Q>>2]|0,+g[Y>>2]*+g[J>>2],c[T>>2]|0)|0;c[X>>2]=c[X>>2]|_;_=c[X>>2]|0;l=Z;return _|0}}c[w>>2]=Ca(c[v>>2]|0,c[t>>2]|0,c[Q>>2]|0,c[C>>2]|0)|0;c[s>>2]=Da(c[v>>2]|0,c[t>>2]|0,c[Q>>2]|0,c[w>>2]|0)|0;i=c[S>>2]|0;k=c[s>>2]|0;while(1){_=i+28|0;c[_>>2]=(c[_>>2]|0)-k;if(!((c[(c[S>>2]|0)+28>>2]|0)<0?(c[w>>2]|0)>0:0))break;i=(c[S>>2]|0)+28|0;c[i>>2]=(c[i>>2]|0)+(c[s>>2]|0);c[w>>2]=(c[w>>2]|0)+-1;c[s>>2]=Da(c[v>>2]|0,c[t>>2]|0,c[Q>>2]|0,c[w>>2]|0)|0;i=c[S>>2]|0;k=c[s>>2]|0}if(c[w>>2]|0){c[z>>2]=Ea(c[w>>2]|0)|0;a=c[R>>2]|0;h=c[V>>2]|0;e=c[z>>2]|0;f=c[B>>2]|0;k=c[W>>2]|0;i=c[G>>2]|0;if(c[P>>2]|0){c[X>>2]=Xc(a,h,e,f,k,i)|0;_=c[X>>2]|0;l=Z;return _|0}else{c[X>>2]=ad(a,h,e,f,k,i,+g[Y>>2])|0;_=c[X>>2]|0;l=Z;return _|0}}if(!(c[x>>2]|0)){_=c[X>>2]|0;l=Z;return _|0}c[r>>2]=(1<>2])-1;c[T>>2]=c[T>>2]&c[r>>2];if(!(c[T>>2]|0)){aj(c[R>>2]|0,0,c[V>>2]<<2|0)|0;_=c[X>>2]|0;l=Z;return _|0}_=(c[U>>2]|0)==0;c[u>>2]=0;if(_){while(1){if((c[u>>2]|0)>=(c[V>>2]|0))break;_=ka(c[(c[S>>2]|0)+36>>2]|0)|0;c[(c[S>>2]|0)+36>>2]=_;g[(c[R>>2]|0)+(c[u>>2]<<2)>>2]=+(c[(c[S>>2]|0)+36>>2]>>20|0);c[u>>2]=(c[u>>2]|0)+1}c[X>>2]=c[r>>2]}else{while(1){if((c[u>>2]|0)>=(c[V>>2]|0))break;_=ka(c[(c[S>>2]|0)+36>>2]|0)|0;c[(c[S>>2]|0)+36>>2]=_;g[y>>2]=.00390625;m=+g[y>>2];g[y>>2]=c[(c[S>>2]|0)+36>>2]&32768|0?m:-m;g[(c[R>>2]|0)+(c[u>>2]<<2)>>2]=+g[(c[U>>2]|0)+(c[u>>2]<<2)>>2]+ +g[y>>2];c[u>>2]=(c[u>>2]|0)+1}c[X>>2]=c[T>>2]}cd(c[R>>2]|0,c[V>>2]|0,+g[Y>>2],c[(c[S>>2]|0)+40>>2]|0);_=c[X>>2]|0;l=Z;return _|0}function Aa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;h=p+28|0;o=p+24|0;q=p+20|0;j=p+16|0;k=p+12|0;f=p+8|0;n=p+4|0;m=p;c[i>>2]=a;c[h>>2]=b;c[o>>2]=d;c[q>>2]=e;c[f>>2]=N(c[h>>2]|0,c[o>>2]|0)|0;d=c[f>>2]|0;c[n>>2]=$()|0;b=l;l=l+((1*(d<<2)|0)+15&-16)|0;if(c[q>>2]|0){c[m>>2]=8+(c[o>>2]<<2)+-8;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;d=N(c[(c[m>>2]|0)+(c[j>>2]<<2)>>2]|0,c[h>>2]|0)|0;q=N(c[k>>2]|0,c[o>>2]|0)|0;g[b+(q+(c[j>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(d+(c[k>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;_i(o|0,b|0,q|0)|0;q=c[n>>2]|0;_(q|0);l=p;return}else{c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;m=N(c[j>>2]|0,c[h>>2]|0)|0;q=N(c[k>>2]|0,c[o>>2]|0)|0;g[b+(q+(c[j>>2]|0)<<2)>>2]=+g[(c[i>>2]|0)+(m+(c[k>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}o=c[i>>2]|0;m=c[f>>2]|0;m=m<<2;q=0;q=m+q|0;_i(o|0,b|0,q|0)|0;q=c[n>>2]|0;_(q|0);l=p;return}}function Ba(a,d,e,f,h,i,j,k,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var 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,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;Z=l;l=l+160|0;q=Z+148|0;X=Z+144|0;D=Z+140|0;E=Z+136|0;L=Z+132|0;M=Z+128|0;K=Z+124|0;p=Z+120|0;ba=Z+116|0;J=Z+112|0;R=Z+108|0;I=Z+104|0;V=Z+100|0;O=Z+96|0;S=Z+92|0;U=Z+88|0;W=Z+84|0;$=Z+80|0;aa=Z+76|0;Y=Z+72|0;T=Z+68|0;Q=Z+64|0;H=Z+60|0;G=Z+56|0;_=Z+52|0;P=Z+48|0;F=Z+44|0;z=Z+40|0;B=Z+36|0;A=Z+32|0;C=Z+28|0;u=Z+24|0;x=Z+20|0;y=Z+16|0;w=Z+12|0;r=Z+8|0;s=Z+4|0;t=Z;c[q>>2]=a;c[X>>2]=d;c[D>>2]=e;c[E>>2]=f;c[L>>2]=h;c[M>>2]=i;c[K>>2]=j;c[p>>2]=k;c[ba>>2]=m;c[J>>2]=n;c[R>>2]=o;c[V>>2]=0;c[T>>2]=0;c[Q>>2]=c[c[q>>2]>>2];c[H>>2]=c[(c[q>>2]|0)+4>>2];c[G>>2]=c[(c[q>>2]|0)+8>>2];c[_>>2]=c[(c[q>>2]|0)+12>>2];c[P>>2]=c[(c[q>>2]|0)+24>>2];c[F>>2]=c[(c[q>>2]|0)+32>>2];c[$>>2]=(b[(c[(c[H>>2]|0)+56>>2]|0)+(c[G>>2]<<1)>>1]|0)+(c[ba>>2]<<3);c[aa>>2]=(c[$>>2]>>1)-((c[J>>2]|0?(c[L>>2]|0)==2:0)?16:4);c[I>>2]=Fa(c[L>>2]|0,c[c[M>>2]>>2]|0,c[aa>>2]|0,c[$>>2]|0,c[J>>2]|0)|0;if(c[J>>2]|0?(c[G>>2]|0)>=(c[_>>2]|0):0)c[I>>2]=1;if(c[Q>>2]|0)c[V>>2]=ed(c[D>>2]|0,c[E>>2]|0,c[J>>2]|0,c[L>>2]|0,c[(c[q>>2]|0)+40>>2]|0)|0;c[Y>>2]=Gb(c[P>>2]|0)|0;do if((c[I>>2]|0)!=1){if(c[Q>>2]|0)c[V>>2]=(N(c[V>>2]|0,c[I>>2]|0)|0)+8192>>14;do if((c[J>>2]|0)!=0&(c[L>>2]|0)>2){c[z>>2]=3;c[B>>2]=c[V>>2];c[A>>2]=(c[I>>2]|0)/2|0;p=N(c[z>>2]|0,(c[A>>2]|0)+1|0)|0;c[C>>2]=p+(c[A>>2]|0);p=c[P>>2]|0;if(c[Q>>2]|0){if((c[B>>2]|0)<=(c[A>>2]|0))k=N(c[z>>2]|0,c[B>>2]|0)|0;else k=(c[B>>2]|0)-1-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))j=N(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else j=(c[B>>2]|0)-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;Ub(p,k,j,c[C>>2]|0);break}c[u>>2]=Kb(p,c[C>>2]|0)|0;if((c[u>>2]|0)<(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0))c[B>>2]=(c[u>>2]|0)/(c[z>>2]|0)|0;else c[B>>2]=(c[A>>2]|0)+1+((c[u>>2]|0)-(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0));if((c[B>>2]|0)<=(c[A>>2]|0))k=N(c[z>>2]|0,c[B>>2]|0)|0;else k=(c[B>>2]|0)-1-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;if((c[B>>2]|0)<=(c[A>>2]|0))j=N(c[z>>2]|0,(c[B>>2]|0)+1|0)|0;else j=(c[B>>2]|0)-(c[A>>2]|0)+(N((c[A>>2]|0)+1|0,c[z>>2]|0)|0)|0;Nb(c[P>>2]|0,k,j,c[C>>2]|0);c[V>>2]=c[B>>2]}else{if((c[p>>2]|0)>1|(c[J>>2]|0)!=0){j=c[P>>2]|0;if(c[Q>>2]|0){ac(j,c[V>>2]|0,(c[I>>2]|0)+1|0);break}else{c[V>>2]=Qb(j,(c[I>>2]|0)+1|0)|0;break}}c[x>>2]=1;c[y>>2]=N((c[I>>2]>>1)+1|0,(c[I>>2]>>1)+1|0)|0;if(!(c[Q>>2]|0)){c[r>>2]=0;c[s>>2]=Kb(c[P>>2]|0,c[y>>2]|0)|0;if((c[s>>2]|0)<((N(c[I>>2]>>1,(c[I>>2]>>1)+1|0)|0)>>1|0)){c[V>>2]=((pc((c[s>>2]<<3)+1|0)|0)-1|0)>>>1;c[x>>2]=(c[V>>2]|0)+1;c[r>>2]=(N(c[V>>2]|0,(c[V>>2]|0)+1|0)|0)>>1}else{ba=(c[I>>2]|0)+1<<1;c[V>>2]=(ba-(pc(((c[y>>2]|0)-(c[s>>2]|0)-1<<3)+1|0)|0)|0)>>>1;c[x>>2]=(c[I>>2]|0)+1-(c[V>>2]|0);c[r>>2]=(c[y>>2]|0)-((N((c[I>>2]|0)+1-(c[V>>2]|0)|0,(c[I>>2]|0)+2-(c[V>>2]|0)|0)|0)>>1)}Nb(c[P>>2]|0,c[r>>2]|0,(c[r>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0);break}if((c[V>>2]|0)<=(c[I>>2]>>1|0))j=(c[V>>2]|0)+1|0;else j=(c[I>>2]|0)+1-(c[V>>2]|0)|0;c[x>>2]=j;if((c[V>>2]|0)<=(c[I>>2]>>1|0))j=(N(c[V>>2]|0,(c[V>>2]|0)+1|0)|0)>>1;else j=(c[y>>2]|0)-((N((c[I>>2]|0)+1-(c[V>>2]|0)|0,(c[I>>2]|0)+2-(c[V>>2]|0)|0)|0)>>1)|0;c[w>>2]=j;Ub(c[P>>2]|0,c[w>>2]|0,(c[w>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)}while(0);c[V>>2]=qa(c[V>>2]<<14,c[I>>2]|0)|0;if((c[Q>>2]|0)!=0&(c[J>>2]|0)!=0)if(!(c[V>>2]|0)){Ga(c[H>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0,c[L>>2]|0);break}else{Ha(c[D>>2]|0,c[E>>2]|0,c[L>>2]|0);break}}else if(c[J>>2]|0){if(c[Q>>2]|0){c[T>>2]=(c[V>>2]|0)>8192&1;a:do if(c[T>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[L>>2]|0))break a;g[(c[E>>2]|0)+(c[t>>2]<<2)>>2]=-+g[(c[E>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}}while(0);Ga(c[H>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0,c[L>>2]|0)}do if((c[c[M>>2]>>2]|0)>16?(c[(c[q>>2]|0)+28>>2]|0)>16:0){j=c[P>>2]|0;if(c[Q>>2]|0){_b(j,c[T>>2]|0,2);break}else{c[T>>2]=Ob(j,2)|0;break}}else v=60;while(0);if((v|0)==60)c[T>>2]=0;c[V>>2]=0}while(0);ba=Gb(c[P>>2]|0)|0;c[W>>2]=ba-(c[Y>>2]|0);ba=c[M>>2]|0;c[ba>>2]=(c[ba>>2]|0)-(c[W>>2]|0);if(!(c[V>>2]|0)){c[S>>2]=32767;c[U>>2]=0;ba=c[R>>2]|0;c[ba>>2]=c[ba>>2]&(1<>2])-1;c[O>>2]=-16384;ba=c[T>>2]|0;aa=c[X>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[X>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[U>>2]|0;aa=c[X>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[O>>2]|0;ba=c[X>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[X>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[X>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}if((c[V>>2]|0)==16384){c[S>>2]=0;c[U>>2]=32767;ba=c[R>>2]|0;c[ba>>2]=c[ba>>2]&(1<>2])-1<>2];c[O>>2]=16384;ba=c[T>>2]|0;aa=c[X>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[X>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[U>>2]|0;aa=c[X>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[O>>2]|0;ba=c[X>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[X>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[X>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}else{c[S>>2]=(Ia(c[V>>2]&65535)|0)<<16>>16;c[U>>2]=(Ia(16384-(c[V>>2]|0)&65535)|0)<<16>>16;ba=((c[L>>2]|0)-1<<7&65535)<<16>>16;c[O>>2]=16384+(N(ba,((Ja(c[U>>2]|0,c[S>>2]|0)|0)&65535)<<16>>16)|0)>>15;ba=c[T>>2]|0;aa=c[X>>2]|0;c[aa>>2]=ba;aa=c[S>>2]|0;ba=c[X>>2]|0;ba=ba+4|0;c[ba>>2]=aa;ba=c[U>>2]|0;aa=c[X>>2]|0;aa=aa+8|0;c[aa>>2]=ba;aa=c[O>>2]|0;ba=c[X>>2]|0;ba=ba+12|0;c[ba>>2]=aa;ba=c[V>>2]|0;aa=c[X>>2]|0;aa=aa+16|0;c[aa>>2]=ba;aa=c[W>>2]|0;ba=c[X>>2]|0;ba=ba+20|0;c[ba>>2]=aa;l=Z;return}}function Ca(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;o=p+36|0;r=p+32|0;q=p+28|0;s=p+24|0;j=p+20|0;h=p+16|0;n=p+12|0;m=p+8|0;k=p+4|0;i=p;c[r>>2]=a;c[q>>2]=e;c[s>>2]=f;c[j>>2]=g;c[s>>2]=(c[s>>2]|0)+1;a=N(c[s>>2]|0,c[(c[r>>2]|0)+8>>2]|0)|0;c[k>>2]=(c[(c[r>>2]|0)+92+8>>2]|0)+(b[(c[(c[r>>2]|0)+92+4>>2]|0)+(a+(c[q>>2]|0)<<1)>>1]|0);c[n>>2]=0;c[m>>2]=d[c[k>>2]>>0];c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=6)break;c[i>>2]=(c[n>>2]|0)+(c[m>>2]|0)+1>>1;f=c[i>>2]|0;if((d[(c[k>>2]|0)+(c[i>>2]|0)>>0]|0)>=(c[j>>2]|0))c[m>>2]=f;else c[n>>2]=f;c[h>>2]=(c[h>>2]|0)+1}if(!(c[n>>2]|0))f=-1;else f=d[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;if(((c[j>>2]|0)-f|0)<=((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(c[j>>2]|0)|0)){c[o>>2]=c[n>>2];s=c[o>>2]|0;l=p;return s|0}else{c[o>>2]=c[m>>2];s=c[o>>2]|0;l=p;return s|0}return 0}function Da(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;m=j+16|0;k=j+12|0;n=j+8|0;i=j+4|0;h=j;c[m>>2]=a;c[k>>2]=e;c[n>>2]=f;c[i>>2]=g;c[n>>2]=(c[n>>2]|0)+1;g=N(c[n>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[h>>2]=(c[(c[m>>2]|0)+92+8>>2]|0)+(b[(c[(c[m>>2]|0)+92+4>>2]|0)+(g+(c[k>>2]|0)<<1)>>1]|0);if(!(c[i>>2]|0)){n=0;l=j;return n|0}n=(d[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)+1|0;l=j;return n|0}function Ea(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<8){b=a;l=d;return b|0}b=8+(a&7)<<(c[b>>2]>>3)-1;l=d;return b|0}function Fa(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;q=o+12|0;n=o+8|0;m=o+4|0;h=o;c[p>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]<<1)-1;if((c[q>>2]|0)!=0&(c[p>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+-1;q=(c[i>>2]|0)+(N(c[h>>2]|0,c[j>>2]|0)|0)|0;c[m>>2]=ua(q,c[h>>2]|0)|0;if(((c[i>>2]|0)-(c[k>>2]|0)-32|0)<(c[m>>2]|0))a=(c[i>>2]|0)-(c[k>>2]|0)-32|0;else a=c[m>>2]|0;c[m>>2]=a;c[m>>2]=64<(c[m>>2]|0)?64:c[m>>2]|0;if((c[m>>2]|0)<4){c[n>>2]=1;q=c[n>>2]|0;l=o;return q|0}else{c[n>>2]=b[22328+((c[m>>2]&7)<<1)>>1]>>14-(c[m>>2]>>3);c[n>>2]=(c[n>>2]|0)+1>>1<<1;q=c[n>>2]|0;l=o;return q|0}return 0}function Ga(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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;r=l;l=l+64|0;v=r+56|0;j=r+52|0;k=r+48|0;x=r+44|0;y=r+40|0;i=r+36|0;w=r+32|0;o=r+28|0;m=r+24|0;n=r+20|0;u=r+16|0;t=r+12|0;s=r+8|0;q=r+4|0;p=r;c[v>>2]=a;c[j>>2]=b;c[k>>2]=d;c[x>>2]=e;c[y>>2]=f;c[i>>2]=h;c[w>>2]=c[y>>2];g[u>>2]=+g[(c[x>>2]|0)+(c[w>>2]<<2)>>2];g[t>>2]=+g[(c[x>>2]|0)+((c[w>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0)<<2)>>2];g[s>>2]=+B(+(+g[u>>2]*+g[u>>2]+1.0000000036274937e-15+ +g[t>>2]*+g[t>>2]))+1.0000000036274937e-15;g[m>>2]=+g[u>>2]/+g[s>>2];g[n>>2]=+g[t>>2]/+g[s>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[i>>2]|0))break;g[p>>2]=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[q>>2]=+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]=+g[m>>2]*+g[p>>2]+ +g[n>>2]*+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}l=r;return}function Ha(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;h=m+16|0;e=m+12|0;i=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[h>>2]=b;c[e>>2]=d;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[e>>2]|0))break;g[j>>2]=+g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[k>>2]=+g[(c[h>>2]|0)+(c[i>>2]<<2)>>2]*.7071067690849304;g[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=+g[j>>2]+ +g[k>>2];g[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=+g[k>>2]-+g[j>>2];c[i>>2]=(c[i>>2]|0)+1}l=m;return}function Ia(a){a=a|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+6|0;f=e;d=e+4|0;b[g>>1]=a;c[f>>2]=4096+(N(b[g>>1]|0,b[g>>1]|0)|0)>>13;b[d>>1]=c[f>>2];b[d>>1]=32767-(b[d>>1]|0)+(16384+(N(b[d>>1]|0,((16384+(N(b[d>>1]|0,(8277+(16384+(N(-626,b[d>>1]|0)|0)>>15)&65535)<<16>>16)|0)>>15)+-7651&65535)<<16>>16)|0)>>15);l=e;return 1+(b[d>>1]|0)&65535|0}function Ja(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;f=d+12|0;e=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=32-(Q(c[e>>2]|0)|0);c[h>>2]=32-(Q(c[f>>2]|0)|0);c[e>>2]=c[e>>2]<<15-(c[g>>2]|0);c[f>>2]=c[f>>2]<<15-(c[h>>2]|0);a=((c[h>>2]|0)-(c[g>>2]|0)<<11)+(16384+(N((c[f>>2]&65535)<<16>>16,((16384+(N((c[f>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;a=a-(16384+(N((c[e>>2]&65535)<<16>>16,((16384+(N((c[e>>2]&65535)<<16>>16,-2597)|0)>>15)+7932&65535)<<16>>16)|0)>>15)|0;l=d;return a|0}function Ka(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=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;u=l;l=l+64|0;k=u+60|0;m=u+56|0;q=u+52|0;j=u+48|0;n=u+40|0;v=u+36|0;w=u+32|0;h=u+28|0;i=u+24|0;x=u+20|0;t=u+16|0;p=u+12|0;s=u+8|0;r=u+4|0;o=u;c[k>>2]=a;c[m>>2]=b;g[q>>2]=d;c[j>>2]=e;c[u+44>>2]=f;g[v>>2]=0.0;g[w>>2]=0.0;La(c[m>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,v,w);g[v>>2]=+g[q>>2]*+g[v>>2];g[x>>2]=+g[q>>2];g[h>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]-+g[v>>2]*2.0;g[i>>2]=+g[x>>2]*+g[x>>2]+ +g[w>>2]+ +g[v>>2]*2.0;if(+g[i>>2]<6.000000284984708e-04|+g[h>>2]<6.000000284984708e-04){_i(c[m>>2]|0,c[k>>2]|0,(c[j>>2]<<2)+0|0)|0;l=u;return}g[t>>2]=+g[h>>2];g[p>>2]=1.0/+B(+(+g[t>>2]));g[t>>2]=+g[i>>2];g[s>>2]=1.0/+B(+(+g[t>>2]));c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;g[o>>2]=+g[q>>2]*+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];g[r>>2]=+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=+g[p>>2]*(+g[o>>2]-+g[r>>2]);g[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=+g[s>>2]*(+g[o>>2]+ +g[r>>2]);c[n>>2]=(c[n>>2]|0)+1}l=u;return}function La(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+32|0;r=t+28|0;s=t+24|0;j=t+20|0;p=t+16|0;q=t+12|0;k=t+8|0;n=t+4|0;o=t;c[m>>2]=a;c[r>>2]=b;c[s>>2]=d;c[j>>2]=e;c[p>>2]=f;c[q>>2]=h;g[n>>2]=0.0;g[o>>2]=0.0;c[k>>2]=0;while(1){i=+g[n>>2];if((c[k>>2]|0)>=(c[j>>2]|0))break;g[n>>2]=i+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[r>>2]|0)+(c[k>>2]<<2)>>2];g[o>>2]=+g[o>>2]+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]*+g[(c[s>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}g[c[p>>2]>>2]=i;g[c[q>>2]>>2]=+g[o>>2];l=t;return}function Ma(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;b=e;c[f>>2]=a;a=c[f>>2]|0;a:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{d=7;break a}}c[b>>2]=6;break}else{switch(a|0){case 12e3:break;default:{d=7;break a}}c[b>>2]=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{d=7;break a}}c[b>>2]=3;break}if((a|0)<48e3){switch(a|0){case 24e3:break;default:{d=7;break a}}c[b>>2]=2;break}else{switch(a|0){case 48e3:break;default:{d=7;break a}}c[b>>2]=1;break}}while(0);if((d|0)==7)c[b>>2]=0;l=e;return c[b>>2]|0}function Na(a,b,d,e,f,h,i,j,k,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var 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;N=l;l=l+112|0;M=N+96|0;G=N+92|0;q=N+88|0;r=N+84|0;p=N+80|0;t=N+76|0;x=N+72|0;D=N+68|0;E=N+64|0;F=N+60|0;C=N+56|0;B=N+48|0;u=N+44|0;v=N+40|0;w=N+36|0;y=N+32|0;z=N+28|0;A=N+24|0;H=N+20|0;I=N+16|0;J=N+12|0;K=N+8|0;L=N+4|0;s=N;c[M>>2]=a;c[G>>2]=b;c[q>>2]=d;c[r>>2]=e;c[p>>2]=f;g[t>>2]=h;g[x>>2]=i;c[D>>2]=j;c[E>>2]=k;c[F>>2]=m;c[C>>2]=n;c[N+52>>2]=o;if(+g[t>>2]==0.0&+g[x>>2]==0.0){if((c[G>>2]|0)==(c[M>>2]|0)){l=N;return}$i(c[M>>2]|0,c[G>>2]|0,(c[p>>2]<<2)+0|0)|0;l=N;return}g[u>>2]=+g[t>>2]*+g[128+((c[D>>2]|0)*12|0)>>2];g[v>>2]=+g[t>>2]*+g[128+((c[D>>2]|0)*12|0)+4>>2];g[w>>2]=+g[t>>2]*+g[128+((c[D>>2]|0)*12|0)+8>>2];g[y>>2]=+g[x>>2]*+g[128+((c[E>>2]|0)*12|0)>>2];g[z>>2]=+g[x>>2]*+g[128+((c[E>>2]|0)*12|0)+4>>2];g[A>>2]=+g[x>>2]*+g[128+((c[E>>2]|0)*12|0)+8>>2];g[I>>2]=+g[(c[G>>2]|0)+(0-(c[r>>2]|0)+1<<2)>>2];g[J>>2]=+g[(c[G>>2]|0)+(0-(c[r>>2]|0)<<2)>>2];g[K>>2]=+g[(c[G>>2]|0)+(0-(c[r>>2]|0)-1<<2)>>2];g[L>>2]=+g[(c[G>>2]|0)+(0-(c[r>>2]|0)-2<<2)>>2];if((+g[t>>2]==+g[x>>2]?(c[q>>2]|0)==(c[r>>2]|0):0)?(c[D>>2]|0)==(c[E>>2]|0):0)c[C>>2]=0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;g[H>>2]=+g[(c[G>>2]|0)+((c[B>>2]|0)-(c[r>>2]|0)+2<<2)>>2];g[s>>2]=+g[(c[F>>2]|0)+(c[B>>2]<<2)>>2]*+g[(c[F>>2]|0)+(c[B>>2]<<2)>>2];g[(c[M>>2]|0)+(c[B>>2]<<2)>>2]=+g[(c[G>>2]|0)+(c[B>>2]<<2)>>2]+(1.0-+g[s>>2])*+g[u>>2]*+g[(c[G>>2]|0)+((c[B>>2]|0)-(c[q>>2]|0)<<2)>>2]+(1.0-+g[s>>2])*+g[v>>2]*(+g[(c[G>>2]|0)+((c[B>>2]|0)-(c[q>>2]|0)+1<<2)>>2]+ +g[(c[G>>2]|0)+((c[B>>2]|0)-(c[q>>2]|0)-1<<2)>>2])+(1.0-+g[s>>2])*+g[w>>2]*(+g[(c[G>>2]|0)+((c[B>>2]|0)-(c[q>>2]|0)+2<<2)>>2]+ +g[(c[G>>2]|0)+((c[B>>2]|0)-(c[q>>2]|0)-2<<2)>>2])+ +g[s>>2]*+g[y>>2]*+g[J>>2]+ +g[s>>2]*+g[z>>2]*(+g[I>>2]+ +g[K>>2])+ +g[s>>2]*+g[A>>2]*(+g[H>>2]+ +g[L>>2]);g[L>>2]=+g[K>>2];g[K>>2]=+g[J>>2];g[J>>2]=+g[I>>2];g[I>>2]=+g[H>>2];c[B>>2]=(c[B>>2]|0)+1}if(!(+g[x>>2]==0.0)){Oa((c[M>>2]|0)+(c[B>>2]<<2)|0,(c[G>>2]|0)+(c[B>>2]<<2)|0,c[r>>2]|0,(c[p>>2]|0)-(c[B>>2]|0)|0,+g[y>>2],+g[z>>2],+g[A>>2]);l=N;return}if((c[G>>2]|0)==(c[M>>2]|0)){l=N;return}$i((c[M>>2]|0)+(c[C>>2]<<2)|0,(c[G>>2]|0)+(c[C>>2]<<2)|0,((c[p>>2]|0)-(c[C>>2]|0)<<2)+0|0)|0;l=N;return}function Oa(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,k=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;x=l;l=l+64|0;w=x+48|0;q=x+44|0;k=x+40|0;j=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;r=x+20|0;s=x+16|0;t=x+12|0;u=x+8|0;v=x+4|0;p=x;c[w>>2]=a;c[q>>2]=b;c[k>>2]=d;c[j>>2]=e;g[m>>2]=f;g[n>>2]=h;g[o>>2]=i;g[v>>2]=+g[(c[q>>2]|0)+(0-(c[k>>2]|0)-2<<2)>>2];g[u>>2]=+g[(c[q>>2]|0)+(0-(c[k>>2]|0)-1<<2)>>2];g[t>>2]=+g[(c[q>>2]|0)+(0-(c[k>>2]|0)<<2)>>2];g[s>>2]=+g[(c[q>>2]|0)+(0-(c[k>>2]|0)+1<<2)>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;g[r>>2]=+g[(c[q>>2]|0)+((c[p>>2]|0)-(c[k>>2]|0)+2<<2)>>2];g[(c[w>>2]|0)+(c[p>>2]<<2)>>2]=+g[(c[q>>2]|0)+(c[p>>2]<<2)>>2]+ +g[m>>2]*+g[t>>2]+ +g[n>>2]*(+g[s>>2]+ +g[u>>2])+ +g[o>>2]*(+g[r>>2]+ +g[v>>2]);g[v>>2]=+g[u>>2];g[u>>2]=+g[t>>2];g[t>>2]=+g[s>>2];g[s>>2]=+g[r>>2];c[p>>2]=(c[p>>2]|0)+1}l=x;return}function Pa(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;k=o+16|0;i=o+12|0;h=o+8|0;m=o+4|0;j=o;c[n>>2]=a;c[k>>2]=e;c[i>>2]=f;c[h>>2]=g;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[n>>2]|0)+8>>2]|0))break;c[j>>2]=(b[(c[(c[n>>2]|0)+32>>2]|0)+((c[m>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[n>>2]|0)+32>>2]|0)+(c[m>>2]<<1)>>1]|0)<>2];a=N(c[(c[n>>2]|0)+8>>2]|0,(c[i>>2]<<1)+(c[h>>2]|0)-1|0)|0;a=N((d[(c[(c[n>>2]|0)+92+12>>2]|0)+(a+(c[m>>2]|0))>>0]|0)+64|0,c[h>>2]|0)|0;a=(N(a,c[j>>2]|0)|0)>>2;c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=a;c[m>>2]=(c[m>>2]|0)+1}l=o;return}function Qa(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+4|0;b=e;c[b>>2]=a;if((c[b>>2]|0)>0|(c[b>>2]|0)<-7){c[d>>2]=25260;d=c[d>>2]|0;l=e;return d|0}else{c[d>>2]=c[164+(0-(c[b>>2]|0)<<2)>>2];d=c[d>>2]|0;l=e;return d|0}return 0}function Ra(){return 25411}function Sa(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=sc(48e3,960,0)|0;a=Ta(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function Ta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;a=204+((N(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0)-1<<2)|0;c[d>>2]=a+(c[g>>2]<<10<<2)+((N((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+8>>2]|0)|0)<<2);l=e;return c[d>>2]|0}function Ua(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;g=j+20|0;i=j+16|0;h=j+12|0;m=j+8|0;k=j+4|0;f=j;c[i>>2]=a;c[h>>2]=b;c[m>>2]=d;c[k>>2]=e;b=c[i>>2]|0;a=sc(48e3,960,0)|0;c[f>>2]=Va(b,a,c[m>>2]|0,c[k>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];m=c[g>>2]|0;l=j;return m|0}else{m=Ma(c[h>>2]|0)|0;c[(c[i>>2]|0)+28>>2]=m;c[g>>2]=0;m=c[g>>2]|0;l=j;return m|0}return 0}function Va(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+20|0;j=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;if((c[g>>2]|0)<0|(c[g>>2]|0)>2){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((c[j>>2]|0)==0|(c[h>>2]|0)==0){c[i>>2]=-7;j=c[i>>2]|0;l=k;return j|0}else{a=c[j>>2]|0;aj(a|0,0,Ta(c[h>>2]|0,c[g>>2]|0)|0)|0;c[c[j>>2]>>2]=c[h>>2];a=c[g>>2]|0;c[(c[j>>2]|0)+4>>2]=a;c[(c[j>>2]|0)+8>>2]=a;c[(c[j>>2]|0)+28>>2]=1;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=c[(c[c[j>>2]>>2]|0)+12>>2];c[(c[j>>2]|0)+48>>2]=1;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=1;c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+40>>2]=-1;c[(c[j>>2]|0)+44>>2]=0;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+24>>2]=5;c[(c[j>>2]|0)+60>>2]=24;Wa(c[j>>2]|0,4028,k)|0;c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}return 0}function Wa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=l;l=l+192|0;X=Y+184|0;V=Y+180|0;Z=Y+176|0;e=Y+160|0;m=Y+156|0;C=Y+152|0;w=Y+148|0;Q=Y+144|0;o=Y+140|0;H=Y+136|0;t=Y+132|0;K=Y+128|0;u=Y+124|0;L=Y+120|0;v=Y+116|0;M=Y+112|0;x=Y+108|0;O=Y+104|0;W=Y+100|0;P=Y+96|0;y=Y+92|0;R=Y+88|0;z=Y+84|0;S=Y+80|0;A=Y+76|0;T=Y+72|0;B=Y+68|0;U=Y+64|0;f=Y+60|0;i=Y+56|0;j=Y+52|0;k=Y+48|0;n=Y+44|0;D=Y+40|0;h=Y+36|0;E=Y+32|0;p=Y+28|0;F=Y+24|0;q=Y+20|0;G=Y+16|0;r=Y+12|0;I=Y+8|0;s=Y+4|0;J=Y;c[V>>2]=a;c[Z>>2]=b;c[e>>2]=d;do switch(c[Z>>2]|0){case 4010:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[C>>2]=Z;c[m>>2]=c[C>>2];if((c[m>>2]|0)<0|(c[m>>2]|0)>10)e=41;else{c[(c[V>>2]|0)+24>>2]=c[m>>2];e=40}break}case 10010:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[Q>>2]=Z;c[w>>2]=c[Q>>2];if((c[w>>2]|0)>=0?(c[w>>2]|0)<(c[(c[c[V>>2]>>2]|0)+8>>2]|0):0){c[(c[V>>2]|0)+32>>2]=c[w>>2];e=40}else e=41;break}case 10012:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[H>>2]=Z;c[o>>2]=c[H>>2];if((c[o>>2]|0)>=1?(c[o>>2]|0)<=(c[(c[c[V>>2]>>2]|0)+8>>2]|0):0){c[(c[V>>2]|0)+36>>2]=c[o>>2];e=40}else e=41;break}case 10002:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[K>>2]=Z;c[t>>2]=c[K>>2];if((c[t>>2]|0)<0|(c[t>>2]|0)>2)e=41;else{c[(c[V>>2]|0)+20>>2]=(c[t>>2]|0)<=1&1;c[(c[V>>2]|0)+12>>2]=(c[t>>2]|0)==0&1;e=40}break}case 4014:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[L>>2]=Z;c[u>>2]=c[L>>2];if((c[u>>2]|0)<0|(c[u>>2]|0)>100)e=41;else{c[(c[V>>2]|0)+56>>2]=c[u>>2];e=40}break}case 4020:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[M>>2]=Z;c[v>>2]=c[M>>2];c[(c[V>>2]|0)+52>>2]=c[v>>2];e=40;break}case 4006:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[O>>2]=Z;c[x>>2]=c[O>>2];c[(c[V>>2]|0)+44>>2]=c[x>>2];e=40;break}case 4002:{U=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[U>>2]|0;c[e>>2]=U+4;c[P>>2]=Z;c[W>>2]=c[P>>2];if((c[W>>2]|0)<=500&(c[W>>2]|0)!=-1)e=41;else{if((c[W>>2]|0)<((c[(c[V>>2]|0)+4>>2]|0)*26e4|0))e=c[W>>2]|0;else e=(c[(c[V>>2]|0)+4>>2]|0)*26e4|0;c[W>>2]=e;c[(c[V>>2]|0)+40>>2]=c[W>>2];e=40}break}case 10008:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[R>>2]=Z;c[y>>2]=c[R>>2];if((c[y>>2]|0)<1|(c[y>>2]|0)>2)e=41;else{c[(c[V>>2]|0)+8>>2]=c[y>>2];e=40}break}case 4036:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[S>>2]=Z;c[z>>2]=c[S>>2];if((c[z>>2]|0)<8|(c[z>>2]|0)>24)e=41;else{c[(c[V>>2]|0)+60>>2]=c[z>>2];e=40}break}case 4037:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[T>>2]=Z;c[A>>2]=c[T>>2];c[c[A>>2]>>2]=c[(c[V>>2]|0)+60>>2];e=40;break}case 4040:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[U>>2]=Z;c[B>>2]=c[U>>2];c[(c[V>>2]|0)+64>>2]=c[B>>2];e=40;break}case 4028:{c[i>>2]=(c[V>>2]|0)+200+((N(c[(c[V>>2]|0)+4>>2]|0,(c[(c[c[V>>2]>>2]|0)+4>>2]|0)+1024|0)|0)<<2);c[j>>2]=(c[i>>2]|0)+((N(c[(c[V>>2]|0)+4>>2]|0,c[(c[c[V>>2]>>2]|0)+8>>2]|0)|0)<<2);c[k>>2]=(c[j>>2]|0)+((N(c[(c[V>>2]|0)+4>>2]|0,c[(c[c[V>>2]>>2]|0)+8>>2]|0)|0)<<2);aj((c[V>>2]|0)+76|0,0,(Ta(c[c[V>>2]>>2]|0,c[(c[V>>2]|0)+4>>2]|0)|0)-((c[V>>2]|0)+76-(c[V>>2]|0))|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(N(c[(c[V>>2]|0)+4>>2]|0,c[(c[c[V>>2]>>2]|0)+8>>2]|0)|0))break;g[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;g[(c[j>>2]|0)+(c[f>>2]<<2)>>2]=-28.0;c[f>>2]=(c[f>>2]|0)+1}c[(c[V>>2]|0)+172>>2]=0;g[(c[V>>2]|0)+84>>2]=1.0;c[(c[V>>2]|0)+80>>2]=2;c[(c[V>>2]|0)+88>>2]=256;c[(c[V>>2]|0)+96>>2]=0;c[(c[V>>2]|0)+100>>2]=0;e=40;break}case 10016:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[D>>2]=Z;c[n>>2]=c[D>>2];c[(c[V>>2]|0)+48>>2]=c[n>>2];e=40;break}case 10022:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[E>>2]=Z;c[h>>2]=c[E>>2];if(c[h>>2]|0){_i((c[V>>2]|0)+120|0,c[h>>2]|0,28|0)|0;e=40}else e=40;break}case 10015:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[F>>2]=Z;c[p>>2]=c[F>>2];if(!(c[p>>2]|0))e=41;else{c[c[p>>2]>>2]=c[c[V>>2]>>2];e=40}break}case 4031:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[G>>2]=Z;c[q>>2]=c[G>>2];if(!(c[q>>2]|0))e=41;else{c[c[q>>2]>>2]=c[(c[V>>2]|0)+76>>2];e=40}break}case 10024:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[I>>2]=Z;c[r>>2]=c[I>>2];c[(c[V>>2]|0)+68>>2]=c[r>>2];e=40;break}case 10026:{W=(c[e>>2]|0)+(4-1)&~(4-1);Z=c[W>>2]|0;c[e>>2]=W+4;c[J>>2]=Z;c[s>>2]=c[J>>2];c[(c[V>>2]|0)+192>>2]=c[s>>2];e=40;break}default:{c[X>>2]=-5;Z=c[X>>2]|0;l=Y;return Z|0}}while(0);if((e|0)==40){c[X>>2]=0;Z=c[X>>2]|0;l=Y;return Z|0}else if((e|0)==41){c[X>>2]=-1;Z=c[X>>2]|0;l=Y;return Z|0}return 0}function Xa(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.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;z=l;l=l+64|0;o=z+52|0;u=z+48|0;q=z+44|0;m=z+40|0;x=z+36|0;A=z+32|0;w=z+28|0;n=z+24|0;t=z+20|0;s=z+16|0;v=z+12|0;r=z+8|0;p=z+4|0;y=z;c[o>>2]=a;c[u>>2]=b;c[q>>2]=d;c[m>>2]=e;c[x>>2]=f;c[A>>2]=h;c[w>>2]=i;c[n>>2]=j;g[s>>2]=+g[c[A>>2]>>2];g[v>>2]=+g[c[w>>2]>>2];if(!(((c[x>>2]|0)==1?+g[(c[A>>2]|0)+4>>2]==0.0:0)^1|(c[n>>2]|0)!=0)){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[p>>2]=+g[(c[o>>2]|0)+((N(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[u>>2]|0)+(c[t>>2]<<2)>>2]=+g[p>>2]-+g[v>>2];g[v>>2]=+g[s>>2]*+g[p>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[w>>2]>>2]=+g[v>>2];l=z;return}c[r>>2]=(c[q>>2]|0)/(c[x>>2]|0)|0;if((c[x>>2]|0)!=1)aj(c[u>>2]|0,0,c[q>>2]<<2|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;k=+g[(c[o>>2]|0)+((N(c[m>>2]|0,c[t>>2]|0)|0)<<2)>>2]*32768.0;g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}a:do if(c[n>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break a;if(65536.0<+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2];if(!(-65536.0>k))if(65536.0<+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2])k=65536.0;else k=+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2];else k=-65536.0;g[(c[u>>2]|0)+((N(c[t>>2]|0,c[x>>2]|0)|0)<<2)>>2]=k;c[t>>2]=(c[t>>2]|0)+1}}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;g[y>>2]=+g[(c[u>>2]|0)+(c[t>>2]<<2)>>2];g[(c[u>>2]|0)+(c[t>>2]<<2)>>2]=+g[y>>2]-+g[v>>2];g[v>>2]=+g[s>>2]*+g[y>>2];c[t>>2]=(c[t>>2]|0)+1}g[c[w>>2]>>2]=+g[v>>2];l=z;return}function Ya(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0.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,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,ma=0,oa=0,pa=0,qa=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Ya=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=l;l=l+448|0;zb=Cb+440|0;Bb=Cb+436|0;t=Cb+432|0;k=Cb+428|0;p=Cb+424|0;yb=Cb+420|0;xb=Cb+416|0;ob=Cb+412|0;mb=Cb+408|0;Ma=Cb+404|0;Ia=Cb+400|0;o=Cb+352|0;y=Cb+348|0;qb=Cb+344|0;rb=Cb+340|0;sb=Cb+336|0;Ya=Cb+332|0;ub=Cb+328|0;lb=Cb+324|0;Ka=Cb+320|0;La=Cb+316|0;V=Cb+312|0;U=Cb+308|0;Ca=Cb+304|0;Ba=Cb+300|0;tb=Cb+296|0;nb=Cb+292|0;W=Cb+288|0;Ra=Cb+284|0;R=Cb+280|0;Ha=Cb+276|0;Va=Cb+272|0;Ta=Cb+268|0;Sa=Cb+264|0;X=Cb+260|0;Z=Cb+256|0;Ea=Cb+252|0;ha=Cb+248|0;wa=Cb+244|0;Qa=Cb+240|0;qa=Cb+236|0;Wa=Cb+232|0;T=Cb+228|0;Oa=Cb+224|0;Na=Cb+220|0;kb=Cb+216|0;P=Cb+212|0;ua=Cb+208|0;oa=Cb+204|0;va=Cb+200|0;u=Cb+196|0;ka=Cb+192|0;Ua=Cb+188|0;pb=Cb+184|0;x=Cb+180|0;ba=Cb+176|0;M=Cb+172|0;Ja=Cb+168|0;vb=Cb+164|0;pa=Cb+160|0;sa=Cb+156|0;ga=Cb+152|0;Fa=Cb+148|0;j=Cb+144|0;n=Cb+140|0;q=Cb+136|0;r=Cb+132|0;Ab=Cb+128|0;s=Cb+124|0;v=Cb+120|0;z=Cb+116|0;w=Cb+112|0;I=Cb+108|0;E=Cb+104|0;C=Cb+100|0;H=Cb+96|0;G=Cb+92|0;A=Cb+88|0;B=Cb+84|0;D=Cb+80|0;F=Cb+76|0;J=Cb+72|0;K=Cb+68|0;L=Cb+64|0;O=Cb+60|0;fa=Cb+56|0;ea=Cb+52|0;aa=Cb+48|0;Y=Cb+44|0;da=Cb+40|0;ca=Cb+36|0;ya=Cb+32|0;za=Cb+28|0;Da=Cb+24|0;ia=Cb+20|0;ma=Cb+16|0;Aa=Cb+12|0;xa=Cb+8|0;Ga=Cb+4|0;wb=Cb;c[Bb>>2]=a;c[t>>2]=d;c[k>>2]=e;c[p>>2]=f;c[yb>>2]=h;c[xb>>2]=i;c[Ya>>2]=0;c[ub>>2]=0;c[lb>>2]=c[(c[Bb>>2]|0)+4>>2];c[Ka>>2]=c[(c[Bb>>2]|0)+8>>2];c[Va>>2]=15;g[Ta>>2]=0.0;c[Sa>>2]=0;c[Wa>>2]=0;c[Na>>2]=0;c[kb>>2]=0;c[P>>2]=0;c[oa>>2]=0;c[vb>>2]=0;g[pa>>2]=0.0;g[sa>>2]=0.0;g[ga>>2]=0.0;c[Fa>>2]=51e4;c[Ua>>2]=c[c[Bb>>2]>>2];c[pb>>2]=c[(c[Ua>>2]|0)+8>>2];c[x>>2]=c[(c[Ua>>2]|0)+4>>2];c[ba>>2]=c[(c[Ua>>2]|0)+32>>2];c[tb>>2]=c[(c[Bb>>2]|0)+32>>2];c[nb>>2]=c[(c[Bb>>2]|0)+36>>2];g[ua>>2]=0.0;if((c[yb>>2]|0)<2|(c[t>>2]|0)==0){c[zb>>2]=-1;Bb=c[zb>>2]|0;l=Cb;return Bb|0}c[k>>2]=N(c[k>>2]|0,c[(c[Bb>>2]|0)+28>>2]|0)|0;c[La>>2]=0;while(1){if((c[La>>2]|0)>(c[(c[Ua>>2]|0)+36>>2]|0))break;if((c[(c[Ua>>2]|0)+44>>2]<>2]|0)==(c[k>>2]|0))break;c[La>>2]=(c[La>>2]|0)+1}if((c[La>>2]|0)>(c[(c[Ua>>2]|0)+36>>2]|0)){c[zb>>2]=-1;Bb=c[zb>>2]|0;l=Cb;return Bb|0}c[V>>2]=1<>2];c[Ma>>2]=N(c[V>>2]|0,c[(c[Ua>>2]|0)+44>>2]|0)|0;c[y>>2]=(c[Bb>>2]|0)+200+((N(c[lb>>2]|0,c[x>>2]|0)|0)<<2);c[qb>>2]=(c[Bb>>2]|0)+200+((N(c[lb>>2]|0,(c[x>>2]|0)+1024|0)|0)<<2);c[rb>>2]=(c[qb>>2]|0)+((N(c[lb>>2]|0,c[pb>>2]|0)|0)<<2);c[sb>>2]=(c[rb>>2]|0)+((N(c[lb>>2]|0,c[pb>>2]|0)|0)<<2);if(!(c[xb>>2]|0)){c[qa>>2]=1;c[Ca>>2]=0}else{c[qa>>2]=Za(c[xb>>2]|0)|0;c[Ca>>2]=(c[qa>>2]|0)+4>>3}c[yb>>2]=(c[yb>>2]|0)<1275?c[yb>>2]|0:1275;c[Ba>>2]=(c[yb>>2]|0)-(c[Ca>>2]|0);if(c[(c[Bb>>2]|0)+44>>2]|0?(c[(c[Bb>>2]|0)+40>>2]|0)!=-1:0){c[j>>2]=c[c[Ua>>2]>>2]>>3;n=N(c[(c[Bb>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[Ea>>2]=(n+(c[j>>2]>>1)|0)/(c[j>>2]|0)|0;c[X>>2]=c[Ea>>2]>>6}else{c[Ea>>2]=0;c[n>>2]=N(c[(c[Bb>>2]|0)+40>>2]|0,c[k>>2]|0)|0;if((c[qa>>2]|0)>1)c[n>>2]=(c[n>>2]|0)+(c[qa>>2]|0);if((c[(c[Bb>>2]|0)+40>>2]|0)!=-1){if((c[yb>>2]|0)<((((c[n>>2]|0)+(c[c[Ua>>2]>>2]<<2)|0)/(c[c[Ua>>2]>>2]<<3|0)|0)-(((c[(c[Bb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0))f=c[yb>>2]|0;else f=(((c[n>>2]|0)+(c[c[Ua>>2]>>2]<<2)|0)/(c[c[Ua>>2]>>2]<<3|0)|0)-(((c[(c[Bb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;do if(2<=(f|0))if((c[yb>>2]|0)<((((c[n>>2]|0)+(c[c[Ua>>2]>>2]<<2)|0)/(c[c[Ua>>2]>>2]<<3|0)|0)-(((c[(c[Bb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0)){f=c[yb>>2]|0;break}else{f=(((c[n>>2]|0)+(c[c[Ua>>2]>>2]<<2)|0)/(c[c[Ua>>2]>>2]<<3|0)|0)-(((c[(c[Bb>>2]|0)+48>>2]|0)!=0^1^1)&1)|0;break}else f=2;while(0);c[yb>>2]=f}c[X>>2]=c[yb>>2]}if((c[(c[Bb>>2]|0)+40>>2]|0)!=-1)c[Fa>>2]=(c[(c[Bb>>2]|0)+40>>2]|0)-(N(((c[Ka>>2]|0)*40|0)+20|0,(400>>c[La>>2])-50|0)|0);if(!(c[xb>>2]|0)){Tb(o,c[p>>2]|0,c[yb>>2]|0);c[xb>>2]=o}if((c[Ea>>2]|0)>0?c[(c[Bb>>2]|0)+52>>2]|0:0){c[q>>2]=c[Ea>>2];if((((c[qa>>2]|0)==1?2:0)|0)>((c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[Bb>>2]|0)+164>>2]|0)>>6|0))f=(c[qa>>2]|0)==1?2:0;else f=(c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[Bb>>2]|0)+164>>2]|0)>>6;do if((f|0)<(c[Ba>>2]|0))if((((c[qa>>2]|0)==1?2:0)|0)>((c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[Bb>>2]|0)+164>>2]|0)>>6|0)){f=(c[qa>>2]|0)==1?2:0;break}else{f=(c[Ea>>2]|0)+(c[q>>2]|0)-(c[(c[Bb>>2]|0)+164>>2]|0)>>6;break}else f=c[Ba>>2]|0;while(0);c[r>>2]=f;if((c[r>>2]|0)<(c[Ba>>2]|0)){c[yb>>2]=(c[Ca>>2]|0)+(c[r>>2]|0);c[Ba>>2]=c[r>>2];ec(c[xb>>2]|0,c[yb>>2]|0)}}c[ha>>2]=c[yb>>2]<<3;c[W>>2]=c[nb>>2];if((c[W>>2]|0)>(c[(c[Ua>>2]|0)+12>>2]|0))c[W>>2]=c[(c[Ua>>2]|0)+12>>2];r=N(c[lb>>2]|0,(c[Ma>>2]|0)+(c[x>>2]|0)|0)|0;c[Ab>>2]=$()|0;k=l;l=l+((1*(r<<2)|0)+15&-16)|0;m=+g[(c[Bb>>2]|0)+180>>2];r=N(c[Ka>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;if(m>+_a(c[t>>2]|0,(r|0)/(c[(c[Bb>>2]|0)+28>>2]|0)|0))m=+g[(c[Bb>>2]|0)+180>>2];else{r=N(c[Ka>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;m=+_a(c[t>>2]|0,(r|0)/(c[(c[Bb>>2]|0)+28>>2]|0)|0)}g[u>>2]=m;q=N(c[Ka>>2]|0,(c[Ma>>2]|0)-(c[x>>2]|0)|0)|0;r=N(c[Ka>>2]|0,c[x>>2]|0)|0;m=+_a((c[t>>2]|0)+(((q|0)/(c[(c[Bb>>2]|0)+28>>2]|0)|0)<<2)|0,(r|0)/(c[(c[Bb>>2]|0)+28>>2]|0)|0);g[(c[Bb>>2]|0)+180>>2]=m;if(+g[u>>2]>+g[(c[Bb>>2]|0)+180>>2])m=+g[u>>2];else m=+g[(c[Bb>>2]|0)+180>>2];g[u>>2]=m;c[kb>>2]=+g[u>>2]<=1.0/+(1<>2]|0)+60>>2]|0)&1;if((c[qa>>2]|0)==1)_b(c[xb>>2]|0,c[kb>>2]|0,15);else c[kb>>2]=0;if(c[kb>>2]|0){if((c[Ea>>2]|0)>0){r=(c[yb>>2]|0)<((c[Ca>>2]|0)+2|0)?c[yb>>2]|0:(c[Ca>>2]|0)+2|0;c[yb>>2]=r;c[X>>2]=r;c[ha>>2]=c[yb>>2]<<3;c[Ba>>2]=2;ec(c[xb>>2]|0,c[yb>>2]|0)}c[qa>>2]=c[yb>>2]<<3;q=c[qa>>2]|0;q=q-(Za(c[xb>>2]|0)|0)|0;r=(c[xb>>2]|0)+20|0;c[r>>2]=(c[r>>2]|0)+q}c[mb>>2]=0;do{c[s>>2]=0;c[s>>2]=(c[(c[Bb>>2]|0)+16>>2]|0?+g[u>>2]>65536.0:0)&1;r=k+((N(c[mb>>2]|0,(c[Ma>>2]|0)+(c[x>>2]|0)|0)|0)<<2)|0;Xa((c[t>>2]|0)+(c[mb>>2]<<2)|0,r+(c[x>>2]<<2)|0,c[Ma>>2]|0,c[lb>>2]|0,c[(c[Bb>>2]|0)+28>>2]|0,(c[Ua>>2]|0)+16|0,(c[Bb>>2]|0)+148+(c[mb>>2]<<2)|0,c[s>>2]|0);r=(c[mb>>2]|0)+1|0;c[mb>>2]=r}while((r|0)<(c[lb>>2]|0));if((c[Ba>>2]|0)>3?(c[(c[Bb>>2]|0)+68>>2]|0)!=0:0)if((c[tb>>2]|0)!=0|(c[kb>>2]|0)!=0)f=0;else S=63;else if(((c[tb>>2]|0)==0?(c[Ba>>2]|0)>((c[Ka>>2]|0)*12|0):0)^1|(c[kb>>2]|0)!=0)f=0;else S=63;if((S|0)==63)if(!(c[(c[Bb>>2]|0)+20>>2]|0)?(c[(c[Bb>>2]|0)+24>>2]|0)>=5:0){if((c[La>>2]|0)!=3?(c[(c[Bb>>2]|0)+116>>2]|0)!=0:0)f=(c[(c[Bb>>2]|0)+64>>2]|0)==5010;else f=0;f=f^1}else f=0;c[v>>2]=f&1;c[Wa>>2]=c[(c[Bb>>2]|0)+100>>2];c[T>>2]=$a(c[Bb>>2]|0,k,c[y>>2]|0,c[lb>>2]|0,c[Ma>>2]|0,c[Wa>>2]|0,Va,Ta,z,c[v>>2]|0,c[Ba>>2]|0)|0;if(!(!(+g[Ta>>2]>.4000000059604645)?!(+g[(c[Bb>>2]|0)+108>>2]>.4000000059604645):0))S=70;do if((S|0)==70){if(c[(c[Bb>>2]|0)+120>>2]|0?!(+g[(c[Bb>>2]|0)+120+4>>2]>.3):0)break;if(!(+(c[Va>>2]|0)>+(c[(c[Bb>>2]|0)+104>>2]|0)*1.26)?!(+(c[Va>>2]|0)<+(c[(c[Bb>>2]|0)+104>>2]|0)*.79):0)break;c[oa>>2]=1}while(0);if(!(c[T>>2]|0)){if((c[tb>>2]|0)==0?((c[qa>>2]|0)+16|0)<=(c[ha>>2]|0):0)_b(c[xb>>2]|0,0,1)}else{_b(c[xb>>2]|0,1,1);c[Va>>2]=(c[Va>>2]|0)+1;c[w>>2]=32-(Q(c[Va>>2]|0)|0)-5;ac(c[xb>>2]|0,c[w>>2]|0,6);bc(c[xb>>2]|0,(c[Va>>2]|0)-(16<>2])|0,4+(c[w>>2]|0)|0);c[Va>>2]=(c[Va>>2]|0)-1;bc(c[xb>>2]|0,c[z>>2]|0,3);$b(c[xb>>2]|0,c[Wa>>2]|0,25425,2)}c[ub>>2]=0;c[Ya>>2]=0;if((c[(c[Bb>>2]|0)+24>>2]|0)>=1?(c[(c[Bb>>2]|0)+68>>2]|0)==0:0)c[ub>>2]=ab(k,(c[Ma>>2]|0)+(c[x>>2]|0)|0,c[lb>>2]|0,ua,P)|0;if((c[La>>2]|0)>0?(z=(Za(c[xb>>2]|0)|0)+3|0,(z|0)<=(c[ha>>2]|0)):0){if(c[ub>>2]|0)c[Ya>>2]=c[V>>2]}else{c[ub>>2]=0;c[vb>>2]=1}z=(N(c[lb>>2]|0,c[Ma>>2]|0)|0)<<2;j=l;l=l+((1*z|0)+15&-16)|0;z=(N(c[pb>>2]|0,c[lb>>2]|0)|0)<<2;p=l;l=l+((1*z|0)+15&-16)|0;z=(N(c[pb>>2]|0,c[lb>>2]|0)|0)<<2;o=l;l=l+((1*z|0)+15&-16)|0;if(c[Ya>>2]|0)f=(c[(c[Bb>>2]|0)+24>>2]|0)>=8;else f=0;c[M>>2]=f&1;z=(N(c[Ka>>2]|0,c[pb>>2]|0)|0)<<2;e=l;l=l+((1*z|0)+15&-16)|0;a:do if(c[M>>2]|0){bb(c[Ua>>2]|0,0,k,j,c[Ka>>2]|0,c[lb>>2]|0,c[La>>2]|0,c[(c[Bb>>2]|0)+28>>2]|0,c[(c[Bb>>2]|0)+72>>2]|0);la(c[Ua>>2]|0,j,p,c[W>>2]|0,c[Ka>>2]|0,c[La>>2]|0);Tc(c[Ua>>2]|0,c[W>>2]|0,c[nb>>2]|0,p,e,c[Ka>>2]|0);c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(N(c[Ka>>2]|0,c[pb>>2]|0)|0))break a;z=e+(c[ob>>2]<<2)|0;g[z>>2]=+g[z>>2]+ +(c[La>>2]|0)*.5;c[ob>>2]=(c[ob>>2]|0)+1}}while(0);bb(c[Ua>>2]|0,c[Ya>>2]|0,k,j,c[Ka>>2]|0,c[lb>>2]|0,c[La>>2]|0,c[(c[Bb>>2]|0)+28>>2]|0,c[(c[Bb>>2]|0)+72>>2]|0);if((c[lb>>2]|0)==2&(c[Ka>>2]|0)==1)c[P>>2]=0;la(c[Ua>>2]|0,j,p,c[W>>2]|0,c[Ka>>2]|0,c[La>>2]|0);b:do if(c[(c[Bb>>2]|0)+68>>2]|0){c[ob>>2]=2;while(1){if((c[ob>>2]|0)>=(c[nb>>2]|0))break b;if(+g[p+(c[ob>>2]<<2)>>2]<+g[p>>2]*9.999999747378752e-05)m=+g[p+(c[ob>>2]<<2)>>2];else m=+g[p>>2]*9.999999747378752e-05;g[p+(c[ob>>2]<<2)>>2]=m;if(+g[p+(c[ob>>2]<<2)>>2]>1.0000000036274937e-15)m=+g[p+(c[ob>>2]<<2)>>2];else m=1.0000000036274937e-15;g[p+(c[ob>>2]<<2)>>2]=m;c[ob>>2]=(c[ob>>2]|0)+1}}while(0);Tc(c[Ua>>2]|0,c[W>>2]|0,c[nb>>2]|0,p,o,c[Ka>>2]|0);z=(N(c[Ka>>2]|0,c[pb>>2]|0)|0)<<2;i=l;l=l+((1*z|0)+15&-16)|0;aj(i|0,0,c[nb>>2]<<2|0)|0;do if(!(c[tb>>2]|0)){if(!(c[(c[Bb>>2]|0)+192>>2]|0))break;if(c[(c[Bb>>2]|0)+68>>2]|0)break;g[H>>2]=0.0;g[G>>2]=0.0;c[A>>2]=0;if(2>(c[(c[Bb>>2]|0)+92>>2]|0))f=2;else f=c[(c[Bb>>2]|0)+92>>2]|0;c[I>>2]=f;c[mb>>2]=0;while(1){if((c[mb>>2]|0)>=(c[Ka>>2]|0))break;c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(c[I>>2]|0))break;z=N(c[pb>>2]|0,c[mb>>2]|0)|0;if(+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(z+(c[ob>>2]|0)<<2)>>2]<.25){z=N(c[pb>>2]|0,c[mb>>2]|0)|0;m=+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(z+(c[ob>>2]|0)<<2)>>2]}else m=.25;do if(m>-2.0){z=N(c[pb>>2]|0,c[mb>>2]|0)|0;if(!(+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(z+(c[ob>>2]|0)<<2)>>2]<.25)){m=.25;break}z=N(c[pb>>2]|0,c[mb>>2]|0)|0;m=+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(z+(c[ob>>2]|0)<<2)>>2]}else m=-2.0;while(0);g[B>>2]=m;if(+g[B>>2]>0.0)g[B>>2]=+g[B>>2]*.5;g[H>>2]=+g[H>>2]+ +g[B>>2]*+((b[(c[ba>>2]|0)+((c[ob>>2]|0)+1<<1)>>1]|0)-(b[(c[ba>>2]|0)+(c[ob>>2]<<1)>>1]|0)|0);c[A>>2]=(c[A>>2]|0)+((b[(c[ba>>2]|0)+((c[ob>>2]|0)+1<<1)>>1]|0)-(b[(c[ba>>2]|0)+(c[ob>>2]<<1)>>1]|0));g[G>>2]=+g[G>>2]+ +g[B>>2]*+(1+(c[ob>>2]<<1)-(c[I>>2]|0)|0);c[ob>>2]=(c[ob>>2]|0)+1}c[mb>>2]=(c[mb>>2]|0)+1}g[H>>2]=+g[H>>2]/+(c[A>>2]|0);g[H>>2]=+g[H>>2]+.20000000298023224;B=N(c[Ka>>2]|0,(c[I>>2]|0)-1|0)|0;B=N(B,(c[I>>2]|0)+1|0)|0;g[G>>2]=+g[G>>2]*6.0/+(N(B,c[I>>2]|0)|0);g[G>>2]=+g[G>>2]*.5;if((+g[G>>2]<.03099999949336052?+g[G>>2]:.03099999949336052)>-.03099999949336052)m=+g[G>>2]<.03099999949336052?+g[G>>2]:.03099999949336052;else m=-.03099999949336052;g[G>>2]=m;c[E>>2]=0;while(1){if((b[(c[ba>>2]|0)+((c[E>>2]|0)+1<<1)>>1]|0)>=((b[(c[ba>>2]|0)+(c[I>>2]<<1)>>1]|0)/2|0|0))break;c[E>>2]=(c[E>>2]|0)+1}c[C>>2]=0;c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(c[I>>2]|0))break;g[D>>2]=+g[H>>2]+ +g[G>>2]*+((c[ob>>2]|0)-(c[E>>2]|0)|0);m=+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(c[ob>>2]<<2)>>2];if((c[Ka>>2]|0)==2){if(m>+g[(c[(c[Bb>>2]|0)+192>>2]|0)+((c[pb>>2]|0)+(c[ob>>2]|0)<<2)>>2])f=c[ob>>2]|0;else f=(c[pb>>2]|0)+(c[ob>>2]|0)|0;g[F>>2]=+g[(c[(c[Bb>>2]|0)+192>>2]|0)+(f<<2)>>2]}else g[F>>2]=m;g[F>>2]=+g[F>>2]<0.0?+g[F>>2]:0.0;g[F>>2]=+g[F>>2]-+g[D>>2];if(+g[F>>2]>.25){g[i+(c[ob>>2]<<2)>>2]=+g[F>>2]-.25;c[C>>2]=(c[C>>2]|0)+1}c[ob>>2]=(c[ob>>2]|0)+1}c:do if((c[C>>2]|0)>=3){g[H>>2]=+g[H>>2]+.25;if(+g[H>>2]>0.0){g[H>>2]=0.0;g[G>>2]=0.0;aj(i|0,0,c[I>>2]<<2|0)|0;break}c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(c[I>>2]|0))break c;if(0.0>+g[i+(c[ob>>2]<<2)>>2]-.25)m=0.0;else m=+g[i+(c[ob>>2]<<2)>>2]-.25;g[i+(c[ob>>2]<<2)>>2]=m;c[ob>>2]=(c[ob>>2]|0)+1}}while(0);g[H>>2]=+g[H>>2]+.20000000298023224;g[ga>>2]=+g[G>>2]*64.0;g[pa>>2]=+g[H>>2]}while(0);if(!(c[(c[Bb>>2]|0)+68>>2]|0)){g[J>>2]=-10.0;g[K>>2]=0.0;if(c[Ya>>2]|0)m=+(c[La>>2]|0)*.5;else m=0.0;g[L>>2]=m;c[ob>>2]=c[tb>>2];while(1){if((c[ob>>2]|0)>=(c[nb>>2]|0))break;if(+g[J>>2]-1.0>+g[o+(c[ob>>2]<<2)>>2]-+g[L>>2])m=+g[J>>2]-1.0;else m=+g[o+(c[ob>>2]<<2)>>2]-+g[L>>2];g[J>>2]=m;if((c[Ka>>2]|0)==2){if(+g[J>>2]>+g[o+((c[ob>>2]|0)+(c[pb>>2]|0)<<2)>>2]-+g[L>>2])m=+g[J>>2];else m=+g[o+((c[ob>>2]|0)+(c[pb>>2]|0)<<2)>>2]-+g[L>>2];g[J>>2]=m}g[K>>2]=+g[K>>2]+ +g[J>>2];c[ob>>2]=(c[ob>>2]|0)+1}g[K>>2]=+g[K>>2]/+((c[nb>>2]|0)-(c[tb>>2]|0)|0);g[sa>>2]=+g[K>>2]-+g[(c[Bb>>2]|0)+196>>2];if(3.0<(-1.5>+g[sa>>2]?-1.5:+g[sa>>2]))m=3.0;else m=-1.5>+g[sa>>2]?-1.5:+g[sa>>2];g[sa>>2]=m;L=(c[Bb>>2]|0)+196|0;g[L>>2]=+g[L>>2]+ +g[sa>>2]*.019999999552965164}if(!(c[M>>2]|0)){M=(N(c[Ka>>2]|0,c[pb>>2]|0)|0)<<2;_i(e|0,o|0,M+0|0)|0}do if((c[La>>2]|0)>0){M=(Za(c[xb>>2]|0)|0)+3|0;if(c[ub>>2]|0?1:(M|0)>(c[ha>>2]|0))break;if((c[(c[Bb>>2]|0)+24>>2]|0)<5)break;if(c[(c[Bb>>2]|0)+68>>2]|0)break;if(!(cb(o,c[qb>>2]|0,c[pb>>2]|0,c[tb>>2]|0,c[nb>>2]|0,c[Ka>>2]|0)|0))break;c[ub>>2]=1;c[Ya>>2]=c[V>>2];bb(c[Ua>>2]|0,c[Ya>>2]|0,k,j,c[Ka>>2]|0,c[lb>>2]|0,c[La>>2]|0,c[(c[Bb>>2]|0)+28>>2]|0,c[(c[Bb>>2]|0)+72>>2]|0);la(c[Ua>>2]|0,j,p,c[W>>2]|0,c[Ka>>2]|0,c[La>>2]|0);Tc(c[Ua>>2]|0,c[W>>2]|0,c[nb>>2]|0,p,o,c[Ka>>2]|0);c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(N(c[Ka>>2]|0,c[pb>>2]|0)|0))break;M=e+(c[ob>>2]<<2)|0;g[M>>2]=+g[M>>2]+ +(c[La>>2]|0)*.5;c[ob>>2]=(c[ob>>2]|0)+1}g[ua>>2]=.20000000298023224}while(0);do if((c[La>>2]|0)>0){M=(Za(c[xb>>2]|0)|0)+3|0;if((M|0)>(c[ha>>2]|0))break;_b(c[xb>>2]|0,c[ub>>2]|0,3)}while(0);a=(N(c[Ka>>2]|0,c[Ma>>2]|0)|0)<<2;n=l;l=l+((1*a|0)+15&-16)|0;na(c[Ua>>2]|0,j,n,p,c[W>>2]|0,c[Ka>>2]|0,c[V>>2]|0);a=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;d:do if((c[tb>>2]|0)==0?(c[X>>2]|0)>=((c[Ka>>2]|0)*15|0):0){if((c[(c[Bb>>2]|0)+24>>2]|0)<2){S=192;break}if(c[(c[Bb>>2]|0)+68>>2]|0){S=192;break}do if((c[X>>2]|0)>=40){if((c[X>>2]|0)<60){c[O>>2]=6;break}if((c[X>>2]|0)<100){c[O>>2]=4;break}else{c[O>>2]=3;break}}else c[O>>2]=12;while(0);c[O>>2]=c[O>>2]<<1;c[U>>2]=db(c[Ua>>2]|0,c[W>>2]|0,c[ub>>2]|0,a,c[O>>2]|0,n,c[Ma>>2]|0,c[La>>2]|0,R,+g[ua>>2],c[P>>2]|0)|0;c[ob>>2]=c[W>>2];while(1){if((c[ob>>2]|0)>=(c[nb>>2]|0))break d;c[a+(c[ob>>2]<<2)>>2]=c[a+((c[W>>2]|0)-1<<2)>>2];c[ob>>2]=(c[ob>>2]|0)+1}}else S=192;while(0);if((S|0)==192){c[R>>2]=0;c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(c[nb>>2]|0))break;c[a+(c[ob>>2]<<2)>>2]=c[ub>>2];c[ob>>2]=(c[ob>>2]|0)+1}c[U>>2]=0}S=(N(c[Ka>>2]|0,c[pb>>2]|0)|0)<<2;d=l;l=l+((1*S|0)+15&-16)|0;Ic(c[Ua>>2]|0,c[tb>>2]|0,c[nb>>2]|0,c[W>>2]|0,o,c[qb>>2]|0,c[ha>>2]|0,d,c[xb>>2]|0,c[Ka>>2]|0,c[La>>2]|0,c[Ba>>2]|0,c[(c[Bb>>2]|0)+12>>2]|0,(c[Bb>>2]|0)+84|0,(c[(c[Bb>>2]|0)+24>>2]|0)>=4&1,c[(c[Bb>>2]|0)+56>>2]|0,c[(c[Bb>>2]|0)+68>>2]|0);eb(c[tb>>2]|0,c[nb>>2]|0,c[ub>>2]|0,a,c[La>>2]|0,c[U>>2]|0,c[xb>>2]|0);U=(Za(c[xb>>2]|0)|0)+4|0;if((U|0)<=(c[ha>>2]|0)){e:do if(c[(c[Bb>>2]|0)+68>>2]|0){c[(c[Bb>>2]|0)+100>>2]=0;c[(c[Bb>>2]|0)+80>>2]=2}else{do if(!(c[Ya>>2]|0)){if((c[(c[Bb>>2]|0)+24>>2]|0)<3)break;if(c[tb>>2]|0?1:(c[Ba>>2]|0)<((c[Ka>>2]|0)*10|0))break;if(c[T>>2]|0)f=(c[Ya>>2]|0)!=0^1;else f=0;W=ra(c[Ua>>2]|0,n,(c[Bb>>2]|0)+88|0,c[(c[Bb>>2]|0)+80>>2]|0,(c[Bb>>2]|0)+96|0,(c[Bb>>2]|0)+100|0,f&1,c[W>>2]|0,c[Ka>>2]|0,c[V>>2]|0)|0;c[(c[Bb>>2]|0)+80>>2]=W;break e}while(0);c[(c[Bb>>2]|0)+80>>2]=(c[(c[Bb>>2]|0)+24>>2]|0)==0?0:2}while(0);$b(c[xb>>2]|0,c[(c[Bb>>2]|0)+80>>2]|0,25428,5)}h=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;g[ka>>2]=+fb(o,e,c[pb>>2]|0,c[tb>>2]|0,c[nb>>2]|0,c[Ka>>2]|0,h,c[(c[Bb>>2]|0)+60>>2]|0,c[(c[Ua>>2]|0)+56>>2]|0,c[ub>>2]|0,c[(c[Bb>>2]|0)+44>>2]|0,c[(c[Bb>>2]|0)+52>>2]|0,c[ba>>2]|0,c[La>>2]|0,c[X>>2]|0,va,c[(c[Bb>>2]|0)+68>>2]|0,i);if(c[(c[Bb>>2]|0)+68>>2]|0){if(8<((c[X>>2]|0)/3|0|0))f=8;else f=(c[X>>2]|0)/3|0;c[h>>2]=f}j=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;Pa(c[Ua>>2]|0,j,c[La>>2]|0,c[Ka>>2]|0);c[Z>>2]=6;c[ha>>2]=c[ha>>2]<<3;c[wa>>2]=0;c[qa>>2]=Gb(c[xb>>2]|0)|0;c[ob>>2]=c[tb>>2];while(1){f=c[Ka>>2]|0;if((c[ob>>2]|0)>=(c[nb>>2]|0))break;f=N(f,(b[(c[ba>>2]|0)+((c[ob>>2]|0)+1<<1)>>1]|0)-(b[(c[ba>>2]|0)+(c[ob>>2]<<1)>>1]|0)|0)|0;c[fa>>2]=f<>2];f=c[fa>>2]|0;if((c[fa>>2]<<3|0)<((48>(c[fa>>2]|0)?48:c[fa>>2]|0)|0))f=f<<3;else f=48>(f|0)?48:c[fa>>2]|0;c[ea>>2]=f;c[aa>>2]=c[Z>>2];c[Y>>2]=0;c[da>>2]=0;while(1){if(((c[qa>>2]|0)+(c[aa>>2]<<3)|0)>=((c[ha>>2]|0)-(c[wa>>2]|0)|0))break;if((c[Y>>2]|0)>=(c[j+(c[ob>>2]<<2)>>2]|0))break;c[ca>>2]=(c[da>>2]|0)<(c[h+(c[ob>>2]<<2)>>2]|0)&1;_b(c[xb>>2]|0,c[ca>>2]|0,c[aa>>2]|0);c[qa>>2]=Gb(c[xb>>2]|0)|0;if(!(c[ca>>2]|0))break;c[Y>>2]=(c[Y>>2]|0)+(c[ea>>2]|0);c[wa>>2]=(c[wa>>2]|0)+(c[ea>>2]|0);c[aa>>2]=1;c[da>>2]=(c[da>>2]|0)+1}if(c[da>>2]|0)c[Z>>2]=2>((c[Z>>2]|0)-1|0)?2:(c[Z>>2]|0)-1|0;c[h+(c[ob>>2]<<2)>>2]=c[Y>>2];c[ob>>2]=(c[ob>>2]|0)+1}if((f|0)==2){if(c[La>>2]|0)c[Sa>>2]=gb(c[Ua>>2]|0,n,c[La>>2]|0,c[Ma>>2]|0)|0;fa=ja(+((c[Fa>>2]|0)/1e3|0|0),196,280,21,c[(c[Bb>>2]|0)+188>>2]|0)|0;c[(c[Bb>>2]|0)+188>>2]=fa;if((c[tb>>2]|0)>(c[(c[Bb>>2]|0)+188>>2]|0))f=c[tb>>2]|0;else f=c[(c[Bb>>2]|0)+188>>2]|0;do if((c[nb>>2]|0)>=(f|0))if((c[tb>>2]|0)>(c[(c[Bb>>2]|0)+188>>2]|0)){f=c[tb>>2]|0;break}else{f=c[(c[Bb>>2]|0)+188>>2]|0;break}else f=c[nb>>2]|0;while(0);c[(c[Bb>>2]|0)+188>>2]=f}c[Ha>>2]=5;if(((c[qa>>2]|0)+48|0)<=((c[ha>>2]|0)-(c[wa>>2]|0)|0)){if(c[(c[Bb>>2]|0)+68>>2]|0)c[Ha>>2]=5;else c[Ha>>2]=hb(c[Ua>>2]|0,n,o,c[nb>>2]|0,c[La>>2]|0,c[Ka>>2]|0,c[Ma>>2]|0,(c[Bb>>2]|0)+120|0,(c[Bb>>2]|0)+184|0,+g[ua>>2],c[(c[Bb>>2]|0)+188>>2]|0,+g[ga>>2],c[(c[Bb>>2]|0)+72>>2]|0)|0;$b(c[xb>>2]|0,c[Ha>>2]|0,25432,7);c[qa>>2]=Gb(c[xb>>2]|0)|0}if((c[Ea>>2]|0)>0){c[Aa>>2]=(c[(c[Ua>>2]|0)+36>>2]|0)-(c[La>>2]|0);if((c[yb>>2]|0)<(1275>>3-(c[La>>2]|0)|0))f=c[yb>>2]|0;else f=1275>>3-(c[La>>2]|0);c[yb>>2]=f;c[ia>>2]=(c[Ea>>2]|0)-(((c[Ka>>2]|0)*40|0)+20<<3);if(c[(c[Bb>>2]|0)+52>>2]|0)c[ia>>2]=(c[ia>>2]|0)+(c[(c[Bb>>2]|0)+172>>2]>>c[Aa>>2]);c[Da>>2]=ib(c[Ua>>2]|0,(c[Bb>>2]|0)+120|0,c[ia>>2]|0,c[La>>2]|0,c[Fa>>2]|0,c[(c[Bb>>2]|0)+92>>2]|0,c[Ka>>2]|0,c[(c[Bb>>2]|0)+188>>2]|0,c[(c[Bb>>2]|0)+52>>2]|0,+g[(c[Bb>>2]|0)+184>>2],c[va>>2]|0,+g[ua>>2],c[oa>>2]|0,+g[ka>>2],c[(c[Bb>>2]|0)+64>>2]|0,c[(c[Bb>>2]|0)+68>>2]|0,(c[(c[Bb>>2]|0)+192>>2]|0)!=0&1,+g[pa>>2],+g[sa>>2])|0;c[Da>>2]=(c[Da>>2]|0)+(c[qa>>2]|0);c[ma>>2]=((c[qa>>2]|0)+(c[wa>>2]|0)+64-1>>6)+2-(c[Ca>>2]|0);c[Ba>>2]=(c[Da>>2]|0)+32>>6;c[Ba>>2]=(c[ma>>2]|0)>(c[Ba>>2]|0)?c[ma>>2]|0:c[Ba>>2]|0;if((c[yb>>2]|0)<((c[Ba>>2]|0)+(c[Ca>>2]|0)|0))f=c[yb>>2]|0;else f=(c[Ba>>2]|0)+(c[Ca>>2]|0)|0;c[Ba>>2]=f-(c[Ca>>2]|0);c[za>>2]=(c[Da>>2]|0)-(c[Ea>>2]|0);c[Da>>2]=c[Ba>>2]<<6;if(c[kb>>2]|0){c[Ba>>2]=2;c[Da>>2]=128;c[za>>2]=0}if((c[(c[Bb>>2]|0)+176>>2]|0)<970){wa=(c[Bb>>2]|0)+176|0;c[wa>>2]=(c[wa>>2]|0)+1;g[ya>>2]=1.0/+((c[(c[Bb>>2]|0)+176>>2]|0)+20|0)}else g[ya>>2]=1.0000000474974513e-03;if(c[(c[Bb>>2]|0)+52>>2]|0){wa=(c[Bb>>2]|0)+164|0;c[wa>>2]=(c[wa>>2]|0)+((c[Da>>2]|0)-(c[Ea>>2]|0))}if(c[(c[Bb>>2]|0)+52>>2]|0){Da=N(c[za>>2]|0,1<>2])|0;Ea=(c[Bb>>2]|0)+168|0;c[Ea>>2]=(c[Ea>>2]|0)+~~(+g[ya>>2]*+(Da-(c[(c[Bb>>2]|0)+172>>2]|0)-(c[(c[Bb>>2]|0)+168>>2]|0)|0));c[(c[Bb>>2]|0)+172>>2]=0-(c[(c[Bb>>2]|0)+168>>2]|0)}do if(c[(c[Bb>>2]|0)+52>>2]|0){if((c[(c[Bb>>2]|0)+164>>2]|0)>=0)break;c[xa>>2]=(0-(c[(c[Bb>>2]|0)+164>>2]|0)|0)/64|0;c[Ba>>2]=(c[Ba>>2]|0)+(c[kb>>2]|0?0:c[xa>>2]|0);c[(c[Bb>>2]|0)+164>>2]=0}while(0);if((c[yb>>2]|0)<((c[Ba>>2]|0)+(c[Ca>>2]|0)|0))f=c[yb>>2]|0;else f=(c[Ba>>2]|0)+(c[Ca>>2]|0)|0;c[yb>>2]=f;ec(c[xb>>2]|0,c[yb>>2]|0)}i=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;e=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;k=l;l=l+((1*(c[pb>>2]<<2)|0)+15&-16)|0;Ea=c[yb>>2]<<3<<3;c[Ia>>2]=Ea-(Gb(c[xb>>2]|0)|0)-1;if((c[ub>>2]|0)!=0&(c[La>>2]|0)>=2)f=(c[Ia>>2]|0)>=((c[La>>2]|0)+2<<3|0);else f=0;c[Oa>>2]=f?8:0;c[Ia>>2]=(c[Ia>>2]|0)-(c[Oa>>2]|0);c[Ja>>2]=(c[nb>>2]|0)-1;if(c[(c[Bb>>2]|0)+120>>2]|0){do if((c[Fa>>2]|0)>=((c[Ka>>2]|0)*32e3|0)){if((c[Fa>>2]|0)<((c[Ka>>2]|0)*48e3|0)){c[Ga>>2]=16;break}if((c[Fa>>2]|0)<((c[Ka>>2]|0)*6e4|0)){c[Ga>>2]=18;break}if((c[Fa>>2]|0)<((c[Ka>>2]|0)*8e4|0)){c[Ga>>2]=19;break}else{c[Ga>>2]=20;break}}else c[Ga>>2]=13;while(0);if((c[(c[Bb>>2]|0)+120+24>>2]|0)>(c[Ga>>2]|0))f=c[(c[Bb>>2]|0)+120+24>>2]|0;else f=c[Ga>>2]|0;c[Ja>>2]=f}if(c[(c[Bb>>2]|0)+68>>2]|0)c[Ja>>2]=1;c[Ra>>2]=Uc(c[Ua>>2]|0,c[tb>>2]|0,c[nb>>2]|0,h,j,c[Ha>>2]|0,(c[Bb>>2]|0)+188|0,Sa,c[Ia>>2]|0,Qa,e,i,k,c[Ka>>2]|0,c[La>>2]|0,c[xb>>2]|0,1,c[(c[Bb>>2]|0)+92>>2]|0,c[Ja>>2]|0)|0;if(c[(c[Bb>>2]|0)+92>>2]|0){if(((c[(c[Bb>>2]|0)+92>>2]|0)-1|0)>(c[Ra>>2]|0))j=(c[(c[Bb>>2]|0)+92>>2]|0)-1|0;else j=c[Ra>>2]|0;f=c[(c[Bb>>2]|0)+92>>2]|0;do if(((c[(c[Bb>>2]|0)+92>>2]|0)+1|0)>=(j|0))if((f-1|0)>(c[Ra>>2]|0)){f=(c[(c[Bb>>2]|0)+92>>2]|0)-1|0;break}else{f=c[Ra>>2]|0;break}else f=f+1|0;while(0);j=c[Bb>>2]|0}else{f=c[Ra>>2]|0;j=c[Bb>>2]|0}c[j+92>>2]=f;Oc(c[Ua>>2]|0,c[tb>>2]|0,c[nb>>2]|0,c[qb>>2]|0,d,i,c[xb>>2]|0,c[Ka>>2]|0);Ia=N(c[Ka>>2]|0,c[pb>>2]|0)|0;Ja=l;l=l+((1*Ia|0)+15&-16)|0;ta(1,c[Ua>>2]|0,c[tb>>2]|0,c[nb>>2]|0,n,(c[Ka>>2]|0)==2?n+(c[Ma>>2]<<2)|0:0,Ja,p,e,c[Ya>>2]|0,c[(c[Bb>>2]|0)+80>>2]|0,c[Sa>>2]|0,c[(c[Bb>>2]|0)+188>>2]|0,a,(c[yb>>2]<<6)-(c[Oa>>2]|0)|0,c[Qa>>2]|0,c[xb>>2]|0,c[La>>2]|0,c[Ra>>2]|0,(c[Bb>>2]|0)+76|0,c[(c[Bb>>2]|0)+72>>2]|0);if((c[Oa>>2]|0)>0){c[Na>>2]=(c[(c[Bb>>2]|0)+116>>2]|0)<2&1;bc(c[xb>>2]|0,c[Na>>2]|0,1)}Qa=c[Ua>>2]|0;Ra=c[tb>>2]|0;Sa=c[nb>>2]|0;Ua=c[qb>>2]|0;Ya=c[yb>>2]<<3;Ya=Ya-(Za(c[xb>>2]|0)|0)|0;Pc(Qa,Ra,Sa,Ua,d,i,k,Ya,c[xb>>2]|0,c[Ka>>2]|0);f:do if(c[kb>>2]|0){c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(N(c[Ka>>2]|0,c[pb>>2]|0)|0))break f;g[(c[qb>>2]|0)+(c[ob>>2]<<2)>>2]=-28.0;c[ob>>2]=(c[ob>>2]|0)+1}}while(0);c[(c[Bb>>2]|0)+104>>2]=c[Va>>2];g[(c[Bb>>2]|0)+108>>2]=+g[Ta>>2];c[(c[Bb>>2]|0)+112>>2]=c[Wa>>2];if((c[lb>>2]|0)==2&(c[Ka>>2]|0)==1)_i((c[qb>>2]|0)+(c[pb>>2]<<2)|0,c[qb>>2]|0,(c[pb>>2]<<2)+0|0)|0;g:do if(c[ub>>2]|0){c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(N(c[lb>>2]|0,c[pb>>2]|0)|0))break g;if(+g[(c[rb>>2]|0)+(c[ob>>2]<<2)>>2]<+g[(c[qb>>2]|0)+(c[ob>>2]<<2)>>2])f=(c[rb>>2]|0)+(c[ob>>2]<<2)|0;else f=(c[qb>>2]|0)+(c[ob>>2]<<2)|0;g[(c[rb>>2]|0)+(c[ob>>2]<<2)>>2]=+g[f>>2];c[ob>>2]=(c[ob>>2]|0)+1}}else{kb=(N(c[lb>>2]|0,c[pb>>2]|0)|0)<<2;_i(c[sb>>2]|0,c[rb>>2]|0,kb+0|0)|0;kb=(N(c[lb>>2]|0,c[pb>>2]|0)|0)<<2;_i(c[rb>>2]|0,c[qb>>2]|0,kb+0|0)|0}while(0);c[mb>>2]=0;do{c[ob>>2]=0;while(1){if((c[ob>>2]|0)>=(c[tb>>2]|0))break;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[qb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=0.0;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[sb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=-28.0;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[rb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=-28.0;c[ob>>2]=(c[ob>>2]|0)+1}c[ob>>2]=c[nb>>2];while(1){if((c[ob>>2]|0)>=(c[pb>>2]|0))break;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[qb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=0.0;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[sb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=-28.0;kb=N(c[mb>>2]|0,c[pb>>2]|0)|0;g[(c[rb>>2]|0)+(kb+(c[ob>>2]|0)<<2)>>2]=-28.0;c[ob>>2]=(c[ob>>2]|0)+1}kb=(c[mb>>2]|0)+1|0;c[mb>>2]=kb}while((kb|0)<(c[lb>>2]|0));j=(c[Bb>>2]|0)+116|0;if((c[ub>>2]|0)!=0|(c[vb>>2]|0)!=0)f=(c[j>>2]|0)+1|0;else f=0;c[j>>2]=f;c[(c[Bb>>2]|0)+76>>2]=c[(c[xb>>2]|0)+28>>2];fc(c[xb>>2]|0);if(jb(c[xb>>2]|0)|0){c[zb>>2]=-3;c[wb>>2]=1}else{c[zb>>2]=c[yb>>2];c[wb>>2]=1}_(c[Ab>>2]|0);Bb=c[zb>>2]|0;l=Cb;return Bb|0}function Za(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function _a(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;e=k+8|0;h=k+4|0;i=k;c[j>>2]=a;c[f>>2]=b;g[h>>2]=0.0;g[i>>2]=0.0;c[e>>2]=0;while(1){d=+g[h>>2];if((c[e>>2]|0)>=(c[f>>2]|0))break;if(d>+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[h>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[h>>2]=d;if(+g[i>>2]<+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2])d=+g[i>>2];else d=+g[(c[j>>2]|0)+(c[e>>2]<<2)>>2];g[i>>2]=d;c[e>>2]=(c[e>>2]|0)+1}l=k;return +(d>-+g[i>>2]?+g[h>>2]:-+g[i>>2])}function $a(a,b,d,e,f,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=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,O=0;O=l;l=l+96|0;M=O+92|0;x=O+88|0;H=O+84|0;s=O+80|0;t=O+76|0;I=O+72|0;E=O+68|0;v=O+64|0;K=O+60|0;o=O+56|0;p=O+52|0;u=O+48|0;G=O+40|0;y=O+36|0;F=O+32|0;w=O+28|0;q=O+24|0;D=O+20|0;J=O+16|0;C=O+12|0;L=O+8|0;r=O+4|0;B=O;c[M>>2]=a;c[x>>2]=b;c[H>>2]=d;c[s>>2]=e;c[t>>2]=f;c[I>>2]=h;c[E>>2]=i;c[v>>2]=j;c[K>>2]=k;c[o>>2]=m;c[p>>2]=n;c[y>>2]=c[c[M>>2]>>2];c[C>>2]=c[(c[y>>2]|0)+4>>2];k=N(c[s>>2]|0,(c[t>>2]|0)+1024|0)|0;c[L>>2]=$()|0;a=l;l=l+((1*(k<<2)|0)+15&-16)|0;c[G>>2]=a;c[G+4>>2]=a+((c[t>>2]|0)+1024<<2);c[u>>2]=0;do{_i(c[G+(c[u>>2]<<2)>>2]|0,(c[H>>2]|0)+(c[u>>2]<<10<<2)|0,4096|0)|0;a=(c[x>>2]|0)+((N(c[u>>2]|0,(c[t>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;_i((c[G+(c[u>>2]<<2)>>2]|0)+4096|0,a+(c[C>>2]<<2)|0,(c[t>>2]<<2)+0|0)|0;a=(c[u>>2]|0)+1|0;c[u>>2]=a}while((a|0)<(c[s>>2]|0));if(c[o>>2]|0){k=1024+(c[t>>2]|0)>>1;c[r>>2]=$()|0;a=l;l=l+((1*(k<<2)|0)+15&-16)|0;tc(G,a,1024+(c[t>>2]|0)|0,c[s>>2]|0,c[(c[M>>2]|0)+72>>2]|0);yc(a+2048|0,a,c[t>>2]|0,979,F,c[(c[M>>2]|0)+72>>2]|0);c[F>>2]=1024-(c[F>>2]|0);g[w>>2]=+Ac(a,1024,15,c[t>>2]|0,F,c[(c[M>>2]|0)+104>>2]|0,+g[(c[M>>2]|0)+108>>2],c[(c[M>>2]|0)+72>>2]|0);if((c[F>>2]|0)>1022)c[F>>2]=1022;g[w>>2]=+g[w>>2]*.699999988079071;if((c[(c[M>>2]|0)+56>>2]|0)>2)g[w>>2]=+g[w>>2]*.5;if((c[(c[M>>2]|0)+56>>2]|0)>4)g[w>>2]=+g[w>>2]*.5;if((c[(c[M>>2]|0)+56>>2]|0)>8)g[w>>2]=0.0;_(c[r>>2]|0)}else{g[w>>2]=0.0;c[F>>2]=15}g[q>>2]=.20000000298023224;a=(A((c[F>>2]|0)-(c[(c[M>>2]|0)+104>>2]|0)|0)|0)*10|0;if((a|0)>(c[F>>2]|0))g[q>>2]=+g[q>>2]+.20000000298023224;if((c[p>>2]|0)<25)g[q>>2]=+g[q>>2]+.10000000149011612;if((c[p>>2]|0)<35)g[q>>2]=+g[q>>2]+.10000000149011612;if(+g[(c[M>>2]|0)+108>>2]>.4000000059604645)g[q>>2]=+g[q>>2]-.10000000149011612;if(+g[(c[M>>2]|0)+108>>2]>.550000011920929)g[q>>2]=+g[q>>2]-.10000000149011612;g[q>>2]=+g[q>>2]>.20000000298023224?+g[q>>2]:.20000000298023224;if(+g[w>>2]<+g[q>>2]){g[w>>2]=0.0;c[D>>2]=0;c[J>>2]=0}else{if(+A(+(+g[w>>2]-+g[(c[M>>2]|0)+108>>2]))<.10000000149011612)g[w>>2]=+g[(c[M>>2]|0)+108>>2];c[J>>2]=~~+z(+(+g[w>>2]*32.0/3.0+.5))-1;if(0>((7<(c[J>>2]|0)?7:c[J>>2]|0)|0))e=0;else e=7<(c[J>>2]|0)?7:c[J>>2]|0;c[J>>2]=e;g[w>>2]=+((c[J>>2]|0)+1|0)*.09375;c[D>>2]=1}c[u>>2]=0;do{c[B>>2]=(c[(c[y>>2]|0)+44>>2]|0)-(c[C>>2]|0);if((c[(c[M>>2]|0)+104>>2]|0)>15)e=c[(c[M>>2]|0)+104>>2]|0;else e=15;c[(c[M>>2]|0)+104>>2]=e;r=(c[x>>2]|0)+((N(c[u>>2]|0,(c[t>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;a=(c[M>>2]|0)+200+((N(c[u>>2]|0,c[C>>2]|0)|0)<<2)|0;_i(r|0,a|0,(c[C>>2]<<2)+0|0)|0;if(c[B>>2]|0){a=(c[x>>2]|0)+((N(c[u>>2]|0,(c[t>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;Na(a+(c[C>>2]<<2)|0,(c[G+(c[u>>2]<<2)>>2]|0)+4096|0,c[(c[M>>2]|0)+104>>2]|0,c[(c[M>>2]|0)+104>>2]|0,c[B>>2]|0,-+g[(c[M>>2]|0)+108>>2],-+g[(c[M>>2]|0)+108>>2],c[(c[M>>2]|0)+112>>2]|0,c[(c[M>>2]|0)+112>>2]|0,0,0,c[(c[M>>2]|0)+72>>2]|0)}a=(c[x>>2]|0)+((N(c[u>>2]|0,(c[t>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;Na(a+(c[C>>2]<<2)+(c[B>>2]<<2)|0,(c[G+(c[u>>2]<<2)>>2]|0)+4096+(c[B>>2]<<2)|0,c[(c[M>>2]|0)+104>>2]|0,c[F>>2]|0,(c[t>>2]|0)-(c[B>>2]|0)|0,-+g[(c[M>>2]|0)+108>>2],-+g[w>>2],c[(c[M>>2]|0)+112>>2]|0,c[I>>2]|0,c[(c[y>>2]|0)+60>>2]|0,c[C>>2]|0,c[(c[M>>2]|0)+72>>2]|0);a=(c[M>>2]|0)+200+((N(c[u>>2]|0,c[C>>2]|0)|0)<<2)|0;e=(c[x>>2]|0)+((N(c[u>>2]|0,(c[t>>2]|0)+(c[C>>2]|0)|0)|0)<<2)|0;_i(a|0,e+(c[t>>2]<<2)|0,(c[C>>2]<<2)+0|0)|0;e=(c[H>>2]|0)+(c[u>>2]<<10<<2)|0;if((c[t>>2]|0)>1024)$i(e|0,(c[G+(c[u>>2]<<2)>>2]|0)+(c[t>>2]<<2)|0,4096|0)|0;else{$i(e|0,(c[H>>2]|0)+(c[u>>2]<<10<<2)+(c[t>>2]<<2)|0,(1024-(c[t>>2]|0)<<2)+0|0)|0;$i((c[H>>2]|0)+(c[u>>2]<<10<<2)+4096+(0-(c[t>>2]|0)<<2)|0,(c[G+(c[u>>2]<<2)>>2]|0)+4096|0,(c[t>>2]<<2)+0|0)|0}a=(c[u>>2]|0)+1|0;c[u>>2]=a}while((a|0)<(c[s>>2]|0));g[c[v>>2]>>2]=+g[w>>2];c[c[E>>2]>>2]=c[F>>2];c[c[K>>2]>>2]=c[J>>2];M=c[D>>2]|0;_(c[L>>2]|0);l=O;return M|0}function ab(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=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,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+96|0;o=I+84|0;p=I+80|0;j=I+76|0;G=I+72|0;x=I+68|0;m=I+64|0;u=I+60|0;v=I+56|0;E=I+52|0;r=I+48|0;k=I+44|0;H=I+40|0;q=I+36|0;F=I+32|0;t=I+28|0;y=I+24|0;w=I+20|0;s=I+16|0;A=I+12|0;D=I+8|0;C=I+4|0;n=I;c[o>>2]=a;c[p>>2]=b;c[j>>2]=e;c[G>>2]=f;c[x>>2]=h;c[E>>2]=0;c[r>>2]=0;f=c[p>>2]|0;c[F>>2]=$()|0;b=l;l=l+((1*(f<<2)|0)+15&-16)|0;c[q>>2]=(c[p>>2]|0)/2|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;c[y>>2]=0;g[u>>2]=0.0;g[v>>2]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0))break;g[A>>2]=+g[(c[o>>2]|0)+((c[m>>2]|0)+(N(c[k>>2]|0,c[p>>2]|0)|0)<<2)>>2];g[D>>2]=+g[u>>2]+ +g[A>>2];g[u>>2]=+g[v>>2]+ +g[D>>2]-+g[A>>2]*2.0;g[v>>2]=+g[A>>2]-+g[D>>2]*.5;g[b+(c[m>>2]<<2)>>2]=+g[D>>2];c[m>>2]=(c[m>>2]|0)+1}e=b;a=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));g[t>>2]=0.0;g[u>>2]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[q>>2]|0))break;g[C>>2]=+g[b+(c[m>>2]<<1<<2)>>2]*+g[b+(c[m>>2]<<1<<2)>>2]+ +g[b+((c[m>>2]<<1)+1<<2)>>2]*+g[b+((c[m>>2]<<1)+1<<2)>>2];g[t>>2]=+g[t>>2]+ +g[C>>2];g[b+(c[m>>2]<<2)>>2]=+g[u>>2]+(+g[C>>2]-+g[u>>2])*.0625;g[u>>2]=+g[b+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}g[u>>2]=0.0;g[s>>2]=0.0;c[m>>2]=(c[q>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;g[b+(c[m>>2]<<2)>>2]=+g[u>>2]+(+g[b+(c[m>>2]<<2)>>2]-+g[u>>2])*.125;g[u>>2]=+g[b+(c[m>>2]<<2)>>2];g[s>>2]=+g[s>>2]>+g[u>>2]?+g[s>>2]:+g[u>>2];c[m>>2]=(c[m>>2]|0)+-1}g[t>>2]=+B(+(+g[t>>2]*+g[s>>2]*.5*+(c[q>>2]|0)));g[w>>2]=+(c[q>>2]|0)/(+g[t>>2]+1.0000000036274937e-15);c[y>>2]=0;c[m>>2]=12;while(1){if((c[m>>2]|0)>=((c[q>>2]|0)-5|0))break;if(127.0<+z(+(+g[w>>2]*64.0*(+g[b+(c[m>>2]<<2)>>2]+1.0000000036274937e-15))))i=127.0;else i=+z(+(+g[w>>2]*64.0*(+g[b+(c[m>>2]<<2)>>2]+1.0000000036274937e-15)));if(!(0.0>i))if(127.0<+z(+(+g[w>>2]*64.0*(+g[b+(c[m>>2]<<2)>>2]+1.0000000036274937e-15))))i=127.0;else i=+z(+(+g[w>>2]*64.0*(+g[b+(c[m>>2]<<2)>>2]+1.0000000036274937e-15)));else i=0.0;c[n>>2]=~~i;c[y>>2]=(c[y>>2]|0)+(d[25443+(c[n>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+4}c[y>>2]=(c[y>>2]<<6<<2|0)/(((c[q>>2]|0)-17|0)*6|0)|0;if((c[y>>2]|0)>(c[r>>2]|0)){c[c[x>>2]>>2]=c[k>>2];c[r>>2]=c[y>>2]}c[k>>2]=(c[k>>2]|0)+1}c[E>>2]=(c[r>>2]|0)>200&1;if(0.0>+B(+(+((c[r>>2]|0)*27|0)))-42.0)i=0.0;else i=+B(+(+((c[r>>2]|0)*27|0)))-42.0;g[H>>2]=i;if(0.0>(163.0<+g[H>>2]?163.0:+g[H>>2])*.006899999920278788-.139){i=0.0;i=+B(+i);H=c[G>>2]|0;g[H>>2]=i;H=c[E>>2]|0;G=c[F>>2]|0;_(G|0);l=I;return H|0}i=(163.0<+g[H>>2]?163.0:+g[H>>2])*.006899999920278788-.139;i=+B(+i);H=c[G>>2]|0;g[H>>2]=i;H=c[E>>2]|0;G=c[F>>2]|0;_(G|0);l=I;return H|0}function bb(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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;D=l;l=l+80|0;x=D+64|0;B=D+60|0;w=D+56|0;y=D+52|0;n=D+48|0;o=D+44|0;p=D+40|0;C=D+36|0;r=D+32|0;z=D+28|0;q=D+24|0;m=D+20|0;A=D+16|0;v=D+12|0;s=D+8|0;u=D+4|0;t=D;c[x>>2]=a;c[B>>2]=b;c[w>>2]=d;c[y>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=i;c[C>>2]=j;c[r>>2]=k;c[z>>2]=c[(c[x>>2]|0)+4>>2];if(c[B>>2]|0){c[m>>2]=c[B>>2];c[q>>2]=c[(c[x>>2]|0)+44>>2];c[A>>2]=c[(c[x>>2]|0)+36>>2]}else{c[m>>2]=1;c[q>>2]=c[(c[x>>2]|0)+44>>2]<>2];c[A>>2]=(c[(c[x>>2]|0)+36>>2]|0)-(c[p>>2]|0)}c[u>>2]=0;do{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;B=N(c[m>>2]|0,c[q>>2]|0)|0;B=(c[w>>2]|0)+((N(c[u>>2]|0,B+(c[z>>2]|0)|0)|0)<<2)|0;B=B+((N(c[s>>2]|0,c[q>>2]|0)|0)<<2)|0;j=N(c[u>>2]|0,c[q>>2]|0)|0;j=(c[y>>2]|0)+((c[s>>2]|0)+(N(j,c[m>>2]|0)|0)<<2)|0;qc((c[x>>2]|0)+64|0,B,j,c[(c[x>>2]|0)+60>>2]|0,c[z>>2]|0,c[A>>2]|0,c[m>>2]|0,c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+1}j=(c[u>>2]|0)+1|0;c[u>>2]=j}while((j|0)<(c[o>>2]|0));a:do if((c[o>>2]|0)==2&(c[n>>2]|0)==1){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(N(c[m>>2]|0,c[q>>2]|0)|0))break a;j=N(c[m>>2]|0,c[q>>2]|0)|0;g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]=+g[(c[y>>2]|0)+(c[v>>2]<<2)>>2]*.5+ +g[(c[y>>2]|0)+(j+(c[v>>2]|0)<<2)>>2]*.5;c[v>>2]=(c[v>>2]|0)+1}}while(0);if((c[C>>2]|0)==1){l=D;return}c[u>>2]=0;do{j=N(c[m>>2]|0,c[q>>2]|0)|0;c[t>>2]=(j|0)/(c[C>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[t>>2]|0))break;j=N(c[u>>2]|0,c[m>>2]|0)|0;j=N(j,c[q>>2]|0)|0;j=(c[y>>2]|0)+(j+(c[v>>2]|0)<<2)|0;g[j>>2]=+g[j>>2]*+(c[C>>2]|0);c[v>>2]=(c[v>>2]|0)+1}B=N(c[u>>2]|0,c[m>>2]|0)|0;B=N(B,c[q>>2]|0)|0;j=N(c[m>>2]|0,c[q>>2]|0)|0;aj((c[y>>2]|0)+(B+(c[t>>2]|0)<<2)|0,0,j-(c[t>>2]|0)<<2|0)|0;j=(c[u>>2]|0)+1|0;c[u>>2]=j}while((j|0)<(c[n>>2]|0));l=D;return}function cb(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;r=w+144|0;j=w+140|0;q=w+136|0;t=w+132|0;n=w+128|0;k=w+124|0;o=w+120|0;m=w+116|0;p=w+112|0;s=w+8|0;u=w+4|0;v=w;c[r>>2]=a;c[j>>2]=b;c[q>>2]=d;c[t>>2]=e;c[n>>2]=f;c[k>>2]=h;g[p>>2]=0.0;i=+g[(c[j>>2]|0)+(c[t>>2]<<2)>>2];a:do if((c[k>>2]|0)==1){g[s+(c[t>>2]<<2)>>2]=i;c[o>>2]=(c[t>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break a;if(+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2])i=+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0;else i=+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2];g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+1}}else{e=c[t>>2]|0;g[s+(c[t>>2]<<2)>>2]=+g[(c[j>>2]|0)+((i>+g[(c[j>>2]|0)+((c[t>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2];c[o>>2]=(c[t>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break a;e=c[o>>2]|0;if(+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0>+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2])i=+g[s+((c[o>>2]|0)-1<<2)>>2]-1.0;else{e=c[o>>2]|0;i=+g[(c[j>>2]|0)+((+g[(c[j>>2]|0)+(c[o>>2]<<2)>>2]>+g[(c[j>>2]|0)+((c[o>>2]|0)+(c[q>>2]|0)<<2)>>2]?e:e+(c[q>>2]|0)|0)<<2)>>2]}g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[o>>2]=(c[n>>2]|0)-2;while(1){if((c[o>>2]|0)<(c[t>>2]|0))break;h=c[o>>2]|0;if(+g[s+(c[o>>2]<<2)>>2]>+g[s+((c[o>>2]|0)+1<<2)>>2]-1.0)i=+g[s+(h<<2)>>2];else i=+g[s+(h+1<<2)>>2]-1.0;g[s+(c[o>>2]<<2)>>2]=i;c[o>>2]=(c[o>>2]|0)+-1}c[m>>2]=0;do{c[o>>2]=2>(c[t>>2]|0)?2:c[t>>2]|0;while(1){if((c[o>>2]|0)>=((c[n>>2]|0)-1|0))break;if(0.0>+g[(c[r>>2]|0)+((c[o>>2]|0)+(N(c[m>>2]|0,c[q>>2]|0)|0)<<2)>>2])i=0.0;else i=+g[(c[r>>2]|0)+((c[o>>2]|0)+(N(c[m>>2]|0,c[q>>2]|0)|0)<<2)>>2];g[u>>2]=i;if(0.0>+g[s+(c[o>>2]<<2)>>2])i=0.0;else i=+g[s+(c[o>>2]<<2)>>2];g[v>>2]=i;if(0.0>+g[u>>2]-+g[v>>2])i=0.0;else i=+g[u>>2]-+g[v>>2];g[p>>2]=+g[p>>2]+i;c[o>>2]=(c[o>>2]|0)+1}j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)<(c[k>>2]|0));g[p>>2]=+g[p>>2]/+(N(c[k>>2]|0,(c[n>>2]|0)-1-(2>(c[t>>2]|0)?2:c[t>>2]|0)|0)|0);l=w;return +g[p>>2]>1.0|0}function db(d,e,f,h,i,j,k,m,n,o,p){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=+o;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=l;l=l+144|0;z=X+128|0;S=X+124|0;Q=X+120|0;V=X+116|0;R=X+112|0;u=X+108|0;t=X+104|0;I=X+100|0;D=X+96|0;Y=X+92|0;C=X+88|0;T=X+84|0;J=X+80|0;K=X+76|0;G=X+72|0;H=X+64|0;W=X+60|0;x=X+56|0;U=X+52|0;y=X+48|0;s=X+44|0;B=X+40|0;r=X+36|0;v=X+32|0;w=X+28|0;q=X+24|0;E=X+20|0;F=X+16|0;L=X+12|0;M=X+8|0;O=X+4|0;P=X;c[z>>2]=d;c[S>>2]=e;c[Q>>2]=f;c[V>>2]=h;c[R>>2]=i;c[u>>2]=j;c[t>>2]=k;c[I>>2]=m;c[D>>2]=n;g[Y>>2]=o;c[C>>2]=p;c[W>>2]=0;g[x>>2]=(-.25>.5-+g[Y>>2]?-.25:.5-+g[Y>>2])*.03999999910593033;j=c[S>>2]|0;c[U>>2]=$()|0;f=l;l=l+((1*(j<<2)|0)+15&-16)|0;j=l;l=l+((1*((b[(c[(c[z>>2]|0)+32>>2]|0)+(c[S>>2]<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[S>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;k=l;l=l+((1*((b[(c[(c[z>>2]|0)+32>>2]|0)+(c[S>>2]<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[S>>2]|0)-1<<1)>>1]|0)<>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[S>>2]<<2)|0)+15&-16)|0;e=l;l=l+((1*(c[S>>2]<<2)|0)+15&-16)|0;c[c[D>>2]>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[S>>2]|0))break;c[w>>2]=0;c[s>>2]=(b[(c[(c[z>>2]|0)+32>>2]|0)+((c[T>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]|0)<>2];c[B>>2]=((b[(c[(c[z>>2]|0)+32>>2]|0)+((c[T>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)==1&1;Y=N(c[C>>2]|0,c[t>>2]|0)|0;_i(j|0,(c[u>>2]|0)+(Y+(b[(c[(c[z>>2]|0)+32>>2]|0)+(c[T>>2]<<1)>>1]<>2])<<2)|0,(c[s>>2]<<2)+0|0)|0;g[r>>2]=+nb(j,c[s>>2]|0,c[Q>>2]|0?c[I>>2]|0:0,+g[x>>2]);g[v>>2]=+g[r>>2];if(!((c[Q>>2]|0)==0|(c[B>>2]|0)!=0)?(_i(k|0,j|0,(c[s>>2]<<2)+0|0)|0,sa(k,c[s>>2]>>c[I>>2],1<>2]),g[r>>2]=+nb(k,c[s>>2]|0,(c[I>>2]|0)+1|0,+g[x>>2]),+g[r>>2]<+g[v>>2]):0){g[v>>2]=+g[r>>2];c[w>>2]=-1}c[y>>2]=0;while(1){m=(c[Q>>2]|0)!=0;if((c[y>>2]|0)>=((c[I>>2]|0)+(((c[Q>>2]|0?1:(c[B>>2]|0)!=0)^1)&1)|0))break;if(m)c[q>>2]=(c[I>>2]|0)-(c[y>>2]|0)-1;else c[q>>2]=(c[y>>2]|0)+1;sa(j,c[s>>2]>>c[y>>2],1<>2]);g[r>>2]=+nb(j,c[s>>2]|0,c[q>>2]|0,+g[x>>2]);if(+g[r>>2]<+g[v>>2]){g[v>>2]=+g[r>>2];c[w>>2]=(c[y>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}n=c[w>>2]|0;Y=N(-2,n)|0;c[f+((m?c[T>>2]|0:c[T>>2]|0)<<2)>>2]=m?n<<1:Y;Y=c[D>>2]|0;c[Y>>2]=(c[Y>>2]|0)+((c[Q>>2]|0?c[I>>2]|0:0)-((c[f+(c[T>>2]<<2)>>2]|0)/2|0));do if(c[B>>2]|0){if(c[f+(c[T>>2]<<2)>>2]|0?(c[f+(c[T>>2]<<2)>>2]|0)!=(N(-2,c[I>>2]|0)|0):0)break;Y=f+(c[T>>2]<<2)|0;c[Y>>2]=(c[Y>>2]|0)-1}while(0);c[T>>2]=(c[T>>2]|0)+1}c[W>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=2)break;c[J>>2]=0;c[K>>2]=c[Q>>2]|0?0:c[R>>2]|0;c[T>>2]=1;while(1){m=c[J>>2]|0;k=c[K>>2]|0;if((c[T>>2]|0)>=(c[S>>2]|0))break;if((m|0)<(k+(c[R>>2]|0)|0))m=c[J>>2]|0;else m=(c[K>>2]|0)+(c[R>>2]|0)|0;c[E>>2]=m;if(((c[J>>2]|0)+(c[R>>2]|0)|0)<(c[K>>2]|0))m=(c[J>>2]|0)+(c[R>>2]|0)|0;else m=c[K>>2]|0;c[F>>2]=m;c[J>>2]=(c[E>>2]|0)+(A((c[f+(c[T>>2]<<2)>>2]|0)-(a[25228+(c[I>>2]<<3)+((c[Q>>2]<<2)+(c[G>>2]<<1)+0)>>0]<<1)|0)|0);c[K>>2]=(c[F>>2]|0)+(A((c[f+(c[T>>2]<<2)>>2]|0)-(a[25228+(c[I>>2]<<3)+((c[Q>>2]<<2)+(c[G>>2]<<1)+1)>>0]<<1)|0)|0);c[T>>2]=(c[T>>2]|0)+1}c[J>>2]=(m|0)<(k|0)?c[J>>2]|0:c[K>>2]|0;c[H+(c[G>>2]<<2)>>2]=c[J>>2];c[G>>2]=(c[G>>2]|0)+1}if(c[Q>>2]|0?(c[H+4>>2]|0)<(c[H>>2]|0):0)c[W>>2]=1;c[J>>2]=0;c[K>>2]=c[Q>>2]|0?0:c[R>>2]|0;c[T>>2]=1;while(1){m=c[J>>2]|0;if((c[T>>2]|0)>=(c[S>>2]|0))break;c[O>>2]=m;c[P>>2]=(c[K>>2]|0)+(c[R>>2]|0);if((c[O>>2]|0)<(c[P>>2]|0)){c[L>>2]=c[O>>2];m=0;k=c[T>>2]|0}else{c[L>>2]=c[P>>2];m=1;k=c[T>>2]|0}c[i+(k<<2)>>2]=m;c[O>>2]=(c[J>>2]|0)+(c[R>>2]|0);c[P>>2]=c[K>>2];if((c[O>>2]|0)<(c[P>>2]|0)){c[M>>2]=c[O>>2];m=0;k=c[T>>2]|0}else{c[M>>2]=c[P>>2];m=1;k=c[T>>2]|0}c[e+(k<<2)>>2]=m;c[J>>2]=(c[L>>2]|0)+(A((c[f+(c[T>>2]<<2)>>2]|0)-(a[25228+(c[I>>2]<<3)+((c[Q>>2]<<2)+(c[W>>2]<<1)+0)>>0]<<1)|0)|0);c[K>>2]=(c[M>>2]|0)+(A((c[f+(c[T>>2]<<2)>>2]|0)-(a[25228+(c[I>>2]<<3)+((c[Q>>2]<<2)+(c[W>>2]<<1)+1)>>0]<<1)|0)|0);c[T>>2]=(c[T>>2]|0)+1}c[(c[V>>2]|0)+((c[S>>2]|0)-1<<2)>>2]=(m|0)<(c[K>>2]|0)?0:1;c[T>>2]=(c[S>>2]|0)-2;while(1){if((c[T>>2]|0)<0)break;m=(c[T>>2]|0)+1|0;if((c[(c[V>>2]|0)+((c[T>>2]|0)+1<<2)>>2]|0)==1){m=c[e+(m<<2)>>2]|0;k=(c[V>>2]|0)+(c[T>>2]<<2)|0}else{m=c[i+(m<<2)>>2]|0;k=(c[V>>2]|0)+(c[T>>2]<<2)|0}c[k>>2]=m;c[T>>2]=(c[T>>2]|0)+-1}Y=c[W>>2]|0;_(c[U>>2]|0);l=X;return Y|0}function eb(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=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;y=l;l=l+64|0;s=y+52|0;o=y+48|0;q=y+44|0;v=y+40|0;j=y+36|0;w=y+32|0;n=y+28|0;m=y+24|0;p=y+20|0;x=y+16|0;u=y+12|0;r=y+8|0;k=y+4|0;t=y;c[s>>2]=b;c[o>>2]=d;c[q>>2]=e;c[v>>2]=f;c[j>>2]=g;c[w>>2]=h;c[n>>2]=i;c[k>>2]=c[(c[n>>2]|0)+4>>2]<<3;c[t>>2]=Za(c[n>>2]|0)|0;c[r>>2]=c[q>>2]|0?2:4;if((c[j>>2]|0)>0)g=((c[t>>2]|0)+(c[r>>2]|0)+1|0)>>>0<=(c[k>>2]|0)>>>0;else g=0;c[x>>2]=g&1;c[k>>2]=(c[k>>2]|0)-(c[x>>2]|0);c[u>>2]=0;c[m>>2]=0;c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;if(((c[t>>2]|0)+(c[r>>2]|0)|0)>>>0<=(c[k>>2]|0)>>>0){_b(c[n>>2]|0,c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]^c[m>>2],c[r>>2]|0);c[t>>2]=Za(c[n>>2]|0)|0;c[m>>2]=c[(c[v>>2]|0)+(c[p>>2]<<2)>>2];c[u>>2]=c[u>>2]|c[m>>2]}else c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]=c[m>>2];c[r>>2]=c[q>>2]|0?4:5;c[p>>2]=(c[p>>2]|0)+1}if(c[x>>2]|0?(a[25228+(c[j>>2]<<3)+((c[q>>2]<<2)+0+(c[u>>2]|0))>>0]|0)!=(a[25228+(c[j>>2]<<3)+((c[q>>2]<<2)+2+(c[u>>2]|0))>>0]|0):0)_b(c[n>>2]|0,c[w>>2]|0,1);else c[w>>2]=0;c[p>>2]=c[s>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]=a[25228+(c[j>>2]<<3)+((c[q>>2]<<2)+(c[w>>2]<<1)+(c[(c[v>>2]|0)+(c[p>>2]<<2)>>2]|0))>>0];c[p>>2]=(c[p>>2]|0)+1}l=y;return}function fb(a,d,e,f,h,i,j,k,m,n,o,p,q,r,s,t,u,v){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0.0,x=0.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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+128|0;I=fa+120|0;B=fa+116|0;H=fa+112|0;J=fa+108|0;U=fa+104|0;L=fa+100|0;Y=fa+96|0;z=fa+92|0;y=fa+88|0;W=fa+84|0;ca=fa+80|0;R=fa+76|0;S=fa+72|0;M=fa+68|0;T=fa+64|0;ba=fa+60|0;A=fa+56|0;K=fa+52|0;V=fa+48|0;C=fa+44|0;aa=fa+40|0;X=fa+36|0;Z=fa+32|0;E=fa+28|0;F=fa+24|0;G=fa+20|0;D=fa+16|0;da=fa+12|0;O=fa+8|0;P=fa+4|0;Q=fa;c[I>>2]=a;c[B>>2]=d;c[H>>2]=e;c[J>>2]=f;c[U>>2]=h;c[L>>2]=i;c[Y>>2]=j;c[z>>2]=k;c[y>>2]=m;c[W>>2]=n;c[ca>>2]=o;c[R>>2]=p;c[S>>2]=q;c[M>>2]=r;c[T>>2]=s;c[ba>>2]=t;c[A>>2]=u;c[K>>2]=v;c[aa>>2]=0;o=N(c[L>>2]|0,c[H>>2]|0)|0;c[Z>>2]=$()|0;d=l;l=l+((1*(o<<2)|0)+15&-16)|0;o=(N(c[L>>2]|0,c[H>>2]|0)|0)<<2;a=l;l=l+((1*o|0)+15&-16)|0;aj(c[Y>>2]|0,0,c[H>>2]<<2|0)|0;g[X>>2]=-31.899999618530273;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break;x=+(b[(c[y>>2]|0)+(c[V>>2]<<1)>>1]|0)*.0625+.5+ +(9-(c[z>>2]|0)|0)-+g[17464+(c[V>>2]<<2)>>2]+ +(N((c[V>>2]|0)+5|0,(c[V>>2]|0)+5|0)|0)*.006200000178068876;g[a+(c[V>>2]<<2)>>2]=x;c[V>>2]=(c[V>>2]|0)+1}c[C>>2]=0;do{c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break;z=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[X>>2]>+g[(c[I>>2]|0)+(z+(c[V>>2]|0)<<2)>>2]-+g[a+(c[V>>2]<<2)>>2])w=+g[X>>2];else{z=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[I>>2]|0)+(z+(c[V>>2]|0)<<2)>>2]-+g[a+(c[V>>2]<<2)>>2]}g[X>>2]=w;c[V>>2]=(c[V>>2]|0)+1}z=(c[C>>2]|0)+1|0;c[C>>2]=z}while((z|0)<(c[L>>2]|0));if((c[T>>2]|0)>50&(c[M>>2]|0)>=1^1|(c[A>>2]|0)!=0){da=c[aa>>2]|0;ea=c[ba>>2]|0;c[ea>>2]=da;x=+g[X>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}c[E>>2]=0;c[C>>2]=0;do{c[D>>2]=d+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2);x=+g[(c[B>>2]|0)+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2)>>2];g[c[D>>2]>>2]=x;c[V>>2]=1;while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break;z=N(c[C>>2]|0,c[H>>2]|0)|0;A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[B>>2]|0)+(z+(c[V>>2]|0)<<2)>>2]>+g[(c[B>>2]|0)+(A+(c[V>>2]|0)-1<<2)>>2]+.5)c[E>>2]=c[V>>2];A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[D>>2]|0)+((c[V>>2]|0)-1<<2)>>2]+1.5<+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2])w=+g[(c[D>>2]|0)+((c[V>>2]|0)-1<<2)>>2]+1.5;else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2]}g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]=w;c[V>>2]=(c[V>>2]|0)+1}c[V>>2]=(c[E>>2]|0)-1;while(1){if((c[V>>2]|0)<0)break;A=N(c[C>>2]|0,c[H>>2]|0)|0;if(+g[(c[D>>2]|0)+((c[V>>2]|0)+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2])w=+g[(c[D>>2]|0)+((c[V>>2]|0)+1<<2)>>2]+2.0;else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2]}i=c[D>>2]|0;r=c[V>>2]|0;do if(!(+g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]>2]|0,c[H>>2]|0)|0;if(+g[i+(r+1<<2)>>2]+2.0<+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2]){w=+g[(c[D>>2]|0)+((c[V>>2]|0)+1<<2)>>2]+2.0;break}else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+g[(c[B>>2]|0)+(A+(c[V>>2]|0)<<2)>>2];break}}else w=+g[i+(r<<2)>>2];while(0);g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]=w;c[V>>2]=(c[V>>2]|0)+-1}g[F>>2]=1.0;c[V>>2]=2;while(1){if((c[V>>2]|0)>=((c[U>>2]|0)-2|0))break;w=+g[(c[D>>2]|0)+(c[V>>2]<<2)>>2];A=N(c[C>>2]|0,c[H>>2]|0)|0;x=+lb((c[B>>2]|0)+(A+(c[V>>2]|0)-2<<2)|0);if(w>x-+g[F>>2])w=+g[(c[D>>2]|0)+(c[V>>2]<<2)>>2];else{A=N(c[C>>2]|0,c[H>>2]|0)|0;w=+lb((c[B>>2]|0)+(A+(c[V>>2]|0)-2<<2)|0);w=w-+g[F>>2]}g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]=w;c[V>>2]=(c[V>>2]|0)+1}x=+mb((c[B>>2]|0)+((N(c[C>>2]|0,c[H>>2]|0)|0)<<2)|0);g[G>>2]=x-+g[F>>2];if(+g[c[D>>2]>>2]>+g[G>>2])w=+g[c[D>>2]>>2];else w=+g[G>>2];g[c[D>>2]>>2]=w;if(+g[(c[D>>2]|0)+4>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+4>>2];else w=+g[G>>2];g[(c[D>>2]|0)+4>>2]=w;A=N(c[C>>2]|0,c[H>>2]|0)|0;x=+mb((c[B>>2]|0)+(A+(c[U>>2]|0)-3<<2)|0);g[G>>2]=x-+g[F>>2];if(+g[(c[D>>2]|0)+((c[U>>2]|0)-2<<2)>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+((c[U>>2]|0)-2<<2)>>2];else w=+g[G>>2];g[(c[D>>2]|0)+((c[U>>2]|0)-2<<2)>>2]=w;if(+g[(c[D>>2]|0)+((c[U>>2]|0)-1<<2)>>2]>+g[G>>2])w=+g[(c[D>>2]|0)+((c[U>>2]|0)-1<<2)>>2];else w=+g[G>>2];g[(c[D>>2]|0)+((c[U>>2]|0)-1<<2)>>2]=w;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break;if(+g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]>+g[a+(c[V>>2]<<2)>>2])i=(c[D>>2]|0)+(c[V>>2]<<2)|0;else i=a+(c[V>>2]<<2)|0;g[(c[D>>2]|0)+(c[V>>2]<<2)>>2]=+g[i>>2];c[V>>2]=(c[V>>2]|0)+1}A=(c[C>>2]|0)+1|0;c[C>>2]=A}while((A|0)<(c[L>>2]|0));G=(c[L>>2]|0)==2;c[V>>2]=c[J>>2];a:do if(G)while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break a;if(+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]>+g[d+(c[V>>2]<<2)>>2]-4.0)w=+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2];else w=+g[d+(c[V>>2]<<2)>>2]-4.0;g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]=w;if(+g[d+(c[V>>2]<<2)>>2]>+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]-4.0)w=+g[d+(c[V>>2]<<2)>>2];else w=+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]-4.0;g[d+(c[V>>2]<<2)>>2]=w;if(0.0>+g[(c[I>>2]|0)+(c[V>>2]<<2)>>2]-+g[d+(c[V>>2]<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+(c[V>>2]<<2)>>2]-+g[d+(c[V>>2]<<2)>>2];if(0.0>+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]-+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2])x=0.0;else x=+g[(c[I>>2]|0)+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2]-+g[d+((c[H>>2]|0)+(c[V>>2]|0)<<2)>>2];g[d+(c[V>>2]<<2)>>2]=(w+x)*.5;c[V>>2]=(c[V>>2]|0)+1}else while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break a;if(0.0>+g[(c[I>>2]|0)+(c[V>>2]<<2)>>2]-+g[d+(c[V>>2]<<2)>>2])w=0.0;else w=+g[(c[I>>2]|0)+(c[V>>2]<<2)>>2]-+g[d+(c[V>>2]<<2)>>2];g[d+(c[V>>2]<<2)>>2]=w;c[V>>2]=(c[V>>2]|0)+1}while(0);c[V>>2]=c[J>>2];while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break;if(+g[d+(c[V>>2]<<2)>>2]>+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2])i=d+(c[V>>2]<<2)|0;else i=(c[K>>2]|0)+(c[V>>2]<<2)|0;g[d+(c[V>>2]<<2)>>2]=+g[i>>2];c[V>>2]=(c[V>>2]|0)+1}b:do if(!(((c[ca>>2]|0)==0|(c[R>>2]|0)!=0)^1|(c[W>>2]|0)!=0)){c[V>>2]=c[J>>2];while(1){if((c[V>>2]|0)>=(c[U>>2]|0))break b;g[d+(c[V>>2]<<2)>>2]=+g[d+(c[V>>2]<<2)>>2]*.5;c[V>>2]=(c[V>>2]|0)+1}}while(0);c[V>>2]=c[J>>2];while(1){if((c[V>>2]|0)>=(c[U>>2]|0)){ea=103;break}if((c[V>>2]|0)<8){K=d+(c[V>>2]<<2)|0;g[K>>2]=+g[K>>2]*2.0}if((c[V>>2]|0)>=12)g[d+(c[V>>2]<<2)>>2]=+g[d+(c[V>>2]<<2)>>2]*.5;if(+g[d+(c[V>>2]<<2)>>2]<4.0)w=+g[d+(c[V>>2]<<2)>>2];else w=4.0;g[d+(c[V>>2]<<2)>>2]=w;K=N(c[L>>2]|0,(b[(c[S>>2]|0)+((c[V>>2]|0)+1<<1)>>1]|0)-(b[(c[S>>2]|0)+(c[V>>2]<<1)>>1]|0)|0)|0;c[da>>2]=K<>2];do if((c[da>>2]|0)>=6){w=+g[d+(c[V>>2]<<2)>>2];if((c[da>>2]|0)>48){c[O>>2]=~~(w*8.0);c[P>>2]=((N(c[O>>2]|0,c[da>>2]|0)|0)<<3|0)/8|0;break}else{c[O>>2]=~~(w*+(c[da>>2]|0)/6.0);c[P>>2]=(c[O>>2]|0)*6<<3;break}}else{c[O>>2]=~~+g[d+(c[V>>2]<<2)>>2];c[P>>2]=(N(c[O>>2]|0,c[da>>2]|0)|0)<<3}while(0);if(!(c[ca>>2]|0?(c[R>>2]|0)==0|(c[W>>2]|0)!=0:0))ea=100;if((ea|0)==100?(ea=0,((c[aa>>2]|0)+(c[P>>2]|0)>>3>>3|0)>((c[T>>2]|0)/4|0|0)):0)break;c[(c[Y>>2]|0)+(c[V>>2]<<2)>>2]=c[O>>2];c[aa>>2]=(c[aa>>2]|0)+(c[P>>2]|0);c[V>>2]=(c[V>>2]|0)+1}if((ea|0)==103){da=c[aa>>2]|0;ea=c[ba>>2]|0;c[ea>>2]=da;x=+g[X>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}c[Q>>2]=((c[T>>2]|0)/4|0)<<3<<3;c[(c[Y>>2]|0)+(c[V>>2]<<2)>>2]=(c[Q>>2]|0)-(c[aa>>2]|0);c[aa>>2]=c[Q>>2];da=c[aa>>2]|0;ea=c[ba>>2]|0;c[ea>>2]=da;x=+g[X>>2];ea=c[Z>>2]|0;_(ea|0);l=fa;return +x}function gb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+64|0;r=v+48|0;o=v+44|0;i=v+40|0;k=v+36|0;p=v+32|0;u=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;h=v+12|0;m=v+8|0;j=v+4|0;n=v;c[r>>2]=a;c[o>>2]=d;c[i>>2]=e;c[k>>2]=f;g[s>>2]=1.0000000036274937e-15;g[t>>2]=1.0000000036274937e-15;c[p>>2]=0;while(1){if((c[p>>2]|0)>=13)break;c[q>>2]=b[(c[(c[r>>2]|0)+32>>2]|0)+(c[p>>2]<<1)>>1]<>2];while(1){if((c[q>>2]|0)>=(b[(c[(c[r>>2]|0)+32>>2]|0)+((c[p>>2]|0)+1<<1)>>1]<>2]|0))break;g[h>>2]=+g[(c[o>>2]|0)+(c[q>>2]<<2)>>2];g[m>>2]=+g[(c[o>>2]|0)+((c[k>>2]|0)+(c[q>>2]|0)<<2)>>2];g[j>>2]=+g[h>>2]+ +g[m>>2];g[n>>2]=+g[h>>2]-+g[m>>2];w=+A(+(+g[h>>2]));g[s>>2]=+g[s>>2]+(w+ +A(+(+g[m>>2])));w=+A(+(+g[j>>2]));g[t>>2]=+g[t>>2]+(w+ +A(+(+g[n>>2])));c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}g[t>>2]=+g[t>>2]*.7071070075035095;c[u>>2]=13;if((c[i>>2]|0)<=1)c[u>>2]=(c[u>>2]|0)-8;l=v;return +((b[(c[(c[r>>2]|0)+32>>2]|0)+26>>1]<<(c[i>>2]|0)+1)+(c[u>>2]|0)|0)*+g[t>>2]>+(b[(c[(c[r>>2]|0)+32>>2]|0)+26>>1]<<(c[i>>2]|0)+1|0)*+g[s>>2]|0} function Pe(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;G=l;l=l+80|0;z=G+60|0;D=G+56|0;w=G+52|0;y=G+48|0;r=G+44|0;H=G+40|0;s=G+36|0;u=G+32|0;C=G+28|0;B=G+24|0;q=G+20|0;A=G+16|0;x=G+12|0;t=G+8|0;v=G+64|0;E=G+4|0;F=G;c[z>>2]=e;c[D>>2]=f;c[w>>2]=g;c[y>>2]=h;c[r>>2]=i;c[H>>2]=j;c[s>>2]=k;c[u>>2]=m;c[C>>2]=n;c[B>>2]=o;c[q>>2]=p;c[c[D>>2]>>2]=2147483647;c[t>>2]=c[H>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[q>>2]|0))break;c[x>>2]=d[(c[s>>2]|0)+(c[A>>2]|0)>>0];b[v>>1]=(b[c[y>>2]>>1]|0)-(a[c[t>>2]>>0]<<7);b[v+2>>1]=(b[(c[y>>2]|0)+2>>1]|0)-(a[(c[t>>2]|0)+1>>0]<<7);b[v+4>>1]=(b[(c[y>>2]|0)+4>>1]|0)-(a[(c[t>>2]|0)+2>>0]<<7);b[v+6>>1]=(b[(c[y>>2]|0)+6>>1]|0)-(a[(c[t>>2]|0)+3>>0]<<7);b[v+8>>1]=(b[(c[y>>2]|0)+8>>1]|0)-(a[(c[t>>2]|0)+4>>0]<<7);c[E>>2]=N((c[C>>2]&65535)<<16>>16,d[(c[u>>2]|0)+(c[A>>2]|0)>>0]|0)|0;if(((c[x>>2]|0)-(c[B>>2]|0)|0)>0)p=(c[x>>2]|0)-(c[B>>2]|0)|0;else p=0;c[E>>2]=(c[E>>2]|0)+(p<<10);H=N(c[(c[r>>2]|0)+4>>2]>>16,b[v+2>>1]|0)|0;c[F>>2]=H+((N(c[(c[r>>2]|0)+4>>2]&65535,b[v+2>>1]|0)|0)>>16);H=N(c[(c[r>>2]|0)+8>>2]>>16,b[v+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+8>>2]&65535,b[v+4>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+12>>2]>>16,b[v+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+12>>2]&65535,b[v+6>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+16>>2]>>16,b[v+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+16>>2]&65535,b[v+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[c[r>>2]>>2]>>16,b[v>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[c[r>>2]>>2]&65535,b[v>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[v>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[v>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+28>>2]>>16,b[v+4>>1]|0)|0;c[F>>2]=H+((N(c[(c[r>>2]|0)+28>>2]&65535,b[v+4>>1]|0)|0)>>16);H=N(c[(c[r>>2]|0)+32>>2]>>16,b[v+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+32>>2]&65535,b[v+6>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+36>>2]>>16,b[v+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+36>>2]&65535,b[v+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[(c[r>>2]|0)+24>>2]>>16,b[v+2>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+24>>2]&65535,b[v+2>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[v+2>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[v+2>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+52>>2]>>16,b[v+6>>1]|0)|0;c[F>>2]=H+((N(c[(c[r>>2]|0)+52>>2]&65535,b[v+6>>1]|0)|0)>>16);H=N(c[(c[r>>2]|0)+56>>2]>>16,b[v+8>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+56>>2]&65535,b[v+8>>1]|0)|0)>>16));c[F>>2]=c[F>>2]<<1;H=N(c[(c[r>>2]|0)+48>>2]>>16,b[v+4>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+48>>2]&65535,b[v+4>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[v+4>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[v+4>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+76>>2]>>16,b[v+8>>1]|0)|0;c[F>>2]=H+((N(c[(c[r>>2]|0)+76>>2]&65535,b[v+8>>1]|0)|0)>>16);c[F>>2]=c[F>>2]<<1;H=N(c[(c[r>>2]|0)+72>>2]>>16,b[v+6>>1]|0)|0;c[F>>2]=(c[F>>2]|0)+(H+((N(c[(c[r>>2]|0)+72>>2]&65535,b[v+6>>1]|0)|0)>>16));H=N(c[F>>2]>>16,b[v+6>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[v+6>>1]|0)|0)>>16));H=N(c[(c[r>>2]|0)+96>>2]>>16,b[v+8>>1]|0)|0;c[F>>2]=H+((N(c[(c[r>>2]|0)+96>>2]&65535,b[v+8>>1]|0)|0)>>16);H=N(c[F>>2]>>16,b[v+8>>1]|0)|0;c[E>>2]=(c[E>>2]|0)+(H+((N(c[F>>2]&65535,b[v+8>>1]|0)|0)>>16));if((c[E>>2]|0)<(c[c[D>>2]>>2]|0)){c[c[D>>2]>>2]=c[E>>2];a[c[z>>2]>>0]=c[A>>2];c[c[w>>2]>>2]=c[x>>2]}c[t>>2]=(c[t>>2]|0)+5;c[A>>2]=(c[A>>2]|0)+1}l=G;return}function Qe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+20|0;f=i+16|0;d=i+12|0;e=i+8|0;g=i+4|0;h=i;c[j>>2]=b;c[h>>2]=c[j>>2];if((a[(c[h>>2]|0)+4565>>0]|0)!=2){l=i;return}c[d>>2]=((c[(c[h>>2]|0)+4600>>2]|0)*1e3<<16|0)/(c[(c[h>>2]|0)+4568>>2]|0)|0;c[e>>2]=(Bf(c[d>>2]|0)|0)-2048;c[f>>2]=c[(c[h>>2]|0)+4728>>2];k=c[e>>2]|0;b=N(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((N(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)>>16;d=c[e>>2]|0;d=N(b,(d-((Bf(3932160)|0)-2048)&65535)<<16>>16)|0;b=N(0-(c[f>>2]|0)<<2>>16,(c[f>>2]&65535)<<16>>16)|0;b=b+((N(0-(c[f>>2]|0)<<2&65535,(c[f>>2]&65535)<<16>>16)|0)>>16)&65535;j=c[e>>2]|0;c[e>>2]=k+(d+((N(b,(j-((Bf(3932160)|0)-2048)&65535)<<16>>16)|0)>>16));c[g>>2]=(c[e>>2]|0)-(c[(c[h>>2]|0)+8>>2]>>8);if((c[g>>2]|0)<0)c[g>>2]=(c[g>>2]|0)*3;if((c[g>>2]|0)>51)d=51;else d=(c[g>>2]|0)<-51?-51:c[g>>2]|0;c[g>>2]=d;k=((N((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)>>16)*6554|0;k=(c[(c[h>>2]|0)+8>>2]|0)+(k+(((N((c[(c[h>>2]|0)+4556>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0)&65535)*6554>>16))|0;c[(c[h>>2]|0)+8>>2]=k;k=(Bf(60)|0)<<8;k=(k|0)>((Bf(100)|0)<<8|0);d=c[(c[h>>2]|0)+8>>2]|0;do if(k){if((d|0)>((Bf(60)|0)<<8|0)){d=(Bf(60)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Bf(100)|0)<<8|0)){d=(Bf(100)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}else{if((d|0)>((Bf(100)|0)<<8|0)){d=(Bf(100)|0)<<8;break}k=c[(c[h>>2]|0)+8>>2]|0;if((k|0)<((Bf(60)|0)<<8|0)){d=(Bf(60)|0)<<8;break}else{d=c[(c[h>>2]|0)+8>>2]|0;break}}while(0);c[(c[h>>2]|0)+8>>2]=d;l=i;return}function Re(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;n=L+64|0;B=L+60|0;F=L+56|0;C=L+52|0;o=L+48|0;z=L+44|0;K=L+40|0;w=L+36|0;I=L+32|0;y=L+28|0;t=L+24|0;E=L+20|0;u=L+16|0;r=L+12|0;H=L+232|0;G=L+200|0;p=L+168|0;s=L+136|0;q=L+104|0;D=L+264|0;v=L+72|0;A=L+8|0;x=L+4|0;J=L;c[n>>2]=f;c[B>>2]=g;c[F>>2]=h;c[C>>2]=i;c[o>>2]=j;c[z>>2]=k;c[K>>2]=m;Nf(c[B>>2]|0,c[(c[F>>2]|0)+32>>2]|0,b[(c[F>>2]|0)+2>>1]|0);k=e[c[F>>2]>>1]|0;c[J>>2]=$()|0;g=l;l=l+((1*(k<<2)|0)+15&-16)|0;We(g,c[B>>2]|0,c[(c[F>>2]|0)+8>>2]|0,b[c[F>>2]>>1]|0,b[(c[F>>2]|0)+2>>1]|0);k=l;l=l+((1*(c[z>>2]<<2)|0)+15&-16)|0;dg(g,k,b[c[F>>2]>>1]|0,c[z>>2]|0);g=l;l=l+((1*(c[z>>2]<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[z>>2]<<4)|0)+15&-16)|0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[z>>2]|0))break;c[y>>2]=c[k+(c[I>>2]<<2)>>2];c[A>>2]=(c[(c[F>>2]|0)+8>>2]|0)+(N(c[y>>2]|0,b[(c[F>>2]|0)+2>>1]|0)|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[F>>2]|0)+2>>1]|0))break;b[p+(c[w>>2]<<1)>>1]=(d[(c[A>>2]|0)+(c[w>>2]|0)>>0]&65535)<<7;b[H+(c[w>>2]<<1)>>1]=(b[(c[B>>2]|0)+(c[w>>2]<<1)>>1]|0)-(b[p+(c[w>>2]<<1)>>1]|0);c[w>>2]=(c[w>>2]|0)+1}Qf(s,p,b[(c[F>>2]|0)+2>>1]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[F>>2]|0)+2>>1]|0))break;c[r>>2]=Se(b[s+(c[w>>2]<<1)>>1]<<16)|0;m=(N(b[H+(c[w>>2]<<1)>>1]|0,(c[r>>2]&65535)<<16>>16)|0)>>14&65535;b[G+(c[w>>2]<<1)>>1]=m;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[F>>2]|0)+2>>1]|0))break;b[q+(c[w>>2]<<1)>>1]=(b[(c[C>>2]|0)+(c[w>>2]<<1)>>1]<<5|0)/(b[s+(c[w>>2]<<1)>>1]|0)|0;c[w>>2]=(c[w>>2]|0)+1}Xe(v,D,c[F>>2]|0,c[y>>2]|0);f=Ye(i+(c[I>>2]<<4)|0,G,q,D,v,c[(c[F>>2]|0)+28>>2]|0,b[(c[F>>2]|0)+4>>1]|0,b[(c[F>>2]|0)+6>>1]|0,c[o>>2]|0,b[(c[F>>2]|0)+2>>1]|0)|0;c[g+(c[I>>2]<<2)>>2]=f;c[x>>2]=(c[(c[F>>2]|0)+12>>2]|0)+(N(c[K>>2]>>1,b[c[F>>2]>>1]|0)|0);f=c[x>>2]|0;j=c[y>>2]|0;if(!(c[y>>2]|0))c[E>>2]=256-(d[f+j>>0]|0);else c[E>>2]=(d[f+(j-1)>>0]|0)-(d[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0);c[u>>2]=1024-(Bf(c[E>>2]|0)|0);m=(c[g+(c[I>>2]<<2)>>2]|0)+(N((c[u>>2]&65535)<<16>>16,(c[o>>2]>>2&65535)<<16>>16)|0)|0;c[g+(c[I>>2]<<2)>>2]=m;c[I>>2]=(c[I>>2]|0)+1}dg(g,t,c[z>>2]|0,1);a[c[n>>2]>>0]=c[k+(c[t>>2]<<2)>>2];_i((c[n>>2]|0)+1|0,i+(c[t>>2]<<4)|0,b[(c[F>>2]|0)+2>>1]|0)|0;Rd(c[B>>2]|0,c[n>>2]|0,c[F>>2]|0);K=c[g>>2]|0;_(c[J>>2]|0);l=L;return K|0}function Se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Te(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Ue(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Ve(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Ue(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function We(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+36|0;o=t+32|0;q=t+28|0;i=t+24|0;j=t+20|0;n=t+16|0;p=t+12|0;k=t+8|0;s=t+4|0;r=t;c[m>>2]=a;c[o>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;c[r>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;f=b[(c[o>>2]|0)+(c[p>>2]<<1)>>1]|0;e=c[q>>2]|0;c[q>>2]=e+1;c[k>>2]=f-(d[e>>0]<<7);c[s>>2]=N((c[k>>2]&65535)<<16>>16,(c[k>>2]&65535)<<16>>16)|0;e=b[(c[o>>2]|0)+((c[p>>2]|0)+1<<1)>>1]|0;f=c[q>>2]|0;c[q>>2]=f+1;c[k>>2]=e-(d[f>>0]<<7);c[s>>2]=(c[s>>2]|0)+(N((c[k>>2]&65535)<<16>>16,(c[k>>2]&65535)<<16>>16)|0);c[r>>2]=(c[r>>2]|0)+(c[s>>2]>>4);c[p>>2]=(c[p>>2]|0)+2}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[r>>2];c[n>>2]=(c[n>>2]|0)+1}l=t;return}function Xe(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;i=p+20|0;n=p+16|0;o=p+12|0;q=p+8|0;m=p+4|0;k=p+24|0;j=p;c[i>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=h;c[j>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((N(c[q>>2]|0,b[(c[o>>2]|0)+2>>1]|0)|0)/2|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[o>>2]|0)+2>>1]|0))break;q=c[j>>2]|0;c[j>>2]=q+1;a[k>>0]=a[q>>0]|0;b[(c[i>>2]|0)+(c[m>>2]<<1)>>1]=((d[k>>0]>>1&7)<<16>>16)*9;q=a[(c[(c[o>>2]|0)+16>>2]|0)+((c[m>>2]|0)+(N(d[k>>0]&1,(b[(c[o>>2]|0)+2>>1]|0)-1|0)|0))>>0]|0;a[(c[n>>2]|0)+(c[m>>2]|0)>>0]=q;b[(c[i>>2]|0)+((c[m>>2]|0)+1<<1)>>1]=((d[k>>0]>>5&7)<<16>>16)*9;q=a[(c[(c[o>>2]|0)+16>>2]|0)+((c[m>>2]|0)+(N(d[k>>0]>>4&1,(b[(c[o>>2]|0)+2>>1]|0)-1|0)|0)+1)>>0]|0;a[(c[n>>2]|0)+((c[m>>2]|0)+1)>>0]=q;c[m>>2]=(c[m>>2]|0)+2}l=p;return}function Ye(e,f,g,h,i,j,k,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var 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,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;aa=l;l=l+448|0;Y=aa+352|0;V=aa+348|0;U=aa+344|0;O=aa+340|0;v=aa+336|0;w=aa+332|0;p=aa+328|0;C=aa+378|0;F=aa+324|0;$=aa+376|0;x=aa+320|0;Z=aa+316|0;G=aa+312|0;X=aa+308|0;A=aa+304|0;z=aa+300|0;y=aa+296|0;T=aa+292|0;L=aa+288|0;u=aa+284|0;H=aa+280|0;J=aa+276|0;Q=aa+272|0;R=aa+268|0;t=aa+264|0;_=aa+260|0;E=aa+256|0;D=aa+252|0;M=aa+248|0;B=aa+232|0;W=aa+384|0;P=aa+360|0;q=aa+200|0;s=aa+184|0;r=aa+168|0;S=aa+160|0;I=aa+80|0;K=aa;c[Y>>2]=e;c[V>>2]=f;c[U>>2]=g;c[O>>2]=h;c[v>>2]=i;c[w>>2]=j;c[p>>2]=k;b[C>>1]=m;c[F>>2]=n;b[$>>1]=o;c[x>>2]=-10;while(1){if((c[x>>2]|0)>9)break;c[H>>2]=c[x>>2]<<10;c[J>>2]=(c[H>>2]|0)+1024;do if((c[x>>2]|0)<=0){if(!(c[x>>2]|0)){c[J>>2]=(c[J>>2]|0)-102;break}f=(c[x>>2]|0)==-1;c[H>>2]=(c[H>>2]|0)+102;if(!f)c[J>>2]=(c[J>>2]|0)+102}else{c[H>>2]=(c[H>>2]|0)-102;c[J>>2]=(c[J>>2]|0)-102}while(0);f=N(c[H>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;f=f+((N(c[H>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[I+((c[x>>2]|0)+10<<2)>>2]=f;f=N(c[J>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;f=f+((N(c[J>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)|0;c[K+((c[x>>2]|0)+10<<2)>>2]=f;c[x>>2]=(c[x>>2]|0)+1}c[G>>2]=1;c[q>>2]=0;b[P>>1]=0;c[x>>2]=(b[$>>1]|0)-1;a:while(1){c[S>>2]=(c[w>>2]|0)+(b[(c[v>>2]|0)+(c[x>>2]<<1)>>1]|0);c[M>>2]=d[(c[O>>2]|0)+(c[x>>2]|0)>>0]<<8;c[y>>2]=b[(c[V>>2]|0)+(c[x>>2]<<1)>>1];c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[G>>2]|0))break;f=N(c[M>>2]>>16,b[P+(c[Z>>2]<<1)>>1]|0)|0;c[L>>2]=f+((N(c[M>>2]&65535,b[P+(c[Z>>2]<<1)>>1]|0)|0)>>16);c[T>>2]=(c[y>>2]|0)-(c[L>>2]|0);f=N(b[C>>1]>>16,(c[T>>2]&65535)<<16>>16)|0;c[X>>2]=f+((N(b[C>>1]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16);if((c[X>>2]|0)>9)i=9;else i=(c[X>>2]|0)<-10?-10:c[X>>2]|0;c[X>>2]=i;a[W+(c[Z>>2]<<4)+(c[x>>2]|0)>>0]=c[X>>2];c[H>>2]=c[I+((c[X>>2]|0)+10<<2)>>2];c[J>>2]=c[K+((c[X>>2]|0)+10<<2)>>2];c[H>>2]=(c[H>>2]|0)+(c[L>>2]|0);c[J>>2]=(c[J>>2]|0)+(c[L>>2]|0);b[P+(c[Z>>2]<<1)>>1]=c[H>>2];b[P+((c[Z>>2]|0)+(c[G>>2]|0)<<1)>>1]=c[J>>2];i=c[X>>2]|0;do if(((c[X>>2]|0)+1|0)>=4)if((i+1|0)==4){c[Q>>2]=d[(c[S>>2]|0)+((c[X>>2]|0)+4)>>0];c[R>>2]=280;break}else{c[Q>>2]=108+(((c[X>>2]&65535)<<16>>16)*43|0);c[R>>2]=(c[Q>>2]|0)+43;break}else{if((i|0)>-4){c[Q>>2]=d[(c[S>>2]|0)+((c[X>>2]|0)+4)>>0];c[R>>2]=d[(c[S>>2]|0)+((c[X>>2]|0)+1+4)>>0];break}if((c[X>>2]|0)==-4){c[Q>>2]=280;c[R>>2]=d[(c[S>>2]|0)+((c[X>>2]|0)+1+4)>>0];break}else{c[Q>>2]=108+(N(-43,(c[X>>2]&65535)<<16>>16)|0);c[R>>2]=(c[Q>>2]|0)-43;break}}while(0);c[t>>2]=c[q+(c[Z>>2]<<2)>>2];c[u>>2]=(c[y>>2]|0)-(c[H>>2]|0);f=N((c[u>>2]&65535)<<16>>16,(c[u>>2]&65535)<<16>>16)|0;f=(c[t>>2]|0)+(N(f,b[(c[U>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;f=f+(N((c[F>>2]&65535)<<16>>16,(c[Q>>2]&65535)<<16>>16)|0)|0;c[q+(c[Z>>2]<<2)>>2]=f;c[u>>2]=(c[y>>2]|0)-(c[J>>2]|0);f=N((c[u>>2]&65535)<<16>>16,(c[u>>2]&65535)<<16>>16)|0;f=(c[t>>2]|0)+(N(f,b[(c[U>>2]|0)+(c[x>>2]<<1)>>1]|0)|0)|0;f=f+(N((c[F>>2]&65535)<<16>>16,(c[R>>2]&65535)<<16>>16)|0)|0;c[q+((c[Z>>2]|0)+(c[G>>2]|0)<<2)>>2]=f;c[Z>>2]=(c[Z>>2]|0)+1}b:do if((c[G>>2]|0)<=2){c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(c[G>>2]|0))break;a[W+((c[Z>>2]|0)+(c[G>>2]|0)<<4)+(c[x>>2]|0)>>0]=(a[W+(c[Z>>2]<<4)+(c[x>>2]|0)>>0]|0)+1;c[Z>>2]=(c[Z>>2]|0)+1}c[G>>2]=c[G>>2]<<1;c[Z>>2]=c[G>>2];while(1){if((c[Z>>2]|0)>=4)break b;a[W+(c[Z>>2]<<4)+(c[x>>2]|0)>>0]=a[W+((c[Z>>2]|0)-(c[G>>2]|0)<<4)+(c[x>>2]|0)>>0]|0;c[Z>>2]=(c[Z>>2]|0)+1}}else{if((c[x>>2]|0)<=0)break a;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=4)break;i=c[q+(c[Z>>2]<<2)>>2]|0;j=c[Z>>2]|0;if((c[q+(c[Z>>2]<<2)>>2]|0)>(c[q+((c[Z>>2]|0)+4<<2)>>2]|0)){c[r+(j<<2)>>2]=i;c[s+(c[Z>>2]<<2)>>2]=c[q+((c[Z>>2]|0)+4<<2)>>2];c[q+(c[Z>>2]<<2)>>2]=c[s+(c[Z>>2]<<2)>>2];c[q+((c[Z>>2]|0)+4<<2)>>2]=c[r+(c[Z>>2]<<2)>>2];c[H>>2]=b[P+(c[Z>>2]<<1)>>1];b[P+(c[Z>>2]<<1)>>1]=b[P+((c[Z>>2]|0)+4<<1)>>1]|0;b[P+((c[Z>>2]|0)+4<<1)>>1]=c[H>>2];i=(c[Z>>2]|0)+4|0;j=c[Z>>2]|0}else{c[s+(j<<2)>>2]=i;c[r+(c[Z>>2]<<2)>>2]=c[q+((c[Z>>2]|0)+4<<2)>>2];i=c[Z>>2]|0;j=c[Z>>2]|0}c[B+(j<<2)>>2]=i;c[Z>>2]=(c[Z>>2]|0)+1}while(1){c[E>>2]=2147483647;c[D>>2]=0;c[A>>2]=0;c[z>>2]=0;c[Z>>2]=0;while(1){i=c[E>>2]|0;if((c[Z>>2]|0)>=4)break;if((i|0)>(c[r+(c[Z>>2]<<2)>>2]|0)){c[E>>2]=c[r+(c[Z>>2]<<2)>>2];c[A>>2]=c[Z>>2]}if((c[D>>2]|0)<(c[s+(c[Z>>2]<<2)>>2]|0)){c[D>>2]=c[s+(c[Z>>2]<<2)>>2];c[z>>2]=c[Z>>2]}c[Z>>2]=(c[Z>>2]|0)+1}if((i|0)>=(c[D>>2]|0))break;c[B+(c[z>>2]<<2)>>2]=c[B+(c[A>>2]<<2)>>2]^4;c[q+(c[z>>2]<<2)>>2]=c[q+((c[A>>2]|0)+4<<2)>>2];b[P+(c[z>>2]<<1)>>1]=b[P+((c[A>>2]|0)+4<<1)>>1]|0;c[s+(c[z>>2]<<2)>>2]=0;c[r+(c[A>>2]<<2)>>2]=2147483647;i=W+(c[z>>2]<<4)|0;j=W+(c[A>>2]<<4)|0;e=i+16|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(e|0))}c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=4)break b;f=W+(c[Z>>2]<<4)+(c[x>>2]|0)|0;a[f>>0]=(a[f>>0]|0)+(c[B+(c[Z>>2]<<2)>>2]>>2);c[Z>>2]=(c[Z>>2]|0)+1}}while(0);c[x>>2]=(c[x>>2]|0)+-1}c[X>>2]=0;c[_>>2]=2147483647;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=8)break;if((c[_>>2]|0)>(c[q+(c[Z>>2]<<2)>>2]|0)){c[_>>2]=c[q+(c[Z>>2]<<2)>>2];c[X>>2]=c[Z>>2]}c[Z>>2]=(c[Z>>2]|0)+1}c[Z>>2]=0;while(1){i=c[X>>2]|0;if((c[Z>>2]|0)>=(b[$>>1]|0))break;a[(c[Y>>2]|0)+(c[Z>>2]|0)>>0]=a[W+((i&3)<<4)+(c[Z>>2]|0)>>0]|0;c[Z>>2]=(c[Z>>2]|0)+1}$=c[Y>>2]|0;a[$>>0]=(a[$>>0]|0)+(i>>2);l=aa;return c[_>>2]|0}function Ze(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+128|0;s=t+28|0;i=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;j=t+8|0;h=t+4|0;m=t;n=t+96|0;p=t+64|0;o=t+32|0;c[s>>2]=d;c[i>>2]=e;c[q>>2]=f;c[r>>2]=g;d=N(-5,(c[(c[s>>2]|0)+4556>>2]&65535)<<16>>16)|0;c[h>>2]=3146+(d+(((c[(c[s>>2]|0)+4556>>2]&65535)<<16>>16)*59246>>16));if((c[(c[s>>2]|0)+4604>>2]|0)==2)c[h>>2]=(c[h>>2]|0)+(c[h>>2]>>1);Qf(p,c[q>>2]|0,c[(c[s>>2]|0)+4664>>2]|0);if((c[(c[s>>2]|0)+4656>>2]|0)==1)e=(a[(c[s>>2]|0)+4768+31>>0]|0)<4;else e=0;c[j>>2]=e&1;a:do if(c[j>>2]|0){Od(n,c[r>>2]|0,c[q>>2]|0,a[(c[s>>2]|0)+4768+31>>0]|0,c[(c[s>>2]|0)+4664>>2]|0);Qf(o,n,c[(c[s>>2]|0)+4664>>2]|0);c[m>>2]=(N(a[(c[s>>2]|0)+4768+31>>0]<<16>>16,a[(c[s>>2]|0)+4768+31>>0]<<16>>16)|0)<<11;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[s>>2]|0)+4664>>2]|0))break a;d=N(b[o+(c[k>>2]<<1)>>1]>>16,(c[m>>2]&65535)<<16>>16)|0;d=(b[p+(c[k>>2]<<1)>>1]>>1)+(d+((N(b[o+(c[k>>2]<<1)>>1]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16))&65535;b[p+(c[k>>2]<<1)>>1]=d;c[k>>2]=(c[k>>2]|0)+1}}while(0);Re((c[s>>2]|0)+4768+8|0,c[q>>2]|0,c[(c[s>>2]|0)+4724>>2]|0,p,c[h>>2]|0,c[(c[s>>2]|0)+4692>>2]|0,a[(c[s>>2]|0)+4768+29>>0]|0)|0;Lf((c[i>>2]|0)+32|0,c[q>>2]|0,c[(c[s>>2]|0)+4664>>2]|0);if(c[j>>2]|0){Od(n,c[r>>2]|0,c[q>>2]|0,a[(c[s>>2]|0)+4768+31>>0]|0,c[(c[s>>2]|0)+4664>>2]|0);Lf(c[i>>2]|0,n,c[(c[s>>2]|0)+4664>>2]|0);l=t;return}else{_i(c[i>>2]|0,(c[i>>2]|0)+32|0,c[(c[s>>2]|0)+4664>>2]<<1|0)|0;l=t;return}}function _e(d,e,f,g,h,i,j,k,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var 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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;R=W+128|0;q=W+124|0;V=W+120|0;y=W+116|0;z=W+112|0;A=W+108|0;E=W+104|0;v=W+100|0;D=W+96|0;I=W+92|0;J=W+88|0;L=W+84|0;u=W+80|0;w=W+76|0;F=W+72|0;G=W+68|0;S=W+64|0;p=W+60|0;C=W+56|0;P=W+48|0;M=W+44|0;O=W+40|0;s=W+36|0;r=W+32|0;x=W+28|0;t=W+24|0;B=W+20|0;U=W+16|0;T=W+12|0;H=W+8|0;K=W+4|0;Q=W;c[R>>2]=d;c[q>>2]=e;c[V>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=i;c[E>>2]=j;c[v>>2]=k;c[D>>2]=m;c[I>>2]=n;c[J>>2]=o;c[K>>2]=(c[q>>2]|0)+-4;f=(c[J>>2]|0)+2|0;c[Q>>2]=$()|0;i=l;l=l+((1*(f<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=((c[J>>2]|0)+2|0))break;c[S>>2]=(b[(c[q>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0)+(b[(c[V>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0);c[p>>2]=(b[(c[q>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0)-(b[(c[V>>2]|0)+((c[L>>2]|0)-2<<1)>>1]|0);b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]=(c[S>>2]>>1)+(c[S>>2]&1);if(((c[p>>2]>>1)+(c[p>>2]&1)|0)<=32767)if(((c[p>>2]>>1)+(c[p>>2]&1)|0)<-32768)o=-32768;else o=(c[p>>2]>>1)+(c[p>>2]&1)|0;else o=32767;b[i+(c[L>>2]<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}o=c[K>>2]|0;n=(c[R>>2]|0)+4|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=(c[R>>2]|0)+8|0;b[i>>1]=b[o>>1]|0;b[i+2>>1]=b[o+2>>1]|0;o=(c[R>>2]|0)+4|0;n=(c[K>>2]|0)+(c[J>>2]<<1)|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=(c[R>>2]|0)+8|0;n=i+(c[J>>2]<<1)|0;b[o>>1]=b[n>>1]|0;b[o+2>>1]=b[n+2>>1]|0;o=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;n=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[S>>2]=((b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[o+(c[L>>2]<<1)>>1]=c[S>>2];b[n+(c[L>>2]<<1)>>1]=(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]|0)-(c[S>>2]|0);c[L>>2]=(c[L>>2]|0)+1}g=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;h=l;l=l+((1*(c[J>>2]<<1)|0)+15&-16)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[S>>2]=((b[i+(c[L>>2]<<1)>>1]|0)+(b[i+((c[L>>2]|0)+2<<1)>>1]|0)+(b[i+((c[L>>2]|0)+1<<1)>>1]<<1)>>1)+1>>1;b[g+(c[L>>2]<<1)>>1]=c[S>>2];b[h+(c[L>>2]<<1)>>1]=(b[i+((c[L>>2]|0)+1<<1)>>1]|0)-(c[S>>2]|0);c[L>>2]=(c[L>>2]|0)+1}c[u>>2]=(c[J>>2]|0)==((c[I>>2]|0)*10|0)&1;c[C>>2]=c[u>>2]|0?328:655;q=(N((c[v>>2]&65535)<<16>>16,(c[v>>2]&65535)<<16>>16)|0)>>16;q=N(q,(c[C>>2]&65535)<<16>>16)|0;v=(N((c[v>>2]&65535)<<16>>16,(c[v>>2]&65535)<<16>>16)|0)&65535;c[C>>2]=q+((N(v,(c[C>>2]&65535)<<16>>16)|0)>>16);c[P>>2]=kg(s,o,g,(c[R>>2]|0)+12|0,c[J>>2]|0,c[C>>2]|0)|0;c[P+4>>2]=kg(r,n,h,(c[R>>2]|0)+12+8|0,c[J>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[r>>2]|0)+(((c[s>>2]&65535)<<16>>16)*3|0);c[x>>2]=(c[x>>2]|0)<65536?c[x>>2]|0:65536;v=(c[E>>2]|0)-(c[u>>2]|0?1200:600)|0;c[E>>2]=v;c[E>>2]=(c[E>>2]|0)<1?1:v;c[B>>2]=2e3+(((c[I>>2]&65535)<<16>>16)*900|0);c[t>>2]=(c[x>>2]|0)*3;v=$e(c[E>>2]|0,851968+(c[t>>2]|0)|0,19)|0;c[c[A>>2]>>2]=v;if((c[c[A>>2]>>2]|0)<(c[B>>2]|0)){c[c[A>>2]>>2]=c[B>>2];c[(c[A>>2]|0)+4>>2]=(c[E>>2]|0)-(c[c[A>>2]>>2]|0);v=N(65536+(c[t>>2]|0)>>16,(c[B>>2]&65535)<<16>>16)|0;c[U>>2]=$e((c[(c[A>>2]|0)+4>>2]<<1)-(c[B>>2]|0)|0,v+((N(65536+(c[t>>2]|0)&65535,(c[B>>2]&65535)<<16>>16)|0)>>16)|0,16)|0;if((c[U>>2]|0)>16384)o=16384;else o=(c[U>>2]|0)<0?0:c[U>>2]|0;c[U>>2]=o}else{c[(c[A>>2]|0)+4>>2]=(c[E>>2]|0)-(c[c[A>>2]>>2]|0);c[U>>2]=16384}v=N((c[U>>2]|0)-(b[(c[R>>2]|0)+28>>1]|0)>>16,(c[C>>2]&65535)<<16>>16)|0;C=(b[(c[R>>2]|0)+28>>1]|0)+(v+((N((c[U>>2]|0)-(b[(c[R>>2]|0)+28>>1]|0)&65535,(c[C>>2]&65535)<<16>>16)|0)>>16))&65535;b[(c[R>>2]|0)+28>>1]=C;a[c[z>>2]>>0]=0;a:do if(!(c[D>>2]|0)){do if(!(b[(c[R>>2]|0)+30>>1]|0)){if((c[E>>2]<<3|0)>=((c[B>>2]|0)*13|0)?(D=N(c[x>>2]>>16,b[(c[R>>2]|0)+28>>1]|0)|0,(D+((N(c[x>>2]&65535,b[(c[R>>2]|0)+28>>1]|0)|0)>>16)|0)>=819):0)break;c[P>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[y>>2]|0);c[U>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[c[A>>2]>>2]=c[E>>2];c[(c[A>>2]|0)+4>>2]=0;a[c[z>>2]>>0]=1;break a}while(0);do if(b[(c[R>>2]|0)+30>>1]|0){if((c[E>>2]<<3|0)>=((c[B>>2]|0)*11|0)?(D=N(c[x>>2]>>16,b[(c[R>>2]|0)+28>>1]|0)|0,(D+((N(c[x>>2]&65535,b[(c[R>>2]|0)+28>>1]|0)|0)>>16)|0)>=328):0)break;c[P>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[y>>2]|0);c[U>>2]=0;c[P>>2]=0;c[P+4>>2]=0;break a}while(0);if((b[(c[R>>2]|0)+28>>1]|0)>15565){rg(P,c[y>>2]|0);c[U>>2]=16384;break}else{c[P>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P>>2]&65535)<<16>>16)|0)>>14;c[P+4>>2]=(N(b[(c[R>>2]|0)+28>>1]|0,(c[P+4>>2]&65535)<<16>>16)|0)>>14;rg(P,c[y>>2]|0);c[U>>2]=b[(c[R>>2]|0)+28>>1];break}}else{c[U>>2]=0;c[P>>2]=0;c[P+4>>2]=0;rg(P,c[y>>2]|0)}while(0);do if((a[c[z>>2]>>0]|0)==1){D=(c[R>>2]|0)+32|0;b[D>>1]=(b[D>>1]|0)+((c[J>>2]|0)-(c[I>>2]<<3));if((b[(c[R>>2]|0)+32>>1]|0)<((c[I>>2]|0)*5|0)){a[c[z>>2]>>0]=0;break}else{b[(c[R>>2]|0)+32>>1]=1e4;break}}else b[(c[R>>2]|0)+32>>1]=0;while(0);if((a[c[z>>2]>>0]|0)==0?(c[(c[A>>2]|0)+4>>2]|0)<1:0){c[(c[A>>2]|0)+4>>2]=1;E=af(1,(c[E>>2]|0)-(c[(c[A>>2]|0)+4>>2]|0)|0)|0;c[c[A>>2]>>2]=E}c[M>>2]=0-(b[c[R>>2]>>1]|0);c[O>>2]=0-(b[(c[R>>2]|0)+2>>1]|0);c[T>>2]=b[(c[R>>2]|0)+30>>1]<<10;c[w>>2]=65536/(c[I>>2]<<3|0)|0;c[F>>2]=0-(((N(((c[P>>2]|0)-(b[c[R>>2]>>1]|0)&65535)<<16>>16,(c[w>>2]&65535)<<16>>16)|0)>>15)+1>>1);c[G>>2]=0-(((N(((c[P+4>>2]|0)-(b[(c[R>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[w>>2]&65535)<<16>>16)|0)>>15)+1>>1);E=N((c[U>>2]|0)-(b[(c[R>>2]|0)+30>>1]|0)>>16,(c[w>>2]&65535)<<16>>16)|0;c[H>>2]=E+((N((c[U>>2]|0)-(b[(c[R>>2]|0)+30>>1]|0)&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)<<10;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[I>>2]<<3|0))break;c[M>>2]=(c[M>>2]|0)+(c[F>>2]|0);c[O>>2]=(c[O>>2]|0)+(c[G>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[H>>2]|0);c[S>>2]=(b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)<<9;D=N(c[T>>2]>>16,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0;D=D+((N(c[T>>2]&65535,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;E=N(c[S>>2]>>16,(c[M>>2]&65535)<<16>>16)|0;c[S>>2]=D+(E+((N(c[S>>2]&65535,(c[M>>2]&65535)<<16>>16)|0)>>16));E=N(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11>>16,(c[O>>2]&65535)<<16>>16)|0;c[S>>2]=(c[S>>2]|0)+(E+((N(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11&65535,(c[O>>2]&65535)<<16>>16)|0)>>16));if(((c[S>>2]>>7)+1>>1|0)<=32767)if(((c[S>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[S>>2]>>7)+1>>1;else o=32767;b[(c[V>>2]|0)+((c[L>>2]|0)-1<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}c[M>>2]=0-(c[P>>2]|0);c[O>>2]=0-(c[P+4>>2]|0);c[T>>2]=c[U>>2]<<10;c[L>>2]=c[I>>2]<<3;while(1){if((c[L>>2]|0)>=(c[J>>2]|0))break;c[S>>2]=(b[(c[K>>2]|0)+(c[L>>2]<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+2<<1)>>1]|0)+(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<1)<<9;H=N(c[T>>2]>>16,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0;H=H+((N(c[T>>2]&65535,b[i+((c[L>>2]|0)+1<<1)>>1]|0)|0)>>16)|0;I=N(c[S>>2]>>16,(c[M>>2]&65535)<<16>>16)|0;c[S>>2]=H+(I+((N(c[S>>2]&65535,(c[M>>2]&65535)<<16>>16)|0)>>16));I=N(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11>>16,(c[O>>2]&65535)<<16>>16)|0;c[S>>2]=(c[S>>2]|0)+(I+((N(b[(c[K>>2]|0)+((c[L>>2]|0)+1<<1)>>1]<<11&65535,(c[O>>2]&65535)<<16>>16)|0)>>16));if(((c[S>>2]>>7)+1>>1|0)<=32767)if(((c[S>>2]>>7)+1>>1|0)<-32768)o=-32768;else o=(c[S>>2]>>7)+1>>1;else o=32767;b[(c[V>>2]|0)+((c[L>>2]|0)-1<<1)>>1]=o;c[L>>2]=(c[L>>2]|0)+1}b[c[R>>2]>>1]=c[P>>2];b[(c[R>>2]|0)+2>>1]=c[P+4>>2];b[(c[R>>2]|0)+30>>1]=c[U>>2];_(c[Q>>2]|0);l=W;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(bf((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[j>>2]=(bf((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,32)|0;c[n>>2]=b-(d<<3);d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function bf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function cf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=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;w=l;l=l+64|0;p=w+52|0;u=w+48|0;v=w+44|0;o=w+40|0;k=w+36|0;r=w+32|0;s=w+28|0;x=w+24|0;i=w+20|0;j=w+16|0;t=w+12|0;q=w+8|0;m=w+4|0;n=w;c[p>>2]=a;c[u>>2]=d;c[v>>2]=e;c[o>>2]=f;c[k>>2]=g;c[r>>2]=h;e=c[u>>2]|0;d=(c[p>>2]|0)+4|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=c[v>>2]|0;d=(c[p>>2]|0)+8|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[p>>2]|0)+4|0;d=(c[u>>2]|0)+(c[r>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;e=(c[p>>2]|0)+8|0;d=(c[v>>2]|0)+(c[r>>2]<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;c[m>>2]=b[c[p>>2]>>1];c[n>>2]=b[(c[p>>2]|0)+2>>1];c[x>>2]=65536/(c[k>>2]<<3|0)|0;c[i>>2]=((N(((c[c[o>>2]>>2]|0)-(b[c[p>>2]>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[j>>2]=((N(((c[(c[o>>2]|0)+4>>2]|0)-(b[(c[p>>2]|0)+2>>1]|0)&65535)<<16>>16,(c[x>>2]&65535)<<16>>16)|0)>>15)+1>>1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[k>>2]<<3|0))break;c[m>>2]=(c[m>>2]|0)+(c[i>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[t>>2]=(b[(c[u>>2]|0)+(c[s>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<1)<<9;x=N(c[t>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[t>>2]=(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<8)+(x+((N(c[t>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=N(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[t>>2]=(c[t>>2]|0)+(x+((N(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[t>>2]>>7)+1>>1|0)<=32767)if(((c[t>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[t>>2]>>7)+1>>1;else h=32767;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[c[o>>2]>>2];c[n>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=c[k>>2]<<3;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;c[t>>2]=(b[(c[u>>2]|0)+(c[s>>2]<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+2<<1)>>1]|0)+(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<1)<<9;x=N(c[t>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[t>>2]=(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<8)+(x+((N(c[t>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));x=N(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11>>16,(c[n>>2]&65535)<<16>>16)|0;c[t>>2]=(c[t>>2]|0)+(x+((N(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]<<11&65535,(c[n>>2]&65535)<<16>>16)|0)>>16));if(((c[t>>2]>>7)+1>>1|0)<=32767)if(((c[t>>2]>>7)+1>>1|0)<-32768)h=-32768;else h=(c[t>>2]>>7)+1>>1;else h=32767;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}b[c[p>>2]>>1]=c[c[o>>2]>>2];b[(c[p>>2]|0)+2>>1]=c[(c[o>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;c[t>>2]=(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)+(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0);c[q>>2]=(b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0);if((c[t>>2]|0)>32767)h=32767;else h=(c[t>>2]|0)<-32768?-32768:c[t>>2]|0;b[(c[u>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;if((c[q>>2]|0)>32767)h=32767;else h=(c[q>>2]|0)<-32768?-32768:c[q>>2]|0;b[(c[v>>2]|0)+((c[s>>2]|0)+1<<1)>>1]=h;c[s>>2]=(c[s>>2]|0)+1}l=w;return}function df(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;b=f;c[b>>2]=a;if(!(((((((c[(c[b>>2]|0)+8>>2]|0)!=8e3?(c[(c[b>>2]|0)+8>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=16e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=24e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=32e3:0)?(c[(c[b>>2]|0)+8>>2]|0)!=44100:0)?(c[(c[b>>2]|0)+8>>2]|0)!=48e3:0))e=8;do if((e|0)==8){if(((c[(c[b>>2]|0)+20>>2]|0)!=8e3?(c[(c[b>>2]|0)+20>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+20>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+12>>2]|0)!=8e3?(c[(c[b>>2]|0)+12>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+12>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+16>>2]|0)!=8e3?(c[(c[b>>2]|0)+16>>2]|0)!=12e3:0)?(c[(c[b>>2]|0)+16>>2]|0)!=16e3:0)break;if(((c[(c[b>>2]|0)+16>>2]|0)<=(c[(c[b>>2]|0)+20>>2]|0)?(c[(c[b>>2]|0)+12>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0):0)?(c[(c[b>>2]|0)+16>>2]|0)<=(c[(c[b>>2]|0)+12>>2]|0):0){if((((c[(c[b>>2]|0)+24>>2]|0)!=10?(c[(c[b>>2]|0)+24>>2]|0)!=20:0)?(c[(c[b>>2]|0)+24>>2]|0)!=40:0)?(c[(c[b>>2]|0)+24>>2]|0)!=60:0){c[d>>2]=-103;e=c[d>>2]|0;l=f;return e|0}if((c[(c[b>>2]|0)+32>>2]|0)>=0?(c[(c[b>>2]|0)+32>>2]|0)<=100:0){if((c[(c[b>>2]|0)+44>>2]|0)>=0?(c[(c[b>>2]|0)+44>>2]|0)<=1:0){if((c[(c[b>>2]|0)+48>>2]|0)>=0?(c[(c[b>>2]|0)+48>>2]|0)<=1:0){do if((c[(c[b>>2]|0)+40>>2]|0)>=0){if((c[(c[b>>2]|0)+40>>2]|0)>1)break;do if((c[c[b>>2]>>2]|0)>=1){if((c[c[b>>2]>>2]|0)>2)break;do if((c[(c[b>>2]|0)+4>>2]|0)>=1){if((c[(c[b>>2]|0)+4>>2]|0)>2)break;if((c[(c[b>>2]|0)+4>>2]|0)>(c[c[b>>2]>>2]|0)){c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}do if((c[(c[b>>2]|0)+36>>2]|0)>=0){if((c[(c[b>>2]|0)+36>>2]|0)>10)break;c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-106;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-111;e=c[d>>2]|0;l=f;return e|0}while(0);c[d>>2]=-107;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-109;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-108;e=c[d>>2]|0;l=f;return e|0}c[d>>2]=-105;e=c[d>>2]|0;l=f;return e|0}}while(0);c[d>>2]=-102;e=c[d>>2]|0;l=f;return e|0}function ef(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+20|0;e=m+16|0;g=m+12|0;j=m+8|0;f=m+4|0;i=m;c[h>>2]=a;c[e>>2]=d;c[j>>2]=0;if((c[e>>2]|0)>8e4)d=8e4;else d=(c[e>>2]|0)<5e3?5e3:c[e>>2]|0;c[e>>2]=d;if((c[e>>2]|0)==(c[(c[h>>2]|0)+4632>>2]|0)){k=c[j>>2]|0;l=m;return k|0}c[(c[h>>2]|0)+4632>>2]=c[e>>2];do if((c[(c[h>>2]|0)+4600>>2]|0)!=8)if((c[(c[h>>2]|0)+4600>>2]|0)==12){c[i>>2]=17772;break}else{c[i>>2]=17804;break}else c[i>>2]=17740;while(0);if((c[(c[h>>2]|0)+4604>>2]|0)==2)c[e>>2]=(c[e>>2]|0)-2200;c[g>>2]=1;while(1){if((c[g>>2]|0)>=8){k=16;break}if((c[e>>2]|0)<=(c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((k|0)==16){k=c[j>>2]|0;l=m;return k|0}c[f>>2]=((c[e>>2]|0)-(c[(c[i>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)<<6|0)/((c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0)-(c[(c[i>>2]|0)+((c[g>>2]|0)-1<<2)>>2]|0)|0)|0;k=(b[24510+((c[g>>2]|0)-1<<1)>>1]<<6)+(N(c[f>>2]|0,(b[24510+(c[g>>2]<<1)>>1]|0)-(b[24510+((c[g>>2]|0)-1<<1)>>1]|0)|0)|0)|0;c[(c[h>>2]|0)+4748>>2]=k;k=c[j>>2]|0;l=m;return k|0}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;aj(c[f>>2]|0,0,12240)|0;c[(c[f>>2]|0)+5124>>2]=c[g>>2];a=(Bf(3932160)|0)-2048<<8;c[(c[f>>2]|0)+8>>2]=a;c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+4696>>2]=1;a=De((c[f>>2]|0)+32|0)|0;c[d>>2]=(c[d>>2]|0)+a;l=e;return c[d>>2]|0}function gf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;o=p+32|0;m=p+28|0;i=p+24|0;h=p+20|0;r=p+16|0;q=p+12|0;j=p+8|0;k=p+4|0;n=p;c[m>>2]=a;c[i>>2]=b;c[h>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[n>>2]=0;c[(c[m>>2]|0)+6108>>2]=c[(c[i>>2]|0)+44>>2];c[(c[m>>2]|0)+4708>>2]=c[(c[i>>2]|0)+48>>2];c[(c[m>>2]|0)+4580>>2]=c[(c[i>>2]|0)+8>>2];c[(c[m>>2]|0)+4588>>2]=c[(c[i>>2]|0)+12>>2];c[(c[m>>2]|0)+4592>>2]=c[(c[i>>2]|0)+16>>2];c[(c[m>>2]|0)+4596>>2]=c[(c[i>>2]|0)+20>>2];c[(c[m>>2]|0)+6120>>2]=c[(c[i>>2]|0)+40>>2];c[(c[m>>2]|0)+5784>>2]=c[c[i>>2]>>2];c[(c[m>>2]|0)+5788>>2]=c[(c[i>>2]|0)+4>>2];c[(c[m>>2]|0)+4560>>2]=c[r>>2];c[(c[m>>2]|0)+5792>>2]=c[q>>2];if(c[(c[m>>2]|0)+4700>>2]|0?(c[(c[m>>2]|0)+4712>>2]|0)==0:0){if((c[(c[m>>2]|0)+4580>>2]|0)!=(c[(c[m>>2]|0)+4584>>2]|0)?(c[(c[m>>2]|0)+4600>>2]|0)>0:0){r=hf(c[m>>2]|0,c[(c[m>>2]|0)+4600>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+r}c[o>>2]=c[n>>2];r=c[o>>2]|0;l=p;return r|0}c[k>>2]=Ne(c[m>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0)c[k>>2]=c[j>>2];r=hf(c[m>>2]|0,c[k>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+r;r=jf(c[m>>2]|0,c[k>>2]|0,c[(c[i>>2]|0)+24>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+r;r=kf(c[m>>2]|0,c[(c[i>>2]|0)+36>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+r;c[(c[m>>2]|0)+4640>>2]=c[(c[i>>2]|0)+32>>2];r=lf(c[m>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+r;c[(c[m>>2]|0)+4700>>2]=1;c[o>>2]=c[n>>2];r=c[o>>2]|0;l=p;return r|0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+336|0;i=n+328|0;f=n+324|0;j=n+320|0;g=n+316|0;d=n+312|0;h=n+308|0;e=n+304|0;k=n+300|0;m=n;c[i>>2]=a;c[f>>2]=b;c[j>>2]=0;if((c[(c[i>>2]|0)+4600>>2]|0)==(c[f>>2]|0)?(c[(c[i>>2]|0)+4584>>2]|0)==(c[(c[i>>2]|0)+4580>>2]|0):0){k=c[i>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+4600>>2]|0)){k=Tf(b+5808|0,c[(c[i>>2]|0)+4580>>2]|0,(c[f>>2]|0)*1e3|0,1)|0;c[j>>2]=(c[j>>2]|0)+k;k=c[i>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}else{c[e>>2]=((c[b+4604>>2]|0)*5<<1)+5;c[h>>2]=N(c[e>>2]|0,c[(c[i>>2]|0)+4600>>2]|0)|0;c[g>>2]=N(c[e>>2]|0,c[f>>2]|0)|0;b=(c[h>>2]|0)>(c[g>>2]|0)?c[h>>2]|0:c[g>>2]|0;c[k>>2]=$()|0;a=l;l=l+((1*(b<<1)|0)+15&-16)|0;of(a,(c[i>>2]|0)+9356|0,c[h>>2]|0);b=Tf(m,((c[(c[i>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0,c[(c[i>>2]|0)+4580>>2]|0,0)|0;c[j>>2]=(c[j>>2]|0)+b;c[d>>2]=N(c[e>>2]|0,(c[(c[i>>2]|0)+4580>>2]|0)/1e3|0)|0;e=l;l=l+((1*(c[d>>2]<<1)|0)+15&-16)|0;m=Uf(m,e,a,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+m;m=Tf((c[i>>2]|0)+5808|0,c[(c[i>>2]|0)+4580>>2]|0,((c[f>>2]&65535)<<16>>16)*1e3|0,1)|0;c[j>>2]=(c[j>>2]|0)+m;m=Uf((c[i>>2]|0)+5808|0,a,e,c[d>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+m;pf((c[i>>2]|0)+9356|0,a,c[g>>2]|0);_(c[k>>2]|0);k=c[i>>2]|0;k=k+4580|0;k=c[k>>2]|0;m=c[i>>2]|0;m=m+4584|0;c[m>>2]=k;m=c[j>>2]|0;l=n;return m|0}return 0}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;c[i>>2]=0;if((c[f>>2]|0)!=(c[(c[h>>2]|0)+4636>>2]|0)){if((c[f>>2]|0)!=10&(c[f>>2]|0)!=20&(c[f>>2]|0)!=40&(c[f>>2]|0)!=60)c[i>>2]=-103;if((c[f>>2]|0)<=10){c[(c[h>>2]|0)+5776>>2]=1;c[(c[h>>2]|0)+4604>>2]=(c[f>>2]|0)==10?2:1;e=N((c[f>>2]&65535)<<16>>16,(c[g>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4608>>2]=e;c[(c[h>>2]|0)+4572>>2]=((c[g>>2]&65535)<<16>>16)*14;e=(c[(c[h>>2]|0)+4600>>2]|0)==8?29170:29158;d=(c[h>>2]|0)+4720|0}else{c[(c[h>>2]|0)+5776>>2]=(c[f>>2]|0)/20|0;c[(c[h>>2]|0)+4604>>2]=4;c[(c[h>>2]|0)+4608>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4572>>2]=((c[g>>2]&65535)<<16>>16)*24;e=(c[(c[h>>2]|0)+4600>>2]|0)==8?29147:29113;d=(c[h>>2]|0)+4720|0}c[d>>2]=e;c[(c[h>>2]|0)+4636>>2]=c[f>>2];c[(c[h>>2]|0)+4632>>2]=0}if((c[(c[h>>2]|0)+4600>>2]|0)==(c[g>>2]|0)){i=c[i>>2]|0;l=j;return i|0}f=(c[h>>2]|0)+7200|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;aj((c[h>>2]|0)+7216|0,0,2140)|0;aj((c[h>>2]|0)+144|0,0,4380)|0;f=(c[h>>2]|0)+4524|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;f=(c[h>>2]|0)+16|0;c[f>>2]=0;c[f+4>>2]=0;c[(c[h>>2]|0)+5772>>2]=0;c[(c[h>>2]|0)+5780>>2]=0;c[(c[h>>2]|0)+4632>>2]=0;c[(c[h>>2]|0)+4568>>2]=100;c[(c[h>>2]|0)+4696>>2]=1;c[(c[h>>2]|0)+7216+2136>>2]=100;a[(c[h>>2]|0)+7200>>0]=10;c[(c[h>>2]|0)+144+4356>>2]=100;c[(c[h>>2]|0)+144+4372>>2]=65536;a[(c[h>>2]|0)+4565>>0]=0;c[(c[h>>2]|0)+4600>>2]=c[g>>2];f=(c[(c[h>>2]|0)+4604>>2]|0)==4;c[(c[h>>2]|0)+4720>>2]=(c[(c[h>>2]|0)+4600>>2]|0)==8?(f?29147:29170):f?29113:29158;if((c[(c[h>>2]|0)+4600>>2]|0)!=8?(c[(c[h>>2]|0)+4600>>2]|0)!=12:0){c[(c[h>>2]|0)+4664>>2]=16;e=c[h>>2]|0;d=17704}else{c[(c[h>>2]|0)+4664>>2]=10;e=c[h>>2]|0;d=17668}c[e+4724>>2]=d;c[(c[h>>2]|0)+4612>>2]=(c[g>>2]|0)*5;e=N((c[(c[h>>2]|0)+4612>>2]&65535)<<16>>16,(c[(c[h>>2]|0)+4604>>2]&65535)<<16>>16)|0;c[(c[h>>2]|0)+4608>>2]=e;c[(c[h>>2]|0)+4616>>2]=((c[g>>2]&65535)<<16>>16)*20;c[(c[h>>2]|0)+4620>>2]=(c[g>>2]&65535)<<16>>16<<1;c[(c[h>>2]|0)+4576>>2]=((c[g>>2]&65535)<<16>>16)*18;e=(c[(c[h>>2]|0)+4604>>2]|0)==4;g=(c[g>>2]&65535)<<16>>16;c[(e?c[h>>2]|0:c[h>>2]|0)+4572>>2]=e?g*24|0:g*14|0;e=c[h>>2]|0;do if((c[(c[h>>2]|0)+4600>>2]|0)!=16){d=(c[h>>2]|0)+4684|0;if((c[e+4600>>2]|0)==12){c[d>>2]=13;d=29039;e=c[h>>2]|0;break}else{c[d>>2]=15;d=29030;e=c[h>>2]|0;break}}else{c[e+4684>>2]=10;d=29045;e=c[h>>2]|0}while(0);c[e+4716>>2]=d;i=c[i>>2]|0;l=j;return i|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;c[f>>2]=0;do if((c[d>>2]|0)>=2){if((c[d>>2]|0)<4){c[(c[e>>2]|0)+4668>>2]=1;c[(c[e>>2]|0)+4676>>2]=49807;c[(c[e>>2]|0)+4672>>2]=8;c[(c[e>>2]|0)+4660>>2]=10;c[(c[e>>2]|0)+4624>>2]=(c[(c[e>>2]|0)+4600>>2]|0)*5;c[(c[e>>2]|0)+4652>>2]=1;c[(c[e>>2]|0)+4656>>2]=0;c[(c[e>>2]|0)+4680>>2]=0;c[(c[e>>2]|0)+4692>>2]=4;b=c[e>>2]|0;a=0;break}if((c[d>>2]|0)<6){c[(c[e>>2]|0)+4668>>2]=1;c[(c[e>>2]|0)+4676>>2]=48497;c[(c[e>>2]|0)+4672>>2]=10;c[(c[e>>2]|0)+4660>>2]=12;c[(c[e>>2]|0)+4624>>2]=(c[(c[e>>2]|0)+4600>>2]|0)*5;c[(c[e>>2]|0)+4652>>2]=2;c[(c[e>>2]|0)+4656>>2]=1;c[(c[e>>2]|0)+4680>>2]=0;c[(c[e>>2]|0)+4692>>2]=8;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4600>>2]|0)*983|0;break}b=(c[e>>2]|0)+4668|0;if((c[d>>2]|0)<8){c[b>>2]=1;c[(c[e>>2]|0)+4676>>2]=47186;c[(c[e>>2]|0)+4672>>2]=12;c[(c[e>>2]|0)+4660>>2]=14;c[(c[e>>2]|0)+4624>>2]=(c[(c[e>>2]|0)+4600>>2]|0)*5;c[(c[e>>2]|0)+4652>>2]=3;c[(c[e>>2]|0)+4656>>2]=1;c[(c[e>>2]|0)+4680>>2]=0;c[(c[e>>2]|0)+4692>>2]=16;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4600>>2]|0)*983|0;break}else{c[b>>2]=2;c[(c[e>>2]|0)+4676>>2]=45875;c[(c[e>>2]|0)+4672>>2]=16;c[(c[e>>2]|0)+4660>>2]=16;c[(c[e>>2]|0)+4624>>2]=(c[(c[e>>2]|0)+4600>>2]|0)*5;c[(c[e>>2]|0)+4652>>2]=4;c[(c[e>>2]|0)+4656>>2]=1;c[(c[e>>2]|0)+4680>>2]=0;c[(c[e>>2]|0)+4692>>2]=32;b=c[e>>2]|0;a=(c[(c[e>>2]|0)+4600>>2]|0)*983|0;break}}else{c[(c[e>>2]|0)+4668>>2]=0;c[(c[e>>2]|0)+4676>>2]=52429;c[(c[e>>2]|0)+4672>>2]=6;c[(c[e>>2]|0)+4660>>2]=8;c[(c[e>>2]|0)+4624>>2]=(c[(c[e>>2]|0)+4600>>2]|0)*3;c[(c[e>>2]|0)+4652>>2]=1;c[(c[e>>2]|0)+4656>>2]=0;c[(c[e>>2]|0)+4680>>2]=1;c[(c[e>>2]|0)+4692>>2]=2;b=c[e>>2]|0;a=0}while(0);c[b+4704>>2]=a;a=nf(c[(c[e>>2]|0)+4672>>2]|0,c[(c[e>>2]|0)+4664>>2]|0)|0;c[(c[e>>2]|0)+4672>>2]=a;c[(c[e>>2]|0)+4628>>2]=((c[(c[e>>2]|0)+4600>>2]|0)*5|0)+(c[(c[e>>2]|0)+4624>>2]<<1);c[(c[e>>2]|0)+4648>>2]=c[d>>2];l=g;return c[f>>2]|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;d=i;c[g>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[(c[g>>2]|0)+6124>>2];c[(c[g>>2]|0)+6124>>2]=0;if(!(c[(c[g>>2]|0)+6120>>2]|0)){h=c[h>>2]|0;l=i;return h|0}if((c[(c[g>>2]|0)+4640>>2]|0)<=0){h=c[h>>2]|0;l=i;return h|0}do if((c[(c[g>>2]|0)+4600>>2]|0)!=8)if((c[(c[g>>2]|0)+4600>>2]|0)==12){c[d>>2]=14e3;break}else{c[d>>2]=16e3;break}else c[d>>2]=12e3;while(0);if((c[(c[g>>2]|0)+4640>>2]|0)<25)b=c[(c[g>>2]|0)+4640>>2]|0;else b=25;a=((N(c[d>>2]|0,125-b|0)|0)>>16)*655|0;if((c[(c[g>>2]|0)+4640>>2]|0)<25)b=c[(c[g>>2]|0)+4640>>2]|0;else b=25;c[d>>2]=a+(((N(c[d>>2]|0,125-b|0)|0)&65535)*655>>16);if((c[e>>2]|0)<=(c[d>>2]|0)){h=c[h>>2]|0;l=i;return h|0}b=c[g>>2]|0;if(!(c[f>>2]|0))a=7;else{a=mf(7-(((c[b+4640>>2]>>16)*26214|0)+((c[(c[g>>2]|0)+4640>>2]&65535)*26214>>16))|0,2)|0;b=c[g>>2]|0}c[b+6128>>2]=a;c[(c[g>>2]|0)+6124>>2]=1;h=c[h>>2]|0;l=i;return h|0}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function of(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<=32767)if((Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0)<-32768)d=-32768;else d=Ui(+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2])|0;else d=32767;b[(c[i>>2]|0)+(c[h>>2]<<1)>>1]=d;c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function pf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;k=j+4|0;h=j;c[i>>2]=a;c[f>>2]=d;c[k>>2]=e;c[h>>2]=(c[k>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]=+(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0);c[h>>2]=(c[h>>2]|0)+-1}l=j;return}function qf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=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;D=l;l=l+160|0;f=D+156|0;j=D+152|0;k=D+148|0;p=D+144|0;q=D+140|0;r=D+136|0;m=D+132|0;u=D+128|0;o=D+124|0;x=D+120|0;w=D+116|0;y=D+112|0;A=D+108|0;z=D+104|0;B=D+100|0;v=D+96|0;s=D+92|0;n=D+88|0;g=D+52|0;i=D+16|0;h=D+8|0;t=D;c[f>>2]=a;c[j>>2]=d;c[k>>2]=e;c[h>>2]=g;c[h+4>>2]=i;c[m>>2]=c[k>>2]>>1;rf(c[j>>2]|0,g,i,c[m>>2]|0);c[t>>2]=g;c[x>>2]=b[12286];c[A>>2]=sf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=i;c[A>>2]=sf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;c[p>>2]=0;c[v>>2]=0;a:while(1){c[w>>2]=b[24572+(c[q>>2]<<1)>>1];c[z>>2]=sf(c[t>>2]|0,c[w>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0?(c[z>>2]|0)>=(c[v>>2]|0):0))C=7;do if((C|0)==7){C=0;if((c[A>>2]|0)>=0?(c[z>>2]|0)<=(0-(c[v>>2]|0)|0):0)break;c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=c[w>>2];c[A>>2]=c[z>>2];c[v>>2]=0;if((c[q>>2]|0)<=128)continue a;c[p>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>30)break a;xf(c[j>>2]|0,c[k>>2]|0,65536-(N((10+(c[p>>2]|0)&65535)<<16>>16,(c[p>>2]&65535)<<16>>16)|0)|0);rf(c[j>>2]|0,g,i,c[m>>2]|0);c[t>>2]=g;c[x>>2]=b[12286];c[A>>2]=sf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;if((c[A>>2]|0)<0){b[c[f>>2]>>1]=0;c[t>>2]=i;c[A>>2]=sf(c[t>>2]|0,c[x>>2]|0,c[m>>2]|0)|0;c[u>>2]=1}else c[u>>2]=0;c[q>>2]=1;continue a}while(0);if(!(c[z>>2]|0))c[v>>2]=1;else c[v>>2]=0;c[o>>2]=-256;c[r>>2]=0;while(1){if((c[r>>2]|0)>=3)break;c[y>>2]=((c[x>>2]|0)+(c[w>>2]|0)>>1)+((c[x>>2]|0)+(c[w>>2]|0)&1);c[B>>2]=sf(c[t>>2]|0,c[y>>2]|0,c[m>>2]|0)|0;if(!((c[A>>2]|0)<=0&(c[B>>2]|0)>=0)?!((c[A>>2]|0)>=0&(c[B>>2]|0)<=0):0){c[x>>2]=c[y>>2];c[A>>2]=c[B>>2];c[o>>2]=(c[o>>2]|0)+(128>>c[r>>2])}else{c[w>>2]=c[y>>2];c[z>>2]=c[B>>2]}c[r>>2]=(c[r>>2]|0)+1}e=c[A>>2]|0;a=c[A>>2]|0;if((((c[A>>2]|0)>0?e:0-e|0)|0)<65536){c[n>>2]=a-(c[z>>2]|0);c[s>>2]=(c[A>>2]<<5)+(c[n>>2]>>1);if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+((c[s>>2]|0)/(c[n>>2]|0)|0)}else c[o>>2]=(c[o>>2]|0)+((a|0)/((c[A>>2]|0)-(c[z>>2]|0)>>5|0)|0);e=(tf((c[q>>2]<<8)+(c[o>>2]|0)|0,32767)|0)&65535;b[(c[f>>2]|0)+(c[u>>2]<<1)>>1]=e;c[u>>2]=(c[u>>2]|0)+1;if((c[u>>2]|0)>=(c[k>>2]|0)){C=34;break}c[t>>2]=c[h+((c[u>>2]&1)<<2)>>2];c[x>>2]=b[24572+((c[q>>2]|0)-1<<1)>>1];c[A>>2]=1-(c[u>>2]&2)<<12}if((C|0)==34){l=D;return}b[c[f>>2]>>1]=32768/((c[k>>2]|0)+1|0)|0;c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;C=(N(((c[q>>2]|0)+1&65535)<<16>>16,b[c[f>>2]>>1]|0)|0)&65535;b[(c[f>>2]|0)+(c[q>>2]<<1)>>1]=C;c[q>>2]=(c[q>>2]|0)+1}l=D;return}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=65536;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)-(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=0-(c[(c[f>>2]|0)+((c[i>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0)+(c[(c[f>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0)<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=c[i>>2];while(1){b=c[g>>2]|0;if((c[j>>2]|0)<=0)break;e=(c[g>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[e>>2]=(c[e>>2]|0)-(c[b+(c[j>>2]<<2)>>2]|0);e=(c[h>>2]|0)+((c[j>>2]|0)-1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}uf(b,c[i>>2]|0);uf(c[h>>2]|0,c[i>>2]|0);l=k;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[k>>2]=b;c[e>>2]=d;c[i>>2]=c[(c[g>>2]|0)+(c[e>>2]<<2)>>2];c[h>>2]=c[k>>2]<<4;if(8==(c[e>>2]|0)^1^1){k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+28>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+24>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+20>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+16>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+12>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+8>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+4>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[c[g>>2]>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);k=c[i>>2]|0;l=j;return k|0}c[f>>2]=(c[e>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;k=N(c[i>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0)+(k+((N(c[i>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[i>>2]=k+(N(c[i>>2]|0,(c[h>>2]>>15)+1>>1)|0);c[f>>2]=(c[f>>2]|0)+-1}k=c[i>>2]|0;l=j;return k|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[g>>2]=a;c[d>>2]=b;c[e>>2]=2;while(1){if((c[e>>2]|0)>(c[d>>2]|0))break;c[f>>2]=c[d>>2];while(1){b=c[g>>2]|0;if((c[f>>2]|0)<=(c[e>>2]|0))break;a=(c[g>>2]|0)+((c[f>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[b+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}a=(c[g>>2]|0)+((c[e>>2]|0)-2<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[b+(c[e>>2]<<2)>>2]<<1);c[e>>2]=(c[e>>2]|0)+1}l=h;return}function vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;m=t+44|0;i=t+40|0;q=t+36|0;p=t+32|0;u=t+28|0;o=t+24|0;h=t+20|0;n=t+16|0;j=t+12|0;k=t+8|0;r=t+4|0;s=t;c[m>>2]=a;c[i>>2]=d;c[q>>2]=e;c[p>>2]=f;c[u>>2]=g;c[h>>2]=c[u>>2]>>1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=b[(c[m>>2]|0)+(c[o>>2]<<1<<1)>>1]<<10;c[k>>2]=(c[n>>2]|0)-(c[c[i>>2]>>2]|0);u=N(c[k>>2]>>16,-24290<<16>>16)|0;c[j>>2]=(c[k>>2]|0)+(u+((N(c[k>>2]&65535,-24290<<16>>16)|0)>>16));c[r>>2]=(c[c[i>>2]>>2]|0)+(c[j>>2]|0);c[c[i>>2]>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[n>>2]=b[(c[m>>2]|0)+((c[o>>2]<<1)+1<<1)>>1]<<10;c[k>>2]=(c[n>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0);u=N(c[k>>2]>>16,10788<<16>>16)|0;c[j>>2]=u+((N(c[k>>2]&65535,10788<<16>>16)|0)>>16);c[s>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]|0);c[(c[i>>2]|0)+4>>2]=(c[n>>2]|0)+(c[j>>2]|0);if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)+(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[q>>2]|0)+(c[o>>2]<<1)>>1]=g;if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<=32767)if((((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1|0)<-32768)g=-32768;else g=((c[s>>2]|0)-(c[r>>2]|0)>>10)+1>>1;else g=32767;b[(c[p>>2]|0)+(c[o>>2]<<1)>>1]=g;c[o>>2]=(c[o>>2]|0)+1}l=t;return}function wf(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=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;x=l;l=l+64|0;q=x+52|0;o=x+48|0;y=x+44|0;p=x+40|0;u=x+36|0;t=x+32|0;w=x+28|0;s=x+24|0;r=x+20|0;k=x+16|0;j=x+12|0;n=x+8|0;m=x+4|0;v=x;c[q>>2]=a;c[o>>2]=d;c[y>>2]=e;c[p>>2]=f;c[u>>2]=g;c[t>>2]=h;c[w>>2]=i;c[j>>2]=0-(c[c[y>>2]>>2]|0)&16383;c[k>>2]=0-(c[c[y>>2]>>2]|0)>>14;c[m>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)&16383;c[n>>2]=0-(c[(c[y>>2]|0)+4>>2]|0)>>14;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;c[r>>2]=b[(c[q>>2]|0)+((N(c[s>>2]|0,c[w>>2]|0)|0)<<1)>>1];y=N(c[c[o>>2]>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;c[v>>2]=(c[c[p>>2]>>2]|0)+(y+((N(c[c[o>>2]>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16))<<2;y=N(c[v>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;y=(c[(c[p>>2]|0)+4>>2]|0)+((y+((N(c[v>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1)|0;c[c[p>>2]>>2]=y;y=N(c[v>>2]>>16,(c[k>>2]&65535)<<16>>16)|0;y=(c[c[p>>2]>>2]|0)+(y+((N(c[v>>2]&65535,(c[k>>2]&65535)<<16>>16)|0)>>16))|0;c[c[p>>2]>>2]=y;y=N(c[(c[o>>2]|0)+4>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;y=(c[c[p>>2]>>2]|0)+(y+((N(c[(c[o>>2]|0)+4>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16))|0;c[c[p>>2]>>2]=y;y=N(c[v>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;y=(y+((N(c[v>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16)>>13)+1>>1;c[(c[p>>2]|0)+4>>2]=y;y=N(c[v>>2]>>16,(c[n>>2]&65535)<<16>>16)|0;y=(c[(c[p>>2]|0)+4>>2]|0)+(y+((N(c[v>>2]&65535,(c[n>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[p>>2]|0)+4>>2]=y;y=N(c[(c[o>>2]|0)+8>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;y=(c[(c[p>>2]|0)+4>>2]|0)+(y+((N(c[(c[o>>2]|0)+8>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[p>>2]|0)+4>>2]=y;if(((c[v>>2]|0)+16384-1>>14|0)<=32767)if(((c[v>>2]|0)+16384-1>>14|0)<-32768)e=-32768;else e=(c[v>>2]|0)+16384-1>>14;else e=32767;b[(c[u>>2]|0)+((N(c[s>>2]|0,c[w>>2]|0)|0)<<1)>>1]=e;c[s>>2]=(c[s>>2]|0)+1}l=x;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;c[g>>2]=(c[f>>2]|0)-65536;c[i>>2]=0;while(1){d=c[f>>2]>>16;a=c[e>>2]|0;if((c[i>>2]|0)>=((c[h>>2]|0)-1|0))break;b=N(d,(c[a+(c[i>>2]<<2)>>2]&65535)<<16>>16)|0;b=b+((N(c[f>>2]&65535,(c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;b=b+(N(c[f>>2]|0,(c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=b;b=((N(c[f>>2]|0,c[g>>2]|0)|0)>>15)+1>>1;c[f>>2]=(c[f>>2]|0)+b;c[i>>2]=(c[i>>2]|0)+1}i=N(d,(c[a+((c[h>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;i=i+((N(c[f>>2]&65535,(c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(N(c[f>>2]|0,(c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[(c[e>>2]|0)+((c[h>>2]|0)-1<<2)>>2]=i;l=j;return}function yf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;i=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[i>>2]=d;c[g>>2]=e;c[h>>2]=(c[g>>2]|0)-65536;c[j>>2]=0;while(1){a=c[g>>2]|0;e=c[f>>2]|0;if((c[j>>2]|0)>=((c[i>>2]|0)-1|0))break;d=((N(a,b[e+(c[j>>2]<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+(c[j>>2]<<1)>>1]=d;d=((N(c[g>>2]|0,c[h>>2]|0)|0)>>15)+1>>1;c[g>>2]=(c[g>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}j=((N(a,b[e+((c[i>>2]|0)-1<<1)>>1]|0)|0)>>15)+1>>1&65535;b[(c[f>>2]|0)+((c[i>>2]|0)-1<<1)>>1]=j;l=k;return}function zf(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;j=u+36|0;n=u+38|0;t=u+32|0;i=u+28|0;s=u+24|0;p=u+20|0;o=u+16|0;r=u+12|0;q=u+8|0;m=u+4|0;k=u;b[j>>1]=d;a[n>>0]=e;c[t>>2]=f;c[i>>2]=g;c[s>>2]=h;g=(c[s>>2]|0)==4;do if((c[i>>2]|0)==8)if(g){c[k>>2]=30282;c[m>>2]=11;break}else{c[k>>2]=30248;c[m>>2]=3;break}else if(g){c[k>>2]=30326;c[m>>2]=34;break}else{c[k>>2]=30254;c[m>>2]=12;break}while(0);c[r>>2]=(c[i>>2]&65535)<<16>>16<<1;c[q>>2]=((c[i>>2]&65535)<<16>>16)*18;c[p>>2]=(c[r>>2]|0)+(b[j>>1]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;g=N(c[o>>2]|0,c[m>>2]|0)|0;c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]=(c[p>>2]|0)+(a[(c[k>>2]|0)+(g+(a[n>>0]|0))>>0]|0);g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;do if((c[r>>2]|0)>(c[q>>2]|0)){if((g|0)>(c[r>>2]|0)){g=c[r>>2]|0;break}if((c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0)<(c[q>>2]|0)){g=c[q>>2]|0;break}else{g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;break}}else{if((g|0)>(c[q>>2]|0)){g=c[q>>2]|0;break}if((c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0)<(c[r>>2]|0)){g=c[r>>2]|0;break}else{g=c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]|0;break}}while(0);c[(c[t>>2]|0)+(c[o>>2]<<2)>>2]=g;c[o>>2]=(c[o>>2]|0)+1}l=u;return}function Af(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;k=n+12|0;j=n+8|0;g=n+4|0;m=n;c[h>>2]=a;c[i>>2]=d;c[k>>2]=e;c[j>>2]=f;c[m>>2]=0;c[g>>2]=0;while(1){a=c[m>>2]|0;if((c[g>>2]|0)>=(c[j>>2]|0))break;e=N(b[(c[h>>2]|0)+(c[g>>2]<<1)>>1]|0,b[(c[i>>2]|0)+(c[g>>2]<<1)>>1]|0)|0;c[m>>2]=a+(e>>c[k>>2]);c[g>>2]=(c[g>>2]|0)+1}l=n;return a|0}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;Cf(c[f>>2]|0,e,d);a=((N(c[d>>2]|0,128-(c[d>>2]|0)|0)|0)>>16)*179|0;a=(31-(c[e>>2]|0)<<7)+((c[d>>2]|0)+(a+(((N(c[d>>2]|0,128-(c[d>>2]|0)|0)|0)&65535)*179>>16)))|0;l=b;return a|0}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Df(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Ef(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Df(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[e>>2]=a;if((c[e>>2]|0)<0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}if((c[e>>2]|0)>=3967){c[g>>2]=2147483647;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=1<<(c[e>>2]>>7);c[d>>2]=c[e>>2]&127;a=c[f>>2]|0;b=c[f>>2]|0;if((c[e>>2]|0)<2048){e=N((N((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+((N(b,(c[d>>2]|0)+(e+((N((N((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)>>7)}else{e=N((N((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)>>16,-174)|0;c[f>>2]=a+(N(b>>7,(c[d>>2]|0)+(e+((N((N((c[d>>2]&65535)<<16>>16,(128-(c[d>>2]|0)&65535)<<16>>16)|0)&65535,-174)|0)>>16))|0)|0)}c[g>>2]=c[f>>2];g=c[g>>2]|0;l=h;return g|0}function Gf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;k=t+36|0;i=t+32|0;p=t+28|0;j=t+24|0;o=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;m=t;c[q>>2]=a;c[k>>2]=d;c[i>>2]=e;c[p>>2]=f;c[j>>2]=g;c[t+20>>2]=h;c[n>>2]=c[j>>2];while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;c[m>>2]=(c[k>>2]|0)+((c[n>>2]|0)-1<<1);c[s>>2]=N(b[c[m>>2]>>1]|0,b[c[i>>2]>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+-2>>1]|0,b[(c[i>>2]|0)+2>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+-4>>1]|0,b[(c[i>>2]|0)+4>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+-6>>1]|0,b[(c[i>>2]|0)+6>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+-8>>1]|0,b[(c[i>>2]|0)+8>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+-10>>1]|0,b[(c[i>>2]|0)+10>>1]|0)|0);c[o>>2]=6;while(1){if((c[o>>2]|0)>=(c[j>>2]|0))break;c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+(0-(c[o>>2]|0)<<1)>>1]|0,b[(c[i>>2]|0)+(c[o>>2]<<1)>>1]|0)|0);c[s>>2]=(c[s>>2]|0)+(N(b[(c[m>>2]|0)+(0-(c[o>>2]|0)-1<<1)>>1]|0,b[(c[i>>2]|0)+((c[o>>2]|0)+1<<1)>>1]|0)|0);c[o>>2]=(c[o>>2]|0)+2}c[s>>2]=(b[(c[m>>2]|0)+2>>1]<<12)-(c[s>>2]|0);c[r>>2]=(c[s>>2]>>11)+1>>1;if((c[r>>2]|0)>32767)e=32767;else e=(c[r>>2]|0)<-32768?-32768:c[r>>2]|0;b[(c[q>>2]|0)+(c[n>>2]<<1)>>1]=e;c[n>>2]=(c[n>>2]|0)+1}aj(c[q>>2]|0,0,c[j>>2]<<1|0)|0;l=t;return}function Hf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+160|0;k=m+148|0;e=m+144|0;j=m+140|0;i=m+136|0;g=m+8|0;f=m+4|0;h=m;c[e>>2]=a;c[j>>2]=d;c[h>>2]=0;c[f>>2]=g+((c[j>>2]&1)<<6);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(b[(c[e>>2]|0)+(c[i>>2]<<1)>>1]|0);c[(c[f>>2]|0)+(c[i>>2]<<2)>>2]=b[(c[e>>2]|0)+(c[i>>2]<<1)>>1]<<12;c[i>>2]=(c[i>>2]|0)+1}if((c[h>>2]|0)>=4096){c[k>>2]=0;k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=If(g,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;o=r+48|0;d=r+44|0;s=r+40|0;h=r+36|0;j=r+32|0;i=r+28|0;g=r+24|0;k=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;f=r+4|0;e=r;c[d>>2]=a;c[s>>2]=b;c[e>>2]=(c[d>>2]|0)+((c[s>>2]&1)<<6);c[g>>2]=1073741824;c[h>>2]=(c[s>>2]|0)-1;while(1){a=c[e>>2]|0;if((c[h>>2]|0)<=0)break;if((c[a+(c[h>>2]<<2)>>2]|0)>16773022){q=5;break}if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)<-16773022){q=5;break}c[k>>2]=0-(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]<<7);s=c[k>>2]|0;b=c[k>>2]|0;b=Xi(s|0,((s|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Yi(b|0,y|0,32)|0;c[m>>2]=1073741824-b;b=c[m>>2]|0;c[i>>2]=32-(Jf((c[m>>2]|0)>0?b:0-b|0)|0);c[n>>2]=Kf(c[m>>2]|0,(c[i>>2]|0)+30|0)|0;b=c[g>>2]|0;s=c[m>>2]|0;s=Xi(b|0,((b|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,32)|0;c[g>>2]=s<<2;c[f>>2]=c[e>>2];c[e>>2]=(c[d>>2]|0)+((c[h>>2]&1)<<6);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;b=c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0;a=c[(c[f>>2]|0)+((c[h>>2]|0)-(c[j>>2]|0)-1<<2)>>2]|0;s=c[k>>2]|0;s=Xi(a|0,((a|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,30)|0;s=Zi(s|0,y|0,1,0)|0;s=Yi(s|0,y|0,1)|0;c[p>>2]=b-s;s=(c[i>>2]|0)==1;b=c[p>>2]|0;a=c[n>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;b=y;if(s){b=Yi(a|0,b|0,1)|0;s=y;t=c[p>>2]|0;a=c[n>>2]|0;a=Xi(t|0,((t|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zi(b|0,s|0,a&1|0,0)|0}else{a=Yi(a|0,b|0,(c[i>>2]|0)-1|0)|0;a=Zi(a|0,y|0,1,0)|0;a=Yi(a|0,y|0,1)|0}c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=a;c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+-1}if((q|0)==5){c[o>>2]=0;t=c[o>>2]|0;l=r;return t|0}if((c[a>>2]|0)<=16773022?(c[c[e>>2]>>2]|0)>=-16773022:0){c[k>>2]=0-(c[c[e>>2]>>2]<<7);t=c[k>>2]|0;s=c[k>>2]|0;s=Xi(t|0,((t|0)<0)<<31>>31|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Yi(s|0,y|0,32)|0;c[m>>2]=1073741824-s;s=c[g>>2]|0;t=c[m>>2]|0;t=Xi(s|0,((s|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=Yi(t|0,y|0,32)|0;c[g>>2]=t<<2;c[o>>2]=c[g>>2];t=c[o>>2]|0;l=r;return t|0}c[o>>2]=0;t=c[o>>2]|0;l=r;return t|0}function Jf(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(Jf((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function Lf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=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;C=l;l=l+272|0;y=C+264|0;g=C+260|0;z=C+256|0;v=C+252|0;B=C+248|0;A=C+244|0;p=C+240|0;n=C+176|0;h=C+140|0;j=C+104|0;i=C+100|0;k=C+96|0;s=C+92|0;r=C+88|0;o=C+84|0;q=C+80|0;x=C+16|0;u=C+12|0;m=C+8|0;t=C+4|0;w=C;c[y>>2]=a;c[g>>2]=e;c[z>>2]=f;c[t>>2]=0;c[v>>2]=(c[z>>2]|0)==16?30222:30238;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=b[(c[g>>2]|0)+(c[B>>2]<<1)>>1]>>8;c[r>>2]=(b[(c[g>>2]|0)+(c[B>>2]<<1)>>1]|0)-(c[s>>2]<<8);c[o>>2]=b[24572+(c[s>>2]<<1)>>1];c[q>>2]=(b[24572+((c[s>>2]|0)+1<<1)>>1]|0)-(c[o>>2]|0);f=((c[o>>2]<<8)+(N(c[q>>2]|0,c[r>>2]|0)|0)>>3)+1>>1;c[n+(d[(c[v>>2]|0)+(c[B>>2]|0)>>0]<<2)>>2]=f;c[B>>2]=(c[B>>2]|0)+1}c[p>>2]=c[z>>2]>>1;Mf(h,n,c[p>>2]|0);Mf(j,n+4|0,c[p>>2]|0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[p>>2]|0))break;c[i>>2]=(c[h+((c[B>>2]|0)+1<<2)>>2]|0)+(c[h+(c[B>>2]<<2)>>2]|0);c[k>>2]=(c[j+((c[B>>2]|0)+1<<2)>>2]|0)-(c[j+(c[B>>2]<<2)>>2]|0);c[x+(c[B>>2]<<2)>>2]=0-(c[k>>2]|0)-(c[i>>2]|0);c[x+((c[z>>2]|0)-(c[B>>2]|0)-1<<2)>>2]=(c[k>>2]|0)-(c[i>>2]|0);c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=10)break;c[u>>2]=0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[z>>2]|0))break;v=c[x+(c[B>>2]<<2)>>2]|0;c[m>>2]=(c[x+(c[B>>2]<<2)>>2]|0)>0?v:0-v|0;if((c[m>>2]|0)>(c[u>>2]|0)){c[u>>2]=c[m>>2];c[t>>2]=c[B>>2]}c[B>>2]=(c[B>>2]|0)+1}c[u>>2]=(c[u>>2]>>4)+1>>1;if((c[u>>2]|0)<=32767)break;c[u>>2]=(c[u>>2]|0)<163838?c[u>>2]|0:163838;c[w>>2]=65470-(((c[u>>2]|0)-32767<<14|0)/((N(c[u>>2]|0,(c[t>>2]|0)+1|0)|0)>>2|0)|0);xf(x,c[z>>2]|0,c[w>>2]|0);c[A>>2]=(c[A>>2]|0)+1}w=(c[A>>2]|0)==10;c[B>>2]=0;a:do if(w)while(1){if((c[B>>2]|0)>=(c[z>>2]|0))break a;if(((c[x+(c[B>>2]<<2)>>2]>>4)+1>>1|0)<=32767)if(((c[x+(c[B>>2]<<2)>>2]>>4)+1>>1|0)<-32768)e=-32768;else e=(c[x+(c[B>>2]<<2)>>2]>>4)+1>>1;else e=32767;b[(c[y>>2]|0)+(c[B>>2]<<1)>>1]=e;c[x+(c[B>>2]<<2)>>2]=b[(c[y>>2]|0)+(c[B>>2]<<1)>>1]<<5;c[B>>2]=(c[B>>2]|0)+1}else while(1){if((c[B>>2]|0)>=(c[z>>2]|0))break a;b[(c[y>>2]|0)+(c[B>>2]<<1)>>1]=(c[x+(c[B>>2]<<2)>>2]>>4)+1>>1;c[B>>2]=(c[B>>2]|0)+1}while(0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=16){e=31;break}if((Hf(c[y>>2]|0,c[z>>2]|0)|0)>=107374){e=31;break}xf(x,c[z>>2]|0,65536-(2<>2])|0);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[z>>2]|0))break;b[(c[y>>2]|0)+(c[B>>2]<<1)>>1]=(c[x+(c[B>>2]<<2)>>2]>>4)+1>>1;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}if((e|0)==31){l=C;return}}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;i=k+4|0;g=k;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[c[j>>2]>>2]=65536;c[(c[j>>2]|0)+4>>2]=0-(c[c[e>>2]>>2]|0);c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+(c[h>>2]<<1<<2)>>2];d=c[(c[j>>2]|0)+((c[h>>2]|0)-1<<2)>>2]<<1;b=c[g>>2]|0;a=c[(c[j>>2]|0)+(c[h>>2]<<2)>>2]|0;a=Xi(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Yi(a|0,y|0,15)|0;a=Zi(a|0,y|0,1,0)|0;a=Yi(a|0,y|0,1)|0;c[(c[j>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=d-a;c[i>>2]=c[h>>2];while(1){if((c[i>>2]|0)<=1)break;b=c[(c[j>>2]|0)+((c[i>>2]|0)-2<<2)>>2]|0;a=c[g>>2]|0;d=c[(c[j>>2]|0)+((c[i>>2]|0)-1<<2)>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,15)|0;d=Zi(d|0,y|0,1,0)|0;d=Yi(d|0,y|0,1)|0;a=(c[j>>2]|0)+(c[i>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(b-d);c[i>>2]=(c[i>>2]|0)+-1}a=(c[j>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}l=k;return}function Nf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;r=t+40|0;q=t+36|0;p=t+32|0;s=t+28|0;f=t+24|0;i=t+20|0;j=t+16|0;g=t+44|0;h=t+12|0;n=t+8|0;m=t+4|0;k=t;c[r>>2]=a;c[q>>2]=d;c[p>>2]=e;c[f>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=20)break;c[n>>2]=(b[c[r>>2]>>1]|0)-(b[c[q>>2]>>1]|0);c[f>>2]=0;c[s>>2]=1;while(1){e=c[r>>2]|0;if((c[s>>2]|0)>((c[p>>2]|0)-1|0))break;c[h>>2]=(b[e+(c[s>>2]<<1)>>1]|0)-((b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0));if((c[h>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[h>>2];c[f>>2]=c[s>>2]}c[s>>2]=(c[s>>2]|0)+1}c[h>>2]=32768-((b[e+((c[p>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0));if((c[h>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[h>>2];c[f>>2]=c[p>>2]}if((c[n>>2]|0)>=0){o=42;break}if(!(c[f>>2]|0))b[c[r>>2]>>1]=b[c[q>>2]>>1]|0;else{if((c[f>>2]|0)==(c[p>>2]|0)){e=(c[r>>2]|0)+((c[p>>2]|0)-1<<1)|0;d=32768-(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)&65535}else{c[m>>2]=0;c[i>>2]=0;while(1){e=c[q>>2]|0;if((c[i>>2]|0)>=(c[f>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(b[e+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+(b[e+(c[f>>2]<<1)>>1]>>1);c[k>>2]=32768;c[i>>2]=c[p>>2];while(1){e=c[q>>2]|0;if((c[i>>2]|0)<=(c[f>>2]|0))break;c[k>>2]=(c[k>>2]|0)-(b[e+(c[i>>2]<<1)>>1]|0);c[i>>2]=(c[i>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)-(b[e+(c[f>>2]<<1)>>1]>>1);e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;do if((c[m>>2]|0)>(c[k>>2]|0)){if((e|0)>(c[m>>2]|0)){e=c[m>>2]|0;break}if((((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0)<(c[k>>2]|0)){e=c[k>>2]|0;break}else{e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;break}}else{if((e|0)>(c[k>>2]|0)){e=c[k>>2]|0;break}if((((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0)<(c[m>>2]|0)){e=c[m>>2]|0;break}else{e=((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)>>1)+((b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[r>>2]|0)+(c[f>>2]<<1)>>1]|0)&1)|0;break}}while(0);b[g>>1]=e;b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]=(b[g>>1]|0)-(b[(c[q>>2]|0)+(c[f>>2]<<1)>>1]>>1);e=(c[r>>2]|0)+(c[f>>2]<<1)|0;d=(b[(c[r>>2]|0)+((c[f>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[f>>2]<<1)>>1]|0)&65535}b[e>>1]=d}c[j>>2]=(c[j>>2]|0)+1}if((o|0)==42){l=t;return}if((c[j>>2]|0)!=20){l=t;return}eg(c[r>>2]|0,c[p>>2]|0);o=(Of(b[c[r>>2]>>1]|0,b[c[q>>2]>>1]|0)|0)&65535;b[c[r>>2]>>1]=o;c[s>>2]=1;while(1){e=c[r>>2]|0;if((c[s>>2]|0)>=(c[p>>2]|0))break;o=(Of(b[e+(c[s>>2]<<1)>>1]|0,(b[(c[r>>2]|0)+((c[s>>2]|0)-1<<1)>>1]|0)+(b[(c[q>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]=o;c[s>>2]=(c[s>>2]|0)+1}o=(Pf(b[e+((c[p>>2]|0)-1<<1)>>1]|0,32768-(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)|0)|0)&65535;b[(c[r>>2]|0)+((c[p>>2]|0)-1<<1)>>1]=o;c[s>>2]=(c[p>>2]|0)-2;while(1){if((c[s>>2]|0)<0)break;p=(Pf(b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]|0,(b[(c[r>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)-(b[(c[q>>2]|0)+((c[s>>2]|0)+1<<1)>>1]|0)|0)|0)&65535;b[(c[r>>2]|0)+(c[s>>2]<<1)>>1]=p;c[s>>2]=(c[s>>2]|0)+-1}l=t;return}function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Qf(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+20|0;i=m+16|0;f=m+12|0;g=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=d;c[f>>2]=e;c[j>>2]=Rf(b[c[i>>2]>>1]|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;c[k>>2]=Rf((b[(c[i>>2]|0)+2>>1]|0)-(b[c[i>>2]>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;d=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[c[h>>2]>>1]=d;c[g>>2]=1;while(1){e=c[i>>2]|0;if((c[g>>2]|0)>=((c[f>>2]|0)-1|0))break;c[j>>2]=Rf((b[e+((c[g>>2]|0)+1<<1)>>1]|0)-(b[(c[i>>2]|0)+(c[g>>2]<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;d=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+(c[g>>2]<<1)>>1]=d;c[k>>2]=Rf((b[(c[i>>2]|0)+((c[g>>2]|0)+2<<1)>>1]|0)-(b[(c[i>>2]|0)+((c[g>>2]|0)+1<<1)>>1]|0)|0,1)|0;c[k>>2]=131072/(c[k>>2]|0)|0;d=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+((c[g>>2]|0)+1<<1)>>1]=d;c[g>>2]=(c[g>>2]|0)+2}c[j>>2]=Rf(32768-(b[e+((c[f>>2]|0)-1<<1)>>1]|0)|0,1)|0;c[j>>2]=131072/(c[j>>2]|0)|0;k=(Sf((c[j>>2]|0)+(c[k>>2]|0)|0,32767)|0)&65535;b[(c[h>>2]|0)+((c[f>>2]|0)-1<<1)>>1]=k;l=m;return}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Tf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+20|0;i=m+16|0;g=m+12|0;h=m+8|0;n=m+4|0;k=m;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;c[n>>2]=f;aj(c[i>>2]|0,0,300)|0;d=(c[g>>2]|0)!=8e3&(c[g>>2]|0)!=12e3&(c[g>>2]|0)!=16e3;do if(c[n>>2]|0){if(!(d&(c[g>>2]|0)!=24e3&(c[g>>2]|0)!=48e3)?!((c[h>>2]|0)!=8e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=16e3):0){d=c[i>>2]|0;e=a[30489+((((c[g>>2]>>12)-((c[g>>2]|0)>16e3&1)>>((c[g>>2]|0)>24e3&1))-1|0)*3|0)+(((c[h>>2]>>12)-((c[h>>2]|0)>16e3&1)>>((c[h>>2]|0)>24e3&1))-1)>>0]|0;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}else{if(!d?!((c[h>>2]|0)!=8e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=16e3&(c[h>>2]|0)!=24e3&(c[h>>2]|0)!=48e3):0){d=c[i>>2]|0;e=a[30504+((((c[g>>2]>>12)-((c[g>>2]|0)>16e3&1)>>((c[g>>2]|0)>24e3&1))-1|0)*5|0)+(((c[h>>2]>>12)-((c[h>>2]|0)>16e3&1)>>((c[h>>2]|0)>24e3&1))-1)>>0]|0;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}while(0);c[d+292>>2]=e;c[(c[i>>2]|0)+284>>2]=(c[g>>2]|0)/1e3|0;c[(c[i>>2]|0)+288>>2]=(c[h>>2]|0)/1e3|0;c[(c[i>>2]|0)+268>>2]=(c[(c[i>>2]|0)+284>>2]|0)*10;c[k>>2]=0;e=c[h>>2]|0;b=c[g>>2]|0;do if((c[h>>2]|0)>(c[g>>2]|0)){d=(c[i>>2]|0)+264|0;if((e|0)==(b<<1|0)){c[d>>2]=1;break}else{c[d>>2]=2;c[k>>2]=1;break}}else{d=(c[i>>2]|0)+264|0;if((e|0)>=(b|0)){c[d>>2]=0;break}c[d>>2]=3;if((c[h>>2]<<2|0)==((c[g>>2]|0)*3|0)){c[(c[i>>2]|0)+280>>2]=3;c[(c[i>>2]|0)+276>>2]=18;c[(c[i>>2]|0)+296>>2]=24842;break}if(((c[h>>2]|0)*3|0)==(c[g>>2]<<1|0)){c[(c[i>>2]|0)+280>>2]=2;c[(c[i>>2]|0)+276>>2]=18;c[(c[i>>2]|0)+296>>2]=24900;break}if((c[h>>2]<<1|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=24;c[(c[i>>2]|0)+296>>2]=24940;break}if(((c[h>>2]|0)*3|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=24968;break}if((c[h>>2]<<2|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=25008;break}if(((c[h>>2]|0)*6|0)==(c[g>>2]|0)){c[(c[i>>2]|0)+280>>2]=1;c[(c[i>>2]|0)+276>>2]=36;c[(c[i>>2]|0)+296>>2]=25048;break}c[j>>2]=-1;n=c[j>>2]|0;l=m;return n|0}while(0);c[(c[i>>2]|0)+272>>2]=((c[g>>2]<<14+(c[k>>2]|0)|0)/(c[h>>2]|0)|0)<<2;while(1){n=N(c[(c[i>>2]|0)+272>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;n=n+((N(c[(c[i>>2]|0)+272>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[(c[i>>2]|0)+272>>2]|0,(c[h>>2]>>15)+1>>1)|0)|0;if((n|0)>=(c[g>>2]<>2]|0))break;n=(c[i>>2]|0)+272|0;c[n>>2]=(c[n>>2]|0)+1}c[j>>2]=0;n=c[j>>2]|0;l=m;return n|0}function Uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;j=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=(c[(c[f>>2]|0)+284>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0);_i((c[f>>2]|0)+168+(c[(c[f>>2]|0)+292>>2]<<1)|0,c[g>>2]|0,c[i>>2]<<1|0)|0;switch(c[(c[f>>2]|0)+264>>2]|0){case 1:{bg(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);bg(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 2:{_f(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);_f(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}case 3:{Yf(c[f>>2]|0,c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]|0);Yf(c[f>>2]|0,(c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)|0);break}default:{_i(c[j>>2]|0,(c[f>>2]|0)+168|0,c[(c[f>>2]|0)+284>>2]<<1|0)|0;_i((c[j>>2]|0)+(c[(c[f>>2]|0)+288>>2]<<1)|0,(c[g>>2]|0)+(c[i>>2]<<1)|0,(c[h>>2]|0)-(c[(c[f>>2]|0)+284>>2]|0)<<1|0)|0}}_i((c[f>>2]|0)+168|0,(c[g>>2]|0)+((c[h>>2]|0)-(c[(c[f>>2]|0)+292>>2]|0)<<1)|0,c[(c[f>>2]|0)+292>>2]<<1|0)|0;l=k;return 0}function Vf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1968|0;g=q+1964|0;o=q+1960|0;k=q+1956|0;m=q+1952|0;n=q+1948|0;j=q+1944|0;p=q+1940|0;i=q+1936|0;h=q;c[g>>2]=a;c[o>>2]=d;c[k>>2]=e;c[m>>2]=f;d=c[g>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];while(1){c[n>>2]=(c[m>>2]|0)<480?c[m>>2]|0:480;Xf((c[g>>2]|0)+16|0,h+16|0,c[k>>2]|0,25088,c[n>>2]|0);c[i>>2]=h;c[j>>2]=c[n>>2];while(1){if((c[j>>2]|0)<=2)break;d=N(c[c[i>>2]>>2]>>16,b[12546]|0)|0;c[p>>2]=d+((N(c[c[i>>2]>>2]&65535,b[12546]|0)|0)>>16);d=N(c[(c[i>>2]|0)+4>>2]>>16,b[12547]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+4>>2]&65535,b[12547]|0)|0)>>16));d=N(c[(c[i>>2]|0)+8>>2]>>16,b[12549]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+8>>2]&65535,b[12549]|0)|0)>>16));d=N(c[(c[i>>2]|0)+12>>2]>>16,b[12548]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+12>>2]&65535,b[12548]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[o>>2]|0;c[o>>2]=d+2;b[d>>1]=a;d=N(c[(c[i>>2]|0)+4>>2]>>16,b[12548]|0)|0;c[p>>2]=d+((N(c[(c[i>>2]|0)+4>>2]&65535,b[12548]|0)|0)>>16);d=N(c[(c[i>>2]|0)+8>>2]>>16,b[12549]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+8>>2]&65535,b[12549]|0)|0)>>16));d=N(c[(c[i>>2]|0)+12>>2]>>16,b[12547]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+12>>2]&65535,b[12547]|0)|0)>>16));d=N(c[(c[i>>2]|0)+16>>2]>>16,b[12546]|0)|0;c[p>>2]=(c[p>>2]|0)+(d+((N(c[(c[i>>2]|0)+16>>2]&65535,b[12546]|0)|0)>>16));if(((c[p>>2]>>5)+1>>1|0)<=32767)if(((c[p>>2]>>5)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>5)+1>>1;else a=32767;d=c[o>>2]|0;c[o>>2]=d+2;b[d>>1]=a;c[i>>2]=(c[i>>2]|0)+12;c[j>>2]=(c[j>>2]|0)-3}c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<1);c[m>>2]=(c[m>>2]|0)-(c[n>>2]|0);if((c[m>>2]|0)<=0)break;d=h+(c[n>>2]<<2)|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}p=c[g>>2]|0;o=h+(c[n>>2]<<2)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];l=q;return}function Wf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;g=q+36|0;o=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;n=q+16|0;k=q+12|0;p=q+8|0;i=q+4|0;h=q;c[g>>2]=a;c[o>>2]=d;c[j>>2]=e;c[r>>2]=f;c[n>>2]=c[r>>2]>>1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[k>>2]=b[(c[j>>2]|0)+(c[m>>2]<<1<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[c[g>>2]>>2]|0);r=N(c[i>>2]>>16,-25727)|0;c[h>>2]=(c[i>>2]|0)+(r+((N(c[i>>2]&65535,-25727)|0)>>16));c[p>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]|0);c[c[g>>2]>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[k>>2]=b[(c[j>>2]|0)+((c[m>>2]<<1)+1<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);c[h>>2]=((c[i>>2]>>16)*9872|0)+((c[i>>2]&65535)*9872>>16);c[p>>2]=(c[p>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[k>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>10)+1>>1|0)<=32767)if(((c[p>>2]>>10)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>10)+1>>1;else a=32767;b[(c[o>>2]|0)+(c[m>>2]<<1)>>1]=a;c[m>>2]=(c[m>>2]|0)+1}l=q;return}function Xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;o=p+20|0;j=p+16|0;h=p+12|0;m=p+8|0;k=p+4|0;n=p;c[i>>2]=a;c[o>>2]=d;c[j>>2]=e;c[h>>2]=f;c[m>>2]=g;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=(c[c[i>>2]>>2]|0)+(b[(c[j>>2]|0)+(c[k>>2]<<1)>>1]<<8);c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]=c[n>>2];c[n>>2]=c[n>>2]<<2;d=N(c[n>>2]>>16,b[c[h>>2]>>1]|0)|0;d=(c[(c[i>>2]|0)+4>>2]|0)+(d+((N(c[n>>2]&65535,b[c[h>>2]>>1]|0)|0)>>16))|0;c[c[i>>2]>>2]=d;d=N(c[n>>2]>>16,b[(c[h>>2]|0)+2>>1]|0)|0;d=d+((N(c[n>>2]&65535,b[(c[h>>2]|0)+2>>1]|0)|0)>>16)|0;c[(c[i>>2]|0)+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}l=p;return}function Yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+36|0;n=p+32|0;h=p+28|0;i=p+24|0;g=p+20|0;m=p+16|0;k=p+12|0;j=p+8|0;f=p+4|0;o=p;c[q>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;c[g>>2]=c[q>>2];b=(c[(c[g>>2]|0)+268>>2]|0)+(c[(c[g>>2]|0)+276>>2]|0)|0;c[o>>2]=$()|0;d=l;l=l+((1*(b<<2)|0)+15&-16)|0;_i(d|0,(c[g>>2]|0)+24|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0;c[f>>2]=(c[(c[g>>2]|0)+296>>2]|0)+4;c[j>>2]=c[(c[g>>2]|0)+272>>2];while(1){if((c[i>>2]|0)<(c[(c[g>>2]|0)+268>>2]|0))a=c[i>>2]|0;else a=c[(c[g>>2]|0)+268>>2]|0;c[m>>2]=a;Xf(c[g>>2]|0,d+(c[(c[g>>2]|0)+276>>2]<<2)|0,c[h>>2]|0,c[(c[g>>2]|0)+296>>2]|0,c[m>>2]|0);c[k>>2]=c[m>>2]<<16;c[n>>2]=Zf(c[n>>2]|0,d,c[f>>2]|0,c[(c[g>>2]|0)+276>>2]|0,c[(c[g>>2]|0)+280>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);if((c[i>>2]|0)<=1)break;_i(d|0,d+(c[m>>2]<<2)|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0}_i((c[g>>2]|0)+24|0,d+(c[m>>2]<<2)|0,c[(c[g>>2]|0)+276>>2]<<2|0)|0;_(c[o>>2]|0);l=p;return}function Zf(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;t=v+44|0;o=v+40|0;n=v+36|0;w=v+32|0;j=v+28|0;s=v+24|0;r=v+20|0;q=v+16|0;u=v+12|0;p=v+8|0;k=v+4|0;m=v;c[t>>2]=a;c[o>>2]=d;c[n>>2]=e;c[w>>2]=f;c[j>>2]=g;c[s>>2]=h;c[r>>2]=i;switch(c[w>>2]|0){case 18:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=N((c[q>>2]&65535)>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=w+((N(c[q>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16);c[m>>2]=(c[n>>2]|0)+((c[k>>2]|0)*9<<1);w=N(c[c[p>>2]>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=w+((N(c[c[p>>2]>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16);w=N(c[(c[p>>2]|0)+4>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+4>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+8>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+8>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+12>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+12>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+16>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+16>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+20>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+20>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+24>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+24>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+28>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+28>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+32>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+32>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));c[m>>2]=(c[n>>2]|0)+(((c[j>>2]|0)-1-(c[k>>2]|0)|0)*9<<1);w=N(c[(c[p>>2]|0)+68>>2]>>16,b[c[m>>2]>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+68>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+64>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+64>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+60>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+60>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+56>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+56>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+52>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+52>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+48>>2]>>16,b[(c[m>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+48>>2]&65535,b[(c[m>>2]|0)+10>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+44>>2]>>16,b[(c[m>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+44>>2]&65535,b[(c[m>>2]|0)+12>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+40>>2]>>16,b[(c[m>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+40>>2]&65535,b[(c[m>>2]|0)+14>>1]|0)|0)>>16));w=N(c[(c[p>>2]|0)+36>>2]>>16,b[(c[m>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N(c[(c[p>>2]|0)+36>>2]&65535,b[(c[m>>2]|0)+16>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}case 24:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=N((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)>>16,b[c[n>>2]>>1]|0)|0;c[u>>2]=w+((N((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)&65535,b[c[n>>2]>>1]|0)|0)>>16);w=N((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)>>16,b[(c[n>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)&65535,b[(c[n>>2]|0)+10>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+68>>2]|0)>>16,b[(c[n>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+68>>2]|0)&65535,b[(c[n>>2]|0)+12>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+64>>2]|0)>>16,b[(c[n>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+64>>2]|0)&65535,b[(c[n>>2]|0)+14>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+60>>2]|0)>>16,b[(c[n>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+60>>2]|0)&65535,b[(c[n>>2]|0)+16>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+56>>2]|0)>>16,b[(c[n>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+56>>2]|0)&65535,b[(c[n>>2]|0)+18>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+52>>2]|0)>>16,b[(c[n>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+52>>2]|0)&65535,b[(c[n>>2]|0)+20>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0)>>16,b[(c[n>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0)&65535,b[(c[n>>2]|0)+22>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}case 36:{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=(c[o>>2]|0)+(c[q>>2]>>16<<2);w=N((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+140>>2]|0)>>16,b[c[n>>2]>>1]|0)|0;c[u>>2]=w+((N((c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+140>>2]|0)&65535,b[c[n>>2]>>1]|0)|0)>>16);w=N((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+136>>2]|0)>>16,b[(c[n>>2]|0)+2>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+4>>2]|0)+(c[(c[p>>2]|0)+136>>2]|0)&65535,b[(c[n>>2]|0)+2>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+132>>2]|0)>>16,b[(c[n>>2]|0)+4>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+8>>2]|0)+(c[(c[p>>2]|0)+132>>2]|0)&65535,b[(c[n>>2]|0)+4>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+128>>2]|0)>>16,b[(c[n>>2]|0)+6>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+128>>2]|0)&65535,b[(c[n>>2]|0)+6>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+124>>2]|0)>>16,b[(c[n>>2]|0)+8>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+124>>2]|0)&65535,b[(c[n>>2]|0)+8>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+120>>2]|0)>>16,b[(c[n>>2]|0)+10>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+20>>2]|0)+(c[(c[p>>2]|0)+120>>2]|0)&65535,b[(c[n>>2]|0)+10>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+116>>2]|0)>>16,b[(c[n>>2]|0)+12>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+24>>2]|0)+(c[(c[p>>2]|0)+116>>2]|0)&65535,b[(c[n>>2]|0)+12>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+112>>2]|0)>>16,b[(c[n>>2]|0)+14>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+28>>2]|0)+(c[(c[p>>2]|0)+112>>2]|0)&65535,b[(c[n>>2]|0)+14>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+108>>2]|0)>>16,b[(c[n>>2]|0)+16>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+32>>2]|0)+(c[(c[p>>2]|0)+108>>2]|0)&65535,b[(c[n>>2]|0)+16>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+104>>2]|0)>>16,b[(c[n>>2]|0)+18>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+36>>2]|0)+(c[(c[p>>2]|0)+104>>2]|0)&65535,b[(c[n>>2]|0)+18>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+100>>2]|0)>>16,b[(c[n>>2]|0)+20>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+40>>2]|0)+(c[(c[p>>2]|0)+100>>2]|0)&65535,b[(c[n>>2]|0)+20>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+96>>2]|0)>>16,b[(c[n>>2]|0)+22>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+44>>2]|0)+(c[(c[p>>2]|0)+96>>2]|0)&65535,b[(c[n>>2]|0)+22>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+48>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)>>16,b[(c[n>>2]|0)+24>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+48>>2]|0)+(c[(c[p>>2]|0)+92>>2]|0)&65535,b[(c[n>>2]|0)+24>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+52>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)>>16,b[(c[n>>2]|0)+26>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+52>>2]|0)+(c[(c[p>>2]|0)+88>>2]|0)&65535,b[(c[n>>2]|0)+26>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)>>16,b[(c[n>>2]|0)+28>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+56>>2]|0)+(c[(c[p>>2]|0)+84>>2]|0)&65535,b[(c[n>>2]|0)+28>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+60>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)>>16,b[(c[n>>2]|0)+30>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+60>>2]|0)+(c[(c[p>>2]|0)+80>>2]|0)&65535,b[(c[n>>2]|0)+30>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+64>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)>>16,b[(c[n>>2]|0)+32>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+64>>2]|0)+(c[(c[p>>2]|0)+76>>2]|0)&65535,b[(c[n>>2]|0)+32>>1]|0)|0)>>16));w=N((c[(c[p>>2]|0)+68>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)>>16,b[(c[n>>2]|0)+34>>1]|0)|0;c[u>>2]=(c[u>>2]|0)+(w+((N((c[(c[p>>2]|0)+68>>2]|0)+(c[(c[p>>2]|0)+72>>2]|0)&65535,b[(c[n>>2]|0)+34>>1]|0)|0)>>16));if(((c[u>>2]>>5)+1>>1|0)<=32767)if(((c[u>>2]>>5)+1>>1|0)<-32768)e=-32768;else e=(c[u>>2]>>5)+1>>1;else e=32767;w=c[t>>2]|0;c[t>>2]=w+2;b[w>>1]=e;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}w=c[t>>2]|0;l=v;return w|0}default:{w=c[t>>2]|0;l=v;return w|0}}return 0}function _f(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;n=p+28|0;h=p+24|0;i=p+20|0;g=p+16|0;m=p+12|0;k=p+8|0;j=p+4|0;o=p;c[q>>2]=a;c[n>>2]=d;c[h>>2]=e;c[i>>2]=f;c[g>>2]=c[q>>2];d=(c[(c[g>>2]|0)+268>>2]<<1)+8|0;c[o>>2]=$()|0;e=l;l=l+((1*(d<<1)|0)+15&-16)|0;d=(c[g>>2]|0)+24|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;b[e+6>>1]=b[d+6>>1]|0;b[e+8>>1]=b[d+8>>1]|0;b[e+10>>1]=b[d+10>>1]|0;b[e+12>>1]=b[d+12>>1]|0;b[e+14>>1]=b[d+14>>1]|0;c[j>>2]=c[(c[g>>2]|0)+272>>2];while(1){if((c[i>>2]|0)<(c[(c[g>>2]|0)+268>>2]|0))a=c[i>>2]|0;else a=c[(c[g>>2]|0)+268>>2]|0;c[m>>2]=a;ag(c[g>>2]|0,e+16|0,c[h>>2]|0,c[m>>2]|0);c[k>>2]=c[m>>2]<<17;c[n>>2]=$f(c[n>>2]|0,e,c[k>>2]|0,c[j>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);if((c[i>>2]|0)<=0)break;q=e+(c[m>>2]<<1<<1)|0;b[e>>1]=b[q>>1]|0;b[e+2>>1]=b[q+2>>1]|0;b[e+4>>1]=b[q+4>>1]|0;b[e+6>>1]=b[q+6>>1]|0;b[e+8>>1]=b[q+8>>1]|0;b[e+10>>1]=b[q+10>>1]|0;b[e+12>>1]=b[q+12>>1]|0;b[e+14>>1]=b[q+14>>1]|0}q=(c[g>>2]|0)+24|0;n=e+(c[m>>2]<<1<<1)|0;b[q>>1]=b[n>>1]|0;b[q+2>>1]=b[n+2>>1]|0;b[q+4>>1]=b[n+4>>1]|0;b[q+6>>1]=b[n+6>>1]|0;b[q+8>>1]=b[n+8>>1]|0;b[q+10>>1]=b[n+10>>1]|0;b[q+12>>1]=b[n+12>>1]|0;b[q+14>>1]=b[n+14>>1]|0;_(c[o>>2]|0);l=p;return}function $f(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+28|0;g=p+24|0;k=p+20|0;j=p+16|0;i=p+12|0;n=p+8|0;h=p+4|0;o=p;c[m>>2]=a;c[g>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=(((c[i>>2]&65535)>>16)*12|0)+((c[i>>2]&65535)*12>>16);c[h>>2]=(c[g>>2]|0)+(c[i>>2]>>16<<1);c[n>>2]=N(b[c[h>>2]>>1]|0,b[25100+(c[o>>2]<<3)>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+2>>1]|0,b[25100+(c[o>>2]<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+4>>1]|0,b[25100+(c[o>>2]<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+6>>1]|0,b[25100+(c[o>>2]<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+8>>1]|0,b[25100+(11-(c[o>>2]|0)<<3)+6>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+10>>1]|0,b[25100+(11-(c[o>>2]|0)<<3)+4>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+12>>1]|0,b[25100+(11-(c[o>>2]|0)<<3)+2>>1]|0)|0);c[n>>2]=(c[n>>2]|0)+(N(b[(c[h>>2]|0)+14>>1]|0,b[25100+(11-(c[o>>2]|0)<<3)>>1]|0)|0);if(((c[n>>2]>>14)+1>>1|0)<=32767)if(((c[n>>2]>>14)+1>>1|0)<-32768)d=-32768;else d=(c[n>>2]>>14)+1>>1;else d=32767;a=c[m>>2]|0;c[m>>2]=a+2;b[a>>1]=d;c[i>>2]=(c[i>>2]|0)+(c[j>>2]|0)}l=p;return c[m>>2]|0}function ag(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;g=r+36|0;o=r+32|0;j=r+28|0;n=r+24|0;m=r+20|0;k=r+16|0;p=r+12|0;q=r+8|0;i=r+4|0;h=r;c[g>>2]=a;c[o>>2]=d;c[j>>2]=e;c[n>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[k>>2]=b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]<<10;c[i>>2]=(c[k>>2]|0)-(c[c[g>>2]>>2]|0);d=N(c[i>>2]>>16,b[12415]|0)|0;c[h>>2]=d+((N(c[i>>2]&65535,b[12415]|0)|0)>>16);c[p>>2]=(c[c[g>>2]>>2]|0)+(c[h>>2]|0);c[c[g>>2]>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);d=N(c[i>>2]>>16,b[12416]|0)|0;c[h>>2]=d+((N(c[i>>2]&65535,b[12416]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+4>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+8>>2]|0);d=N(c[i>>2]>>16,b[12417]|0)|0;c[h>>2]=(c[i>>2]|0)+(d+((N(c[i>>2]&65535,b[12417]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+8>>2]=(c[q>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[o>>2]|0)+(c[m>>2]<<1<<1)>>1]=a;c[i>>2]=(c[k>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0);d=N(c[i>>2]>>16,b[12418]|0)|0;c[h>>2]=d+((N(c[i>>2]&65535,b[12418]|0)|0)>>16);c[p>>2]=(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+12>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[p>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0);d=N(c[i>>2]>>16,b[12419]|0)|0;c[h>>2]=d+((N(c[i>>2]&65535,b[12419]|0)|0)>>16);c[q>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[i>>2]=(c[q>>2]|0)-(c[(c[g>>2]|0)+20>>2]|0);d=N(c[i>>2]>>16,b[12420]|0)|0;c[h>>2]=(c[i>>2]|0)+(d+((N(c[i>>2]&65535,b[12420]|0)|0)>>16));c[p>>2]=(c[(c[g>>2]|0)+20>>2]|0)+(c[h>>2]|0);c[(c[g>>2]|0)+20>>2]=(c[q>>2]|0)+(c[h>>2]|0);if(((c[p>>2]>>9)+1>>1|0)<=32767)if(((c[p>>2]>>9)+1>>1|0)<-32768)a=-32768;else a=(c[p>>2]>>9)+1>>1;else a=32767;b[(c[o>>2]|0)+((c[m>>2]<<1)+1<<1)>>1]=a;c[m>>2]=(c[m>>2]|0)+1}l=r;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;k=f+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[k>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[k>>2];ag(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f+8|0;b=f+4|0;d=f;c[b>>2]=a;a=c[b>>2]|0;if((c[b>>2]|0)<0){c[b>>2]=0-a;if((c[b>>2]|0)>=192){c[e>>2]=0;e=c[e>>2]|0;l=f;return e|0}else{c[d>>2]=c[b>>2]>>5;c[e>>2]=(c[17960+(c[d>>2]<<2)>>2]|0)-(N((c[17984+(c[d>>2]<<2)>>2]&65535)<<16>>16,(c[b>>2]&31)<<16>>16)|0);e=c[e>>2]|0;l=f;return e|0}}else if((a|0)>=192){c[e>>2]=32767;e=c[e>>2]|0;l=f;return e|0}else{c[d>>2]=c[b>>2]>>5;c[e>>2]=(c[18008+(c[d>>2]<<2)>>2]|0)+(N((c[17984+(c[d>>2]<<2)>>2]&65535)<<16>>16,(c[b>>2]&31)<<16>>16)|0);e=c[e>>2]|0;l=f;return e|0}return 0}function dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+24|0;j=n+20|0;g=n+16|0;f=n+12|0;m=n+8|0;i=n+4|0;k=n;c[h>>2]=a;c[j>>2]=b;c[g>>2]=d;c[f>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;c[(c[j>>2]|0)+(c[i>>2]<<2)>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=1;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+(c[i>>2]<<2)>>2];c[k>>2]=(c[i>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0))break;c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[j>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=c[f>>2];while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+(c[i>>2]<<2)>>2];if((c[m>>2]|0)<(c[(c[h>>2]|0)+((c[f>>2]|0)-1<<2)>>2]|0)){c[k>>2]=(c[f>>2]|0)-2;while(1){if((c[k>>2]|0)<0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0))break;c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[(c[j>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[(c[h>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[m>>2];c[(c[j>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[i>>2]}c[i>>2]=(c[i>>2]|0)+1}l=n;return}function eg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;e=j+12|0;i=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;c[i>>2]=b[(c[f>>2]|0)+(c[g>>2]<<1)>>1];c[h>>2]=(c[g>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if((c[i>>2]|0)>=(b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0))break;b[(c[f>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0;c[h>>2]=(c[h>>2]|0)+-1}b[(c[f>>2]|0)+((c[h>>2]|0)+1<<1)>>1]=c[i>>2];c[g>>2]=(c[g>>2]|0)+1}l=j;return}function fg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;g=q+28|0;n=q+24|0;o=q+20|0;i=q+16|0;h=q+12|0;m=q+8|0;k=q+4|0;j=q;c[g>>2]=a;c[n>>2]=d;c[o>>2]=e;c[i>>2]=f;c[j>>2]=0;c[m>>2]=0;c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[i>>2]|0))break;c[j>>2]=(c[j>>2]|0)+(N(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0);c[j>>2]=(c[j>>2]|0)+(N(b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0,b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0)|0);if((c[j>>2]|0)<0){p=4;break}c[h>>2]=(c[h>>2]|0)+2}if((p|0)==4){c[j>>2]=(c[j>>2]|0)>>>2;c[m>>2]=2;c[h>>2]=(c[h>>2]|0)+2}while(1){if((c[h>>2]|0)>=(c[i>>2]|0))break;c[k>>2]=N(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[k>>2]=(c[k>>2]|0)+(N(b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0,b[(c[o>>2]|0)+((c[h>>2]|0)+1<<1)>>1]|0)|0);c[j>>2]=(c[j>>2]|0)+((c[k>>2]|0)>>>(c[m>>2]|0));if((c[j>>2]|0)<0){c[j>>2]=(c[j>>2]|0)>>>2;c[m>>2]=(c[m>>2]|0)+2}c[h>>2]=(c[h>>2]|0)+2}if((c[h>>2]|0)==(c[i>>2]|0)){c[k>>2]=N(b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0,b[(c[o>>2]|0)+(c[h>>2]<<1)>>1]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]>>c[m>>2])}if(!(c[j>>2]&-1073741824)){p=c[m>>2]|0;o=c[n>>2]|0;c[o>>2]=p;o=c[j>>2]|0;p=c[g>>2]|0;c[p>>2]=o;l=q;return}c[j>>2]=(c[j>>2]|0)>>>2;c[m>>2]=(c[m>>2]|0)+2;p=c[m>>2]|0;o=c[n>>2]|0;c[o>>2]=p;o=c[j>>2]|0;p=c[g>>2]|0;c[p>>2]=o;l=q;return} function Lc(a,b,e,f,h,i,j,k,m,n,o,p,q,r,s){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=+r;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=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,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;$=l;l=l+128|0;M=$+124|0;X=$+120|0;H=$+116|0;F=$+112|0;Q=$+108|0;B=$+104|0;Y=$+100|0;T=$+96|0;I=$+92|0;G=$+88|0;v=$+84|0;t=$+80|0;u=$+76|0;O=$+72|0;L=$+68|0;K=$+64|0;C=$+60|0;w=$+56|0;S=$+48|0;D=$+44|0;x=$+40|0;y=$+36|0;V=$+32|0;W=$+28|0;U=$+24|0;_=$+20|0;J=$+16|0;Z=$+12|0;P=$+8|0;E=$+4|0;R=$;c[M>>2]=a;c[X>>2]=b;c[H>>2]=e;c[F>>2]=f;c[Q>>2]=h;c[B>>2]=i;c[Y>>2]=j;c[T>>2]=k;c[I>>2]=m;c[G>>2]=n;c[v>>2]=o;c[t>>2]=p;c[u>>2]=q;g[O>>2]=r;c[L>>2]=s;c[w>>2]=0;c[S>>2]=0;c[S+4>>2]=0;if(((c[Y>>2]|0)+3|0)<=(c[B>>2]|0))_b(c[G>>2]|0,c[u>>2]|0,3);if(c[u>>2]|0){g[D>>2]=0.0;g[x>>2]=.149993896484375}else{g[x>>2]=+g[17580+(c[t>>2]<<2)>>2];g[D>>2]=+g[17564+(c[t>>2]<<2)>>2]}c[K>>2]=c[X>>2];while(1){if((c[K>>2]|0)>=(c[H>>2]|0))break;c[C>>2]=0;do{g[_>>2]=+g[(c[F>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];if(-9.0>+g[(c[Q>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-9.0;else r=+g[(c[Q>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];g[P>>2]=r;g[J>>2]=+g[_>>2]-+g[D>>2]*+g[P>>2]-+g[S+(c[C>>2]<<2)>>2];c[V>>2]=~~+z(+(+g[J>>2]+.5));if(-28.0>+g[(c[Q>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2])r=-28.0;else r=+g[(c[Q>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2];g[E>>2]=r-+g[O>>2];if((c[V>>2]|0)<0?+g[_>>2]<+g[E>>2]:0){j=(c[V>>2]|0)+~~(+g[E>>2]-+g[_>>2])|0;c[V>>2]=j;c[V>>2]=(c[V>>2]|0)>0?0:j}c[W>>2]=c[V>>2];c[Y>>2]=Kc(c[G>>2]|0)|0;c[y>>2]=(c[B>>2]|0)-(c[Y>>2]|0)-(N((c[v>>2]|0)*3|0,(c[H>>2]|0)-(c[K>>2]|0)|0)|0);if((c[y>>2]|0)<30?(c[K>>2]|0)!=(c[X>>2]|0):0){if((c[y>>2]|0)<24)c[V>>2]=1<(c[V>>2]|0)?1:c[V>>2]|0;if((c[y>>2]|0)<16)c[V>>2]=-1>(c[V>>2]|0)?-1:c[V>>2]|0}if((c[L>>2]|0)!=0&(c[K>>2]|0)>=2)c[V>>2]=(c[V>>2]|0)<0?c[V>>2]|0:0;do if(((c[B>>2]|0)-(c[Y>>2]|0)|0)<15)if(((c[B>>2]|0)-(c[Y>>2]|0)|0)<2)if(((c[B>>2]|0)-(c[Y>>2]|0)|0)>=1){c[V>>2]=0<(c[V>>2]|0)?0:c[V>>2]|0;_b(c[G>>2]|0,0-(c[V>>2]|0)|0,1);break}else{c[V>>2]=-1;break}else{if(-1>(((c[V>>2]|0)<1?c[V>>2]|0:1)|0))o=-1;else o=(c[V>>2]|0)<1?c[V>>2]|0:1;c[V>>2]=o;$b(c[G>>2]|0,c[V>>2]<<1^0-((c[V>>2]|0)<0&1),26716,2);break}else{c[R>>2]=((c[K>>2]|0)<20?c[K>>2]|0:20)<<1;mc(c[G>>2]|0,V,(d[(c[T>>2]|0)+(c[R>>2]|0)>>0]|0)<<7,(d[(c[T>>2]|0)+((c[R>>2]|0)+1)>>0]|0)<<6)}while(0);g[(c[I>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[J>>2]-+(c[V>>2]|0);j=A((c[W>>2]|0)-(c[V>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+j;g[U>>2]=+(c[V>>2]|0);g[Z>>2]=+g[D>>2]*+g[P>>2]+ +g[S+(c[C>>2]<<2)>>2]+ +g[U>>2];g[(c[Q>>2]|0)+((c[K>>2]|0)+(N(c[C>>2]|0,c[(c[M>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[Z>>2];g[S+(c[C>>2]<<2)>>2]=+g[S+(c[C>>2]<<2)>>2]+ +g[U>>2]-+g[x>>2]*+g[U>>2];j=(c[C>>2]|0)+1|0;c[C>>2]=j}while((j|0)<(c[v>>2]|0));c[K>>2]=(c[K>>2]|0)+1}l=$;return (c[L>>2]|0?0:c[w>>2]|0)|0}function Mc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+24>>2]|0}function Nc(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Oc(a,d,e,f,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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,A=0,B=0.0;y=l;l=l+64|0;u=y+44|0;A=y+40|0;p=y+36|0;w=y+32|0;q=y+28|0;r=y+24|0;o=y+20|0;m=y+16|0;t=y+12|0;n=y+8|0;s=y+48|0;x=y+4|0;v=y;c[u>>2]=a;c[A>>2]=d;c[p>>2]=e;c[w>>2]=f;c[q>>2]=h;c[r>>2]=i;c[o>>2]=j;c[m>>2]=k;c[t>>2]=c[A>>2];while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;b[s>>1]=1<>2]|0)+(c[t>>2]<<2)>>2];if((c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)>0){c[n>>2]=0;do{B=+g[(c[q>>2]|0)+((c[t>>2]|0)+(N(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)>>2]+.5;c[x>>2]=~~+z(+(B*+(b[s>>1]|0)));if((c[x>>2]|0)>((b[s>>1]|0)-1|0))c[x>>2]=(b[s>>1]|0)-1;if((c[x>>2]|0)<0)c[x>>2]=0;bc(c[o>>2]|0,c[x>>2]|0,c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0);g[v>>2]=(+(c[x>>2]|0)+.5)*+(1<<14-(c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)*.00006103515625-.5;A=(c[w>>2]|0)+((c[t>>2]|0)+(N(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[A>>2]=+g[A>>2]+ +g[v>>2];A=(c[q>>2]|0)+((c[t>>2]|0)+(N(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[A>>2]=+g[A>>2]-+g[v>>2];A=(c[n>>2]|0)+1|0;c[n>>2]=A}while((A|0)<(c[m>>2]|0))}c[t>>2]=(c[t>>2]|0)+1}l=y;return}function Pc(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|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,A=0,B=0,C=0;C=l;l=l+64|0;w=C+56|0;B=C+52|0;r=C+48|0;y=C+44|0;s=C+40|0;u=C+36|0;t=C+32|0;o=C+28|0;q=C+24|0;n=C+20|0;v=C+16|0;z=C+12|0;p=C+8|0;A=C+4|0;x=C;c[w>>2]=a;c[B>>2]=b;c[r>>2]=d;c[y>>2]=e;c[s>>2]=f;c[u>>2]=h;c[t>>2]=i;c[o>>2]=j;c[q>>2]=k;c[n>>2]=m;c[z>>2]=0;while(1){if((c[z>>2]|0)>=2)break;c[v>>2]=c[B>>2];while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;if((c[o>>2]|0)<(c[n>>2]|0))break;if((c[(c[u>>2]|0)+(c[v>>2]<<2)>>2]|0)<8?(c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)==(c[z>>2]|0):0){c[p>>2]=0;do{b=+g[(c[s>>2]|0)+((c[v>>2]|0)+(N(c[p>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)>>2]<0.0;c[A>>2]=b?0:1;bc(c[q>>2]|0,c[A>>2]|0,1);g[x>>2]=(+(c[A>>2]|0)-.5)*+(1<<14-(c[(c[u>>2]|0)+(c[v>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[y>>2]|0)+((c[v>>2]|0)+(N(c[p>>2]|0,c[(c[w>>2]|0)+8>>2]|0)|0)<<2)|0;g[b>>2]=+g[b>>2]+ +g[x>>2];c[o>>2]=(c[o>>2]|0)+-1;b=(c[p>>2]|0)+1|0;c[p>>2]=b}while((b|0)<(c[n>>2]|0))}c[v>>2]=(c[v>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}l=C;return}function Qc(a,b,e,f,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0.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;G=l;l=l+96|0;x=G+80|0;o=G+76|0;v=G+72|0;y=G+68|0;H=G+64|0;u=G+60|0;p=G+56|0;n=G+52|0;B=G+48|0;w=G+44|0;s=G+40|0;A=G+32|0;t=G+28|0;q=G+24|0;r=G+20|0;E=G+16|0;D=G+12|0;C=G+8|0;F=G+4|0;z=G;c[x>>2]=a;c[o>>2]=b;c[v>>2]=e;c[y>>2]=f;c[H>>2]=h;c[u>>2]=i;c[p>>2]=j;c[n>>2]=k;c[B>>2]=26380+((c[n>>2]|0)*84|0)+((c[H>>2]|0)*42|0);c[A>>2]=0;c[A+4>>2]=0;if(c[H>>2]|0){g[t>>2]=0.0;g[q>>2]=.149993896484375}else{g[q>>2]=+g[17580+(c[n>>2]<<2)>>2];g[t>>2]=+g[17564+(c[n>>2]<<2)>>2]}c[r>>2]=c[(c[u>>2]|0)+4>>2]<<3;c[w>>2]=c[o>>2];while(1){if((c[w>>2]|0)>=(c[v>>2]|0))break;c[s>>2]=0;do{c[E>>2]=Kc(c[u>>2]|0)|0;do if(((c[r>>2]|0)-(c[E>>2]|0)|0)<15){if(((c[r>>2]|0)-(c[E>>2]|0)|0)>=2){c[D>>2]=Pb(c[u>>2]|0,26716,2)|0;c[D>>2]=c[D>>2]>>1^0-(c[D>>2]&1);break}if(((c[r>>2]|0)-(c[E>>2]|0)|0)>=1){c[D>>2]=0-(Ob(c[u>>2]|0,1)|0);break}else{c[D>>2]=-1;break}}else{c[z>>2]=((c[w>>2]|0)<20?c[w>>2]|0:20)<<1;c[D>>2]=oc(c[u>>2]|0,(d[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)<<7,(d[(c[B>>2]|0)+((c[z>>2]|0)+1)>>0]|0)<<6)|0}while(0);g[C>>2]=+(c[D>>2]|0);if(-9.0>+g[(c[y>>2]|0)+((c[w>>2]|0)+(N(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2])m=-9.0;else m=+g[(c[y>>2]|0)+((c[w>>2]|0)+(N(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2];g[(c[y>>2]|0)+((c[w>>2]|0)+(N(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]=m;m=+g[t>>2]*+g[(c[y>>2]|0)+((c[w>>2]|0)+(N(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2];g[F>>2]=m+ +g[A+(c[s>>2]<<2)>>2]+ +g[C>>2];g[(c[y>>2]|0)+((c[w>>2]|0)+(N(c[s>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0)<<2)>>2]=+g[F>>2];g[A+(c[s>>2]<<2)>>2]=+g[A+(c[s>>2]<<2)>>2]+ +g[C>>2]-+g[q>>2]*+g[C>>2];H=(c[s>>2]|0)+1|0;c[s>>2]=H}while((H|0)<(c[p>>2]|0));c[w>>2]=(c[w>>2]|0)+1}l=G;return}function Rc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;q=u+40|0;v=u+36|0;n=u+32|0;s=u+28|0;o=u+24|0;m=u+20|0;j=u+16|0;p=u+12|0;k=u+8|0;t=u+4|0;r=u;c[q>>2]=a;c[v>>2]=b;c[n>>2]=d;c[s>>2]=e;c[o>>2]=f;c[m>>2]=h;c[j>>2]=i;c[p>>2]=c[v>>2];while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;if((c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)>0){c[k>>2]=0;do{c[t>>2]=Rb(c[m>>2]|0,c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;g[r>>2]=(+(c[t>>2]|0)+.5)*+(1<<14-(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)|0)*.00006103515625-.5;v=(c[s>>2]|0)+((c[p>>2]|0)+(N(c[k>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)|0;g[v>>2]=+g[v>>2]+ +g[r>>2];v=(c[k>>2]|0)+1|0;c[k>>2]=v}while((v|0)<(c[j>>2]|0))}c[p>>2]=(c[p>>2]|0)+1}l=u;return}function Sc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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;A=l;l=l+64|0;u=A+52|0;z=A+48|0;q=A+44|0;w=A+40|0;s=A+36|0;r=A+32|0;n=A+28|0;p=A+24|0;m=A+20|0;t=A+16|0;x=A+12|0;o=A+8|0;y=A+4|0;v=A;c[u>>2]=a;c[z>>2]=b;c[q>>2]=d;c[w>>2]=e;c[s>>2]=f;c[r>>2]=h;c[n>>2]=i;c[p>>2]=j;c[m>>2]=k;c[x>>2]=0;while(1){if((c[x>>2]|0)>=2)break;c[t>>2]=c[z>>2];while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;if((c[n>>2]|0)<(c[m>>2]|0))break;if((c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)<8?(c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[x>>2]|0):0){c[o>>2]=0;do{c[y>>2]=Rb(c[p>>2]|0,1)|0;g[v>>2]=(+(c[y>>2]|0)-.5)*+(1<<14-(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)-1|0)*.00006103515625;b=(c[w>>2]|0)+((c[t>>2]|0)+(N(c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0)<<2)|0;g[b>>2]=+g[b>>2]+ +g[v>>2];c[n>>2]=(c[n>>2]|0)+-1;b=(c[o>>2]|0)+1|0;c[o>>2]=b}while((b|0)<(c[m>>2]|0))}c[t>>2]=(c[t>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}l=A;return}function Tc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+32|0;q=r+28|0;n=r+24|0;o=r+20|0;j=r+16|0;k=r+12|0;i=r+8|0;m=r+4|0;p=r;c[q>>2]=a;c[n>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;c[i>>2]=h;c[m>>2]=0;do{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;s=+L(+(+g[(c[j>>2]|0)+((c[p>>2]|0)+(N(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)>>2]))*1.4426950408889634;g[(c[k>>2]|0)+((c[p>>2]|0)+(N(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0)<<2)>>2]=s-+g[17464+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[n>>2];while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;a=N(c[m>>2]|0,c[(c[q>>2]|0)+8>>2]|0)|0;g[(c[k>>2]|0)+(a+(c[p>>2]|0)<<2)>>2]=-14.0;c[p>>2]=(c[p>>2]|0)+1}a=(c[m>>2]|0)+1|0;c[m>>2]=a}while((a|0)<(c[i>>2]|0));l=r;return}function Uc(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var 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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+160|0;Z=ja+144|0;ha=ja+140|0;R=ja+136|0;aa=ja+132|0;J=ja+128|0;x=ja+124|0;U=ja+120|0;L=ja+116|0;ia=ja+112|0;G=ja+108|0;ca=ja+104|0;O=ja+100|0;S=ja+96|0;D=ja+92|0;E=ja+88|0;P=ja+84|0;Q=ja+80|0;ba=ja+76|0;ea=ja+72|0;Y=ja+68|0;T=ja+64|0;X=ja+60|0;W=ja+56|0;K=ja+52|0;ga=ja+48|0;fa=ja+44|0;V=ja+40|0;M=ja+36|0;da=ja+32|0;A=ja+28|0;C=ja+24|0;B=ja+20|0;z=ja+16|0;y=ja+12|0;H=ja+8|0;I=ja+4|0;F=ja;c[Z>>2]=a;c[ha>>2]=e;c[R>>2]=f;c[aa>>2]=g;c[J>>2]=h;c[x>>2]=i;c[U>>2]=j;c[L>>2]=k;c[ia>>2]=m;c[G>>2]=n;c[ca>>2]=o;c[O>>2]=p;c[S>>2]=q;c[D>>2]=r;c[E>>2]=s;c[P>>2]=t;c[Q>>2]=u;c[ba>>2]=v;c[ea>>2]=w;c[ia>>2]=(c[ia>>2]|0)>0?c[ia>>2]|0:0;c[X>>2]=c[(c[Z>>2]|0)+8>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=(c[ia>>2]|0)>=8?8:0;c[ia>>2]=(c[ia>>2]|0)-(c[fa>>2]|0);c[M>>2]=0;c[V>>2]=0;do if((c[D>>2]|0)==2){c[V>>2]=d[26719+((c[R>>2]|0)-(c[ha>>2]|0))>>0];if((c[V>>2]|0)>(c[ia>>2]|0)){c[V>>2]=0;break}else{c[ia>>2]=(c[ia>>2]|0)-(c[V>>2]|0);c[M>>2]=(c[ia>>2]|0)>=8?8:0;c[ia>>2]=(c[ia>>2]|0)-(c[M>>2]|0);break}}while(0);i=c[X>>2]|0;c[da>>2]=$()|0;s=l;l=l+((1*(i<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;n=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;h=l;l=l+((1*(c[X>>2]<<2)|0)+15&-16)|0;c[W>>2]=c[ha>>2];while(1){if((c[W>>2]|0)>=(c[R>>2]|0))break;if((c[D>>2]<<3|0)>(((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4|0))r=c[D>>2]<<3;else r=((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)*3<>2]<<3>>4;c[n+(c[W>>2]<<2)>>2]=r;m=N(c[D>>2]|0,(b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)|0)|0;m=N(m,(c[x>>2]|0)-5-(c[E>>2]|0)|0)|0;m=N(m,(c[R>>2]|0)-(c[W>>2]|0)-1|0)|0;m=(N(m,1<<(c[E>>2]|0)+3)|0)>>6;c[h+(c[W>>2]<<2)>>2]=m;if(((b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0)<>2]|0)==1){m=h+(c[W>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)-(c[D>>2]<<3)}c[W>>2]=(c[W>>2]|0)+1}c[Y>>2]=1;c[T>>2]=(c[(c[Z>>2]|0)+48>>2]|0)-1;do{c[A>>2]=0;c[C>>2]=0;c[B>>2]=(c[Y>>2]|0)+(c[T>>2]|0)>>1;c[W>>2]=c[R>>2];while(1){x=c[W>>2]|0;c[W>>2]=x+-1;if((x|0)<=(c[ha>>2]|0))break;c[y>>2]=(b[(c[(c[Z>>2]|0)+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0);m=N(c[D>>2]|0,c[y>>2]|0)|0;x=N(c[B>>2]|0,c[X>>2]|0)|0;x=N(m,d[(c[(c[Z>>2]|0)+52>>2]|0)+(x+(c[W>>2]|0))>>0]|0)|0;c[z>>2]=x<>2]>>2;if((c[z>>2]|0)>0){if(0>((c[z>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[z>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[z>>2]=r}c[z>>2]=(c[z>>2]|0)+(c[(c[aa>>2]|0)+(c[W>>2]<<2)>>2]|0);if(!(c[A>>2]|0?1:(c[z>>2]|0)>=(c[n+(c[W>>2]<<2)>>2]|0))){if((c[z>>2]|0)<(c[D>>2]<<3|0))continue;c[C>>2]=(c[C>>2]|0)+(c[D>>2]<<3);continue}c[A>>2]=1;if((c[z>>2]|0)<(c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0))r=c[z>>2]|0;else r=c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0;c[C>>2]=(c[C>>2]|0)+r}r=c[B>>2]|0;if((c[C>>2]|0)>(c[ia>>2]|0))c[T>>2]=r-1;else c[Y>>2]=r+1}while((c[Y>>2]|0)<=(c[T>>2]|0));C=c[Y>>2]|0;c[Y>>2]=C+-1;c[T>>2]=C;c[W>>2]=c[ha>>2];while(1){r=c[Z>>2]|0;if((c[W>>2]|0)>=(c[R>>2]|0))break;c[F>>2]=(b[(c[r+32>>2]|0)+((c[W>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Z>>2]|0)+32>>2]|0)+(c[W>>2]<<1)>>1]|0);B=N(c[D>>2]|0,c[F>>2]|0)|0;C=N(c[Y>>2]|0,c[X>>2]|0)|0;C=N(B,d[(c[(c[Z>>2]|0)+52>>2]|0)+(C+(c[W>>2]|0))>>0]|0)|0;c[H>>2]=C<>2]>>2;if((c[T>>2]|0)>=(c[(c[Z>>2]|0)+48>>2]|0))r=c[(c[J>>2]|0)+(c[W>>2]<<2)>>2]|0;else{C=N(c[D>>2]|0,c[F>>2]|0)|0;r=N(c[T>>2]|0,c[X>>2]|0)|0;r=N(C,d[(c[(c[Z>>2]|0)+52>>2]|0)+(r+(c[W>>2]|0))>>0]|0)|0;r=r<>2]>>2}c[I>>2]=r;if((c[H>>2]|0)>0){if(0>((c[H>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[H>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[H>>2]=r}if((c[I>>2]|0)>0){if(0>((c[I>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0))r=0;else r=(c[I>>2]|0)+(c[h+(c[W>>2]<<2)>>2]|0)|0;c[I>>2]=r}if((c[Y>>2]|0)>0)c[H>>2]=(c[H>>2]|0)+(c[(c[aa>>2]|0)+(c[W>>2]<<2)>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[(c[aa>>2]|0)+(c[W>>2]<<2)>>2]|0);if((c[(c[aa>>2]|0)+(c[W>>2]<<2)>>2]|0)>0)c[ga>>2]=c[W>>2];if(0>((c[I>>2]|0)-(c[H>>2]|0)|0))r=0;else r=(c[I>>2]|0)-(c[H>>2]|0)|0;c[I>>2]=r;c[s+(c[W>>2]<<2)>>2]=c[H>>2];c[i+(c[W>>2]<<2)>>2]=c[I>>2];c[W>>2]=(c[W>>2]|0)+1}c[K>>2]=Vc(r,c[ha>>2]|0,c[R>>2]|0,c[ga>>2]|0,s,i,n,c[J>>2]|0,c[ia>>2]|0,c[G>>2]|0,c[fa>>2]|0,c[U>>2]|0,c[V>>2]|0,c[L>>2]|0,c[M>>2]|0,c[ca>>2]|0,c[O>>2]|0,c[S>>2]|0,c[D>>2]|0,c[E>>2]|0,c[P>>2]|0,c[Q>>2]|0,c[ba>>2]|0,c[ea>>2]|0)|0;ia=c[K>>2]|0;_(c[da>>2]|0);l=ja;return ia|0}function Vc(a,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;var C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=l;l=l+224|0;Aa=Da+208|0;ca=Da+204|0;sa=Da+200|0;U=Da+196|0;G=Da+192|0;H=Da+188|0;V=Da+184|0;na=Da+180|0;aa=Da+176|0;ja=Da+172|0;T=Da+168|0;xa=Da+164|0;P=Da+160|0;qa=Da+156|0;X=Da+152|0;ma=Da+148|0;ra=Da+144|0;wa=Da+140|0;ea=Da+136|0;fa=Da+132|0;Y=Da+128|0;Z=Da+124|0;Q=Da+120|0;S=Da+116|0;$=Da+112|0;J=Da+108|0;C=Da+104|0;D=Da+100|0;ya=Da+96|0;za=Da+92|0;Ca=Da+88|0;oa=Da+84|0;L=Da+80|0;ba=Da+76|0;_=Da+72|0;I=Da+68|0;ka=Da+64|0;E=Da+60|0;F=Da+56|0;K=Da+52|0;O=Da+48|0;M=Da+44|0;R=Da+40|0;da=Da+36|0;ha=Da+32|0;ga=Da+28|0;pa=Da+24|0;Ba=Da+20|0;ia=Da+16|0;ta=Da+12|0;la=Da+8|0;va=Da+4|0;ua=Da;c[Aa>>2]=a;c[ca>>2]=e;c[sa>>2]=f;c[U>>2]=g;c[G>>2]=h;c[H>>2]=i;c[V>>2]=j;c[na>>2]=k;c[aa>>2]=m;c[ja>>2]=n;c[T>>2]=o;c[xa>>2]=p;c[P>>2]=q;c[qa>>2]=r;c[X>>2]=s;c[ma>>2]=t;c[ra>>2]=u;c[wa>>2]=v;c[ea>>2]=w;c[fa>>2]=x;c[Y>>2]=y;c[Z>>2]=z;c[Q>>2]=A;c[S>>2]=B;c[oa>>2]=-1;c[L>>2]=c[ea>>2]<<3;c[Ca>>2]=(c[ea>>2]|0)>1&1;c[za>>2]=c[fa>>2]<<3;c[J>>2]=0;c[C>>2]=64;c[D>>2]=0;while(1){if((c[D>>2]|0)>=6)break;c[E>>2]=(c[J>>2]|0)+(c[C>>2]|0)>>1;c[$>>2]=0;c[I>>2]=0;c[ya>>2]=c[sa>>2];while(1){m=c[ya>>2]|0;c[ya>>2]=m+-1;if((m|0)<=(c[ca>>2]|0))break;c[F>>2]=(c[(c[G>>2]|0)+(c[ya>>2]<<2)>>2]|0)+((N(c[E>>2]|0,c[(c[H>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0)>>6);if(!(c[I>>2]|0?1:(c[F>>2]|0)>=(c[(c[V>>2]|0)+(c[ya>>2]<<2)>>2]|0))){if((c[F>>2]|0)<(c[L>>2]|0))continue;c[$>>2]=(c[$>>2]|0)+(c[L>>2]|0);continue}c[I>>2]=1;if((c[F>>2]|0)<(c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0))w=c[F>>2]|0;else w=c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0;c[$>>2]=(c[$>>2]|0)+w}w=c[E>>2]|0;if((c[$>>2]|0)>(c[aa>>2]|0))c[C>>2]=w;else c[J>>2]=w;c[D>>2]=(c[D>>2]|0)+1}c[$>>2]=0;c[I>>2]=0;c[ya>>2]=c[sa>>2];while(1){F=c[ya>>2]|0;c[ya>>2]=F+-1;if((F|0)<=(c[ca>>2]|0))break;c[K>>2]=(c[(c[G>>2]|0)+(c[ya>>2]<<2)>>2]|0)+((N(c[J>>2]|0,c[(c[H>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0)>>6);do if(!(c[I>>2]|0?1:(c[K>>2]|0)>=(c[(c[V>>2]|0)+(c[ya>>2]<<2)>>2]|0)))if((c[K>>2]|0)>=(c[L>>2]|0)){c[K>>2]=c[L>>2];break}else{c[K>>2]=0;break}else c[I>>2]=1;while(0);if((c[K>>2]|0)<(c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0))w=c[K>>2]|0;else w=c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0;c[K>>2]=w;c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]=c[K>>2];c[$>>2]=(c[$>>2]|0)+(c[K>>2]|0)}c[oa>>2]=c[sa>>2];while(1){c[ya>>2]=(c[oa>>2]|0)-1;if((c[ya>>2]|0)<=(c[U>>2]|0)){W=29;break}c[ba>>2]=(c[aa>>2]|0)-(c[$>>2]|0);c[_>>2]=Wc(c[ba>>2]|0,(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[oa>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)|0;K=N((b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[oa>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0,c[_>>2]|0)|0;c[ba>>2]=(c[ba>>2]|0)-K;if(((c[ba>>2]|0)-((b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0))|0)>0)w=(c[ba>>2]|0)-((b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0))|0;else w=0;c[R>>2]=w;c[O>>2]=(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[oa>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0);K=(c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(N(c[_>>2]|0,c[O>>2]|0)|0)|0;c[M>>2]=K+(c[R>>2]|0);if((c[(c[V>>2]|0)+(c[ya>>2]<<2)>>2]|0)>((c[L>>2]|0)+8|0))w=c[(c[V>>2]|0)+(c[ya>>2]<<2)>>2]|0;else w=(c[L>>2]|0)+8|0;if((c[M>>2]|0)>=(w|0)){if(!(c[Z>>2]|0)){if(Ob(c[Y>>2]|0,1)|0)break}else{if((c[oa>>2]|0)<=((c[ca>>2]|0)+2|0)){W=40;break}K=N((c[ya>>2]|0)<(c[Q>>2]|0)?7:9,c[O>>2]|0)|0;if((c[M>>2]|0)>(K<>2]<<3>>4|0)?(c[ya>>2]|0)<=(c[S>>2]|0):0){W=40;break}_b(c[Y>>2]|0,0,1)}c[$>>2]=(c[$>>2]|0)+8;c[M>>2]=(c[M>>2]|0)-8}c[$>>2]=(c[$>>2]|0)-((c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[P>>2]|0));if((c[P>>2]|0)>0)c[P>>2]=d[26719+((c[ya>>2]|0)-(c[ca>>2]|0))>>0];c[$>>2]=(c[$>>2]|0)+(c[P>>2]|0);if((c[M>>2]|0)>=(c[L>>2]|0)){c[$>>2]=(c[$>>2]|0)+(c[L>>2]|0);w=c[L>>2]|0;x=(c[ma>>2]|0)+(c[ya>>2]<<2)|0}else{w=0;x=(c[ma>>2]|0)+(c[ya>>2]<<2)|0}c[x>>2]=w;c[oa>>2]=(c[oa>>2]|0)+-1}if((W|0)==29)c[aa>>2]=(c[aa>>2]|0)+(c[T>>2]|0);else if((W|0)==40)_b(c[Y>>2]|0,1,1);do if((c[P>>2]|0)>0){if(!(c[Z>>2]|0)){W=c[ca>>2]|0;W=W+(Qb(c[Y>>2]|0,(c[oa>>2]|0)+1-(c[ca>>2]|0)|0)|0)|0;c[c[xa>>2]>>2]=W;break}if((c[c[xa>>2]>>2]|0)<(c[oa>>2]|0))w=c[c[xa>>2]>>2]|0;else w=c[oa>>2]|0;c[c[xa>>2]>>2]=w;ac(c[Y>>2]|0,(c[c[xa>>2]>>2]|0)-(c[ca>>2]|0)|0,(c[oa>>2]|0)+1-(c[ca>>2]|0)|0)}else c[c[xa>>2]>>2]=0;while(0);if((c[c[xa>>2]>>2]|0)<=(c[ca>>2]|0)){c[aa>>2]=(c[aa>>2]|0)+(c[X>>2]|0);c[X>>2]=0}do if((c[X>>2]|0)>0){w=c[Y>>2]|0;if(c[Z>>2]|0){_b(w,c[c[qa>>2]>>2]|0,1);break}else{Z=Ob(w,1)|0;c[c[qa>>2]>>2]=Z;break}}else c[c[qa>>2]>>2]=0;while(0);c[ba>>2]=(c[aa>>2]|0)-(c[$>>2]|0);c[_>>2]=Wc(c[ba>>2]|0,(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[oa>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0)|0;aa=N((b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[oa>>2]<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ca>>2]<<1)>>1]|0)|0,c[_>>2]|0)|0;c[ba>>2]=(c[ba>>2]|0)-aa;c[ya>>2]=c[ca>>2];while(1){if((c[ya>>2]|0)>=(c[oa>>2]|0))break;$=N(c[_>>2]|0,(b[(c[(c[Aa>>2]|0)+32>>2]|0)+((c[ya>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0)|0)|0;aa=(c[ma>>2]|0)+(c[ya>>2]<<2)|0;c[aa>>2]=(c[aa>>2]|0)+$;c[ya>>2]=(c[ya>>2]|0)+1}c[ya>>2]=c[ca>>2];while(1){if((c[ya>>2]|0)>=(c[oa>>2]|0))break;if((c[ba>>2]|0)<((b[(c[(c[Aa>>2]|0)+32>>2]|0)+((c[ya>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0)|0))w=c[ba>>2]|0;else w=(b[(c[(c[Aa>>2]|0)+32>>2]|0)+((c[ya>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0)|0;c[da>>2]=w;aa=(c[ma>>2]|0)+(c[ya>>2]<<2)|0;c[aa>>2]=(c[aa>>2]|0)+(c[da>>2]|0);c[ba>>2]=(c[ba>>2]|0)-(c[da>>2]|0);c[ya>>2]=(c[ya>>2]|0)+1}c[ka>>2]=0;c[ya>>2]=c[ca>>2];while(1){if((c[ya>>2]|0)>=(c[oa>>2]|0))break;c[ha>>2]=(b[(c[(c[Aa>>2]|0)+32>>2]|0)+((c[ya>>2]|0)+1<<1)>>1]|0)-(b[(c[(c[Aa>>2]|0)+32>>2]|0)+(c[ya>>2]<<1)>>1]|0);c[ga>>2]=c[ha>>2]<>2];c[la>>2]=(c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[ka>>2]|0);w=c[la>>2]|0;if((c[ga>>2]|0)>1){if((w-(c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0)>0)w=(c[la>>2]|0)-(c[(c[na>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0;else w=0;c[ta>>2]=w;c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]=(c[la>>2]|0)-(c[ta>>2]|0);x=N(c[ea>>2]|0,c[ga>>2]|0)|0;if((c[ea>>2]|0)==2&(c[ga>>2]|0)>2?!(c[c[qa>>2]>>2]|0):0)w=(c[ya>>2]|0)<(c[c[xa>>2]>>2]|0);else w=0;c[pa>>2]=x+(w?1:0);c[ia>>2]=N(c[pa>>2]|0,(b[(c[(c[Aa>>2]|0)+56>>2]|0)+(c[ya>>2]<<1)>>1]|0)+(c[za>>2]|0)|0)|0;c[Ba>>2]=(c[ia>>2]>>1)-((c[pa>>2]|0)*21|0);if((c[ga>>2]|0)==2)c[Ba>>2]=(c[Ba>>2]|0)+(c[pa>>2]<<3>>2);if(((c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)>=(c[pa>>2]<<1<<3|0)){if(((c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)<((c[pa>>2]|0)*3<<3|0))c[Ba>>2]=(c[Ba>>2]|0)+(c[ia>>2]>>3)}else c[Ba>>2]=(c[Ba>>2]|0)+(c[ia>>2]>>2);if(0>((c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[Ba>>2]|0)+(c[pa>>2]<<2)|0))w=0;else w=(c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[Ba>>2]|0)+(c[pa>>2]<<2)|0;c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=w;da=(Wc(c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0,c[pa>>2]|0)|0)>>>3;c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=da;da=N(c[ea>>2]|0,c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0;if((da|0)>(c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]>>3|0))c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]>>c[Ca>>2]>>3;if((c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)<8)w=c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0;else w=8;c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=w;ca=N(c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0,c[pa>>2]<<3)|0;c[(c[wa>>2]|0)+(c[ya>>2]<<2)>>2]=(ca|0)>=((c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]|0)+(c[Ba>>2]|0)|0)&1;ca=(N(c[ea>>2]|0,c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0)<<3;da=(c[ma>>2]|0)+(c[ya>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)-ca}else{if(0>(w-(c[ea>>2]<<3)|0))w=0;else w=(c[la>>2]|0)-(c[ea>>2]<<3)|0;c[ta>>2]=w;c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]=(c[la>>2]|0)-(c[ta>>2]|0);c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=0;c[(c[wa>>2]|0)+(c[ya>>2]<<2)>>2]=1}if((c[ta>>2]|0)>0){if((c[ta>>2]>>(c[Ca>>2]|0)+3|0)<(8-(c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0))w=c[ta>>2]>>(c[Ca>>2]|0)+3;else w=8-(c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)|0;c[va>>2]=w;da=(c[ra>>2]|0)+(c[ya>>2]<<2)|0;c[da>>2]=(c[da>>2]|0)+(c[va>>2]|0);c[ua>>2]=(N(c[va>>2]|0,c[ea>>2]|0)|0)<<3;c[(c[wa>>2]|0)+(c[ya>>2]<<2)>>2]=(c[ua>>2]|0)>=((c[ta>>2]|0)-(c[ka>>2]|0)|0)&1;c[ta>>2]=(c[ta>>2]|0)-(c[ua>>2]|0)}c[ka>>2]=c[ta>>2];c[ya>>2]=(c[ya>>2]|0)+1}c[c[ja>>2]>>2]=c[ka>>2];while(1){if((c[ya>>2]|0)>=(c[sa>>2]|0))break;c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]=c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]>>c[Ca>>2]>>3;c[(c[ma>>2]|0)+(c[ya>>2]<<2)>>2]=0;c[(c[wa>>2]|0)+(c[ya>>2]<<2)>>2]=(c[(c[ra>>2]|0)+(c[ya>>2]<<2)>>2]|0)<1&1;c[ya>>2]=(c[ya>>2]|0)+1}l=Da;return c[oa>>2]|0}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;o=F+84|0;k=F+80|0;j=F+76|0;G=F+72|0;i=F+68|0;t=F+64|0;u=F+60|0;v=F+56|0;y=F+52|0;w=F+48|0;B=F+44|0;D=F+40|0;E=F+36|0;s=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;q=F+16|0;r=F+12|0;p=F+8|0;m=F+4|0;n=F;c[o>>2]=a;c[k>>2]=b;c[j>>2]=d;c[G>>2]=e;c[i>>2]=f;c[t>>2]=h;b=c[k>>2]|0;c[A>>2]=$()|0;d=l;l=l+((1*(b<<2)|0)+15&-16)|0;b=l;l=l+((1*(c[k>>2]<<2)|0)+15&-16)|0;a=l;l=l+((1*(c[k>>2]<<2)|0)+15&-16)|0;Yc(c[o>>2]|0,c[k>>2]|0,1,c[i>>2]|0,c[j>>2]|0,c[G>>2]|0);g[B>>2]=0.0;c[v>>2]=0;do{f=a+(c[v>>2]<<2)|0;if(+g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]>0.0)g[f>>2]=1.0;else{g[f>>2]=-1.0;g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]=-+g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]}c[b+(c[v>>2]<<2)>>2]=0;g[d+(c[v>>2]<<2)>>2]=0.0;G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0));g[E>>2]=0.0;g[D>>2]=0.0;c[w>>2]=c[j>>2];if((c[j>>2]|0)>(c[k>>2]>>1|0)){c[v>>2]=0;do{g[B>>2]=+g[B>>2]+ +g[(c[o>>2]|0)+(c[v>>2]<<2)>>2];G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0));if(!(+g[B>>2]>1.0000000036274937e-15&+g[B>>2]<64.0)){g[c[o>>2]>>2]=1.0;c[v>>2]=1;do{g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]=0.0;G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0));g[B>>2]=1.0}g[x>>2]=+((c[j>>2]|0)-1|0)*(1.0/+g[B>>2]);c[v>>2]=0;do{G=~~+z(+(+g[x>>2]*+g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]));c[b+(c[v>>2]<<2)>>2]=G;g[d+(c[v>>2]<<2)>>2]=+(c[b+(c[v>>2]<<2)>>2]|0);g[E>>2]=+g[E>>2]+ +g[d+(c[v>>2]<<2)>>2]*+g[d+(c[v>>2]<<2)>>2];g[D>>2]=+g[D>>2]+ +g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]*+g[d+(c[v>>2]<<2)>>2];G=d+(c[v>>2]<<2)|0;g[G>>2]=+g[G>>2]*2.0;c[w>>2]=(c[w>>2]|0)-(c[b+(c[v>>2]<<2)>>2]|0);G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0))}if((c[w>>2]|0)>((c[k>>2]|0)+3|0)){g[C>>2]=+(c[w>>2]|0);g[E>>2]=+g[E>>2]+ +g[C>>2]*+g[C>>2];g[E>>2]=+g[E>>2]+ +g[C>>2]*+g[d>>2];c[b>>2]=(c[b>>2]|0)+(c[w>>2]|0);c[w>>2]=0}g[y>>2]=1.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[w>>2]|0))break;g[r>>2]=-999999986991104.0;g[p>>2]=0.0;c[q>>2]=0;g[E>>2]=+g[E>>2]+1.0;c[v>>2]=0;do{g[m>>2]=+g[D>>2]+ +g[(c[o>>2]|0)+(c[v>>2]<<2)>>2];g[n>>2]=+g[E>>2]+ +g[d+(c[v>>2]<<2)>>2];g[m>>2]=+g[m>>2]*+g[m>>2];if(+g[p>>2]*+g[m>>2]>+g[n>>2]*+g[r>>2]){g[p>>2]=+g[n>>2];g[r>>2]=+g[m>>2];c[q>>2]=c[v>>2]}G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0));g[D>>2]=+g[D>>2]+ +g[(c[o>>2]|0)+(c[q>>2]<<2)>>2];g[E>>2]=+g[E>>2]+ +g[d+(c[q>>2]<<2)>>2];G=d+(c[q>>2]<<2)|0;g[G>>2]=+g[G>>2]+ +g[y>>2]*2.0;G=b+(c[q>>2]<<2)|0;c[G>>2]=(c[G>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[v>>2]=0;do{g[(c[o>>2]|0)+(c[v>>2]<<2)>>2]=+g[a+(c[v>>2]<<2)>>2]*+g[(c[o>>2]|0)+(c[v>>2]<<2)>>2];if(+g[a+(c[v>>2]<<2)>>2]<0.0)c[b+(c[v>>2]<<2)>>2]=0-(c[b+(c[v>>2]<<2)>>2]|0);G=(c[v>>2]|0)+1|0;c[v>>2]=G}while((G|0)<(c[k>>2]|0));Cb(b,c[k>>2]|0,c[j>>2]|0,c[t>>2]|0);c[s>>2]=Zc(b,c[k>>2]|0,c[i>>2]|0)|0;G=c[s>>2]|0;_(c[A>>2]|0);l=F;return G|0}function Yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;j=w+48|0;q=w+44|0;m=w+40|0;t=w+36|0;i=w+32|0;s=w+28|0;p=w+24|0;k=w+20|0;r=w+16|0;o=w+12|0;v=w+8|0;u=w+4|0;n=w;c[j>>2]=a;c[q>>2]=b;c[m>>2]=d;c[t>>2]=e;c[i>>2]=f;c[s>>2]=h;c[u>>2]=0;if((c[s>>2]|0)==0?1:(c[i>>2]<<1|0)>=(c[q>>2]|0)){l=w;return}c[n>>2]=c[17596+((c[s>>2]|0)-1<<2)>>2];g[o>>2]=+(c[q>>2]|0)*1.0/+((c[q>>2]|0)+(N(c[n>>2]|0,c[i>>2]|0)|0)|0);g[v>>2]=+g[o>>2]*+g[o>>2]*.5;g[k>>2]=+D(+(+g[v>>2]*1.5707963705062866));g[r>>2]=+D(+((1.0-+g[v>>2])*1.5707963705062866));a:do if((c[q>>2]|0)>=(c[t>>2]<<3|0)){c[u>>2]=1;while(1){v=N(c[u>>2]|0,c[u>>2]|0)|0;v=N(v+(c[u>>2]|0)|0,c[t>>2]|0)|0;if((v+(c[t>>2]>>2)|0)>=(c[q>>2]|0))break a;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[q>>2]=_c(c[q>>2]|0,c[t>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;if((c[m>>2]|0)>=0){v=(c[j>>2]|0)+((N(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;$c(v,c[q>>2]|0,1,+g[k>>2],-+g[r>>2]);if(c[u>>2]|0){v=(c[j>>2]|0)+((N(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;$c(v,c[q>>2]|0,c[u>>2]|0,+g[r>>2],-+g[k>>2])}}else{if(c[u>>2]|0){v=(c[j>>2]|0)+((N(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;$c(v,c[q>>2]|0,c[u>>2]|0,+g[r>>2],+g[k>>2])}v=(c[j>>2]|0)+((N(c[p>>2]|0,c[q>>2]|0)|0)<<2)|0;$c(v,c[q>>2]|0,1,+g[k>>2],+g[r>>2])}c[p>>2]=(c[p>>2]|0)+1}l=w;return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;j=o+28|0;f=o+24|0;e=o+20|0;h=o+16|0;g=o+12|0;i=o+8|0;k=o+4|0;n=o;c[j>>2]=a;c[f>>2]=b;c[e>>2]=d;if((c[e>>2]|0)<=1){c[m>>2]=1;n=c[m>>2]|0;l=o;return n|0}c[g>>2]=_c(c[f>>2]|0,c[e>>2]|0)|0;c[h>>2]=0;c[i>>2]=0;do{c[n>>2]=0;c[k>>2]=0;do{a=N(c[i>>2]|0,c[g>>2]|0)|0;c[n>>2]=c[n>>2]|c[(c[j>>2]|0)+(a+(c[k>>2]|0)<<2)>>2];a=(c[k>>2]|0)+1|0;c[k>>2]=a}while((a|0)<(c[g>>2]|0));c[h>>2]=c[h>>2]|((c[n>>2]|0)!=0&1)<>2];a=(c[i>>2]|0)+1|0;c[i>>2]=a}while((a|0)<(c[e>>2]|0));c[m>>2]=c[h>>2];n=c[m>>2]|0;l=o;return n|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>>>0)/((c[d>>2]|0)>>>0)|0|0}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;h=u+44|0;m=u+40|0;p=u+36|0;j=u+32|0;o=u+28|0;k=u+24|0;n=u+20|0;i=u+16|0;q=u+12|0;s=u+8|0;r=u+4|0;t=u;c[h>>2]=a;c[m>>2]=b;c[p>>2]=d;g[j>>2]=e;g[o>>2]=f;c[i>>2]=c[h>>2];g[n>>2]=-+g[o>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[m>>2]|0)-(c[p>>2]|0)|0))break;g[q>>2]=+g[c[i>>2]>>2];g[s>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<2)>>2];g[(c[i>>2]|0)+(c[p>>2]<<2)>>2]=+g[j>>2]*+g[s>>2]+ +g[o>>2]*+g[q>>2];f=+g[j>>2]*+g[q>>2]+ +g[n>>2]*+g[s>>2];d=c[i>>2]|0;c[i>>2]=d+4;g[d>>2]=f;c[k>>2]=(c[k>>2]|0)+1}c[i>>2]=(c[h>>2]|0)+((c[m>>2]|0)-(c[p>>2]<<1)-1<<2);c[k>>2]=(c[m>>2]|0)-(c[p>>2]<<1)-1;while(1){if((c[k>>2]|0)<0)break;g[r>>2]=+g[c[i>>2]>>2];g[t>>2]=+g[(c[i>>2]|0)+(c[p>>2]<<2)>>2];g[(c[i>>2]|0)+(c[p>>2]<<2)>>2]=+g[j>>2]*+g[t>>2]+ +g[o>>2]*+g[r>>2];f=+g[j>>2]*+g[r>>2]+ +g[n>>2]*+g[t>>2];s=c[i>>2]|0;c[i>>2]=s+-4;g[s>>2]=f;c[k>>2]=(c[k>>2]|0)+-1}l=u;return}function ad(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=l;l=l+48|0;r=j+36|0;o=j+32|0;q=j+28|0;p=j+24|0;n=j+20|0;u=j+16|0;s=j+12|0;t=j+8|0;m=j+4|0;k=j;c[r>>2]=a;c[o>>2]=b;c[q>>2]=d;c[p>>2]=e;c[n>>2]=f;c[u>>2]=h;g[s>>2]=i;h=c[o>>2]|0;c[k>>2]=$()|0;e=l;l=l+((1*(h<<2)|0)+15&-16)|0;g[t>>2]=+Eb(e,c[o>>2]|0,c[q>>2]|0,c[u>>2]|0);bd(e,c[r>>2]|0,c[o>>2]|0,+g[t>>2],+g[s>>2]);Yc(c[r>>2]|0,c[o>>2]|0,-1,c[n>>2]|0,c[q>>2]|0,c[p>>2]|0);c[m>>2]=Zc(e,c[o>>2]|0,c[n>>2]|0)|0;e=c[m>>2]|0;_(c[k>>2]|0);l=j;return e|0}function bd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;n=l;l=l+32|0;m=n+28|0;i=n+24|0;h=n+20|0;q=n+16|0;o=n+12|0;k=n+8|0;p=n+4|0;j=n;c[m>>2]=a;c[i>>2]=b;c[h>>2]=d;g[q>>2]=e;g[o>>2]=f;g[p>>2]=+g[q>>2];f=1.0/+B(+(+g[p>>2]));g[j>>2]=f*+g[o>>2];c[k>>2]=0;do{g[(c[i>>2]|0)+(c[k>>2]<<2)>>2]=+g[j>>2]*+(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0);q=(c[k>>2]|0)+1|0;c[k>>2]=q}while((q|0)<(c[h>>2]|0));l=n;return}function cd(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+48|0;m=k+32|0;f=k+28|0;n=k+24|0;i=k+16|0;p=k+12|0;h=k+8|0;o=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;g[n>>2]=d;c[k+20>>2]=e;g[p>>2]=+dd(c[m>>2]|0,c[m>>2]|0,c[f>>2]|0)+1.0000000036274937e-15;g[o>>2]=+g[p>>2];d=1.0/+B(+(+g[o>>2]));g[h>>2]=d*+g[n>>2];c[j>>2]=c[m>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[f>>2]|0))break;g[c[j>>2]>>2]=+g[h>>2]*+g[c[j>>2]>>2];c[j>>2]=(c[j>>2]|0)+4;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+16|0;k=m+12|0;f=m+8|0;h=m+4|0;j=m;c[i>>2]=a;c[k>>2]=b;c[f>>2]=d;g[j>>2]=0.0;c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;g[j>>2]=e+ +g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return +e}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;t=l;l=l+64|0;k=t+48|0;m=t+44|0;u=t+40|0;j=t+36|0;n=t+28|0;o=t+24|0;q=t+20|0;s=t+16|0;h=t+12|0;i=t+8|0;p=t+4|0;r=t;c[k>>2]=a;c[m>>2]=b;c[u>>2]=d;c[j>>2]=e;c[t+32>>2]=f;g[i>>2]=1.0000000036274937e-15;g[h>>2]=1.0000000036274937e-15;a:do if(c[u>>2]|0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break a;g[p>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]+ +g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];g[r>>2]=+g[(c[k>>2]|0)+(c[n>>2]<<2)>>2]-+g[(c[m>>2]|0)+(c[n>>2]<<2)>>2];g[h>>2]=+g[h>>2]+ +g[p>>2]*+g[p>>2];g[i>>2]=+g[i>>2]+ +g[r>>2]*+g[r>>2];c[n>>2]=(c[n>>2]|0)+1}}else{v=+dd(c[k>>2]|0,c[k>>2]|0,c[j>>2]|0);g[h>>2]=+g[h>>2]+v;v=+dd(c[m>>2]|0,c[m>>2]|0,c[j>>2]|0);g[i>>2]=+g[i>>2]+v}while(0);g[q>>2]=+B(+(+g[h>>2]));g[s>>2]=+B(+(+g[i>>2]));c[o>>2]=~~+z(+(+J(+(+g[s>>2]),+(+g[q>>2]))*10430.3818359375+.5));l=t;return c[o>>2]|0}function fd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;f=h+8|0;e=h+4|0;d=h;c[g>>2]=a;c[e>>2]=32767/((c[(c[g>>2]|0)+2340>>2]|0)+1|0)|0;c[d>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[g>>2]|0)+2340>>2]|0))break;c[d>>2]=(c[d>>2]|0)+(c[e>>2]|0);b[(c[g>>2]|0)+2772+1280+(c[f>>2]<<1)>>1]=c[d>>2];c[f>>2]=(c[f>>2]|0)+1}c[(c[g>>2]|0)+2772+1376>>2]=0;c[(c[g>>2]|0)+2772+1380>>2]=3176576;l=h;return}function gd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+80|0;q=t+40|0;h=t+36|0;m=t+32|0;o=t+28|0;n=t+24|0;i=t+20|0;s=t+16|0;g=t+12|0;j=t+8|0;k=t+48|0;p=t+4|0;r=t;c[q>>2]=a;c[h>>2]=d;c[m>>2]=e;c[o>>2]=f;c[p>>2]=(c[q>>2]|0)+2772;if((c[(c[q>>2]|0)+2316>>2]|0)!=(c[(c[p>>2]|0)+1384>>2]|0)){fd(c[q>>2]|0);c[(c[p>>2]|0)+1384>>2]=c[(c[q>>2]|0)+2316>>2]}a:do if((c[(c[q>>2]|0)+4160>>2]|0)==0?(c[(c[q>>2]|0)+4164>>2]|0)==0:0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[q>>2]|0)+2340>>2]|0))break;d=(c[p>>2]|0)+1280+(c[n>>2]<<1)|0;b[d>>1]=(b[d>>1]|0)+((((b[(c[q>>2]|0)+2344+(c[n>>2]<<1)>>1]|0)-(b[(c[p>>2]|0)+1280+(c[n>>2]<<1)>>1]|0)>>16)*16348|0)+(((b[(c[q>>2]|0)+2344+(c[n>>2]<<1)>>1]|0)-(b[(c[p>>2]|0)+1280+(c[n>>2]<<1)>>1]|0)&65535)*16348>>16));c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=0;c[i>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[q>>2]|0)+2324>>2]|0))break;if((c[(c[h>>2]|0)+16+(c[n>>2]<<2)>>2]|0)>(c[g>>2]|0)){c[g>>2]=c[(c[h>>2]|0)+16+(c[n>>2]<<2)>>2];c[i>>2]=c[n>>2]}c[n>>2]=(c[n>>2]|0)+1}$i((c[p>>2]|0)+(c[(c[q>>2]|0)+2332>>2]<<2)|0,c[p>>2]|0,(N((c[(c[q>>2]|0)+2324>>2]|0)-1|0,c[(c[q>>2]|0)+2332>>2]|0)|0)<<2|0)|0;i=(c[q>>2]|0)+4+((N(c[i>>2]|0,c[(c[q>>2]|0)+2332>>2]|0)|0)<<2)|0;_i(c[p>>2]|0,i|0,c[(c[q>>2]|0)+2332>>2]<<2|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[q>>2]|0)+2324>>2]|0))break a;i=(c[p>>2]|0)+1376|0;c[i>>2]=(c[i>>2]|0)+((((c[(c[h>>2]|0)+16+(c[n>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+1376>>2]|0)>>16)*4634|0)+(((c[(c[h>>2]|0)+16+(c[n>>2]<<2)>>2]|0)-(c[(c[p>>2]|0)+1376>>2]|0)&65535)*4634>>16));c[n>>2]=(c[n>>2]|0)+1}}while(0);if(!(c[(c[q>>2]|0)+4160>>2]|0)){aj((c[p>>2]|0)+1312|0,0,c[(c[q>>2]|0)+2340>>2]<<2|0)|0;l=t;return}i=(c[o>>2]|0)+16|0;c[r>>2]=$()|0;a=l;l=l+((1*(i<<2)|0)+15&-16)|0;i=N(b[(c[q>>2]|0)+4168+56>>1]>>16,(c[(c[q>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0;i=i+((N(b[(c[q>>2]|0)+4168+56>>1]&65535,(c[(c[q>>2]|0)+4168+72+4>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(N(b[(c[q>>2]|0)+4168+56>>1]|0,(c[(c[q>>2]|0)+4168+72+4>>2]>>15)+1>>1)|0);if((c[j>>2]|0)<2097152?(c[(c[p>>2]|0)+1376>>2]|0)<=8388608:0){i=N(c[j>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;i=i+((N(c[j>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16)|0;c[j>>2]=i+(N(c[j>>2]|0,(c[j>>2]>>15)+1>>1)|0);i=N(c[(c[p>>2]|0)+1376>>2]>>16,(c[(c[p>>2]|0)+1376>>2]&65535)<<16>>16)|0;i=i+((N(c[(c[p>>2]|0)+1376>>2]&65535,(c[(c[p>>2]|0)+1376>>2]&65535)<<16>>16)|0)>>16)|0;i=i+(N(c[(c[p>>2]|0)+1376>>2]|0,(c[(c[p>>2]|0)+1376>>2]>>15)+1>>1)|0)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(hd(c[j>>2]|0)|0)<<8}else{c[j>>2]=N(c[j>>2]>>16,c[j>>2]>>16)|0;i=N(c[(c[p>>2]|0)+1376>>2]>>16,c[(c[p>>2]|0)+1376>>2]>>16)|0;c[j>>2]=i-(c[j>>2]<<5);c[j>>2]=(hd(c[j>>2]|0)|0)<<16}id(a+64|0,c[p>>2]|0,c[j>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1380|0);Lf(k,(c[p>>2]|0)+1280|0,c[(c[q>>2]|0)+2340>>2]|0);e=a;f=(c[p>>2]|0)+1312|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[s>>2]=c[(c[q>>2]|0)+2340>>2]>>1;j=N(c[a+(16+(c[n>>2]|0)-1<<2)>>2]>>16,b[k>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-1<<2)>>2]&65535,b[k>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-2<<2)>>2]>>16,b[k+2>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-2<<2)>>2]&65535,b[k+2>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-3<<2)>>2]>>16,b[k+4>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-3<<2)>>2]&65535,b[k+4>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-4<<2)>>2]>>16,b[k+6>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-4<<2)>>2]&65535,b[k+6>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-5<<2)>>2]>>16,b[k+8>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-5<<2)>>2]&65535,b[k+8>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-6<<2)>>2]>>16,b[k+10>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-6<<2)>>2]&65535,b[k+10>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-7<<2)>>2]>>16,b[k+12>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-7<<2)>>2]&65535,b[k+12>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-8<<2)>>2]>>16,b[k+14>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-8<<2)>>2]&65535,b[k+14>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-9<<2)>>2]>>16,b[k+16>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-9<<2)>>2]&65535,b[k+16>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-10<<2)>>2]>>16,b[k+18>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-10<<2)>>2]&65535,b[k+18>>1]|0)|0)>>16));if((c[(c[q>>2]|0)+2340>>2]|0)==16){j=N(c[a+(16+(c[n>>2]|0)-11<<2)>>2]>>16,b[k+20>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-11<<2)>>2]&65535,b[k+20>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-12<<2)>>2]>>16,b[k+22>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-12<<2)>>2]&65535,b[k+22>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-13<<2)>>2]>>16,b[k+24>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-13<<2)>>2]&65535,b[k+24>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-14<<2)>>2]>>16,b[k+26>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-14<<2)>>2]&65535,b[k+26>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-15<<2)>>2]>>16,b[k+28>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-15<<2)>>2]&65535,b[k+28>>1]|0)|0)>>16));j=N(c[a+(16+(c[n>>2]|0)-16<<2)>>2]>>16,b[k+30>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(j+((N(c[a+(16+(c[n>>2]|0)-16<<2)>>2]&65535,b[k+30>>1]|0)|0)>>16))}c[a+(16+(c[n>>2]|0)<<2)>>2]=(c[a+(16+(c[n>>2]|0)<<2)>>2]|0)+(c[s>>2]<<4);if(((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)+((c[a+(16+(c[n>>2]|0)<<2)>>2]>>9)+1>>1)|0)<=32767)if(((b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)+((c[a+(16+(c[n>>2]|0)<<2)>>2]>>9)+1>>1)|0)<-32768)e=-32768;else e=(b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]|0)+((c[a+(16+(c[n>>2]|0)<<2)>>2]>>9)+1>>1)|0;else e=32767;b[(c[m>>2]|0)+(c[n>>2]<<1)>>1]=e;c[n>>2]=(c[n>>2]|0)+1}e=(c[p>>2]|0)+1312|0;f=a+(c[o>>2]<<2)|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));_(c[r>>2]|0);l=t;return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}jd(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function id(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,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;g=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;m=q+4|0;j=q;c[h>>2]=a;c[i>>2]=b;c[g>>2]=d;c[n>>2]=e;c[o>>2]=f;c[j>>2]=255;while(1){if((c[j>>2]|0)<=(c[n>>2]|0))break;c[j>>2]=c[j>>2]>>1}c[p>>2]=c[c[o>>2]>>2];c[k>>2]=0;while(1){d=c[p>>2]|0;if((c[k>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=907633515+(N(d,196314165)|0);c[m>>2]=c[p>>2]>>24&c[j>>2];f=N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]>>16,(c[g>>2]>>4&65535)<<16>>16)|0;f=f+((N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]&65535,(c[g>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,(c[g>>2]>>4>>15)+1>>1)|0)|0)<=32767){f=N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]>>16,(c[g>>2]>>4&65535)<<16>>16)|0;f=f+((N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]&65535,(c[g>>2]>>4&65535)<<16>>16)|0)>>16)|0;if((f+(N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,(c[g>>2]>>4>>15)+1>>1)|0)|0)<-32768)d=-32768;else{d=N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]>>16,(c[g>>2]>>4&65535)<<16>>16)|0;d=d+((N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]&65535,(c[g>>2]>>4&65535)<<16>>16)|0)>>16)|0;d=d+(N(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,(c[g>>2]>>4>>15)+1>>1)|0)|0}}else d=32767;c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]=(d&65535)<<16>>16;c[k>>2]=(c[k>>2]|0)+1}c[c[o>>2]>>2]=d;l=q;return}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=kd(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(ld(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function kd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function md(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+48|0;p=s+40|0;v=s+36|0;n=s+32|0;t=s+28|0;u=s+24|0;r=s+20|0;i=s+16|0;m=s+12|0;o=s+8|0;j=s+44|0;q=s+4|0;k=s;c[p>>2]=b;c[v>>2]=d;c[n>>2]=e;c[t>>2]=f;c[u>>2]=g;c[r>>2]=h;a[j+1>>0]=0;c[q>>2]=c[v>>2];c[i>>2]=(((c[u>>2]|0)+(c[t>>2]<<1)&65535)<<16>>16)*7;c[k>>2]=30180+(c[i>>2]|0);c[n>>2]=(c[n>>2]|0)+8>>4;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=c[(c[r>>2]|0)+(c[i>>2]<<2)>>2];a:do if((c[o>>2]|0)>0){a[j>>0]=a[(c[k>>2]|0)+((c[o>>2]&31|0)<6?c[o>>2]&31:6)>>0]|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=16)break a;if(a[(c[q>>2]|0)+(c[m>>2]|0)>>0]|0)$b(c[p>>2]|0,(a[(c[q>>2]|0)+(c[m>>2]|0)>>0]>>15)+1|0,j,8);c[m>>2]=(c[m>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+16;c[i>>2]=(c[i>>2]|0)+1}l=s;return}function nd(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=l;l=l+48|0;q=t+40|0;w=t+36|0;o=t+32|0;u=t+28|0;v=t+24|0;s=t+20|0;j=t+16|0;n=t+12|0;p=t+8|0;k=t+44|0;r=t+4|0;m=t;c[q>>2]=d;c[w>>2]=e;c[o>>2]=f;c[u>>2]=g;c[v>>2]=h;c[s>>2]=i;a[k+1>>0]=0;c[r>>2]=c[w>>2];c[j>>2]=(((c[v>>2]|0)+(c[u>>2]<<1)&65535)<<16>>16)*7;c[m>>2]=30180+(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)+8>>4;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=c[(c[s>>2]|0)+(c[j>>2]<<2)>>2];a:do if((c[p>>2]|0)>0){a[k>>0]=a[(c[m>>2]|0)+((c[p>>2]&31|0)<6?c[p>>2]&31:6)>>0]|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break a;if((b[(c[r>>2]|0)+(c[n>>2]<<1)>>1]|0)>0){v=((Pb(c[q>>2]|0,k,8)|0)<<1)-1|0;w=(c[r>>2]|0)+(c[n>>2]<<1)|0;b[w>>1]=N(b[w>>1]|0,v)|0}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+1}l=t;return}function od(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;aj(c[d>>2]|0,0,4260)|0;c[(c[d>>2]|0)+2376>>2]=1;c[c[d>>2]>>2]=65536;fd(c[d>>2]|0);ie(c[d>>2]|0);l=b;return 0}function pd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=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;M=l;l=l+144|0;E=M+100|0;F=M+96|0;L=M+92|0;m=M+88|0;v=M+84|0;x=M+80|0;z=M+76|0;A=M+72|0;K=M+68|0;H=M+64|0;u=M+60|0;J=M+56|0;o=M+52|0;q=M+48|0;G=M+44|0;p=M+104|0;t=M+40|0;s=M+36|0;r=M+32|0;y=M+28|0;w=M+24|0;n=M+20|0;k=M+16|0;C=M+12|0;B=M+8|0;D=M+4|0;I=M;c[E>>2]=d;c[F>>2]=e;c[L>>2]=f;c[m>>2]=g;c[v>>2]=h;c[A>>2]=0;f=c[(c[E>>2]|0)+2336>>2]|0;c[I>>2]=$()|0;g=l;l=l+((1*(f<<1)|0)+15&-16)|0;f=l;l=l+((1*((c[(c[E>>2]|0)+2336>>2]|0)+(c[(c[E>>2]|0)+2328>>2]|0)<<2)|0)+15&-16)|0;i=l;l=l+((1*(c[(c[E>>2]|0)+2332>>2]<<2)|0)+15&-16)|0;j=l;l=l+((1*((c[(c[E>>2]|0)+2332>>2]|0)+16<<2)|0)+15&-16)|0;c[k>>2]=b[24558+(a[(c[E>>2]|0)+2736+29>>0]>>1<<2)+(a[(c[E>>2]|0)+2736+30>>0]<<1)>>1];if((a[(c[E>>2]|0)+2736+31>>0]|0)<4)c[u>>2]=1;else c[u>>2]=0;c[n>>2]=a[(c[E>>2]|0)+2736+34>>0];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2328>>2]|0))break;c[n>>2]=907633515+(N(c[n>>2]|0,196314165)|0);c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]=b[(c[m>>2]|0)+(c[x>>2]<<1)>>1]<<14;d=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;h=c[d>>2]|0;if((c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]|0)<=0){if((h|0)<0){e=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1280}}else c[d>>2]=h-1280;e=(c[E>>2]|0)+4+(c[x>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[k>>2]<<4);if((c[n>>2]|0)<0)c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]=0-(c[(c[E>>2]|0)+4+(c[x>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+(b[(c[m>>2]|0)+(c[x>>2]<<1)>>1]|0);c[x>>2]=(c[x>>2]|0)+1}h=j;d=(c[E>>2]|0)+1284|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[B>>2]=(c[E>>2]|0)+4;c[G>>2]=c[L>>2];c[H>>2]=c[(c[E>>2]|0)+2336>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[E>>2]|0)+2324>>2]|0))break;c[D>>2]=i;c[o>>2]=(c[F>>2]|0)+32+(c[z>>2]>>1<<5);_i(p|0,c[o>>2]|0,c[(c[E>>2]|0)+2340>>2]<<1|0)|0;c[q>>2]=(c[F>>2]|0)+96+((c[z>>2]|0)*5<<1);c[J>>2]=a[(c[E>>2]|0)+2736+29>>0];c[r>>2]=c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]>>6;c[y>>2]=qd(c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0,47)|0;a:do if((c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0)!=(c[c[E>>2]>>2]|0)){c[w>>2]=rd(c[c[E>>2]>>2]|0,c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2]|0,16)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break a;n=N(c[w>>2]>>16,(c[j+(c[x>>2]<<2)>>2]&65535)<<16>>16)|0;n=n+((N(c[w>>2]&65535,(c[j+(c[x>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[w>>2]|0,(c[j+(c[x>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[j+(c[x>>2]<<2)>>2]=n;c[x>>2]=(c[x>>2]|0)+1}}else c[w>>2]=65536;while(0);c[c[E>>2]>>2]=c[(c[F>>2]|0)+16+(c[z>>2]<<2)>>2];if((c[(c[E>>2]|0)+4160>>2]|0?(c[(c[E>>2]|0)+4164>>2]|0)==2:0)?((c[z>>2]|0)<2?(a[(c[E>>2]|0)+2736+29>>0]|0)!=2:0):0){n=c[q>>2]|0;b[n>>1]=0;b[n+2>>1]=0;b[n+4>>1]=0;b[n+6>>1]=0;b[n+8>>1]=0;b[(c[q>>2]|0)+4>>1]=4096;c[J>>2]=2;c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[E>>2]|0)+2308>>2]}b:do if((c[J>>2]|0)==2){c[A>>2]=c[(c[F>>2]|0)+(c[z>>2]<<2)>>2];if(c[z>>2]|0?!((c[z>>2]|0)==2&(c[u>>2]|0)!=0):0){if((c[w>>2]|0)==65536)break;c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[A>>2]|0)+2|0))break b;n=N(c[w>>2]>>16,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0;n=n+((N(c[w>>2]&65535,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]&65535)<<16>>16)|0)>>16)|0;n=n+(N(c[w>>2]|0,(c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]>>15)+1>>1)|0)|0;c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]=n;c[x>>2]=(c[x>>2]|0)+1}}c[K>>2]=(c[(c[E>>2]|0)+2336>>2]|0)-(c[A>>2]|0)-(c[(c[E>>2]|0)+2340>>2]|0)-2;if((c[z>>2]|0)==2)_i((c[E>>2]|0)+1348+(c[(c[E>>2]|0)+2336>>2]<<1)|0,c[L>>2]|0,c[(c[E>>2]|0)+2332>>2]<<1<<1|0)|0;n=(c[E>>2]|0)+1348+((c[K>>2]|0)+(N(c[z>>2]|0,c[(c[E>>2]|0)+2332>>2]|0)|0)<<1)|0;Gf(g+(c[K>>2]<<1)|0,n,c[o>>2]|0,(c[(c[E>>2]|0)+2336>>2]|0)-(c[K>>2]|0)|0,c[(c[E>>2]|0)+2340>>2]|0,c[v>>2]|0);if(!(c[z>>2]|0)){n=N(c[y>>2]>>16,(c[(c[F>>2]|0)+136>>2]&65535)<<16>>16)|0;c[y>>2]=n+((N(c[y>>2]&65535,(c[(c[F>>2]|0)+136>>2]&65535)<<16>>16)|0)>>16)<<2}c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[A>>2]|0)+2|0))break b;n=N(c[y>>2]>>16,b[g+((c[(c[E>>2]|0)+2336>>2]|0)-(c[x>>2]|0)-1<<1)>>1]|0)|0;n=n+((N(c[y>>2]&65535,b[g+((c[(c[E>>2]|0)+2336>>2]|0)-(c[x>>2]|0)-1<<1)>>1]|0)|0)>>16)|0;c[f+((c[H>>2]|0)-(c[x>>2]|0)-1<<2)>>2]=n;c[x>>2]=(c[x>>2]|0)+1}}while(0);c:do if((c[J>>2]|0)==2){c[C>>2]=f+((c[H>>2]|0)-(c[A>>2]|0)+2<<2);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2332>>2]|0))break c;c[t>>2]=2;n=N(c[c[C>>2]>>2]>>16,b[c[q>>2]>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(n+((N(c[c[C>>2]>>2]&65535,b[c[q>>2]>>1]|0)|0)>>16));n=N(c[(c[C>>2]|0)+-4>>2]>>16,b[(c[q>>2]|0)+2>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(n+((N(c[(c[C>>2]|0)+-4>>2]&65535,b[(c[q>>2]|0)+2>>1]|0)|0)>>16));n=N(c[(c[C>>2]|0)+-8>>2]>>16,b[(c[q>>2]|0)+4>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(n+((N(c[(c[C>>2]|0)+-8>>2]&65535,b[(c[q>>2]|0)+4>>1]|0)|0)>>16));n=N(c[(c[C>>2]|0)+-12>>2]>>16,b[(c[q>>2]|0)+6>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(n+((N(c[(c[C>>2]|0)+-12>>2]&65535,b[(c[q>>2]|0)+6>>1]|0)|0)>>16));n=N(c[(c[C>>2]|0)+-16>>2]>>16,b[(c[q>>2]|0)+8>>1]|0)|0;c[t>>2]=(c[t>>2]|0)+(n+((N(c[(c[C>>2]|0)+-16>>2]&65535,b[(c[q>>2]|0)+8>>1]|0)|0)>>16));c[C>>2]=(c[C>>2]|0)+4;c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]=(c[(c[B>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[t>>2]<<1);c[f+(c[H>>2]<<2)>>2]=c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]<<1;c[H>>2]=(c[H>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+1}}else c[D>>2]=c[B>>2];while(0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[E>>2]|0)+2332>>2]|0))break;c[s>>2]=c[(c[E>>2]|0)+2340>>2]>>1;n=N(c[j+(16+(c[x>>2]|0)-1<<2)>>2]>>16,b[p>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-1<<2)>>2]&65535,b[p>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-2<<2)>>2]>>16,b[p+2>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-2<<2)>>2]&65535,b[p+2>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-3<<2)>>2]>>16,b[p+4>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-3<<2)>>2]&65535,b[p+4>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-4<<2)>>2]>>16,b[p+6>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-4<<2)>>2]&65535,b[p+6>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-5<<2)>>2]>>16,b[p+8>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-5<<2)>>2]&65535,b[p+8>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-6<<2)>>2]>>16,b[p+10>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-6<<2)>>2]&65535,b[p+10>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-7<<2)>>2]>>16,b[p+12>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-7<<2)>>2]&65535,b[p+12>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-8<<2)>>2]>>16,b[p+14>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-8<<2)>>2]&65535,b[p+14>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-9<<2)>>2]>>16,b[p+16>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-9<<2)>>2]&65535,b[p+16>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-10<<2)>>2]>>16,b[p+18>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-10<<2)>>2]&65535,b[p+18>>1]|0)|0)>>16));if((c[(c[E>>2]|0)+2340>>2]|0)==16){n=N(c[j+(16+(c[x>>2]|0)-11<<2)>>2]>>16,b[p+20>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-11<<2)>>2]&65535,b[p+20>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-12<<2)>>2]>>16,b[p+22>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-12<<2)>>2]&65535,b[p+22>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-13<<2)>>2]>>16,b[p+24>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-13<<2)>>2]&65535,b[p+24>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-14<<2)>>2]>>16,b[p+26>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-14<<2)>>2]&65535,b[p+26>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-15<<2)>>2]>>16,b[p+28>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-15<<2)>>2]&65535,b[p+28>>1]|0)|0)>>16));n=N(c[j+(16+(c[x>>2]|0)-16<<2)>>2]>>16,b[p+30>>1]|0)|0;c[s>>2]=(c[s>>2]|0)+(n+((N(c[j+(16+(c[x>>2]|0)-16<<2)>>2]&65535,b[p+30>>1]|0)|0)>>16))}c[j+(16+(c[x>>2]|0)<<2)>>2]=(c[(c[D>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[s>>2]<<4);n=N(c[j+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;n=n+((N(c[j+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[j+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){n=N(c[j+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;n=n+((N(c[j+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;if(((n+(N(c[j+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)h=-32768;else{h=N(c[j+(16+(c[x>>2]|0)<<2)>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;h=h+((N(c[j+(16+(c[x>>2]|0)<<2)>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;h=(h+(N(c[j+(16+(c[x>>2]|0)<<2)>>2]|0,(c[r>>2]>>15)+1>>1)|0)>>7)+1>>1}}else h=32767;b[(c[G>>2]|0)+(c[x>>2]<<1)>>1]=h;c[x>>2]=(c[x>>2]|0)+1}h=j;d=j+(c[(c[E>>2]|0)+2332>>2]<<2)|0;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[B>>2]=(c[B>>2]|0)+(c[(c[E>>2]|0)+2332>>2]<<2);c[G>>2]=(c[G>>2]|0)+(c[(c[E>>2]|0)+2332>>2]<<1);c[z>>2]=(c[z>>2]|0)+1}h=(c[E>>2]|0)+1284|0;d=j;e=h+64|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));_(c[I>>2]|0);l=M;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(sd((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(sd((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[j>>2]=(sd((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,32)|0;c[n>>2]=b-(d<<3);d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function sd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function td(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=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;x=l;l=l+192|0;r=x+180|0;t=x+176|0;q=x+172|0;p=x+168|0;n=x+164|0;m=x+160|0;k=x+156|0;j=x+152|0;o=x+148|0;u=x+144|0;s=x+4|0;v=x;c[r>>2]=b;c[t>>2]=d;c[q>>2]=e;c[p>>2]=f;c[n>>2]=g;c[m>>2]=h;c[k>>2]=i;c[u>>2]=0;c[j>>2]=c[(c[r>>2]|0)+2328>>2];c[s+136>>2]=0;do if(!(c[n>>2]|0))w=4;else{if((c[n>>2]|0)==2?(c[(c[r>>2]|0)+2420+(c[(c[r>>2]|0)+2388>>2]<<2)>>2]|0)==1:0){w=4;break}je(c[r>>2]|0,s,c[q>>2]|0,1,c[k>>2]|0)}while(0);if((w|0)==4){d=(c[j>>2]|0)+16-1&-16;c[v>>2]=$()|0;w=l;l=l+((1*(d<<1)|0)+15&-16)|0;vd(c[r>>2]|0,c[t>>2]|0,c[(c[r>>2]|0)+2388>>2]|0,c[n>>2]|0,c[m>>2]|0);wd(c[t>>2]|0,w,a[(c[r>>2]|0)+2736+29>>0]|0,a[(c[r>>2]|0)+2736+30>>0]|0,c[(c[r>>2]|0)+2328>>2]|0);ud(c[r>>2]|0,s,c[m>>2]|0);pd(c[r>>2]|0,s,c[q>>2]|0,w,c[k>>2]|0);je(c[r>>2]|0,s,c[q>>2]|0,0,c[k>>2]|0);c[(c[r>>2]|0)+4160>>2]=0;c[(c[r>>2]|0)+4164>>2]=a[(c[r>>2]|0)+2736+29>>0];c[(c[r>>2]|0)+2376>>2]=0;_(c[v>>2]|0)}c[o>>2]=(c[(c[r>>2]|0)+2336>>2]|0)-(c[(c[r>>2]|0)+2328>>2]|0);$i((c[r>>2]|0)+1348|0,(c[r>>2]|0)+1348+(c[(c[r>>2]|0)+2328>>2]<<1)|0,c[o>>2]<<1|0)|0;_i((c[r>>2]|0)+1348+(c[o>>2]<<1)|0,c[q>>2]|0,c[(c[r>>2]|0)+2328>>2]<<1|0)|0;gd(c[r>>2]|0,s,c[q>>2]|0,c[j>>2]|0);ue(c[r>>2]|0,c[q>>2]|0,c[j>>2]|0);c[(c[r>>2]|0)+2308>>2]=c[s+((c[(c[r>>2]|0)+2324>>2]|0)-1<<2)>>2];c[c[p>>2]>>2]=c[j>>2];l=x;return c[u>>2]|0}function ud(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;n=p+24|0;o=p+20|0;q=p+16|0;k=p+12|0;m=p+8|0;i=p+4|0;h=p+64|0;g=p+32|0;j=p;c[n>>2]=d;c[o>>2]=e;c[q>>2]=f;Ld((c[o>>2]|0)+16|0,(c[n>>2]|0)+2736|0,(c[n>>2]|0)+2312|0,(c[q>>2]|0)==2&1,c[(c[n>>2]|0)+2324>>2]|0);Rd(h,(c[n>>2]|0)+2736+8|0,c[(c[n>>2]|0)+2732>>2]|0);Lf((c[o>>2]|0)+32+32|0,h,c[(c[n>>2]|0)+2340>>2]|0);if((c[(c[n>>2]|0)+2376>>2]|0)==1)a[(c[n>>2]|0)+2736+31>>0]=4;if((a[(c[n>>2]|0)+2736+31>>0]|0)<4){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[n>>2]|0)+2340>>2]|0))break;q=(b[(c[n>>2]|0)+2344+(c[k>>2]<<1)>>1]|0)+((N(a[(c[n>>2]|0)+2736+31>>0]|0,(b[h+(c[k>>2]<<1)>>1]|0)-(b[(c[n>>2]|0)+2344+(c[k>>2]<<1)>>1]|0)|0)|0)>>2)&65535;b[g+(c[k>>2]<<1)>>1]=q;c[k>>2]=(c[k>>2]|0)+1}Lf((c[o>>2]|0)+32|0,g,c[(c[n>>2]|0)+2340>>2]|0)}else _i((c[o>>2]|0)+32|0,(c[o>>2]|0)+32+32|0,c[(c[n>>2]|0)+2340>>2]<<1|0)|0;_i((c[n>>2]|0)+2344|0,h|0,c[(c[n>>2]|0)+2340>>2]<<1|0)|0;if(c[(c[n>>2]|0)+4160>>2]|0){yf((c[o>>2]|0)+32|0,c[(c[n>>2]|0)+2340>>2]|0,63570);yf((c[o>>2]|0)+32+32|0,c[(c[n>>2]|0)+2340>>2]|0,63570)}if((a[(c[n>>2]|0)+2736+29>>0]|0)!=2){aj(c[o>>2]|0,0,c[(c[n>>2]|0)+2324>>2]<<2|0)|0;aj((c[o>>2]|0)+96|0,0,(c[(c[n>>2]|0)+2324>>2]|0)*5<<1|0)|0;a[(c[n>>2]|0)+2736+32>>0]=0;n=0;q=c[o>>2]|0;q=q+136|0;c[q>>2]=n;l=p;return}zf(b[(c[n>>2]|0)+2736+26>>1]|0,a[(c[n>>2]|0)+2736+28>>0]|0,c[o>>2]|0,c[(c[n>>2]|0)+2316>>2]|0,c[(c[n>>2]|0)+2324>>2]|0);c[j>>2]=c[17644+(a[(c[n>>2]|0)+2736+32>>0]<<2)>>2];c[m>>2]=0;while(1){f=(c[n>>2]|0)+2736|0;if((c[m>>2]|0)>=(c[(c[n>>2]|0)+2324>>2]|0))break;c[i>>2]=a[f+4+(c[m>>2]|0)>>0];c[k>>2]=0;while(1){if((c[k>>2]|0)>=5)break;b[(c[o>>2]|0)+96+(((c[m>>2]|0)*5|0)+(c[k>>2]|0)<<1)>>1]=a[(c[j>>2]|0)+(((c[i>>2]|0)*5|0)+(c[k>>2]|0))>>0]<<7;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[i>>2]=a[f+33>>0];n=b[24566+(c[i>>2]<<1)>>1]|0;q=c[o>>2]|0;q=q+136|0;c[q>>2]=n;l=p;return}function vd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+96|0;r=t+36|0;s=t+32|0;u=t+28|0;v=t+24|0;n=t+20|0;k=t+16|0;q=t+12|0;i=t+8|0;o=t+4|0;p=t;j=t+40|0;m=t+72|0;c[r>>2]=d;c[s>>2]=e;c[u>>2]=f;c[v>>2]=g;c[n>>2]=h;if(!(c[v>>2]|0)?!(c[(c[r>>2]|0)+2404+(c[u>>2]<<2)>>2]|0):0)c[i>>2]=Pb(c[s>>2]|0,29020,8)|0;else c[i>>2]=(Pb(c[s>>2]|0,29016,8)|0)+2;a[(c[r>>2]|0)+2736+29>>0]=c[i>>2]>>1;a[(c[r>>2]|0)+2736+30>>0]=c[i>>2]&1;f=c[s>>2]|0;if((c[n>>2]|0)==2){v=(Pb(f,26767,8)|0)&255;a[(c[r>>2]|0)+2736>>0]=v}else{u=(Pb(f,26743+(a[(c[r>>2]|0)+2736+29>>0]<<3)|0,8)|0)<<3&255;a[(c[r>>2]|0)+2736>>0]=u;u=((Pb(c[s>>2]|0,29045,8)|0)&255)<<24>>24;v=(c[r>>2]|0)+2736|0;a[v>>0]=(a[v>>0]|0)+u}c[k>>2]=1;while(1){f=c[s>>2]|0;if((c[k>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(Pb(f,26767,8)|0)&255;a[(c[r>>2]|0)+2736+(c[k>>2]|0)>>0]=v;c[k>>2]=(c[k>>2]|0)+1}v=(Pb(f,(c[(c[(c[r>>2]|0)+2732>>2]|0)+12>>2]|0)+(N(a[(c[r>>2]|0)+2736+29>>0]>>1,b[c[(c[r>>2]|0)+2732>>2]>>1]|0)|0)|0,8)|0)&255;a[(c[r>>2]|0)+2736+8>>0]=v;Xe(j,m,c[(c[r>>2]|0)+2732>>2]|0,a[(c[r>>2]|0)+2736+8>>0]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[(c[r>>2]|0)+2732>>2]|0)+2>>1]|0))break;c[i>>2]=Pb(c[s>>2]|0,(c[(c[(c[r>>2]|0)+2732>>2]|0)+24>>2]|0)+(b[j+(c[k>>2]<<1)>>1]|0)|0,8)|0;if(c[i>>2]|0){if((c[i>>2]|0)==8){v=Pb(c[s>>2]|0,29053,8)|0;c[i>>2]=(c[i>>2]|0)+v}}else{v=Pb(c[s>>2]|0,29053,8)|0;c[i>>2]=(c[i>>2]|0)-v}a[(c[r>>2]|0)+2736+8+((c[k>>2]|0)+1)>>0]=(c[i>>2]|0)-4;c[k>>2]=(c[k>>2]|0)+1}if((c[(c[r>>2]|0)+2324>>2]|0)==4){f=(Pb(c[s>>2]|0,29022,8)|0)&255;h=c[r>>2]|0}else{f=4;h=c[r>>2]|0}a[h+2736+31>>0]=f;if((a[(c[r>>2]|0)+2736+29>>0]|0)!=2){v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=Pb(u,29030,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}c[o>>2]=1;if(((c[n>>2]|0)==2?(c[(c[r>>2]|0)+2396>>2]|0)==2:0)?(c[p>>2]=((Pb(c[s>>2]|0,29092,8)|0)&65535)<<16>>16,(c[p>>2]|0)>0):0){c[p>>2]=(c[p>>2]|0)-9;b[(c[r>>2]|0)+2736+26>>1]=(b[(c[r>>2]|0)+2400>>1]|0)+(c[p>>2]|0);c[o>>2]=0}if(c[o>>2]|0){u=((Pb(c[s>>2]|0,29060,8)|0)&65535)<<16>>16;u=(N(u,c[(c[r>>2]|0)+2316>>2]>>1)|0)&65535;b[(c[r>>2]|0)+2736+26>>1]=u;u=((Pb(c[s>>2]|0,c[(c[r>>2]|0)+2380>>2]|0,8)|0)&65535)<<16>>16;v=(c[r>>2]|0)+2736+26|0;b[v>>1]=(b[v>>1]|0)+u}b[(c[r>>2]|0)+2400>>1]=b[(c[r>>2]|0)+2736+26>>1]|0;v=(Pb(c[s>>2]|0,c[(c[r>>2]|0)+2384>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+28>>0]=v;v=(Pb(c[s>>2]|0,26808,8)|0)&255;a[(c[r>>2]|0)+2736+32>>0]=v;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[r>>2]|0)+2324>>2]|0))break;v=(Pb(c[s>>2]|0,c[17620+(a[(c[r>>2]|0)+2736+32>>0]<<2)>>2]|0,8)|0)&255;a[(c[r>>2]|0)+2736+4+(c[q>>2]|0)>>0]=v;c[q>>2]=(c[q>>2]|0)+1}if(!(c[n>>2]|0)){f=(Pb(c[s>>2]|0,29013,8)|0)&255;h=c[r>>2]|0}else{f=0;h=c[r>>2]|0}a[h+2736+33>>0]=f;v=c[r>>2]|0;v=v+2736|0;v=v+29|0;v=a[v>>0]|0;v=v<<24>>24;u=c[r>>2]|0;u=u+2396|0;c[u>>2]=v;u=c[s>>2]|0;u=Pb(u,29030,8)|0;u=u&255;v=c[r>>2]|0;v=v+2736|0;v=v+34|0;a[v>>0]=u;l=t;return}function wd(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=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;y=l;l=l+224|0;s=y+212|0;t=y+208|0;w=y+204|0;v=y+200|0;k=y+196|0;m=y+192|0;o=y+188|0;p=y+184|0;n=y+180|0;j=y+176|0;q=y+172|0;h=y+168|0;x=y+88|0;r=y+8|0;u=y+4|0;i=y;c[s>>2]=a;c[t>>2]=d;c[w>>2]=e;c[v>>2]=f;c[k>>2]=g;c[h>>2]=Pb(c[s>>2]|0,29519+((c[w>>2]>>1)*9|0)|0,8)|0;c[n>>2]=c[k>>2]>>4;if((c[n>>2]<<4|0)<(c[k>>2]|0))c[n>>2]=(c[n>>2]|0)+1;c[i>>2]=29177+((c[h>>2]|0)*18|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[r+(c[m>>2]<<2)>>2]=0;g=Pb(c[s>>2]|0,c[i>>2]|0,8)|0;h=c[m>>2]|0;while(1){c[x+(h<<2)>>2]=g;h=c[m>>2]|0;if((c[x+(c[m>>2]<<2)>>2]|0)!=17)break;g=r+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=Pb(c[s>>2]|0,29339+((c[r+(c[m>>2]<<2)>>2]|0)==10&1)|0,8)|0;h=c[m>>2]|0}c[m>>2]=h+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;h=(c[t>>2]|0)+((c[m>>2]&65535)<<16>>16<<4<<1)|0;if((c[x+(c[m>>2]<<2)>>2]|0)>0)Be(h,c[s>>2]|0,c[x+(c[m>>2]<<2)>>2]|0);else{g=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(g|0))}c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;if((c[r+(c[m>>2]<<2)>>2]|0)>0){c[q>>2]=c[r+(c[m>>2]<<2)>>2];c[u>>2]=(c[t>>2]|0)+((c[m>>2]&65535)<<16>>16<<4<<1);c[p>>2]=0;while(1){if((c[p>>2]|0)>=16)break;c[j>>2]=b[(c[u>>2]|0)+(c[p>>2]<<1)>>1];c[o>>2]=0;while(1){h=c[j>>2]|0;if((c[o>>2]|0)>=(c[q>>2]|0))break;c[j>>2]=h<<1;i=Pb(c[s>>2]|0,29011,8)|0;c[j>>2]=(c[j>>2]|0)+i;c[o>>2]=(c[o>>2]|0)+1}b[(c[u>>2]|0)+(c[p>>2]<<1)>>1]=h;c[p>>2]=(c[p>>2]|0)+1}i=x+(c[m>>2]<<2)|0;c[i>>2]=c[i>>2]|c[q>>2]<<5}c[m>>2]=(c[m>>2]|0)+1}nd(c[s>>2]|0,c[t>>2]|0,c[k>>2]|0,c[w>>2]|0,c[v>>2]|0,x);l=y;return}function xd(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,m=0;m=l;l=l+32|0;j=m+16|0;i=m+12|0;f=m+8|0;h=m+4|0;k=m;c[j>>2]=b;c[i>>2]=d;c[f>>2]=e;c[k>>2]=0;c[(c[j>>2]|0)+2332>>2]=((c[i>>2]&65535)<<16>>16)*5;c[h>>2]=N((c[(c[j>>2]|0)+2324>>2]&65535)<<16>>16,(c[(c[j>>2]|0)+2332>>2]&65535)<<16>>16)|0;if(!((c[(c[j>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[(c[j>>2]|0)+2320>>2]|0)==(c[f>>2]|0):0)){b=Tf((c[j>>2]|0)+2432|0,((c[i>>2]&65535)<<16>>16)*1e3|0,c[f>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[j>>2]|0)+2320>>2]=c[f>>2]}if((c[(c[j>>2]|0)+2316>>2]|0)==(c[i>>2]|0)?(c[h>>2]|0)==(c[(c[j>>2]|0)+2328>>2]|0):0){k=c[k>>2]|0;l=m;return k|0}b=(c[(c[j>>2]|0)+2324>>2]|0)==4;c[(c[j>>2]|0)+2384>>2]=(c[i>>2]|0)==8?(b?29147:29170):b?29113:29158;if((c[(c[j>>2]|0)+2316>>2]|0)!=(c[i>>2]|0)){c[(c[j>>2]|0)+2336>>2]=((c[i>>2]&65535)<<16>>16)*20;e=(c[j>>2]|0)+2340|0;if((c[i>>2]|0)==8|(c[i>>2]|0)==12){c[e>>2]=10;e=c[j>>2]|0;f=17668}else{c[e>>2]=16;e=c[j>>2]|0;f=17704}c[e+2732>>2]=f;do if((c[i>>2]|0)!=16){if((c[i>>2]|0)==12){e=29039;f=c[j>>2]|0;g=16;break}if((c[i>>2]|0)==8){e=29030;f=c[j>>2]|0;g=16}}else{e=29045;f=c[j>>2]|0;g=16}while(0);if((g|0)==16)c[f+2380>>2]=e;c[(c[j>>2]|0)+2376>>2]=1;c[(c[j>>2]|0)+2308>>2]=100;a[(c[j>>2]|0)+2312>>0]=10;c[(c[j>>2]|0)+4164>>2]=0;aj((c[j>>2]|0)+1348|0,0,960)|0;e=(c[j>>2]|0)+1284|0;f=e+64|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0))}c[(c[j>>2]|0)+2316>>2]=c[i>>2];c[(c[j>>2]|0)+2328>>2]=c[h>>2];k=c[k>>2]|0;l=m;return k|0}function yd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=8544;l=d;return c[b>>2]|0}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+8|0;f=g+4|0;b=g;c[d>>2]=a;c[f>>2]=0;c[b>>2]=c[d>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=2)break;c[f>>2]=od((c[b>>2]|0)+((c[e>>2]|0)*4260|0)|0)|0;c[e>>2]=(c[e>>2]|0)+1}e=(c[d>>2]|0)+8520|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[d>>2]|0)+8540>>2]=0;l=g;return c[f>>2]|0}function Ad(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;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,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0;Q=l;l=l+784|0;O=Q+128|0;S=Q+124|0;H=Q+120|0;K=Q+116|0;R=Q+112|0;w=Q+108|0;E=Q+104|0;B=Q+100|0;t=Q+96|0;J=Q+92|0;A=Q+88|0;I=Q+84|0;M=Q+80|0;C=Q+76|0;n=Q+72|0;F=Q+64|0;s=Q+56|0;D=Q+52|0;L=Q+48|0;x=Q+44|0;v=Q+40|0;G=Q+36|0;y=Q+32|0;m=Q+28|0;p=Q+136|0;o=Q+24|0;P=Q+20|0;r=Q+16|0;u=Q+12|0;z=Q;c[S>>2]=d;c[H>>2]=e;c[K>>2]=f;c[R>>2]=g;c[w>>2]=h;c[E>>2]=i;c[B>>2]=j;c[t>>2]=k;c[I>>2]=0;c[M>>2]=0;c[s>>2]=0;c[s+4>>2]=0;c[L>>2]=c[S>>2];c[x>>2]=c[L>>2];a:do if(c[R>>2]|0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break a;c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2388>>2]=0;c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[(c[H>>2]|0)+4>>2]|0)>(c[(c[L>>2]|0)+8536>>2]|0)){S=od((c[x>>2]|0)+4260|0)|0;c[M>>2]=(c[M>>2]|0)+S}if((c[(c[H>>2]|0)+4>>2]|0)==1?(c[(c[L>>2]|0)+8536>>2]|0)==2:0)k=(c[(c[H>>2]|0)+12>>2]|0)==((c[(c[x>>2]|0)+2316>>2]|0)*1e3|0);else k=0;c[G>>2]=k&1;b:do if(!(c[(c[x>>2]|0)+2388>>2]|0)){c[A>>2]=0;c:while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break b;do if(!(c[(c[H>>2]|0)+16>>2]|0)){c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]=1;k=2;e=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0}else{if((c[(c[H>>2]|0)+16>>2]|0)==10){c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]=1;k=2;e=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==20){c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]=1;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)==40){c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]=2;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0;break}if((c[(c[H>>2]|0)+16>>2]|0)!=60){q=23;break c}c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]=3;k=4;e=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0}while(0);c[e+2324>>2]=k;c[m>>2]=(c[(c[H>>2]|0)+12>>2]>>10)+1;if((c[m>>2]|0)!=8&(c[m>>2]|0)!=12&(c[m>>2]|0)!=16){q=25;break}S=xd((c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0,c[m>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+S;c[A>>2]=(c[A>>2]|0)+1}if((q|0)==23){c[O>>2]=-203;S=c[O>>2]|0;l=Q;return S|0}else if((q|0)==25){c[O>>2]=-200;S=c[O>>2]|0;l=Q;return S|0}}while(0);do if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0){if((c[(c[L>>2]|0)+8532>>2]|0)!=1?(c[(c[L>>2]|0)+8536>>2]|0)!=1:0)break;c[(c[L>>2]|0)+8520>>2]=0;c[(c[L>>2]|0)+8520+8>>2]=0;_i((c[x>>2]|0)+4260+2432|0,(c[x>>2]|0)+2432|0,300)|0}while(0);c[(c[L>>2]|0)+8532>>2]=c[c[H>>2]>>2];c[(c[L>>2]|0)+8536>>2]=c[(c[H>>2]|0)+4>>2];if((c[(c[H>>2]|0)+8>>2]|0)<=48e3?(c[(c[H>>2]|0)+8>>2]|0)>=8e3:0){d:do if((c[K>>2]|0)!=1?(c[(c[x>>2]|0)+2388>>2]|0)==0:0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;c[J>>2]=0;while(1){S=(c[J>>2]|0)<(c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]|0);e=Ob(c[w>>2]|0,1)|0;k=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0;if(!S)break;c[k+2404+(c[J>>2]<<2)>>2]=e;c[J>>2]=(c[J>>2]|0)+1}c[k+2416>>2]=e;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;S=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;e:do if(c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2416>>2]|0){if((c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]|0)==1){c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420>>2]=1;break}c[n>>2]=(Pb(c[w>>2]|0,c[17836+((c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]|0)-2<<2)>>2]|0,8)|0)+1;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2392>>2]|0))break e;c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420+(c[J>>2]<<2)>>2]=c[n>>2]>>c[J>>2]&1;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[A>>2]=(c[A>>2]|0)+1}if(!(c[K>>2]|0)){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[x>>2]|0)+2392>>2]|0))break d;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if(c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420+(c[J>>2]<<2)>>2]|0){do if((c[A>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0){gg(c[w>>2]|0,s);if(c[(c[x>>2]|0)+4260+2420+(c[J>>2]<<2)>>2]|0)break;hg(c[w>>2]|0,I)}while(0);do if((c[J>>2]|0)>0){if(!(c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420+((c[J>>2]|0)-1<<2)>>2]|0)){q=64;break}c[o>>2]=2}else q=64;while(0);if((q|0)==64){q=0;c[o>>2]=0}vd((c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0,c[w>>2]|0,c[J>>2]|0,1,c[o>>2]|0);wd(c[w>>2]|0,p,a[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2736+29>>0]|0,a[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2736+30>>0]|0,c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2328>>2]|0)}c[A>>2]=(c[A>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}}}while(0);f:do if((c[(c[H>>2]|0)+4>>2]|0)==2){do if(c[K>>2]|0){if((c[K>>2]|0)==2?(c[(c[x>>2]|0)+2420+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0)==1:0)break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=2)break f;c[s+(c[A>>2]<<2)>>2]=b[(c[L>>2]|0)+8520+(c[A>>2]<<1)>>1];c[A>>2]=(c[A>>2]|0)+1}}while(0);gg(c[w>>2]|0,s);if(!((c[K>>2]|0)==0?!(c[(c[x>>2]|0)+4260+2404+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0):0))q=74;do if((q|0)==74){if((c[K>>2]|0)==2?(c[(c[x>>2]|0)+4260+2420+(c[(c[x>>2]|0)+2388>>2]<<2)>>2]|0)==0:0)break;c[I>>2]=0;break f}while(0);hg(c[w>>2]|0,I)}while(0);if(((c[I>>2]|0)==0?(c[(c[H>>2]|0)+4>>2]|0)==2:0)?(c[(c[L>>2]|0)+8540>>2]|0)==1:0){aj((c[L>>2]|0)+4260+1348|0,0,960)|0;k=(c[L>>2]|0)+4260+1284|0;e=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(e|0));c[(c[L>>2]|0)+4260+2308>>2]=100;a[(c[L>>2]|0)+4260+2312>>0]=10;c[(c[L>>2]|0)+4260+4164>>2]=0;c[(c[L>>2]|0)+4260+2376>>2]=1}S=N(c[(c[H>>2]|0)+12>>2]|0,c[(c[H>>2]|0)+4>>2]|0)|0;c[y>>2]=(S|0)<(N(c[(c[H>>2]|0)+8>>2]|0,c[c[H>>2]>>2]|0)|0)&1;if(c[y>>2]|0)k=1;else k=N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0;c[P>>2]=$()|0;d=l;l=l+((1*(k<<1)|0)+15&-16)|0;if(c[y>>2]|0){c[F>>2]=c[E>>2];e=c[x>>2]|0;k=c[E>>2]|0}else{c[F>>2]=d;e=c[x>>2]|0;k=d}c[F+4>>2]=k+(c[e+2328>>2]<<1)+4;if(!(c[K>>2]|0))c[v>>2]=((c[I>>2]|0)!=0^1)&1;else{if(c[(c[L>>2]|0)+8540>>2]|0)if((c[K>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)k=(c[(c[x>>2]|0)+4260+2420+(c[(c[x>>2]|0)+4260+2388>>2]<<2)>>2]|0)==1;else k=0;else k=1;c[v>>2]=k&1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[H>>2]|0)+4>>2]|0))break;if((c[A>>2]|0)==0|(c[v>>2]|0)!=0){c[r>>2]=(c[(c[x>>2]|0)+2388>>2]|0)-(c[A>>2]|0);g:do if((c[r>>2]|0)<=0)c[u>>2]=0;else{if((c[K>>2]|0)==2){c[u>>2]=c[(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2420+((c[r>>2]|0)-1<<2)>>2]|0?2:0;break}do if((c[A>>2]|0)>0){if(!(c[(c[L>>2]|0)+8540>>2]|0))break;c[u>>2]=1;break g}while(0);c[u>>2]=2}while(0);S=td((c[x>>2]|0)+((c[A>>2]|0)*4260|0)|0,c[w>>2]|0,(c[F+(c[A>>2]<<2)>>2]|0)+4|0,C,c[K>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+S}else aj((c[F+(c[A>>2]<<2)>>2]|0)+4|0,0,c[C>>2]<<1|0)|0;S=(c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2388|0;c[S>>2]=(c[S>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((c[c[H>>2]>>2]|0)==2?(c[(c[H>>2]|0)+4>>2]|0)==2:0)cf((c[L>>2]|0)+8520|0,c[F>>2]|0,c[F+4>>2]|0,s,c[(c[x>>2]|0)+2316>>2]|0,c[C>>2]|0);else{S=c[F>>2]|0;R=(c[L>>2]|0)+8520+4|0;b[S>>1]=b[R>>1]|0;b[S+2>>1]=b[R+2>>1]|0;S=(c[L>>2]|0)+8520+4|0;R=(c[F>>2]|0)+(c[C>>2]<<1)|0;b[S>>1]=b[R>>1]|0;b[S+2>>1]=b[R+2>>1]|0}S=N(c[C>>2]|0,c[(c[H>>2]|0)+8>>2]|0)|0;c[c[B>>2]>>2]=(S|0)/(((c[(c[x>>2]|0)+2316>>2]&65535)<<16>>16)*1e3|0)|0;if((c[c[H>>2]>>2]|0)==2)k=c[c[B>>2]>>2]|0;else k=1;e=l;l=l+((1*(k<<1)|0)+15&-16)|0;if((c[c[H>>2]>>2]|0)==2)c[D>>2]=e;else c[D>>2]=c[E>>2];if(c[y>>2]|0)k=N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0;else k=1;e=l;l=l+((1*(k<<1)|0)+15&-16)|0;if(c[y>>2]|0){S=(N(c[(c[H>>2]|0)+4>>2]|0,(c[(c[x>>2]|0)+2328>>2]|0)+2|0)|0)<<1;_i(e|0,c[E>>2]|0,S+0|0)|0;c[F>>2]=e;c[F+4>>2]=e+(c[(c[x>>2]|0)+2328>>2]<<1)+4}c[A>>2]=0;while(1){S=c[H>>2]|0;if((c[A>>2]|0)>=(c[((c[c[H>>2]>>2]|0)<(c[(c[H>>2]|0)+4>>2]|0)?S:S+4|0)>>2]|0))break;S=Uf((c[x>>2]|0)+((c[A>>2]|0)*4260|0)+2432|0,c[D>>2]|0,(c[F+(c[A>>2]<<2)>>2]|0)+2|0,c[C>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+S;h:do if((c[c[H>>2]>>2]|0)==2){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break h;b[(c[E>>2]|0)+((c[A>>2]|0)+(c[J>>2]<<1)<<1)>>1]=b[(c[D>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[A>>2]=(c[A>>2]|0)+1}i:do if((c[c[H>>2]>>2]|0)==2){if((c[(c[H>>2]|0)+4>>2]|0)!=1)break;if(c[G>>2]|0){S=Uf((c[x>>2]|0)+4260+2432|0,c[D>>2]|0,(c[F>>2]|0)+2|0,c[C>>2]|0)|0;c[M>>2]=(c[M>>2]|0)+S;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break i;b[(c[E>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[D>>2]|0)+(c[J>>2]<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}else{c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[c[B>>2]>>2]|0))break i;b[(c[E>>2]|0)+(1+(c[J>>2]<<1)<<1)>>1]=b[(c[E>>2]|0)+(0+(c[J>>2]<<1)<<1)>>1]|0;c[J>>2]=(c[J>>2]|0)+1}}}while(0);if((c[(c[x>>2]|0)+4164>>2]|0)==2){c[z>>2]=c[4402];c[z+4>>2]=c[4403];c[z+8>>2]=c[4404];e=N(c[(c[x>>2]|0)+2308>>2]|0,c[z+((c[(c[x>>2]|0)+2316>>2]|0)-8>>2<<2)>>2]|0)|0;k=c[H>>2]|0}else{e=0;k=c[H>>2]|0}c[k+20>>2]=e;j:do if((c[K>>2]|0)==1){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[L>>2]|0)+8536>>2]|0))break j;a[(c[L>>2]|0)+((c[J>>2]|0)*4260|0)+2312>>0]=10;c[J>>2]=(c[J>>2]|0)+1}}else c[(c[L>>2]|0)+8540>>2]=c[I>>2];while(0);c[O>>2]=c[M>>2];_(c[P>>2]|0);S=c[O>>2]|0;l=Q;return S|0}c[M>>2]=-200;c[O>>2]=c[M>>2];S=c[O>>2]|0;l=Q;return S|0}function Bd(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[c[e>>2]>>2]=24568;l=d;return c[b>>2]|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;e=k+16|0;g=k+12|0;i=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[j>>2]=0;c[i>>2]=c[f>>2];aj(c[i>>2]|0,0,24568)|0;c[h>>2]=0;while(1){b=c[i>>2]|0;if((c[h>>2]|0)>=2)break;d=ff(b+((c[h>>2]|0)*12240|0)|0,c[e>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+d;c[h>>2]=(c[h>>2]|0)+1}c[b+24544>>2]=1;c[(c[i>>2]|0)+24548>>2]=1;i=Dd(c[f>>2]|0,c[g>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+i;l=k;return c[j>>2]|0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;i=g+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[i>>2]=a;c[d>>2]=b;c[e>>2]=0;c[h>>2]=c[i>>2];c[f>>2]=c[h>>2];c[c[d>>2]>>2]=c[(c[h>>2]|0)+24544>>2];c[(c[d>>2]|0)+4>>2]=c[(c[h>>2]|0)+24548>>2];c[(c[d>>2]|0)+8>>2]=c[(c[f>>2]|0)+4580>>2];c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+4588>>2];c[(c[d>>2]|0)+16>>2]=c[(c[f>>2]|0)+4592>>2];c[(c[d>>2]|0)+20>>2]=c[(c[f>>2]|0)+4596>>2];c[(c[d>>2]|0)+24>>2]=c[(c[f>>2]|0)+4636>>2];c[(c[d>>2]|0)+28>>2]=c[(c[f>>2]|0)+4632>>2];c[(c[d>>2]|0)+32>>2]=c[(c[f>>2]|0)+4640>>2];c[(c[d>>2]|0)+36>>2]=c[(c[f>>2]|0)+4648>>2];c[(c[d>>2]|0)+40>>2]=c[(c[f>>2]|0)+6120>>2];c[(c[d>>2]|0)+44>>2]=c[(c[f>>2]|0)+6108>>2];c[(c[d>>2]|0)+48>>2]=c[(c[f>>2]|0)+4708>>2];c[(c[d>>2]|0)+68>>2]=((c[(c[f>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;c[(c[d>>2]|0)+72>>2]=c[(c[f>>2]|0)+4560>>2];if((c[(c[f>>2]|0)+4600>>2]|0)!=16){h=0;h=h&1;i=c[d>>2]|0;i=i+76|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}h=(c[(c[f>>2]|0)+16+12>>2]|0)==0;h=h&1;i=c[d>>2]|0;i=i+76|0;c[i>>2]=h;i=c[e>>2]|0;l=g;return i|0}function Ed(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0;Z=l;l=l+176|0;V=Z+156|0;aa=Z+152|0;Q=Z+148|0;J=Z+144|0;F=Z+140|0;I=Z+136|0;D=Z+132|0;S=Z+128|0;R=Z+124|0;x=Z+120|0;B=Z+116|0;w=Z+112|0;Y=Z+108|0;X=Z+104|0;U=Z+100|0;G=Z+96|0;H=Z+92|0;C=Z+88|0;E=Z+84|0;m=Z+80|0;K=Z+76|0;q=Z+72|0;p=Z+64|0;s=Z+56|0;o=Z+52|0;L=Z+48|0;T=Z+44|0;n=Z+40|0;v=Z+36|0;M=Z+32|0;k=Z+28|0;W=Z+24|0;z=Z+20|0;y=Z+160|0;t=Z+16|0;r=Z+12|0;A=Z+8|0;O=Z+4|0;u=Z;c[aa>>2]=d;c[Q>>2]=e;c[J>>2]=f;c[F>>2]=g;c[I>>2]=h;c[D>>2]=i;c[S>>2]=j;c[Y>>2]=0;c[X>>2]=0;c[U>>2]=0;c[E>>2]=0;c[T>>2]=c[aa>>2];if(c[(c[Q>>2]|0)+64>>2]|0){c[(c[T>>2]|0)+4696>>2]=1;c[(c[T>>2]|0)+12240+4696>>2]=1}c[(c[T>>2]|0)+12240+5780>>2]=0;c[(c[T>>2]|0)+5780>>2]=0;aa=df(c[Q>>2]|0)|0;c[U>>2]=aa;if(aa|0){c[V>>2]=c[U>>2];aa=c[V>>2]|0;l=Z;return aa|0}c[(c[Q>>2]|0)+84>>2]=0;if((c[(c[Q>>2]|0)+4>>2]|0)>(c[(c[T>>2]|0)+24548>>2]|0)?(aa=ff((c[T>>2]|0)+12240|0,c[(c[T>>2]|0)+5124>>2]|0)|0,c[U>>2]=(c[U>>2]|0)+aa,c[(c[T>>2]|0)+24480>>2]=0,c[(c[T>>2]|0)+24480+8>>2]=0,c[(c[T>>2]|0)+24480+12>>2]=0,c[(c[T>>2]|0)+24480+12+4>>2]=1,c[(c[T>>2]|0)+24480+12+8>>2]=0,c[(c[T>>2]|0)+24480+12+12>>2]=1,b[(c[T>>2]|0)+24480+30>>1]=0,b[(c[T>>2]|0)+24480+28>>1]=16384,(c[(c[T>>2]|0)+24544>>2]|0)==2):0){_i((c[T>>2]|0)+12240+5808|0,(c[T>>2]|0)+5808|0,300)|0;aa=(c[T>>2]|0)+12240|0;f=c[T>>2]|0;c[aa>>2]=c[f>>2];c[aa+4>>2]=c[f+4>>2]}if((c[(c[Q>>2]|0)+24>>2]|0)!=(c[(c[T>>2]|0)+4636>>2]|0))e=1;else e=(c[(c[T>>2]|0)+24548>>2]|0)!=(c[(c[Q>>2]|0)+4>>2]|0);c[n>>2]=e&1;c[(c[T>>2]|0)+24544>>2]=c[c[Q>>2]>>2];c[(c[T>>2]|0)+24548>>2]=c[(c[Q>>2]|0)+4>>2];c[C>>2]=((c[F>>2]|0)*100|0)/(c[(c[Q>>2]|0)+8>>2]|0)|0;c[M>>2]=(c[C>>2]|0)>1?c[C>>2]>>1:1;c[v>>2]=0;e=c[C>>2]|0;a:do if(!(c[S>>2]|0)){aa=N(e,c[(c[Q>>2]|0)+8>>2]|0)|0;if((c[F>>2]|0)<0?1:(aa|0)!=((c[F>>2]|0)*100|0)){c[V>>2]=-101;aa=c[V>>2]|0;l=Z;return aa|0}if(((c[F>>2]|0)*1e3|0)>(N(c[(c[Q>>2]|0)+24>>2]|0,c[(c[Q>>2]|0)+8>>2]|0)|0)){c[V>>2]=-101;aa=c[V>>2]|0;l=Z;return aa|0}}else{if((e|0)!=1){c[V>>2]=-101;aa=c[V>>2]|0;l=Z;return aa|0}c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[U>>2]=ff((c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5124>>2]|0)|0;c[R>>2]=(c[R>>2]|0)+1}c[Y>>2]=c[(c[Q>>2]|0)+24>>2];c[(c[Q>>2]|0)+24>>2]=10;c[X>>2]=c[(c[Q>>2]|0)+36>>2];c[(c[Q>>2]|0)+36>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break a;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4712>>2]=1;c[R>>2]=(c[R>>2]|0)+1}}while(0);c[q>>2]=c[(c[Q>>2]|0)+28>>2]>>(c[(c[Q>>2]|0)+4>>2]|0)-1;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;if((c[R>>2]|0)==1)e=c[(c[T>>2]|0)+4600>>2]|0;else e=0;c[k>>2]=e;aa=gf((c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[Q>>2]|0,c[q>>2]|0,c[(c[T>>2]|0)+24560>>2]|0,c[R>>2]|0,c[k>>2]|0)|0;c[U>>2]=aa;if(aa|0){P=28;break}b:do if(c[n>>2]|0?1:(c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4696>>2]|0)!=0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[T>>2]|0)+5776>>2]|0))break b;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[x>>2]<<2)>>2]=0;c[x>>2]=(c[x>>2]|0)+1}}while(0);c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+6112>>2]=c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+6108>>2];c[R>>2]=(c[R>>2]|0)+1}if((P|0)==28){c[V>>2]=c[U>>2];aa=c[V>>2]|0;l=Z;return aa|0}c[H>>2]=N((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+4600>>2]|0)|0;aa=N(c[H>>2]|0,c[(c[T>>2]|0)+4580>>2]|0)|0;c[m>>2]=(aa|0)/((c[(c[T>>2]|0)+4600>>2]|0)*1e3|0)|0;aa=c[m>>2]|0;c[W>>2]=$()|0;g=l;l=l+((1*(aa<<1)|0)+15&-16)|0;while(1){c[G>>2]=(c[(c[T>>2]|0)+4608>>2]|0)-(c[(c[T>>2]|0)+5772>>2]|0);c[G>>2]=(c[G>>2]|0)<(c[H>>2]|0)?c[G>>2]|0:c[H>>2]|0;aa=N(c[G>>2]|0,c[(c[T>>2]|0)+4580>>2]|0)|0;c[E>>2]=(aa|0)/((c[(c[T>>2]|0)+4600>>2]|0)*1e3|0)|0;if((c[c[Q>>2]>>2]|0)==2?(c[(c[Q>>2]|0)+4>>2]|0)==2:0){c[z>>2]=c[(c[T>>2]|0)+5780>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[E>>2]|0))break;b[g+(c[R>>2]<<1)>>1]=b[(c[J>>2]|0)+(c[R>>2]<<1<<1)>>1]|0;c[R>>2]=(c[R>>2]|0)+1}if((c[z>>2]|0)==0?(c[(c[T>>2]|0)+24552>>2]|0)==1:0)_i((c[T>>2]|0)+12240+5808|0,(c[T>>2]|0)+5808|0,300)|0;aa=Uf((c[T>>2]|0)+5808|0,(c[T>>2]|0)+5128+((c[(c[T>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;aa=(c[T>>2]|0)+5772|0;c[aa>>2]=(c[aa>>2]|0)+(c[G>>2]|0);c[G>>2]=(c[(c[T>>2]|0)+12240+4608>>2]|0)-(c[(c[T>>2]|0)+12240+5772>>2]|0);if((c[G>>2]|0)<(N((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+12240+4600>>2]|0)|0))e=c[G>>2]|0;else e=N((c[C>>2]|0)*10|0,c[(c[T>>2]|0)+12240+4600>>2]|0)|0;c[G>>2]=e;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[E>>2]|0))break;b[g+(c[R>>2]<<1)>>1]=b[(c[J>>2]|0)+((c[R>>2]<<1)+1<<1)>>1]|0;c[R>>2]=(c[R>>2]|0)+1}e=Uf((c[T>>2]|0)+12240+5808|0,(c[T>>2]|0)+12240+5128+((c[(c[T>>2]|0)+12240+5772>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+e;e=c[T>>2]|0;d=c[G>>2]|0;i=1}else P=49;do if((P|0)==49){P=0;if((c[c[Q>>2]>>2]|0)==2?(c[(c[Q>>2]|0)+4>>2]|0)==1:0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[E>>2]|0))break;c[L>>2]=(b[(c[J>>2]|0)+(c[R>>2]<<1<<1)>>1]|0)+(b[(c[J>>2]|0)+((c[R>>2]<<1)+1<<1)>>1]|0);b[g+(c[R>>2]<<1)>>1]=(c[L>>2]>>1)+(c[L>>2]&1);c[R>>2]=(c[R>>2]|0)+1}aa=Uf((c[T>>2]|0)+5808|0,(c[T>>2]|0)+5128+((c[(c[T>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;c:do if((c[(c[T>>2]|0)+24552>>2]|0)==2?(c[(c[T>>2]|0)+5780>>2]|0)==0:0){aa=Uf((c[T>>2]|0)+12240+5808|0,(c[T>>2]|0)+12240+5128+((c[(c[T>>2]|0)+12240+5772>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+aa;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[T>>2]|0)+4608>>2]|0))break c;b[(c[T>>2]|0)+5128+((c[(c[T>>2]|0)+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]=(b[(c[T>>2]|0)+5128+((c[(c[T>>2]|0)+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]|0)+(b[(c[T>>2]|0)+12240+5128+((c[(c[T>>2]|0)+12240+5772>>2]|0)+(c[R>>2]|0)+2<<1)>>1]|0)>>1;c[R>>2]=(c[R>>2]|0)+1}}while(0);e=c[T>>2]|0;d=c[G>>2]|0;i=0;break}_i(g|0,c[J>>2]|0,c[E>>2]<<1|0)|0;e=Uf((c[T>>2]|0)+5808|0,(c[T>>2]|0)+5128+((c[(c[T>>2]|0)+5772>>2]|0)+2<<1)|0,g,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+e;e=c[T>>2]|0;d=c[G>>2]|0;i=0}while(0);aa=e+(i*12240|0)+5772|0;c[aa>>2]=(c[aa>>2]|0)+d;aa=N(c[E>>2]|0,c[c[Q>>2]>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(aa<<1);c[F>>2]=(c[F>>2]|0)-(c[E>>2]|0);c[(c[T>>2]|0)+24560>>2]=0;if((c[(c[T>>2]|0)+5772>>2]|0)<(c[(c[T>>2]|0)+4608>>2]|0))break;if(!(c[S>>2]|0?1:(c[(c[T>>2]|0)+5780>>2]|0)!=0)){a[y>>0]=0;a[y+1>>0]=0;a[y>>0]=256-(256>>(N((c[(c[T>>2]|0)+5776>>2]|0)+1|0,c[(c[Q>>2]|0)+4>>2]|0)|0));$b(c[I>>2]|0,0,y,8);c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[o>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0))break;c[o>>2]=c[o>>2]|c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[x>>2]<<2)>>2]<>2];c[x>>2]=(c[x>>2]|0)+1}a[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4755>>0]=(c[o>>2]|0)>0?1:0;if(c[o>>2]|0?(c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0)>1:0)$b(c[I>>2]|0,(c[o>>2]|0)-1|0,c[17836+((c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0)-2<<2)>>2]|0,8);c[R>>2]=(c[R>>2]|0)+1}c[x>>2]=0;while(1){aa=(c[x>>2]|0)<(c[(c[T>>2]|0)+5776>>2]|0);c[R>>2]=0;if(!aa)break;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;if(c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4756+(c[x>>2]<<2)>>2]|0){if(((c[R>>2]|0)==0?(c[(c[Q>>2]|0)+4>>2]|0)==2:0)?(ig(c[I>>2]|0,(c[T>>2]|0)+24480+34+((c[x>>2]|0)*6|0)|0),(c[(c[T>>2]|0)+12240+4756+(c[x>>2]<<2)>>2]|0)==0):0)jg(c[I>>2]|0,a[(c[T>>2]|0)+24480+52+(c[x>>2]|0)>>0]|0);if((c[x>>2]|0)>0?c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4756+((c[x>>2]|0)-1<<2)>>2]|0:0)c[t>>2]=2;else c[t>>2]=0;Gd((c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[I>>2]|0,c[x>>2]|0,1,c[t>>2]|0);Hd(c[I>>2]|0,a[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+6132+((c[x>>2]|0)*36|0)+29>>0]|0,a[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+6132+((c[x>>2]|0)*36|0)+30>>0]|0,(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+6240+((c[x>>2]|0)*320|0)|0,c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4608>>2]|0)}c[R>>2]=(c[R>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;aa=(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4756|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[R>>2]=(c[R>>2]|0)+1}aa=Fd(c[I>>2]|0)|0;c[(c[T>>2]|0)+24536>>2]=aa}Qe(c[T>>2]|0);c[B>>2]=(N(c[(c[Q>>2]|0)+28>>2]|0,c[(c[Q>>2]|0)+24>>2]|0)|0)/1e3|0;if(!(c[S>>2]|0))c[B>>2]=(c[B>>2]|0)-(c[(c[T>>2]|0)+24536>>2]|0);c[B>>2]=(c[B>>2]|0)/(c[(c[T>>2]|0)+5776>>2]|0)|0;e=(c[B>>2]&65535)<<16>>16;if((c[(c[Q>>2]|0)+24>>2]|0)==10)c[q>>2]=e*100;else c[q>>2]=e*50;c[q>>2]=(c[q>>2]|0)-(((c[(c[T>>2]|0)+24540>>2]|0)*1e3|0)/500|0);if((c[S>>2]|0)==0?(c[(c[T>>2]|0)+5780>>2]|0)>0:0){aa=Fd(c[I>>2]|0)|0;c[r>>2]=aa-(c[(c[T>>2]|0)+24536>>2]|0)-(N(c[B>>2]|0,c[(c[T>>2]|0)+5780>>2]|0)|0);c[q>>2]=(c[q>>2]|0)-(((c[r>>2]|0)*1e3|0)/500|0)}e=c[q>>2]|0;do if((c[(c[Q>>2]|0)+28>>2]|0)>5e3)if((e|0)>(c[(c[Q>>2]|0)+28>>2]|0)){e=c[(c[Q>>2]|0)+28>>2]|0;break}else{e=(c[q>>2]|0)<5e3?5e3:c[q>>2]|0;break}else if((e|0)<=5e3)if((c[q>>2]|0)<(c[(c[Q>>2]|0)+28>>2]|0)){e=c[(c[Q>>2]|0)+28>>2]|0;break}else{e=c[q>>2]|0;break}else e=5e3;while(0);c[q>>2]=e;e=c[T>>2]|0;if((c[(c[Q>>2]|0)+4>>2]|0)==2){_e(e+24480|0,(c[T>>2]|0)+5128+4|0,(c[T>>2]|0)+12240+5128+4|0,(c[T>>2]|0)+24480+34+((c[(c[T>>2]|0)+5780>>2]|0)*6|0)|0,(c[T>>2]|0)+24480+52+(c[(c[T>>2]|0)+5780>>2]|0)|0,p,c[q>>2]|0,c[(c[T>>2]|0)+4556>>2]|0,c[(c[Q>>2]|0)+56>>2]|0,c[(c[T>>2]|0)+4600>>2]|0,c[(c[T>>2]|0)+4608>>2]|0);e=c[T>>2]|0;if(!(a[(c[T>>2]|0)+24480+52+(c[(c[T>>2]|0)+5780>>2]|0)>>0]|0)){if((c[e+24564>>2]|0)==1){aa=(c[T>>2]|0)+12240+7200|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;aj((c[T>>2]|0)+12240+7216|0,0,2140)|0;aj((c[T>>2]|0)+12240+144|0,0,4380)|0;aa=(c[T>>2]|0)+12240+4524|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[aa+12>>2]=0;c[aa+16>>2]=0;c[aa+20>>2]=0;c[aa+24>>2]=0;c[aa+28>>2]=0;aa=(c[T>>2]|0)+12240+16|0;c[aa>>2]=0;c[aa+4>>2]=0;c[(c[T>>2]|0)+12240+4568>>2]=100;c[(c[T>>2]|0)+12240+144+4356>>2]=100;a[(c[T>>2]|0)+12240+7200>>0]=10;a[(c[T>>2]|0)+12240+4565>>0]=0;c[(c[T>>2]|0)+12240+144+4372>>2]=65536;c[(c[T>>2]|0)+12240+4696>>2]=1}vg((c[T>>2]|0)+12240|0)}else a[e+12240+4752+(c[(c[T>>2]|0)+5780>>2]|0)>>0]=0;if((c[S>>2]|0)==0?(ig(c[I>>2]|0,(c[T>>2]|0)+24480+34+((c[(c[T>>2]|0)+5780>>2]|0)*6|0)|0),(a[(c[T>>2]|0)+12240+4752+(c[(c[T>>2]|0)+5780>>2]|0)>>0]|0)==0):0)jg(c[I>>2]|0,a[(c[T>>2]|0)+24480+52+(c[(c[T>>2]|0)+5780>>2]|0)>>0]|0)}else{c[e+5128>>2]=c[(c[T>>2]|0)+24480+4>>2];aa=(c[T>>2]|0)+24480+4|0;n=(c[T>>2]|0)+5128+(c[(c[T>>2]|0)+4608>>2]<<1)|0;b[aa>>1]=b[n>>1]|0;b[aa+2>>1]=b[n+2>>1]|0}vg(c[T>>2]|0);c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[A>>2]=c[(c[Q>>2]|0)+52>>2];do if(!((c[M>>2]|0)==2&(c[v>>2]|0)==0)){if((c[M>>2]|0)==3){if(!(c[v>>2]|0)){c[A>>2]=(c[A>>2]<<1|0)/5|0;break}if((c[v>>2]|0)!=1)break;c[A>>2]=((c[A>>2]|0)*3|0)/4|0}}else c[A>>2]=((c[A>>2]|0)*3|0)/5|0;while(0);if(c[(c[Q>>2]|0)+48>>2]|0)e=(c[v>>2]|0)==((c[M>>2]|0)-1|0);else e=0;c[O>>2]=e&1;do if((c[(c[Q>>2]|0)+4>>2]|0)==1)c[s>>2]=c[q>>2];else{c[s>>2]=c[p+(c[R>>2]<<2)>>2];if(c[R>>2]|0)break;if((c[p+4>>2]|0)<=0)break;c[O>>2]=0;c[A>>2]=(c[A>>2]|0)-((c[(c[Q>>2]|0)+52>>2]|0)/(c[M>>2]<<1|0)|0)}while(0);if((c[s>>2]|0)>0){ef((c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[s>>2]|0)|0;d:do if(((c[(c[T>>2]|0)+5780>>2]|0)-(c[R>>2]|0)|0)<=0)c[u>>2]=0;else{do if((c[R>>2]|0)>0){if(!(c[(c[T>>2]|0)+24564>>2]|0))break;c[u>>2]=1;break d}while(0);c[u>>2]=2}while(0);c[U>>2]=wg((c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0,c[D>>2]|0,c[I>>2]|0,c[u>>2]|0,c[A>>2]|0,c[O>>2]|0)|0}c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5772>>2]=0;aa=(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5780|0;c[aa>>2]=(c[aa>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+1}c[(c[T>>2]|0)+24564>>2]=a[(c[T>>2]|0)+24480+52+((c[(c[T>>2]|0)+5780>>2]|0)-1)>>0];do if((c[c[D>>2]>>2]|0)>0?(c[(c[T>>2]|0)+5780>>2]|0)==(c[(c[T>>2]|0)+5776>>2]|0):0){c[w>>2]=0;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break;c[x>>2]=0;while(1){aa=(c[x>>2]|0)<(c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+5776>>2]|0);c[w>>2]=c[w>>2]<<1;e=(c[T>>2]|0)+((c[R>>2]|0)*12240|0)|0;if(!aa)break;c[w>>2]=c[w>>2]|a[e+4752+(c[x>>2]|0)>>0];c[x>>2]=(c[x>>2]|0)+1}c[w>>2]=c[w>>2]|a[e+4755>>0];c[R>>2]=(c[R>>2]|0)+1}if(!(c[S>>2]|0))dc(c[I>>2]|0,c[w>>2]|0,N((c[(c[T>>2]|0)+5776>>2]|0)+1|0,c[(c[Q>>2]|0)+4>>2]|0)|0);do if(c[(c[T>>2]|0)+6112>>2]|0){if((c[(c[Q>>2]|0)+4>>2]|0)!=1?(c[(c[T>>2]|0)+12240+6112>>2]|0)==0:0)break;c[c[D>>2]>>2]=0}while(0);n=(c[T>>2]|0)+24540|0;c[n>>2]=(c[n>>2]|0)+(c[c[D>>2]>>2]<<3);n=(N(c[(c[Q>>2]|0)+28>>2]|0,c[(c[Q>>2]|0)+24>>2]|0)|0)/1e3|0;aa=(c[T>>2]|0)+24540|0;c[aa>>2]=(c[aa>>2]|0)-n;do if((c[(c[T>>2]|0)+24540>>2]|0)>1e4)e=1e4;else{if((c[(c[T>>2]|0)+24540>>2]|0)<0){e=0;break}e=c[(c[T>>2]|0)+24540>>2]|0}while(0);c[(c[T>>2]|0)+24540>>2]=e;c[K>>2]=13+(0+(((c[(c[T>>2]|0)+24556>>2]&65535)<<16>>16)*3188>>16));e=(c[T>>2]|0)+24560|0;if((c[(c[T>>2]|0)+4556>>2]|0)<(c[K>>2]|0)){c[e>>2]=1;c[(c[T>>2]|0)+24556>>2]=0;break}else{c[e>>2]=0;aa=(c[T>>2]|0)+24556|0;c[aa>>2]=(c[aa>>2]|0)+(c[(c[Q>>2]|0)+24>>2]|0);break}}while(0);if(!(c[F>>2]|0))break;c[v>>2]=(c[v>>2]|0)+1}c[(c[T>>2]|0)+24552>>2]=c[(c[Q>>2]|0)+4>>2];c[(c[Q>>2]|0)+72>>2]=c[(c[T>>2]|0)+24560>>2];if((c[(c[T>>2]|0)+4600>>2]|0)==16)e=(c[(c[T>>2]|0)+16+12>>2]|0)==0;else e=0;c[(c[Q>>2]|0)+76>>2]=e&1;c[(c[Q>>2]|0)+68>>2]=((c[(c[T>>2]|0)+4600>>2]&65535)<<16>>16)*1e3;if(c[(c[Q>>2]|0)+56>>2]|0)e=0;else e=b[(c[T>>2]|0)+24480+28>>1]|0;c[(c[Q>>2]|0)+80>>2]=e;e:do if(c[S>>2]|0){c[(c[Q>>2]|0)+24>>2]=c[Y>>2];c[(c[Q>>2]|0)+36>>2]=c[X>>2];c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[Q>>2]|0)+4>>2]|0))break e;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4700>>2]=0;c[(c[T>>2]|0)+((c[R>>2]|0)*12240|0)+4712>>2]=0;c[R>>2]=(c[R>>2]|0)+1}}while(0);c[V>>2]=c[U>>2];_(c[W>>2]|0);aa=c[V>>2]|0;l=Z;return aa|0}function Fd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Gd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=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;y=l;l=l+112|0;v=y+48|0;x=y+44|0;i=y+40|0;j=y+36|0;n=y+32|0;r=y+28|0;s=y+24|0;k=y+20|0;q=y+16|0;o=y+12|0;p=y+56|0;m=y+88|0;w=y+8|0;t=y+4|0;u=y;c[v>>2]=d;c[x>>2]=e;c[i>>2]=f;c[j>>2]=g;c[n>>2]=h;f=c[v>>2]|0;if(c[j>>2]|0)c[w>>2]=f+6132+((c[i>>2]|0)*36|0);else c[w>>2]=f+4768;c[k>>2]=(a[(c[w>>2]|0)+29>>0]<<1)+(a[(c[w>>2]|0)+30>>0]|0);h=c[x>>2]|0;f=c[k>>2]|0;if((c[j>>2]|0)!=0|(c[k>>2]|0)>=2)$b(h,f-2|0,29016,8);else $b(h,f,29020,8);f=c[x>>2]|0;h=a[c[w>>2]>>0]|0;if((c[n>>2]|0)==2)$b(f,h,26767,8);else{$b(f,h>>3,26743+(a[(c[w>>2]|0)+29>>0]<<3)|0,8);$b(c[x>>2]|0,a[c[w>>2]>>0]&7,29045,8)}c[r>>2]=1;while(1){f=c[x>>2]|0;h=c[w>>2]|0;if((c[r>>2]|0)>=(c[(c[v>>2]|0)+4604>>2]|0))break;$b(f,a[h+(c[r>>2]|0)>>0]|0,26767,8);c[r>>2]=(c[r>>2]|0)+1}$b(f,a[h+8>>0]|0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+12>>2]|0)+(N(a[(c[w>>2]|0)+29>>0]>>1,b[c[(c[v>>2]|0)+4724>>2]>>1]|0)|0)|0,8);Xe(p,m,c[(c[v>>2]|0)+4724>>2]|0,a[(c[w>>2]|0)+8>>0]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[(c[v>>2]|0)+4724>>2]|0)+2>>1]|0))break;do if((a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)<4){f=c[x>>2]|0;if((a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)<=-4){$b(f,0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);$b(c[x>>2]|0,0-(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)-4|0,29053,8);break}else{$b(f,(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)+4|0,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);break}}else{$b(c[x>>2]|0,8,(c[(c[(c[v>>2]|0)+4724>>2]|0)+24>>2]|0)+(b[p+(c[r>>2]<<1)>>1]|0)|0,8);$b(c[x>>2]|0,(a[(c[w>>2]|0)+8+((c[r>>2]|0)+1)>>0]|0)-4|0,29053,8)}while(0);c[r>>2]=(c[r>>2]|0)+1}if((c[(c[v>>2]|0)+4604>>2]|0)==4)$b(c[x>>2]|0,a[(c[w>>2]|0)+31>>0]|0,29022,8);if((a[(c[w>>2]|0)+29>>0]|0)!=2){u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5800|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(v,x,29030,8);l=y;return}c[q>>2]=1;if((c[n>>2]|0)==2?(c[(c[v>>2]|0)+5800>>2]|0)==2:0){c[o>>2]=(b[(c[w>>2]|0)+26>>1]|0)-(b[(c[v>>2]|0)+5804>>1]|0);if((c[o>>2]|0)<-8|(c[o>>2]|0)>11)c[o>>2]=0;else{c[o>>2]=(c[o>>2]|0)+9;c[q>>2]=0}$b(c[x>>2]|0,c[o>>2]|0,29092,8)}if(c[q>>2]|0){c[t>>2]=(b[(c[w>>2]|0)+26>>1]|0)/(c[(c[v>>2]|0)+4600>>2]>>1|0)|0;c[u>>2]=(b[(c[w>>2]|0)+26>>1]|0)-(N((c[t>>2]&65535)<<16>>16,(c[(c[v>>2]|0)+4600>>2]>>1&65535)<<16>>16)|0);$b(c[x>>2]|0,c[t>>2]|0,29060,8);$b(c[x>>2]|0,c[u>>2]|0,c[(c[v>>2]|0)+4716>>2]|0,8)}b[(c[v>>2]|0)+5804>>1]=b[(c[w>>2]|0)+26>>1]|0;$b(c[x>>2]|0,a[(c[w>>2]|0)+28>>0]|0,c[(c[v>>2]|0)+4720>>2]|0,8);$b(c[x>>2]|0,a[(c[w>>2]|0)+32>>0]|0,26808,8);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[v>>2]|0)+4604>>2]|0))break;$b(c[x>>2]|0,a[(c[w>>2]|0)+4+(c[s>>2]|0)>>0]|0,c[17620+(a[(c[w>>2]|0)+32>>0]<<2)>>2]|0,8);c[s>>2]=(c[s>>2]|0)+1}if(c[n>>2]|0){u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5800|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(v,x,29030,8);l=y;return}$b(c[x>>2]|0,a[(c[w>>2]|0)+33>>0]|0,29013,8);u=c[w>>2]|0;u=u+29|0;u=a[u>>0]|0;u=u<<24>>24;v=c[v>>2]|0;v=v+5800|0;c[v>>2]=u;v=c[x>>2]|0;x=c[w>>2]|0;x=x+34|0;x=a[x>>0]|0;x=x<<24>>24;$b(v,x,29030,8);l=y;return}function Hd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=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;F=l;l=l+128|0;z=F+116|0;E=F+112|0;C=F+108|0;A=F+104|0;t=F+100|0;u=F+96|0;x=F+92|0;w=F+88|0;v=F+84|0;s=F+80|0;y=F+76|0;k=F+72|0;m=F+68|0;r=F+64|0;n=F+60|0;p=F+56|0;j=F+24|0;i=F+16|0;B=F+12|0;q=F+8|0;o=F+4|0;D=F;c[z>>2]=b;c[E>>2]=e;c[C>>2]=f;c[A>>2]=g;c[t>>2]=h;c[m>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[v>>2]=c[t>>2]>>4;if((c[v>>2]<<4|0)<(c[t>>2]|0)){c[v>>2]=(c[v>>2]|0)+1;h=(c[A>>2]|0)+(c[t>>2]|0)|0;b=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(b|0))}e=c[v>>2]<<4;c[D>>2]=$()|0;b=l;l=l+((1*(e<<2)|0)+15&-16)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]<<4|0))break;e=a[(c[A>>2]|0)+((c[u>>2]|0)+0)>>0]|0;c[b+((c[u>>2]|0)+0<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+0)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+1)>>0]|0;c[b+((c[u>>2]|0)+1<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+1)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+2)>>0]|0;c[b+((c[u>>2]|0)+2<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+2)>>0]|0)>0?e:0-e|0;e=a[(c[A>>2]|0)+((c[u>>2]|0)+3)>>0]|0;c[b+((c[u>>2]|0)+3<<2)>>2]=(a[(c[A>>2]|0)+((c[u>>2]|0)+3)>>0]|0)>0?e:0-e|0;c[u>>2]=(c[u>>2]|0)+4}g=l;l=l+((1*(c[v>>2]<<2)|0)+15&-16)|0;f=l;l=l+((1*(c[v>>2]<<2)|0)+15&-16)|0;c[i>>2]=b;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;c[f+(c[u>>2]<<2)>>2]=0;a:while(1){c[k>>2]=Id(j,c[i>>2]|0,d[29173]|0,8)|0;e=Id(j,j,d[29174]|0,4)|0;c[k>>2]=(c[k>>2]|0)+e;e=Id(j,j,d[29175]|0,2)|0;c[k>>2]=(c[k>>2]|0)+e;e=Id(g+(c[u>>2]<<2)|0,j,d[29176]|0,1)|0;c[k>>2]=(c[k>>2]|0)+e;if(!(c[k>>2]|0))break;e=f+(c[u>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)continue a;c[(c[i>>2]|0)+(c[x>>2]<<2)>>2]=c[(c[i>>2]|0)+(c[x>>2]<<2)>>2]>>1;c[x>>2]=(c[x>>2]|0)+1}}c[i>>2]=(c[i>>2]|0)+64;c[u>>2]=(c[u>>2]|0)+1}c[n>>2]=2147483647;c[x>>2]=0;while(1){if((c[x>>2]|0)>=9)break;c[o>>2]=29357+((c[x>>2]|0)*18|0);c[p>>2]=d[29537+((c[E>>2]>>1)*9|0)+(c[x>>2]|0)>>0];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;h=c[o>>2]|0;if((c[f+(c[u>>2]<<2)>>2]|0)>0)c[p>>2]=(c[p>>2]|0)+(d[h+17>>0]|0);else c[p>>2]=(c[p>>2]|0)+(d[h+(c[g+(c[u>>2]<<2)>>2]|0)>>0]|0);c[u>>2]=(c[u>>2]|0)+1}if((c[p>>2]|0)<(c[n>>2]|0)){c[n>>2]=c[p>>2];c[m>>2]=c[x>>2]}c[x>>2]=(c[x>>2]|0)+1}$b(c[z>>2]|0,c[m>>2]|0,29519+((c[E>>2]>>1)*9|0)|0,8);c[q>>2]=29177+((c[m>>2]|0)*18|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;h=c[z>>2]|0;if(!(c[f+(c[u>>2]<<2)>>2]|0))$b(h,c[g+(c[u>>2]<<2)>>2]|0,c[q>>2]|0,8);else{$b(h,17,c[q>>2]|0,8);c[x>>2]=0;while(1){h=c[z>>2]|0;if((c[x>>2]|0)>=((c[f+(c[u>>2]<<2)>>2]|0)-1|0))break;$b(h,17,29339,8);c[x>>2]=(c[x>>2]|0)+1}$b(h,c[g+(c[u>>2]<<2)>>2]|0,29339,8)}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if((c[g+(c[u>>2]<<2)>>2]|0)>0)ye(c[z>>2]|0,b+(c[u>>2]<<4<<2)|0);c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;b:do if((c[f+(c[u>>2]<<2)>>2]|0)>0){c[B>>2]=(c[A>>2]|0)+(c[u>>2]<<4);c[y>>2]=(c[f+(c[u>>2]<<2)>>2]|0)-1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break b;q=a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0;c[r>>2]=(((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)>0?q:0-q|0)&255)<<24>>24;c[w>>2]=c[y>>2];while(1){h=c[r>>2]|0;if((c[w>>2]|0)<=0)break;c[s>>2]=h>>c[w>>2]&1;$b(c[z>>2]|0,c[s>>2]|0,29011,8);c[w>>2]=(c[w>>2]|0)+-1}c[s>>2]=h&1;$b(c[z>>2]|0,c[s>>2]|0,29011,8);c[x>>2]=(c[x>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1}md(c[z>>2]|0,c[A>>2]|0,c[t>>2]|0,c[E>>2]|0,c[C>>2]|0,g);_(c[D>>2]|0);l=F;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;i=n+20|0;j=n+16|0;h=n+12|0;g=n+8|0;f=n+4|0;k=n;c[i>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0)){f=6;break}c[k>>2]=(c[(c[j>>2]|0)+(c[f>>2]<<1<<2)>>2]|0)+(c[(c[j>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]|0);if((c[k>>2]|0)>(c[h>>2]|0)){f=4;break}c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[f>>2]=(c[f>>2]|0)+1}if((f|0)==4){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((f|0)==6){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0} function Jd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;j=p+20|0;o=p+16|0;h=p+12|0;n=p+8|0;m=p+4|0;i=p;c[k>>2]=b;c[j>>2]=d;c[o>>2]=e;c[h>>2]=f;c[n>>2]=g;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;Bf(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;e=0+((((Bf(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0)-2090&65535)<<16>>16)*2251>>16)&255;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=e;if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<(a[c[o>>2]>>0]|0)){e=(c[k>>2]|0)+(c[m>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24}if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<=63)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<0)f=0;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;else f=63;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;if((c[m>>2]|0)==0&(c[h>>2]|0)==0){f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;do if(((a[c[o>>2]>>0]|0)+-4|0)>63){if((f|0)>((a[c[o>>2]>>0]|0)+-4|0)){f=(a[c[o>>2]>>0]|0)+-4|0;break}if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<63)f=63;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0}else if((f|0)<=63)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<((a[c[o>>2]>>0]|0)+-4|0)){f=(a[c[o>>2]>>0]|0)+-4|0;break}else{f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;break}else f=63;while(0);a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;a[c[o>>2]>>0]=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0}else{a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(a[c[o>>2]>>0]|0);c[i>>2]=8+(a[c[o>>2]>>0]|0);if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>(c[i>>2]|0))a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=(c[i>>2]|0)+((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-(c[i>>2]|0)+1>>1);if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<=36)if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)<-4)f=-4;else f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;else f=36;a[(c[k>>2]|0)+(c[m>>2]|0)>>0]=f;f=a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0;if((a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>(c[i>>2]|0)){d=c[o>>2]|0;f=(f<<1)-(c[i>>2]|0)|0}else d=c[o>>2]|0;a[d>>0]=(a[d>>0]|0)+f;e=(c[k>>2]|0)+(c[m>>2]|0)|0;a[e>>0]=(a[e>>0]|0)+4}e=Ff(Kd(((a[c[o>>2]>>0]<<16>>16)*29|0)+((a[c[o>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=e;c[m>>2]=(c[m>>2]|0)+1}l=p;return}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ld(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+28|0;k=q+24|0;p=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;m=q+4|0;i=q;c[j>>2]=b;c[k>>2]=d;c[p>>2]=e;c[h>>2]=f;c[o>>2]=g;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;f=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;if((c[n>>2]|0)==0&(c[h>>2]|0)==0){e=(Md(f,(a[c[p>>2]>>0]|0)-16|0)|0)&255;a[c[p>>2]>>0]=e}else{c[m>>2]=f+-4;c[i>>2]=8+(a[c[p>>2]>>0]|0);f=c[m>>2]|0;if((c[m>>2]|0)>(c[i>>2]|0)){f=(f<<1)-(c[i>>2]|0)|0;b=c[p>>2]|0}else b=c[p>>2]|0;a[b>>0]=(a[b>>0]|0)+f}if((a[c[p>>2]>>0]|0)<=63)if((a[c[p>>2]>>0]|0)<0)f=0;else f=a[c[p>>2]>>0]|0;else f=63;a[c[p>>2]>>0]=f;e=Ff(Kd(((a[c[p>>2]>>0]<<16>>16)*29|0)+((a[c[p>>2]>>0]<<16>>16)*7281>>16)+2090|0,3967)|0)|0;c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=e;c[n>>2]=(c[n>>2]|0)+1}l=q;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;h=i+8|0;g=i+4|0;e=i;c[f>>2]=b;c[h>>2]=d;c[e>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=(a[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)+(c[e>>2]<<8);c[g>>2]=(c[g>>2]|0)+1}l=i;return c[e>>2]|0}function Od(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+20|0;k=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;i=o;c[n>>2]=a;c[k>>2]=d;c[m>>2]=e;c[j>>2]=f;c[h>>2]=g;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;a=(b[(c[k>>2]|0)+(c[i>>2]<<1)>>1]|0)+((N(((b[(c[m>>2]|0)+(c[i>>2]<<1)>>1]|0)-(b[(c[k>>2]|0)+(c[i>>2]<<1)>>1]|0)&65535)<<16>>16,(c[j>>2]&65535)<<16>>16)|0)>>2)&65535;b[(c[n>>2]|0)+(c[i>>2]<<1)>>1]=a;c[i>>2]=(c[i>>2]|0)+1}l=o;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;k=m+36|0;i=m+32|0;j=m+28|0;h=m+16|0;g=m+8|0;e=m+4|0;f=m;c[k>>2]=a;c[i>>2]=b;c[j>>2]=d;c[e>>2]=0;c[f>>2]=0;if(!(c[(c[k>>2]|0)+12>>2]|0)){l=m;return}c[e>>2]=256-(c[(c[k>>2]|0)+8>>2]|0)<<10;c[f>>2]=c[e>>2]>>16;c[e>>2]=(c[e>>2]|0)-(c[f>>2]<<16);Qd(h,g,c[f>>2]|0,c[e>>2]|0);if(((c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0)<=256)if(((c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0)<0)e=0;else e=(c[(c[k>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+12>>2]|0)|0;else e=256;c[(c[k>>2]|0)+8>>2]=e;wf(c[i>>2]|0,h,g,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0,1);l=m;return}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;f=m+16|0;i=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=a;c[f>>2]=b;c[i>>2]=d;c[h>>2]=e;if((c[i>>2]|0)>=4){k=c[g>>2]|0;c[k>>2]=c[4473];c[k+4>>2]=c[4474];c[k+8>>2]=c[4475];k=c[f>>2]|0;c[k>>2]=c[4484];c[k+4>>2]=c[4485];l=m;return}if((c[h>>2]|0)<=0){k=c[g>>2]|0;j=17844+((c[i>>2]|0)*12|0)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];k=c[f>>2]|0;j=17904+(c[i>>2]<<3)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];l=m;return}d=(c[h>>2]|0)<32768;c[k>>2]=0;if(d){while(1){if((c[k>>2]|0)>=3)break;d=N((c[17844+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17844+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;d=(c[17844+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)+(d+((N((c[17844+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17844+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=d;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;k=N((c[17904+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17904+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)>>16,(c[h>>2]&65535)<<16>>16)|0;k=(c[17904+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)+(k+((N((c[17904+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17904+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)&65535,(c[h>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=k;c[j>>2]=(c[j>>2]|0)+1}l=m;return}else{while(1){if((c[k>>2]|0)>=3)break;d=N((c[17844+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17844+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)>>16,((c[h>>2]|0)-65536&65535)<<16>>16)|0;d=(c[17844+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)+(d+((N((c[17844+(((c[i>>2]|0)+1|0)*12|0)+(c[k>>2]<<2)>>2]|0)-(c[17844+((c[i>>2]|0)*12|0)+(c[k>>2]<<2)>>2]|0)&65535,((c[h>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=d;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=2)break;k=N((c[17904+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17904+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)>>16,((c[h>>2]|0)-65536&65535)<<16>>16)|0;k=(c[17904+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)+(k+((N((c[17904+((c[i>>2]|0)+1<<3)+(c[j>>2]<<2)>>2]|0)-(c[17904+(c[i>>2]<<3)+(c[j>>2]<<2)>>2]|0)&65535,((c[h>>2]|0)-65536&65535)<<16>>16)|0)>>16))|0;c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]=k;c[j>>2]=(c[j>>2]|0)+1}l=m;return}}function Rd(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+144|0;q=t+24|0;h=t+20|0;r=t+16|0;p=t+12|0;k=t+128|0;i=t+96|0;s=t+64|0;o=t+32|0;n=t+8|0;m=t+4|0;j=t;c[q>>2]=e;c[h>>2]=f;c[r>>2]=g;c[j>>2]=(c[(c[r>>2]|0)+8>>2]|0)+(N(a[c[h>>2]>>0]|0,b[(c[r>>2]|0)+2>>1]|0)|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[r>>2]|0)+2>>1]|0))break;b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]=d[(c[j>>2]|0)+(c[p>>2]|0)>>0]<<7;c[p>>2]=(c[p>>2]|0)+1}Xe(i,k,c[r>>2]|0,a[c[h>>2]>>0]|0);Sd(s,(c[h>>2]|0)+1|0,k,b[(c[r>>2]|0)+4>>1]|0,b[(c[r>>2]|0)+2>>1]|0);Qf(o,c[q>>2]|0,b[(c[r>>2]|0)+2>>1]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[r>>2]|0)+2>>1]|0))break;c[n>>2]=Td(b[o+(c[p>>2]<<1)>>1]<<16)|0;c[m>>2]=(b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]|0)+((b[s+(c[p>>2]<<1)>>1]<<14|0)/(c[n>>2]|0)|0);if((c[m>>2]|0)>32767)f=32767;else f=(c[m>>2]|0)<0?0:c[m>>2]|0;b[(c[q>>2]|0)+(c[p>>2]<<1)>>1]=f;c[p>>2]=(c[p>>2]|0)+1}Nf(c[q>>2]|0,c[(c[r>>2]|0)+32>>2]|0,b[(c[r>>2]|0)+2>>1]|0);l=t;return}function Sd(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+24|0;k=r+20|0;o=r+16|0;p=r+12|0;s=r+28|0;j=r+8|0;m=r+4|0;n=r;c[q>>2]=e;c[k>>2]=f;c[o>>2]=g;c[p>>2]=h;b[s>>1]=i;c[m>>2]=0;c[j>>2]=(b[s>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(N((c[m>>2]&65535)<<16>>16,d[(c[o>>2]|0)+(c[j>>2]|0)>>0]|0)|0)>>8;c[m>>2]=a[(c[k>>2]|0)+(c[j>>2]|0)>>0]<<10;f=c[m>>2]|0;if((c[m>>2]|0)<=0){if((f|0)<0)c[m>>2]=(c[m>>2]|0)+102}else c[m>>2]=f-102;s=N(c[m>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[m>>2]=(c[n>>2]|0)+(s+((N(c[m>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16));b[(c[q>>2]|0)+(c[j>>2]<<1)>>1]=c[m>>2];c[j>>2]=(c[j>>2]|0)+-1}l=r;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Ud(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Vd(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Wd(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Vd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Xd(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var 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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=l;l=l+112|0;M=U+100|0;F=U+96|0;O=U+92|0;T=U+88|0;P=U+84|0;G=U+80|0;C=U+76|0;t=U+72|0;z=U+68|0;H=U+64|0;A=U+60|0;x=U+56|0;L=U+52|0;E=U+48|0;D=U+44|0;I=U+40|0;J=U+36|0;S=U+32|0;B=U+28|0;v=U+24|0;w=U+20|0;u=U+16|0;Q=U+12|0;y=U+8|0;K=U+4|0;R=U;c[M>>2]=d;c[F>>2]=e;c[O>>2]=f;c[T>>2]=g;c[P>>2]=h;c[G>>2]=i;c[C>>2]=j;c[t>>2]=k;c[z>>2]=m;c[H>>2]=n;c[A>>2]=o;c[x>>2]=p;c[L>>2]=q;c[E>>2]=r;c[D>>2]=s;c[(c[F>>2]|0)+4368>>2]=a[(c[O>>2]|0)+34>>0];c[J>>2]=c[(c[F>>2]|0)+4356>>2];c[K>>2]=b[24558+(a[(c[O>>2]|0)+29>>0]>>1<<2)+(a[(c[O>>2]|0)+30>>0]<<1)>>1];if((a[(c[O>>2]|0)+31>>0]|0)==4)c[B>>2]=0;else c[B>>2]=1;m=(c[(c[M>>2]|0)+4616>>2]|0)+(c[(c[M>>2]|0)+4608>>2]|0)|0;c[R>>2]=$()|0;k=l;l=l+((1*(m<<2)|0)+15&-16)|0;m=l;l=l+((1*((c[(c[M>>2]|0)+4616>>2]|0)+(c[(c[M>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;p=l;l=l+((1*(c[(c[M>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;c[(c[F>>2]|0)+4364>>2]=c[(c[M>>2]|0)+4616>>2];c[(c[F>>2]|0)+4360>>2]=c[(c[M>>2]|0)+4616>>2];c[Q>>2]=(c[F>>2]|0)+(c[(c[M>>2]|0)+4616>>2]<<1);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[M>>2]|0)+4604>>2]|0))break;c[v>>2]=(c[G>>2]|0)+((c[I>>2]>>1|1-(c[B>>2]|0))<<4<<1);c[w>>2]=(c[C>>2]|0)+((c[I>>2]|0)*5<<1);c[u>>2]=(c[t>>2]|0)+(c[I>>2]<<4<<1);c[y>>2]=c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]>>2;c[y>>2]=c[y>>2]|c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]>>1<<16;c[(c[F>>2]|0)+4376>>2]=0;if((a[(c[O>>2]|0)+29>>0]|0)==2?(c[J>>2]=c[(c[L>>2]|0)+(c[I>>2]<<2)>>2],(c[I>>2]&3-(c[B>>2]<<1)|0)==0):0){c[S>>2]=(c[(c[M>>2]|0)+4616>>2]|0)-(c[J>>2]|0)-(c[(c[M>>2]|0)+4664>>2]|0)-2;g=(c[F>>2]|0)+((c[S>>2]|0)+(N(c[I>>2]|0,c[(c[M>>2]|0)+4612>>2]|0)|0)<<1)|0;Gf(m+(c[S>>2]<<1)|0,g,c[v>>2]|0,(c[(c[M>>2]|0)+4616>>2]|0)-(c[S>>2]|0)|0,c[(c[M>>2]|0)+4664>>2]|0,c[(c[M>>2]|0)+5124>>2]|0);c[(c[F>>2]|0)+4376>>2]=1;c[(c[F>>2]|0)+4360>>2]=c[(c[M>>2]|0)+4616>>2]}Yd(c[M>>2]|0,c[F>>2]|0,c[T>>2]|0,p,m,k,c[I>>2]|0,c[D>>2]|0,c[x>>2]|0,c[L>>2]|0,a[(c[O>>2]|0)+29>>0]|0);Zd(c[F>>2]|0,a[(c[O>>2]|0)+29>>0]|0,p,c[P>>2]|0,c[Q>>2]|0,k,c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,c[J>>2]|0,c[y>>2]|0,c[(c[H>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[A>>2]|0)+(c[I>>2]<<2)>>2]|0,c[(c[x>>2]|0)+(c[I>>2]<<2)>>2]|0,c[E>>2]|0,c[K>>2]|0,c[(c[M>>2]|0)+4612>>2]|0,c[(c[M>>2]|0)+4660>>2]|0,c[(c[M>>2]|0)+4664>>2]|0);c[T>>2]=(c[T>>2]|0)+(c[(c[M>>2]|0)+4612>>2]<<2);c[P>>2]=(c[P>>2]|0)+(c[(c[M>>2]|0)+4612>>2]|0);c[Q>>2]=(c[Q>>2]|0)+(c[(c[M>>2]|0)+4612>>2]<<1);c[I>>2]=(c[I>>2]|0)+1}c[(c[F>>2]|0)+4356>>2]=c[(c[L>>2]|0)+((c[(c[M>>2]|0)+4604>>2]|0)-1<<2)>>2];$i(c[F>>2]|0,(c[F>>2]|0)+(c[(c[M>>2]|0)+4608>>2]<<1)|0,c[(c[M>>2]|0)+4616>>2]<<1|0)|0;$i((c[F>>2]|0)+1280|0,(c[F>>2]|0)+1280+(c[(c[M>>2]|0)+4608>>2]<<2)|0,c[(c[M>>2]|0)+4616>>2]<<2|0)|0;_(c[R>>2]|0);l=U;return}function Yd(a,d,e,f,g,h,i,j,k,m,n){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var 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;D=l;l=l+64|0;w=D+60|0;q=D+56|0;B=D+52|0;C=D+48|0;x=D+44|0;y=D+40|0;A=D+36|0;p=D+32|0;o=D+28|0;E=D+24|0;z=D+20|0;s=D+16|0;v=D+12|0;r=D+8|0;u=D+4|0;t=D;c[w>>2]=a;c[q>>2]=d;c[B>>2]=e;c[C>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=i;c[p>>2]=j;c[o>>2]=k;c[E>>2]=m;c[z>>2]=n;c[v>>2]=c[(c[E>>2]|0)+(c[A>>2]<<2)>>2];if((c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0)>1)k=c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0;else k=1;c[u>>2]=_d(k,47)|0;if((c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0)!=(c[(c[q>>2]|0)+4372>>2]|0))c[r>>2]=$d(c[(c[q>>2]|0)+4372>>2]|0,c[(c[o>>2]|0)+(c[A>>2]<<2)>>2]|0,16)|0;else c[r>>2]=65536;c[t>>2]=(c[u>>2]>>7)+1>>1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[w>>2]|0)+4612>>2]|0))break;E=N(c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;E=E+((N(c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]|0,(c[t>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}c[(c[q>>2]|0)+4372>>2]=c[(c[o>>2]|0)+(c[A>>2]<<2)>>2];a:do if(c[(c[q>>2]|0)+4376>>2]|0){if(!(c[A>>2]|0)){E=N(c[u>>2]>>16,(c[p>>2]&65535)<<16>>16)|0;c[u>>2]=E+((N(c[u>>2]&65535,(c[p>>2]&65535)<<16>>16)|0)>>16)<<2}c[s>>2]=(c[(c[q>>2]|0)+4360>>2]|0)-(c[v>>2]|0)-2;while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4360>>2]|0))break a;E=N(c[u>>2]>>16,b[(c[x>>2]|0)+(c[s>>2]<<1)>>1]|0)|0;E=E+((N(c[u>>2]&65535,b[(c[x>>2]|0)+(c[s>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}}while(0);if((c[r>>2]|0)==65536){l=D;return}c[s>>2]=(c[(c[q>>2]|0)+4364>>2]|0)-(c[(c[w>>2]|0)+4616>>2]|0);while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4364>>2]|0))break;E=N(c[r>>2]>>16,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[r>>2]&65535,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[r>>2]|0,(c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+1280+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}b:do if((c[z>>2]|0)==2?(c[(c[q>>2]|0)+4376>>2]|0)==0:0){c[s>>2]=(c[(c[q>>2]|0)+4360>>2]|0)-(c[v>>2]|0)-2;while(1){if((c[s>>2]|0)>=(c[(c[q>>2]|0)+4360>>2]|0))break b;E=N(c[r>>2]>>16,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[r>>2]&65535,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[r>>2]|0,(c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[y>>2]|0)+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}}while(0);E=N(c[r>>2]>>16,(c[(c[q>>2]|0)+4352>>2]&65535)<<16>>16)|0;E=E+((N(c[r>>2]&65535,(c[(c[q>>2]|0)+4352>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[r>>2]|0,(c[(c[q>>2]|0)+4352>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+4352>>2]=E;c[s>>2]=0;while(1){if((c[s>>2]|0)>=32)break;E=N(c[r>>2]>>16,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[r>>2]&65535,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[r>>2]|0,(c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+3840+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=16)break;E=N(c[r>>2]>>16,(c[(c[q>>2]|0)+4288+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0;E=E+((N(c[r>>2]&65535,(c[(c[q>>2]|0)+4288+(c[s>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;E=E+(N(c[r>>2]|0,(c[(c[q>>2]|0)+4288+(c[s>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[q>>2]|0)+4288+(c[s>>2]<<2)>>2]=E;c[s>>2]=(c[s>>2]|0)+1}l=D;return}function Zd(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var 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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+176|0;ka=ma+168|0;ea=ma+164|0;ha=ma+160|0;U=ma+156|0;ia=ma+152|0;ba=ma+148|0;G=ma+144|0;H=ma+140|0;x=ma+136|0;L=ma+132|0;z=ma+128|0;F=ma+124|0;A=ma+120|0;na=ma+116|0;E=ma+112|0;Q=ma+108|0;la=ma+104|0;ca=ma+100|0;S=ma+96|0;J=ma+92|0;K=ma+88|0;D=ma+84|0;C=ma+80|0;M=ma+76|0;P=ma+72|0;O=ma+68|0;Y=ma+64|0;$=ma+60|0;V=ma+56|0;W=ma+52|0;X=ma+48|0;Z=ma+44|0;_=ma+40|0;I=ma+36|0;B=ma+32|0;ja=ma+28|0;y=ma+24|0;fa=ma+20|0;ga=ma+16|0;aa=ma+12|0;T=ma+8|0;da=ma+4|0;R=ma;c[ka>>2]=d;c[ea>>2]=e;c[ha>>2]=f;c[U>>2]=g;c[ia>>2]=h;c[ba>>2]=i;c[G>>2]=j;c[H>>2]=k;c[x>>2]=m;c[L>>2]=n;c[z>>2]=o;c[F>>2]=p;c[A>>2]=q;c[na>>2]=r;c[E>>2]=s;c[Q>>2]=t;c[la>>2]=u;c[ca>>2]=v;c[S>>2]=w;c[da>>2]=(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-(c[L>>2]|0)+1<<2);c[R>>2]=(c[ba>>2]|0)+((c[(c[ka>>2]|0)+4360>>2]|0)-(c[L>>2]|0)+2<<2);c[y>>2]=c[na>>2]>>6;c[T>>2]=(c[ka>>2]|0)+3840+124;c[J>>2]=0;while(1){m=c[ka>>2]|0;if((c[J>>2]|0)>=(c[la>>2]|0))break;na=907633515+(N(c[m+4368>>2]|0,196314165)|0)|0;c[(c[ka>>2]|0)+4368>>2]=na;c[C>>2]=c[S>>2]>>1;na=N(c[c[T>>2]>>2]>>16,b[c[G>>2]>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[c[T>>2]>>2]&65535,b[c[G>>2]>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-4>>2]>>16,b[(c[G>>2]|0)+2>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-4>>2]&65535,b[(c[G>>2]|0)+2>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-8>>2]>>16,b[(c[G>>2]|0)+4>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-8>>2]&65535,b[(c[G>>2]|0)+4>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-12>>2]>>16,b[(c[G>>2]|0)+6>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-12>>2]&65535,b[(c[G>>2]|0)+6>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-16>>2]>>16,b[(c[G>>2]|0)+8>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-16>>2]&65535,b[(c[G>>2]|0)+8>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-20>>2]>>16,b[(c[G>>2]|0)+10>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-20>>2]&65535,b[(c[G>>2]|0)+10>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-24>>2]>>16,b[(c[G>>2]|0)+12>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-24>>2]&65535,b[(c[G>>2]|0)+12>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-28>>2]>>16,b[(c[G>>2]|0)+14>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-28>>2]&65535,b[(c[G>>2]|0)+14>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-32>>2]>>16,b[(c[G>>2]|0)+16>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-32>>2]&65535,b[(c[G>>2]|0)+16>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-36>>2]>>16,b[(c[G>>2]|0)+18>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-36>>2]&65535,b[(c[G>>2]|0)+18>>1]|0)|0)>>16));if((c[S>>2]|0)==16){na=N(c[(c[T>>2]|0)+-40>>2]>>16,b[(c[G>>2]|0)+20>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-40>>2]&65535,b[(c[G>>2]|0)+20>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-44>>2]>>16,b[(c[G>>2]|0)+22>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-44>>2]&65535,b[(c[G>>2]|0)+22>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-48>>2]>>16,b[(c[G>>2]|0)+24>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-48>>2]&65535,b[(c[G>>2]|0)+24>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-52>>2]>>16,b[(c[G>>2]|0)+26>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-52>>2]&65535,b[(c[G>>2]|0)+26>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-56>>2]>>16,b[(c[G>>2]|0)+28>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-56>>2]&65535,b[(c[G>>2]|0)+28>>1]|0)|0)>>16));na=N(c[(c[T>>2]|0)+-60>>2]>>16,b[(c[G>>2]|0)+30>>1]|0)|0;c[C>>2]=(c[C>>2]|0)+(na+((N(c[(c[T>>2]|0)+-60>>2]&65535,b[(c[G>>2]|0)+30>>1]|0)|0)>>16))}if((c[ea>>2]|0)==2){c[D>>2]=2;na=N(c[c[R>>2]>>2]>>16,b[c[H>>2]>>1]|0)|0;c[D>>2]=(c[D>>2]|0)+(na+((N(c[c[R>>2]>>2]&65535,b[c[H>>2]>>1]|0)|0)>>16));na=N(c[(c[R>>2]|0)+-4>>2]>>16,b[(c[H>>2]|0)+2>>1]|0)|0;c[D>>2]=(c[D>>2]|0)+(na+((N(c[(c[R>>2]|0)+-4>>2]&65535,b[(c[H>>2]|0)+2>>1]|0)|0)>>16));na=N(c[(c[R>>2]|0)+-8>>2]>>16,b[(c[H>>2]|0)+4>>1]|0)|0;c[D>>2]=(c[D>>2]|0)+(na+((N(c[(c[R>>2]|0)+-8>>2]&65535,b[(c[H>>2]|0)+4>>1]|0)|0)>>16));na=N(c[(c[R>>2]|0)+-12>>2]>>16,b[(c[H>>2]|0)+6>>1]|0)|0;c[D>>2]=(c[D>>2]|0)+(na+((N(c[(c[R>>2]|0)+-12>>2]&65535,b[(c[H>>2]|0)+6>>1]|0)|0)>>16));na=N(c[(c[R>>2]|0)+-16>>2]>>16,b[(c[H>>2]|0)+8>>1]|0)|0;c[D>>2]=(c[D>>2]|0)+(na+((N(c[(c[R>>2]|0)+-16>>2]&65535,b[(c[H>>2]|0)+8>>1]|0)|0)>>16));c[R>>2]=(c[R>>2]|0)+4}else c[D>>2]=0;c[ga>>2]=c[c[T>>2]>>2];c[fa>>2]=c[(c[ka>>2]|0)+4288>>2];c[(c[ka>>2]|0)+4288>>2]=c[ga>>2];c[M>>2]=c[ca>>2]>>1;na=N(c[ga>>2]>>16,b[c[x>>2]>>1]|0)|0;c[M>>2]=(c[M>>2]|0)+(na+((N(c[ga>>2]&65535,b[c[x>>2]>>1]|0)|0)>>16));c[K>>2]=2;while(1){if((c[K>>2]|0)>=(c[ca>>2]|0))break;c[ga>>2]=c[(c[ka>>2]|0)+4288+((c[K>>2]|0)-1<<2)>>2];c[(c[ka>>2]|0)+4288+((c[K>>2]|0)-1<<2)>>2]=c[fa>>2];na=N(c[fa>>2]>>16,b[(c[x>>2]|0)+((c[K>>2]|0)-1<<1)>>1]|0)|0;c[M>>2]=(c[M>>2]|0)+(na+((N(c[fa>>2]&65535,b[(c[x>>2]|0)+((c[K>>2]|0)-1<<1)>>1]|0)|0)>>16));c[fa>>2]=c[(c[ka>>2]|0)+4288+((c[K>>2]|0)+0<<2)>>2];c[(c[ka>>2]|0)+4288+((c[K>>2]|0)+0<<2)>>2]=c[ga>>2];na=N(c[ga>>2]>>16,b[(c[x>>2]|0)+(c[K>>2]<<1)>>1]|0)|0;c[M>>2]=(c[M>>2]|0)+(na+((N(c[ga>>2]&65535,b[(c[x>>2]|0)+(c[K>>2]<<1)>>1]|0)|0)>>16));c[K>>2]=(c[K>>2]|0)+2}c[(c[ka>>2]|0)+4288+((c[ca>>2]|0)-1<<2)>>2]=c[fa>>2];na=N(c[fa>>2]>>16,b[(c[x>>2]|0)+((c[ca>>2]|0)-1<<1)>>1]|0)|0;c[M>>2]=(c[M>>2]|0)+(na+((N(c[fa>>2]&65535,b[(c[x>>2]|0)+((c[ca>>2]|0)-1<<1)>>1]|0)|0)>>16));c[M>>2]=c[M>>2]<<1;na=N(c[(c[ka>>2]|0)+4352>>2]>>16,(c[F>>2]&65535)<<16>>16)|0;c[M>>2]=(c[M>>2]|0)+(na+((N(c[(c[ka>>2]|0)+4352>>2]&65535,(c[F>>2]&65535)<<16>>16)|0)>>16));na=N(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]>>16,(c[A>>2]&65535)<<16>>16)|0;c[O>>2]=na+((N(c[(c[ka>>2]|0)+1280+((c[(c[ka>>2]|0)+4364>>2]|0)-1<<2)>>2]&65535,(c[A>>2]&65535)<<16>>16)|0)>>16);na=(c[O>>2]|0)+(N(c[(c[ka>>2]|0)+4352>>2]>>16,c[A>>2]>>16)|0)|0;c[O>>2]=na+((N(c[(c[ka>>2]|0)+4352>>2]&65535,c[A>>2]>>16)|0)>>16);c[fa>>2]=(c[C>>2]<<2)-(c[M>>2]|0);c[fa>>2]=(c[fa>>2]|0)-(c[O>>2]|0);if((c[L>>2]|0)>0){na=N((c[c[da>>2]>>2]|0)+(c[(c[da>>2]|0)+-8>>2]|0)>>16,(c[z>>2]&65535)<<16>>16)|0;c[P>>2]=na+((N((c[c[da>>2]>>2]|0)+(c[(c[da>>2]|0)+-8>>2]|0)&65535,(c[z>>2]&65535)<<16>>16)|0)>>16);na=(c[P>>2]|0)+(N(c[(c[da>>2]|0)+-4>>2]>>16,c[z>>2]>>16)|0)|0;c[P>>2]=na+((N(c[(c[da>>2]|0)+-4>>2]&65535,c[z>>2]>>16)|0)>>16);c[P>>2]=c[P>>2]<<1;c[da>>2]=(c[da>>2]|0)+4;c[ga>>2]=(c[D>>2]|0)-(c[P>>2]|0);c[fa>>2]=(c[ga>>2]|0)+(c[fa>>2]<<1);c[fa>>2]=(c[fa>>2]>>2)+1>>1}else c[fa>>2]=(c[fa>>2]>>1)+1>>1;c[Y>>2]=(c[(c[ha>>2]|0)+(c[J>>2]<<2)>>2]|0)-(c[fa>>2]|0);if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[Y>>2]=0-(c[Y>>2]|0);if((c[Y>>2]|0)>30720)m=30720;else m=(c[Y>>2]|0)<-31744?-31744:c[Y>>2]|0;c[Y>>2]=m;c[W>>2]=(c[Y>>2]|0)-(c[Q>>2]|0);c[V>>2]=c[W>>2]>>10;m=c[V>>2]|0;do if((c[V>>2]|0)<=0){if(!m){c[W>>2]=c[Q>>2];c[X>>2]=(c[W>>2]|0)+944;c[Z>>2]=N((c[W>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;c[_>>2]=N((c[X>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;break}if((c[V>>2]|0)==-1){c[X>>2]=c[Q>>2];c[W>>2]=(c[X>>2]|0)-944;c[Z>>2]=N((0-(c[W>>2]|0)&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;c[_>>2]=N((c[X>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;break}else{c[W>>2]=(c[V>>2]<<10)+80;c[W>>2]=(c[W>>2]|0)+(c[Q>>2]|0);c[X>>2]=(c[W>>2]|0)+1024;c[Z>>2]=N((0-(c[W>>2]|0)&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;c[_>>2]=N((0-(c[X>>2]|0)&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;break}}else{c[W>>2]=(m<<10)-80;c[W>>2]=(c[W>>2]|0)+(c[Q>>2]|0);c[X>>2]=(c[W>>2]|0)+1024;c[Z>>2]=N((c[W>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0;c[_>>2]=N((c[X>>2]&65535)<<16>>16,(c[E>>2]&65535)<<16>>16)|0}while(0);c[$>>2]=(c[Y>>2]|0)-(c[W>>2]|0);c[Z>>2]=(c[Z>>2]|0)+(N((c[$>>2]&65535)<<16>>16,(c[$>>2]&65535)<<16>>16)|0);c[$>>2]=(c[Y>>2]|0)-(c[X>>2]|0);c[_>>2]=(c[_>>2]|0)+(N((c[$>>2]&65535)<<16>>16,(c[$>>2]&65535)<<16>>16)|0);if((c[_>>2]|0)<(c[Z>>2]|0))c[W>>2]=c[X>>2];a[(c[U>>2]|0)+(c[J>>2]|0)>>0]=(c[W>>2]>>9)+1>>1;c[I>>2]=c[W>>2]<<4;if((c[(c[ka>>2]|0)+4368>>2]|0)<0)c[I>>2]=0-(c[I>>2]|0);c[B>>2]=(c[I>>2]|0)+(c[D>>2]<<1);c[ja>>2]=(c[B>>2]|0)+(c[C>>2]<<4);na=N(c[ja>>2]>>16,(c[y>>2]&65535)<<16>>16)|0;na=na+((N(c[ja>>2]&65535,(c[y>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(N(c[ja>>2]|0,(c[y>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){na=N(c[ja>>2]>>16,(c[y>>2]&65535)<<16>>16)|0;na=na+((N(c[ja>>2]&65535,(c[y>>2]&65535)<<16>>16)|0)>>16)|0;if(((na+(N(c[ja>>2]|0,(c[y>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)m=-32768;else{m=N(c[ja>>2]>>16,(c[y>>2]&65535)<<16>>16)|0;m=m+((N(c[ja>>2]&65535,(c[y>>2]&65535)<<16>>16)|0)>>16)|0;m=(m+(N(c[ja>>2]|0,(c[y>>2]>>15)+1>>1)|0)>>7)+1>>1}}else m=32767;b[(c[ia>>2]|0)+(c[J>>2]<<1)>>1]=m;c[T>>2]=(c[T>>2]|0)+4;c[c[T>>2]>>2]=c[ja>>2];c[aa>>2]=(c[ja>>2]|0)-(c[M>>2]<<2);c[(c[ka>>2]|0)+4352>>2]=c[aa>>2];c[(c[ka>>2]|0)+1280+(c[(c[ka>>2]|0)+4364>>2]<<2)>>2]=(c[aa>>2]|0)-(c[O>>2]<<2);c[(c[ba>>2]|0)+(c[(c[ka>>2]|0)+4360>>2]<<2)>>2]=c[B>>2]<<1;na=(c[ka>>2]|0)+4364|0;c[na>>2]=(c[na>>2]|0)+1;na=(c[ka>>2]|0)+4360|0;c[na>>2]=(c[na>>2]|0)+1;c[(c[ka>>2]|0)+4368>>2]=(c[(c[ka>>2]|0)+4368>>2]|0)+(a[(c[U>>2]|0)+(c[J>>2]|0)>>0]|0);c[J>>2]=(c[J>>2]|0)+1}o=m+3840|0;m=(c[ka>>2]|0)+3840+(c[la>>2]<<2)|0;r=o+128|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(r|0));l=ma;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(ae((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(ae((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[j>>2]=(ae((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,32)|0;c[n>>2]=b-(d<<3);d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function ae(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function be(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var 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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ea=l;l=l+272|0;aa=ea+264|0;U=ea+260|0;O=ea+256|0;S=ea+252|0;ba=ea+248|0;F=ea+244|0;C=ea+240|0;t=ea+236|0;z=ea+232|0;H=ea+228|0;A=ea+224|0;x=ea+220|0;Y=ea+216|0;E=ea+212|0;D=ea+208|0;W=ea+204|0;K=ea+200|0;L=ea+196|0;Q=ea+192|0;B=ea+188|0;I=ea+184|0;R=ea+180|0;X=ea+176|0;P=ea+172|0;V=ea+168|0;v=ea+164|0;w=ea+160|0;u=ea+156|0;ca=ea+152|0;y=ea+148|0;M=ea+144|0;G=ea+140|0;T=ea+136|0;Z=ea+132|0;da=ea+128|0;J=ea;c[aa>>2]=d;c[U>>2]=e;c[O>>2]=f;c[S>>2]=g;c[ba>>2]=h;c[F>>2]=i;c[C>>2]=j;c[t>>2]=k;c[z>>2]=m;c[H>>2]=n;c[A>>2]=o;c[x>>2]=p;c[Y>>2]=q;c[E>>2]=r;c[D>>2]=s;c[L>>2]=c[(c[U>>2]|0)+4356>>2];g=c[(c[aa>>2]|0)+4652>>2]|0;c[da>>2]=$()|0;j=l;l=l+((1*(g*1168|0)|0)+15&-16)|0;aj(j|0,0,(c[(c[aa>>2]|0)+4652>>2]|0)*1168|0)|0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[aa>>2]|0)+4652>>2]|0))break;c[Z>>2]=j+((c[K>>2]|0)*1168|0);c[(c[Z>>2]|0)+1156>>2]=(c[K>>2]|0)+(a[(c[O>>2]|0)+34>>0]|0)&3;c[(c[Z>>2]|0)+1160>>2]=c[(c[Z>>2]|0)+1156>>2];c[(c[Z>>2]|0)+1164>>2]=0;c[(c[Z>>2]|0)+1152>>2]=c[(c[U>>2]|0)+4352>>2];c[(c[Z>>2]|0)+960>>2]=c[(c[U>>2]|0)+1280+((c[(c[aa>>2]|0)+4616>>2]|0)-1<<2)>>2];k=c[Z>>2]|0;p=(c[U>>2]|0)+3840|0;m=k+128|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));k=(c[Z>>2]|0)+1088|0;p=(c[U>>2]|0)+4288|0;m=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));c[K>>2]=(c[K>>2]|0)+1}c[M>>2]=b[24558+(a[(c[O>>2]|0)+29>>0]>>1<<2)+(a[(c[O>>2]|0)+30>>0]<<1)>>1];c[P>>2]=0;c[V>>2]=ce(32,c[(c[aa>>2]|0)+4612>>2]|0)|0;a:do if((a[(c[O>>2]|0)+29>>0]|0)!=2){if((c[L>>2]|0)>0)c[V>>2]=ce(c[V>>2]|0,(c[L>>2]|0)-2-1|0)|0}else{c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[aa>>2]|0)+4604>>2]|0))break a;c[V>>2]=ce(c[V>>2]|0,(c[(c[Y>>2]|0)+(c[K>>2]<<2)>>2]|0)-2-1|0)|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if((a[(c[O>>2]|0)+31>>0]|0)==4)c[B>>2]=0;else c[B>>2]=1;p=l;l=l+((1*((c[(c[aa>>2]|0)+4616>>2]|0)+(c[(c[aa>>2]|0)+4608>>2]|0)<<2)|0)+15&-16)|0;m=l;l=l+((1*((c[(c[aa>>2]|0)+4616>>2]|0)+(c[(c[aa>>2]|0)+4608>>2]|0)<<1)|0)+15&-16)|0;o=l;l=l+((1*(c[(c[aa>>2]|0)+4612>>2]<<2)|0)+15&-16)|0;c[ca>>2]=(c[U>>2]|0)+(c[(c[aa>>2]|0)+4616>>2]<<1);c[(c[U>>2]|0)+4364>>2]=c[(c[aa>>2]|0)+4616>>2];c[(c[U>>2]|0)+4360>>2]=c[(c[aa>>2]|0)+4616>>2];c[R>>2]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[aa>>2]|0)+4604>>2]|0))break;c[v>>2]=(c[F>>2]|0)+((c[K>>2]>>1|1-(c[B>>2]|0))<<4<<1);c[w>>2]=(c[C>>2]|0)+((c[K>>2]|0)*5<<1);c[u>>2]=(c[t>>2]|0)+(c[K>>2]<<4<<1);c[y>>2]=c[(c[z>>2]|0)+(c[K>>2]<<2)>>2]>>2;c[y>>2]=c[y>>2]|c[(c[z>>2]|0)+(c[K>>2]<<2)>>2]>>1<<16;c[(c[U>>2]|0)+4376>>2]=0;if((a[(c[O>>2]|0)+29>>0]|0)==2?(c[L>>2]=c[(c[Y>>2]|0)+(c[K>>2]<<2)>>2],(c[K>>2]&3-(c[B>>2]<<1)|0)==0):0){if((c[K>>2]|0)==2){c[G>>2]=c[j+1164>>2];c[I>>2]=0;c[W>>2]=1;while(1){if((c[W>>2]|0)>=(c[(c[aa>>2]|0)+4652>>2]|0))break;if((c[j+((c[W>>2]|0)*1168|0)+1164>>2]|0)<(c[G>>2]|0)){c[G>>2]=c[j+((c[W>>2]|0)*1168|0)+1164>>2];c[I>>2]=c[W>>2]}c[W>>2]=(c[W>>2]|0)+1}c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[(c[aa>>2]|0)+4652>>2]|0))break;if((c[W>>2]|0)!=(c[I>>2]|0)){g=j+((c[W>>2]|0)*1168|0)+1164|0;c[g>>2]=(c[g>>2]|0)+134217727}c[W>>2]=(c[W>>2]|0)+1}c[Z>>2]=j+((c[I>>2]|0)*1168|0);c[X>>2]=(c[P>>2]|0)+(c[V>>2]|0);c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[V>>2]|0))break;c[X>>2]=(c[X>>2]|0)-1&31;a[(c[ba>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0))>>0]=(c[(c[Z>>2]|0)+576+(c[X>>2]<<2)>>2]>>9)+1>>1;g=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<=32767){g=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;g=g+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((g+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1|0)<-32768)k=-32768;else{k=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0;k=k+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[(c[x>>2]|0)+4>>2]&65535)<<16>>16)|0)>>16)|0;k=(k+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[(c[x>>2]|0)+4>>2]>>15)+1>>1)|0)>>13)+1>>1}}else k=32767;b[(c[ca>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0)<<1)>>1]=k;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4364>>2]|0)-(c[V>>2]|0)+(c[W>>2]|0)<<2)>>2]=c[(c[Z>>2]|0)+960+(c[X>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}c[R>>2]=0}c[Q>>2]=(c[(c[aa>>2]|0)+4616>>2]|0)-(c[L>>2]|0)-(c[(c[aa>>2]|0)+4664>>2]|0)-2;g=(c[U>>2]|0)+((c[Q>>2]|0)+(N(c[K>>2]|0,c[(c[aa>>2]|0)+4612>>2]|0)|0)<<1)|0;Gf(m+(c[Q>>2]<<1)|0,g,c[v>>2]|0,(c[(c[aa>>2]|0)+4616>>2]|0)-(c[Q>>2]|0)|0,c[(c[aa>>2]|0)+4664>>2]|0,c[(c[aa>>2]|0)+5124>>2]|0);c[(c[U>>2]|0)+4360>>2]=c[(c[aa>>2]|0)+4616>>2];c[(c[U>>2]|0)+4376>>2]=1}de(c[aa>>2]|0,c[U>>2]|0,j,c[S>>2]|0,o,m,p,c[K>>2]|0,c[(c[aa>>2]|0)+4652>>2]|0,c[D>>2]|0,c[x>>2]|0,c[Y>>2]|0,a[(c[O>>2]|0)+29>>0]|0,c[V>>2]|0);ja=c[U>>2]|0;ia=a[(c[O>>2]|0)+29>>0]|0;ha=c[ba>>2]|0;ga=c[ca>>2]|0;fa=c[v>>2]|0;k=c[w>>2]|0;s=c[u>>2]|0;r=c[L>>2]|0;e=c[y>>2]|0;i=c[(c[H>>2]|0)+(c[K>>2]<<2)>>2]|0;n=c[(c[A>>2]|0)+(c[K>>2]<<2)>>2]|0;q=c[(c[x>>2]|0)+(c[K>>2]<<2)>>2]|0;d=c[E>>2]|0;f=c[M>>2]|0;h=c[(c[aa>>2]|0)+4612>>2]|0;g=c[R>>2]|0;c[R>>2]=g+1;ee(ja,j,ia,o,ha,ga,p,J,fa,k,s,r,e,i,n,q,d,f,h,g,c[(c[aa>>2]|0)+4660>>2]|0,c[(c[aa>>2]|0)+4664>>2]|0,c[(c[aa>>2]|0)+4704>>2]|0,c[(c[aa>>2]|0)+4652>>2]|0,P,c[V>>2]|0);c[S>>2]=(c[S>>2]|0)+(c[(c[aa>>2]|0)+4612>>2]<<2);c[ba>>2]=(c[ba>>2]|0)+(c[(c[aa>>2]|0)+4612>>2]|0);c[ca>>2]=(c[ca>>2]|0)+(c[(c[aa>>2]|0)+4612>>2]<<1);c[K>>2]=(c[K>>2]|0)+1}c[G>>2]=c[j+1164>>2];c[I>>2]=0;c[K>>2]=1;while(1){if((c[K>>2]|0)>=(c[(c[aa>>2]|0)+4652>>2]|0))break;if((c[j+((c[K>>2]|0)*1168|0)+1164>>2]|0)<(c[G>>2]|0)){c[G>>2]=c[j+((c[K>>2]|0)*1168|0)+1164>>2];c[I>>2]=c[K>>2]}c[K>>2]=(c[K>>2]|0)+1}c[Z>>2]=j+((c[I>>2]|0)*1168|0);a[(c[O>>2]|0)+34>>0]=c[(c[Z>>2]|0)+1160>>2];c[X>>2]=(c[P>>2]|0)+(c[V>>2]|0);c[T>>2]=c[(c[x>>2]|0)+((c[(c[aa>>2]|0)+4604>>2]|0)-1<<2)>>2]>>6;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[V>>2]|0))break;c[X>>2]=(c[X>>2]|0)-1&31;a[(c[ba>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0))>>0]=(c[(c[Z>>2]|0)+576+(c[X>>2]<<2)>>2]>>9)+1>>1;ja=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;ja=ja+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;if(((ja+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){ja=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;ja=ja+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;if(((ja+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)k=-32768;else{k=N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]>>16,(c[T>>2]&65535)<<16>>16)|0;k=k+((N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]&65535,(c[T>>2]&65535)<<16>>16)|0)>>16)|0;k=(k+(N(c[(c[Z>>2]|0)+704+(c[X>>2]<<2)>>2]|0,(c[T>>2]>>15)+1>>1)|0)>>7)+1>>1}}else k=32767;b[(c[ca>>2]|0)+((c[W>>2]|0)-(c[V>>2]|0)<<1)>>1]=k;c[(c[U>>2]|0)+1280+((c[(c[U>>2]|0)+4364>>2]|0)-(c[V>>2]|0)+(c[W>>2]|0)<<2)>>2]=c[(c[Z>>2]|0)+960+(c[X>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}k=(c[U>>2]|0)+3840|0;p=(c[Z>>2]|0)+(c[(c[aa>>2]|0)+4612>>2]<<2)|0;m=k+128|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));k=(c[U>>2]|0)+4288|0;p=(c[Z>>2]|0)+1088|0;m=k+64|0;do{c[k>>2]=c[p>>2];k=k+4|0;p=p+4|0}while((k|0)<(m|0));c[(c[U>>2]|0)+4352>>2]=c[(c[Z>>2]|0)+1152>>2];c[(c[U>>2]|0)+4356>>2]=c[(c[Y>>2]|0)+((c[(c[aa>>2]|0)+4604>>2]|0)-1<<2)>>2];$i(c[U>>2]|0,(c[U>>2]|0)+(c[(c[aa>>2]|0)+4608>>2]<<1)|0,c[(c[aa>>2]|0)+4616>>2]<<1|0)|0;$i((c[U>>2]|0)+1280|0,(c[U>>2]|0)+1280+(c[(c[aa>>2]|0)+4608>>2]<<2)|0,c[(c[aa>>2]|0)+4616>>2]<<2|0)|0;_(c[da>>2]|0);l=ea;return}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function de(a,d,e,f,g,h,i,j,k,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;L=l;l=l+96|0;E=L+80|0;t=L+76|0;D=L+72|0;J=L+68|0;K=L+64|0;F=L+60|0;G=L+56|0;I=L+52|0;B=L+48|0;s=L+44|0;r=L+40|0;M=L+36|0;H=L+32|0;u=L+28|0;w=L+24|0;z=L+20|0;A=L+16|0;v=L+12|0;y=L+8|0;x=L+4|0;C=L;c[E>>2]=a;c[t>>2]=d;c[D>>2]=e;c[J>>2]=f;c[K>>2]=g;c[F>>2]=h;c[G>>2]=i;c[I>>2]=j;c[B>>2]=k;c[s>>2]=m;c[r>>2]=n;c[M>>2]=o;c[H>>2]=p;c[u>>2]=q;c[A>>2]=c[(c[M>>2]|0)+(c[I>>2]<<2)>>2];if((c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0)>1)n=c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0;else n=1;c[y>>2]=fe(n,47)|0;if((c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0)!=(c[(c[t>>2]|0)+4372>>2]|0))c[v>>2]=ge(c[(c[t>>2]|0)+4372>>2]|0,c[(c[r>>2]|0)+(c[I>>2]<<2)>>2]|0,16)|0;else c[v>>2]=65536;c[x>>2]=(c[y>>2]>>7)+1>>1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[E>>2]|0)+4612>>2]|0))break;M=N(c[(c[J>>2]|0)+(c[w>>2]<<2)>>2]>>16,(c[x>>2]&65535)<<16>>16)|0;M=M+((N(c[(c[J>>2]|0)+(c[w>>2]<<2)>>2]&65535,(c[x>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[(c[J>>2]|0)+(c[w>>2]<<2)>>2]|0,(c[x>>2]>>15)+1>>1)|0)|0;c[(c[K>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[(c[t>>2]|0)+4372>>2]=c[(c[r>>2]|0)+(c[I>>2]<<2)>>2];a:do if(c[(c[t>>2]|0)+4376>>2]|0){if(!(c[I>>2]|0)){M=N(c[y>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;c[y>>2]=M+((N(c[y>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)<<2}c[w>>2]=(c[(c[t>>2]|0)+4360>>2]|0)-(c[A>>2]|0)-2;while(1){if((c[w>>2]|0)>=(c[(c[t>>2]|0)+4360>>2]|0))break a;M=N(c[y>>2]>>16,b[(c[F>>2]|0)+(c[w>>2]<<1)>>1]|0)|0;M=M+((N(c[y>>2]&65535,b[(c[F>>2]|0)+(c[w>>2]<<1)>>1]|0)|0)>>16)|0;c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}}while(0);if((c[v>>2]|0)==65536){l=L;return}c[w>>2]=(c[(c[t>>2]|0)+4364>>2]|0)-(c[(c[E>>2]|0)+4616>>2]|0);while(1){if((c[w>>2]|0)>=(c[(c[t>>2]|0)+4364>>2]|0))break;M=N(c[v>>2]>>16,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[t>>2]|0)+1280+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}b:do if((c[H>>2]|0)==2?(c[(c[t>>2]|0)+4376>>2]|0)==0:0){c[w>>2]=(c[(c[t>>2]|0)+4360>>2]|0)-(c[A>>2]|0)-2;while(1){if((c[w>>2]|0)>=((c[(c[t>>2]|0)+4360>>2]|0)-(c[u>>2]|0)|0))break b;M=N(c[v>>2]>>16,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[G>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}}while(0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[B>>2]|0))break;c[C>>2]=(c[D>>2]|0)+((c[z>>2]|0)*1168|0);M=N(c[v>>2]>>16,(c[(c[C>>2]|0)+1152>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[C>>2]|0)+1152>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[C>>2]|0)+1152>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1152>>2]=M;c[w>>2]=0;while(1){if((c[w>>2]|0)>=32)break;M=N(c[v>>2]>>16,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=16)break;M=N(c[v>>2]>>16,(c[(c[C>>2]|0)+1088+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[C>>2]|0)+1088+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[C>>2]|0)+1088+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+1088+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=32)break;M=N(c[v>>2]>>16,(c[(c[C>>2]|0)+832+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[C>>2]|0)+832+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[C>>2]|0)+832+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+832+(c[w>>2]<<2)>>2]=M;M=N(c[v>>2]>>16,(c[(c[C>>2]|0)+960+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0;M=M+((N(c[v>>2]&65535,(c[(c[C>>2]|0)+960+(c[w>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;M=M+(N(c[v>>2]|0,(c[(c[C>>2]|0)+960+(c[w>>2]<<2)>>2]>>15)+1>>1)|0)|0;c[(c[C>>2]|0)+960+(c[w>>2]<<2)>>2]=M;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}l=L;return}function ee(d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;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,K=0,L=0,M=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0;Na=l;l=l+256|0;M=Na+240|0;La=Na+236|0;ya=Na+232|0;Ea=Na+228|0;ma=Na+224|0;Fa=Na+220|0;va=Na+216|0;Y=Na+212|0;V=Na+208|0;W=Na+204|0;E=Na+200|0;ca=Na+196|0;G=Na+192|0;S=Na+188|0;H=Na+184|0;Oa=Na+180|0;L=Na+176|0;ha=Na+172|0;Ia=Na+168|0;Aa=Na+164|0;wa=Na+160|0;ja=Na+156|0;Da=Na+152|0;Ja=Na+148|0;za=Na+144|0;X=Na+140|0;aa=Na+136|0;ba=Na+132|0;Ha=Na+128|0;T=Na+124|0;R=Na+120|0;P=Na+116|0;da=Na+112|0;U=Na+108|0;K=Na+104|0;J=Na+100|0;ea=Na+96|0;ga=Na+92|0;fa=Na+88|0;qa=Na+84|0;ta=Na+80|0;ra=Na+76|0;sa=Na+72|0;Q=Na+68|0;O=Na+64|0;na=Na+60|0;oa=Na+56|0;pa=Na+52|0;Z=Na+48|0;I=Na+44|0;Ga=Na+40|0;F=Na+36|0;Ba=Na+32|0;Ca=Na+28|0;ua=Na+24|0;ia=Na+20|0;xa=Na+16|0;ka=Na+12|0;Ka=Na+8|0;la=Na+4|0;Ma=Na;c[M>>2]=d;c[La>>2]=e;c[ya>>2]=f;c[Ea>>2]=g;c[ma>>2]=h;c[Fa>>2]=i;c[va>>2]=j;c[Y>>2]=k;c[V>>2]=m;c[W>>2]=n;c[E>>2]=o;c[ca>>2]=p;c[G>>2]=q;c[S>>2]=r;c[H>>2]=s;c[Oa>>2]=t;c[L>>2]=u;c[ha>>2]=v;c[Ia>>2]=w;c[Aa>>2]=x;c[wa>>2]=y;c[ja>>2]=z;c[Da>>2]=A;c[Ja>>2]=B;c[za>>2]=C;c[X>>2]=D;i=c[Ja>>2]|0;c[Ma>>2]=$()|0;q=l;l=l+((1*(i*48|0)|0)+15&-16)|0;c[xa>>2]=(c[M>>2]|0)+1280+((c[(c[M>>2]|0)+4364>>2]|0)-(c[ca>>2]|0)+1<<2);c[ia>>2]=(c[va>>2]|0)+((c[(c[M>>2]|0)+4360>>2]|0)-(c[ca>>2]|0)+2<<2);c[F>>2]=c[Oa>>2]>>6;c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[Ia>>2]|0))break;if((c[ya>>2]|0)==2){c[K>>2]=2;Oa=N(c[c[ia>>2]>>2]>>16,b[c[W>>2]>>1]|0)|0;c[K>>2]=(c[K>>2]|0)+(Oa+((N(c[c[ia>>2]>>2]&65535,b[c[W>>2]>>1]|0)|0)>>16));Oa=N(c[(c[ia>>2]|0)+-4>>2]>>16,b[(c[W>>2]|0)+2>>1]|0)|0;c[K>>2]=(c[K>>2]|0)+(Oa+((N(c[(c[ia>>2]|0)+-4>>2]&65535,b[(c[W>>2]|0)+2>>1]|0)|0)>>16));Oa=N(c[(c[ia>>2]|0)+-8>>2]>>16,b[(c[W>>2]|0)+4>>1]|0)|0;c[K>>2]=(c[K>>2]|0)+(Oa+((N(c[(c[ia>>2]|0)+-8>>2]&65535,b[(c[W>>2]|0)+4>>1]|0)|0)>>16));Oa=N(c[(c[ia>>2]|0)+-12>>2]>>16,b[(c[W>>2]|0)+6>>1]|0)|0;c[K>>2]=(c[K>>2]|0)+(Oa+((N(c[(c[ia>>2]|0)+-12>>2]&65535,b[(c[W>>2]|0)+6>>1]|0)|0)>>16));Oa=N(c[(c[ia>>2]|0)+-16>>2]>>16,b[(c[W>>2]|0)+8>>1]|0)|0;c[K>>2]=(c[K>>2]|0)+(Oa+((N(c[(c[ia>>2]|0)+-16>>2]&65535,b[(c[W>>2]|0)+8>>1]|0)|0)>>16));c[K>>2]=c[K>>2]<<1;c[ia>>2]=(c[ia>>2]|0)+4}else c[K>>2]=0;if((c[ca>>2]|0)>0){Oa=N((c[c[xa>>2]>>2]|0)+(c[(c[xa>>2]|0)+-8>>2]|0)>>16,(c[G>>2]&65535)<<16>>16)|0;c[ga>>2]=Oa+((N((c[c[xa>>2]>>2]|0)+(c[(c[xa>>2]|0)+-8>>2]|0)&65535,(c[G>>2]&65535)<<16>>16)|0)>>16);Oa=(c[ga>>2]|0)+(N(c[(c[xa>>2]|0)+-4>>2]>>16,c[G>>2]>>16)|0)|0;c[ga>>2]=Oa+((N(c[(c[xa>>2]|0)+-4>>2]&65535,c[G>>2]>>16)|0)>>16);c[ga>>2]=(c[K>>2]|0)-(c[ga>>2]<<2);c[xa>>2]=(c[xa>>2]|0)+4}else c[ga>>2]=0;c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;c[Ka>>2]=(c[La>>2]|0)+((c[Ha>>2]|0)*1168|0);c[la>>2]=q+((c[Ha>>2]|0)*48|0);Oa=907633515+(N(c[(c[Ka>>2]|0)+1156>>2]|0,196314165)|0)|0;c[(c[Ka>>2]|0)+1156>>2]=Oa;c[ka>>2]=(c[Ka>>2]|0)+(31+(c[aa>>2]|0)<<2);c[J>>2]=c[ja>>2]>>1;Oa=N(c[c[ka>>2]>>2]>>16,b[c[V>>2]>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[c[ka>>2]>>2]&65535,b[c[V>>2]>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-4>>2]>>16,b[(c[V>>2]|0)+2>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-4>>2]&65535,b[(c[V>>2]|0)+2>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-8>>2]>>16,b[(c[V>>2]|0)+4>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-8>>2]&65535,b[(c[V>>2]|0)+4>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-12>>2]>>16,b[(c[V>>2]|0)+6>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-12>>2]&65535,b[(c[V>>2]|0)+6>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-16>>2]>>16,b[(c[V>>2]|0)+8>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-16>>2]&65535,b[(c[V>>2]|0)+8>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-20>>2]>>16,b[(c[V>>2]|0)+10>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-20>>2]&65535,b[(c[V>>2]|0)+10>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-24>>2]>>16,b[(c[V>>2]|0)+12>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-24>>2]&65535,b[(c[V>>2]|0)+12>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-28>>2]>>16,b[(c[V>>2]|0)+14>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-28>>2]&65535,b[(c[V>>2]|0)+14>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-32>>2]>>16,b[(c[V>>2]|0)+16>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-32>>2]&65535,b[(c[V>>2]|0)+16>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-36>>2]>>16,b[(c[V>>2]|0)+18>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-36>>2]&65535,b[(c[V>>2]|0)+18>>1]|0)|0)>>16));if((c[ja>>2]|0)==16){Oa=N(c[(c[ka>>2]|0)+-40>>2]>>16,b[(c[V>>2]|0)+20>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-40>>2]&65535,b[(c[V>>2]|0)+20>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-44>>2]>>16,b[(c[V>>2]|0)+22>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-44>>2]&65535,b[(c[V>>2]|0)+22>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-48>>2]>>16,b[(c[V>>2]|0)+24>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-48>>2]&65535,b[(c[V>>2]|0)+24>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-52>>2]>>16,b[(c[V>>2]|0)+26>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-52>>2]&65535,b[(c[V>>2]|0)+26>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-56>>2]>>16,b[(c[V>>2]|0)+28>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-56>>2]&65535,b[(c[V>>2]|0)+28>>1]|0)|0)>>16));Oa=N(c[(c[ka>>2]|0)+-60>>2]>>16,b[(c[V>>2]|0)+30>>1]|0)|0;c[J>>2]=(c[J>>2]|0)+(Oa+((N(c[(c[ka>>2]|0)+-60>>2]&65535,b[(c[V>>2]|0)+30>>1]|0)|0)>>16))}c[J>>2]=c[J>>2]<<4;Oa=N(c[(c[Ka>>2]|0)+1088>>2]>>16,(c[Da>>2]&65535)<<16>>16)|0;c[Ca>>2]=(c[c[ka>>2]>>2]|0)+(Oa+((N(c[(c[Ka>>2]|0)+1088>>2]&65535,(c[Da>>2]&65535)<<16>>16)|0)>>16));Oa=N((c[(c[Ka>>2]|0)+1088+4>>2]|0)-(c[Ca>>2]|0)>>16,(c[Da>>2]&65535)<<16>>16)|0;c[Ba>>2]=(c[(c[Ka>>2]|0)+1088>>2]|0)+(Oa+((N((c[(c[Ka>>2]|0)+1088+4>>2]|0)-(c[Ca>>2]|0)&65535,(c[Da>>2]&65535)<<16>>16)|0)>>16));c[(c[Ka>>2]|0)+1088>>2]=c[Ca>>2];c[ea>>2]=c[wa>>2]>>1;Oa=N(c[Ca>>2]>>16,b[c[E>>2]>>1]|0)|0;c[ea>>2]=(c[ea>>2]|0)+(Oa+((N(c[Ca>>2]&65535,b[c[E>>2]>>1]|0)|0)>>16));c[ba>>2]=2;while(1){if((c[ba>>2]|0)>=(c[wa>>2]|0))break;Oa=N((c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+0<<2)>>2]|0)-(c[Ba>>2]|0)>>16,(c[Da>>2]&65535)<<16>>16)|0;c[Ca>>2]=(c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)-1<<2)>>2]|0)+(Oa+((N((c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+0<<2)>>2]|0)-(c[Ba>>2]|0)&65535,(c[Da>>2]&65535)<<16>>16)|0)>>16));c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)-1<<2)>>2]=c[Ba>>2];Oa=N(c[Ba>>2]>>16,b[(c[E>>2]|0)+((c[ba>>2]|0)-1<<1)>>1]|0)|0;c[ea>>2]=(c[ea>>2]|0)+(Oa+((N(c[Ba>>2]&65535,b[(c[E>>2]|0)+((c[ba>>2]|0)-1<<1)>>1]|0)|0)>>16));Oa=N((c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+1<<2)>>2]|0)-(c[Ca>>2]|0)>>16,(c[Da>>2]&65535)<<16>>16)|0;c[Ba>>2]=(c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+0<<2)>>2]|0)+(Oa+((N((c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+1<<2)>>2]|0)-(c[Ca>>2]|0)&65535,(c[Da>>2]&65535)<<16>>16)|0)>>16));c[(c[Ka>>2]|0)+1088+((c[ba>>2]|0)+0<<2)>>2]=c[Ca>>2];Oa=N(c[Ca>>2]>>16,b[(c[E>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0;c[ea>>2]=(c[ea>>2]|0)+(Oa+((N(c[Ca>>2]&65535,b[(c[E>>2]|0)+(c[ba>>2]<<1)>>1]|0)|0)>>16));c[ba>>2]=(c[ba>>2]|0)+2}c[(c[Ka>>2]|0)+1088+((c[wa>>2]|0)-1<<2)>>2]=c[Ba>>2];Oa=N(c[Ba>>2]>>16,b[(c[E>>2]|0)+((c[wa>>2]|0)-1<<1)>>1]|0)|0;c[ea>>2]=(c[ea>>2]|0)+(Oa+((N(c[Ba>>2]&65535,b[(c[E>>2]|0)+((c[wa>>2]|0)-1<<1)>>1]|0)|0)>>16));c[ea>>2]=c[ea>>2]<<1;Oa=N(c[(c[Ka>>2]|0)+1152>>2]>>16,(c[S>>2]&65535)<<16>>16)|0;c[ea>>2]=(c[ea>>2]|0)+(Oa+((N(c[(c[Ka>>2]|0)+1152>>2]&65535,(c[S>>2]&65535)<<16>>16)|0)>>16));c[ea>>2]=c[ea>>2]<<2;Oa=N(c[(c[Ka>>2]|0)+960+(c[c[za>>2]>>2]<<2)>>2]>>16,(c[H>>2]&65535)<<16>>16)|0;c[fa>>2]=Oa+((N(c[(c[Ka>>2]|0)+960+(c[c[za>>2]>>2]<<2)>>2]&65535,(c[H>>2]&65535)<<16>>16)|0)>>16);Oa=(c[fa>>2]|0)+(N(c[(c[Ka>>2]|0)+1152>>2]>>16,c[H>>2]>>16)|0)|0;c[fa>>2]=Oa+((N(c[(c[Ka>>2]|0)+1152>>2]&65535,c[H>>2]>>16)|0)>>16);c[fa>>2]=c[fa>>2]<<2;c[Ba>>2]=(c[ea>>2]|0)+(c[fa>>2]|0);c[Ca>>2]=(c[ga>>2]|0)+(c[J>>2]|0);c[Ba>>2]=(c[Ca>>2]|0)-(c[Ba>>2]|0);c[Ba>>2]=(c[Ba>>2]>>3)+1>>1;c[qa>>2]=(c[(c[Ea>>2]|0)+(c[aa>>2]<<2)>>2]|0)-(c[Ba>>2]|0);if((c[(c[Ka>>2]|0)+1156>>2]|0)<0)c[qa>>2]=0-(c[qa>>2]|0);if((c[qa>>2]|0)>30720)o=30720;else o=(c[qa>>2]|0)<-31744?-31744:c[qa>>2]|0;c[qa>>2]=o;c[oa>>2]=(c[qa>>2]|0)-(c[ha>>2]|0);c[na>>2]=c[oa>>2]>>10;o=c[na>>2]|0;do if((c[na>>2]|0)<=0){if(!o){c[oa>>2]=c[ha>>2];c[pa>>2]=(c[oa>>2]|0)+944;c[ra>>2]=N((c[oa>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;c[sa>>2]=N((c[pa>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;break}if((c[na>>2]|0)==-1){c[pa>>2]=c[ha>>2];c[oa>>2]=(c[pa>>2]|0)-944;c[ra>>2]=N((0-(c[oa>>2]|0)&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;c[sa>>2]=N((c[pa>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;break}else{c[oa>>2]=(c[na>>2]<<10)+80;c[oa>>2]=(c[oa>>2]|0)+(c[ha>>2]|0);c[pa>>2]=(c[oa>>2]|0)+1024;c[ra>>2]=N((0-(c[oa>>2]|0)&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;c[sa>>2]=N((0-(c[pa>>2]|0)&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;break}}else{c[oa>>2]=(o<<10)-80;c[oa>>2]=(c[oa>>2]|0)+(c[ha>>2]|0);c[pa>>2]=(c[oa>>2]|0)+1024;c[ra>>2]=N((c[oa>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0;c[sa>>2]=N((c[pa>>2]&65535)<<16>>16,(c[L>>2]&65535)<<16>>16)|0}while(0);c[ta>>2]=(c[qa>>2]|0)-(c[oa>>2]|0);c[ra>>2]=(c[ra>>2]|0)+(N((c[ta>>2]&65535)<<16>>16,(c[ta>>2]&65535)<<16>>16)|0)>>10;c[ta>>2]=(c[qa>>2]|0)-(c[pa>>2]|0);c[sa>>2]=(c[sa>>2]|0)+(N((c[ta>>2]&65535)<<16>>16,(c[ta>>2]&65535)<<16>>16)|0)>>10;o=c[(c[Ka>>2]|0)+1164>>2]|0;if((c[ra>>2]|0)<(c[sa>>2]|0)){c[(c[la>>2]|0)+4>>2]=o+(c[ra>>2]|0);c[(c[la>>2]|0)+24+4>>2]=(c[(c[Ka>>2]|0)+1164>>2]|0)+(c[sa>>2]|0);c[c[la>>2]>>2]=c[oa>>2];o=c[pa>>2]|0;t=c[la>>2]|0}else{c[(c[la>>2]|0)+4>>2]=o+(c[sa>>2]|0);c[(c[la>>2]|0)+24+4>>2]=(c[(c[Ka>>2]|0)+1164>>2]|0)+(c[ra>>2]|0);c[c[la>>2]>>2]=c[pa>>2];o=c[oa>>2]|0;t=c[la>>2]|0}c[t+24>>2]=o;c[Z>>2]=c[c[la>>2]>>2]<<4;if((c[(c[Ka>>2]|0)+1156>>2]|0)<0)c[Z>>2]=0-(c[Z>>2]|0);c[I>>2]=(c[Z>>2]|0)+(c[K>>2]|0);c[Ga>>2]=(c[I>>2]|0)+(c[J>>2]|0);c[ua>>2]=(c[Ga>>2]|0)-(c[ea>>2]|0);c[(c[la>>2]|0)+16>>2]=(c[ua>>2]|0)-(c[fa>>2]|0);c[(c[la>>2]|0)+12>>2]=c[ua>>2];c[(c[la>>2]|0)+20>>2]=c[I>>2];c[(c[la>>2]|0)+8>>2]=c[Ga>>2];c[Z>>2]=c[(c[la>>2]|0)+24>>2]<<4;if((c[(c[Ka>>2]|0)+1156>>2]|0)<0)c[Z>>2]=0-(c[Z>>2]|0);c[I>>2]=(c[Z>>2]|0)+(c[K>>2]|0);c[Ga>>2]=(c[I>>2]|0)+(c[J>>2]|0);c[ua>>2]=(c[Ga>>2]|0)-(c[ea>>2]|0);c[(c[la>>2]|0)+24+16>>2]=(c[ua>>2]|0)-(c[fa>>2]|0);c[(c[la>>2]|0)+24+12>>2]=c[ua>>2];c[(c[la>>2]|0)+24+20>>2]=c[I>>2];c[(c[la>>2]|0)+24+8>>2]=c[Ga>>2];c[Ha>>2]=(c[Ha>>2]|0)+1}c[c[za>>2]>>2]=(c[c[za>>2]>>2]|0)-1&31;c[da>>2]=(c[c[za>>2]>>2]|0)+(c[X>>2]|0)&31;c[Q>>2]=c[q+4>>2];c[T>>2]=0;c[Ha>>2]=1;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;if((c[q+((c[Ha>>2]|0)*48|0)+4>>2]|0)<(c[Q>>2]|0)){c[Q>>2]=c[q+((c[Ha>>2]|0)*48|0)+4>>2];c[T>>2]=c[Ha>>2]}c[Ha>>2]=(c[Ha>>2]|0)+1}c[U>>2]=c[(c[La>>2]|0)+((c[T>>2]|0)*1168|0)+448+(c[da>>2]<<2)>>2];c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;if((c[(c[La>>2]|0)+((c[Ha>>2]|0)*1168|0)+448+(c[da>>2]<<2)>>2]|0)!=(c[U>>2]|0)){c[q+((c[Ha>>2]|0)*48|0)+4>>2]=(c[q+((c[Ha>>2]|0)*48|0)+4>>2]|0)+134217727;c[q+((c[Ha>>2]|0)*48|0)+24+4>>2]=(c[q+((c[Ha>>2]|0)*48|0)+24+4>>2]|0)+134217727}c[Ha>>2]=(c[Ha>>2]|0)+1}c[O>>2]=c[q+4>>2];c[Q>>2]=c[q+24+4>>2];c[P>>2]=0;c[R>>2]=0;c[Ha>>2]=1;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;if((c[q+((c[Ha>>2]|0)*48|0)+4>>2]|0)>(c[O>>2]|0)){c[O>>2]=c[q+((c[Ha>>2]|0)*48|0)+4>>2];c[P>>2]=c[Ha>>2]}if((c[q+((c[Ha>>2]|0)*48|0)+24+4>>2]|0)<(c[Q>>2]|0)){c[Q>>2]=c[q+((c[Ha>>2]|0)*48|0)+24+4>>2];c[R>>2]=c[Ha>>2]}c[Ha>>2]=(c[Ha>>2]|0)+1}if((c[Q>>2]|0)<(c[O>>2]|0)){_i((c[La>>2]|0)+((c[P>>2]|0)*1168|0)+(c[aa>>2]<<2)|0,(c[La>>2]|0)+((c[R>>2]|0)*1168|0)+(c[aa>>2]<<2)|0,1168-(c[aa>>2]<<2)|0)|0;Oa=q+((c[P>>2]|0)*48|0)|0;i=q+((c[R>>2]|0)*48|0)+24|0;c[Oa>>2]=c[i>>2];c[Oa+4>>2]=c[i+4>>2];c[Oa+8>>2]=c[i+8>>2];c[Oa+12>>2]=c[i+12>>2];c[Oa+16>>2]=c[i+16>>2];c[Oa+20>>2]=c[i+20>>2]}c[Ka>>2]=(c[La>>2]|0)+((c[T>>2]|0)*1168|0);if(!((c[Aa>>2]|0)<=0?(c[aa>>2]|0)<(c[X>>2]|0):0)){a[(c[ma>>2]|0)+((c[aa>>2]|0)-(c[X>>2]|0))>>0]=(c[(c[Ka>>2]|0)+576+(c[da>>2]<<2)>>2]>>9)+1>>1;Oa=N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]>>16,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]&65535,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]|0,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){Oa=N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]>>16,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0;Oa=Oa+((N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]&65535,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;if(((Oa+(N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]|0,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)o=-32768;else{o=N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]>>16,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0;o=o+((N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]&65535,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;o=(o+(N(c[(c[Ka>>2]|0)+704+(c[da>>2]<<2)>>2]|0,(c[(c[Y>>2]|0)+(c[da>>2]<<2)>>2]>>15)+1>>1)|0)>>7)+1>>1}}else o=32767;b[(c[Fa>>2]|0)+((c[aa>>2]|0)-(c[X>>2]|0)<<1)>>1]=o;c[(c[M>>2]|0)+1280+((c[(c[M>>2]|0)+4364>>2]|0)-(c[X>>2]|0)<<2)>>2]=c[(c[Ka>>2]|0)+960+(c[da>>2]<<2)>>2];c[(c[va>>2]|0)+((c[(c[M>>2]|0)+4360>>2]|0)-(c[X>>2]|0)<<2)>>2]=c[(c[Ka>>2]|0)+832+(c[da>>2]<<2)>>2]}Oa=(c[M>>2]|0)+4364|0;c[Oa>>2]=(c[Oa>>2]|0)+1;Oa=(c[M>>2]|0)+4360|0;c[Oa>>2]=(c[Oa>>2]|0)+1;c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;c[Ka>>2]=(c[La>>2]|0)+((c[Ha>>2]|0)*1168|0);c[la>>2]=q+((c[Ha>>2]|0)*48|0);c[(c[Ka>>2]|0)+1152>>2]=c[(c[la>>2]|0)+12>>2];c[(c[Ka>>2]|0)+(32+(c[aa>>2]|0)<<2)>>2]=c[(c[la>>2]|0)+8>>2];c[(c[Ka>>2]|0)+704+(c[c[za>>2]>>2]<<2)>>2]=c[(c[la>>2]|0)+8>>2];c[(c[Ka>>2]|0)+576+(c[c[za>>2]>>2]<<2)>>2]=c[c[la>>2]>>2];c[(c[Ka>>2]|0)+832+(c[c[za>>2]>>2]<<2)>>2]=c[(c[la>>2]|0)+20>>2]<<1;c[(c[Ka>>2]|0)+960+(c[c[za>>2]>>2]<<2)>>2]=c[(c[la>>2]|0)+16>>2];c[(c[Ka>>2]|0)+1156>>2]=(c[(c[Ka>>2]|0)+1156>>2]|0)+((c[c[la>>2]>>2]>>9)+1>>1);c[(c[Ka>>2]|0)+448+(c[c[za>>2]>>2]<<2)>>2]=c[(c[Ka>>2]|0)+1156>>2];c[(c[Ka>>2]|0)+1164>>2]=c[(c[la>>2]|0)+4>>2];c[Ha>>2]=(c[Ha>>2]|0)+1}c[(c[Y>>2]|0)+(c[c[za>>2]>>2]<<2)>>2]=c[F>>2];c[aa>>2]=(c[aa>>2]|0)+1}c[Ha>>2]=0;while(1){if((c[Ha>>2]|0)>=(c[Ja>>2]|0))break;c[Ka>>2]=(c[La>>2]|0)+((c[Ha>>2]|0)*1168|0);o=c[Ka>>2]|0;t=(c[Ka>>2]|0)+(c[Ia>>2]<<2)|0;q=o+128|0;do{c[o>>2]=c[t>>2];o=o+4|0;t=t+4|0}while((o|0)<(q|0));c[Ha>>2]=(c[Ha>>2]|0)+1}_(c[Ma>>2]|0);l=Na;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(he((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;h=l;l=l+48|0;g=h+40|0;q=h+36|0;p=h+32|0;i=h+28|0;k=h+24|0;j=h+20|0;f=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;e=h;c[q>>2]=a;c[p>>2]=b;c[i>>2]=d;b=c[q>>2]|0;c[k>>2]=(he((c[q>>2]|0)>0?b:0-b|0)|0)-1;c[n>>2]=c[q>>2]<>2];b=c[p>>2]|0;c[j>>2]=(he((c[p>>2]|0)>0?b:0-b|0)|0)-1;c[o>>2]=c[p>>2]<>2];c[m>>2]=536870911/(c[o>>2]>>16|0)|0;b=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=b+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16);b=c[n>>2]|0;a=c[o>>2]|0;d=c[e>>2]|0;d=Xi(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Yi(d|0,y|0,32)|0;c[n>>2]=b-(d<<3);d=N(c[n>>2]>>16,(c[m>>2]&65535)<<16>>16)|0;c[e>>2]=(c[e>>2]|0)+(d+((N(c[n>>2]&65535,(c[m>>2]&65535)<<16>>16)|0)>>16));c[f>>2]=29+(c[k>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);d=c[f>>2]|0;if((c[f>>2]|0)>=0)if((d|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];q=c[g>>2]|0;l=h;return q|0}else{c[g>>2]=0;q=c[g>>2]|0;l=h;return q|0}a=c[e>>2]|0;b=0-(c[f>>2]|0)|0;do if((-2147483648>>0-d|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>b|0)){d=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){d=2147483647>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>b|0)){d=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){d=-2147483648>>0-(c[f>>2]|0);break}else{d=c[e>>2]|0;break}}while(0);c[g>>2]=d<<0-(c[f>>2]|0);q=c[g>>2]|0;l=h;return q|0}function he(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ie(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+4168>>2]=c[(c[d>>2]|0)+2328>>2]<<7;c[(c[d>>2]|0)+4168+72>>2]=65536;c[(c[d>>2]|0)+4168+72+4>>2]=65536;c[(c[d>>2]|0)+4168+88>>2]=20;c[(c[d>>2]|0)+4168+84>>2]=2;l=b;return}function je(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,m=0;m=l;l=l+32|0;k=m+16|0;g=m+12|0;i=m+8|0;j=m+4|0;h=m;c[k>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;c[h>>2]=f;if((c[(c[k>>2]|0)+2316>>2]|0)!=(c[(c[k>>2]|0)+4168+80>>2]|0)){ie(c[k>>2]|0);c[(c[k>>2]|0)+4168+80>>2]=c[(c[k>>2]|0)+2316>>2]}d=c[k>>2]|0;f=c[g>>2]|0;if(c[j>>2]|0){ke(d,f,c[i>>2]|0,c[h>>2]|0);k=(c[k>>2]|0)+4160|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}else{le(d,f);l=m;return}}function ke(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=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,O=0;O=l;l=l+176|0;G=O+120|0;H=O+116|0;B=O+112|0;o=O+108|0;C=O+104|0;D=O+100|0;u=O+96|0;E=O+92|0;r=O+88|0;y=O+84|0;j=O+80|0;k=O+76|0;K=O+72|0;q=O+68|0;w=O+64|0;t=O+60|0;h=O+56|0;i=O+52|0;x=O+48|0;v=O+44|0;A=O+40|0;n=O+36|0;J=O+160|0;m=O+32|0;L=O+28|0;z=O+128|0;I=O+24|0;F=O+16|0;M=O+8|0;s=O+4|0;p=O;c[G>>2]=a;c[H>>2]=d;c[B>>2]=e;c[o>>2]=f;c[I>>2]=(c[G>>2]|0)+4168;g=(c[(c[G>>2]|0)+2336>>2]|0)+(c[(c[G>>2]|0)+2328>>2]|0)|0;c[M>>2]=$()|0;d=l;l=l+((1*(g<<2)|0)+15&-16)|0;g=l;l=l+((1*(c[(c[G>>2]|0)+2336>>2]<<1)|0)+15&-16)|0;c[F>>2]=c[(c[I>>2]|0)+72>>2]>>6;c[F+4>>2]=c[(c[I>>2]|0)+72+4>>2]>>6;if(c[(c[G>>2]|0)+2376>>2]|0){e=(c[I>>2]|0)+14|0;a=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(a|0))}me(h,j,i,k,(c[G>>2]|0)+4|0,F,c[(c[G>>2]|0)+2332>>2]|0,c[(c[G>>2]|0)+2324>>2]|0);e=(c[G>>2]|0)+4|0;f=c[(c[I>>2]|0)+84>>2]|0;if((c[h>>2]>>c[k>>2]|0)<(c[i>>2]>>c[j>>2]|0))c[x>>2]=e+((ne(0,(N(f-1|0,c[(c[I>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);else c[x>>2]=e+((ne(0,(N(f,c[(c[I>>2]|0)+88>>2]|0)|0)-128|0)|0)<<2);c[m>>2]=(c[I>>2]|0)+4;b[J>>1]=b[(c[I>>2]|0)+56>>1]|0;c[q>>2]=b[24440+((oe(1,c[(c[G>>2]|0)+4160>>2]|0)|0)<<1)>>1];k=(c[(c[G>>2]|0)+4164>>2]|0)==2;f=oe(1,c[(c[G>>2]|0)+4160>>2]|0)|0;if(k)c[w>>2]=b[24444+(f<<1)>>1];else c[w>>2]=b[24448+(f<<1)>>1];yf((c[I>>2]|0)+14|0,c[(c[G>>2]|0)+2340>>2]|0,64881);_i(z|0,(c[I>>2]|0)+14|0,c[(c[G>>2]|0)+2340>>2]<<1|0)|0;do if(!(c[(c[G>>2]|0)+4160>>2]|0)){b[J>>1]=16384;if((c[(c[G>>2]|0)+4164>>2]|0)!=2){c[s>>2]=Hf((c[I>>2]|0)+14|0,c[(c[G>>2]|0)+2340>>2]|0)|0;c[p>>2]=qe(134217728,c[s>>2]|0)|0;c[p>>2]=re(4194304,c[p>>2]|0)|0;c[p>>2]=c[p>>2]<<3;s=N(c[p>>2]>>16,(c[w>>2]&65535)<<16>>16)|0;c[w>>2]=s+((N(c[p>>2]&65535,(c[w>>2]&65535)<<16>>16)|0)>>16)>>14;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=5)break;b[J>>1]=(b[J>>1]|0)-(b[(c[m>>2]|0)+(c[C>>2]<<1)>>1]|0);c[C>>2]=(c[C>>2]|0)+1}b[J>>1]=pe(3277,b[J>>1]|0)|0;b[J>>1]=(N(b[J>>1]|0,b[(c[I>>2]|0)+68>>1]|0)|0)>>14}while(0);c[K>>2]=c[(c[I>>2]|0)+52>>2];c[E>>2]=(c[c[I>>2]>>2]>>7)+1>>1;c[y>>2]=c[(c[G>>2]|0)+2336>>2];c[r>>2]=(c[(c[G>>2]|0)+2336>>2]|0)-(c[E>>2]|0)-(c[(c[G>>2]|0)+2340>>2]|0)-2;Gf(g+(c[r>>2]<<1)|0,(c[G>>2]|0)+1348+(c[r>>2]<<1)|0,z,(c[(c[G>>2]|0)+2336>>2]|0)-(c[r>>2]|0)|0,c[(c[G>>2]|0)+2340>>2]|0,c[o>>2]|0);c[t>>2]=se(c[(c[I>>2]|0)+72+4>>2]|0,46)|0;c[t>>2]=(c[t>>2]|0)<1073741823?c[t>>2]|0:1073741823;c[C>>2]=(c[r>>2]|0)+(c[(c[G>>2]|0)+2340>>2]|0);while(1){if((c[C>>2]|0)>=(c[(c[G>>2]|0)+2336>>2]|0))break;s=N(c[t>>2]>>16,b[g+(c[C>>2]<<1)>>1]|0)|0;s=s+((N(c[t>>2]&65535,b[g+(c[C>>2]<<1)>>1]|0)|0)>>16)|0;c[d+(c[C>>2]<<2)>>2]=s;c[C>>2]=(c[C>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[G>>2]|0)+2324>>2]|0))break;c[v>>2]=d+((c[y>>2]|0)-(c[E>>2]|0)+2<<2);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[(c[G>>2]|0)+2332>>2]|0))break;c[n>>2]=2;t=N(c[c[v>>2]>>2]>>16,b[c[m>>2]>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(t+((N(c[c[v>>2]>>2]&65535,b[c[m>>2]>>1]|0)|0)>>16));t=N(c[(c[v>>2]|0)+-4>>2]>>16,b[(c[m>>2]|0)+2>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(t+((N(c[(c[v>>2]|0)+-4>>2]&65535,b[(c[m>>2]|0)+2>>1]|0)|0)>>16));t=N(c[(c[v>>2]|0)+-8>>2]>>16,b[(c[m>>2]|0)+4>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(t+((N(c[(c[v>>2]|0)+-8>>2]&65535,b[(c[m>>2]|0)+4>>1]|0)|0)>>16));t=N(c[(c[v>>2]|0)+-12>>2]>>16,b[(c[m>>2]|0)+6>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(t+((N(c[(c[v>>2]|0)+-12>>2]&65535,b[(c[m>>2]|0)+6>>1]|0)|0)>>16));t=N(c[(c[v>>2]|0)+-16>>2]>>16,b[(c[m>>2]|0)+8>>1]|0)|0;c[n>>2]=(c[n>>2]|0)+(t+((N(c[(c[v>>2]|0)+-16>>2]&65535,b[(c[m>>2]|0)+8>>1]|0)|0)>>16));c[v>>2]=(c[v>>2]|0)+4;c[K>>2]=907633515+(N(c[K>>2]|0,196314165)|0);c[r>>2]=c[K>>2]>>25&127;t=N(c[(c[x>>2]|0)+(c[r>>2]<<2)>>2]>>16,b[J>>1]|0)|0;t=(c[n>>2]|0)+(t+((N(c[(c[x>>2]|0)+(c[r>>2]<<2)>>2]&65535,b[J>>1]|0)|0)>>16))<<2;c[d+(c[y>>2]<<2)>>2]=t;c[y>>2]=(c[y>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+1}c[D>>2]=0;while(1){if((c[D>>2]|0)>=5)break;t=(N((c[q>>2]&65535)<<16>>16,b[(c[m>>2]|0)+(c[D>>2]<<1)>>1]|0)|0)>>15&65535;b[(c[m>>2]|0)+(c[D>>2]<<1)>>1]=t;c[D>>2]=(c[D>>2]|0)+1}b[J>>1]=(N(b[J>>1]|0,(c[w>>2]&65535)<<16>>16)|0)>>15;c[c[I>>2]>>2]=(c[c[I>>2]>>2]|0)+(((c[c[I>>2]>>2]>>16)*655|0)+((c[c[I>>2]>>2]&65535)*655>>16));t=qe(c[c[I>>2]>>2]|0,((c[(c[G>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8)|0;c[c[I>>2]>>2]=t;c[E>>2]=(c[c[I>>2]>>2]>>7)+1>>1;c[u>>2]=(c[u>>2]|0)+1}c[L>>2]=d+((c[(c[G>>2]|0)+2336>>2]|0)-16<<2);e=c[L>>2]|0;f=(c[G>>2]|0)+1284|0;a=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0));c[C>>2]=0;while(1){f=c[G>>2]|0;if((c[C>>2]|0)>=(c[(c[G>>2]|0)+2328>>2]|0))break;c[A>>2]=c[f+2340>>2]>>1;y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-1<<2)>>2]>>16,b[z>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-1<<2)>>2]&65535,b[z>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-2<<2)>>2]>>16,b[z+2>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-2<<2)>>2]&65535,b[z+2>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-3<<2)>>2]>>16,b[z+4>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-3<<2)>>2]&65535,b[z+4>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-4<<2)>>2]>>16,b[z+6>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-4<<2)>>2]&65535,b[z+6>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-5<<2)>>2]>>16,b[z+8>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-5<<2)>>2]&65535,b[z+8>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-6<<2)>>2]>>16,b[z+10>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-6<<2)>>2]&65535,b[z+10>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-7<<2)>>2]>>16,b[z+12>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-7<<2)>>2]&65535,b[z+12>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-8<<2)>>2]>>16,b[z+14>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-8<<2)>>2]&65535,b[z+14>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-9<<2)>>2]>>16,b[z+16>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-9<<2)>>2]&65535,b[z+16>>1]|0)|0)>>16));y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-10<<2)>>2]>>16,b[z+18>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-10<<2)>>2]&65535,b[z+18>>1]|0)|0)>>16));c[D>>2]=10;while(1){if((c[D>>2]|0)>=(c[(c[G>>2]|0)+2340>>2]|0))break;y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-(c[D>>2]|0)-1<<2)>>2]>>16,b[z+(c[D>>2]<<1)>>1]|0)|0;c[A>>2]=(c[A>>2]|0)+(y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)-(c[D>>2]|0)-1<<2)>>2]&65535,b[z+(c[D>>2]<<1)>>1]|0)|0)>>16));c[D>>2]=(c[D>>2]|0)+1}c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]=(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0)+(c[A>>2]<<4);y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;f=f+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767;if((f|0)<=32767){y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;f=f+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767;if((f|0)>=-32768){y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<=32767){y=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;y=y+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;if(((y+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1|0)<-32768)f=-32768;else{f=N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]>>16,(c[F+4>>2]&65535)<<16>>16)|0;f=f+((N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]&65535,(c[F+4>>2]&65535)<<16>>16)|0)>>16)|0;f=(f+(N(c[(c[L>>2]|0)+(16+(c[C>>2]|0)<<2)>>2]|0,(c[F+4>>2]>>15)+1>>1)|0)>>7)+1>>1}}else f=32767}else f=-32768}else f=32767;b[(c[B>>2]|0)+(c[C>>2]<<1)>>1]=f;c[C>>2]=(c[C>>2]|0)+1}e=f+1284|0;f=(c[L>>2]|0)+(c[(c[G>>2]|0)+2328>>2]<<2)|0;a=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(a|0));c[(c[I>>2]|0)+52>>2]=c[K>>2];b[(c[I>>2]|0)+56>>1]=b[J>>1]|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=4)break;c[(c[H>>2]|0)+(c[C>>2]<<2)>>2]=c[E>>2];c[C>>2]=(c[C>>2]|0)+1}_(c[M>>2]|0);l=O;return}function le(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;i=r+40|0;j=r+36|0;f=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;k=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[i>>2]=d;c[j>>2]=e;c[k>>2]=(c[i>>2]|0)+4168;c[(c[i>>2]|0)+4164>>2]=a[(c[i>>2]|0)+2736+29>>0];c[f>>2]=0;a:do if((a[(c[i>>2]|0)+2736+29>>0]|0)==2){c[h>>2]=0;while(1){e=N(c[h>>2]|0,c[(c[i>>2]|0)+2332>>2]|0)|0;if((e|0)>=(c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1<<2)>>2]|0))break;if((c[h>>2]|0)==(c[(c[i>>2]|0)+2324>>2]|0))break;c[o>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break;c[o>>2]=(c[o>>2]|0)+(b[(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)|0)*5|0)+(c[g>>2]|0)<<1)>>1]|0);c[g>>2]=(c[g>>2]|0)+1}if((c[o>>2]|0)>(c[f>>2]|0)){c[f>>2]=c[o>>2];e=(c[k>>2]|0)+4|0;d=(c[j>>2]|0)+96+((((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)&65535)<<16>>16)*5<<1)|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;b[e+6>>1]=b[d+6>>1]|0;b[e+8>>1]=b[d+8>>1]|0;c[c[k>>2]>>2]=c[(c[j>>2]|0)+((c[(c[i>>2]|0)+2324>>2]|0)-1-(c[h>>2]|0)<<2)>>2]<<8}c[h>>2]=(c[h>>2]|0)+1}o=(c[k>>2]|0)+4|0;c[o>>2]=0;c[o+4>>2]=0;b[o+8>>1]=0;b[(c[k>>2]|0)+4+4>>1]=c[f>>2];if((c[f>>2]|0)<11469){c[p>>2]=11744256;c[m>>2]=(c[p>>2]|0)/(((c[f>>2]|0)>1?c[f>>2]|0:1)|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break a;q=(N(b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]|0,(c[m>>2]&65535)<<16>>16)|0)>>10&65535;b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]=q;c[g>>2]=(c[g>>2]|0)+1}}if((c[f>>2]|0)>15565){c[q>>2]=255016960;c[n>>2]=(c[q>>2]|0)/(((c[f>>2]|0)>1?c[f>>2]|0:1)|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=5)break a;q=(N(b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]|0,(c[n>>2]&65535)<<16>>16)|0)>>14&65535;b[(c[k>>2]|0)+4+(c[g>>2]<<1)>>1]=q;c[g>>2]=(c[g>>2]|0)+1}}}else{c[c[k>>2]>>2]=((c[(c[i>>2]|0)+2316>>2]&65535)<<16>>16)*18<<8;q=(c[k>>2]|0)+4|0;c[q>>2]=0;c[q+4>>2]=0;b[q+8>>1]=0}while(0);_i((c[k>>2]|0)+14|0,(c[j>>2]|0)+32+32|0,c[(c[i>>2]|0)+2340>>2]<<1|0)|0;b[(c[k>>2]|0)+68>>1]=c[(c[j>>2]|0)+136>>2];q=(c[k>>2]|0)+72|0;p=(c[j>>2]|0)+16+((c[(c[i>>2]|0)+2324>>2]|0)-2<<2)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[(c[k>>2]|0)+88>>2]=c[(c[i>>2]|0)+2332>>2];c[(c[k>>2]|0)+84>>2]=c[(c[i>>2]|0)+2324>>2];l=r;return}function me(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=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;x=l;l=l+48|0;k=x+44|0;u=x+40|0;m=x+36|0;v=x+32|0;n=x+28|0;s=x+24|0;w=x+20|0;r=x+16|0;p=x+12|0;q=x+8|0;o=x+4|0;t=x;c[k>>2]=a;c[u>>2]=d;c[m>>2]=e;c[v>>2]=f;c[n>>2]=g;c[s>>2]=h;c[w>>2]=i;c[r>>2]=j;i=c[w>>2]<<1;c[t>>2]=$()|0;e=l;l=l+((1*(i<<1)|0)+15&-16)|0;c[o>>2]=e;c[q>>2]=0;while(1){if((c[q>>2]|0)>=2)break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[w>>2]|0))break;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;i=N(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;f=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;f=i+((N(f,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;if((f+(N(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<=32767){i=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;i=N(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;f=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;f=i+((N(f,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;if((f+(N(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8|0)<-32768)a=-32768;else{a=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]>>16;a=N(a,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0;i=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]&65535;i=a+((N(i,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]&65535)<<16>>16)|0)>>16)|0;a=c[(c[n>>2]|0)+((c[p>>2]|0)+(N((c[q>>2]|0)+(c[r>>2]|0)-2|0,c[w>>2]|0)|0)<<2)>>2]|0;a=i+(N(a,(c[(c[s>>2]|0)+(c[q>>2]<<2)>>2]>>15)+1>>1)|0)>>8}}else a=32767;b[(c[o>>2]|0)+(c[p>>2]<<1)>>1]=a;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+(c[w>>2]<<1);c[q>>2]=(c[q>>2]|0)+1}fg(c[k>>2]|0,c[u>>2]|0,e,c[w>>2]|0);fg(c[m>>2]|0,c[v>>2]|0,e+(c[w>>2]<<1)|0,c[w>>2]|0);_(c[t>>2]|0);l=x;return}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function pe(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+2|0;d=f;b[e>>1]=a;b[d>>1]=c;l=f;return ((b[e>>1]|0)>(b[d>>1]|0)?b[e>>1]|0:b[d>>1]|0)&65535|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+48|0;g=h+32|0;n=h+28|0;d=h+24|0;i=h+20|0;f=h+16|0;j=h+12|0;m=h+8|0;k=h+4|0;e=h;c[n>>2]=a;c[d>>2]=b;b=c[n>>2]|0;c[i>>2]=(te((c[n>>2]|0)>0?b:0-b|0)|0)-1;c[m>>2]=c[n>>2]<>2];c[j>>2]=536870911/(c[m>>2]>>16|0)|0;c[e>>2]=c[j>>2]<<16;b=N(c[m>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;c[k>>2]=536870912-(b+((N(c[m>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))<<3;b=N(c[k>>2]>>16,(c[j>>2]&65535)<<16>>16)|0;b=(c[e>>2]|0)+(b+((N(c[k>>2]&65535,(c[j>>2]&65535)<<16>>16)|0)>>16))|0;c[e>>2]=b+(N(c[k>>2]|0,(c[j>>2]>>15)+1>>1)|0);c[f>>2]=61-(c[i>>2]|0)-(c[d>>2]|0);b=c[f>>2]|0;if((c[f>>2]|0)>0)if((b|0)<32){c[g>>2]=c[e>>2]>>c[f>>2];n=c[g>>2]|0;l=h;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;l=h;return n|0}a=c[e>>2]|0;d=0-(c[f>>2]|0)|0;do if((-2147483648>>0-b|0)>(2147483647>>0-(c[f>>2]|0)|0)){if((a|0)>(-2147483648>>d|0)){b=-2147483648>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(2147483647>>0-(c[f>>2]|0)|0)){b=2147483647>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}else{if((a|0)>(2147483647>>d|0)){b=2147483647>>0-(c[f>>2]|0);break}if((c[e>>2]|0)<(-2147483648>>0-(c[f>>2]|0)|0)){b=-2147483648>>0-(c[f>>2]|0);break}else{b=c[e>>2]|0;break}}while(0);c[g>>2]=b<<0-(c[f>>2]|0);n=c[g>>2]|0;l=h;return n|0}function te(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function ue(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+40|0;j=r+36|0;n=r+32|0;m=r+28|0;h=r+24|0;g=r+20|0;p=r+16|0;i=r+12|0;f=r+8|0;k=r+4|0;q=r;c[o>>2]=a;c[j>>2]=d;c[n>>2]=e;c[p>>2]=(c[o>>2]|0)+4168;if(c[(c[o>>2]|0)+4160>>2]|0){fg((c[p>>2]|0)+60|0,(c[p>>2]|0)+64|0,c[j>>2]|0,c[n>>2]|0);o=1;q=c[p>>2]|0;q=q+48|0;c[q>>2]=o;l=r;return}a:do if(c[(c[o>>2]|0)+4168+48>>2]|0){fg(g,h,c[j>>2]|0,c[n>>2]|0);if((c[h>>2]|0)<=(c[(c[p>>2]|0)+64>>2]|0)){if((c[h>>2]|0)<(c[(c[p>>2]|0)+64>>2]|0))c[g>>2]=c[g>>2]>>(c[(c[p>>2]|0)+64>>2]|0)-(c[h>>2]|0)}else c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]>>(c[h>>2]|0)-(c[(c[p>>2]|0)+64>>2]|0);if((c[g>>2]|0)>(c[(c[p>>2]|0)+60>>2]|0)){c[f>>2]=te(c[(c[p>>2]|0)+60>>2]|0)|0;c[f>>2]=(c[f>>2]|0)-1;c[(c[p>>2]|0)+60>>2]=c[(c[p>>2]|0)+60>>2]<>2];o=c[g>>2]|0;c[g>>2]=o>>(re(24-(c[f>>2]|0)|0,0)|0);c[i>>2]=(c[(c[p>>2]|0)+60>>2]|0)/(((c[g>>2]|0)>1?c[g>>2]|0:1)|0)|0;c[k>>2]=(ve(c[i>>2]|0)|0)<<4;c[q>>2]=(65536-(c[k>>2]|0)|0)/(c[n>>2]|0)|0;c[q>>2]=c[q>>2]<<2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break a;o=N(c[k>>2]>>16,b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]|0)|0;o=o+((N(c[k>>2]&65535,b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]|0)|0)>>16)&65535;b[(c[j>>2]|0)+(c[m>>2]<<1)>>1]=o;c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);if((c[k>>2]|0)>65536)break a;c[m>>2]=(c[m>>2]|0)+1}}}while(0);o=0;q=c[p>>2]|0;q=q+48|0;c[q>>2]=o;l=r;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}we(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=te(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(xe(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+80|0;g=d+68|0;f=d+64|0;e=d+32|0;h=d+16|0;i=d+8|0;j=d;c[g>>2]=a;c[f>>2]=b;ze(e,c[f>>2]|0,8);ze(h,e,4);ze(i,h,2);ze(j,i,1);Ae(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,30011);Ae(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,29859);Ae(c[g>>2]|0,c[e>>2]|0,c[h>>2]|0,29707);Ae(c[g>>2]|0,c[c[f>>2]>>2]|0,c[e>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[e+4>>2]|0,29555);Ae(c[g>>2]|0,c[e+8>>2]|0,c[h+4>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[e+8>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+24>>2]|0,c[e+12>>2]|0,29555);Ae(c[g>>2]|0,c[h+8>>2]|0,c[i+4>>2]|0,29859);Ae(c[g>>2]|0,c[e+16>>2]|0,c[h+8>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[e+16>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,c[e+20>>2]|0,29555);Ae(c[g>>2]|0,c[e+24>>2]|0,c[h+12>>2]|0,29707);Ae(c[g>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[e+24>>2]|0,29555);Ae(c[g>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[e+28>>2]|0,29555);l=d;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;g=i+4|0;f=i;c[h>>2]=a;c[e>>2]=b;c[g>>2]=d;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=(c[(c[e>>2]|0)+(c[f>>2]<<1<<2)>>2]|0)+(c[(c[e>>2]|0)+((c[f>>2]<<1)+1<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=i;return}function Ae(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;h=k+8|0;g=k+4|0;j=k;c[i>>2]=a;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;if((c[g>>2]|0)<=0){l=k;return}$b(c[i>>2]|0,c[h>>2]|0,(c[j>>2]|0)+(d[30163+(c[g>>2]|0)>>0]|0)|0,8);l=k;return}function Be(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+48|0;i=f+8|0;h=f+4|0;m=f;k=f+40|0;j=f+32|0;g=f+16|0;c[i>>2]=a;c[h>>2]=d;c[m>>2]=e;Ce(k,k+2|0,c[h>>2]|0,c[m>>2]|0,30011);Ce(j,j+2|0,c[h>>2]|0,b[k>>1]|0,29859);Ce(g,g+2|0,c[h>>2]|0,b[j>>1]|0,29707);Ce(c[i>>2]|0,(c[i>>2]|0)+2|0,c[h>>2]|0,b[g>>1]|0,29555);Ce((c[i>>2]|0)+4|0,(c[i>>2]|0)+6|0,c[h>>2]|0,b[g+2>>1]|0,29555);Ce(g+4|0,g+6|0,c[h>>2]|0,b[j+2>>1]|0,29707);Ce((c[i>>2]|0)+8|0,(c[i>>2]|0)+10|0,c[h>>2]|0,b[g+4>>1]|0,29555);Ce((c[i>>2]|0)+12|0,(c[i>>2]|0)+14|0,c[h>>2]|0,b[g+6>>1]|0,29555);Ce(j+4|0,j+6|0,c[h>>2]|0,b[k+2>>1]|0,29859);Ce(g+8|0,g+10|0,c[h>>2]|0,b[j+4>>1]|0,29707);Ce((c[i>>2]|0)+16|0,(c[i>>2]|0)+18|0,c[h>>2]|0,b[g+8>>1]|0,29555);Ce((c[i>>2]|0)+20|0,(c[i>>2]|0)+22|0,c[h>>2]|0,b[g+10>>1]|0,29555);Ce(g+12|0,g+14|0,c[h>>2]|0,b[j+6>>1]|0,29707);Ce((c[i>>2]|0)+24|0,(c[i>>2]|0)+26|0,c[h>>2]|0,b[g+12>>1]|0,29555);Ce((c[i>>2]|0)+28|0,(c[i>>2]|0)+30|0,c[h>>2]|0,b[g+14>>1]|0,29555);l=f;return}function Ce(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+16|0;k=o+12|0;m=o+8|0;i=o+4|0;n=o;c[j>>2]=a;c[k>>2]=e;c[m>>2]=f;c[i>>2]=g;c[n>>2]=h;if((c[i>>2]|0)>0){h=(Pb(c[m>>2]|0,(c[n>>2]|0)+(d[30163+(c[i>>2]|0)>>0]|0)|0,8)|0)&65535;b[c[j>>2]>>1]=h;h=(c[i>>2]|0)-(b[c[j>>2]>>1]|0)&65535;n=c[k>>2]|0;b[n>>1]=h;l=o;return}else{b[c[j>>2]>>1]=0;h=0;n=c[k>>2]|0;b[n>>1]=h;l=o;return}}function De(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[f>>2]=0;a=c[e>>2]|0;b=a+112|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d>>2]=0;while(1){if((c[d>>2]|0)>=4)break;b=Ee(50/((c[d>>2]|0)+1|0)|0,1)|0;c[(c[e>>2]|0)+92+(c[d>>2]<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)+1}c[d>>2]=0;while(1){a=c[e>>2]|0;if((c[d>>2]|0)>=4)break;c[(c[e>>2]|0)+60+(c[d>>2]<<2)>>2]=(c[a+92+(c[d>>2]<<2)>>2]|0)*100;c[(c[e>>2]|0)+76+(c[d>>2]<<2)>>2]=2147483647/(c[(c[e>>2]|0)+60+(c[d>>2]<<2)>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}c[a+108>>2]=15;c[d>>2]=0;while(1){if((c[d>>2]|0)>=4)break;c[(c[e>>2]|0)+40+(c[d>>2]<<2)>>2]=25600;c[d>>2]=(c[d>>2]|0)+1}l=g;return c[f>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Fe(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=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;C=l;l=l+144|0;w=C+132|0;F=C+128|0;t=C+124|0;q=C+120|0;p=C+116|0;E=C+112|0;D=C+108|0;j=C+104|0;h=C+100|0;i=C+96|0;u=C+92|0;k=C+88|0;v=C+84|0;m=C+80|0;r=C+76|0;A=C+72|0;e=C+136|0;o=C+56|0;s=C+40|0;B=C+36|0;n=C+32|0;g=C+16|0;y=C+8|0;x=C+4|0;z=C;c[w>>2]=a;c[F>>2]=d;c[y>>2]=0;c[x>>2]=(c[w>>2]|0)+32;c[E>>2]=c[(c[w>>2]|0)+4608>>2]>>1;c[D>>2]=c[(c[w>>2]|0)+4608>>2]>>2;c[j>>2]=c[(c[w>>2]|0)+4608>>2]>>3;c[g>>2]=0;c[g+4>>2]=(c[j>>2]|0)+(c[D>>2]|0);c[g+8>>2]=(c[g+4>>2]|0)+(c[j>>2]|0);c[g+12>>2]=(c[g+8>>2]|0)+(c[D>>2]|0);a=(c[g+12>>2]|0)+(c[E>>2]|0)|0;c[z>>2]=$()|0;f=l;l=l+((1*(a<<1)|0)+15&-16)|0;vf(c[F>>2]|0,c[x>>2]|0,f,f+(c[g+12>>2]<<1)|0,c[(c[w>>2]|0)+4608>>2]|0);vf(f,(c[x>>2]|0)+8|0,f,f+(c[g+8>>2]<<1)|0,c[E>>2]|0);vf(f,(c[x>>2]|0)+16|0,f,f+(c[g+4>>2]<<1)|0,c[D>>2]|0);b[f+((c[j>>2]|0)-1<<1)>>1]=b[f+((c[j>>2]|0)-1<<1)>>1]>>1;b[e>>1]=b[f+((c[j>>2]|0)-1<<1)>>1]|0;c[k>>2]=(c[j>>2]|0)-1;while(1){if((c[k>>2]|0)<=0)break;b[f+((c[k>>2]|0)-1<<1)>>1]=b[f+((c[k>>2]|0)-1<<1)>>1]>>1;F=f+(c[k>>2]<<1)|0;b[F>>1]=(b[F>>1]|0)-(b[f+((c[k>>2]|0)-1<<1)>>1]|0);c[k>>2]=(c[k>>2]|0)+-1}b[f>>1]=(b[f>>1]|0)-(b[(c[x>>2]|0)+56>>1]|0);b[(c[x>>2]|0)+56>>1]=b[e>>1]|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;F=c[(c[w>>2]|0)+4608>>2]|0;c[j>>2]=F>>(Ge(4-(c[v>>2]|0)|0,3)|0);c[h>>2]=c[j>>2]>>2;c[i>>2]=0;c[o+(c[v>>2]<<2)>>2]=c[(c[x>>2]|0)+24+(c[v>>2]<<2)>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;c[r>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=b[f+((c[g+(c[v>>2]<<2)>>2]|0)+(c[k>>2]|0)+(c[i>>2]|0)<<1)>>1]>>3;c[r>>2]=(c[r>>2]|0)+(N((c[n>>2]&65535)<<16>>16,(c[n>>2]&65535)<<16>>16)|0);c[k>>2]=(c[k>>2]|0)+1}d=c[o+(c[v>>2]<<2)>>2]|0;a=c[r>>2]|0;if((c[m>>2]|0)<3){if(d+a&-2147483648|0)d=2147483647;else d=(c[o+(c[v>>2]<<2)>>2]|0)+(c[r>>2]|0)|0;a=c[v>>2]|0}else{if(d+(a>>1)&-2147483648|0)d=2147483647;else d=(c[o+(c[v>>2]<<2)>>2]|0)+(c[r>>2]>>1)|0;a=c[v>>2]|0}c[o+(a<<2)>>2]=d;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[(c[x>>2]|0)+24+(c[v>>2]<<2)>>2]=c[r>>2];c[v>>2]=(c[v>>2]|0)+1}He(o,c[x>>2]|0);c[r>>2]=0;c[p>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;c[B>>2]=(c[o+(c[v>>2]<<2)>>2]|0)-(c[(c[x>>2]|0)+60+(c[v>>2]<<2)>>2]|0);d=c[v>>2]|0;if((c[B>>2]|0)>0){e=c[o+(c[v>>2]<<2)>>2]|0;if(!(c[o+(d<<2)>>2]&-8388608)){a=c[v>>2]|0;d=(e<<8|0)/((c[(c[x>>2]|0)+60+(c[v>>2]<<2)>>2]|0)+1|0)|0}else{a=c[v>>2]|0;d=(e|0)/((c[(c[x>>2]|0)+60+(c[v>>2]<<2)>>2]>>8)+1|0)|0}c[s+(a<<2)>>2]=d;c[u>>2]=(Bf(c[s+(c[v>>2]<<2)>>2]|0)|0)-1024;c[r>>2]=(c[r>>2]|0)+(N((c[u>>2]&65535)<<16>>16,(c[u>>2]&65535)<<16>>16)|0);if((c[B>>2]|0)<1048576){E=(Ie(c[B>>2]|0)|0)<<6>>16;E=N(E,(c[u>>2]&65535)<<16>>16)|0;F=(Ie(c[B>>2]|0)|0)<<6&65535;c[u>>2]=E+((N(F,(c[u>>2]&65535)<<16>>16)|0)>>16)}F=N(c[17944+(c[v>>2]<<2)>>2]>>16,(c[u>>2]&65535)<<16>>16)|0;c[p>>2]=(c[p>>2]|0)+(F+((N(c[17944+(c[v>>2]<<2)>>2]&65535,(c[u>>2]&65535)<<16>>16)|0)>>16))}else c[s+(d<<2)>>2]=256;c[v>>2]=(c[v>>2]|0)+1}c[r>>2]=(c[r>>2]|0)/4|0;c[q>>2]=((Ie(c[r>>2]|0)|0)*3&65535)<<16>>16;c[t>>2]=cg(0+(((c[q>>2]&65535)<<16>>16)*45e3>>16)-128|0)|0;F=(cg(c[p>>2]|0)|0)-16384<<1;c[(c[w>>2]|0)+4744>>2]=F;c[B>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;F=N((c[v>>2]|0)+1|0,(c[o+(c[v>>2]<<2)>>2]|0)-(c[(c[x>>2]|0)+60+(c[v>>2]<<2)>>2]|0)>>4)|0;c[B>>2]=(c[B>>2]|0)+F;c[v>>2]=(c[v>>2]|0)+1}if((c[B>>2]|0)>0){if((c[B>>2]|0)<32768){d=c[B>>2]|0;if((c[(c[w>>2]|0)+4608>>2]|0)==((c[(c[w>>2]|0)+4600>>2]|0)*10|0)){if((d|0)>32767)d=32767;else d=(c[B>>2]|0)<-32768?-32768:c[B>>2]|0;c[B>>2]=d<<16}else{if((d|0)>65535)d=65535;else d=(c[B>>2]|0)<-65536?-65536:c[B>>2]|0;c[B>>2]=d<<15}c[B>>2]=Ie(c[B>>2]|0)|0;F=N(32768+(c[B>>2]|0)>>16,(c[t>>2]&65535)<<16>>16)|0;c[t>>2]=F+((N(32768+(c[B>>2]|0)&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)}}else c[t>>2]=c[t>>2]>>1;F=Ge(c[t>>2]>>7,255)|0;c[(c[w>>2]|0)+4556>>2]=F;F=N(c[t>>2]>>16,(c[t>>2]&65535)<<16>>16)|0;c[A>>2]=0+((F+((N(c[t>>2]&65535,(c[t>>2]&65535)<<16>>16)|0)>>16)&65535)<<16>>16<<12>>16);if((c[(c[w>>2]|0)+4608>>2]|0)==((c[(c[w>>2]|0)+4600>>2]|0)*10|0))c[A>>2]=c[A>>2]>>1;c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;F=N((c[s+(c[v>>2]<<2)>>2]|0)-(c[(c[x>>2]|0)+40+(c[v>>2]<<2)>>2]|0)>>16,(c[A>>2]&65535)<<16>>16)|0;F=(c[(c[x>>2]|0)+40+(c[v>>2]<<2)>>2]|0)+(F+((N((c[s+(c[v>>2]<<2)>>2]|0)-(c[(c[x>>2]|0)+40+(c[v>>2]<<2)>>2]|0)&65535,(c[A>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[x>>2]|0)+40+(c[v>>2]<<2)>>2]=F;c[u>>2]=((Bf(c[(c[x>>2]|0)+40+(c[v>>2]<<2)>>2]|0)|0)-1024|0)*3;F=cg((c[u>>2]|0)-2048>>4)|0;c[(c[w>>2]|0)+4728+(c[v>>2]<<2)>>2]=F;c[v>>2]=(c[v>>2]|0)+1}F=c[y>>2]|0;_(c[z>>2]|0);l=C;return F|0}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)<(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;e=m+8|0;d=m+4|0;g=m;c[j>>2]=a;c[k>>2]=b;if((c[(c[k>>2]|0)+108>>2]|0)<1e3)c[g>>2]=32767/((c[(c[k>>2]|0)+108>>2]>>4)+1|0)|0;else c[g>>2]=0;c[f>>2]=0;while(1){a=c[k>>2]|0;if((c[f>>2]|0)>=4)break;c[h>>2]=c[a+60+(c[f>>2]<<2)>>2];if((c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[k>>2]|0)+92+(c[f>>2]<<2)>>2]|0)&-2147483648|0)a=2147483647;else a=(c[(c[j>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[(c[k>>2]|0)+92+(c[f>>2]<<2)>>2]|0)|0;c[i>>2]=a;c[e>>2]=2147483647/(c[i>>2]|0)|0;do if((c[i>>2]|0)<=(c[h>>2]<<3|0))if((c[i>>2]|0)<(c[h>>2]|0)){c[d>>2]=1024;break}else{a=N(c[e>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;a=a+((N(c[e>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;a=a+(N(c[e>>2]|0,(c[h>>2]>>15)+1>>1)|0)>>16<<11;b=N(c[e>>2]>>16,(c[h>>2]&65535)<<16>>16)|0;b=b+((N(c[e>>2]&65535,(c[h>>2]&65535)<<16>>16)|0)>>16)|0;c[d>>2]=a+((b+(N(c[e>>2]|0,(c[h>>2]>>15)+1>>1)|0)&65535)<<11>>16);break}else c[d>>2]=128;while(0);c[d>>2]=Me(c[d>>2]|0,c[g>>2]|0)|0;b=N((c[e>>2]|0)-(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)>>16,(c[d>>2]&65535)<<16>>16)|0;b=(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)+(b+((N((c[e>>2]|0)-(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)&65535,(c[d>>2]&65535)<<16>>16)|0)>>16))|0;c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]=b;c[h>>2]=2147483647/(c[(c[k>>2]|0)+76+(c[f>>2]<<2)>>2]|0)|0;c[h>>2]=(c[h>>2]|0)<16777215?c[h>>2]|0:16777215;c[(c[k>>2]|0)+60+(c[f>>2]<<2)>>2]=c[h>>2];c[f>>2]=(c[f>>2]|0)+1}k=a+108|0;c[k>>2]=(c[k>>2]|0)+1;l=m;return}function Ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;b=h;c[f>>2]=a;if((c[f>>2]|0)<=0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}Je(c[f>>2]|0,d,b);if(c[d>>2]&1|0)c[g>>2]=32768;else c[g>>2]=46214;c[g>>2]=c[g>>2]>>(c[d>>2]>>1);f=N(c[g>>2]>>16,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0;c[g>>2]=(c[g>>2]|0)+(f+((N(c[g>>2]&65535,(((c[b>>2]&65535)<<16>>16)*213&65535)<<16>>16)|0)>>16));c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;i=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=Ke(c[h>>2]|0)|0;c[c[i>>2]>>2]=c[g>>2];b=(Le(c[h>>2]|0,24-(c[g>>2]|0)|0)|0)&127;c[c[f>>2]>>2]=b;l=e;return}function Ke(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){b=32;l=d;return b|0}b=32-(32-(Q(c[b>>2]|0)|0))|0;l=d;return b|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+20|0;d=j+16|0;h=j+12|0;i=j+8|0;f=j+4|0;e=j;c[d>>2]=a;c[h>>2]=b;c[i>>2]=c[d>>2];c[f>>2]=c[h>>2];c[e>>2]=0-(c[h>>2]|0);if(!(c[h>>2]|0)){c[g>>2]=c[d>>2];i=c[g>>2]|0;l=j;return i|0}a=c[i>>2]|0;if((c[h>>2]|0)<0){c[g>>2]=a<>2]|(c[i>>2]|0)>>>(32-(c[e>>2]|0)|0);i=c[g>>2]|0;l=j;return i|0}else{c[g>>2]=a<<32-(c[f>>2]|0)|(c[i>>2]|0)>>>(c[f>>2]|0);i=c[g>>2]|0;l=j;return i|0}return 0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+4|0;d=f;c[e>>2]=a;c[d>>2]=b;l=f;return ((c[e>>2]|0)>(c[d>>2]|0)?c[e>>2]|0:c[d>>2]|0)|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4600>>2];c[d>>2]=((c[g>>2]&65535)<<16>>16)*1e3;if(!(c[d>>2]|0)){e=c[f>>2]|0;c[d>>2]=c[((c[(c[f>>2]|0)+4596>>2]|0)<(c[(c[f>>2]|0)+4580>>2]|0)?e+4596|0:e+4580|0)>>2];c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}if(((c[d>>2]|0)<=(c[(c[f>>2]|0)+4580>>2]|0)?(c[d>>2]|0)<=(c[(c[f>>2]|0)+4588>>2]|0):0)?(c[d>>2]|0)>=(c[(c[f>>2]|0)+4592>>2]|0):0){if((c[(c[f>>2]|0)+16+8>>2]|0)>=256)c[(c[f>>2]|0)+16+12>>2]=0;if((c[(c[f>>2]|0)+4560>>2]|0)==0?(c[(c[e>>2]|0)+60>>2]|0)==0:0){g=c[g>>2]|0;l=h;return g|0}b=c[f>>2]|0;if((((c[(c[f>>2]|0)+4600>>2]&65535)<<16>>16)*1e3|0)>(c[(c[f>>2]|0)+4596>>2]|0)){if(!(c[b+16+12>>2]|0)){c[(c[f>>2]|0)+16+8>>2]=256;d=(c[f>>2]|0)+16|0;c[d>>2]=0;c[d+4>>2]=0}b=(c[f>>2]|0)+16|0;if(c[(c[e>>2]|0)+60>>2]|0){c[b+12>>2]=0;c[g>>2]=(c[(c[f>>2]|0)+4600>>2]|0)==16?12:8;g=c[g>>2]|0;l=h;return g|0}if((c[b+8>>2]|0)<=0){c[(c[e>>2]|0)+84>>2]=1;f=(c[e>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+52>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=-2;g=c[g>>2]|0;l=h;return g|0}}if((((c[b+4600>>2]&65535)<<16>>16)*1e3|0)>=(c[(c[f>>2]|0)+4596>>2]|0)){if((c[(c[f>>2]|0)+16+12>>2]|0)>=0){g=c[g>>2]|0;l=h;return g|0}c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}b=c[f>>2]|0;if(c[(c[e>>2]|0)+60>>2]|0){c[g>>2]=(c[b+4600>>2]|0)==8?12:16;c[(c[f>>2]|0)+16+8>>2]=0;e=(c[f>>2]|0)+16|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}if(!(c[b+16+12>>2]|0)){c[(c[e>>2]|0)+84>>2]=1;f=(c[e>>2]|0)+52|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[e>>2]|0)+52>>2]|0)*5|0)/((c[(c[e>>2]|0)+24>>2]|0)+5|0)|0);g=c[g>>2]|0;l=h;return g|0}else{c[(c[f>>2]|0)+16+12>>2]=1;g=c[g>>2]|0;l=h;return g|0}}c[d>>2]=c[(c[f>>2]|0)+4580>>2];if((c[d>>2]|0)<(c[(c[f>>2]|0)+4588>>2]|0))b=c[d>>2]|0;else b=c[(c[f>>2]|0)+4588>>2]|0;c[d>>2]=b;if((c[d>>2]|0)>(c[(c[f>>2]|0)+4592>>2]|0))b=c[d>>2]|0;else b=c[(c[f>>2]|0)+4592>>2]|0;c[d>>2]=b;c[g>>2]=(c[d>>2]|0)/1e3|0;g=c[g>>2]|0;l=h;return g|0}function Oe(d,e,f,g,h,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|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,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;M=l;l=l+112|0;n=M+96|0;t=M+92|0;G=M+88|0;J=M+84|0;o=M+80|0;E=M+76|0;B=M+72|0;F=M+68|0;z=M+60|0;A=M+56|0;v=M+52|0;L=M+100|0;w=M+48|0;u=M+44|0;s=M+40|0;q=M+36|0;p=M+32|0;I=M+28|0;H=M+24|0;D=M+20|0;K=M+16|0;r=M+12|0;C=M+8|0;x=M+4|0;y=M;c[n>>2]=d;c[t>>2]=e;c[G>>2]=f;c[J>>2]=g;c[o>>2]=h;c[E>>2]=i;c[B>>2]=j;c[F>>2]=k;c[M+64>>2]=m;c[D>>2]=2147483647;c[r>>2]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=3)break;c[y>>2]=51;c[w>>2]=c[17632+(c[A>>2]<<2)>>2];c[u>>2]=c[17644+(c[A>>2]<<2)>>2];c[s>>2]=c[17656+(c[A>>2]<<2)>>2];c[v>>2]=a[27259+(c[A>>2]|0)>>0];c[p>>2]=c[o>>2];c[q>>2]=c[n>>2];c[H>>2]=0;c[K>>2]=c[c[J>>2]>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[F>>2]|0))break;g=Ff(5333-(c[K>>2]|0)+896|0)|0;c[C>>2]=g-(c[y>>2]|0);Pe(L+(c[z>>2]|0)|0,I,x,c[q>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[w>>2]|0,c[E>>2]|0,c[C>>2]|0,c[v>>2]|0);if((c[H>>2]|0)+(c[I>>2]|0)&-2147483648|0)d=2147483647;else d=(c[H>>2]|0)+(c[I>>2]|0)|0;c[H>>2]=d;g=c[K>>2]|0;if(0>(g+(Bf((c[y>>2]|0)+(c[x>>2]|0)|0)|0)-896|0))d=0;else{d=c[K>>2]|0;d=d+(Bf((c[y>>2]|0)+(c[x>>2]|0)|0)|0)-896|0}c[K>>2]=d;c[q>>2]=(c[q>>2]|0)+10;c[p>>2]=(c[p>>2]|0)+100;c[z>>2]=(c[z>>2]|0)+1}c[H>>2]=2147483646<(c[H>>2]|0)?2147483646:c[H>>2]|0;if((c[H>>2]|0)<(c[D>>2]|0)){c[D>>2]=c[H>>2];a[c[G>>2]>>0]=c[A>>2];_i(c[t>>2]|0,L|0,c[F>>2]|0)|0;c[r>>2]=c[K>>2]}if(c[B>>2]|0?(c[H>>2]|0)<(b[12226]|0):0)break;c[A>>2]=(c[A>>2]|0)+1}c[u>>2]=c[17644+(a[c[G>>2]>>0]<<2)>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[F>>2]|0))break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=5)break;b[(c[n>>2]|0)+(((c[z>>2]|0)*5|0)+(c[A>>2]|0)<<1)>>1]=a[(c[u>>2]|0)+(((a[(c[t>>2]|0)+(c[z>>2]|0)>>0]|0)*5|0)+(c[A>>2]|0))>>0]<<7;c[A>>2]=(c[A>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[c[J>>2]>>2]=c[r>>2];l=M;return} function Qh(d,e,f,h,i,j){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=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,L=0,M=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=l;l=l+320|0;X=ta+80|0;W=ta+72|0;V=ta+64|0;U=ta+56|0;T=ta+48|0;S=ta+40|0;R=ta+32|0;Q=ta+24|0;P=ta+16|0;y=ta+8|0;x=ta;ra=ta+308|0;sa=ta+304|0;G=ta+300|0;ca=ta+296|0;ia=ta+292|0;ha=ta+288|0;H=ta+284|0;t=ta+280|0;D=ta+276|0;ba=ta+272|0;v=ta+268|0;na=ta+264|0;ga=ta+216|0;u=ta+212|0;o=ta+208|0;z=ta+204|0;m=ta+200|0;da=ta+196|0;J=ta+192|0;qa=ta+188|0;la=ta+184|0;O=ta+180|0;M=ta+176|0;ma=ta+172|0;I=ta+168|0;ka=ta+164|0;B=ta+160|0;Z=ta+156|0;A=ta+152|0;n=ta+148|0;Y=ta+144|0;ea=ta+140|0;ja=ta+136|0;C=ta+132|0;k=ta+128|0;pa=ta+124|0;oa=ta+120|0;r=ta+116|0;p=ta+112|0;s=ta+108|0;q=ta+104|0;w=ta+100|0;E=ta+96|0;L=ta+312|0;F=ta+92|0;aa=ta+88|0;fa=ta+84|0;c[sa>>2]=d;c[G>>2]=e;c[ca>>2]=f;c[ia>>2]=h;c[ha>>2]=i;c[H>>2]=j;c[v>>2]=0;c[na>>2]=0;c[da>>2]=0;c[O>>2]=0;c[ma>>2]=0;c[I>>2]=0;c[ka>>2]=0;c[ja>>2]=0;c[t>>2]=(c[sa>>2]|0)+(c[(c[sa>>2]|0)+4>>2]|0);c[D>>2]=(c[sa>>2]|0)+(c[c[sa>>2]>>2]|0);c[Y>>2]=(c[(c[sa>>2]|0)+12>>2]|0)/50|0;c[n>>2]=c[Y>>2]>>1;c[A>>2]=c[n>>2]>>1;c[Z>>2]=c[A>>2]>>1;if((c[ha>>2]|0)<(c[Z>>2]|0)){c[ra>>2]=-2;sa=c[ra>>2]|0;l=ta;return sa|0}if((c[ha>>2]|0)<(((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0))e=c[ha>>2]|0;else e=((c[(c[sa>>2]|0)+12>>2]|0)/25|0)*3|0;c[ha>>2]=e;if((c[ca>>2]|0)<=1){c[G>>2]=0;if((c[ha>>2]|0)<(c[(c[sa>>2]|0)+64>>2]|0))e=c[ha>>2]|0;else e=c[(c[sa>>2]|0)+64>>2]|0;c[ha>>2]=e}do if(!(c[G>>2]|0)){c[qa>>2]=c[ha>>2];c[la>>2]=c[(c[sa>>2]|0)+60>>2];if(!(c[la>>2]|0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(N(c[qa>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break;g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]=0.0;c[ba>>2]=(c[ba>>2]|0)+1}c[ra>>2]=c[qa>>2];sa=c[ra>>2]|0;l=ta;return sa|0}if((c[qa>>2]|0)>(c[Y>>2]|0)){while(1){c[k>>2]=Qh(c[sa>>2]|0,0,0,c[ia>>2]|0,(c[qa>>2]|0)<(c[Y>>2]|0)?c[qa>>2]|0:c[Y>>2]|0,0)|0;e=c[k>>2]|0;if((c[k>>2]|0)<0){j=20;break}pa=N(e,c[(c[sa>>2]|0)+8>>2]|0)|0;c[ia>>2]=(c[ia>>2]|0)+(pa<<2);c[qa>>2]=(c[qa>>2]|0)-(c[k>>2]|0);if((c[qa>>2]|0)<=0){j=22;break}}if((j|0)==20){c[ra>>2]=e;sa=c[ra>>2]|0;l=ta;return sa|0}else if((j|0)==22){c[ra>>2]=c[ha>>2];sa=c[ra>>2]|0;l=ta;return sa|0}}if((c[qa>>2]|0)<(c[Y>>2]|0)){if((c[qa>>2]|0)>(c[n>>2]|0)){c[qa>>2]=c[n>>2];break}if(((c[la>>2]|0)!=1e3?(c[qa>>2]|0)>(c[A>>2]|0):0)?(c[qa>>2]|0)<(c[n>>2]|0):0)c[qa>>2]=c[A>>2]}}else{c[qa>>2]=c[(c[sa>>2]|0)+64>>2];c[la>>2]=c[(c[sa>>2]|0)+56>>2];Hb(ga,c[G>>2]|0,c[ca>>2]|0)}while(0);c[C>>2]=0;c[z>>2]=1;c[m>>2]=1;do if(c[G>>2]|0?(c[(c[sa>>2]|0)+60>>2]|0)>0:0){if(!(((c[la>>2]|0)==1002?(c[(c[sa>>2]|0)+60>>2]|0)!=1002:0)?!(c[(c[sa>>2]|0)+68>>2]|0):0)){if((c[la>>2]|0)==1002)break;if((c[(c[sa>>2]|0)+60>>2]|0)!=1002)break}c[O>>2]=1;e=N(c[A>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;if((c[la>>2]|0)==1002){c[m>>2]=e;break}else{c[z>>2]=e;break}}while(0);m=c[m>>2]|0;c[pa>>2]=$()|0;e=l;l=l+((1*(m<<2)|0)+15&-16)|0;if((c[O>>2]|0)!=0&(c[la>>2]|0)==1002){c[da>>2]=e;Qh(c[sa>>2]|0,0,0,c[da>>2]|0,(c[A>>2]|0)<(c[qa>>2]|0)?c[A>>2]|0:c[qa>>2]|0,0)|0}a:do if((c[qa>>2]|0)>(c[ha>>2]|0)){c[ra>>2]=-1;c[oa>>2]=1}else{c[ha>>2]=c[qa>>2];if((c[la>>2]|0)==1002|(c[C>>2]|0)!=0)e=1;else e=N((c[n>>2]|0)>(c[ha>>2]|0)?c[n>>2]|0:c[ha>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[o>>2]=e;f=l;l=l+((1*(c[o>>2]<<1)|0)+15&-16)|0;b:do if((c[la>>2]|0)!=1002){c[s>>2]=f;if((c[(c[sa>>2]|0)+60>>2]|0)==1002)zd(c[t>>2]|0)|0;if(10>(((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0|0))e=10;else e=((c[qa>>2]|0)*1e3|0)/(c[(c[sa>>2]|0)+12>>2]|0)|0;c[(c[sa>>2]|0)+16+16>>2]=e;if(c[G>>2]|0){c[(c[sa>>2]|0)+16+4>>2]=c[(c[sa>>2]|0)+48>>2];e=c[sa>>2]|0;if((c[la>>2]|0)==1e3){j=c[sa>>2]|0;if((c[e+52>>2]|0)==1101){i=8e3;e=j}else{e=(c[j+52>>2]|0)==1102;i=e?12e3:16e3;e=e?c[sa>>2]|0:c[sa>>2]|0}}else i=16e3;c[e+16+12>>2]=i}c[r>>2]=(c[G>>2]|0)==0?1:c[H>>2]<<1;c[p>>2]=0;c:while(1){c[q>>2]=(c[p>>2]|0)==0&1;c[v>>2]=Ad(c[t>>2]|0,(c[sa>>2]|0)+16|0,c[r>>2]|0,c[q>>2]|0,ga,c[s>>2]|0,u,c[(c[sa>>2]|0)+44>>2]|0)|0;d:do if(c[v>>2]|0){if(!(c[r>>2]|0))break c;c[u>>2]=c[ha>>2];c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(N(c[ha>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break d;b[(c[s>>2]|0)+(c[ba>>2]<<1)>>1]=0;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);o=N(c[u>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(o<<1);c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);if((c[p>>2]|0)>=(c[ha>>2]|0))break b}c[ra>>2]=-3;c[oa>>2]=1;break a}while(0);c[M>>2]=0;if((c[H>>2]|0)==0&(c[la>>2]|0)!=1002&(c[G>>2]|0)!=0?(v=(Vh(ga)|0)+17|0,(v+(((c[(c[sa>>2]|0)+56>>2]|0)==1001&1)*20|0)|0)<=(c[ca>>2]<<3|0)):0){if((c[la>>2]|0)==1001)c[ma>>2]=Ob(ga,12)|0;else c[ma>>2]=1;if(c[ma>>2]|0){c[ka>>2]=Ob(ga,1)|0;if((c[la>>2]|0)==1001)e=(Qb(ga,256)|0)+2|0;else{e=c[ca>>2]|0;e=e-((Vh(ga)|0)+7>>3)|0}c[I>>2]=e;c[ca>>2]=(c[ca>>2]|0)-(c[I>>2]|0);v=c[ca>>2]<<3;if((v|0)<(Vh(ga)|0)){c[ca>>2]=0;c[I>>2]=0;c[ma>>2]=0}v=ga+4|0;c[v>>2]=(c[v>>2]|0)-(c[I>>2]|0)}}if((c[la>>2]|0)!=1002)c[M>>2]=17;c[w>>2]=21;switch(c[(c[sa>>2]|0)+52>>2]|0){case 1101:{c[w>>2]=13;break}case 1103:case 1102:{c[w>>2]=17;break}case 1104:{c[w>>2]=19;break}case 1105:{c[w>>2]=21;break}default:{}}v=c[D>>2]|0;c[x>>2]=c[w>>2];tb(v,10012,x)|0;x=c[D>>2]|0;c[y>>2]=c[(c[sa>>2]|0)+48>>2];tb(x,10008,y)|0;if(c[ma>>2]|0){c[O>>2]=0;c[z>>2]=1}e=l;l=l+((1*(c[z>>2]<<2)|0)+15&-16)|0;if((c[O>>2]|0)!=0&(c[la>>2]|0)!=1002){c[da>>2]=e;Qh(c[sa>>2]|0,0,0,c[da>>2]|0,(c[A>>2]|0)<(c[qa>>2]|0)?c[A>>2]|0:c[qa>>2]|0,0)|0}if(c[ma>>2]|0)e=N(c[A>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0;else e=1;c[J>>2]=e;e=l;l=l+((1*(c[J>>2]<<2)|0)+15&-16)|0;if((c[ma>>2]|0)!=0&(c[ka>>2]|0)!=0){J=c[D>>2]|0;c[P>>2]=0;tb(J,10010,P)|0;ub(c[D>>2]|0,(c[G>>2]|0)+(c[ca>>2]|0)|0,c[I>>2]|0,e,c[A>>2]|0,0,0)|0;P=c[D>>2]|0;c[Q>>2]=ja+(((ja-ja|0)/4|0)<<2);tb(P,4031,Q)|0}Q=c[D>>2]|0;c[R>>2]=c[M>>2];tb(Q,10010,R)|0;do if((c[la>>2]|0)==1e3){a[L>>0]=a[30519]|0;a[L+1>>0]=a[30520]|0;e:do if(!(c[C>>2]|0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(N(c[ha>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break e;g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]=0.0;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);if((c[(c[sa>>2]|0)+60>>2]|0)==1001){if((c[ma>>2]|0)!=0&(c[ka>>2]|0)!=0?c[(c[sa>>2]|0)+68>>2]|0:0)break;Y=c[D>>2]|0;c[T>>2]=0;tb(Y,10010,T)|0;ub(c[D>>2]|0,L,2,c[ia>>2]|0,c[Z>>2]|0,0,c[C>>2]|0)|0}}else{c[E>>2]=(c[Y>>2]|0)<(c[ha>>2]|0)?c[Y>>2]|0:c[ha>>2]|0;do if((c[la>>2]|0)!=(c[(c[sa>>2]|0)+60>>2]|0)){if((c[(c[sa>>2]|0)+60>>2]|0)<=0)break;if(c[(c[sa>>2]|0)+68>>2]|0)break;tb(c[D>>2]|0,4028,S)|0}while(0);c[na>>2]=ub(c[D>>2]|0,c[H>>2]|0?0:c[G>>2]|0,c[ca>>2]|0,c[ia>>2]|0,c[E>>2]|0,ga,c[C>>2]|0)|0}while(0);f:do if(!((c[la>>2]|0)==1002|(c[C>>2]|0)!=0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(N(c[ha>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break f;g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]=+g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]+ +(b[f+(c[ba>>2]<<1)>>1]|0)*.000030517578125;c[ba>>2]=(c[ba>>2]|0)+1}}while(0);Y=c[D>>2]|0;c[U>>2]=F+(((F-F|0)/4|0)<<2);tb(Y,10015,U)|0;c[ea>>2]=c[(c[F>>2]|0)+60>>2];if(!((c[ma>>2]|0)==0|(c[ka>>2]|0)!=0)){tb(c[D>>2]|0,4028,V)|0;Y=c[D>>2]|0;c[W>>2]=0;tb(Y,10010,W)|0;ub(c[D>>2]|0,(c[G>>2]|0)+(c[ca>>2]|0)|0,c[I>>2]|0,e,c[A>>2]|0,0,0)|0;W=c[D>>2]|0;c[X>>2]=ja+(((ja-ja|0)/4|0)<<2);tb(W,4031,X)|0;W=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,(c[ha>>2]|0)-(c[Z>>2]|0)|0)|0)<<2)|0;X=e+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,(c[ha>>2]|0)-(c[Z>>2]|0)|0)|0)<<2)|0;Wh(W,X,Y,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ea>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}if((c[ma>>2]|0)!=0&(c[ka>>2]|0)!=0){c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[sa>>2]|0)+8>>2]|0))break;c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(c[Z>>2]|0))break;X=N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0;Y=N(c[(c[sa>>2]|0)+8>>2]|0,c[ba>>2]|0)|0;g[(c[ia>>2]|0)+(Y+(c[B>>2]|0)<<2)>>2]=+g[e+(X+(c[B>>2]|0)<<2)>>2];c[ba>>2]=(c[ba>>2]|0)+1}c[B>>2]=(c[B>>2]|0)+1}W=e+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;X=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Wh(W,X,Y,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ea>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}do if(c[O>>2]|0){if((c[qa>>2]|0)<(c[A>>2]|0)){Wh(c[da>>2]|0,c[ia>>2]|0,c[ia>>2]|0,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ea>>2]|0,c[(c[sa>>2]|0)+12>>2]|0);break}c[ba>>2]=0;while(1){Y=(c[ba>>2]|0)<(N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0);e=c[da>>2]|0;if(!Y)break;g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]=+g[e+(c[ba>>2]<<2)>>2];c[ba>>2]=(c[ba>>2]|0)+1}X=e+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Y=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;da=(c[ia>>2]|0)+((N(c[(c[sa>>2]|0)+8>>2]|0,c[Z>>2]|0)|0)<<2)|0;Wh(X,Y,da,c[Z>>2]|0,c[(c[sa>>2]|0)+8>>2]|0,c[ea>>2]|0,c[(c[sa>>2]|0)+12>>2]|0)}while(0);g:do if(c[(c[sa>>2]|0)+40>>2]|0){g[aa>>2]=+K(+(+(c[(c[sa>>2]|0)+40>>2]|0)*6.488140788860619e-04*.6931471805599453));c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(N(c[ha>>2]|0,c[(c[sa>>2]|0)+8>>2]|0)|0))break g;g[fa>>2]=+g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]*+g[aa>>2];g[(c[ia>>2]|0)+(c[ba>>2]<<2)>>2]=+g[fa>>2];c[ba>>2]=(c[ba>>2]|0)+1}}while(0);if((c[ca>>2]|0)<=1){j=c[sa>>2]|0;e=0}else{j=c[sa>>2]|0;e=c[ga+28>>2]^c[ja>>2]}c[j+84>>2]=e;c[(c[sa>>2]|0)+60>>2]=c[la>>2];if(c[ma>>2]|0)e=(c[ka>>2]|0)!=0^1;else e=0;c[(c[sa>>2]|0)+68>>2]=e&1;if((c[na>>2]|0)>=0)Rh()|0;c[ra>>2]=(c[na>>2]|0)<0?c[na>>2]|0:c[qa>>2]|0;c[oa>>2]=1}while(0);_(c[pa>>2]|0);sa=c[ra>>2]|0;l=ta;return sa|0}function Rh(){return 0}function Sh(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;do if(!((d[c[b>>2]>>0]|0)&128|0))if(((d[c[b>>2]>>0]|0)&96|0)==96){c[e>>2]=1001;break}else{c[e>>2]=1e3;break}else c[e>>2]=1002;while(0);l=f;return c[e>>2]|0}function Th(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;b=d[c[e>>2]>>0]|0;if((d[c[e>>2]>>0]|0)&128|0){e=1102+(b>>5&3)|0;c[f>>2]=e;c[f>>2]=(c[f>>2]|0)==1102?1101:e;f=c[f>>2]|0;l=g;return f|0}a=d[c[e>>2]>>0]|0;if((b&96|0)==96){c[f>>2]=a&16|0?1105:1104;f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=1101+(a>>5&3);f=c[f>>2]|0;l=g;return f|0}return 0}function Uh(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return ((d[c[b>>2]>>0]|0)&4|0?2:1)|0}function Vh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function Wh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;u=l;l=l+48|0;n=u+40|0;o=u+36|0;q=u+32|0;r=u+28|0;k=u+24|0;t=u+20|0;v=u+16|0;m=u+12|0;j=u+8|0;p=u+4|0;s=u;c[n>>2]=a;c[o>>2]=b;c[q>>2]=d;c[r>>2]=e;c[k>>2]=f;c[t>>2]=h;c[v>>2]=i;c[p>>2]=48e3/(c[v>>2]|0)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[r>>2]|0))break;w=+g[(c[t>>2]|0)+((N(c[m>>2]|0,c[p>>2]|0)|0)<<2)>>2];g[s>>2]=w*+g[(c[t>>2]|0)+((N(c[m>>2]|0,c[p>>2]|0)|0)<<2)>>2];e=N(c[m>>2]|0,c[k>>2]|0)|0;h=N(c[m>>2]|0,c[k>>2]|0)|0;v=N(c[m>>2]|0,c[k>>2]|0)|0;g[(c[q>>2]|0)+(v+(c[j>>2]|0)<<2)>>2]=+g[s>>2]*+g[(c[o>>2]|0)+(e+(c[j>>2]|0)<<2)>>2]+(1.0-+g[s>>2])*+g[(c[n>>2]|0)+(h+(c[j>>2]|0)<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}l=u;return}function Xh(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;s=v+40|0;u=v+36|0;k=v+32|0;p=v+28|0;q=v+24|0;n=v+20|0;m=v+16|0;r=v+12|0;o=v+8|0;j=v+4|0;t=v;c[u>>2]=a;c[k>>2]=d;c[p>>2]=e;c[q>>2]=f;c[n>>2]=h;c[m>>2]=i;if((c[n>>2]|0)<=0){c[s>>2]=-1;u=c[s>>2]|0;l=v;return u|0}do if(!((c[k>>2]|0)!=0&(c[p>>2]|0)>0^1|(c[m>>2]|0)!=0)){c[j>>2]=Yh(c[u>>2]|0,c[k>>2]|0,c[p>>2]|0)|0;if((c[j>>2]|0)>0){c[n>>2]=(c[n>>2]|0)<(c[j>>2]|0)?c[n>>2]|0:c[j>>2]|0;break}c[s>>2]=-4;u=c[s>>2]|0;l=v;return u|0}while(0);a=N(c[n>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0;c[t>>2]=$()|0;d=l;l=l+((1*(a<<2)|0)+15&-16)|0;c[r>>2]=Ph(c[u>>2]|0,c[k>>2]|0,c[p>>2]|0,d,c[n>>2]|0,c[m>>2]|0,0,0,1)|0;a:do if((c[r>>2]|0)>0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(N(c[r>>2]|0,c[(c[u>>2]|0)+8>>2]|0)|0))break a;p=Zh(+g[d+(c[o>>2]<<2)>>2])|0;b[(c[q>>2]|0)+(c[o>>2]<<1)>>1]=p;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[s>>2]=c[r>>2];_(c[t>>2]|0);u=c[s>>2]|0;l=v;return u|0}function Yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;b=_h(c[h>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;l=e;return b|0}function Zh(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(Ui(+g[b>>2])|0)&65535;l=c;return b|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;g=i+20|0;f=i+16|0;k=i+12|0;e=i+8|0;h=i+4|0;j=i;c[f>>2]=a;c[k>>2]=b;c[e>>2]=d;c[j>>2]=$h(c[f>>2]|0,c[k>>2]|0)|0;d=c[j>>2]|0;if((c[j>>2]|0)<0){c[g>>2]=d;k=c[g>>2]|0;l=i;return k|0}c[h>>2]=N(d,Ih(c[f>>2]|0,c[e>>2]|0)|0)|0;if(((c[h>>2]|0)*25|0)>((c[e>>2]|0)*3|0)){c[g>>2]=-4;k=c[g>>2]|0;l=i;return k|0}else{c[g>>2]=c[h>>2];k=c[g>>2]|0;l=i;return k|0}return 0}function $h(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;g=i+8|0;f=i+4|0;e=i;c[g>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>=1){c[e>>2]=(d[c[g>>2]>>0]|0)&3;if(!(c[e>>2]|0)){c[h>>2]=1;break}if((c[e>>2]|0)!=3){c[h>>2]=2;break}if((c[f>>2]|0)<2){c[h>>2]=-4;break}else{c[h>>2]=(d[(c[g>>2]|0)+1>>0]|0)&63;break}}else c[h>>2]=-1;while(0);l=i;return c[h>>2]|0}function ai(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;m=p+8|0;j=p+4|0;i=p;c[o>>2]=a;c[h>>2]=b;c[k>>2]=d;c[m>>2]=e;c[j>>2]=f;c[i>>2]=g;if((c[j>>2]|0)<=0){c[n>>2]=-1;o=c[n>>2]|0;l=p;return o|0}else{c[n>>2]=Ph(c[o>>2]|0,c[h>>2]|0,c[k>>2]|0,c[m>>2]|0,c[j>>2]|0,c[i>>2]|0,0,0,0)|0;o=c[n>>2]|0;l=p;return o|0}return 0}function bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=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;A=l;l=l+112|0;q=A+8|0;z=A+108|0;h=A+104|0;B=A+100|0;y=A+96|0;e=A+80|0;g=A+72|0;f=A+68|0;i=A+64|0;r=A+60|0;o=A+56|0;x=A+52|0;j=A+48|0;s=A+44|0;k=A+40|0;t=A+36|0;m=A+32|0;u=A+28|0;n=A+24|0;v=A+20|0;p=A+16|0;w=A+12|0;c[h>>2]=a;c[B>>2]=b;c[y>>2]=0;c[g>>2]=(c[h>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);c[f>>2]=(c[h>>2]|0)+(c[c[h>>2]>>2]|0);c[e>>2]=d;a:do switch(c[B>>2]|0){case 4009:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[r>>2]=B;c[i>>2]=c[r>>2];if(c[i>>2]|0){c[c[i>>2]>>2]=c[(c[h>>2]|0)+52>>2];e=20}else e=21;break}case 4031:{w=(c[e>>2]|0)+(4-1)&~(4-1);B=c[w>>2]|0;c[e>>2]=w+4;c[x>>2]=B;c[o>>2]=c[x>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[h>>2]|0)+84>>2];e=20}else e=21;break}case 4028:{aj((c[h>>2]|0)+48|0,0,88-((c[h>>2]|0)+48-(c[h>>2]|0))|0)|0;tb(c[f>>2]|0,4028,A)|0;zd(c[g>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+64>>2]=(c[(c[h>>2]|0)+12>>2]|0)/400|0;e=20;break}case 4029:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[s>>2]=B;c[j>>2]=c[s>>2];if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[h>>2]|0)+12>>2];e=20}else e=21;break}case 4033:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[t>>2]=B;c[k>>2]=c[t>>2];if(c[k>>2]|0)if((c[(c[h>>2]|0)+60>>2]|0)==1002){e=c[f>>2]|0;c[q>>2]=(c[k>>2]|0)+((((c[k>>2]|0)-(c[k>>2]|0)|0)/4|0)<<2);tb(e,4033,q)|0;e=20;break a}else{c[c[k>>2]>>2]=c[(c[h>>2]|0)+16+20>>2];e=20;break a}else e=21;break}case 4045:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[u>>2]=B;c[m>>2]=c[u>>2];if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[h>>2]|0)+40>>2];e=20}else e=21;break}case 4034:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[v>>2]=B;c[n>>2]=c[v>>2];if((c[n>>2]|0)<-32768|(c[n>>2]|0)>32767)e=21;else{c[(c[h>>2]|0)+40>>2]=c[n>>2];e=20}break}case 4039:{x=(c[e>>2]|0)+(4-1)&~(4-1);B=c[x>>2]|0;c[e>>2]=x+4;c[w>>2]=B;c[p>>2]=c[w>>2];if(c[p>>2]|0){c[c[p>>2]>>2]=c[(c[h>>2]|0)+72>>2];e=20}else e=21;break}default:{c[y>>2]=-5;e=20}}while(0);if((e|0)==20){c[z>>2]=c[y>>2];B=c[z>>2]|0;l=A;return B|0}else if((e|0)==21){c[z>>2]=-1;B=c[z>>2]|0;l=A;return B|0}return 0}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;d=h+12|0;g=h+8|0;b=h+4|0;e=h;c[d>>2]=a;if((c[d>>2]|0)<1|(c[d>>2]|0)>2){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}c[e>>2]=Bd(g)|0;if(c[e>>2]|0){c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}else{c[g>>2]=di(c[g>>2]|0)|0;c[b>>2]=Sa(c[d>>2]|0)|0;e=di(18220)|0;c[f>>2]=e+(c[g>>2]|0)+(c[b>>2]|0);g=c[f>>2]|0;l=h;return g|0}return 0}function di(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=4;a=N((((c[e>>2]|0)+(c[d>>2]|0)-1|0)>>>0)/((c[d>>2]|0)>>>0)|0,c[d>>2]|0)|0;l=b;return a|0}function ei(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+8|0;s=u;o=u+48|0;r=u+44|0;h=u+40|0;k=u+36|0;i=u+32|0;q=u+28|0;j=u+24|0;m=u+20|0;n=u+16|0;p=u+12|0;c[r>>2]=a;c[h>>2]=d;c[k>>2]=e;c[i>>2]=f;if((!((c[h>>2]|0)!=48e3&(c[h>>2]|0)!=24e3&(c[h>>2]|0)!=16e3&(c[h>>2]|0)!=12e3&(c[h>>2]|0)!=8e3)?!((c[k>>2]|0)!=1&(c[k>>2]|0)!=2):0)?!((c[i>>2]|0)!=2048&(c[i>>2]|0)!=2049&(c[i>>2]|0)!=2051):0){a=c[r>>2]|0;aj(a|0,0,ci(c[k>>2]|0)|0)|0;c[n>>2]=Bd(p)|0;if(c[n>>2]|0){c[o>>2]=-1;t=c[o>>2]|0;l=u;return t|0}c[p>>2]=di(c[p>>2]|0)|0;a=di(18220)|0;c[(c[r>>2]|0)+4>>2]=a;c[c[r>>2]>>2]=(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0);c[q>>2]=(c[r>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0);c[j>>2]=(c[r>>2]|0)+(c[c[r>>2]>>2]|0);a=c[k>>2]|0;c[(c[r>>2]|0)+100>>2]=a;c[(c[r>>2]|0)+14288>>2]=a;c[(c[r>>2]|0)+132>>2]=c[h>>2];a=fi()|0;c[(c[r>>2]|0)+168>>2]=a;c[n>>2]=Cd(c[q>>2]|0,c[(c[r>>2]|0)+168>>2]|0,(c[r>>2]|0)+8|0)|0;if(c[n>>2]|0){c[o>>2]=-3;t=c[o>>2]|0;l=u;return t|0}c[(c[r>>2]|0)+8>>2]=c[k>>2];c[(c[r>>2]|0)+8+4>>2]=c[k>>2];c[(c[r>>2]|0)+8+8>>2]=c[(c[r>>2]|0)+132>>2];c[(c[r>>2]|0)+8+12>>2]=16e3;c[(c[r>>2]|0)+8+16>>2]=8e3;c[(c[r>>2]|0)+8+20>>2]=16e3;c[(c[r>>2]|0)+8+24>>2]=20;c[(c[r>>2]|0)+8+28>>2]=25e3;c[(c[r>>2]|0)+8+32>>2]=0;c[(c[r>>2]|0)+8+36>>2]=9;c[(c[r>>2]|0)+8+40>>2]=0;c[(c[r>>2]|0)+8+44>>2]=0;c[(c[r>>2]|0)+8+48>>2]=0;c[(c[r>>2]|0)+8+64>>2]=0;c[m>>2]=Ua(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[r>>2]|0)+168>>2]|0)|0;if(c[m>>2]|0){c[o>>2]=-3;t=c[o>>2]|0;l=u;return t|0}else{a=c[j>>2]|0;c[s>>2]=0;Wa(a,10016,s)|0;s=c[j>>2]|0;c[t>>2]=c[(c[r>>2]|0)+8+36>>2];Wa(s,4010,t)|0;c[(c[r>>2]|0)+136>>2]=1;c[(c[r>>2]|0)+140>>2]=1;c[(c[r>>2]|0)+152>>2]=-1e3;t=3e3+(N(c[h>>2]|0,c[k>>2]|0)|0)|0;c[(c[r>>2]|0)+148>>2]=t;c[(c[r>>2]|0)+96>>2]=c[i>>2];c[(c[r>>2]|0)+112>>2]=-1e3;c[(c[r>>2]|0)+116>>2]=-1e3;c[(c[r>>2]|0)+120>>2]=1105;c[(c[r>>2]|0)+108>>2]=-1e3;c[(c[r>>2]|0)+124>>2]=-1e3;c[(c[r>>2]|0)+128>>2]=-1;c[(c[r>>2]|0)+160>>2]=(c[(c[r>>2]|0)+132>>2]|0)/100|0;c[(c[r>>2]|0)+156>>2]=24;c[(c[r>>2]|0)+144>>2]=5e3;c[(c[r>>2]|0)+104>>2]=(c[(c[r>>2]|0)+132>>2]|0)/250|0;b[(c[r>>2]|0)+14292>>1]=16384;g[(c[r>>2]|0)+14300>>2]=1.0;t=(Bf(60)|0)<<8;c[(c[r>>2]|0)+14296>>2]=t;c[(c[r>>2]|0)+14344>>2]=1;c[(c[r>>2]|0)+14320>>2]=1001;c[(c[r>>2]|0)+14336>>2]=1105;Hi((c[r>>2]|0)+172|0);c[o>>2]=0;t=c[o>>2]|0;l=u;return t|0}}c[o>>2]=-1;t=c[o>>2]|0;l=u;return t|0}function fi(){return 0}function gi(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+40|0;r=u+36|0;s=u+32|0;p=u+28|0;m=u+24|0;n=u+20|0;j=u+16|0;t=u+12|0;q=u+8|0;o=u+4|0;k=u;c[v>>2]=a;c[r>>2]=b;c[s>>2]=d;c[p>>2]=e;c[m>>2]=f;c[n>>2]=h;c[j>>2]=i;c[t>>2]=c[v>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;v=N((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;g[(c[r>>2]|0)+(c[o>>2]<<2)>>2]=+g[(c[t>>2]|0)+(v+(c[m>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}a:do if((c[n>>2]|0)<=-1){if((c[n>>2]|0)==-2){c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break a;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;d=N((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;v=(c[r>>2]|0)+(c[o>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[t>>2]|0)+(d+(c[k>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}}}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break a;d=N((c[o>>2]|0)+(c[p>>2]|0)|0,c[j>>2]|0)|0;v=(c[r>>2]|0)+(c[o>>2]<<2)|0;g[v>>2]=+g[v>>2]+ +g[(c[t>>2]|0)+(d+(c[n>>2]|0)<<2)>>2]*32768.0;c[o>>2]=(c[o>>2]|0)+1}}while(0);g[q>>2]=1.0;if((c[j>>2]|0)==-2)g[q>>2]=+g[q>>2]/+(c[j>>2]|0);else g[q>>2]=+g[q>>2]/2.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;v=(c[r>>2]|0)+(c[o>>2]<<2)|0;g[v>>2]=+g[v>>2]*+g[q>>2];c[o>>2]=(c[o>>2]|0)+1}l=u;return}function hi(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;w=v+40|0;s=v+36|0;t=v+32|0;q=v+28|0;n=v+24|0;o=v+20|0;k=v+16|0;u=v+12|0;r=v+8|0;p=v+4|0;m=v;c[w>>2]=a;c[s>>2]=d;c[t>>2]=e;c[q>>2]=f;c[n>>2]=h;c[o>>2]=i;c[k>>2]=j;c[u>>2]=c[w>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;w=N((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;g[(c[s>>2]|0)+(c[p>>2]<<2)>>2]=+(b[(c[u>>2]|0)+(w+(c[n>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}a:do if((c[o>>2]|0)<=-1){if((c[o>>2]|0)==-2){c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break a;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;e=N((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;w=(c[s>>2]|0)+(c[p>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[u>>2]|0)+(e+(c[m>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}}}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break a;e=N((c[p>>2]|0)+(c[q>>2]|0)|0,c[k>>2]|0)|0;w=(c[s>>2]|0)+(c[p>>2]<<2)|0;g[w>>2]=+g[w>>2]+ +(b[(c[u>>2]|0)+(e+(c[o>>2]|0)<<1)>>1]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);g[r>>2]=.000030517578125;if((c[k>>2]|0)==-2)g[r>>2]=+g[r>>2]/+(c[k>>2]|0);else g[r>>2]=+g[r>>2]/2.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;w=(c[s>>2]|0)+(c[p>>2]<<2)|0;g[w>>2]=+g[w>>2]*+g[r>>2];c[p>>2]=(c[p>>2]|0)+1}l=v;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if((c[g>>2]|0)<((c[f>>2]|0)/400|0|0)){c[i>>2]=-1;i=c[i>>2]|0;l=j;return i|0}do if((c[e>>2]|0)==5e3)c[h>>2]=c[g>>2];else{if((c[e>>2]|0)==5010){c[h>>2]=(c[f>>2]|0)/50|0;break}if(!((c[e>>2]|0)>=5001&(c[e>>2]|0)<=5006)){c[i>>2]=-1;i=c[i>>2]|0;l=j;return i|0}d=c[f>>2]|0;if((((c[f>>2]|0)*3|0)/50|0|0)<(((c[f>>2]|0)/400|0)<<(c[e>>2]|0)-5001|0))d=(d*3|0)/50|0;else d=((d|0)/400|0)<<(c[e>>2]|0)-5001;c[h>>2]=d}while(0);if((c[h>>2]|0)>(c[g>>2]|0)){c[i>>2]=-1;i=c[i>>2]|0;l=j;return i|0}if(((((((c[h>>2]|0)*400|0)!=(c[f>>2]|0)?((c[h>>2]|0)*200|0)!=(c[f>>2]|0):0)?((c[h>>2]|0)*100|0)!=(c[f>>2]|0):0)?((c[h>>2]|0)*50|0)!=(c[f>>2]|0):0)?((c[h>>2]|0)*25|0)!=(c[f>>2]|0):0)?((c[h>>2]|0)*50|0)!=((c[f>>2]|0)*3|0):0){c[i>>2]=-1;i=c[i>>2]|0;l=j;return i|0}c[i>>2]=c[h>>2];i=c[i>>2]|0;l=j;return i|0}function ji(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+40|0;o=w+36|0;s=w+32|0;v=w+28|0;k=w+24|0;m=w+20|0;p=w+16|0;q=w+12|0;r=w+8|0;u=w+4|0;n=w;c[o>>2]=a;c[s>>2]=b;c[v>>2]=d;c[k>>2]=e;c[m>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[u>>2]=j;if((c[v>>2]|0)==5010?(c[s>>2]|0)>=((c[m>>2]|0)/200|0|0):0){c[n>>2]=3;c[n>>2]=ki(c[o>>2]|0,c[s>>2]|0,c[k>>2]|0,c[m>>2]|0,c[p>>2]|0,0.0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;while(1){if((((c[m>>2]|0)/400|0)<>2]|0)<=(c[s>>2]|0))break;c[n>>2]=(c[n>>2]|0)+-1}c[s>>2]=((c[m>>2]|0)/400|0)<>2]}else c[s>>2]=ii(c[s>>2]|0,c[v>>2]|0,c[m>>2]|0)|0;if((c[s>>2]|0)<0){c[t>>2]=-1;v=c[t>>2]|0;l=w;return v|0}else{c[t>>2]=c[s>>2];v=c[t>>2]|0;l=w;return v|0}return 0}function ki(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=i|0;j=j|0;k=k|0;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;H=l;l=l+304|0;G=H+296|0;m=H+292|0;n=H+288|0;I=H+284|0;q=H+280|0;F=H+276|0;x=H+272|0;r=H+268|0;s=H+264|0;o=H+260|0;v=H+256|0;t=H+144|0;u=H+36|0;y=H+32|0;p=H+28|0;C=H+24|0;A=H+20|0;z=H+16|0;B=H+12|0;D=H+8|0;E=H+4|0;w=H;c[G>>2]=a;c[m>>2]=b;c[n>>2]=d;c[I>>2]=e;c[q>>2]=f;g[F>>2]=h;c[x>>2]=i;c[r>>2]=j;c[s>>2]=k;c[p>>2]=0;c[C>>2]=(c[I>>2]|0)/400|0;a=c[C>>2]|0;c[B>>2]=$()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;g[t>>2]=+g[c[x>>2]>>2];g[u>>2]=1.0/(+g[c[x>>2]>>2]+1.0000000036274937e-15);if(c[r>>2]|0){c[z>>2]=(c[C>>2]<<1)-(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[z>>2]|0);g[t+4>>2]=+g[(c[x>>2]|0)+4>>2];g[u+4>>2]=1.0/(+g[(c[x>>2]|0)+4>>2]+1.0000000036274937e-15);g[t+8>>2]=+g[(c[x>>2]|0)+8>>2];g[u+8>>2]=1.0/(+g[(c[x>>2]|0)+8>>2]+1.0000000036274937e-15);c[A>>2]=3}else{c[A>>2]=1;c[z>>2]=0}if(((c[m>>2]|0)/(c[C>>2]|0)|0|0)<24)d=(c[m>>2]|0)/(c[C>>2]|0)|0;else d=24;c[o>>2]=d;g[y>>2]=0.0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[o>>2]|0))break;g[D>>2]=1.0000000036274937e-15;I=N(c[v>>2]|0,c[C>>2]|0)|0;ba[c[s>>2]&3](c[G>>2]|0,e,c[C>>2]|0,I+(c[z>>2]|0)|0,0,-2,c[n>>2]|0);if(!(c[v>>2]|0))g[y>>2]=+g[e>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;g[E>>2]=+g[e+(c[w>>2]<<2)>>2];g[D>>2]=+g[D>>2]+(+g[E>>2]-+g[y>>2])*(+g[E>>2]-+g[y>>2]);g[y>>2]=+g[E>>2];c[w>>2]=(c[w>>2]|0)+1}g[t+((c[v>>2]|0)+(c[A>>2]|0)<<2)>>2]=+g[D>>2];g[u+((c[v>>2]|0)+(c[A>>2]|0)<<2)>>2]=1.0/+g[D>>2];c[v>>2]=(c[v>>2]|0)+1}g[t+((c[v>>2]|0)+(c[A>>2]|0)<<2)>>2]=+g[t+((c[v>>2]|0)+(c[A>>2]|0)-1<<2)>>2];if(c[r>>2]|0)c[o>>2]=24<((c[o>>2]|0)+2|0)?24:(c[o>>2]|0)+2|0;c[p>>2]=li(t,u,c[o>>2]|0,~~((+g[F>>2]*.5+1.0)*+(((c[n>>2]|0)*60|0)+40|0)),(c[q>>2]|0)/400|0)|0;g[c[x>>2]>>2]=+g[t+(1<>2]<<2)>>2];if(!(c[r>>2]|0)){I=c[p>>2]|0;G=c[B>>2]|0;_(G|0);l=H;return I|0}g[(c[x>>2]|0)+4>>2]=+g[t+((1<>2])+1<<2)>>2];g[(c[x>>2]|0)+8>>2]=+g[t+((1<>2])+2<<2)>>2];I=c[p>>2]|0;G=c[B>>2]|0;_(G|0);l=H;return I|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=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.0;z=l;l=l+3136|0;i=z+3124|0;j=z+3120|0;t=z+3116|0;n=z+3112|0;r=z+3108|0;x=z+3104|0;w=z+1568|0;y=z+32|0;u=z+28|0;v=z+24|0;m=z+20|0;o=z+16|0;p=z+12|0;q=z+8|0;k=z+4|0;s=z;c[i>>2]=a;c[j>>2]=b;c[t>>2]=d;c[n>>2]=e;c[r>>2]=f;do if((c[r>>2]|0)>=80)if((c[r>>2]|0)>160){g[m>>2]=1.0;break}else{g[m>>2]=(+(c[r>>2]|0)-80.0)/80.0;break}else g[m>>2]=0.0;while(0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=16)break;c[y+(c[x>>2]<<2)>>2]=-1;g[w+(c[x>>2]<<2)>>2]=1.0e10;c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;A=+((c[n>>2]|0)+(N(c[r>>2]|0,1<>2])|0)|0);h=+g[m>>2];h=A*(h*+mi(c[i>>2]|0,c[j>>2]|0,c[x>>2]|0,(c[t>>2]|0)+1|0)+1.0);g[w+(1<>2]<<2)>>2]=h;c[y+(1<>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[t>>2]|0))break;c[o>>2]=2;while(1){if((c[o>>2]|0)>=16)break;g[w+(c[x>>2]<<6)+(c[o>>2]<<2)>>2]=+g[w+((c[x>>2]|0)-1<<6)+((c[o>>2]|0)-1<<2)>>2];c[y+(c[x>>2]<<6)+(c[o>>2]<<2)>>2]=(c[o>>2]|0)-1;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){a=c[x>>2]|0;if((c[o>>2]|0)>=4)break;c[y+(a<<6)+(1<>2]<<2)>>2]=1;g[q>>2]=+g[w+((c[x>>2]|0)-1<<6)+4>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=4)break;g[s>>2]=+g[w+((c[x>>2]|0)-1<<6)+((1<<(c[p>>2]|0)+1)-1<<2)>>2];if(+g[s>>2]<+g[q>>2]){c[y+(c[x>>2]<<6)+(1<>2]<<2)>>2]=(1<<(c[p>>2]|0)+1)-1;g[q>>2]=+g[s>>2]}c[p>>2]=(c[p>>2]|0)+1}A=+((c[n>>2]|0)+(N(c[r>>2]|0,1<>2])|0)|0);h=+g[m>>2];g[k>>2]=A*(h*+mi((c[i>>2]|0)+(c[x>>2]<<2)|0,(c[j>>2]|0)+(c[x>>2]<<2)|0,c[o>>2]|0,(c[t>>2]|0)-(c[x>>2]|0)+1|0)+1.0);g[w+(c[x>>2]<<6)+(1<>2]<<2)>>2]=+g[q>>2];h=+g[k>>2];if(((c[t>>2]|0)-(c[x>>2]|0)|0)<(1<>2]|0)){b=c[o>>2]|0;h=h*+((c[t>>2]|0)-(c[x>>2]|0)|0)/+(1<>2]|0);a=w+(c[x>>2]<<6)|0}else{b=c[o>>2]|0;a=w+(c[x>>2]<<6)|0}f=a+(1<>2]=+g[f>>2]+h;c[o>>2]=(c[o>>2]|0)+1}c[x>>2]=a+1}c[v>>2]=1;g[u>>2]=+g[w+((c[t>>2]|0)-1<<6)+4>>2];c[x>>2]=2;while(1){a=(c[t>>2]|0)-1|0;if((c[x>>2]|0)>=16)break;if(+g[w+(a<<6)+(c[x>>2]<<2)>>2]<+g[u>>2]){g[u>>2]=+g[w+((c[t>>2]|0)-1<<6)+(c[x>>2]<<2)>>2];c[v>>2]=c[x>>2]}c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=a;while(1){if((c[x>>2]|0)<0)break;c[v>>2]=c[y+(c[x>>2]<<6)+(c[v>>2]<<2)>>2];c[x>>2]=(c[x>>2]|0)+-1}l=z;return c[v>>2]|0}function mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;j=r+32|0;k=r+28|0;h=r+24|0;i=r+20|0;n=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[j>>2]=a;c[k>>2]=b;c[h>>2]=d;c[i>>2]=e;g[o>>2]=0.0;g[p>>2]=0.0;if((c[i>>2]|0)<((1<>2])+1|0))a=c[i>>2]|0;else a=(1<>2])+1|0;c[m>>2]=a;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;g[o>>2]=+g[o>>2]+ +g[(c[j>>2]|0)+(c[n>>2]<<2)>>2];g[p>>2]=+g[p>>2]+ +g[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}g[q>>2]=+g[o>>2]*+g[p>>2]/+(N(c[m>>2]|0,c[m>>2]|0)|0);if(0.0>(+g[q>>2]-2.0)*.05000000074505806)f=0.0;else f=(+g[q>>2]-2.0)*.05000000074505806;if(1.0<+B(+f)){f=1.0;l=r;return +f}if(0.0>(+g[q>>2]-2.0)*.05000000074505806)f=0.0;else f=(+g[q>>2]-2.0)*.05000000074505806;f=+B(+f);l=r;return +f}function ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=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,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;j=F+84|0;h=F+80|0;G=F+76|0;E=F+72|0;u=F+68|0;v=F+64|0;C=F+60|0;q=F+56|0;r=F+52|0;t=F+48|0;y=F+44|0;z=F+40|0;w=F+36|0;x=F+32|0;D=F+28|0;i=F+24|0;o=F+20|0;k=F+16|0;m=F+12|0;n=F+8|0;p=F+4|0;s=F;c[j>>2]=a;c[h>>2]=b;c[G>>2]=d;c[E>>2]=e;c[D>>2]=(c[G>>2]|0)/(c[h>>2]|0)|0;g[o>>2]=1.0-25.0/+((50>(c[D>>2]|0)?50:c[D>>2]|0)|0);g[t>>2]=0.0;g[r>>2]=0.0;g[q>>2]=0.0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break;g[k>>2]=0.0;g[m>>2]=0.0;g[n>>2]=0.0;g[p>>2]=+g[(c[j>>2]|0)+(c[i>>2]<<1<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+1<<2)>>2];g[k>>2]=+g[p>>2]*+g[p>>2];g[m>>2]=+g[p>>2]*+g[s>>2];g[n>>2]=+g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+2<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+3<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+4<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+5<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[p>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+6<<2)>>2];g[s>>2]=+g[(c[j>>2]|0)+((c[i>>2]<<1)+7<<2)>>2];g[k>>2]=+g[k>>2]+ +g[p>>2]*+g[p>>2];g[m>>2]=+g[m>>2]+ +g[p>>2]*+g[s>>2];g[n>>2]=+g[n>>2]+ +g[s>>2]*+g[s>>2];g[q>>2]=+g[q>>2]+ +g[k>>2];g[r>>2]=+g[r>>2]+ +g[m>>2];g[t>>2]=+g[t>>2]+ +g[n>>2];c[i>>2]=(c[i>>2]|0)+4}G=c[E>>2]|0;g[G>>2]=+g[G>>2]+ +g[o>>2]*(+g[q>>2]-+g[c[E>>2]>>2]);G=(c[E>>2]|0)+4|0;g[G>>2]=+g[G>>2]+ +g[o>>2]*(+g[r>>2]-+g[(c[E>>2]|0)+4>>2]);G=(c[E>>2]|0)+8|0;g[G>>2]=+g[G>>2]+ +g[o>>2]*(+g[t>>2]-+g[(c[E>>2]|0)+8>>2]);if(0.0>+g[c[E>>2]>>2])f=0.0;else f=+g[c[E>>2]>>2];g[c[E>>2]>>2]=f;if(0.0>+g[(c[E>>2]|0)+4>>2])f=0.0;else f=+g[(c[E>>2]|0)+4>>2];g[(c[E>>2]|0)+4>>2]=f;if(0.0>+g[(c[E>>2]|0)+8>>2])f=0.0;else f=+g[(c[E>>2]|0)+8>>2];g[(c[E>>2]|0)+8>>2]=f;G=c[E>>2]|0;if(+g[(+g[c[E>>2]>>2]>+g[(c[E>>2]|0)+8>>2]?G:G+8|0)>>2]>7.999999797903001e-04){g[y>>2]=+B(+(+g[c[E>>2]>>2]));g[z>>2]=+B(+(+g[(c[E>>2]|0)+8>>2]));g[w>>2]=+B(+(+g[y>>2]));g[x>>2]=+B(+(+g[z>>2]));if(+g[(c[E>>2]|0)+4>>2]<+g[y>>2]*+g[z>>2])f=+g[(c[E>>2]|0)+4>>2];else f=+g[y>>2]*+g[z>>2];g[(c[E>>2]|0)+4>>2]=f;g[u>>2]=+g[(c[E>>2]|0)+4>>2]/(+g[y>>2]*+g[z>>2]+1.0000000036274937e-15);f=+A(+(+g[w>>2]-+g[x>>2]))*1.0;g[v>>2]=f/(+g[w>>2]+1.0000000036274937e-15+ +g[x>>2]);f=+B(+(1.0-+g[u>>2]*+g[u>>2]));g[C>>2]=f*+g[v>>2];d=(c[E>>2]|0)+12|0;g[d>>2]=+g[d>>2]+(+g[C>>2]-+g[(c[E>>2]|0)+12>>2])/+(c[D>>2]|0);d=c[E>>2]|0;if(+g[(c[E>>2]|0)+16>>2]-.019999999552965164/+(c[D>>2]|0)>+g[(c[E>>2]|0)+12>>2])f=+g[d+16>>2]-.019999999552965164/+(c[D>>2]|0);else f=+g[d+12>>2];g[(c[E>>2]|0)+16>>2]=f}else{g[C>>2]=0.0;g[u>>2]=1.0;g[v>>2]=0.0}if(1.0<+g[(c[E>>2]|0)+16>>2]*20.0){f=1.0;l=F;return +f}f=+g[(c[E>>2]|0)+16>>2]*20.0;l=F;return +f}function oi(e,f,h,i,j,k,m,n,o,p,q,r,s){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0.0,u=0,v=0,w=0,x=0,y=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Xa=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0;Rb=l;l=l+1072|0;Db=Rb+168|0;Cb=Rb+160|0;Bb=Rb+152|0;Ab=Rb+144|0;zb=Rb+136|0;yb=Rb+128|0;xb=Rb+120|0;wb=Rb+112|0;vb=Rb+104|0;ub=Rb+96|0;tb=Rb+88|0;sb=Rb+80|0;Ua=Rb+72|0;Ta=Rb+64|0;Sa=Rb+56|0;Ra=Rb+48|0;Qa=Rb+40|0;Pa=Rb+32|0;Oa=Rb+24|0;Na=Rb+16|0;V=Rb+8|0;y=Rb;Pb=Rb+1048|0;Qb=Rb+1044|0;pa=Rb+1040|0;Gb=Rb+1036|0;Ob=Rb+1032|0;fa=Rb+1028|0;ea=Rb+1024|0;v=Rb+1020|0;w=Rb+1016|0;ba=Rb+1012|0;ca=Rb+1008|0;Z=Rb+1004|0;da=Rb+1e3|0;sa=Rb+996|0;Ga=Rb+992|0;ib=Rb+988|0;Za=Rb+984|0;Nb=Rb+980|0;La=Rb+976|0;Fb=Rb+928|0;Va=Rb+920|0;Ea=Rb+916|0;rb=Rb+912|0;Ib=Rb+908|0;Jb=Rb+904|0;jb=Rb+900|0;pb=Rb+896|0;Lb=Rb+892|0;qb=Rb+888|0;X=Rb+884|0;W=Rb+880|0;L=Rb+876|0;$a=Rb+872|0;x=Rb+868|0;Da=Rb+864|0;Aa=Rb+860|0;kb=Rb+856|0;_a=Rb+852|0;Hb=Rb+848|0;ab=Rb+844|0;G=Rb+840|0;bb=Rb+836|0;hb=Rb+808|0;T=Rb+804|0;U=Rb+800|0;u=Rb+796|0;C=Rb+792|0;A=Rb+788|0;B=Rb+784|0;D=Rb+780|0;F=Rb+776|0;E=Rb+772|0;H=Rb+768|0;I=Rb+680|0;K=Rb+676|0;J=Rb+672|0;O=Rb+640|0;M=Rb+632|0;P=Rb+628|0;R=Rb+624|0;Q=Rb+620|0;S=Rb+616|0;la=Rb+612|0;ja=Rb+608|0;ha=Rb+604|0;ia=Rb+600|0;ka=Rb+596|0;aa=Rb+592|0;ma=Rb+588|0;oa=Rb+584|0;na=Rb+284|0;ga=Rb+280|0;Mb=Rb+276|0;Kb=Rb+272|0;Y=Rb+268|0;ta=Rb+264|0;ra=Rb+260|0;Ma=Rb+256|0;qa=Rb+252|0;xa=Rb+248|0;ya=Rb+244|0;Ba=Rb+240|0;ua=Rb+236|0;va=Rb+232|0;za=Rb+1052|0;wa=Rb+228|0;Ca=Rb+224|0;Ha=Rb+220|0;Fa=Rb+216|0;Ka=Rb+212|0;Ja=Rb+208|0;Xa=Rb+204|0;Ia=Rb+200|0;cb=Rb+196|0;db=Rb+192|0;eb=Rb+188|0;nb=Rb+184|0;lb=Rb+1056|0;ob=Rb+180|0;mb=Rb+1054|0;fb=Rb+176|0;gb=Rb+172|0;c[Qb>>2]=e;c[pa>>2]=f;c[Gb>>2]=h;c[Ob>>2]=i;c[fa>>2]=j;c[ea>>2]=k;c[v>>2]=m;c[w>>2]=n;c[ba>>2]=o;c[ca>>2]=p;c[Z>>2]=q;c[da>>2]=r;c[sa>>2]=s;c[Nb>>2]=0;c[Ea>>2]=0;c[rb>>2]=0;c[Ib>>2]=0;c[Jb>>2]=0;c[jb>>2]=0;c[Lb>>2]=0;c[qb>>2]=0;c[T>>2]=-1;c[U>>2]=-1;c[Hb>>2]=1276<(c[fa>>2]|0)?1276:c[fa>>2]|0;c[(c[Qb>>2]|0)+18216>>2]=0;if(!((((((!(c[(c[Qb>>2]|0)+144>>2]|0)?((c[Gb>>2]|0)*400|0)!=(c[(c[Qb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*200|0)!=(c[(c[Qb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*100|0)!=(c[(c[Qb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*50|0)!=(c[(c[Qb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*25|0)!=(c[(c[Qb>>2]|0)+132>>2]|0):0)?((c[Gb>>2]|0)*50|0)!=((c[(c[Qb>>2]|0)+132>>2]|0)*3|0):0))Eb=8;if((Eb|0)==8?!((c[Hb>>2]|0)<=0?1:((c[Gb>>2]|0)*400|0)<(c[(c[Qb>>2]|0)+132>>2]|0)):0){c[Ga>>2]=(c[Qb>>2]|0)+(c[(c[Qb>>2]|0)+4>>2]|0);c[ib>>2]=(c[Qb>>2]|0)+(c[c[Qb>>2]>>2]|0);if((c[(c[Qb>>2]|0)+96>>2]|0)==2051)c[x>>2]=0;else c[x>>2]=c[(c[Qb>>2]|0)+104>>2];if((c[ea>>2]|0)<(c[(c[Qb>>2]|0)+156>>2]|0))q=c[ea>>2]|0;else q=c[(c[Qb>>2]|0)+156>>2]|0;c[ea>>2]=q;e=c[ib>>2]|0;c[y>>2]=bb+(((bb-bb|0)/4|0)<<2);Wa(e,10015,y)|0;c[hb>>2]=0;if((c[(c[Qb>>2]|0)+8+36>>2]|0)>=7?(c[(c[Qb>>2]|0)+132>>2]|0)==48e3:0){c[T>>2]=c[(c[Qb>>2]|0)+172+8508>>2];c[U>>2]=c[(c[Qb>>2]|0)+172+8512>>2];Li((c[Qb>>2]|0)+172|0,c[bb>>2]|0,c[v>>2]|0,c[w>>2]|0,c[Gb>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[Z>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0,c[ea>>2]|0,c[da>>2]|0,hb)}c[(c[Qb>>2]|0)+128>>2]=-1;c[(c[Qb>>2]|0)+18212>>2]=0;do if(c[hb>>2]|0){if((c[(c[Qb>>2]|0)+112>>2]|0)==-1e3){y=~~+z(+((1.0-+g[hb+20>>2])*100.0+.5));c[(c[Qb>>2]|0)+128>>2]=y}c[u>>2]=c[hb+24>>2];if((c[u>>2]|0)<=12){c[(c[Qb>>2]|0)+18212>>2]=1101;break}if((c[u>>2]|0)<=14){c[(c[Qb>>2]|0)+18212>>2]=1102;break}if((c[u>>2]|0)<=16){c[(c[Qb>>2]|0)+18212>>2]=1103;break}else{c[(c[Qb>>2]|0)+18212>>2]=(c[u>>2]|0)<=18?1104:1105;break}}while(0);if((c[(c[Qb>>2]|0)+100>>2]|0)==2?(c[(c[Qb>>2]|0)+108>>2]|0)!=1:0)g[G>>2]=+ni(c[pa>>2]|0,c[Gb>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0,(c[Qb>>2]|0)+14352|0);else g[G>>2]=0.0;c[ab>>2]=c[x>>2];y=pi(c[Qb>>2]|0,c[Gb>>2]|0,c[Hb>>2]|0)|0;c[(c[Qb>>2]|0)+148>>2]=y;c[Da>>2]=(c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0;do if((c[Hb>>2]|0)>=3?(c[(c[Qb>>2]|0)+148>>2]|0)>=((c[Da>>2]|0)*3<<3|0):0){if((c[Da>>2]|0)<50){if((N(c[Hb>>2]|0,c[Da>>2]|0)|0)<300)break;if((c[(c[Qb>>2]|0)+148>>2]|0)<2400)break}if(!(c[(c[Qb>>2]|0)+136>>2]|0)){if((((c[(c[Qb>>2]|0)+148>>2]|0)+(c[Da>>2]<<2)|0)/(c[Da>>2]<<3|0)|0|0)<(c[Hb>>2]|0))q=((c[(c[Qb>>2]|0)+148>>2]|0)+(c[Da>>2]<<2)|0)/(c[Da>>2]<<3|0)|0;else q=c[Hb>>2]|0;c[B>>2]=q;C=N(c[B>>2]|0,c[Da>>2]<<3)|0;c[(c[Qb>>2]|0)+148>>2]=C;c[Hb>>2]=c[B>>2]}c[Aa>>2]=(N(c[Da>>2]|0,c[Hb>>2]|0)|0)<<3;c[$a>>2]=(c[(c[Qb>>2]|0)+148>>2]|0)-(N(((c[(c[Qb>>2]|0)+100>>2]|0)*40|0)+20|0,((c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0)-50|0)|0);do if((c[(c[Qb>>2]|0)+112>>2]|0)!=3001){if((c[(c[Qb>>2]|0)+112>>2]|0)==3002){c[L>>2]=0;break}q=c[Qb>>2]|0;if((c[(c[Qb>>2]|0)+128>>2]|0)>=0){c[L>>2]=(c[q+128>>2]|0)*327>>8;if((c[(c[Qb>>2]|0)+96>>2]|0)!=2049)break;c[L>>2]=(c[L>>2]|0)<115?c[L>>2]|0:115;break}if((c[q+96>>2]|0)==2048){c[L>>2]=115;break}else{c[L>>2]=48;break}}else c[L>>2]=127;while(0);if((c[(c[Qb>>2]|0)+108>>2]|0)!=-1e3?(c[(c[Qb>>2]|0)+100>>2]|0)==2:0){q=c[(c[Qb>>2]|0)+108>>2]|0;m=c[Qb>>2]|0}else Eb=71;do if((Eb|0)==71){if((c[(c[Qb>>2]|0)+100>>2]|0)!=2){q=c[(c[Qb>>2]|0)+100>>2]|0;m=c[Qb>>2]|0;break}c[D>>2]=3e4;q=c[D>>2]|0;if((c[(c[Qb>>2]|0)+14288>>2]|0)==2)c[D>>2]=q-1e3;else c[D>>2]=q+1e3;q=(c[$a>>2]|0)>(c[D>>2]|0)?2:1;m=c[Qb>>2]|0}while(0);c[m+14288>>2]=q;c[$a>>2]=(c[(c[Qb>>2]|0)+148>>2]|0)-(N(((c[(c[Qb>>2]|0)+14288>>2]|0)*40|0)+20|0,((c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0)-50|0)|0);q=c[Qb>>2]|0;do if((c[(c[Qb>>2]|0)+96>>2]|0)==2051){m=1002;Eb=91}else{if((c[q+124>>2]|0)!=-1e3){m=c[(c[Qb>>2]|0)+124>>2]|0;q=c[Qb>>2]|0;Eb=91;break}c[F>>2]=~~((1.0-+g[G>>2])*+(c[4508]|0)+ +g[G>>2]*+(c[4510]|0));c[E>>2]=~~((1.0-+g[G>>2])*+(c[4511]|0)+ +g[G>>2]*+(c[4511]|0));G=N(c[L>>2]|0,c[L>>2]|0)|0;c[H>>2]=(c[E>>2]|0)+((N(G,(c[F>>2]|0)-(c[E>>2]|0)|0)|0)>>14);if((c[(c[Qb>>2]|0)+96>>2]|0)==2048)c[H>>2]=(c[H>>2]|0)+8e3;do if((c[(c[Qb>>2]|0)+14324>>2]|0)==1002)c[H>>2]=(c[H>>2]|0)-4e3;else{if((c[(c[Qb>>2]|0)+14324>>2]|0)<=0)break;c[H>>2]=(c[H>>2]|0)+4e3}while(0);c[(c[Qb>>2]|0)+14320>>2]=(c[$a>>2]|0)>=(c[H>>2]|0)?1002:1e3;do if(c[(c[Qb>>2]|0)+8+40>>2]|0){if((c[(c[Qb>>2]|0)+8+32>>2]|0)<=(128-(c[L>>2]|0)>>4|0))break;c[(c[Qb>>2]|0)+14320>>2]=1e3}while(0);if(!((c[L>>2]|0)>100?(c[(c[Qb>>2]|0)+8+44>>2]|0)!=0:0))break;m=1e3;q=c[Qb>>2]|0;Eb=91}while(0);if((Eb|0)==91)c[q+14320>>2]=m;if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002?(c[Gb>>2]|0)<((c[(c[Qb>>2]|0)+132>>2]|0)/100|0|0):0)c[(c[Qb>>2]|0)+14320>>2]=1002;if(c[(c[Qb>>2]|0)+164>>2]|0)c[(c[Qb>>2]|0)+14320>>2]=1002;H=N((c[Da>>2]|0)>50?12e3:8e3,c[Gb>>2]|0)|0;if((c[Hb>>2]|0)<((H|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0|0))c[(c[Qb>>2]|0)+14320>>2]=1002;do if((c[(c[Qb>>2]|0)+14288>>2]|0)==1){if((c[(c[Qb>>2]|0)+14328>>2]|0)!=2){Eb=105;break}if(c[(c[Qb>>2]|0)+8+56>>2]|0){Eb=105;break}if((c[(c[Qb>>2]|0)+14320>>2]|0)==1002){Eb=105;break}if((c[(c[Qb>>2]|0)+14324>>2]|0)==1002){Eb=105;break}c[(c[Qb>>2]|0)+8+56>>2]=1;c[(c[Qb>>2]|0)+14288>>2]=2}else Eb=105;while(0);if((Eb|0)==105)c[(c[Qb>>2]|0)+8+56>>2]=0;do if((c[(c[Qb>>2]|0)+14324>>2]|0)>0){if(!((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002?(c[(c[Qb>>2]|0)+14324>>2]|0)==1002:0)){if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002)break;if((c[(c[Qb>>2]|0)+14324>>2]|0)==1002)break}c[Ib>>2]=1;c[jb>>2]=(c[(c[Qb>>2]|0)+14320>>2]|0)!=1002&1;if(c[jb>>2]|0)break;if((c[Gb>>2]|0)>=((c[(c[Qb>>2]|0)+132>>2]|0)/100|0|0)){c[(c[Qb>>2]|0)+14320>>2]=c[(c[Qb>>2]|0)+14324>>2];c[Lb>>2]=1;break}else{c[Ib>>2]=0;break}}while(0);if(c[(c[Qb>>2]|0)+14340>>2]|0){c[Ib>>2]=1;c[jb>>2]=1;c[(c[Qb>>2]|0)+14340>>2]=0;c[Ea>>2]=1}do if(c[Ib>>2]|0){H=N(c[Hb>>2]|0,(c[(c[Qb>>2]|0)+132>>2]|0)/200|0)|0;if(257<((H|0)/((c[Gb>>2]|0)+((c[(c[Qb>>2]|0)+132>>2]|0)/200|0)|0)|0|0))q=257;else{q=N(c[Hb>>2]|0,(c[(c[Qb>>2]|0)+132>>2]|0)/200|0)|0;q=(q|0)/((c[Gb>>2]|0)+((c[(c[Qb>>2]|0)+132>>2]|0)/200|0)|0)|0}c[Jb>>2]=q;if(!(c[(c[Qb>>2]|0)+136>>2]|0))break;if((c[Jb>>2]|0)<((c[(c[Qb>>2]|0)+148>>2]|0)/1600|0|0))q=c[Jb>>2]|0;else q=(c[(c[Qb>>2]|0)+148>>2]|0)/1600|0;c[Jb>>2]=q}while(0);do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){if((c[(c[Qb>>2]|0)+14324>>2]|0)!=1002)break;Cd(c[Ga>>2]|0,c[(c[Qb>>2]|0)+168>>2]|0,I)|0;c[Ea>>2]=1}while(0);do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){if(c[(c[Qb>>2]|0)+14344>>2]|0){Eb=131;break}if(c[(c[Qb>>2]|0)+8+72>>2]|0)Eb=131}else Eb=131;while(0);do if((Eb|0)==131){c[M>>2]=1105;c[P>>2]=c[$a>>2];do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){c[P>>2]=(N(c[P>>2]|0,45+(c[(c[Qb>>2]|0)+8+36>>2]|0)|0)|0)/50|0;if(c[(c[Qb>>2]|0)+136>>2]|0)break;c[P>>2]=(c[P>>2]|0)-1e3}while(0);do if((c[(c[Qb>>2]|0)+100>>2]|0)==2){if((c[(c[Qb>>2]|0)+108>>2]|0)==1){Eb=137;break}c[K>>2]=18048;c[J>>2]=18080}else Eb=137;while(0);if((Eb|0)==137){c[K>>2]=18112;c[J>>2]=18144}c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=8)break;I=N(c[L>>2]|0,c[L>>2]|0)|0;I=(c[(c[J>>2]|0)+(c[Za>>2]<<2)>>2]|0)+((N(I,(c[(c[K>>2]|0)+(c[Za>>2]<<2)>>2]|0)-(c[(c[J>>2]|0)+(c[Za>>2]<<2)>>2]|0)|0)|0)>>14)|0;c[O+(c[Za>>2]<<2)>>2]=I;c[Za>>2]=(c[Za>>2]|0)+1}do{c[R>>2]=c[O+((c[M>>2]|0)-1102<<1<<2)>>2];c[Q>>2]=c[O+(((c[M>>2]|0)-1102<<1)+1<<2)>>2];do if(!(c[(c[Qb>>2]|0)+14344>>2]|0)){q=c[Q>>2]|0;m=c[R>>2]|0;if((c[(c[Qb>>2]|0)+14336>>2]|0)>=(c[M>>2]|0)){c[R>>2]=m-q;break}else{c[R>>2]=m+q;break}}while(0);if((c[P>>2]|0)>=(c[R>>2]|0))break;L=(c[M>>2]|0)+-1|0;c[M>>2]=L}while((L|0)>1101);c[(c[Qb>>2]|0)+14336>>2]=c[M>>2];if(c[(c[Qb>>2]|0)+14344>>2]|0)break;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1002)break;if(c[(c[Qb>>2]|0)+8+76>>2]|0)break;if((c[(c[Qb>>2]|0)+14336>>2]|0)<=1103)break;c[(c[Qb>>2]|0)+14336>>2]=1103}while(0);if((c[(c[Qb>>2]|0)+14336>>2]|0)>(c[(c[Qb>>2]|0)+120>>2]|0))c[(c[Qb>>2]|0)+14336>>2]=c[(c[Qb>>2]|0)+120>>2];if((c[(c[Qb>>2]|0)+116>>2]|0)!=-1e3)c[(c[Qb>>2]|0)+14336>>2]=c[(c[Qb>>2]|0)+116>>2];if((c[Aa>>2]|0)<15e3?(c[(c[Qb>>2]|0)+14320>>2]|0)!=1002:0){if((c[(c[Qb>>2]|0)+14336>>2]|0)<1103)q=c[(c[Qb>>2]|0)+14336>>2]|0;else q=1103;c[(c[Qb>>2]|0)+14336>>2]=q}do if((c[(c[Qb>>2]|0)+132>>2]|0)<=24e3){if((c[(c[Qb>>2]|0)+14336>>2]|0)<=1104)break;c[(c[Qb>>2]|0)+14336>>2]=1104}while(0);do if((c[(c[Qb>>2]|0)+132>>2]|0)<=16e3){if((c[(c[Qb>>2]|0)+14336>>2]|0)<=1103)break;c[(c[Qb>>2]|0)+14336>>2]=1103}while(0);do if((c[(c[Qb>>2]|0)+132>>2]|0)<=12e3){if((c[(c[Qb>>2]|0)+14336>>2]|0)<=1102)break;c[(c[Qb>>2]|0)+14336>>2]=1102}while(0);do if((c[(c[Qb>>2]|0)+132>>2]|0)<=8e3){if((c[(c[Qb>>2]|0)+14336>>2]|0)<=1101)break;c[(c[Qb>>2]|0)+14336>>2]=1101}while(0);do if(c[(c[Qb>>2]|0)+18212>>2]|0){if((c[(c[Qb>>2]|0)+116>>2]|0)!=-1e3)break;do if((c[$a>>2]|0)<=((c[(c[Qb>>2]|0)+14288>>2]|0)*18e3|0)){if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){Eb=177;break}c[S>>2]=1101}else Eb=177;while(0);a:do if((Eb|0)==177){do if((c[$a>>2]|0)<=((c[(c[Qb>>2]|0)+14288>>2]|0)*24e3|0)){if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002)break;c[S>>2]=1102;break a}while(0);if((c[$a>>2]|0)<=((c[(c[Qb>>2]|0)+14288>>2]|0)*3e4|0)){c[S>>2]=1103;break}if((c[$a>>2]|0)<=((c[(c[Qb>>2]|0)+14288>>2]|0)*44e3|0)){c[S>>2]=1104;break}else{c[S>>2]=1105;break}}while(0);if((c[(c[Qb>>2]|0)+18212>>2]|0)>(c[S>>2]|0))q=c[(c[Qb>>2]|0)+18212>>2]|0;else q=c[S>>2]|0;c[(c[Qb>>2]|0)+18212>>2]=q;S=c[Qb>>2]|0;c[(c[Qb>>2]|0)+14336>>2]=c[((c[(c[Qb>>2]|0)+14336>>2]|0)<(c[(c[Qb>>2]|0)+18212>>2]|0)?S+14336|0:S+18212|0)>>2]}while(0);S=c[ib>>2]|0;c[V>>2]=c[ea>>2];Wa(S,4036,V)|0;do if((c[(c[Qb>>2]|0)+14320>>2]|0)==1002){if((c[(c[Qb>>2]|0)+14336>>2]|0)!=1102)break;c[(c[Qb>>2]|0)+14336>>2]=1103}while(0);if(c[(c[Qb>>2]|0)+164>>2]|0)c[(c[Qb>>2]|0)+14336>>2]=1101;do if((c[Gb>>2]|0)>((c[(c[Qb>>2]|0)+132>>2]|0)/50|0|0)){if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002?(c[(c[Qb>>2]|0)+14336>>2]|0)<=1103:0)break;if((c[T>>2]|0)!=-1){c[(c[Qb>>2]|0)+172+8508>>2]=c[T>>2];c[(c[Qb>>2]|0)+172+8512>>2]=c[U>>2]}c[la>>2]=(c[Gb>>2]|0)>((c[(c[Qb>>2]|0)+132>>2]|0)/25|0|0)?3:2;if(1276<(((c[fa>>2]|0)-3|0)/(c[la>>2]|0)|0|0))q=1276;else q=((c[fa>>2]|0)-3|0)/(c[la>>2]|0)|0;c[aa>>2]=q;q=N(c[la>>2]|0,c[aa>>2]|0)|0;c[oa>>2]=$()|0;m=l;l=l+((1*q|0)+15&-16)|0;Ci(na)|0;c[ja>>2]=c[(c[Qb>>2]|0)+124>>2];c[ha>>2]=c[(c[Qb>>2]|0)+116>>2];c[ia>>2]=c[(c[Qb>>2]|0)+108>>2];c[(c[Qb>>2]|0)+124>>2]=c[(c[Qb>>2]|0)+14320>>2];c[(c[Qb>>2]|0)+116>>2]=c[(c[Qb>>2]|0)+14336>>2];c[(c[Qb>>2]|0)+108>>2]=c[(c[Qb>>2]|0)+14288>>2];c[ka>>2]=c[(c[Qb>>2]|0)+8+56>>2];q=c[Qb>>2]|0;if(c[ka>>2]|0)c[q+108>>2]=1;else c[(c[Qb>>2]|0)+14328>>2]=c[q+14288>>2];c[Za>>2]=0;while(1){q=c[Qb>>2]|0;if((c[Za>>2]|0)>=(c[la>>2]|0)){Eb=214;break}c[q+8+56>>2]=0;do if(c[Lb>>2]|0){if((c[Za>>2]|0)!=((c[la>>2]|0)-1|0))break;c[(c[Qb>>2]|0)+124>>2]=1002}while(0);Jb=(c[pa>>2]|0)+((N(c[Za>>2]|0,(N(c[(c[Qb>>2]|0)+100>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0)|0)/50|0)|0)<<2)|0;Kb=m+(N(c[Za>>2]|0,c[aa>>2]|0)|0)|0;c[ga>>2]=oi(c[Qb>>2]|0,Jb,(c[(c[Qb>>2]|0)+132>>2]|0)/50|0,Kb,c[aa>>2]|0,c[ea>>2]|0,0,0,c[ba>>2]|0,c[ca>>2]|0,c[Z>>2]|0,c[da>>2]|0,c[sa>>2]|0)|0;if((c[ga>>2]|0)<0){Eb=210;break}Kb=m+(N(c[Za>>2]|0,c[aa>>2]|0)|0)|0;c[Nb>>2]=Di(na,Kb,c[ga>>2]|0)|0;if((c[Nb>>2]|0)<0){Eb=212;break}c[Za>>2]=(c[Za>>2]|0)+1}do if((Eb|0)==210){c[Pb>>2]=-3;c[Mb>>2]=1}else if((Eb|0)==212){c[Pb>>2]=-3;c[Mb>>2]=1}else if((Eb|0)==214){if(c[q+136>>2]|0)c[ma>>2]=c[fa>>2];else{if((((c[(c[Qb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[la>>2]|0)|0|0)|0|0)<(c[fa>>2]|0))q=((c[(c[Qb>>2]|0)+148>>2]|0)*3|0)/(1200/(c[la>>2]|0)|0|0)|0;else q=c[fa>>2]|0;c[ma>>2]=q}c[Nb>>2]=Fi(na,0,c[la>>2]|0,c[Ob>>2]|0,c[ma>>2]|0,0,((c[(c[Qb>>2]|0)+136>>2]|0)!=0^1)&1)|0;if((c[Nb>>2]|0)<0){c[Pb>>2]=-3;c[Mb>>2]=1;break}else{c[(c[Qb>>2]|0)+124>>2]=c[ja>>2];c[(c[Qb>>2]|0)+116>>2]=c[ha>>2];c[(c[Qb>>2]|0)+108>>2]=c[ia>>2];c[(c[Qb>>2]|0)+8+56>>2]=c[ka>>2];c[Pb>>2]=c[Nb>>2];c[Mb>>2]=1;break}}while(0);_(c[oa>>2]|0);Qb=c[Pb>>2]|0;l=Rb;return Qb|0}while(0);c[kb>>2]=c[(c[Qb>>2]|0)+14336>>2];if((c[kb>>2]|0)>1103?(c[(c[Qb>>2]|0)+14320>>2]|0)==1e3:0)c[(c[Qb>>2]|0)+14320>>2]=1001;if((c[kb>>2]|0)<=1103?(c[(c[Qb>>2]|0)+14320>>2]|0)==1001:0)c[(c[Qb>>2]|0)+14320>>2]=1e3;oa=N(c[(c[Qb>>2]|0)+148>>2]|0,c[Gb>>2]|0)|0;if(((c[Hb>>2]|0)-(c[Jb>>2]|0)|0)<((oa|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0|0))q=(c[Hb>>2]|0)-(c[Jb>>2]|0)|0;else{q=N(c[(c[Qb>>2]|0)+148>>2]|0,c[Gb>>2]|0)|0;q=(q|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0}c[Va>>2]=q-1;c[Ob>>2]=(c[Ob>>2]|0)+1;Tb(Fb,c[Ob>>2]|0,(c[Hb>>2]|0)-1|0);na=N((c[ab>>2]|0)+(c[Gb>>2]|0)|0,c[(c[Qb>>2]|0)+100>>2]|0)|0;c[Kb>>2]=$()|0;o=l;l=l+((1*(na<<2)|0)+15&-16)|0;na=(c[Qb>>2]|0)+14372+((N((c[(c[Qb>>2]|0)+160>>2]|0)-(c[ab>>2]|0)|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;oa=(N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2;_i(o|0,na|0,oa+0|0)|0;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1002)c[W>>2]=(Bf(60)|0)<<8;else c[W>>2]=c[(c[Ga>>2]|0)+8>>2];c[(c[Qb>>2]|0)+14296>>2]=(c[(c[Qb>>2]|0)+14296>>2]|0)+((((c[W>>2]|0)-(c[(c[Qb>>2]|0)+14296>>2]|0)>>16)*983|0)+(((c[W>>2]|0)-(c[(c[Qb>>2]|0)+14296>>2]|0)&65535)*983>>16));c[X>>2]=Ff(c[(c[Qb>>2]|0)+14296>>2]>>8)|0;q=c[pa>>2]|0;if((c[(c[Qb>>2]|0)+96>>2]|0)==2048){pa=o+((N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;ri(q,c[X>>2]|0,pa,(c[Qb>>2]|0)+14304|0,c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0)}else{pa=o+((N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;si(q,3,pa,(c[Qb>>2]|0)+14304|0,c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0)}do if(c[sa>>2]|0){pa=o+((N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;sa=o+((N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;g[Y>>2]=+ti(pa,sa,N(c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0);if(+g[Y>>2]<1.0e9?!(+g[Y>>2]!=+g[Y>>2]):0)break;sa=o+((N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;aj(sa|0,0,(N(c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2|0)|0;g[(c[Qb>>2]|0)+14304+12>>2]=0.0;g[(c[Qb>>2]|0)+14304+8>>2]=0.0;g[(c[Qb>>2]|0)+14304+4>>2]=0.0;g[(c[Qb>>2]|0)+14304>>2]=0.0}while(0);g[_a>>2]=1.0;if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){sa=N(c[(c[Qb>>2]|0)+100>>2]|0,c[Gb>>2]|0)|0;c[Ma>>2]=$()|0;n=l;l=l+((1*(sa<<1)|0)+15&-16)|0;c[ta>>2]=N(c[Va>>2]<<3,c[Da>>2]|0)|0;do if((c[(c[Qb>>2]|0)+14320>>2]|0)==1001){q=N(c[(c[Qb>>2]|0)+14288>>2]|0,5e3+(((c[(c[Qb>>2]|0)+132>>2]|0)==((c[Gb>>2]|0)*100|0)&1)*1e3|0)|0)|0;c[(c[Qb>>2]|0)+8+28>>2]=q;q=(c[ta>>2]|0)-(c[(c[Qb>>2]|0)+8+28>>2]|0)|0;if((c[kb>>2]|0)==1104){m=c[Qb>>2]|0;q=(q<<1|0)/3|0}else{m=c[Qb>>2]|0;q=(q*3|0)/5|0}sa=m+8+28|0;c[sa>>2]=(c[sa>>2]|0)+q;if((c[(c[Qb>>2]|0)+8+28>>2]|0)>((c[ta>>2]<<2|0)/5|0|0))c[(c[Qb>>2]|0)+8+28>>2]=(c[ta>>2]<<2|0)/5|0;if(c[(c[Qb>>2]|0)+14348>>2]|0)break;c[ra>>2]=(c[ta>>2]|0)-(c[(c[Qb>>2]|0)+8+28>>2]|0);c[qa>>2]=(c[kb>>2]|0)==1104?3e3:3600;g[_a>>2]=+(c[ra>>2]|0)/(+(c[ra>>2]|0)+ +(N(c[(c[Qb>>2]|0)+14288>>2]|0,c[qa>>2]|0)|0));g[_a>>2]=+g[_a>>2]<.8571428656578064?+g[_a>>2]+.1428571492433548:1.0}else c[(c[Qb>>2]|0)+8+28>>2]=c[ta>>2];while(0);do if(c[(c[Qb>>2]|0)+14348>>2]|0){if(!(c[(c[Qb>>2]|0)+136>>2]|0))break;if(c[(c[Qb>>2]|0)+164>>2]|0)break;g[xa>>2]=0.0;c[va>>2]=17;b[za>>1]=16e3;do if((c[(c[Qb>>2]|0)+14336>>2]|0)==1101){c[va>>2]=13;b[za>>1]=8e3}else{if((c[(c[Qb>>2]|0)+14336>>2]|0)!=1102)break;c[va>>2]=15;b[za>>1]=12e3}while(0);c[ua>>2]=0;while(1){if((c[ua>>2]|0)>=(c[(c[Qb>>2]|0)+100>>2]|0))break;c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(c[va>>2]|0))break;if(+g[(c[(c[Qb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]<.5)t=+g[(c[(c[Qb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2];else t=.5;do if(t>-2.0){if(!(+g[(c[(c[Qb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]<.5)){t=.5;break}t=+g[(c[(c[Qb>>2]|0)+14348>>2]|0)+(((c[ua>>2]|0)*21|0)+(c[Za>>2]|0)<<2)>>2]}else t=-2.0;while(0);g[wa>>2]=t;if(+g[wa>>2]>0.0)g[wa>>2]=+g[wa>>2]*.5;g[xa>>2]=+g[xa>>2]+ +g[wa>>2];c[Za>>2]=(c[Za>>2]|0)+1}c[ua>>2]=(c[ua>>2]|0)+1}g[ya>>2]=+g[xa>>2]/+(c[va>>2]|0)*+(c[(c[Qb>>2]|0)+100>>2]|0);g[ya>>2]=+g[ya>>2]+.20000000298023224;c[Ba>>2]=~~(+(b[za>>1]|0)*+g[ya>>2]);if((c[Ba>>2]|0)>((N(-2,c[(c[Qb>>2]|0)+8+28>>2]|0)|0)/3|0|0))q=c[Ba>>2]|0;else q=(N(-2,c[(c[Qb>>2]|0)+8+28>>2]|0)|0)/3|0;c[Ba>>2]=q;do if((c[(c[Qb>>2]|0)+14336>>2]|0)==1104)Eb=276;else{if((c[(c[Qb>>2]|0)+14336>>2]|0)==1105){Eb=276;break}q=c[Ba>>2]|0;m=c[Qb>>2]|0}while(0);if((Eb|0)==276){q=((c[Ba>>2]|0)*3|0)/5|0;m=c[Qb>>2]|0}za=m+8+28|0;c[za>>2]=(c[za>>2]|0)+q;Ba=N(c[Ba>>2]|0,c[Gb>>2]|0)|0;c[Va>>2]=(c[Va>>2]|0)+((Ba|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0)}while(0);c[(c[Qb>>2]|0)+8+24>>2]=((c[Gb>>2]|0)*1e3|0)/(c[(c[Qb>>2]|0)+132>>2]|0)|0;c[(c[Qb>>2]|0)+8>>2]=c[(c[Qb>>2]|0)+100>>2];c[(c[Qb>>2]|0)+8+4>>2]=c[(c[Qb>>2]|0)+14288>>2];if((c[kb>>2]|0)==1101)c[(c[Qb>>2]|0)+8+20>>2]=8e3;else c[(c[Qb>>2]|0)+8+20>>2]=(c[kb>>2]|0)==1102?12e3:16e3;c[(c[Qb>>2]|0)+8+16>>2]=(c[(c[Qb>>2]|0)+14320>>2]|0)==1001?16e3:8e3;do if((c[(c[Qb>>2]|0)+14320>>2]|0)==1e3){c[Ca>>2]=c[Aa>>2];c[(c[Qb>>2]|0)+8+12>>2]=16e3;if((c[Da>>2]|0)>50)c[Ca>>2]=(c[Ca>>2]<<1|0)/3|0;if((c[Ca>>2]|0)<13e3){c[(c[Qb>>2]|0)+8+12>>2]=12e3;if(12e3<(c[(c[Qb>>2]|0)+8+20>>2]|0))q=12e3;else q=c[(c[Qb>>2]|0)+8+20>>2]|0;c[(c[Qb>>2]|0)+8+20>>2]=q}if((c[Ca>>2]|0)>=9600)break;c[(c[Qb>>2]|0)+8+12>>2]=8e3;if(8e3<(c[(c[Qb>>2]|0)+8+20>>2]|0))q=8e3;else q=c[(c[Qb>>2]|0)+8+20>>2]|0;c[(c[Qb>>2]|0)+8+20>>2]=q}else c[(c[Qb>>2]|0)+8+12>>2]=16e3;while(0);c[(c[Qb>>2]|0)+8+48>>2]=((c[(c[Qb>>2]|0)+136>>2]|0)!=0^1)&1;if(1275<((c[Hb>>2]|0)-1-(c[Jb>>2]|0)|0))q=1275;else q=(c[Hb>>2]|0)-1-(c[Jb>>2]|0)|0;c[La>>2]=q;c[(c[Qb>>2]|0)+8+52>>2]=c[La>>2]<<3;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1001)c[(c[Qb>>2]|0)+8+52>>2]=((c[(c[Qb>>2]|0)+8+52>>2]|0)*9|0)/10|0;if(c[(c[Qb>>2]|0)+8+48>>2]|0){Da=N(c[(c[Qb>>2]|0)+8+28>>2]|0,c[Gb>>2]|0)|0;c[(c[Qb>>2]|0)+8+52>>2]=((Da|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0)<<3;if(1>((c[(c[Qb>>2]|0)+8+28>>2]|0)-2e3|0))q=1;else q=(c[(c[Qb>>2]|0)+8+28>>2]|0)-2e3|0;c[(c[Qb>>2]|0)+8+28>>2]=q}if(c[Ea>>2]|0){c[Ha>>2]=0;c[Fa>>2]=N(c[(c[Qb>>2]|0)+100>>2]|0,(c[(c[Qb>>2]|0)+160>>2]|0)-(c[(c[Qb>>2]|0)+104>>2]|0)-((c[(c[Qb>>2]|0)+132>>2]|0)/400|0)|0)|0;ui((c[Qb>>2]|0)+14372+(c[Fa>>2]<<2)|0,(c[Qb>>2]|0)+14372+(c[Fa>>2]<<2)|0,0.0,1.0,c[(c[bb>>2]|0)+4>>2]|0,(c[(c[Qb>>2]|0)+132>>2]|0)/400|0,c[(c[Qb>>2]|0)+100>>2]|0,c[(c[bb>>2]|0)+60>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0);aj((c[Qb>>2]|0)+14372|0,0,c[Fa>>2]<<2|0)|0;c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(N(c[(c[Qb>>2]|0)+160>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0))break;Fa=vi(+g[(c[Qb>>2]|0)+14372+(c[Za>>2]<<2)>>2])|0;b[n+(c[Za>>2]<<1)>>1]=Fa;c[Za>>2]=(c[Za>>2]|0)+1}Ed(c[Ga>>2]|0,(c[Qb>>2]|0)+8|0,n,c[(c[Qb>>2]|0)+160>>2]|0,0,Ha,1)|0}c[Za>>2]=0;while(1){if((c[Za>>2]|0)>=(N(c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0))break;Ha=N(c[ab>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0;Ha=vi(+g[o+(Ha+(c[Za>>2]|0)<<2)>>2])|0;b[n+(c[Za>>2]<<1)>>1]=Ha;c[Za>>2]=(c[Za>>2]|0)+1}c[Nb>>2]=Ed(c[Ga>>2]|0,(c[Qb>>2]|0)+8|0,n,c[Gb>>2]|0,Fb,La,0)|0;do if(c[Nb>>2]|0){c[Pb>>2]=-3;c[Mb>>2]=1}else{q=c[Qb>>2]|0;if(!(c[La>>2]|0)){c[q+18216>>2]=0;Za=qi(c[(c[Qb>>2]|0)+14320>>2]|0,(c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0,c[kb>>2]|0,c[(c[Qb>>2]|0)+14288>>2]|0)|0;a[(c[Ob>>2]|0)+-1>>0]=Za;c[Pb>>2]=1;c[Mb>>2]=1;break}do if((c[q+14320>>2]|0)==1e3){if((c[(c[Qb>>2]|0)+8+68>>2]|0)==8e3){c[kb>>2]=1101;break}if((c[(c[Qb>>2]|0)+8+68>>2]|0)==12e3){c[kb>>2]=1102;break}if((c[(c[Qb>>2]|0)+8+68>>2]|0)!=16e3)break;c[kb>>2]=1103}while(0);c[(c[Qb>>2]|0)+8+60>>2]=c[(c[Qb>>2]|0)+8+84>>2];if(c[(c[Qb>>2]|0)+8+60>>2]|0){c[Ib>>2]=1;c[jb>>2]=0;c[(c[Qb>>2]|0)+14340>>2]=1}c[Mb>>2]=0}while(0);_(c[Ma>>2]|0);if(!(c[Mb>>2]|0))Eb=325}else Eb=325;b:do if((Eb|0)==325){c[Ka>>2]=21;switch(c[kb>>2]|0){case 1101:{c[Ka>>2]=13;break}case 1103:case 1102:{c[Ka>>2]=17;break}case 1104:{c[Ka>>2]=19;break}case 1105:{c[Ka>>2]=21;break}default:{}}Za=c[ib>>2]|0;c[Na>>2]=c[Ka>>2];Wa(Za,10012,Na)|0;Za=c[ib>>2]|0;c[Oa>>2]=c[(c[Qb>>2]|0)+14288>>2];Wa(Za,10008,Oa)|0;Za=c[ib>>2]|0;c[Pa>>2]=-1;Wa(Za,4002,Pa)|0;do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1e3){g[Ja>>2]=2.0;Za=c[ib>>2]|0;c[Qa>>2]=0;Wa(Za,4006,Qa)|0;if(c[(c[Qb>>2]|0)+8+64>>2]|0)g[Ja>>2]=0.0;Za=c[ib>>2]|0;c[Ra>>2]=~~+g[Ja>>2];Wa(Za,10002,Ra)|0;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1001){c[Xa>>2]=(wi(Fb)|0)+7>>3;if(c[Ib>>2]|0)c[Xa>>2]=(c[Xa>>2]|0)+((c[(c[Qb>>2]|0)+14320>>2]|0)==1001?3:1);q=c[Xa>>2]|0;m=c[Va>>2]|0;if(c[(c[Qb>>2]|0)+136>>2]|0){Za=N(c[(c[Qb>>2]|0)+8+28>>2]|0,c[Gb>>2]|0)|0;c[pb>>2]=q+m-((Za|0)/(c[(c[Qb>>2]|0)+132>>2]<<3|0)|0);break}else{c[pb>>2]=(q|0)>(m|0)?c[Xa>>2]|0:c[Va>>2]|0;break}}if(!(c[(c[Qb>>2]|0)+136>>2]|0)){c[pb>>2]=c[Va>>2];break}c[Ia>>2]=0;do if((c[(c[Qb>>2]|0)+144>>2]|0)==5010){if((c[Gb>>2]|0)==((c[(c[Qb>>2]|0)+132>>2]|0)/50|0|0))break;c[Ia>>2]=N(((c[(c[Qb>>2]|0)+14288>>2]|0)*60|0)+40|0,((c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0)-50|0)|0;if(!(c[hb>>2]|0))break;c[Ia>>2]=~~(+(c[Ia>>2]|0)*(+g[hb+4>>2]*.5+1.0))}while(0);Za=c[ib>>2]|0;c[Sa>>2]=1;Wa(Za,4006,Sa)|0;Za=c[ib>>2]|0;c[Ta>>2]=c[(c[Qb>>2]|0)+140>>2];Wa(Za,4020,Ta)|0;Za=c[ib>>2]|0;c[Ua>>2]=(c[(c[Qb>>2]|0)+148>>2]|0)+(c[Ia>>2]|0);Wa(Za,4002,Ua)|0;c[pb>>2]=(c[Hb>>2]|0)-1-(c[Jb>>2]|0)}else c[pb>>2]=0;while(0);Za=((N(c[(c[Qb>>2]|0)+100>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0)|0)/400|0)<<2;m=l;l=l+((1*Za|0)+15&-16)|0;do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1e3){if((c[(c[Qb>>2]|0)+14320>>2]|0)==(c[(c[Qb>>2]|0)+14324>>2]|0))break;if((c[(c[Qb>>2]|0)+14324>>2]|0)<=0)break;Xa=(c[Qb>>2]|0)+14372+((N((c[(c[Qb>>2]|0)+160>>2]|0)-(c[ab>>2]|0)-((c[(c[Qb>>2]|0)+132>>2]|0)/400|0)|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;Za=((N(c[(c[Qb>>2]|0)+100>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0)|0)/400|0)<<2;_i(m|0,Xa|0,Za+0|0)|0}while(0);Za=(N(c[(c[Qb>>2]|0)+100>>2]|0,(c[(c[Qb>>2]|0)+160>>2]|0)-((c[Gb>>2]|0)+(c[ab>>2]|0))|0)|0)>0;q=(c[Qb>>2]|0)+14372|0;if(Za){Xa=(c[Qb>>2]|0)+14372+((N(c[(c[Qb>>2]|0)+100>>2]|0,c[Gb>>2]|0)|0)<<2)|0;Za=(N(c[(c[Qb>>2]|0)+100>>2]|0,(c[(c[Qb>>2]|0)+160>>2]|0)-(c[Gb>>2]|0)-(c[ab>>2]|0)|0)|0)<<2;$i(q|0,Xa|0,Za+0|0)|0;Za=(c[Qb>>2]|0)+14372+((N(c[(c[Qb>>2]|0)+100>>2]|0,(c[(c[Qb>>2]|0)+160>>2]|0)-(c[Gb>>2]|0)-(c[ab>>2]|0)|0)|0)<<2)|0;ab=(N((c[Gb>>2]|0)+(c[ab>>2]|0)|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2;_i(Za|0,o|0,ab+0|0)|0}else{Za=o+((N((c[Gb>>2]|0)+(c[ab>>2]|0)-(c[(c[Qb>>2]|0)+160>>2]|0)|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2)|0;ab=(N(c[(c[Qb>>2]|0)+160>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0)|0)<<2;_i(q|0,Za|0,ab+0|0)|0}if(+g[_a>>2]<1.0?1:+g[(c[Qb>>2]|0)+14300>>2]<1.0)ui(o,o,+g[(c[Qb>>2]|0)+14300>>2],+g[_a>>2],c[(c[bb>>2]|0)+4>>2]|0,c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0,c[(c[bb>>2]|0)+60>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0);g[(c[Qb>>2]|0)+14300>>2]=+g[_a>>2];if(!((c[(c[Qb>>2]|0)+14320>>2]|0)==1001?(c[(c[Qb>>2]|0)+14288>>2]|0)!=1:0)){if(16384<((0>((c[$a>>2]|0)-3e4|0)?0:(c[$a>>2]|0)-3e4|0)<<1|0))q=16384;else q=(0>((c[$a>>2]|0)-3e4|0)?0:(c[$a>>2]|0)-3e4|0)<<1;c[(c[Qb>>2]|0)+8+80>>2]=q}do if(!(c[(c[Qb>>2]|0)+14348>>2]|0)){if((c[(c[Qb>>2]|0)+100>>2]|0)!=2)break;if((b[(c[Qb>>2]|0)+14292>>1]|0)>=16384?(c[(c[Qb>>2]|0)+8+80>>2]|0)>=16384:0)break;g[cb>>2]=+(b[(c[Qb>>2]|0)+14292>>1]|0);g[db>>2]=+(c[(c[Qb>>2]|0)+8+80>>2]|0);g[cb>>2]=+g[cb>>2]*.00006103515625;g[db>>2]=+g[db>>2]*.00006103515625;xi(o,o,+g[cb>>2],+g[db>>2],c[(c[bb>>2]|0)+4>>2]|0,c[Gb>>2]|0,c[(c[Qb>>2]|0)+100>>2]|0,c[(c[bb>>2]|0)+60>>2]|0,c[(c[Qb>>2]|0)+132>>2]|0);b[(c[Qb>>2]|0)+14292>>1]=c[(c[Qb>>2]|0)+8+80>>2]}while(0);do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002){db=(wi(Fb)|0)+17|0;if((db+(((c[(c[Qb>>2]|0)+14320>>2]|0)==1001&1)*20|0)|0)>((c[Hb>>2]|0)-1<<3|0)){Eb=383;break}do if((c[(c[Qb>>2]|0)+14320>>2]|0)==1001){if((c[Ib>>2]|0)==0?(db=(wi(Fb)|0)+37|0,(db|0)>(c[pb>>2]<<3|0)):0)break;_b(Fb,c[Ib>>2]|0,12)}while(0);if(!(c[Ib>>2]|0))break;_b(Fb,c[jb>>2]|0,1);q=(c[Hb>>2]|0)-1|0;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1001)c[eb>>2]=q-(c[pb>>2]|0);else c[eb>>2]=q-((wi(Fb)|0)+7>>3);if((c[eb>>2]|0)<((c[(c[Qb>>2]|0)+148>>2]|0)/1600|0|0))q=c[eb>>2]|0;else q=(c[(c[Qb>>2]|0)+148>>2]|0)/1600|0;c[Jb>>2]=q;if(257<((2>(c[Jb>>2]|0)?2:c[Jb>>2]|0)|0))q=257;else q=2>(c[Jb>>2]|0)?2:c[Jb>>2]|0;c[Jb>>2]=q;if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1001)break;ac(Fb,(c[Jb>>2]|0)-2|0,256)}else Eb=383;while(0);if((Eb|0)==383)c[Ib>>2]=0;if(!(c[Ib>>2]|0)){c[(c[Qb>>2]|0)+14340>>2]=0;c[Jb>>2]=0}if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1002)c[rb>>2]=17;if((c[(c[Qb>>2]|0)+14320>>2]|0)==1e3){c[Nb>>2]=(wi(Fb)|0)+7>>3;fc(Fb);c[pb>>2]=c[Nb>>2]}else{if(((c[Hb>>2]|0)-1-(c[Jb>>2]|0)|0)<(c[pb>>2]|0))q=(c[Hb>>2]|0)-1-(c[Jb>>2]|0)|0;else q=c[pb>>2]|0;c[pb>>2]=q;ec(Fb,c[pb>>2]|0)}if(!(!(c[Ib>>2]|0)?(c[(c[Qb>>2]|0)+14320>>2]|0)==1e3:0)){Eb=c[ib>>2]|0;c[sb>>2]=hb+(((hb-hb|0)/28|0)*28|0);Wa(Eb,10022,sb)|0}do if((c[Ib>>2]|0)!=0&(c[jb>>2]|0)!=0){Eb=c[ib>>2]|0;c[tb>>2]=0;Wa(Eb,10010,tb)|0;Eb=c[ib>>2]|0;c[ub>>2]=0;Wa(Eb,4006,ub)|0;c[nb>>2]=Ya(c[ib>>2]|0,o,(c[(c[Qb>>2]|0)+132>>2]|0)/200|0,(c[Ob>>2]|0)+(c[pb>>2]|0)|0,c[Jb>>2]|0,0)|0;if((c[nb>>2]|0)<0){c[Pb>>2]=-3;c[Mb>>2]=1;break b}else{Eb=c[ib>>2]|0;c[vb>>2]=qb+(((qb-qb|0)/4|0)<<2);Wa(Eb,4031,vb)|0;Wa(c[ib>>2]|0,4028,wb)|0;break}}while(0);Eb=c[ib>>2]|0;c[xb>>2]=c[rb>>2];Wa(Eb,10010,xb)|0;do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=1e3){do if((c[(c[Qb>>2]|0)+14320>>2]|0)!=(c[(c[Qb>>2]|0)+14324>>2]|0)){if((c[(c[Qb>>2]|0)+14324>>2]|0)<=0)break;Wa(c[ib>>2]|0,4028,yb)|0;Ya(c[ib>>2]|0,m,(c[(c[Qb>>2]|0)+132>>2]|0)/400|0,lb,2,0)|0;Eb=c[ib>>2]|0;c[zb>>2]=0;Wa(Eb,10002,zb)|0}while(0);Eb=wi(Fb)|0;if((Eb|0)>(c[pb>>2]<<3|0))break;c[Nb>>2]=Ya(c[ib>>2]|0,o,c[Gb>>2]|0,0,c[pb>>2]|0,Fb)|0;if((c[Nb>>2]|0)>=0)break;c[Pb>>2]=-3;c[Mb>>2]=1;break b}while(0);do if(!((c[Ib>>2]|0)==0|(c[jb>>2]|0)!=0)){c[fb>>2]=(c[(c[Qb>>2]|0)+132>>2]|0)/200|0;c[gb>>2]=(c[(c[Qb>>2]|0)+132>>2]|0)/400|0;Wa(c[ib>>2]|0,4028,Ab)|0;Eb=c[ib>>2]|0;c[Bb>>2]=0;Wa(Eb,10010,Bb)|0;Eb=c[ib>>2]|0;c[Cb>>2]=0;Wa(Eb,10002,Cb)|0;Eb=o+((N(c[(c[Qb>>2]|0)+100>>2]|0,(c[Gb>>2]|0)-(c[fb>>2]|0)-(c[gb>>2]|0)|0)|0)<<2)|0;Ya(c[ib>>2]|0,Eb,c[gb>>2]|0,mb,2,0)|0;Eb=o+((N(c[(c[Qb>>2]|0)+100>>2]|0,(c[Gb>>2]|0)-(c[fb>>2]|0)|0)|0)<<2)|0;c[ob>>2]=Ya(c[ib>>2]|0,Eb,c[fb>>2]|0,(c[Ob>>2]|0)+(c[pb>>2]|0)|0,c[Jb>>2]|0,0)|0;if((c[ob>>2]|0)<0){c[Pb>>2]=-3;c[Mb>>2]=1;break b}else{Eb=c[ib>>2]|0;c[Db>>2]=qb+(((qb-qb|0)/4|0)<<2);Wa(Eb,4031,Db)|0;break}}while(0);c[Ob>>2]=(c[Ob>>2]|0)+-1;q=qi(c[(c[Qb>>2]|0)+14320>>2]|0,(c[(c[Qb>>2]|0)+132>>2]|0)/(c[Gb>>2]|0)|0,c[kb>>2]|0,c[(c[Qb>>2]|0)+14288>>2]|0)|0;a[c[Ob>>2]>>0]=q;c[(c[Qb>>2]|0)+18216>>2]=c[Fb+28>>2]^c[qb>>2];q=c[Qb>>2]|0;if(c[Lb>>2]|0)m=1002;else{m=c[q+14320>>2]|0;q=c[Qb>>2]|0}c[q+14324>>2]=m;c[(c[Qb>>2]|0)+14328>>2]=c[(c[Qb>>2]|0)+14288>>2];c[(c[Qb>>2]|0)+14332>>2]=c[Gb>>2];c[(c[Qb>>2]|0)+14344>>2]=0;Lb=wi(Fb)|0;c:do if((Lb|0)>((c[Hb>>2]|0)-1<<3|0))if((c[Hb>>2]|0)<2){c[Pb>>2]=-2;c[Mb>>2]=1;break b}else{a[(c[Ob>>2]|0)+1>>0]=0;c[Nb>>2]=1;c[(c[Qb>>2]|0)+18216>>2]=0;break}else{if(!(((c[Ib>>2]|0?1:(c[(c[Qb>>2]|0)+14320>>2]|0)!=1e3)^1)&(c[Nb>>2]|0)>2))break;do{if(d[(c[Ob>>2]|0)+(c[Nb>>2]|0)>>0]|0)break c;c[Nb>>2]=(c[Nb>>2]|0)+-1}while((c[Nb>>2]|0)>2)}while(0);c[Nb>>2]=(c[Nb>>2]|0)+(1+(c[Jb>>2]|0));do if(!(c[(c[Qb>>2]|0)+136>>2]|0))if(Gi(c[Ob>>2]|0,c[Nb>>2]|0,c[Hb>>2]|0)|0){c[Pb>>2]=-3;c[Mb>>2]=1;break b}else{c[Nb>>2]=c[Hb>>2];break}while(0);c[Pb>>2]=c[Nb>>2];c[Mb>>2]=1}while(0);_(c[Kb>>2]|0);Qb=c[Pb>>2]|0;l=Rb;return Qb|0}while(0);c[C>>2]=c[(c[Qb>>2]|0)+14320>>2];if(!(c[(c[Qb>>2]|0)+14336>>2]|0))q=1101;else q=c[(c[Qb>>2]|0)+14336>>2]|0;c[A>>2]=q;if(!(c[C>>2]|0))c[C>>2]=1e3;if((c[Da>>2]|0)>100)c[C>>2]=1002;if((c[Da>>2]|0)<50)c[C>>2]=1e3;do if(!((c[C>>2]|0)==1e3&(c[A>>2]|0)>1103)){if((c[C>>2]|0)==1002&(c[A>>2]|0)==1102){c[A>>2]=1101;break}if((c[A>>2]|0)<=1104)c[A>>2]=1104}else c[A>>2]=1103;while(0);Qb=qi(c[C>>2]|0,c[Da>>2]|0,c[A>>2]|0,c[(c[Qb>>2]|0)+14288>>2]|0)|0;a[c[Ob>>2]>>0]=Qb;c[Pb>>2]=1;Qb=c[Pb>>2]|0;l=Rb;return Qb|0}c[Pb>>2]=-1;Qb=c[Pb>>2]|0;l=Rb;return Qb|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[e>>2]|0))c[e>>2]=(c[(c[h>>2]|0)+132>>2]|0)/400|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+152>>2]|0)==-1e3){c[g>>2]=(((c[b+132>>2]|0)*60|0)/(c[e>>2]|0)|0)+(N(c[(c[h>>2]|0)+132>>2]|0,c[(c[h>>2]|0)+100>>2]|0)|0);h=c[g>>2]|0;l=i;return h|0}if((c[b+152>>2]|0)==-1){h=N(c[f>>2]<<3,c[(c[h>>2]|0)+132>>2]|0)|0;c[g>>2]=(h|0)/(c[e>>2]|0)|0;h=c[g>>2]|0;l=i;return h|0}else{c[g>>2]=c[(c[h>>2]|0)+152>>2];h=c[g>>2]|0;l=i;return h|0}return 0}function qi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+20|0;j=p+16|0;h=p+12|0;i=p+8|0;m=p+4|0;o=p+24|0;n=p;c[k>>2]=b;c[j>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;while(1){if((c[j>>2]|0)>=400)break;c[j>>2]=c[j>>2]<<1;c[m>>2]=(c[m>>2]|0)+1}do if((c[k>>2]|0)!=1e3)if((c[k>>2]|0)==1002){k=(c[h>>2]|0)-1102|0;c[n>>2]=k;c[n>>2]=(c[n>>2]|0)<0?0:k;a[o>>0]=-128;a[o>>0]=d[o>>0]|0|c[n>>2]<<5;a[o>>0]=d[o>>0]|0|c[m>>2]<<3;break}else{a[o>>0]=96;a[o>>0]=d[o>>0]|0|(c[h>>2]|0)-1104<<4;a[o>>0]=d[o>>0]|0|(c[m>>2]|0)-2<<3;break}else{a[o>>0]=(c[h>>2]|0)-1101<<5;a[o>>0]=d[o>>0]|0|(c[m>>2]|0)-2<<3}while(0);a[o>>0]=d[o>>0]|0|((c[i>>2]|0)==2&1)<<2;l=p;return a[o>>0]|0}function ri(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 i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=l;l=l+64|0;n=q+60|0;v=q+56|0;p=q+52|0;m=q+48|0;o=q+44|0;k=q+40|0;u=q+36|0;j=q+24|0;i=q+16|0;s=q+8|0;t=q+4|0;r=q;c[n>>2]=a;c[v>>2]=b;c[p>>2]=d;c[m>>2]=e;c[o>>2]=f;c[k>>2]=g;c[u>>2]=h;c[s>>2]=(((c[v>>2]&65535)<<16>>16)*2471|0)/((c[u>>2]|0)/1e3|0|0)|0;c[t>>2]=268435456-((c[s>>2]|0)*471|0);c[j>>2]=c[t>>2];c[j+4>>2]=0-(c[t>>2]|0)<<1;c[j+8>>2]=c[t>>2];c[r>>2]=c[t>>2]>>6;d=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;d=d+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;d=N(c[r>>2]>>16,(d+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0;f=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;f=f+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;f=d+((N(c[r>>2]&65535,(f+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608&65535)<<16>>16)|0)>>16)|0;d=N(c[s>>2]>>16,(c[s>>2]&65535)<<16>>16)|0;d=d+((N(c[s>>2]&65535,(c[s>>2]&65535)<<16>>16)|0)>>16)|0;c[i>>2]=f+(N(c[r>>2]|0,(d+(N(c[s>>2]|0,(c[s>>2]>>15)+1>>1)|0)-8388608>>15)+1>>1)|0);d=N(c[r>>2]>>16,(c[r>>2]&65535)<<16>>16)|0;d=d+((N(c[r>>2]&65535,(c[r>>2]&65535)<<16>>16)|0)>>16)|0;c[i+4>>2]=d+(N(c[r>>2]|0,(c[r>>2]>>15)+1>>1)|0);yi(c[n>>2]|0,j,i,c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0);if((c[k>>2]|0)!=2){l=q;return}yi((c[n>>2]|0)+4|0,j,i,(c[m>>2]|0)+8|0,(c[p>>2]|0)+4|0,c[o>>2]|0,c[k>>2]|0);l=q;return}function si(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=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;v=l;l=l+64|0;p=v+48|0;x=v+44|0;r=v+40|0;n=v+36|0;q=v+32|0;k=v+28|0;w=v+24|0;j=v+20|0;o=v+16|0;m=v+12|0;t=v+8|0;s=v+4|0;u=v;c[p>>2]=a;c[x>>2]=b;c[r>>2]=d;c[n>>2]=e;c[q>>2]=f;c[k>>2]=h;c[w>>2]=i;g[m>>2]=+(c[x>>2]|0)*4.0/+(c[w>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;x=N(c[k>>2]|0,c[o>>2]|0)|0;g[t>>2]=+g[(c[p>>2]|0)+(x+(c[j>>2]|0)<<2)>>2];g[s>>2]=+g[t>>2]-+g[(c[n>>2]|0)+(c[j>>2]<<1<<2)>>2];g[(c[n>>2]|0)+(c[j>>2]<<1<<2)>>2]=+g[(c[n>>2]|0)+(c[j>>2]<<1<<2)>>2]+ +g[m>>2]*(+g[t>>2]-+g[(c[n>>2]|0)+(c[j>>2]<<1<<2)>>2])+1.0000000031710769e-30;g[u>>2]=+g[s>>2]-+g[(c[n>>2]|0)+((c[j>>2]<<1)+1<<2)>>2];g[(c[n>>2]|0)+((c[j>>2]<<1)+1<<2)>>2]=+g[(c[n>>2]|0)+((c[j>>2]<<1)+1<<2)>>2]+ +g[m>>2]*(+g[s>>2]-+g[(c[n>>2]|0)+((c[j>>2]<<1)+1<<2)>>2])+1.0000000031710769e-30;x=N(c[k>>2]|0,c[o>>2]|0)|0;g[(c[r>>2]|0)+(x+(c[j>>2]|0)<<2)>>2]=+g[u>>2];c[o>>2]=(c[o>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}l=v;return}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+16|0;k=m+12|0;f=m+8|0;h=m+4|0;j=m;c[i>>2]=a;c[k>>2]=b;c[f>>2]=d;g[j>>2]=0.0;c[h>>2]=0;while(1){e=+g[j>>2];if((c[h>>2]|0)>=(c[f>>2]|0))break;g[j>>2]=e+ +g[(c[i>>2]|0)+(c[h>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[h>>2]<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}l=m;return +e}function ui(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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;B=l;l=l+80|0;u=B+64|0;w=B+60|0;q=B+56|0;s=B+52|0;C=B+48|0;o=B+44|0;n=B+40|0;A=B+36|0;D=B+32|0;t=B+28|0;v=B+24|0;x=B+20|0;m=B+16|0;p=B+12|0;y=B+8|0;r=B+4|0;z=B;c[u>>2]=a;c[w>>2]=b;g[q>>2]=d;g[s>>2]=e;c[C>>2]=f;c[o>>2]=h;c[n>>2]=i;c[A>>2]=j;c[D>>2]=k;c[v>>2]=48e3/(c[D>>2]|0)|0;c[x>>2]=(c[C>>2]|0)/(c[v>>2]|0)|0;j=(c[n>>2]|0)==1;c[t>>2]=0;a:do if(j)while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break a;e=+g[(c[A>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[y>>2]=e*+g[(c[A>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[p>>2]=+g[y>>2]*+g[s>>2]+(1.0-+g[y>>2])*+g[q>>2];g[(c[w>>2]|0)+(c[t>>2]<<2)>>2]=+g[p>>2]*+g[(c[u>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}else while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break a;e=+g[(c[A>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[z>>2]=e*+g[(c[A>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[r>>2]=+g[z>>2]*+g[s>>2]+(1.0-+g[z>>2])*+g[q>>2];g[(c[w>>2]|0)+(c[t>>2]<<1<<2)>>2]=+g[r>>2]*+g[(c[u>>2]|0)+(c[t>>2]<<1<<2)>>2];g[(c[w>>2]|0)+((c[t>>2]<<1)+1<<2)>>2]=+g[r>>2]*+g[(c[u>>2]|0)+((c[t>>2]<<1)+1<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}while(0);c[m>>2]=0;do{c[t>>2]=c[x>>2];while(1){if((c[t>>2]|0)>=(c[o>>2]|0))break;C=N(c[t>>2]|0,c[n>>2]|0)|0;D=N(c[t>>2]|0,c[n>>2]|0)|0;g[(c[w>>2]|0)+(D+(c[m>>2]|0)<<2)>>2]=+g[s>>2]*+g[(c[u>>2]|0)+(C+(c[m>>2]|0)<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}D=(c[m>>2]|0)+1|0;c[m>>2]=D}while((D|0)<(c[n>>2]|0));l=B;return}function vi(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;g[b>>2]=a;g[b>>2]=+g[b>>2]*32768.0;g[b>>2]=+g[b>>2]>-32768.0?+g[b>>2]:-32768.0;g[b>>2]=+g[b>>2]<32767.0?+g[b>>2]:32767.0;b=(Ui(+g[b>>2])|0)&65535;l=c;return b|0}function wi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[(c[d>>2]|0)+20>>2]|0)-(32-(Q(c[(c[d>>2]|0)+28>>2]|0)|0))|0;l=b;return a|0}function xi(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=+d;e=+e;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;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;A=l;l=l+64|0;u=A+60|0;w=A+56|0;r=A+52|0;s=A+48|0;B=A+44|0;p=A+40|0;m=A+36|0;z=A+32|0;C=A+28|0;t=A+24|0;x=A+20|0;v=A+16|0;n=A+12|0;q=A+8|0;y=A+4|0;o=A;c[u>>2]=a;c[w>>2]=b;g[r>>2]=d;g[s>>2]=e;c[B>>2]=f;c[p>>2]=h;c[m>>2]=i;c[z>>2]=j;c[C>>2]=k;c[v>>2]=48e3/(c[C>>2]|0)|0;c[x>>2]=(c[B>>2]|0)/(c[v>>2]|0)|0;g[r>>2]=1.0-+g[r>>2];g[s>>2]=1.0-+g[s>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[x>>2]|0))break;e=+g[(c[z>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[y>>2]=e*+g[(c[z>>2]|0)+((N(c[t>>2]|0,c[v>>2]|0)|0)<<2)>>2];g[q>>2]=+g[y>>2]*+g[s>>2]+(1.0-+g[y>>2])*+g[r>>2];e=+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[n>>2]=(e-+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2])*.5;g[n>>2]=+g[q>>2]*+g[n>>2];e=+g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2]=e-+g[n>>2];e=+g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2];g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2]=e+ +g[n>>2];c[t>>2]=(c[t>>2]|0)+1}while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;e=+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[o>>2]=(e-+g[(c[u>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2])*.5;g[o>>2]=+g[s>>2]*+g[o>>2];e=+g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2];g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)<<2)>>2]=e-+g[o>>2];e=+g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2];g[(c[w>>2]|0)+((N(c[t>>2]|0,c[m>>2]|0)|0)+1<<2)>>2]=e+ +g[o>>2];c[t>>2]=(c[t>>2]|0)+1}l=A;return}function yi(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;n=u+60|0;v=u+56|0;w=u+52|0;m=u+48|0;r=u+44|0;q=u+40|0;s=u+36|0;p=u+32|0;t=u+28|0;o=u+24|0;j=u+16|0;k=u;c[n>>2]=a;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[r>>2]=f;c[q>>2]=h;c[s>>2]=i;g[j>>2]=+(c[c[w>>2]>>2]|0)*3.725290298461914e-09;g[j+4>>2]=+(c[(c[w>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[k>>2]=+(c[c[v>>2]>>2]|0)*3.725290298461914e-09;g[k+4>>2]=+(c[(c[v>>2]|0)+4>>2]|0)*3.725290298461914e-09;g[k+8>>2]=+(c[(c[v>>2]|0)+8>>2]|0)*3.725290298461914e-09;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;g[o>>2]=+g[(c[n>>2]|0)+((N(c[p>>2]|0,c[s>>2]|0)|0)<<2)>>2];g[t>>2]=+g[c[m>>2]>>2]+ +g[k>>2]*+g[o>>2];g[c[m>>2]>>2]=+g[(c[m>>2]|0)+4>>2]-+g[t>>2]*+g[j>>2]+ +g[k+4>>2]*+g[o>>2];g[(c[m>>2]|0)+4>>2]=-+g[t>>2]*+g[j+4>>2]+ +g[k+8>>2]*+g[o>>2]+1.0000000031710769e-30;g[(c[r>>2]|0)+((N(c[p>>2]|0,c[s>>2]|0)|0)<<2)>>2]=+g[t>>2];c[p>>2]=(c[p>>2]|0)+1}l=u;return}function zi(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;s=t+36|0;p=t+32|0;j=t+28|0;k=t+24|0;o=t+20|0;n=t+16|0;q=t+12|0;m=t+8|0;i=t+4|0;r=t;c[s>>2]=a;c[p>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=h;if((c[(c[s>>2]|0)+96>>2]|0)==2051)c[i>>2]=0;else c[i>>2]=c[(c[s>>2]|0)+104>>2];c[m>>2]=ji(c[p>>2]|0,c[j>>2]|0,c[(c[s>>2]|0)+144>>2]|0,c[(c[s>>2]|0)+100>>2]|0,c[(c[s>>2]|0)+132>>2]|0,c[(c[s>>2]|0)+148>>2]|0,c[i>>2]|0,1,(c[s>>2]|0)+172+6872|0)|0;a=N(c[m>>2]|0,c[(c[s>>2]|0)+100>>2]|0)|0;c[r>>2]=$()|0;e=l;l=l+((1*(a<<2)|0)+15&-16)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(N(c[m>>2]|0,c[(c[s>>2]|0)+100>>2]|0)|0))break;g[e+(c[n>>2]<<2)>>2]=+(b[(c[p>>2]|0)+(c[n>>2]<<1)>>1]|0)*.000030517578125;c[n>>2]=(c[n>>2]|0)+1}c[q>>2]=oi(c[s>>2]|0,e,c[m>>2]|0,c[k>>2]|0,c[o>>2]|0,16,c[p>>2]|0,c[j>>2]|0,0,-2,c[(c[s>>2]|0)+100>>2]|0,1,0)|0;s=c[q>>2]|0;_(c[r>>2]|0);l=t;return s|0}function Ai(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,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;m=o+20|0;g=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;i=o;c[n>>2]=a;c[m>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;if((c[(c[n>>2]|0)+96>>2]|0)==2051)c[i>>2]=0;else c[i>>2]=c[(c[n>>2]|0)+104>>2];c[j>>2]=ji(c[m>>2]|0,c[g>>2]|0,c[(c[n>>2]|0)+144>>2]|0,c[(c[n>>2]|0)+100>>2]|0,c[(c[n>>2]|0)+132>>2]|0,c[(c[n>>2]|0)+148>>2]|0,c[i>>2]|0,2,(c[n>>2]|0)+172+6872|0)|0;n=oi(c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,24,c[m>>2]|0,c[g>>2]|0,0,-2,c[(c[n>>2]|0)+100>>2]|0,2,1)|0;l=o;return n|0}function Bi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=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,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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;Ua=l;l=l+512|0;ba=Ua+48|0;aa=Ua+40|0;$=Ua+32|0;_=Ua+24|0;Z=Ua+16|0;ca=Ua+8|0;Y=Ua;Ta=Ua+496|0;Ra=Ua+492|0;Va=Ua+488|0;Sa=Ua+484|0;h=Ua+480|0;f=Ua+464|0;m=Ua+456|0;da=Ua+452|0;n=Ua+448|0;ea=Ua+444|0;u=Ua+440|0;na=Ua+436|0;O=Ua+432|0;Ga=Ua+428|0;Qa=Ua+424|0;La=Ua+420|0;U=Ua+416|0;Ma=Ua+412|0;V=Ua+408|0;Na=Ua+404|0;W=Ua+400|0;Oa=Ua+396|0;X=Ua+392|0;Pa=Ua+388|0;o=Ua+384|0;fa=Ua+380|0;p=Ua+376|0;ga=Ua+372|0;q=Ua+368|0;ha=Ua+364|0;r=Ua+360|0;ia=Ua+356|0;s=Ua+352|0;ja=Ua+348|0;t=Ua+344|0;ka=Ua+340|0;v=Ua+336|0;la=Ua+332|0;w=Ua+328|0;ma=Ua+324|0;x=Ua+320|0;oa=Ua+316|0;y=Ua+312|0;pa=Ua+308|0;z=Ua+304|0;qa=Ua+300|0;A=Ua+296|0;ra=Ua+292|0;B=Ua+288|0;sa=Ua+284|0;C=Ua+280|0;ta=Ua+276|0;D=Ua+272|0;ua=Ua+268|0;E=Ua+264|0;va=Ua+260|0;F=Ua+256|0;wa=Ua+252|0;G=Ua+248|0;xa=Ua+244|0;H=Ua+240|0;ya=Ua+236|0;I=Ua+232|0;za=Ua+228|0;J=Ua+224|0;Aa=Ua+220|0;K=Ua+216|0;Ba=Ua+212|0;L=Ua+208|0;Ca=Ua+204|0;M=Ua+200|0;Da=Ua+196|0;N=Ua+192|0;Ea=Ua+188|0;P=Ua+184|0;Fa=Ua+180|0;j=Ua+176|0;i=Ua+88|0;k=Ua+84|0;Q=Ua+80|0;Ha=Ua+76|0;R=Ua+72|0;Ia=Ua+68|0;S=Ua+64|0;Ja=Ua+60|0;T=Ua+56|0;Ka=Ua+52|0;c[Ra>>2]=a;c[Va>>2]=d;c[Sa>>2]=0;c[f>>2]=e;c[h>>2]=(c[Ra>>2]|0)+(c[c[Ra>>2]>>2]|0);a:do switch(c[Va>>2]|0){case 4e3:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[da>>2]=Va;c[m>>2]=c[da>>2];do if(!((c[m>>2]|0)!=2048&(c[m>>2]|0)!=2049&(c[m>>2]|0)!=2051)){if((c[(c[Ra>>2]|0)+14344>>2]|0)==0?(c[(c[Ra>>2]|0)+96>>2]|0)!=(c[m>>2]|0):0)break;c[(c[Ra>>2]|0)+96>>2]=c[m>>2];f=95;break a}while(0);c[Sa>>2]=-1;f=95;break}case 4001:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ea>>2]=Va;c[n>>2]=c[ea>>2];if(c[n>>2]|0){c[c[n>>2]>>2]=c[(c[Ra>>2]|0)+96>>2];f=95}else f=96;break}case 4002:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[na>>2]=Va;c[u>>2]=c[na>>2];do if((c[u>>2]|0)!=-1e3&(c[u>>2]|0)!=-1){if((c[u>>2]|0)<=0){f=96;break a}if((c[u>>2]|0)<=500){c[u>>2]=500;break}if((c[u>>2]|0)>((c[(c[Ra>>2]|0)+100>>2]|0)*3e5|0))c[u>>2]=(c[(c[Ra>>2]|0)+100>>2]|0)*3e5}while(0);c[(c[Ra>>2]|0)+152>>2]=c[u>>2];f=95;break}case 4003:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ga>>2]=Va;c[O>>2]=c[Ga>>2];if(c[O>>2]|0){f=pi(c[Ra>>2]|0,c[(c[Ra>>2]|0)+14332>>2]|0,1276)|0;c[c[O>>2]>>2]=f;f=95}else f=96;break}case 4022:{Pa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Pa>>2]|0;c[f>>2]=Pa+4;c[La>>2]=Va;c[Qa>>2]=c[La>>2];f=c[Qa>>2]|0;if((c[Qa>>2]|0)<1){if((f|0)!=-1e3){f=96;break a}}else if((c[Qa>>2]|0)!=-1e3?(f|0)>(c[(c[Ra>>2]|0)+100>>2]|0):0){f=96;break a}c[(c[Ra>>2]|0)+108>>2]=c[Qa>>2];f=95;break}case 4023:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ma>>2]=Va;c[U>>2]=c[Ma>>2];if(c[U>>2]|0){c[c[U>>2]>>2]=c[(c[Ra>>2]|0)+108>>2];f=95}else f=96;break}case 4004:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Na>>2]=Va;c[V>>2]=c[Na>>2];if(!((c[V>>2]|0)<1101|(c[V>>2]|0)>1105)){c[(c[Ra>>2]|0)+120>>2]=c[V>>2];f=c[Ra>>2]|0;if((c[(c[Ra>>2]|0)+120>>2]|0)==1101){c[f+8+12>>2]=8e3;f=95;break a}else{c[(c[Ra>>2]|0)+8+12>>2]=(c[f+120>>2]|0)==1102?12e3:16e3;f=95;break a}}else f=96;break}case 4005:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Oa>>2]=Va;c[W>>2]=c[Oa>>2];if(c[W>>2]|0){c[c[W>>2]>>2]=c[(c[Ra>>2]|0)+120>>2];f=95}else f=96;break}case 4008:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Pa>>2]=Va;c[X>>2]=c[Pa>>2];if(!(((c[X>>2]|0)<1101|(c[X>>2]|0)>1105)&(c[X>>2]|0)!=-1e3)){c[(c[Ra>>2]|0)+116>>2]=c[X>>2];f=c[Ra>>2]|0;if((c[(c[Ra>>2]|0)+116>>2]|0)==1101){c[f+8+12>>2]=8e3;f=95;break a}else{c[(c[Ra>>2]|0)+8+12>>2]=(c[f+116>>2]|0)==1102?12e3:16e3;f=95;break a}}else f=96;break}case 4009:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[fa>>2]=Va;c[o>>2]=c[fa>>2];if(c[o>>2]|0){c[c[o>>2]>>2]=c[(c[Ra>>2]|0)+14336>>2];f=95}else f=96;break}case 4016:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ga>>2]=Va;c[p>>2]=c[ga>>2];if((c[p>>2]|0)<0|(c[p>>2]|0)>1)f=96;else{c[(c[Ra>>2]|0)+8+44>>2]=c[p>>2];f=95}break}case 4017:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ha>>2]=Va;c[q>>2]=c[ha>>2];if(c[q>>2]|0){c[c[q>>2]>>2]=c[(c[Ra>>2]|0)+8+44>>2];f=95}else f=96;break}case 4010:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ia>>2]=Va;c[r>>2]=c[ia>>2];if((c[r>>2]|0)<0|(c[r>>2]|0)>10)f=96;else{c[(c[Ra>>2]|0)+8+36>>2]=c[r>>2];f=c[h>>2]|0;c[Y>>2]=c[r>>2];Wa(f,4010,Y)|0;f=95}break}case 4011:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ja>>2]=Va;c[s>>2]=c[ja>>2];if(c[s>>2]|0){c[c[s>>2]>>2]=c[(c[Ra>>2]|0)+8+36>>2];f=95}else f=96;break}case 4012:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ka>>2]=Va;c[t>>2]=c[ka>>2];if((c[t>>2]|0)<0|(c[t>>2]|0)>1)f=96;else{c[(c[Ra>>2]|0)+8+40>>2]=c[t>>2];f=95}break}case 4013:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[la>>2]=Va;c[v>>2]=c[la>>2];if(c[v>>2]|0){c[c[v>>2]>>2]=c[(c[Ra>>2]|0)+8+40>>2];f=95}else f=96;break}case 4014:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ma>>2]=Va;c[w>>2]=c[ma>>2];if((c[w>>2]|0)<0|(c[w>>2]|0)>100)f=96;else{c[(c[Ra>>2]|0)+8+32>>2]=c[w>>2];f=c[h>>2]|0;c[ca>>2]=c[w>>2];Wa(f,4014,ca)|0;f=95}break}case 4015:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[oa>>2]=Va;c[x>>2]=c[oa>>2];if(c[x>>2]|0){c[c[x>>2]>>2]=c[(c[Ra>>2]|0)+8+32>>2];f=95}else f=96;break}case 4006:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[pa>>2]=Va;c[y>>2]=c[pa>>2];if((c[y>>2]|0)<0|(c[y>>2]|0)>1)f=96;else{c[(c[Ra>>2]|0)+136>>2]=c[y>>2];c[(c[Ra>>2]|0)+8+48>>2]=1-(c[y>>2]|0);f=95}break}case 4007:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[qa>>2]=Va;c[z>>2]=c[qa>>2];if(c[z>>2]|0){c[c[z>>2]>>2]=c[(c[Ra>>2]|0)+136>>2];f=95}else f=96;break}case 11018:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ra>>2]=Va;c[A>>2]=c[ra>>2];if((c[A>>2]|0)<-1|(c[A>>2]|0)>100)f=96;else{c[(c[Ra>>2]|0)+128>>2]=c[A>>2];f=95}break}case 11019:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[sa>>2]=Va;c[B>>2]=c[sa>>2];if(c[B>>2]|0){c[c[B>>2]>>2]=c[(c[Ra>>2]|0)+128>>2];f=95}else f=96;break}case 4020:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ta>>2]=Va;c[C>>2]=c[ta>>2];if((c[C>>2]|0)<0|(c[C>>2]|0)>1)f=96;else{c[(c[Ra>>2]|0)+140>>2]=c[C>>2];f=95}break}case 4021:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ua>>2]=Va;c[D>>2]=c[ua>>2];if(c[D>>2]|0){c[c[D>>2]>>2]=c[(c[Ra>>2]|0)+140>>2];f=95}else f=96;break}case 4024:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[va>>2]=Va;c[E>>2]=c[va>>2];if((c[E>>2]|0)!=-1e3&(c[E>>2]|0)!=3001&(c[E>>2]|0)!=3002)f=96;else{c[(c[Ra>>2]|0)+112>>2]=c[E>>2];f=95}break}case 4025:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[wa>>2]=Va;c[F>>2]=c[wa>>2];if(c[F>>2]|0){c[c[F>>2]>>2]=c[(c[Ra>>2]|0)+112>>2];f=95}else f=96;break}case 4027:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[xa>>2]=Va;c[G>>2]=c[xa>>2];if(c[G>>2]|0){c[c[G>>2]>>2]=(c[(c[Ra>>2]|0)+132>>2]|0)/400|0;if((c[(c[Ra>>2]|0)+96>>2]|0)!=2051){f=c[G>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[(c[Ra>>2]|0)+104>>2]|0);f=95}else f=95}else f=96;break}case 4029:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[ya>>2]=Va;c[H>>2]=c[ya>>2];if(c[H>>2]|0){c[c[H>>2]>>2]=c[(c[Ra>>2]|0)+132>>2];f=95}else f=96;break}case 4031:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[za>>2]=Va;c[I>>2]=c[za>>2];if(c[I>>2]|0){c[c[I>>2]>>2]=c[(c[Ra>>2]|0)+18216>>2];f=95}else f=96;break}case 4036:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Aa>>2]=Va;c[J>>2]=c[Aa>>2];if((c[J>>2]|0)<8|(c[J>>2]|0)>24)f=96;else{c[(c[Ra>>2]|0)+156>>2]=c[J>>2];f=95}break}case 4037:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ba>>2]=Va;c[K>>2]=c[Ba>>2];if(c[K>>2]|0){c[c[K>>2]>>2]=c[(c[Ra>>2]|0)+156>>2];f=95}else f=96;break}case 4040:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ca>>2]=Va;c[L>>2]=c[Ca>>2];if((c[L>>2]|0)!=5e3&(c[L>>2]|0)!=5001&(c[L>>2]|0)!=5002&(c[L>>2]|0)!=5003&(c[L>>2]|0)!=5004&(c[L>>2]|0)!=5005&(c[L>>2]|0)!=5006&(c[L>>2]|0)!=5010)f=96;else{c[(c[Ra>>2]|0)+144>>2]=c[L>>2];f=c[h>>2]|0;c[Z>>2]=c[L>>2];Wa(f,4040,Z)|0;f=95}break}case 4041:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Da>>2]=Va;c[M>>2]=c[Da>>2];if(c[M>>2]|0){c[c[M>>2]>>2]=c[(c[Ra>>2]|0)+144>>2];f=95}else f=96;break}case 4042:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ea>>2]=Va;c[N>>2]=c[Ea>>2];if((c[N>>2]|0)>1|(c[N>>2]|0)<0)f=96;else{c[(c[Ra>>2]|0)+8+64>>2]=c[N>>2];f=95}break}case 4043:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Fa>>2]=Va;c[P>>2]=c[Fa>>2];if(c[P>>2]|0){c[c[P>>2]>>2]=c[(c[Ra>>2]|0)+8+64>>2];f=95}else f=96;break}case 4028:{c[j>>2]=(c[Ra>>2]|0)+(c[(c[Ra>>2]|0)+4>>2]|0);Ji((c[Ra>>2]|0)+172|0);c[k>>2]=(c[Ra>>2]|0)+14288;aj(c[k>>2]|0,0,18220-((c[k>>2]|0)-(c[Ra>>2]|0))|0)|0;Wa(c[h>>2]|0,4028,_)|0;Cd(c[j>>2]|0,c[(c[Ra>>2]|0)+168>>2]|0,i)|0;c[(c[Ra>>2]|0)+14288>>2]=c[(c[Ra>>2]|0)+100>>2];b[(c[Ra>>2]|0)+14292>>1]=16384;g[(c[Ra>>2]|0)+14300>>2]=1.0;c[(c[Ra>>2]|0)+14344>>2]=1;c[(c[Ra>>2]|0)+14320>>2]=1001;c[(c[Ra>>2]|0)+14336>>2]=1105;f=(Bf(60)|0)<<8;c[(c[Ra>>2]|0)+14296>>2]=f;f=95;break}case 11002:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ha>>2]=Va;c[Q>>2]=c[Ha>>2];if(((c[Q>>2]|0)<1e3|(c[Q>>2]|0)>1002)&(c[Q>>2]|0)!=-1e3)f=96;else{c[(c[Ra>>2]|0)+124>>2]=c[Q>>2];f=95}break}case 10024:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ia>>2]=Va;c[R>>2]=c[Ia>>2];c[(c[Ra>>2]|0)+164>>2]=c[R>>2];f=c[h>>2]|0;c[$>>2]=c[R>>2];c[Sa>>2]=Wa(f,10024,$)|0;f=95;break}case 10026:{Qa=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Qa>>2]|0;c[f>>2]=Qa+4;c[Ja>>2]=Va;c[S>>2]=c[Ja>>2];c[(c[Ra>>2]|0)+14348>>2]=c[S>>2];f=c[h>>2]|0;c[aa>>2]=(c[S>>2]|0)+((((c[S>>2]|0)-(c[S>>2]|0)|0)/4|0)<<2);c[Sa>>2]=Wa(f,10026,aa)|0;f=95;break}case 10015:{Ra=(c[f>>2]|0)+(4-1)&~(4-1);Va=c[Ra>>2]|0;c[f>>2]=Ra+4;c[Ka>>2]=Va;c[T>>2]=c[Ka>>2];if(c[T>>2]|0){f=c[h>>2]|0;c[ba>>2]=(c[T>>2]|0)+((((c[T>>2]|0)-(c[T>>2]|0)|0)/4|0)<<2);c[Sa>>2]=Wa(f,10015,ba)|0;f=95}else f=96;break}default:{c[Sa>>2]=-5;f=95}}while(0);if((f|0)==95){c[Ta>>2]=c[Sa>>2];Va=c[Ta>>2]|0;l=Ua;return Va|0}else if((f|0)==96){c[Ta>>2]=-1;Va=c[Ta>>2]|0;l=Ua;return Va|0}return 0}function Ci(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[(c[b>>2]|0)+4>>2]=0;l=d;return c[b>>2]|0}function Di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Ei(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return a|0}function Ei(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+24|0;n=q+20|0;i=q+16|0;j=q+12|0;o=q+8|0;p=q+28|0;h=q+4|0;k=q;c[n>>2]=b;c[i>>2]=e;c[j>>2]=f;c[o>>2]=g;if((c[j>>2]|0)<1){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}if(c[(c[n>>2]|0)+4>>2]|0){if(((d[c[n>>2]>>0]|0)&252|0)!=((d[c[i>>2]>>0]|0)&252|0)){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}}else{a[c[n>>2]>>0]=a[c[i>>2]>>0]|0;g=Ih(c[i>>2]|0,8e3)|0;c[(c[n>>2]|0)+296>>2]=g}c[h>>2]=$h(c[i>>2]|0,c[j>>2]|0)|0;if((c[h>>2]|0)<1){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}if((N((c[h>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)|0,c[(c[n>>2]|0)+296>>2]|0)|0)>960){c[m>>2]=-4;p=c[m>>2]|0;l=q;return p|0}c[k>>2]=Jh(c[i>>2]|0,c[j>>2]|0,c[o>>2]|0,p,(c[n>>2]|0)+8+(c[(c[n>>2]|0)+4>>2]<<2)|0,(c[n>>2]|0)+200+(c[(c[n>>2]|0)+4>>2]<<1)|0,0,0)|0;if((c[k>>2]|0)<1){c[m>>2]=c[k>>2];p=c[m>>2]|0;l=q;return p|0}else{p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+(c[h>>2]|0);c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}return 0}function Fi(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;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;F=l;l=l+80|0;A=F+68|0;p=F+64|0;m=F+60|0;n=F+56|0;r=F+52|0;v=F+48|0;C=F+44|0;x=F+40|0;t=F+36|0;q=F+32|0;D=F+28|0;u=F+24|0;s=F+20|0;z=F+16|0;E=F+12|0;y=F+8|0;w=F+4|0;B=F;c[p>>2]=e;c[m>>2]=f;c[n>>2]=g;c[r>>2]=h;c[v>>2]=i;c[C>>2]=j;c[x>>2]=k;if(((c[m>>2]|0)>=0?(c[m>>2]|0)<(c[n>>2]|0):0)?(c[n>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0):0){c[q>>2]=(c[n>>2]|0)-(c[m>>2]|0);c[u>>2]=(c[p>>2]|0)+200+(c[m>>2]<<1);c[s>>2]=(c[p>>2]|0)+8+(c[m>>2]<<2);if(c[C>>2]|0)c[D>>2]=1+((b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[z>>2]=c[r>>2];do if((c[q>>2]|0)!=1){if((c[q>>2]|0)==2){f=b[c[u>>2]>>1]|0;if((b[(c[u>>2]|0)+2>>1]|0)==(b[c[u>>2]>>1]|0)){c[D>>2]=(c[D>>2]|0)+((f<<1)+1);if((c[D>>2]|0)<=(c[v>>2]|0)){e=(d[c[p>>2]>>0]&252|1)&255;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}else{c[D>>2]=(c[D>>2]|0)+(f+(b[(c[u>>2]|0)+2>>1]|0)+2+((b[c[u>>2]>>1]|0)>=252&1));if((c[D>>2]|0)<=(c[v>>2]|0)){e=(d[c[p>>2]>>0]&252|2)&255;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;j=Hh(b[c[u>>2]>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+j;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}}}else{c[D>>2]=(c[D>>2]|0)+((b[c[u>>2]>>1]|0)+1);if((c[D>>2]|0)<=(c[v>>2]|0)){e=d[c[p>>2]>>0]&252;j=c[z>>2]|0;c[z>>2]=j+1;a[j>>0]=e;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}while(0);if((c[q>>2]|0)<=2){if(c[x>>2]|0?(c[D>>2]|0)<(c[v>>2]|0):0)o=23}else o=23;a:do if((o|0)==23){c[y>>2]=0;c[z>>2]=c[r>>2];if(c[C>>2]|0)c[D>>2]=1+((b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0)>=252&1);else c[D>>2]=0;c[E>>2]=0;c[t>>2]=1;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;if((b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0)!=(b[c[u>>2]>>1]|0)){o=29;break}c[t>>2]=(c[t>>2]|0)+1}if((o|0)==29)c[E>>2]=1;do if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+2;c[t>>2]=0;while(1){f=c[u>>2]|0;if((c[t>>2]|0)>=((c[q>>2]|0)-1|0))break;c[D>>2]=(c[D>>2]|0)+(1+((b[f+(c[t>>2]<<1)>>1]|0)>=252&1)+(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0));c[t>>2]=(c[t>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+(b[f+((c[q>>2]|0)-1<<1)>>1]|0);if((c[D>>2]|0)<=(c[v>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=(c[q>>2]|128)&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}else{o=(N(c[q>>2]|0,b[c[u>>2]>>1]|0)|0)+2|0;c[D>>2]=(c[D>>2]|0)+o;if((c[D>>2]|0)<=(c[v>>2]|0)){p=(d[c[p>>2]>>0]&252|3)&255;o=c[z>>2]|0;c[z>>2]=o+1;a[o>>0]=p;o=c[q>>2]&255;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=o;break}c[A>>2]=-2;E=c[A>>2]|0;l=F;return E|0}while(0);if(c[x>>2]|0)f=(c[v>>2]|0)-(c[D>>2]|0)|0;else f=0;c[y>>2]=f;if(c[y>>2]|0){p=(c[r>>2]|0)+1|0;a[p>>0]=d[p>>0]|64;c[w>>2]=((c[y>>2]|0)-1|0)/255|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;p=c[z>>2]|0;c[z>>2]=p+1;a[p>>0]=-1;c[t>>2]=(c[t>>2]|0)+1}p=(c[y>>2]|0)-((c[w>>2]|0)*255|0)-1&255;w=c[z>>2]|0;c[z>>2]=w+1;a[w>>0]=p;c[D>>2]=(c[D>>2]|0)+(c[y>>2]|0)}if(c[E>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[q>>2]|0)-1|0))break a;E=Hh(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+E;c[t>>2]=(c[t>>2]|0)+1}}}while(0);if(c[C>>2]|0){c[B>>2]=Hh(b[(c[u>>2]|0)+((c[q>>2]|0)-1<<1)>>1]|0,c[z>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+(c[B>>2]|0)}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;$i(c[z>>2]|0,c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0,(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0)+0|0)|0;c[z>>2]=(c[z>>2]|0)+(b[(c[u>>2]|0)+(c[t>>2]<<1)>>1]|0);c[t>>2]=(c[t>>2]|0)+1}b:do if(c[x>>2]|0)while(1){if((c[z>>2]|0)>>>0>=((c[r>>2]|0)+(c[v>>2]|0)|0)>>>0)break b;E=c[z>>2]|0;c[z>>2]=E+1;a[E>>0]=0}while(0);c[A>>2]=c[D>>2];E=c[A>>2]|0;l=F;return E|0}c[A>>2]=-1;E=c[A>>2]|0;l=F;return E|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+320|0;i=k+316|0;e=k+312|0;f=k+308|0;g=k+304|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<1){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}if((c[f>>2]|0)==(c[g>>2]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}if((c[f>>2]|0)>(c[g>>2]|0)){c[i>>2]=-1;j=c[i>>2]|0;l=k;return j|0}Ci(j)|0;$i((c[e>>2]|0)+(c[g>>2]|0)+(0-(c[f>>2]|0))|0,c[e>>2]|0,(c[f>>2]|0)+0|0)|0;Di(j,(c[e>>2]|0)+(c[g>>2]|0)+(0-(c[f>>2]|0))|0,c[f>>2]|0)|0;c[h>>2]=Fi(j,0,c[j+4>>2]|0,c[e>>2]|0,c[g>>2]|0,0,1)|0;if((c[h>>2]|0)>0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=c[h>>2];j=c[i>>2]|0;l=k;return j|0}return 0}function Hi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ii()|0;c[c[d>>2]>>2]=a;Ji(c[d>>2]|0);l=b;return}function Ii(){return 0}function Ji(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+4;aj(c[e>>2]|0,0,14116-((c[e>>2]|0)-(c[d>>2]|0))|0)|0;l=b;return}function Ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;j=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;k=n+4|0;i=n;c[m>>2]=a;c[j>>2]=b;c[e>>2]=d;c[f>>2]=c[(c[m>>2]|0)+8508>>2];c[h>>2]=(c[(c[m>>2]|0)+8504>>2]|0)-(c[(c[m>>2]|0)+8508>>2]|0);if((c[h>>2]|0)<0)c[h>>2]=(c[h>>2]|0)+200;if((c[e>>2]|0)>480?(c[f>>2]|0)!=(c[(c[m>>2]|0)+8504>>2]|0):0){a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)==200?0:a}if((c[f>>2]|0)==(c[(c[m>>2]|0)+8504>>2]|0))c[f>>2]=(c[f>>2]|0)+-1;if((c[f>>2]|0)<0)c[f>>2]=199;_i(c[j>>2]|0,(c[m>>2]|0)+8516+((c[f>>2]|0)*28|0)|0,28|0)|0;b=(c[e>>2]|0)/120|0;d=(c[m>>2]|0)+8512|0;while(1){c[d>>2]=(c[d>>2]|0)+b;b=c[m>>2]|0;if((c[(c[m>>2]|0)+8512>>2]|0)<4)break;b=b+8512|0;c[b>>2]=(c[b>>2]|0)-4;b=1;d=(c[m>>2]|0)+8508|0}if((c[b+8508>>2]|0)>=200){a=(c[m>>2]|0)+8508|0;c[a>>2]=(c[a>>2]|0)-200}c[h>>2]=((c[h>>2]|0)-10|0)>0?(c[h>>2]|0)-10|0:0;g[k>>2]=0.0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(200-(c[h>>2]|0)|0))break;g[k>>2]=+g[k>>2]+ +g[(c[m>>2]|0)+7688+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}while(1){if((c[i>>2]|0)>=200)break;g[k>>2]=+g[k>>2]+ +g[(c[m>>2]|0)+6888+(c[i>>2]<<2)>>2];c[i>>2]=(c[i>>2]|0)+1}g[k>>2]=+g[k>>2]*+g[(c[m>>2]|0)+8492>>2]+(1.0-+g[k>>2])*+g[(c[m>>2]|0)+8488>>2];g[(c[j>>2]|0)+20>>2]=+g[k>>2];l=n;return}function Li(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var 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;C=l;l=l+64|0;q=C+52|0;w=C+48|0;t=C+44|0;r=C+40|0;y=C+36|0;u=C+32|0;v=C+28|0;p=C+24|0;o=C+20|0;z=C+16|0;x=C+12|0;s=C+8|0;A=C+4|0;B=C;c[q>>2]=a;c[w>>2]=b;c[t>>2]=d;c[r>>2]=e;c[y>>2]=f;c[u>>2]=g;c[v>>2]=h;c[p>>2]=i;c[o>>2]=j;c[z>>2]=k;c[x>>2]=m;c[s>>2]=n;if(!(c[t>>2]|0)){z=c[s>>2]|0;c[z>>2]=0;z=c[q>>2]|0;A=c[s>>2]|0;B=c[y>>2]|0;Ki(z,A,B);l=C;return}if((((c[o>>2]|0)*195|0)/100|0|0)<(c[r>>2]|0))i=((c[o>>2]|0)*195|0)/100|0;else i=c[r>>2]|0;c[r>>2]=i;c[B>>2]=(c[r>>2]|0)-(c[(c[q>>2]|0)+6884>>2]|0);c[A>>2]=c[(c[q>>2]|0)+6884>>2];do{Mi(c[q>>2]|0,c[w>>2]|0,c[t>>2]|0,480<(c[B>>2]|0)?480:c[B>>2]|0,c[A>>2]|0,c[u>>2]|0,c[v>>2]|0,c[p>>2]|0,c[z>>2]|0,c[x>>2]|0);c[A>>2]=(c[A>>2]|0)+480;c[B>>2]=(c[B>>2]|0)-480}while((c[B>>2]|0)>0);c[(c[q>>2]|0)+6884>>2]=c[r>>2];z=(c[q>>2]|0)+6884|0;c[z>>2]=(c[z>>2]|0)-(c[y>>2]|0);z=c[s>>2]|0;c[z>>2]=0;z=c[q>>2]|0;A=c[s>>2]|0;B=c[y>>2]|0;Ki(z,A,B);l=C;return} function Mi(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0;Xa=l;l=l+10192|0;Wa=Xa+10180|0;o=Xa+10176|0;V=Xa+10172|0;P=Xa+10168|0;S=Xa+10164|0;D=Xa+10160|0;E=Xa+10156|0;q=Xa+10152|0;$=Xa+10148|0;M=Xa+10144|0;Fa=Xa+10140|0;sa=Xa+10136|0;O=Xa+10132|0;ia=Xa+10128|0;r=Xa+10124|0;p=Xa+10120|0;I=Xa+10116|0;F=Xa+10112|0;Z=Xa+10040|0;ua=Xa+9968|0;ya=Xa+9936|0;Aa=Xa+9836|0;Ca=Xa+9832|0;va=Xa+9828|0;Ua=Xa+9824|0;Da=Xa+9816|0;Ba=Xa+9812|0;wa=Xa+9808|0;Ra=Xa+9800|0;za=Xa+9796|0;ra=Xa+9792|0;ja=Xa+9788|0;ta=Xa+9784|0;ma=Xa+9780|0;Ta=Xa+9776|0;oa=Xa+9772|0;pa=Xa+9768|0;T=Xa+9764|0;Va=Xa+9760|0;N=Xa+5920|0;qa=Xa+2080|0;fa=Xa+1120|0;ca=Xa+160|0;U=Xa+152|0;t=Xa+148|0;v=Xa+144|0;s=Xa+140|0;u=Xa+136|0;w=Xa+132|0;J=Xa+128|0;G=Xa+124|0;x=Xa+120|0;K=Xa+116|0;H=Xa+112|0;Q=Xa+108|0;R=Xa+104|0;y=Xa+100|0;W=Xa+96|0;ea=Xa+92|0;aa=Xa+88|0;X=Xa+84|0;Y=Xa+80|0;da=Xa+76|0;_=Xa+72|0;ha=Xa+68|0;la=Xa+64|0;ka=Xa+60|0;na=Xa+56|0;xa=Xa+52|0;Pa=Xa+48|0;Ea=Xa+44|0;Ja=Xa+40|0;Ka=Xa+36|0;Na=Xa+32|0;Ga=Xa+28|0;La=Xa+24|0;Oa=Xa+20|0;Ha=Xa+16|0;Ia=Xa+12|0;Ma=Xa+8|0;Qa=Xa+4|0;Sa=Xa;c[Wa>>2]=a;c[o>>2]=b;c[V>>2]=d;c[P>>2]=e;c[S>>2]=f;c[D>>2]=h;c[E>>2]=i;c[q>>2]=j;c[$>>2]=k;c[M>>2]=m;c[ia>>2]=480;c[r>>2]=240;c[p>>2]=(c[Wa>>2]|0)+4;c[I>>2]=(c[Wa>>2]|0)+964;c[F>>2]=(c[Wa>>2]|0)+1924;g[Xa+9820>>2]=97.40908813476562;g[Da>>2]=0.0;c[Ta>>2]=0;g[oa>>2]=0.0;d=(c[Wa>>2]|0)+6864|0;c[d>>2]=(c[d>>2]|0)+1;if(20<(1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0))j=20;else j=1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0;g[za>>2]=1.0/+(j|0);if(50<(1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0))j=50;else j=1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0;g[ra>>2]=1.0/+(j|0);if(1e3<(1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0))j=1e3;else j=1+(c[(c[Wa>>2]|0)+6868>>2]|0)|0;g[ja>>2]=1.0/+(j|0);if((c[(c[Wa>>2]|0)+6868>>2]|0)<4)g[(c[Wa>>2]|0)+6844>>2]=.5;c[O>>2]=c[(c[o>>2]|0)+64+8>>2];if(!(c[(c[Wa>>2]|0)+6868>>2]|0))c[(c[Wa>>2]|0)+5764>>2]=240;if((c[P>>2]|0)<(720-(c[(c[Wa>>2]|0)+5764>>2]|0)|0))j=c[P>>2]|0;else j=720-(c[(c[Wa>>2]|0)+5764>>2]|0)|0;ba[c[M>>2]&3](c[V>>2]|0,(c[Wa>>2]|0)+2884+(c[(c[Wa>>2]|0)+5764>>2]<<2)|0,j,c[S>>2]|0,c[D>>2]|0,c[E>>2]|0,c[q>>2]|0);if(((c[(c[Wa>>2]|0)+5764>>2]|0)+(c[P>>2]|0)|0)<720){Wa=(c[Wa>>2]|0)+5764|0;c[Wa>>2]=(c[Wa>>2]|0)+(c[P>>2]|0);l=Xa;return}d=(c[Wa>>2]|0)+8516|0;a=(c[Wa>>2]|0)+8504|0;o=c[a>>2]|0;c[a>>2]=o+1;c[Va>>2]=d+(o*28|0);if((c[(c[Wa>>2]|0)+8504>>2]|0)>=200){o=(c[Wa>>2]|0)+8504|0;c[o>>2]=(c[o>>2]|0)-200}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=(c[r>>2]|0))break;g[U>>2]=+g[18176+(c[Fa>>2]<<2)>>2];g[N+(c[Fa>>2]<<3)>>2]=+g[U>>2]*+g[(c[Wa>>2]|0)+2884+(c[Fa>>2]<<2)>>2];g[N+(c[Fa>>2]<<3)+4>>2]=+g[U>>2]*+g[(c[Wa>>2]|0)+2884+((c[r>>2]|0)+(c[Fa>>2]|0)<<2)>>2];g[N+((c[ia>>2]|0)-(c[Fa>>2]|0)-1<<3)>>2]=+g[U>>2]*+g[(c[Wa>>2]|0)+2884+((c[ia>>2]|0)-(c[Fa>>2]|0)-1<<2)>>2];g[N+((c[ia>>2]|0)-(c[Fa>>2]|0)-1<<3)+4>>2]=+g[U>>2]*+g[(c[Wa>>2]|0)+2884+((c[ia>>2]|0)+(c[r>>2]|0)-(c[Fa>>2]|0)-1<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}$i((c[Wa>>2]|0)+2884|0,(c[Wa>>2]|0)+2884+2880+-960|0,960|0)|0;c[T>>2]=(c[P>>2]|0)-(720-(c[(c[Wa>>2]|0)+5764>>2]|0));ba[c[M>>2]&3](c[V>>2]|0,(c[Wa>>2]|0)+2884+960|0,c[T>>2]|0,(c[S>>2]|0)+720-(c[(c[Wa>>2]|0)+5764>>2]|0)|0,c[D>>2]|0,c[E>>2]|0,c[q>>2]|0);c[(c[Wa>>2]|0)+5764>>2]=240+(c[T>>2]|0);lc(c[O>>2]|0,N,qa);if(+g[qa>>2]!=+g[qa>>2]){c[c[Va>>2]>>2]=0;l=Xa;return}c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=(c[r>>2]|0))break;g[t>>2]=+g[qa+(c[Fa>>2]<<3)>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2];g[s>>2]=+g[qa+(c[Fa>>2]<<3)+4>>2]-+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[v>>2]=+g[qa+(c[Fa>>2]<<3)+4>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[u>>2]=+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2]-+g[qa+(c[Fa>>2]<<3)>>2];g[w>>2]=+Ni(+g[s>>2],+g[t>>2])*.15915493667125702;g[J>>2]=+g[w>>2]-+g[(c[p>>2]|0)+(c[Fa>>2]<<2)>>2];g[G>>2]=+g[J>>2]-+g[(c[I>>2]|0)+(c[Fa>>2]<<2)>>2];g[x>>2]=+Ni(+g[u>>2],+g[v>>2])*.15915493667125702;g[K>>2]=+g[x>>2]-+g[w>>2];g[H>>2]=+g[K>>2]-+g[J>>2];g[Q>>2]=+g[G>>2]-+z(+(+g[G>>2]+.5));n=+A(+(+g[Q>>2]));g[ca+(c[Fa>>2]<<2)>>2]=n;g[Q>>2]=+g[Q>>2]*+g[Q>>2];g[Q>>2]=+g[Q>>2]*+g[Q>>2];g[R>>2]=+g[H>>2]-+z(+(+g[H>>2]+.5));n=+A(+(+g[R>>2]));V=ca+(c[Fa>>2]<<2)|0;g[V>>2]=+g[V>>2]+n;g[R>>2]=+g[R>>2]*+g[R>>2];g[R>>2]=+g[R>>2]*+g[R>>2];g[y>>2]=(+g[(c[F>>2]|0)+(c[Fa>>2]<<2)>>2]+ +g[Q>>2]*2.0+ +g[R>>2])*.25;g[fa+(c[Fa>>2]<<2)>>2]=1.0/(+g[y>>2]*62341.81640625+1.0)-.014999999664723873;g[(c[p>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[x>>2];g[(c[I>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[K>>2];g[(c[F>>2]|0)+(c[Fa>>2]<<2)>>2]=+g[R>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[Ca>>2]=0.0;g[va>>2]=0.0;g[(c[Va>>2]|0)+16>>2]=0.0;g[Ua>>2]=0.0;g[Ba>>2]=0.0;a:do if(!(c[(c[Wa>>2]|0)+6868>>2]|0)){c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=18)break a;g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]=1.0e10;g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]=-1.0e10;c[sa>>2]=(c[sa>>2]|0)+1}}while(0);g[wa>>2]=0.0;g[ta>>2]=0.0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=18)break;g[W>>2]=0.0;g[ea>>2]=0.0;g[aa>>2]=0.0;c[Fa>>2]=c[19136+(c[sa>>2]<<2)>>2];while(1){if((c[Fa>>2]|0)>=(c[19136+((c[sa>>2]|0)+1<<2)>>2]|0))break;g[_>>2]=+g[qa+(c[Fa>>2]<<3)>>2]*+g[qa+(c[Fa>>2]<<3)>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2]*+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2]+ +g[qa+(c[Fa>>2]<<3)+4>>2]*+g[qa+(c[Fa>>2]<<3)+4>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2]*+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[W>>2]=+g[W>>2]+ +g[_>>2];g[ea>>2]=+g[ea>>2]+ +g[_>>2]*+g[fa+(c[Fa>>2]<<2)>>2];g[aa>>2]=+g[aa>>2]+ +g[_>>2]*2.0*(.5-+g[ca+(c[Fa>>2]<<2)>>2]);c[Fa>>2]=(c[Fa>>2]|0)+1}if(!(+g[W>>2]<1.0e9)){ga=37;break}if(+g[W>>2]!=+g[W>>2]){ga=37;break}g[(c[Wa>>2]|0)+5844+((c[(c[Wa>>2]|0)+6856>>2]|0)*72|0)+(c[sa>>2]<<2)>>2]=+g[W>>2];g[Ua>>2]=+g[Ua>>2]+ +g[aa>>2]/(+g[W>>2]+1.0000000036274937e-15);n=+B(+(+g[W>>2]+1.000000013351432e-10));g[ta>>2]=+g[ta>>2]+n;n=+L(+(+g[W>>2]+1.000000013351432e-10));g[ua+(c[sa>>2]<<2)>>2]=n;if(+g[ua+(c[sa>>2]<<2)>>2]<+g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]+.009999999776482582)n=+g[ua+(c[sa>>2]<<2)>>2];else n=+g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]+.009999999776482582;g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]=n;if(+g[ua+(c[sa>>2]<<2)>>2]>+g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]-.10000000149011612)n=+g[ua+(c[sa>>2]<<2)>>2];else n=+g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]-.10000000149011612;g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]=n;if(+g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]<+g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]+1.0){V=(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)|0;g[V>>2]=+g[V>>2]+.5;V=(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)|0;g[V>>2]=+g[V>>2]-.5}g[wa>>2]=+g[wa>>2]+(+g[ua+(c[sa>>2]<<2)>>2]-+g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2])/(+g[(c[Wa>>2]|0)+6492+(c[sa>>2]<<2)>>2]+1.0000000036274937e-15-+g[(c[Wa>>2]|0)+6420+(c[sa>>2]<<2)>>2]);g[Y>>2]=0.0;g[X>>2]=0.0;c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;n=+B(+(+g[(c[Wa>>2]|0)+5844+((c[Fa>>2]|0)*72|0)+(c[sa>>2]<<2)>>2]));g[X>>2]=+g[X>>2]+n;g[Y>>2]=+g[Y>>2]+ +g[(c[Wa>>2]|0)+5844+((c[Fa>>2]|0)*72|0)+(c[sa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}if(.9900000095367432<+g[X>>2]/+B(+(+g[Y>>2]*8.0+1.0e-15)))n=.9900000095367432;else n=+g[X>>2]/+B(+(+g[Y>>2]*8.0+1.0e-15));g[da>>2]=n;g[da>>2]=+g[da>>2]*+g[da>>2];g[da>>2]=+g[da>>2]*+g[da>>2];g[Ba>>2]=+g[Ba>>2]+ +g[da>>2];if(+g[ea>>2]/(+g[W>>2]+1.0000000036274937e-15)>+g[da>>2]*+g[(c[Wa>>2]|0)+5768+(c[sa>>2]<<2)>>2])n=+g[ea>>2]/(+g[W>>2]+1.0000000036274937e-15);else n=+g[da>>2]*+g[(c[Wa>>2]|0)+5768+(c[sa>>2]<<2)>>2];g[Z+(c[sa>>2]<<2)>>2]=n;g[Ca>>2]=+g[Ca>>2]+ +g[Z+(c[sa>>2]<<2)>>2];if((c[sa>>2]|0)>=9)g[Ca>>2]=+g[Ca>>2]-+g[Z+((c[sa>>2]|0)-18+9<<2)>>2];if(+g[va>>2]>(+((c[sa>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Ca>>2])n=+g[va>>2];else n=(+((c[sa>>2]|0)-18|0)*.029999999329447746+1.0)*+g[Ca>>2];g[va>>2]=n;g[Da>>2]=+g[Da>>2]+ +g[Z+(c[sa>>2]<<2)>>2]*+((c[sa>>2]|0)-8|0);g[(c[Wa>>2]|0)+5768+(c[sa>>2]<<2)>>2]=+g[Z+(c[sa>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1}if((ga|0)==37){c[c[Va>>2]>>2]=0;l=Xa;return}g[ma>>2]=0.0;c[Ta>>2]=0;g[oa>>2]=0.0;g[pa>>2]=5.699999746866524e-04/+(1<<(0>((c[$>>2]|0)-8|0)?0:(c[$>>2]|0)-8|0)|0);g[pa>>2]=+g[pa>>2]*+g[pa>>2];c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=21)break;g[ha>>2]=0.0;c[la>>2]=c[19212+(c[sa>>2]<<2)>>2];c[ka>>2]=c[19212+((c[sa>>2]|0)+1<<2)>>2];c[Fa>>2]=c[la>>2];while(1){if((c[Fa>>2]|0)>=(c[ka>>2]|0))break;g[na>>2]=+g[qa+(c[Fa>>2]<<3)>>2]*+g[qa+(c[Fa>>2]<<3)>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2]*+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)>>2]+ +g[qa+(c[Fa>>2]<<3)+4>>2]*+g[qa+(c[Fa>>2]<<3)+4>>2]+ +g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2]*+g[qa+((c[ia>>2]|0)-(c[Fa>>2]|0)<<3)+4>>2];g[ha>>2]=+g[ha>>2]+ +g[na>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[oa>>2]=+g[oa>>2]>+g[ha>>2]?+g[oa>>2]:+g[ha>>2];if((1.0-+g[ja>>2])*+g[(c[Wa>>2]|0)+6564+(c[sa>>2]<<2)>>2]>+g[ha>>2])n=(1.0-+g[ja>>2])*+g[(c[Wa>>2]|0)+6564+(c[sa>>2]<<2)>>2];else n=+g[ha>>2];g[(c[Wa>>2]|0)+6564+(c[sa>>2]<<2)>>2]=n;if(+g[ha>>2]>+g[(c[Wa>>2]|0)+6564+(c[sa>>2]<<2)>>2])n=+g[ha>>2];else n=+g[(c[Wa>>2]|0)+6564+(c[sa>>2]<<2)>>2];g[ha>>2]=n;g[ma>>2]=+g[ma>>2]*.05000000074505806>+g[ha>>2]?+g[ma>>2]*.05000000074505806:+g[ha>>2];if((+g[ha>>2]>+g[ma>>2]*.1?+g[ha>>2]*1.0e9>+g[oa>>2]:0)?+g[ha>>2]>+g[pa>>2]*+((c[ka>>2]|0)-(c[la>>2]|0)|0):0)c[Ta>>2]=c[sa>>2];c[sa>>2]=(c[sa>>2]|0)+1}if((c[(c[Wa>>2]|0)+6868>>2]|0)<=2)c[Ta>>2]=20;g[ta>>2]=+Ti(+g[ta>>2])*20.0;if(+g[(c[Wa>>2]|0)+6848>>2]-.029999999329447746>+g[ta>>2])n=+g[(c[Wa>>2]|0)+6848>>2]-.029999999329447746;else n=+g[ta>>2];g[(c[Wa>>2]|0)+6848>>2]=n;qa=(c[Wa>>2]|0)+6852|0;g[qa>>2]=+g[qa>>2]*(1.0-+g[ra>>2]);if(+g[ta>>2]<+g[(c[Wa>>2]|0)+6848>>2]-30.0){ta=(c[Wa>>2]|0)+6852|0;g[ta>>2]=+g[ta>>2]+ +g[ra>>2]}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;g[xa>>2]=0.0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=16)break;g[xa>>2]=+g[xa>>2]+ +g[19300+((c[Fa>>2]<<4)+(c[sa>>2]|0)<<2)>>2]*+g[ua+(c[sa>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1}g[ya+(c[Fa>>2]<<2)>>2]=+g[xa>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[Ba>>2]=+g[Ba>>2]/18.0;n=+g[wa>>2]/18.0;g[wa>>2]=n;g[wa>>2]=(c[(c[Wa>>2]|0)+6868>>2]|0)<10?.5:n;g[Ua>>2]=+g[Ua>>2]/18.0;g[(c[Va>>2]|0)+16>>2]=+g[Ua>>2]+(1.0-+g[Ua>>2])*+g[wa>>2];g[Ca>>2]=+g[va>>2]/9.0;if(+g[Ca>>2]>+g[(c[Wa>>2]|0)+5840>>2]*.800000011920929)n=+g[Ca>>2];else n=+g[(c[Wa>>2]|0)+5840>>2]*.800000011920929;g[Ca>>2]=n;g[(c[Wa>>2]|0)+5840>>2]=+g[Ca>>2];g[Da>>2]=+g[Da>>2]/64.0;g[(c[Va>>2]|0)+8>>2]=+g[Da>>2];c[(c[Wa>>2]|0)+6856>>2]=((c[(c[Wa>>2]|0)+6856>>2]|0)+1|0)%8|0;Da=(c[Wa>>2]|0)+6868|0;c[Da>>2]=(c[Da>>2]|0)+1;g[(c[Va>>2]|0)+4>>2]=+g[Ca>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[Aa+(c[Fa>>2]<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]+ +g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*-.12298999726772308+(+g[(c[Wa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]+ +g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.49195000529289246+ +g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]*.6969299912452698-+g[(c[Wa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]*1.4349000453948975;c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[(c[Wa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]=(1.0-+g[za>>2])*+g[(c[Wa>>2]|0)+6776+(c[Fa>>2]<<2)>>2]+ +g[za>>2]*+g[ya+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=4)break;g[Aa+(4+(c[Fa>>2]|0)<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]-+g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*.6324599981307983+(+g[(c[Wa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]-+g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.31622999906539917;c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=3)break;g[Aa+(8+(c[Fa>>2]|0)<<2)>>2]=(+g[ya+(c[Fa>>2]<<2)>>2]+ +g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2])*.5345199704170227-(+g[(c[Wa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]+ +g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2])*.26725998520851135-+g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]*.5345199704170227;c[Fa>>2]=(c[Fa>>2]|0)+1}b:do if((c[(c[Wa>>2]|0)+6868>>2]|0)>5){c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=9)break b;g[(c[Wa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]=(1.0-+g[za>>2])*+g[(c[Wa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]+ +g[za>>2]*+g[Aa+(c[Fa>>2]<<2)>>2]*+g[Aa+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}}while(0);c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=8)break;g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+24<<2)>>2]=+g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2];g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+16<<2)>>2]=+g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2];g[(c[Wa>>2]|0)+6648+((c[Fa>>2]|0)+8<<2)>>2]=+g[(c[Wa>>2]|0)+6648+(c[Fa>>2]<<2)>>2];g[(c[Wa>>2]|0)+6648+(c[Fa>>2]<<2)>>2]=+g[ya+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=9)break;n=+B(+(+g[(c[Wa>>2]|0)+6808+(c[Fa>>2]<<2)>>2]));g[Aa+(11+(c[Fa>>2]|0)<<2)>>2]=n;c[Fa>>2]=(c[Fa>>2]|0)+1}g[Aa+80>>2]=+g[(c[Va>>2]|0)+4>>2];g[Aa+84>>2]=+g[(c[Va>>2]|0)+16>>2];g[Aa+88>>2]=+g[Ba>>2];g[Aa+92>>2]=+g[(c[Va>>2]|0)+8>>2];g[Aa+96>>2]=+g[(c[Wa>>2]|0)+6852>>2];Oi(20616,Aa,Ra);g[Ra>>2]=(+g[Ra>>2]+1.0)*.5;g[Ra>>2]=+g[Ra>>2]*1.2100000381469727*+g[Ra>>2]+.009999999776482582-+C(+(+g[Ra>>2]),10.0)*.23000000417232513;g[Ra+4>>2]=+g[Ra+4>>2]*.5+.5;g[Ra>>2]=+g[Ra+4>>2]*+g[Ra>>2]+(1.0-+g[Ra+4>>2])*.5;g[Pa>>2]=+g[Ra+4>>2]*4.999999873689376e-05;g[Ea>>2]=.05000000074505806;if(.05000000074505806>(.949999988079071<+g[Ra>>2]?.949999988079071:+g[Ra>>2]))n=.05000000074505806;else n=.949999988079071<+g[Ra>>2]?.949999988079071:+g[Ra>>2];g[Ia>>2]=n;if(.949999988079071<+g[(c[Wa>>2]|0)+6844>>2])n=.949999988079071;else n=+g[(c[Wa>>2]|0)+6844>>2];if(!(.05000000074505806>n))if(.949999988079071<+g[(c[Wa>>2]|0)+6844>>2])n=.949999988079071;else n=+g[(c[Wa>>2]|0)+6844>>2];else n=.05000000074505806;g[Ma>>2]=n;n=+A(+(+g[Ia>>2]-+g[Ma>>2]))*.05000000074505806;g[Ea>>2]=n/(+g[Ia>>2]*(1.0-+g[Ma>>2])+ +g[Ma>>2]*(1.0-+g[Ia>>2]))+.009999999776482582;g[Ja>>2]=(1.0-+g[(c[Wa>>2]|0)+6844>>2])*(1.0-+g[Pa>>2])+ +g[(c[Wa>>2]|0)+6844>>2]*+g[Pa>>2];g[Ka>>2]=+g[(c[Wa>>2]|0)+6844>>2]*(1.0-+g[Pa>>2])+(1.0-+g[(c[Wa>>2]|0)+6844>>2])*+g[Pa>>2];n=+C(+(1.0-+g[Ra>>2]),+(+g[Ea>>2]));g[Ja>>2]=+g[Ja>>2]*n;n=+C(+(+g[Ra>>2]),+(+g[Ea>>2]));g[Ka>>2]=+g[Ka>>2]*n;g[(c[Wa>>2]|0)+6844>>2]=+g[Ka>>2]/(+g[Ja>>2]+ +g[Ka>>2]);g[(c[Va>>2]|0)+20>>2]=+g[(c[Wa>>2]|0)+6844>>2];g[La>>2]=9.999999682655225e-21;g[Oa>>2]=+C(+(1.0-+g[Ra>>2]),+(+g[Ea>>2]));g[Ha>>2]=+C(+(+g[Ra>>2]),+(+g[Ea>>2]));if((c[(c[Wa>>2]|0)+6868>>2]|0)==1){g[(c[Wa>>2]|0)+6888>>2]=.5;g[(c[Wa>>2]|0)+7688>>2]=.5}g[Na>>2]=+g[(c[Wa>>2]|0)+6888>>2]+ +g[(c[Wa>>2]|0)+6888+4>>2];g[Ga>>2]=+g[(c[Wa>>2]|0)+7688>>2]+ +g[(c[Wa>>2]|0)+7688+4>>2];g[(c[Wa>>2]|0)+6888>>2]=+g[Na>>2]*(1.0-+g[Pa>>2])*+g[Oa>>2];g[(c[Wa>>2]|0)+7688>>2]=+g[Ga>>2]*(1.0-+g[Pa>>2])*+g[Ha>>2];c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=199)break;g[(c[Wa>>2]|0)+6888+(c[Fa>>2]<<2)>>2]=+g[(c[Wa>>2]|0)+6888+((c[Fa>>2]|0)+1<<2)>>2]*+g[Oa>>2];g[(c[Wa>>2]|0)+7688+(c[Fa>>2]<<2)>>2]=+g[(c[Wa>>2]|0)+7688+((c[Fa>>2]|0)+1<<2)>>2]*+g[Ha>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[(c[Wa>>2]|0)+6888+796>>2]=+g[Ga>>2]*+g[Pa>>2]*+g[Oa>>2];g[(c[Wa>>2]|0)+7688+796>>2]=+g[Na>>2]*+g[Pa>>2]*+g[Ha>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+(+g[(c[Wa>>2]|0)+6888+(c[Fa>>2]<<2)>>2]+ +g[(c[Wa>>2]|0)+7688+(c[Fa>>2]<<2)>>2]);c[Fa>>2]=(c[Fa>>2]|0)+1}g[La>>2]=1.0/+g[La>>2];c[Fa>>2]=0;while(1){if((c[Fa>>2]|0)>=200)break;Pa=(c[Wa>>2]|0)+6888+(c[Fa>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];Pa=(c[Wa>>2]|0)+7688+(c[Fa>>2]<<2)|0;g[Pa>>2]=+g[Pa>>2]*+g[La>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}g[La>>2]=+g[(c[Wa>>2]|0)+7688>>2];c[Fa>>2]=1;while(1){if((c[Fa>>2]|0)>=200)break;g[La>>2]=+g[La>>2]+ +g[(c[Wa>>2]|0)+6888+(c[Fa>>2]<<2)>>2];c[Fa>>2]=(c[Fa>>2]|0)+1}j=c[Wa>>2]|0;do if(+g[Ra+4>>2]>.75){if(+g[j+6844>>2]>.9){Oa=(c[Wa>>2]|0)+8500|0;Pa=(c[Oa>>2]|0)+1|0;c[Oa>>2]=Pa;g[Qa>>2]=1.0/+(Pa|0);if((c[(c[Wa>>2]|0)+8500>>2]|0)<500)j=c[(c[Wa>>2]|0)+8500>>2]|0;else j=500;c[(c[Wa>>2]|0)+8500>>2]=j;if(-.20000000298023224>+g[Ra>>2]-+g[(c[Wa>>2]|0)+8492>>2])n=-.20000000298023224;else n=+g[Ra>>2]-+g[(c[Wa>>2]|0)+8492>>2];Pa=(c[Wa>>2]|0)+8492|0;g[Pa>>2]=+g[Pa>>2]+ +g[Qa>>2]*n}if(!(+g[(c[Wa>>2]|0)+6844>>2]<.1))break;Pa=(c[Wa>>2]|0)+8496|0;Qa=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Qa;g[Sa>>2]=1.0/+(Qa|0);if((c[(c[Wa>>2]|0)+8496>>2]|0)<500)j=c[(c[Wa>>2]|0)+8496>>2]|0;else j=500;c[(c[Wa>>2]|0)+8496>>2]=j;if(.20000000298023224<+g[Ra>>2]-+g[(c[Wa>>2]|0)+8488>>2])n=.20000000298023224;else n=+g[Ra>>2]-+g[(c[Wa>>2]|0)+8488>>2];Ra=(c[Wa>>2]|0)+8488|0;g[Ra>>2]=+g[Ra>>2]+ +g[Sa>>2]*n}else{if(!(c[j+8500>>2]|0))g[(c[Wa>>2]|0)+8492>>2]=.8999999761581421;if(c[(c[Wa>>2]|0)+8496>>2]|0)break;g[(c[Wa>>2]|0)+8488>>2]=.10000000149011612}while(0);if((c[(c[Wa>>2]|0)+6860>>2]|0)!=(+g[(c[Wa>>2]|0)+6844>>2]>.5|0))c[(c[Wa>>2]|0)+6864>>2]=0;c[(c[Wa>>2]|0)+6860>>2]=+g[(c[Wa>>2]|0)+6844>>2]>.5&1;c[(c[Va>>2]|0)+24>>2]=c[Ta>>2];g[(c[Va>>2]|0)+12>>2]=+g[Ua>>2];c[c[Va>>2]>>2]=1;l=Xa;return}function Ni(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;i=k+20|0;f=k+16|0;h=k+12|0;j=k+8|0;c=k+4|0;d=k;g[i>>2]=a;g[f>>2]=b;a=+A(+(+g[f>>2]));if(a+ +A(+(+g[i>>2]))<9.999999717180685e-10){g[f>>2]=+g[f>>2]*999999995904.0;g[i>>2]=+g[i>>2]*999999995904.0}g[h>>2]=+g[f>>2]*+g[f>>2];g[j>>2]=+g[i>>2]*+g[i>>2];if(+g[h>>2]<+g[j>>2]){g[c>>2]=(+g[j>>2]+ +g[h>>2]*.6784840226173401)*(+g[j>>2]+ +g[h>>2]*.0859554186463356);if(+g[c>>2]!=0.0){g[e>>2]=-+g[f>>2]*+g[i>>2]*(+g[j>>2]+ +g[h>>2]*.43157973885536194)/+g[c>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}else{g[e>>2]=+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866;a=+g[e>>2];l=k;return +a}}else{g[d>>2]=(+g[h>>2]+ +g[j>>2]*.6784840226173401)*(+g[h>>2]+ +g[j>>2]*.0859554186463356);if(+g[d>>2]!=0.0){g[e>>2]=+g[f>>2]*+g[i>>2]*(+g[h>>2]+ +g[j>>2]*.43157973885536194)/+g[d>>2]+(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[f>>2]*+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}else{g[e>>2]=(+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866)-(+g[f>>2]*+g[i>>2]<0.0?-1.5707963705062866:1.5707963705062866);a=+g[e>>2];l=k;return +a}}return 0.0}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+448|0;o=r+436|0;f=r+432|0;p=r+428|0;m=r+424|0;k=r+24|0;j=r+16|0;h=r+12|0;i=r+8|0;n=r+4|0;q=r;c[o>>2]=a;c[f>>2]=b;c[p>>2]=d;c[j>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[o>>2]|0)+4>>2]|0)+4>>2]|0))break;d=c[j>>2]|0;c[j>>2]=d+4;g[i>>2]=+g[d>>2];c[h>>2]=0;while(1){e=+g[i>>2];if((c[h>>2]|0)>=(c[c[(c[o>>2]|0)+4>>2]>>2]|0))break;s=+g[(c[f>>2]|0)+(c[h>>2]<<2)>>2];d=c[j>>2]|0;c[j>>2]=d+4;g[i>>2]=e+s*+g[d>>2];c[h>>2]=(c[h>>2]|0)+1}s=+Pi(e);g[k+(c[m>>2]<<2)>>2]=s;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[o>>2]|0)+4>>2]|0)+8>>2]|0))break;i=c[j>>2]|0;c[j>>2]=i+4;g[q>>2]=+g[i>>2];c[n>>2]=0;while(1){e=+g[q>>2];if((c[n>>2]|0)>=(c[(c[(c[o>>2]|0)+4>>2]|0)+4>>2]|0))break;s=+g[k+(c[n>>2]<<2)>>2];i=c[j>>2]|0;c[j>>2]=i+4;g[q>>2]=e+s*+g[i>>2];c[n>>2]=(c[n>>2]|0)+1}s=+Pi(e);g[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=s;c[m>>2]=(c[m>>2]|0)+1}l=r;return}function Pi(a){a=+a;var b=0,d=0,e=0,f=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;h=j+16|0;d=j+12|0;i=j+8|0;b=j+4|0;f=j;g[h>>2]=a;g[f>>2]=1.0;if(!(+g[h>>2]<8.0)){g[e>>2]=1.0;a=+g[e>>2];l=j;return +a}if(!(+g[h>>2]>-8.0)){g[e>>2]=-1.0;a=+g[e>>2];l=j;return +a}if(+g[h>>2]!=+g[h>>2]){g[e>>2]=0.0;a=+g[e>>2];l=j;return +a}if(+g[h>>2]<0.0){g[h>>2]=-+g[h>>2];g[f>>2]=-1.0}c[d>>2]=~~+z(+(+g[h>>2]*25.0+.5));g[h>>2]=+g[h>>2]-+(c[d>>2]|0)*.03999999910593033;g[i>>2]=+g[19812+(c[d>>2]<<2)>>2];g[b>>2]=1.0-+g[i>>2]*+g[i>>2];g[i>>2]=+g[i>>2]+ +g[h>>2]*+g[b>>2]*(1.0-+g[i>>2]*+g[h>>2]);g[e>>2]=+g[f>>2]*+g[i>>2];a=+g[e>>2];l=j;return +a}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=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;x=l;l=l+16|0;o=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;n=c[7631]|0;d=n>>>a;if(d&3|0){e=(d&1^1)+a|0;f=30564+(e<<1<<2)|0;b=f+8|0;a=c[b>>2]|0;g=a+8|0;d=c[g>>2]|0;if((d|0)==(f|0))c[7631]=n&~(1<>2]=f;c[b>>2]=d}w=e<<3;c[a+4>>2]=w|3;w=a+w+4|0;c[w>>2]=c[w>>2]|1;w=g;l=x;return w|0}m=c[7633]|0;if(k>>>0>m>>>0){if(d|0){i=2<>>12&16;d=d>>>i;a=d>>>5&8;d=d>>>a;g=d>>>2&4;d=d>>>g;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=(a|i|g|b|e)+(d>>>e)|0;d=30564+(e<<1<<2)|0;b=d+8|0;g=c[b>>2]|0;i=g+8|0;a=c[i>>2]|0;if((a|0)==(d|0)){a=n&~(1<>2]=d;c[b>>2]=a;a=n}w=e<<3;h=w-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(m|0){e=c[7636]|0;b=m>>>3;d=30564+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[7633]=h;c[7636]=f;w=i;l=x;return w|0}i=c[7632]|0;if(i){d=(i&0-i)+-1|0;h=d>>>12&16;d=d>>>h;g=d>>>5&8;d=d>>>g;j=d>>>2&4;d=d>>>j;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[30828+((g|h|j|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-k|0;a=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=d;h=e}else{do{h=(c[a+4>>2]&-8)-k|0;j=h>>>0>>0;d=j?h:d;e=j?a:e;a=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=d;h=e}g=h+k|0;if(g>>>0>h>>>0){f=c[h+24>>2]|0;b=c[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=c[a>>2]|0;if(!b){a=h+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(d|0){b=d;a=e;continue}e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[h+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[h+28>>2]|0;a=30828+(b<<2)|0;if((h|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[7632]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[h+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[h+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){w=j+k|0;c[h+4>>2]=w|3;w=h+w+4|0;c[w>>2]=c[w>>2]|1}else{c[h+4>>2]=k|3;c[g+4>>2]=j|1;c[g+j>>2]=j;if(m|0){e=c[7636]|0;b=m>>>3;d=30564+(b<<1<<2)|0;b=1<>2]|0}c[b>>2]=e;c[a+12>>2]=e;c[e+8>>2]=a;c[e+12>>2]=d}c[7633]=j;c[7636]=g}w=h+8|0;l=x;return w|0}else n=k}else n=k}else n=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[7632]|0;if(e){d=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{n=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(m|n|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=c[30828+(j<<2)>>2]|0;a:do if(!a){f=0;a=0;v=57}else{f=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(c[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){d=0;f=i;a=i;v=61;break a}else{d=g;a=i}g=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;f=(g|0)==0|(g|0)==(i|0)?f:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;m=a>>>2&4;a=a>>>m;n=a>>>1&2;a=a>>>n;f=a>>>1&1;f=c[30828+((i|j|m|n|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else v=61}if((v|0)==61)while(1){v=0;m=(c[f+4>>2]&-8)-k|0;n=m>>>0>>0;d=n?m:d;a=n?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){i=d;j=a;break}else v=61}if((j|0)!=0?i>>>0<((c[7633]|0)-k|0)>>>0:0){h=j+k|0;if(h>>>0<=j>>>0){w=0;l=x;return w|0}g=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|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){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(d|0){b=d;a=f;continue}f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}c[a>>2]=0}else{w=c[j+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(g){a=c[j+28>>2]|0;d=30828+(a<<2)|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);do if(i>>>0>=16){c[j+4>>2]=k|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<>2]|0}c[b>>2]=h;c[a+12>>2]=h;c[h+8>>2]=a;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=30828+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(i|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=h;c[v>>2]=h;c[h+8>>2]=w;c[h+12>>2]=d;c[h+24>>2]=0;break}}else{w=i+k|0;c[j+4>>2]=w|3;w=j+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=j+8|0;l=x;return w|0}else n=k}else n=k}else n=-1;while(0);d=c[7633]|0;if(d>>>0>=n>>>0){a=d-n|0;b=c[7636]|0;if(a>>>0>15){w=b+n|0;c[7636]=w;c[7633]=a;c[w+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=n|3}else{c[7633]=0;c[7636]=0;c[b+4>>2]=d|3;w=b+d+4|0;c[w>>2]=c[w>>2]|1}w=b+8|0;l=x;return w|0}h=c[7634]|0;if(h>>>0>n>>>0){u=h-n|0;c[7634]=u;w=c[7637]|0;v=w+n|0;c[7637]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[7749]|0)){c[7751]=4096;c[7750]=4096;c[7752]=-1;c[7753]=-1;c[7754]=0;c[7742]=0;c[7749]=o&-16^1431655768;a=4096}else a=c[7751]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;k=g&e;if(k>>>0<=n>>>0){w=0;l=x;return w|0}a=c[7741]|0;if(a|0?(m=c[7739]|0,o=m+k|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[7742]&4)){d=c[7637]|0;c:do if(d){f=30972;while(1){a=c[f>>2]|0;if(a>>>0<=d>>>0?(r=f+4|0,(a+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[f+8>>2]|0;if(!a){v=118;break c}else f=a}b=g-h&e;if(b>>>0<2147483647){a=dj(b|0)|0;if((a|0)==((c[f>>2]|0)+(c[r>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=dj(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[7750]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+k|0,p=c[7739]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){r=c[7741]|0;if(r|0?q>>>0<=p>>>0|q>>>0>r>>>0:0){b=0;break}a=dj(b|0)|0;if((a|0)==(d|0)){h=d;g=b;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=e;g=b;v=135;break b}a=c[7751]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=e;g=b;v=135;break b}if((dj(a|0)|0)==(-1|0)){dj(d|0)|0;b=0;break}else{h=e;g=a+b|0;v=135;break b}}while(0);c[7742]=c[7742]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(s=dj(k|0)|0,r=dj(0)|0,u=r-s|0,t=u>>>0>(n+40|0)>>>0,!((s|0)==(-1|0)|t^1|s>>>0>>0&((s|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=s;g=t?u:b;v=135}if((v|0)==135){b=(c[7739]|0)+g|0;c[7739]=b;if(b>>>0>(c[7740]|0)>>>0)c[7740]=b;j=c[7637]|0;do if(j){f=30972;while(1){d=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(d+b|0)){v=143;break}a=c[f+8>>2]|0;if(!a)break;else f=a}if(((v|0)==143?(c[f+12>>2]&8|0)==0:0)?h>>>0>j>>>0&d>>>0<=j>>>0:0){c[e>>2]=b+g;w=(c[7634]|0)+g|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[7638]=c[7753];break}if(h>>>0<(c[7635]|0)>>>0)c[7635]=h;a=h+g|0;b=30972;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=30972;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=h;m=b+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[7636]|0)==(b|0)){w=(c[7633]|0)+i|0;c[7633]=w;c[7636]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[7631]=c[7631]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else f=e}else f=d;while(1){e=a+20|0;d=c[e>>2]|0;if(d|0){a=d;f=e;continue}e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;f=e}}c[f>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=30828+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[7632]=c[7632]&~(1<>2]=g;e=b+16|0;d=c[e>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}d=c[e+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<>2]|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=d;break}b=f>>>8;do if(!b)a=0;else{if(f>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(u|v|a)+(w<>>15)|0;a=f>>>(a+7|0)&1|a<<1}while(0);e=30828+(a<<2)|0;c[k+28>>2]=a;b=k+16|0;c[b+4>>2]=0;c[b>>2]=0;b=c[7632]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[7634]|0)+i|0;c[7634]=w;c[7637]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=30972;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=g+-40|0;u=h+8|0;u=(u&7|0)==0?0:0-u&7;v=h+u|0;u=d-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[h+d+4>>2]=40;c[7638]=c[7753];d=a+4|0;c[d>>2]=27;c[b>>2]=c[7743];c[b+4>>2]=c[7744];c[b+8>>2]=c[7745];c[b+12>>2]=c[7746];c[7743]=h;c[7744]=g;c[7746]=0;c[7745]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=30564+(b<<1<<2)|0;a=c[7631]|0;b=1<>2]|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=30828+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[7632]|0;a=1<>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[7635]|0;if((w|0)==0|h>>>0>>0)c[7635]=h;c[7743]=h;c[7744]=g;c[7746]=0;c[7640]=c[7749];c[7639]=-1;c[7644]=30564;c[7643]=30564;c[7646]=30572;c[7645]=30572;c[7648]=30580;c[7647]=30580;c[7650]=30588;c[7649]=30588;c[7652]=30596;c[7651]=30596;c[7654]=30604;c[7653]=30604;c[7656]=30612;c[7655]=30612;c[7658]=30620;c[7657]=30620;c[7660]=30628;c[7659]=30628;c[7662]=30636;c[7661]=30636;c[7664]=30644;c[7663]=30644;c[7666]=30652;c[7665]=30652;c[7668]=30660;c[7667]=30660;c[7670]=30668;c[7669]=30668;c[7672]=30676;c[7671]=30676;c[7674]=30684;c[7673]=30684;c[7676]=30692;c[7675]=30692;c[7678]=30700;c[7677]=30700;c[7680]=30708;c[7679]=30708;c[7682]=30716;c[7681]=30716;c[7684]=30724;c[7683]=30724;c[7686]=30732;c[7685]=30732;c[7688]=30740;c[7687]=30740;c[7690]=30748;c[7689]=30748;c[7692]=30756;c[7691]=30756;c[7694]=30764;c[7693]=30764;c[7696]=30772;c[7695]=30772;c[7698]=30780;c[7697]=30780;c[7700]=30788;c[7699]=30788;c[7702]=30796;c[7701]=30796;c[7704]=30804;c[7703]=30804;c[7706]=30812;c[7705]=30812;w=g+-40|0;u=h+8|0;u=(u&7|0)==0?0:0-u&7;v=h+u|0;u=w-u|0;c[7637]=v;c[7634]=u;c[v+4>>2]=u|1;c[h+w+4>>2]=40;c[7638]=c[7753]}while(0);b=c[7634]|0;if(b>>>0>n>>>0){u=b-n|0;c[7634]=u;w=c[7637]|0;v=w+n|0;c[7637]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(Si()|0)>>2]=12;w=0;l=x;return w|0}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;d=a+-8|0;e=c[7635]|0;a=c[a+-4>>2]|0;b=a&-8;k=d+b|0;do if(!(a&1)){f=c[d>>2]|0;if(!(a&3))return;g=d+(0-f)|0;h=f+b|0;if(g>>>0>>0)return;if((c[7636]|0)==(g|0)){b=k+4|0;a=c[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}c[7633]=h;c[b>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=f>>>3;if(f>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[7631]=c[7631]&~(1<>2]=b;c[b+8>>2]=a;i=g;j=g;b=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){d=g+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else e=d}else e=b;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0;d=a}else{d=c[g+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(f){a=c[g+28>>2]|0;b=30828+(a<<2)|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;if(!d){c[7632]=c[7632]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=d;if(!d){i=g;j=g;b=h;break}}c[d+24>>2]=f;b=g+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a){c[d+20>>2]=a;c[a+24>>2]=d;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=d;j=d}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=c[a>>2]|0;if(!(d&1))return;if(!(d&2)){if((c[7637]|0)==(k|0)){k=(c[7634]|0)+b|0;c[7634]=k;c[7637]=j;c[j+4>>2]=k|1;if((j|0)!=(c[7636]|0))return;c[7636]=0;c[7633]=0;return}if((c[7636]|0)==(k|0)){k=(c[7633]|0)+b|0;c[7633]=k;c[7636]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(d&-8)+b|0;e=d>>>3;do if(d>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[7631]=c[7631]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else e=d}else e=b;while(1){d=a+20|0;b=c[d>>2]|0;if(b|0){a=b;e=d;continue}d=a+16|0;b=c[d>>2]|0;if(!b)break;else{a=b;e=d}}c[e>>2]=0;d=a}else{d=c[k+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[k+28>>2]|0;b=30828+(a<<2)|0;if((c[b>>2]|0)==(k|0)){c[b>>2]=d;if(!d){c[7632]=c[7632]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=k+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}a=c[b+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[7636]|0)){c[7633]=f;return}}else{c[a>>2]=d&-2;c[j+4>>2]=b|1;c[i+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=30564+(a<<1<<2)|0;b=c[7631]|0;a=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=30828+(b<<2)|0;c[j+28>>2]=b;c[j+20>>2]=0;c[j+16>>2]=0;a=c[7632]|0;d=1<>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((a|0)==73){i=d+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=d;c[j+24>>2]=0;break}}else{c[7632]=a|d;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j}while(0);k=(c[7639]|0)+-1|0;c[7639]=k;if(!k)a=30980;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[7639]=-1;return}function Si(){return 31020}function Ti(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;d=c[j>>2]|0;b=c[j+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;b=c[j+4>>2]|0;e=c[j>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[j>>2]=e;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;e=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=e;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function Ui(a){a=+a;return ~~+cj(+a)|0}function Vi(){}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=N(e,f)|0;d=a>>>16;a=(c>>>16)+(N(e,d)|0)|0;e=b>>>16;b=N(e,f)|0;return (y=(a>>>16)+(N(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(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=Wi(e,f)|0;a=y;return (y=(N(b,f)|0)+(N(d,e)|0)+a|a&0,c|0|0)|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>c;return a>>>c|(b&(1<>c-32|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function _i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Y(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $i(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _i(b,c,d)|0;return b|0}function aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bj(a){a=+a;return a>=0.0?+z(a+.5):+M(a-.5)}function cj(a){a=+a;return a-+z(a)!=.5?+bj(a):+bj(a/2.0)*2.0}function dj(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){V()|0;X(12);return -1}c[i>>2]=a;if((a|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=b;X(12);return -1}return b|0}function ej(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ba[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function fj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;R(0)} // EMSCRIPTEN_END_FUNCS var ba=[fj,hi,gi,fj];return{___muldi3:Xi,_bitshift64Ashr:Yi,_free:Ri,_i64Add:Zi,_malloc:Qi,_memcpy:_i,_memmove:$i,_memset:aj,_opus_decode:Xh,_opus_decode_float:ai,_opus_decoder_ctl:bi,_opus_decoder_get_size:Lh,_opus_decoder_init:Nh,_opus_encode:zi,_opus_encode_float:Ai,_opus_encoder_ctl:Bi,_opus_encoder_get_size:ci,_opus_encoder_init:ei,_opus_get_version_string:Ra,_opus_packet_get_nb_samples:_h,_opus_strerror:Qa,_rintf:cj,_sbrk:dj,dynCall_viiiiiii:ej,establishStackSpace:fa,getTempRet0:ia,runPostSets:Vi,setTempRet0:ha,setThrew:ga,stackAlloc:ca,stackRestore:ea,stackSave:da}}) // EMSCRIPTEN_END_ASM (a.c,a.f,buffer);a.___muldi3=X.___muldi3;a._bitshift64Ashr=X._bitshift64Ashr;a._free=X._free;a._i64Add=X._i64Add;a._malloc=X._malloc;a._memcpy=X._memcpy;a._memmove=X._memmove;a._memset=X._memset;a._opus_decode=X._opus_decode;a._opus_decode_float=X._opus_decode_float;a._opus_decoder_ctl=X._opus_decoder_ctl;a._opus_decoder_get_size=X._opus_decoder_get_size; a._opus_decoder_init=X._opus_decoder_init;a._opus_encode=X._opus_encode;a._opus_encode_float=X._opus_encode_float;a._opus_encoder_ctl=X._opus_encoder_ctl;a._opus_encoder_get_size=X._opus_encoder_get_size;a._opus_encoder_init=X._opus_encoder_init;a._opus_get_version_string=X._opus_get_version_string;a._opus_packet_get_nb_samples=X._opus_packet_get_nb_samples;a._opus_strerror=X._opus_strerror;a._rintf=X._rintf;a._sbrk=X._sbrk;a.establishStackSpace=X.establishStackSpace;a.getTempRet0=X.getTempRet0; a.runPostSets=X.runPostSets;a.setTempRet0=X.setTempRet0;a.setThrew=X.setThrew;a.stackAlloc=X.stackAlloc;var na=a.stackRestore=X.stackRestore,ja=a.stackSave=X.stackSave;a.dynCall_viiiiiii=X.dynCall_viiiiiii;a.asm=X; if(U)if((String.prototype.startsWith?U.startsWith(V):0===U.indexOf(V))||("function"===typeof a.locateFile?U=a.locateFile(U):a.memoryInitializerPrefixURL&&(U=a.memoryInitializerPrefixURL+U)),m||n){var oa=a.readBinary(U);z.set(oa,8)}else{var pa=function(){a.readAsync(U,Y,function(){throw"could not load memory initializer "+U;})};P++;a.monitorRunDependencies&&a.monitorRunDependencies(P);var Y=function(b){b.byteLength&&(b=new Uint8Array(b));z.set(b,8);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response; P--;a.monitorRunDependencies&&a.monitorRunDependencies(P);0==P&&(null!==Q&&(clearInterval(Q),Q=null),R&&(b=R,R=null,b()))},qa=r(U);if(qa)Y(qa.buffer);else if(a.memoryInitializerRequest){var ra=function(){var b=a.memoryInitializerRequest,c=b.response;if(200!==b.status&&0!==b.status)if(c=r(a.memoryInitializerRequestURL))c=c.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+b.status+", retrying "+U);pa();return}Y(c)};a.memoryInitializerRequest.response? setTimeout(ra,0):a.memoryInitializerRequest.addEventListener("load",ra)}else pa()}a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};function u(b){this.name="ExitStatus";this.message="Program terminated with exit("+b+")";this.status=b}u.prototype=Error();u.prototype.constructor=u;R=function sa(){a.calledRun||Z();a.calledRun||(R=sa)}; function Z(){function b(){if(!a.calledRun&&(a.calledRun=!0,!x)){ea||(ea=!0,N(aa));N(ba);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var b=a.postRun.shift();da.unshift(b)}N(da)}}if(!(0