>1;t=t+1|0;u=u+1|0}t=(h|0)>1;if(t){if(!s)gb(b,v>>q,h<>q,h<>q,h<=(u|0)){r=0;break}w=h>>1;o=v<<1;Ua(b,o,w);h=w;v=o;a=a|a>>>w;r=r+1|0}while(1){if((r|0)>=(q|0))break;w=d[40+a>>0]|0;Ua(b,e>>r,1<=(e|0))break a;g[l+(r<<2)>>2]=m*+g[b+(r<<2)>>2];r=r+1|0}}while(0);w=a&(1< >2]=f;c[u>>2]=n;p=(c[a>>2]|0)==0;w=c[a+24>>2]|0;if((e|0)==1){Za(a,b,d,f,l);y=1;i=o;return y|0}_a(a,x,b,d,e,y,h,h,k,1,u);r=c[x>>2]|0;t=c[x+16>>2]|0;v=c[x+20>>2]|0;q=+(c[x+4>>2]|0)*30517578125.0e-15;s=+(c[x+8>>2]|0)*30517578125.0e-15;f=(e|0)==2;do if(f){if((t|0)==16384|(t|0)==0)u=0;else u=8;x=(c[y>>2]|0)-u|0;t=(t|0)>8192;y=a+28|0;c[y>>2]=(c[y>>2]|0)-(v+u);v=t?d:b;t=t?b:d;do if(u)if(p){u=uc(w,1)|0;break}else{u=+g[v>>2]*+g[t+4>>2]- +g[v+4>>2]*+g[t>>2]<0.0&1;Ec(w,u,1);break}else u=0;while(0);y=1-(u<<1)|0;h=Xa(a,v,2,x,h,j,k,l,1.0,m,n)|0;g[t>>2]=+(0-y|0)*+g[v+4>>2];g[t+4>>2]=+(y|0)*+g[v>>2];if(p){g[b>>2]=q*+g[b>>2];x=b+4|0;g[x>>2]=q*+g[x>>2];z=s*+g[d>>2];g[d>>2]=z;y=d+4|0;g[y>>2]=s*+g[y>>2];s=+g[b>>2];g[b>>2]=s-z;g[d>>2]=s+ +g[d>>2];s=+g[x>>2];g[x>>2]=s- +g[y>>2];g[y>>2]=s+ +g[y>>2];break}else{y=h;i=o;return y|0}}else{w=c[y>>2]|0;x=(w-(c[x+12>>2]|0)|0)/2|0;n=(w|0)<(x|0);if(((n?w:x)|0)<0)n=0;else n=n?w:x;w=w-n|0;x=a+28|0;v=(c[x>>2]|0)-v|0;c[x>>2]=v;u=c[u>>2]|0;if((n|0)<(w|0)){y=Xa(a,d,e,w,h,0,k,0,s,0,u>>h)|0;v=w+((c[x>>2]|0)-v)|0;if(!((v|0)<=24|(t|0)==16384))n=n+(v+ -24)|0;h=y|(Xa(a,b,e,n,h,j,k,l,1.0,m,u)|0)}else{m=Xa(a,b,e,n,h,j,k,l,1.0,m,u)|0;j=n+((c[x>>2]|0)-v)|0;if(!((j|0)<=24|(t|0)==0))w=w+(j+ -24)|0;h=m|(Xa(a,d,e,w,h,0,k,0,s,0,u>>h)|0)}if(!p){y=h;i=o;return y|0}}while(0);if(!f)$a(b,d,q,e);if(!r){y=h;i=o;return y|0}else b=0;while(1){if((b|0)>=(e|0))break;y=d+(b<<2)|0;g[y>>2]=-+g[y>>2];b=b+1|0}i=o;return h|0}function Za(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;j=(c[a>>2]|0)==0;k=c[a+24>>2]|0;h=(d|0)!=0&1;a=a+28|0;m=0;n=b;while(1){if((c[a>>2]|0)>7){if(j)o=uc(k,1)|0;else{o=+g[n>>2]<0.0&1;Ec(k,o,1)}c[a>>2]=(c[a>>2]|0)+ -8;e=e+ -8|0}else o=0;if(j)g[n>>2]=(o|0)!=0?-1.0:1.0;if((m|0)>=(h|0))break;m=m+1|0;n=d}if(!f){i=l;return}g[f>>2]=+g[b>>2];i=l;return}function _a(a,d,e,f,h,j,k,l,m,n,o){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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;p=i;u=c[a>>2]|0;s=c[a+4>>2]|0;t=c[a+8>>2]|0;v=c[a+12>>2]|0;q=c[a+24>>2]|0;r=c[a+32>>2]|0;z=(b[(c[s+56>>2]|0)+(t<<1)>>1]|0)+(m<<3)|0;y=z>>1;m=(n|0)==0;if(m){v=c[j>>2]|0;x=v;v=bb(h,v,y-4|0,z,n)|0}else{x=c[j>>2]|0;z=bb(h,x,y-((h|0)==2?16:4)|0,z,n)|0;v=(t|0)<(v|0)?z:1}u=(u|0)==0;if(u)y=0;else y=Cd(e,f,n,h,c[a+40>>2]|0)|0;n=jc(q)|0;a:do if((v|0)==1)if(!m){if(u)m=0;else{z=(y|0)>8192;m=z&1;b:do if(z){v=0;while(1){if((v|0)>=(h|0))break b;z=f+(v<<2)|0;g[z>>2]=-+g[z>>2];v=v+1|0}}while(0);cb(s,e,f,r,t,h);x=c[j>>2]|0}if((x|0)>16?(c[a+28>>2]|0)>16:0)if(u){m=rc(q,2)|0;y=0;break}else{Bc(q,m,2);y=0;break}else{m=0;y=0}}else m=0;else{if(u)a=y;else a=($(y,v)|0)+8192>>14;do if(!((m^1)&(h|0)>2)){if((l|0)>1|m^1){l=v+1|0;if(u){m=0;y=Sa((tc(q,l)|0)<<14,v)|0;break a}else{Dc(q,a,l);y=Sa(a<<14,v)|0;break}}x=v>>1;l=x+1|0;w=$(l,l)|0;if(u){a=nc(q,w)|0;if((a|0)<(($(x,l)|0)>>1|0)){z=((Uc(a<<3|1)|0)+ -1|0)>>>1;x=z+1|0;l=x;a=z;x=($(z,x)|0)>>>1}else{x=((v<<1)+2-(Uc((w-a<<3)+ -7|0)|0)|0)>>>1;z=v+1-x|0;l=z;a=x;x=w-(($(z,v+2-x|0)|0)>>1)|0}qc(q,x,x+l|0,w);w=35;break}else{if((a|0)>(x|0)){l=v+1-a|0;x=w-(($(v+1-a|0,v+2-a|0)|0)>>1)|0}else{l=a+1|0;x=($(a,a+1|0)|0)>>1}xc(q,x,x+l|0,w);w=35;break}}else{l=(v|0)/2|0;w=(l*3|0)+3+l|0;if(!u){if((a|0)>(l|0)){x=a+ -1-l+((l*3|0)+3)|0;l=a-l+((l*3|0)+3)|0}else{x=a*3|0;l=(a*3|0)+3|0}xc(q,x,l,w);w=35;break}y=nc(q,w)|0;a=l+1|0;x=a*3|0;if((y|0)<(x|0))a=(y|0)/3|0;else a=a+(y-x)|0;if((a|0)>(l|0)){y=a+ -1-l+x|0;l=a-l+x|0}else{y=a*3|0;l=(a*3|0)+3|0}qc(q,y,l,w);w=35}while(0);if((w|0)==35){y=Sa(a<<14,v)|0;if(u){m=0;break}}if(!m)if(!y){cb(s,e,f,r,t,h);m=0;y=0;break}else{db(e,f,h);m=0;break}else m=0}while(0);q=(jc(q)|0)-n|0;c[j>>2]=(c[j>>2]|0)-q;if(!y){c[o>>2]=c[o>>2]&(1<>2]=m;z=d+4|0;c[z>>2]=w;z=d+8|0;c[z>>2]=l;z=d+12|0;c[z>>2]=x;z=d+16|0;c[z>>2]=y;z=d+20|0;c[z>>2]=q;i=p;return}else if((y|0)==16384){c[o>>2]=c[o>>2]&(1< >2]=m;z=d+4|0;c[z>>2]=w;z=d+8|0;c[z>>2]=l;z=d+12|0;c[z>>2]=x;z=d+16|0;c[z>>2]=y;z=d+20|0;c[z>>2]=q;i=p;return}else{x=(eb(y&65535)|0)<<16>>16;z=(eb(16384-y&65535)|0)<<16>>16;w=x;l=z;x=($((h<<23)+ -8388608>>16,(fb(z,x)|0)<<16>>16)|0)+16384>>15;c[d>>2]=m;z=d+4|0;c[z>>2]=w;z=d+8|0;c[z>>2]=l;z=d+12|0;c[z>>2]=x;z=d+16|0;c[z>>2]=y;z=d+20|0;c[z>>2]=q;i=p;return}}function $a(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0.0,h=0.0,j=0,k=0.0,l=0,m=0.0,n=0;e=i;i=i+16|0;l=e+4|0;j=e;g[l>>2]=0.0;g[j>>2]=0.0;ab(b,a,b,d,l,j);h=+g[l>>2]*c;g[l>>2]=h;k=c*c+ +g[j>>2];h=h*2.0;f=k-h;h=k+h;if(h<.0006000000284984708|f<.0006000000284984708){yj(b|0,a|0,d<<2|0)|0;i=e;return}f=1.0/+P(+f);h=1.0/+P(+h);j=0;while(1){if((j|0)>=(d|0))break;n=a+(j<<2)|0;m=+g[n>>2]*c;l=b+(j<<2)|0;k=+g[l>>2];g[n>>2]=f*(m-k);g[l>>2]=h*(m+k);j=j+1|0}i=e;return}function ab(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0;k=i;l=0;h=0.0;j=0.0;while(1){if((l|0)>=(d|0))break;m=+g[a+(l<<2)>>2];n=h+m*+g[b+(l<<2)>>2];m=j+m*+g[c+(l<<2)>>2];l=l+1|0;h=n;j=m}g[e>>2]=h;g[f>>2]=j;i=k;return}function bb(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=a<<1;f=(f|0)!=0&(a|0)==2?h+ -2|0:h+ -1|0;f=Wa(($(f,d)|0)+c|0,f)|0;e=c-e+ -32|0;e=(e|0)<(f|0)?e:f;if((e|0)<=64){if((e|0)<4){h=1;i=g;return h|0}}else e=64;h=(b[8+((e&7)<<1)>>1]>>14-(e>>3))+1&-2;i=g;return h|0}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 j=0,k=0.0,l=0.0,m=0.0;j=i;k=+g[e+(f<<2)>>2];m=+g[e+((c[a+8>>2]|0)+f<<2)>>2];l=+P(+(k*k+1.0000000036274937e-15+m*m))+1.0000000036274937e-15;k=k/l;l=m/l;f=0;while(1){if((f|0)>=(h|0))break;e=b+(f<<2)|0;g[e>>2]=k*+g[e>>2]+l*+g[d+(f<<2)>>2];f=f+1|0}i=j;return}function db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0.0,j=0.0,k=0;d=i;e=0;while(1){if((e|0)>=(c|0))break;k=a+(e<<2)|0;h=+g[k>>2]*.7071067690849304;f=b+(e<<2)|0;j=+g[f>>2]*.7071067690849304;g[k>>2]=h+j;g[f>>2]=j-h;e=e+1|0}i=d;return}function eb(a){a=a|0;var b=0;a=a<<16>>16;a=(($(a,a)|0)+4096|0)>>>13;b=a<<16>>16;a=32767-a+((($(b,((($(b,((($(a<<16>>16,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+ -501415936>>16)|0)+16384|0)>>>15)+1&65535;return a|0}function fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i;e=32-(vj(b|0)|0)|0;f=32-(vj(a|0)|0)|0;d=a<<15-f<<16>>16;a=b<<15-e<<16>>16;a=(f-e<<11)+(($(d,((($(d,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384>>15)-(($(a,((($(a,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384>>15)|0;i=c;return a|0}function gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0;h=i;j=$(b,d)|0;f=i;i=i+((4*j|0)+15&-16)|0;if(!e){l=0;while(1){if((l|0)>=(d|0))break;k=$(l,b)|0;e=0;while(1){if((e|0)>=(b|0))break;g[f+(k+e<<2)>>2]=+g[a+(($(e,d)|0)+l<<2)>>2];e=e+1|0}l=l+1|0}m=j<<2;yj(a|0,f|0,m|0)|0;i=h;return}l=d+ -2|0;m=0;while(1){if((m|0)>=(d|0))break;k=56+(l+m<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;n=+g[a+(($(e,d)|0)+m<<2)>>2];g[f+(($(c[k>>2]|0,b)|0)+e<<2)>>2]=n;e=e+1|0}m=m+1|0}m=j<<2;yj(a|0,f|0,m|0)|0;i=h;return}function hb(a,e,f,h,j,k,l,m,n){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;o=i;i=i+32|0;v=o+28|0;p=o+24|0;w=o;c[v>>2]=h;c[p>>2]=n;s=(c[a>>2]|0)==0;x=c[a+4>>2]|0;y=c[a+8>>2]|0;r=c[a+16>>2]|0;q=c[a+24>>2]|0;A=c[x+100>>2]|0;z=($(l+1|0,c[x+8>>2]|0)|0)+y|0;z=b[(c[x+96>>2]|0)+(z<<1)>>1]|0;if((l|0)!=-1?(f|0)>2?((d[A+(z+(d[A+z>>0]|0))>>0]|0)+12|0)<(h|0):0:0){f=f>>1;s=e+(f<<2)|0;q=l+ -1|0;if((j|0)==1)c[p>>2]=n&1|n<<1;n=j+1>>1;_a(a,w,e,s,f,v,n,j,q,0,p);y=c[w+12>>2]|0;r=c[w+16>>2]|0;x=c[w+20>>2]|0;t=+(c[w+4>>2]|0)*30517578125.0e-15;u=+(c[w+8>>2]|0)*30517578125.0e-15;do if((j|0)>1?(r&16383|0)!=0:0)if((r|0)>8192){y=y-(y>>5-l)|0;break}else{y=y+(f<<3>>6-l)|0;y=(y|0)>0?0:y;break}while(0);v=c[v>>2]|0;l=(v-y|0)/2|0;w=(v|0)<(l|0);if(((w?v:l)|0)<0)l=0;else l=w?v:l;v=v-l|0;y=a+28|0;x=(c[y>>2]|0)-x|0;c[y>>2]=x;if(!k)w=0;else w=k+(f<<2)|0;if((l|0)<(v|0)){p=c[p>>2]|0;j=(hb(a,s,f,v,n,w,q,u*m,p>>n)|0)<<(j>>1);s=v+((c[y>>2]|0)-x)|0;if(!((s|0)<=24|(r|0)==16384))l=l+(s+ -24)|0;A=j|(hb(a,e,f,l,n,k,q,t*m,p)|0);i=o;return A|0}else{p=c[p>>2]|0;e=hb(a,e,f,l,n,k,q,t*m,p)|0;k=l+((c[y>>2]|0)-x)|0;if(!((k|0)<=24|(r|0)==0))v=v+(k+ -24)|0;A=e|(hb(a,s,f,v,n,w,q,u*m,p>>n)|0)<<(j>>1);i=o;return A|0}}z=jb(x,y,l,h)|0;w=kb(x,y,l,z)|0;h=a+28|0;v=w;w=(c[h>>2]|0)-w|0;while(1){c[h>>2]=w;if(!((w|0)<0&(z|0)>0))break;B=w+v|0;c[h>>2]=B;C=z+ -1|0;A=kb(x,y,l,C)|0;v=A;z=C;w=B-A|0}if(z){a=lb(z)|0;if(s){C=yd(e,f,a,r,j,q,m)|0;i=o;return C|0}else{C=vd(e,f,a,r,j,q)|0;i=o;return C|0}}if(!s){C=0;i=o;return C|0}j=(1< >2]=q;if(!q){wj(e|0,0,f<<2|0)|0;C=0;i=o;return C|0}p=a+36|0;a:do if(!k){k=0;while(1){if((k|0)>=(f|0))break a;C=Ma(c[p>>2]|0)|0;c[p>>2]=C;g[e+(k<<2)>>2]=+(C>>20|0);k=k+1|0}}else{j=0;while(1){if((j|0)>=(f|0)){j=q;break a}C=Ma(c[p>>2]|0)|0;c[p>>2]=C;g[e+(j<<2)>>2]=+g[k+(j<<2)>>2]+((C&32768|0)==0?-.00390625:.00390625);j=j+1|0}}while(0);Ad(e,f,m,c[a+40>>2]|0);C=j;i=o;return C|0}function ib(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;h=i;j=$(b,d)|0;f=i;i=i+((4*j|0)+15&-16)|0;if(!e){l=0;while(1){if((l|0)>=(d|0))break;e=$(l,b)|0;k=0;while(1){if((k|0)>=(b|0))break;g[f+(($(k,d)|0)+l<<2)>>2]=+g[a+(e+k<<2)>>2];k=k+1|0}l=l+1|0}m=j<<2;yj(a|0,f|0,m|0)|0;i=h;return}l=d+ -2|0;m=0;while(1){if((m|0)>=(d|0))break;e=56+(l+m<<2)|0;k=0;while(1){if((k|0)>=(b|0))break;g[f+(($(k,d)|0)+m<<2)>>2]=+g[a+(($(c[e>>2]|0,b)|0)+k<<2)>>2];k=k+1|0}m=m+1|0}m=j<<2;yj(a|0,f|0,m|0)|0;i=h;return}function jb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;j=i;h=c[a+100>>2]|0;e=($(f+1|0,c[a+8>>2]|0)|0)+e|0;e=b[(c[a+96>>2]|0)+(e<<1)>>1]|0;a=g+ -1|0;f=d[h+e>>0]|0;g=0;k=0;while(1){if((k|0)>=6)break;l=g+f+1>>1;m=(d[h+(e+l)>>0]|0)<(a|0);f=m?f:l;g=m?l:g;k=k+1|0}if(!g)k=-1;else k=d[h+(e+g)>>0]|0;i=j;return((a-k|0)>((d[h+(e+f)>>0]|0)-a|0)?f:g)|0}function kb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;if(!g){g=0;i=h;return g|0}f=$(f+1|0,c[a+8>>2]|0)|0;g=(d[(c[a+100>>2]|0)+((b[(c[a+96>>2]|0)+(f+e<<1)>>1]|0)+g)>>0]|0)+1|0;i=h;return g|0}function lb(a){a=a|0;if((a|0)>=8)a=(a&7|8)<<(a>>3)+ -1;return a|0}function mb(a){a=a|0;var b=0;b=i;if((a|0)==8e3)a=6;else if((a|0)==48e3)a=1;else if((a|0)==24e3)a=2;else if((a|0)==16e3)a=3;else if((a|0)==12e3)a=4;else a=0;i=b;return a|0}function nb(a,b,c,d,e,f,h,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;h=+h;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;o=i;if(f==0.0&h==0.0){if((b|0)==(a|0)){i=o;return}zj(a|0,b|0,e<<2|0)|0;i=o;return}s=+g[176+(j*12|0)>>2]*f;t=+g[180+(j*12|0)>>2]*f;n=+g[184+(j*12|0)>>2]*f;p=+g[176+(k*12|0)>>2]*h;q=+g[180+(k*12|0)>>2]*h;r=+g[184+(k*12|0)>>2]*h;m=f==h&(c|0)==(d|0)&(j|0)==(k|0)?0:m;k=0;w=+g[b+(1-d<<2)>>2];f=+g[b+(0-d<<2)>>2];v=+g[b+(~d<<2)>>2];u=+g[b+(-2-d<<2)>>2];while(1){if((k|0)>=(m|0))break;y=+g[b+(k-d+2<<2)>>2];x=+g[l+(k<<2)>>2];x=x*x;z=1.0-x;j=k-c|0;g[a+(k<<2)>>2]=+g[b+(k<<2)>>2]+z*s*+g[b+(j<<2)>>2]+z*t*(+g[b+(j+1<<2)>>2]+ +g[b+(j+ -1<<2)>>2])+z*n*(+g[b+(j+2<<2)>>2]+ +g[b+(j+ -2<<2)>>2])+x*p*f+x*q*(w+v)+x*r*(y+u);x=w;k=k+1|0;w=y;u=v;v=f;f=x}if(!(h==0.0)){ob(a+(k<<2)|0,b+(k<<2)|0,d,e-k|0,p,q,r);i=o;return}if((b|0)==(a|0)){i=o;return}zj(a+(m<<2)|0,b+(m<<2)|0,e-m<<2|0)|0;i=o;return}function ob(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;h=+h;var j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;o=i;k=0;m=+g[b+(1-c<<2)>>2];l=+g[b+(0-c<<2)>>2];n=+g[b+(~c<<2)>>2];j=+g[b+(-2-c<<2)>>2];while(1){if((k|0)>=(d|0))break;q=+g[b+(k-c+2<<2)>>2];g[a+(k<<2)>>2]=+g[b+(k<<2)>>2]+l*e+(m+n)*f+(q+j)*h;p=m;k=k+1|0;m=q;j=n;n=l;l=p}i=o;return}function pb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;j=a+8|0;k=a+32|0;h=(f<<1)+g+ -1|0;a=a+104|0;m=0;while(1){n=c[j>>2]|0;if((m|0)>=(n|0))break;o=m+1|0;p=c[k>>2]|0;n=($(n,h)|0)+m|0;c[e+(m<<2)>>2]=($($((d[(c[a>>2]|0)+n>>0]|0)+64|0,g)|0,(b[p+(o<<1)>>1]|0)-(b[p+(m<<1)>>1]|0)< >2;m=o}i=l;return}function qb(){return 248}function rb(a){a=a|0;var b=0;b=i;a=sb(Xc()|0,a)|0;i=b;return a|0}function sb(a,b){a=a|0;b=b|0;b=(($((c[a+4>>2]|0)+2048|0,b)|0)<<2)+84+(b*96|0)|0;return b+(c[a+8>>2]<<5)|0}function tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;d=ub(a,Xc()|0,d)|0;if(!d){d=mb(b)|0;c[a+16>>2]=d;i=e;return((d|0)==0?-1:0)|0}else{i=e;return d|0}return 0}function ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((d|0)<0|(d|0)>2){d=-1;i=e;return d|0}if(!a){d=-7;i=e;return d|0}wj(a|0,0,sb(b,d)|0)|0;c[a>>2]=b;c[a+4>>2]=c[b+4>>2];c[a+8>>2]=d;c[a+12>>2]=d;c[a+16>>2]=1;c[a+20>>2]=0;c[a+24>>2]=c[b+12>>2];c[a+28>>2]=1;c[a+32>>2]=0;c[a+48>>2]=0;Cb(a,4028,e);d=0;i=e;return d|0}function vb(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,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.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0.0,ma=0.0;l=i;i=i+80|0;A=l+32|0;O=l+24|0;p=l+16|0;M=l+8|0;L=l+4|0;K=l;m=c[a+8>>2]|0;c[M>>2]=0;c[L>>2]=0;J=c[a+12>>2]|0;n=c[a>>2]|0;o=c[n+8>>2]|0;z=c[n+4>>2]|0;V=c[n+32>>2]|0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;s=a+16|0;v=$(c[s>>2]|0,h)|0;u=$(z+2072|0,m)|0;D=a+(u<<2)+84|0;x=o<<1;h=u+x|0;B=a+(h<<2)+84|0;t=h+x|0;F=a+(t<<2)+84|0;y=t+x|0;C=n+44|0;w=c[n+36>>2]|0;H=0;while(1){if((H|0)>(w|0)){m=-1;P=85;break}if((c[C>>2]< 1275|(f|0)==0){ka=-1;i=l;return ka|0}w=c[C>>2]< >2]=a+(ka<<2)+84;c[p+(E<<2)>>2]=a+(ka+S<<2)+84;E=E+1|0}while((E|0)<(m|0));N=c[n+12>>2]|0;N=(r|0)>(N|0)?N:r;if((d|0)==0|(e|0)<2){wb(a,w,H);xb(p,f,w,m,c[s>>2]|0,+g[n+16>>2],a+76|0,k);ka=(v|0)/(c[s>>2]|0)|0;i=l;return ka|0}if(!j)kc(A,d,e);else A=j;I=(J|0)==1;a:do if(I){j=0;while(1){if((j|0)>=(o|0))break a;ka=a+(u+j<<2)+84|0;la=+g[ka>>2];R=+g[a+(u+(o+j)<<2)+84>>2];g[ka>>2]=la>R?la:R;j=j+1|0}}while(0);d=e<<3;E=A+20|0;Q=c[E>>2]|0;j=A+28|0;T=c[j>>2]|0;W=yb(Q,T)|0;if((W|0)<(d|0))if((W|0)==1){U=rc(A,15)|0;if(!U){U=0;W=1}else{Q=c[E>>2]|0;T=c[j>>2]|0;P=19}}else U=0;else{U=1;P=19}if((P|0)==19){c[E>>2]=Q+(d-(yb(Q,T)|0));W=d}if((q|0)==0?(W+16|0)<=(d|0):0){if(!(rc(A,1)|0)){R=0.0;Q=0;T=0}else{Q=tc(A,6)|0;Q=(16< >2]|0,c[j>>2]|0)|0)+2|0)>(d|0))T=0;else T=sc(A,272,2)|0;R=+(P+1|0)*.09375}P=yb(c[E>>2]|0,c[j>>2]|0)|0}else{Q=0;R=0.0;T=0;P=W}if((H|0)>0?(P+3|0)<=(d|0):0){W=rc(A,3)|0;P=yb(c[E>>2]|0,c[j>>2]|0)|0;X=(W|0)==0;W=X?0:W;X=X?0:G}else{W=0;X=0}if((P+3|0)>(d|0))P=0;else P=rc(A,3)|0;od(n,q,r,D,P,A,J,H);P=ta()|0;Y=i;i=i+((4*o|0)+15&-16)|0;zb(q,r,W,Y,H,A);if(((yb(c[E>>2]|0,c[j>>2]|0)|0)+4|0)>(d|0))Z=2;else Z=sc(A,280,5)|0;aa=i;i=i+((4*o|0)+15&-16)|0;pb(n,aa,H,J);_=i;i=i+((4*o|0)+15&-16)|0;da=6;ca=q;ea=jc(A)|0;fa=e<<6;while(1){if((ca|0)>=(r|0))break;ba=ca+1|0;ha=($(J,(b[V+(ba<<1)>>1]|0)-(b[V+(ca<<1)>>1]|0)|0)|0)<=((ga?48:ha)|0))ia=ga?48:ha;ka=aa+(ca<<2)|0;ga=0;ha=da;while(1){if((ea+(ha<<3)|0)>=(fa|0))break;if((ga|0)>=(c[ka>>2]|0))break;ha=rc(A,ha)|0;ea=jc(A)|0;if(!ha)break;ga=ga+ia|0;ha=1;fa=fa-ia|0}c[_+(ca<<2)>>2]=ga;if((ga|0)<=0){ca=ba;continue}da=(da|0)<3?2:da+ -1|0;ca=ba}V=i;i=i+((4*o|0)+15&-16)|0;if((ea+48|0)>(fa|0))fa=5;else fa=sc(A,288,7)|0;ca=e<<6;da=ca-(jc(A)|0)+ -1|0;e=(W|0)==0;if((e^1)&(H|0)>1)ba=(da|0)>=((H<<3)+16|0)?8:0;else ba=0;ka=da-ba|0;ea=i;i=i+((4*o|0)+15&-16)|0;da=i;i=i+((4*o|0)+15&-16)|0;_=sd(n,q,r,_,aa,fa,M,L,ka,K,ea,V,da,J,H,A,0,0,0)|0;pd(n,q,r,D,V,A,J);aa=S+((z|0)/2|0)<<2;S=0;do{ka=c[O+(S<<2)>>2]|0;zj(ka|0,ka+(w<<2)|0,aa|0)|0;S=S+1|0}while((S|0)<(m|0));S=$(J,o)|0;fa=i;i=i+((1*S|0)+15&-16)|0;ka=$(J,w)|0;aa=i;i=i+((4*ka|0)+15&-16)|0;if((J|0)==2)ga=aa+(w<<2)|0;else ga=0;O=a+36|0;ha=a+32|0;Va(0,n,q,r,aa,ga,fa,0,ea,X,Z,c[L>>2]|0,c[M>>2]|0,Y,ca-ba|0,c[K>>2]|0,A,H,_,O,c[ha>>2]|0);if(ba){ka=(uc(A,1)|0)==0;qd(n,q,r,D,V,da,d-(yb(c[E>>2]|0,c[j>>2]|0)|0)|0,A,J);if(!ka)Ra(n,aa,fa,H,J,w,q,r,D,B,F,ea,c[O>>2]|0,c[ha>>2]|0)}else qd(n,q,r,D,V,da,d-(yb(c[E>>2]|0,c[j>>2]|0)|0)|0,A,J);b:do if(U){K=0;while(1){if((K|0)>=(S|0))break b;g[a+(u+K<<2)+84>>2]=-28.0;K=K+1|0}}while(0);Ab(n,aa,p,D,q,N,J,m,W,H,c[s>>2]|0,U);K=a+52|0;S=a+56|0;M=a+64|0;L=a+60|0;U=a+72|0;N=a+68|0;J=n+60|0;H=(H|0)==0;V=0;do{ka=c[K>>2]|0;ka=(ka|0)>15?ka:15;c[K>>2]=ka;ia=c[S>>2]|0;ia=(ia|0)>15?ia:15;c[S>>2]=ia;W=c[p+(V<<2)>>2]|0;nb(W,W,ia,ka,c[C>>2]|0,+g[M>>2],+g[L>>2],c[U>>2]|0,c[N>>2]|0,c[J>>2]|0,z);if(!H){ka=c[C>>2]|0;ia=W+(ka<<2)|0;nb(ia,ia,c[K>>2]|0,Q,w-ka|0,+g[L>>2],R,c[N>>2]|0,T,c[J>>2]|0,z)}V=V+1|0}while((V|0)<(m|0));c[S>>2]=c[K>>2];g[M>>2]=+g[L>>2];c[U>>2]=c[N>>2];c[K>>2]=Q;g[L>>2]=R;c[N>>2]=T;if(!H){c[S>>2]=Q;g[M>>2]=R;c[U>>2]=T}if(I)yj(a+(u+o<<2)+84|0,D|0,o<<2|0)|0;c:do if(e){z=o<<3;yj(F|0,B|0,z|0)|0;yj(B|0,D|0,z|0)|0;R=+(G|0)*.0010000000474974513;z=0;while(1){if((z|0)>=(x|0)){x=0;break c}ka=a+(y+z<<2)+84|0;ma=+g[ka>>2]+R;la=+g[a+(u+z<<2)+84>>2];g[ka>>2]=ma =(x|0)){x=0;break c}ka=a+(h+y<<2)+84|0;la=+g[ka>>2];ma=+g[a+(u+y<<2)+84>>2];g[ka>>2]=la =(q|0)){z=r;break}ka=y+z|0;g[a+(u+ka<<2)+84>>2]=0.0;g[a+(t+ka<<2)+84>>2]=-28.0;g[a+(h+ka<<2)+84>>2]=-28.0;z=z+1|0}while(1){if((z|0)>=(o|0))break;ka=y+z|0;g[a+(u+ka<<2)+84>>2]=0.0;g[a+(t+ka<<2)+84>>2]=-28.0;g[a+(h+ka<<2)+84>>2]=-28.0;z=z+1|0}x=x+1|0}while((x|0)<2);c[O>>2]=c[j>>2];xb(p,f,w,m,c[s>>2]|0,+g[n+16>>2],a+76|0,k);c[a+48>>2]=0;if((yb(c[E>>2]|0,c[j>>2]|0)|0)>(d|0))m=-3;else{if(Bb(c[A+44>>2]|0)|0)c[a+40>>2]=1;m=(v|0)/(c[s>>2]|0)|0}ja(P|0);ka=m;i=l;return ka|0}function wb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.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.0,Q=0.0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;j=i;i=i+4416|0;f=j+4400|0;t=j+4392|0;q=j+296|0;r=j+192|0;p=j+96|0;o=j;h=c[a+8>>2]|0;y=c[a>>2]|0;x=c[y+8>>2]|0;n=c[y+4>>2]|0;u=c[y+32>>2]|0;l=n+2048|0;m=2048-d|0;k=0;do{U=$(k,l)|0;c[f+(k<<2)>>2]=a+(U<<2)+84;c[t+(k<<2)>>2]=a+(U+m<<2)+84;k=k+1|0}while((k|0)<(h|0));s=$(l,h)|0;z=$(h,n+2072|0)|0;B=x<<1;B=z+B+B+B|0;k=a+48|0;l=c[k>>2]|0;w=c[a+20>>2]|0;A=(l|0)>4;if(!((A^1)&(w|0)==0)){r=c[a+24>>2]|0;p=c[y+12>>2]|0;o=(r|0)<(p|0);if((w|0)>((o?r:p)|0))p=w;else p=o?r:p;U=$(h,d)|0;o=ta()|0;q=i;i=i+((4*U|0)+15&-16)|0;if(A)z=B;else{v=(l|0)==0?1.5:.5;A=0;do{B=$(A,x)|0;s=w;while(1){if((s|0)>=(r|0))break;U=a+(z+(B+s)<<2)+84|0;g[U>>2]=+g[U>>2]-v;s=s+1|0}A=A+1|0}while((A|0)<(h|0))}r=a+(z<<2)+84|0;A=a+36|0;z=a+32|0;E=c[A>>2]|0;x=0;while(1){if((x|0)>=(h|0))break;s=$(x,d)|0;D=w;while(1){if((D|0)>=(p|0))break;C=b[u+(D<<1)>>1]|0;B=s+(C< >1]|0)-C< =(C|0))break;U=Ma(E)|0;g[q+(B+F<<2)>>2]=+(U>>20|0);E=U;F=F+1|0}Ad(q+(B<<2)|0,C,1.0,c[z>>2]|0)}x=x+1|0}c[A>>2]=E;m=m+(n>>>1)<<2;n=0;do{U=c[f+(n<<2)>>2]|0;zj(U|0,U+(d<<2)|0,m|0)|0;n=n+1|0}while((n|0)<(h|0));Ab(y,q,t,r,w,p,h,h,0,e,c[a+16>>2]|0,0);ja(o|0);U=l+1|0;c[k>>2]=U;i=j;return}u=(l|0)==0;if(u){e=a+32|0;w=Db(f,h,c[e>>2]|0)|0;c[a+44>>2]=w;v=1.0}else{e=a+32|0;v=.800000011920929;w=c[a+44>>2]|0}t=ta()|0;x=i;i=i+((4*n|0)+15&-16)|0;B=c[y+60>>2]|0;J=w<<1;L=(J|0)<1024;K=m<<2;A=1024-w|0;F=n+d|0;I=1024-d+A|0;z=m+ -1|0;H=a+52|0;E=a+60|0;G=a+68|0;C=(n|0)/2|0;y=n+ -1|0;D=0;do{M=c[f+(D<<2)>>2]|0;N=0;while(1){if((N|0)>=1024)break;g[q+(N<<2)>>2]=+g[M+(N+1024<<2)>>2];N=N+1|0}if(u){ec(q,r,B,n,24,1024,c[e>>2]|0);g[r>>2]=+g[r>>2]*1.000100016593933;N=1;while(1){if((N|0)>=25)break;U=r+(N<<2)|0;Q=+g[U>>2];V=+(N|0);g[U>>2]=Q-Q*6400000711437315.0e-20*V*V;N=N+1|0}ac(a+(s+(D*24|0)<<2)+84|0,r,24)}T=L?J:1024;N=2048-T+ -1|0;R=0;while(1){if((R|0)>=24)break;g[p+(R<<2)>>2]=+g[M+(N-R<<2)>>2];R=R+1|0}R=q+(1024-T<<2)|0;N=a+(s+(D*24|0)<<2)+84|0;bc(R,N,R,T,p,c[e>>2]|0);R=T>>1;S=1024-R|0;T=1024-T|0;Q=1.0;O=1.0;U=0;while(1){if((U|0)>=(R|0))break;W=+g[q+(S+U<<2)>>2];V=+g[q+(T+U<<2)>>2];Q=Q+W*W;O=O+V*V;U=U+1|0}Q=+P(+((Q =(F|0)){R=0;break}if((S|0)>=(w|0)){V=V*Q;S=S-w|0}g[M+(m+R<<2)>>2]=V*+g[q+(A+S<<2)>>2];W=+g[M+(I+S<<2)>>2];O=O+W*W;R=R+1|0;S=S+1|0}while(1){if((R|0)>=24)break;g[o+(R<<2)>>2]=+g[M+(z-R<<2)>>2];R=R+1|0}U=M+(m<<2)|0;dc(U,N,U,F,o,c[e>>2]|0);Q=0.0;N=0;while(1){if((N|0)>=(F|0))break;W=+g[M+(m+N<<2)>>2];Q=Q+W*W;N=N+1|0}a:do if(O>Q*.20000000298023224){if(O =(n|0)){N=n;break}U=M+(m+N<<2)|0;g[U>>2]=(1.0- +g[B+(N<<2)>>2]*Q)*+g[U>>2];N=N+1|0}while(1){if((N|0)>=(F|0))break a;U=M+(m+N<<2)|0;g[U>>2]=O*+g[U>>2];N=N+1|0}}}else{N=0;while(1){if((N|0)>=(F|0))break a;g[M+(m+N<<2)>>2]=0.0;N=N+1|0}}while(0);U=c[H>>2]|0;W=-+g[E>>2];N=c[G>>2]|0;nb(x,M+8192|0,U,U,n,W,W,N,N,0,0);N=0;while(1){if((N|0)>=(C|0))break;g[M+(N+2048<<2)>>2]=+g[B+(N<<2)>>2]*+g[x+(y-N<<2)>>2]+ +g[B+(n-N+ -1<<2)>>2]*+g[x+(N<<2)>>2];N=N+1|0}D=D+1|0}while((D|0)<(h|0));ja(t|0);U=l+1|0;c[k>>2]=U;i=j;return}function xb(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0;k=i;n=i;i=i+((4*d|0)+15&-16)|0;l=(d|0)/(f|0)|0;m=(f|0)>1;s=0;o=0;do{q=j+(o<<2)|0;t=+g[q>>2];r=c[a+(o<<2)>>2]|0;if(!m){u=0;while(1){if((u|0)>=(d|0))break;v=+g[r+(u<<2)>>2]+t+1.0000000031710769e-30;g[b+(o+($(u,e)|0)<<2)>>2]=v*30517578125.0e-15;t=v*h;u=u+1|0}g[q>>2]=t;if(s)p=9}else{p=0;while(1){if((p|0)>=(d|0))break;v=+g[r+(p<<2)>>2]+t+1.0000000031710769e-30;g[n+(p<<2)>>2]=v;t=v*h;p=p+1|0}g[q>>2]=t;s=1;p=9}a:do if((p|0)==9){p=0;q=0;while(1){if((q|0)>=(l|0))break a;g[b+(o+($(q,e)|0)<<2)>>2]=+g[n+(($(q,f)|0)<<2)>>2]*30517578125.0e-15;q=q+1|0}}while(0);o=o+1|0}while((o|0)<(e|0));i=k;return}function yb(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function zb(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;n=c[h+4>>2]<<3;l=h+20|0;m=h+28|0;s=yb(c[l>>2]|0,c[m>>2]|0)|0;o=(e|0)!=0;r=o?2:4;if((g|0)>0)k=(s+r+1|0)>>>0<=n>>>0;else k=0;n=n-(k&1)|0;o=o?4:5;q=0;p=b;t=s;s=0;while(1){if((p|0)>=(d|0))break;if((t+r|0)>>>0<=n>>>0){r=q^(rc(h,r)|0);q=r;t=yb(c[l>>2]|0,c[m>>2]|0)|0;s=s|r}c[f+(p<<2)>>2]=q;r=o;p=p+1|0}l=e<<2;if(k?(a[l+s+(216+(g<<3))>>0]|0)!=(a[(l|2)+s+(216+(g<<3))>>0]|0):0)h=(rc(h,1)|0)<<1;else h=0;h=l+h|0;while(1){if((b|0)>=(d|0))break;t=f+(b<<2)|0;c[t>>2]=a[h+(c[t>>2]|0)+(216+(g<<3))>>0];b=b+1|0}i=j;return}function Ab(a,b,d,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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;p=i;r=c[a+4>>2]|0;u=c[a+8>>2]|0;s=c[a+44>>2]|0;t=s<>2]|0;l=y?t:s;s=y?1:v;m=y?z-m|0:z;if((k|0)==2){if((j|0)==1){Qa(a,b,q,e,f,h,v,n,o);u=d+4|0;e=c[u>>2]|0;b=(r|0)/2|0;yj(e+(b<<2)|0,q|0,t<<2|0)|0;t=a+64|0;a=a+60|0;v=0;while(1){if((v|0)>=(s|0)){d=0;break}z=(c[d>>2]|0)+(($(l,v)|0)<<2)|0;Wc(t,e+(b+v<<2)|0,z,c[a>>2]|0,r,m,s);v=v+1|0}while(1){if((d|0)>=(s|0))break;z=(c[u>>2]|0)+(($(l,d)|0)<<2)|0;Wc(t,q+(d<<2)|0,z,c[a>>2]|0,r,m,s);d=d+1|0}i=p;return}}else if((k|0)==1&(j|0)==2){k=c[d>>2]|0;j=(r|0)/2|0;Qa(a,b,q,e,f,h,v,n,o);Qa(a,b+(t<<2)|0,k+(j<<2)|0,e+(u<<2)|0,f,h,v,n,o);u=0;while(1){if((u|0)>=(t|0))break;z=q+(u<<2)|0;g[z>>2]=(+g[z>>2]+ +g[k+(j+u<<2)>>2])*.5;u=u+1|0}t=a+64|0;u=a+60|0;a=0;while(1){if((a|0)>=(s|0))break;z=(c[d>>2]|0)+(($(l,a)|0)<<2)|0;Wc(t,q+(a<<2)|0,z,c[u>>2]|0,r,m,s);a=a+1|0}i=p;return}y=a+64|0;z=a+60|0;x=0;do{Qa(a,b+(($(x,t)|0)<<2)|0,q,e+(($(x,u)|0)<<2)|0,f,h,v,n,o);j=d+(x<<2)|0;w=0;while(1){if((w|0)>=(s|0))break;A=(c[j>>2]|0)+(($(l,w)|0)<<2)|0;Wc(y,q+(w<<2)|0,A,c[z>>2]|0,r,m,s);w=w+1|0}x=x+1|0}while((x|0)<(k|0));i=p;return}function Bb(a){a=a|0;return a|0}function Cb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;e=i;i=i+16|0;f=e;c[f>>2]=d;a:do switch(b|0){case 10008:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if((b|0)<1|(b|0)>2)a=25;else{c[a+12>>2]=b;a=24}break};case 10016:{d=c[f>>2]|0;h=c[d>>2]|0;c[f>>2]=d+4;c[a+28>>2]=h;a=24;break};case 4027:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if(!b)a=25;else{c[b>>2]=(c[a+4>>2]|0)/(c[a+16>>2]|0)|0;a=24}break};case 10007:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if(!b)a=25;else{a=a+40|0;c[b>>2]=c[a>>2];c[a>>2]=0;a=24}break};case 10012:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+24>>2]=b;a=24}else a=25;break};case 4033:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if(!b)a=25;else{c[b>>2]=c[a+52>>2];a=24}break};case 10015:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if(!b)a=25;else{c[b>>2]=c[a>>2];a=24}break};case 10010:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+20>>2]=b;a=24}else a=25;break};case 4031:{h=c[f>>2]|0;b=c[h>>2]|0;c[f>>2]=h+4;if(!b)a=25;else{c[b>>2]=c[a+36>>2];a=24}break};case 4028:{f=c[a+8>>2]|0;b=$((c[a+4>>2]|0)+2072|0,f)|0;j=c[a>>2]|0;h=c[j+8>>2]|0;d=h<<1;b=b+d|0;d=b+d|0;wj(a+36|0,0,(sb(j,f)|0)+ -36|0)|0;f=0;while(1){if((f|0)>=(h<<1|0)){a=24;break a}g[a+(d+f<<2)+84>>2]=-28.0;g[a+(b+f<<2)+84>>2]=-28.0;h=c[(c[a>>2]|0)+8>>2]|0;f=f+1|0}};default:{i=e;return}}while(0);if((a|0)==24){i=e;return}else if((a|0)==25){i=e;return}}function Db(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+4112|0;e=f+4096|0;g=f;Yc(a,g,2048,b,d);bd(g+1440|0,g,1328,620,e,d);i=f;return 720-(c[e>>2]|0)|0}function Eb(a){a=a|0;var b=0;b=i;a=Fb(Xc()|0,a)|0;i=b;return a|0}function Fb(a,b){a=a|0;b=b|0;var d=0;d=(($(c[a+4>>2]|0,b)|0)<<2)+200+(b<<12)|0;b=d+(($(b*3|0,c[a+8>>2]|0)|0)<<2)|0;return b|0}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;e=Hb(a,Xc()|0,d,e)|0;if(e){d=e;i=f;return d|0}c[a+28>>2]=mb(b)|0;d=0;i=f;return d|0}function Hb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;if((d|0)<0|(d|0)>2){e=-1;i=f;return e|0}if((a|0)==0|(b|0)==0){e=-7;i=f;return e|0}wj(a|0,0,Fb(b,d)|0)|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=d;c[a+28>>2]=1;c[a+32>>2]=0;c[a+36>>2]=c[b+12>>2];c[a+48>>2]=1;c[a+72>>2]=e;c[a+52>>2]=1;c[a+16>>2]=1;c[a+40>>2]=-1;c[a+44>>2]=0;c[a+12>>2]=0;c[a+24>>2]=5;c[a+60>>2]=24;Xb(a,4028,f)|0;e=0;i=f;return e|0}function Ib(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0;h=i;i=i+112|0;f=h;j=+g[b>>2];a:do if((e|0)==1){g[f>>2]=j;c=1;while(1){if((c|0)>=(d|0))break a;m=j+-1.0;l=+g[b+(c<<2)>>2];l=m>l?m:l;g[f+(c<<2)>>2]=l;j=l;c=c+1|0}}else{m=+g[b+(c<<2)>>2];j=j>m?j:m;g[f>>2]=j;k=1;while(1){if((k|0)>=(d|0))break a;n=j+-1.0;l=+g[b+(k<<2)>>2];m=+g[b+(k+c<<2)>>2];p=l>m;o=n>(p?l:m);m=o|p?o?n:l:m;g[f+(k<<2)>>2]=m;j=m;k=k+1|0}}while(0);b=d+ -2|0;while(1){if((b|0)<=-1)break;p=f+(b<<2)|0;m=+g[p>>2];n=+g[f+(b+1<<2)>>2]+-1.0;g[p>>2]=m>n?m:n;b=b+ -1|0}b=d+ -1|0;c=0;j=0.0;k=2;b:while(1){while(1){if((k|0)<(b|0))break;c=c+1|0;if((c|0)<(e|0))k=2;else break b}m=+g[a+(k<<2)>>2];n=+g[f+(k<<2)>>2];n=(m<0.0?0.0:m)-(n<0.0?0.0:n);j=j+(n<0.0?0.0:n);k=k+1|0}p=j/+($(d+ -3|0,e)|0)>1.0&1;i=h;return p|0}function Jb(a,b,c,d,e,f,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0.0,m=0.0,n=0,o=0.0;k=i;l=+g[f>>2];m=+g[h>>2];do if(!(+g[f+4>>2]==0.0)){f=(c|0)/(e|0)|0;if((e|0)!=1)n=9}else{if((e|0)!=1){f=(c|0)/(e|0)|0;n=9;break}if(!j)e=0;else{f=(c|0)/(e|0)|0;break}while(1){if((e|0)>=(c|0))break;o=+g[a+(($(e,d)|0)<<2)>>2]*32768.0;g[b+(e<<2)>>2]=o-m;m=l*o;e=e+1|0}g[h>>2]=m;i=k;return}while(0);if((n|0)==9)wj(b|0,0,c<<2|0)|0;n=0;while(1){if((n|0)>=(f|0))break;g[b+(($(n,e)|0)<<2)>>2]=+g[a+(($(n,d)|0)<<2)>>2]*32768.0;n=n+1|0}a:do if(!j)e=0;else{d=0;while(1){if((d|0)>=(f|0)){e=0;break a}a=b+(($(d,e)|0)<<2)|0;o=+g[a>>2];if(!(o>65536.0)){if(o<-65536.0)o=-65536.0}else o=65536.0;g[a>>2]=o;d=d+1|0}}while(0);while(1){if((e|0)>=(c|0))break;n=b+(e<<2)|0;o=+g[n>>2];g[n>>2]=o-m;m=l*o;e=e+1|0}g[h>>2]=m;i=k;return}function Kb(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ua=0.0,va=0,wa=0,xa=0.0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0;k=i;i=i+96|0;C=k+40|0;V=k+32|0;s=k+28|0;P=k+24|0;v=k+20|0;t=k+16|0;U=k+12|0;F=k+8|0;G=k+4|0;N=k;o=c[a+4>>2]|0;r=c[a+8>>2]|0;c[s>>2]=15;g[P>>2]=0.0;c[v>>2]=0;c[U>>2]=0;u=c[a>>2]|0;n=c[u+8>>2]|0;M=c[u+4>>2]|0;L=c[u+32>>2]|0;l=c[a+32>>2]|0;m=c[a+36>>2]|0;g[F>>2]=0.0;if((h|0)<2|(d|0)==0){Ca=-1;i=k;return Ca|0}W=a+28|0;O=$(c[W>>2]|0,e)|0;e=u+44|0;I=u+36|0;p=c[I>>2]|0;x=0;while(1){if((x|0)>(p|0)){a=-1;X=217;break}if((c[e>>2]< >2]< >2]|0,c[j+28>>2]|0)|0;E=R+4>>3}J=(h|0)<1275?h:1275;Y=J-E|0;S=a+44|0;h=c[a+40>>2]|0;if(c[S>>2]|0)if((h|0)==-1){h=-1;X=11}else{X=c[u>>2]|0;X=(($(h,O)|0)+(X>>4)|0)/(X>>3|0)|0;O=J;_=X>>6;J=X;X=15}else X=11;if((X|0)==11){O=$(h,O)|0;if((h|0)!=-1){aa=c[u>>2]|0;aa=(((aa<<2)+((R|0)>1?O+R|0:O)|0)/(aa<<3|0)|0)-((c[a+48>>2]|0)!=0&1)|0;_=(J|0)<(aa|0);if(((_?J:aa)|0)<2){O=2;_=2}else{O=_?J:aa;_=_?J:aa}if((h|0)==-1){h=51e4;J=0}else{J=0;X=15}}else{O=J;h=51e4;_=J;J=0}}if((X|0)==15)h=h-($((r*40|0)+20|0,(400>>>x)+ -50|0)|0)|0;if(Z)wc(C,f,O);else C=j;j=(J|0)>0;if(((j?(c[a+52>>2]|0)!=0:0)?(H=(R|0)==1?2:0,D=c[a+164>>2]|0,Ca=(J<<1)-D>>6,(((H|0)>(Ca|0)?H:Ca)|0)<(Y|0)):0)?(ba=(J<<1)-D>>6,ba=(H|0)>(ba|0)?H:ba,(ba|0)<(Y|0)):0){O=E+ba|0;Hc(C,O)}else ba=Y;aa=O<<3;Z=c[u+12>>2]|0;Z=(m|0)>(Z|0)?Z:m;ha=B+M|0;Y=$(o,ha)|0;D=ta()|0;da=i;i=i+((4*Y|0)+15&-16)|0;Y=a+180|0;K=+g[Y>>2];H=$(r,B-M|0)|0;f=c[W>>2]|0;H=(H|0)/(f|0)|0;Ea=+Mb(d,H);Ea=K>Ea?K:Ea;K=+Mb(d+(H<<2)|0,($(r,M)|0)/(f|0)|0);g[Y>>2]=K;K=Ea>K?Ea:K;Y=a+60|0;f=K<=1.0/+(1< >2]|0);H=f&1;if((R|0)==1){Bc(C,H,15);if(f){if(j){aa=E+2|0;aa=(O|0)<(aa|0)?O:aa;Hc(C,aa);O=aa;_=aa;ba=2;aa=aa<<3}R=O<<3;Ca=C+20|0;Ba=c[Ca>>2]|0;c[Ca>>2]=Ba+(R-(Lb(Ba,c[C+28>>2]|0)|0))}else{H=0;R=1}}else H=0;f=a+16|0;ea=u+16|0;ga=K>65536.0;fa=0;do{Ca=da+(($(fa,ha)|0)+M<<2)|0;Jb(d+(fa<<2)|0,Ca,B,o,c[W>>2]|0,ea,a+(fa<<2)+148|0,((c[f>>2]|0)==0?0:ga)&1);fa=fa+1|0}while((fa|0)<(o|0));M=a+68|0;if((c[M>>2]|0)!=0&(ba|0)>3)if((l|0)==0&(H|0)==0)X=33;else f=0;else if((ba|0)>(r*12|0)&(l|0)==0&(H|0)==0)X=33;else f=0;if((X|0)==33)if((c[a+20>>2]|0)==0?(c[a+24>>2]|0)>4:0)if((c[a+116>>2]|0)==0|(x|0)==3)f=1;else f=(c[a+64>>2]|0)!=5010;else f=0;ea=a+100|0;d=c[ea>>2]|0;Q=Nb(a,da,Q,o,B,d,s,P,N,f&1,ba)|0;K=+g[P>>2];if(!(K>.4000000059604645)?!(+g[a+108>>2]>.4000000059604645):0)f=0;else X=39;do if((X|0)==39){if((c[a+120>>2]|0)!=0?!(+g[a+124>>2]>.3):0){f=0;break}Da=+(c[s>>2]|0);Ea=+(c[a+104>>2]|0);f=Da>Ea*1.26|Da >2]|0)+1|0;Ca=32-(vj(Aa|0)|0)|0;Ba=Ca+ -5|0;Dc(C,Ba,6);Ec(C,Aa-(16< >2]|0,3);Cc(C,d,304,2)}ga=a+24|0;if((c[ga>>2]|0)>0?(c[M>>2]|0)==0:0)pa=Ob(da,ha,o,F,U)|0;else pa=0;la=(x|0)>0;a:do if(la?((Lb(c[C+20>>2]|0,c[C+28>>2]|0)|0)+3|0)<=(aa|0):0)if(pa){R=$(o,B)|0;ka=i;i=i+((4*R|0)+15&-16)|0;R=i;i=i+((4*w|0)+15&-16)|0;ra=i;i=i+((4*w|0)+15&-16)|0;va=(T|0)==0;if(!va){Ca=(c[ga>>2]|0)>7;sa=Ca&1;P=$(r,n)|0;ha=i;i=i+((4*P|0)+15&-16)|0;if(Ca){Pb(u,0,da,ka,r,o,x,c[W>>2]|0);Na(u,ka,R,Z,r,x);rd(u,Z,m,R,ha,r);na=+(x|0)*.5;N=0;while(1){if((N|0)>=(P|0)){qa=T;N=0;break a}Ca=ha+(N<<2)|0;g[Ca>>2]=+g[Ca>>2]+na;N=N+1|0}}else{qa=T;N=0}}else{qa=T;N=0;X=55}}else{N=0;X=53}else{N=1;X=53}while(0);if((X|0)==53){R=$(o,B)|0;ka=i;i=i+((4*R|0)+15&-16)|0;R=i;i=i+((4*w|0)+15&-16)|0;ra=i;i=i+((4*w|0)+15&-16)|0;va=1;pa=0;qa=0;X=55}if((X|0)==55){sa=$(r,n)|0;ha=i;i=i+((4*sa|0)+15&-16)|0;sa=0}Pb(u,qa,da,ka,r,o,x,c[W>>2]|0);P=(o|0)==2;if(P&(r|0)==1)c[U>>2]=0;Na(u,ka,R,Z,r,x);b:do if(c[M>>2]|0){Q=2;while(1){if((Q|0)>=(m|0))break b;Ca=R+(Q<<2)|0;Da=+g[Ca>>2];Ea=+g[R>>2]*9999999747378752.0e-20;Ea=Da >2]=Ea;g[Ca>>2]=Ea>1.0000000036274937e-15?Ea:1.0000000036274937e-15;Q=Q+1|0}}while(0);rd(u,Z,m,R,ra,r);Q=$(r,n)|0;ia=i;i=i+((4*Q|0)+15&-16)|0;wj(ia|0,0,m<<2|0)|0;ma=(l|0)==0;do if(ma?(ca=c[a+192>>2]|0,(ca|0)!=0):0){wa=c[M>>2]|0;if(wa){ca=(wa|0)==0;na=0.0;ua=0.0;oa=0.0;break}wa=c[a+92>>2]|0;wa=(wa|0)<2?2:wa;Aa=0;ua=0.0;oa=0.0;za=0;while(1){if((za|0)>=(r|0))break;ya=$(n,za)|0;na=ua;Ba=0;while(1){if((Ba|0)>=(wa|0))break;ua=+g[ca+(ya+Ba<<2)>>2];do if(ua<.25){if(!(ua>-2.0)){ua=-2.0;break}if(ua>0.0)X=76}else{ua=.25;X=76}while(0);if((X|0)==76){X=0;ua=ua*.5}Ca=Ba+1|0;Fa=(b[L+(Ca<<1)>>1]|0)-(b[L+(Ba<<1)>>1]|0)|0;Aa=Aa+Fa|0;na=na+ua*+((Ba<<1|1)-wa|0);oa=oa+ua*+(Fa|0);Ba=Ca}ua=na;za=za+1|0}na=oa/+(Aa|0)+.20000000298023224;oa=ua*6.0/+($($($(r,wa+ -1|0)|0,wa+1|0)|0,wa)|0)*.5;if(oa<.03099999949336052){if(!(oa>-.03099999949336052))oa=-.03099999949336052}else oa=.03099999949336052;za=(b[L+(wa<<1)>>1]|0)/2|0;X=0;while(1){ya=X+1|0;if((b[L+(ya<<1)>>1]|0)<(za|0))X=ya;else break}ya=(r|0)==2;Aa=0;za=0;while(1){if((za|0)>=(wa|0))break;ua=na+oa*+(za-X|0);Ca=ca+(za<<2)|0;do if(ya){Ba=ca+(n+za<<2)|0;if(+g[Ca>>2]>+g[Ba>>2]){Ba=Ca;break}}else Ba=Ca;while(0);Ea=+g[Ba>>2];ua=(Ea<0.0?Ea:0.0)-ua;if(ua>.25){g[ia+(za<<2)>>2]=ua+-.25;Aa=Aa+1|0}za=za+1|0}c:do if((Aa|0)>2){na=na+.25;if(na>0.0){wj(ia|0,0,wa<<2|0)|0;oa=0.0;na=0.0;break}else X=0;while(1){if((X|0)>=(wa|0))break c;Fa=ia+(X<<2)|0;Ea=+g[Fa>>2]+-.25;g[Fa>>2]=Ea<0.0?0.0:Ea;X=X+1|0}}while(0);na=na+.20000000298023224;ua=oa*64.0;X=98}else{na=0.0;ua=0.0;X=98}while(0);if((X|0)==98){ca=(c[M>>2]|0)==0;if(ca){if(va)xa=0.0;else xa=+(x|0)*.5;wa=(r|0)==2;Ea=-10.0;oa=0.0;va=l;while(1){if((va|0)>=(m|0))break;Ea=Ea+-1.0;Da=+g[ra+(va<<2)>>2]-xa;Da=Ea>Da?Ea:Da;do if(wa){Ea=+g[ra+(va+n<<2)>>2]-xa;if(Da>Ea)break;Da=Ea}while(0);Ea=Da;oa=oa+Da;va=va+1|0}va=a+196|0;xa=+g[va>>2];oa=oa/+(m-l|0)-xa;if(!(oa<-1.5)){if(oa>3.0)oa=3.0}else oa=-1.5;g[va>>2]=xa+oa*.019999999552965164}else oa=0.0}if(!sa)yj(ha|0,ra|0,Q<<2|0)|0;if(la){va=C+20|0;sa=C+28|0;do if(((Lb(c[va>>2]|0,c[sa>>2]|0)|0)+3|0)<=(aa|0)&(pa|0)==0)if((c[ga>>2]|0)>4^1|ca^1){la=0;W=qa}else{if(!(Ib(ra,y,n,m,r)|0)){la=0;W=qa;break}Pb(u,T,da,ka,r,o,x,c[W>>2]|0);Na(u,ka,R,Z,r,x);rd(u,Z,m,R,ra,r);xa=+(x|0)*.5;W=0;while(1){if((W|0)>=(Q|0))break;Fa=ha+(W<<2)|0;g[Fa>>2]=+g[Fa>>2]+xa;W=W+1|0}g[F>>2]=.20000000298023224;la=1;W=T}else{la=pa;W=qa}while(0);if(((Lb(c[va>>2]|0,c[sa>>2]|0)|0)+3|0)<=(aa|0))Bc(C,la,3)}else{la=pa;W=qa}da=$(r,B)|0;ca=i;i=i+((4*da|0)+15&-16)|0;Pa(u,ka,ca,R,Z,r,T);da=i;i=i+((4*n|0)+15&-16)|0;d:do if((!((_|0)<(r*15|0)|ma^1)?(c[ga>>2]|0)>1:0)?(c[M>>2]|0)==0:0){do if((_|0)<40)ka=24;else{if((_|0)<60){ka=12;break}ka=(_|0)<100?8:6}while(0);U=Qb(u,Z,la,da,ka,ca,B,x,V,+g[F>>2],c[U>>2]|0)|0;V=da+(Z+ -1<<2)|0;ka=Z;while(1){if((ka|0)>=(m|0))break d;c[da+(ka<<2)>>2]=c[V>>2];ka=ka+1|0}}else X=132;while(0);e:do if((X|0)==132){c[V>>2]=0;U=0;while(1){if((U|0)>=(m|0)){U=0;break e}c[da+(U<<2)>>2]=la;U=U+1|0}}while(0);V=i;i=i+((4*Q|0)+15&-16)|0;gd(u,l,m,Z,ra,y,aa,V,C,r,x,ba,c[a+12>>2]|0,a+84|0,(c[ga>>2]|0)>3&1,c[a+56>>2]|0,c[M>>2]|0);Rb(l,m,la,da,x,U,C);ka=C+20|0;U=C+28|0;if(((Lb(c[ka>>2]|0,c[U>>2]|0)|0)+4|0)<=(aa|0)){f:do if(!(c[M>>2]|0)){ga=c[ga>>2]|0;do if((W|0)!=0|(ga|0)<3)X=141;else{if((ba|0)<(r*10|0))break;if(!ma){X=141;break}Fa=a+80|0;T=Ta(u,ca,a+88|0,c[Fa>>2]|0,a+96|0,ea,fa?0:1,Z,r,T)|0;c[Fa>>2]=T;break f}while(0);do if((X|0)==141){if(ga)break;c[a+80>>2]=0;T=0;break f}while(0);c[a+80>>2]=2;T=2}else{c[ea>>2]=0;c[a+80>>2]=2;T=2}while(0);Cc(C,T,312,5)}T=i;i=i+((4*n|0)+15&-16)|0;X=a+52|0;xa=+Sb(ra,ha,n,l,m,r,T,c[Y>>2]|0,c[u+56>>2]|0,la,c[S>>2]|0,c[X>>2]|0,L,x,_,G,c[M>>2]|0,ia);if(c[M>>2]|0){if((_|0)>26)S=8;else S=(_|0)/3|0;c[T>>2]=S}S=i;i=i+((4*n|0)+15&-16)|0;pb(u,S,x,r);Y=aa<<3;ba=6;ea=l;_=jc(C)|0;Z=0;while(1){if((ea|0)>=(m|0))break;aa=ea+1|0;ga=($(r,(b[L+(aa<<1)>>1]|0)-(b[L+(ea<<1)>>1]|0)|0)|0)< =((fa?48:ga)|0))ha=fa?48:ga;ia=S+(ea<<2)|0;fa=T+(ea<<2)|0;ea=0;ma=ba;ga=0;while(1){if((_+(ma<<3)|0)>=(Y-Z|0))break;if((ea|0)>=(c[ia>>2]|0))break;Fa=(ga|0)<(c[fa>>2]|0);Bc(C,Fa&1,ma);_=jc(C)|0;if(!Fa)break;ea=ea+ha|0;ma=1;ga=ga+1|0;Z=Z+ha|0}if(ga)ba=(ba|0)<3?2:ba+ -1|0;c[fa>>2]=ea;ea=aa}L=(r|0)==2;if(L){if(x)c[v>>2]=Tb(u,ca,x,B)|0;aa=a+188|0;ea=La(+((h|0)/1e3|0|0),c[aa>>2]|0)|0;c[aa>>2]=ea;ba=(l|0)>(ea|0);if((m|0)<((ba?l:ea)|0))ba=m;else ba=ba?l:ea;c[aa>>2]=ba}if((_+48|0)>(Y-Z|0))Y=5;else{if(!(c[M>>2]|0))Y=Ub(u,ca,ra,m,x,r,B,a+120|0,a+184|0,+g[F>>2],c[a+188>>2]|0,ua,c[a+72>>2]|0)|0;else Y=5;Cc(C,Y,496,7);_=jc(C)|0}if(j){j=(c[I>>2]|0)-x|0;I=1275>>>(3-x|0);I=(O|0)<(I|0)?O:I;aa=J-((r*320|0)+160)|0;X=c[X>>2]|0;O=(X|0)==0;if(!O)aa=aa+(c[a+172>>2]>>j)|0;f=(Vb(u,a+120|0,aa,x,h,c[a+92>>2]|0,r,c[a+188>>2]|0,X,+g[a+184>>2],c[G>>2]|0,+g[F>>2],f,xa,c[a+64>>2]|0,c[M>>2]|0,(c[a+192>>2]|0)!=0&1,na,oa)|0)+_|0;G=(_+Z+63>>6)+2-E|0;X=f+32>>6;X=((G|0)>(X|0)?G:X)+E|0;X=((I|0)<(X|0)?I:X)-E|0;G=(H|0)==0;F=G?X:2;Z=a+176|0;_=c[Z>>2]|0;if((_|0)<970){c[Z>>2]=_+1;na=1.0/+(_+21|0)}else na=.0010000000474974513;do if(!O){Fa=a+164|0;c[Fa>>2]=(c[Fa>>2]|0)+((G?X<<6:128)-J);Fa=a+172|0;Ca=a+168|0;Ba=c[Ca>>2]|0;J=Ba+~~(na*+(((G?f-J|0:0)< >2]|0)-Ba|0))|0;c[Ca>>2]=J;c[Fa>>2]=0-J;J=a+164|0;j=c[J>>2]|0;if((j|0)>=0)break;if(G)G=(j|0)/-64|0;else G=0;c[J>>2]=0;F=F+G|0}while(0);O=F+E|0;O=(I|0)<(O|0)?I:O;Hc(C,O)}F=i;i=i+((4*n|0)+15&-16)|0;G=i;i=i+((4*n|0)+15&-16)|0;J=i;i=i+((4*n|0)+15&-16)|0;I=O<<6;f=I-(jc(C)|0)+ -1|0;E=(la|0)==0;if((E^1)&(x|0)>1)j=(f|0)>=((x<<3)+16|0)?8:0;else j=0;X=f-j|0;if(!(c[a+120>>2]|0))Z=m+ -1|0;else{do if((h|0)<(r*32e3|0))h=13;else{if((h|0)<(r*48e3|0)){h=16;break}if((h|0)<(r*6e4|0)){h=18;break}h=(h|0)<(r*8e4|0)?19:20}while(0);Z=c[a+144>>2]|0;Z=(Z|0)>(h|0)?Z:h}h=a+188|0;f=a+92|0;M=sd(u,l,m,T,S,Y,h,v,X,t,G,F,J,r,x,C,1,c[f>>2]|0,(c[M>>2]|0)==0?Z:1)|0;T=c[f>>2]|0;do if(!T)S=M;else{S=T+1|0;T=T+ -1|0;X=(T|0)>(M|0);if((S|0)<((X?T:M)|0))break;S=X?T:M}while(0);c[f>>2]=S;md(u,l,m,y,V,F,C,r);S=i;i=i+((1*Q|0)+15&-16)|0;if(L)L=ca+(B<<2)|0;else L=0;B=a+76|0;Va(1,u,l,m,ca,L,S,R,G,W,c[a+80>>2]|0,c[v>>2]|0,c[h>>2]|0,da,I-j|0,c[t>>2]|0,C,x,M,B,c[a+72>>2]|0);if(j)Ec(C,(c[a+116>>2]|0)<2&1,1);nd(u,l,m,y,V,F,J,(O<<3)-(Lb(c[ka>>2]|0,c[U>>2]|0)|0)|0,C,r);g:do if(H){t=0;while(1){if((t|0)>=(Q|0))break g;g[a+(e+t<<2)+200>>2]=-28.0;t=t+1|0}}while(0);c[a+104>>2]=c[s>>2];g[a+108>>2]=K;c[a+112>>2]=d;if(P&(r|0)==1)yj(a+(e+n<<2)+200|0,y|0,n<<2|0)|0;h:do if(E){r=w<<2;yj(A|0,z|0,r|0)|0;yj(z|0,y|0,r|0)|0;r=0}else{r=0;while(1){if((r|0)>=(w|0)){r=0;break h}Fa=a+(q+r<<2)+200|0;Da=+g[Fa>>2];Ea=+g[a+(e+r<<2)+200>>2];g[Fa>>2]=Da =(l|0)){t=m;break}Fa=s+t|0;g[a+(e+Fa<<2)+200>>2]=0.0;g[a+(p+Fa<<2)+200>>2]=-28.0;g[a+(q+Fa<<2)+200>>2]=-28.0;t=t+1|0}while(1){if((t|0)>=(n|0))break;Fa=s+t|0;g[a+(e+Fa<<2)+200>>2]=0.0;g[a+(p+Fa<<2)+200>>2]=-28.0;g[a+(q+Fa<<2)+200>>2]=-28.0;t=t+1|0}r=r+1|0}while((r|0)<(o|0));a=a+116|0;if(E&(N|0)==0)c[a>>2]=0;else c[a>>2]=(c[a>>2]|0)+1;c[B>>2]=c[U>>2];Ic(C);Fa=(Wb(c[C+44>>2]|0)|0)==0;ja(D|0);Fa=Fa?O:-3;i=k;return Fa|0}function Lb(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function Mb(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0,h=0.0;d=i;e=0.0;c=0.0;f=0;while(1){if((f|0)>=(b|0))break;h=+g[a+(f<<2)>>2];e=e>h?e:h;c=c h?e:h)}function Nb(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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.0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;r=i;i=i+16|0;o=r+8|0;w=r;u=c[a>>2]|0;s=c[u+4>>2]|0;t=f+1024|0;p=$(t,e)|0;v=i;i=i+((4*p|0)+15&-16)|0;c[o>>2]=v;c[o+4>>2]=v+(t<<2);p=s+f|0;q=f<<2;y=0;while(1){yj(v|0,d+(y<<10<<2)|0,4096)|0;yj(v+4096|0,b+(($(y,p)|0)+s<<2)|0,q|0)|0;y=y+1|0;if((y|0)>=(e|0))break;v=c[o+(y<<2)>>2]|0}if(!m){c[w>>2]=15;t=a+104|0;m=15;x=0.0}else{v=ta()|0;J=i;i=i+((4*(t>>1)|0)+15&-16)|0;m=a+72|0;Yc(o,J,t,e,c[m>>2]|0);bd(J+2048|0,J,f,979,w,c[m>>2]|0);c[w>>2]=1024-(c[w>>2]|0);t=a+104|0;x=+dd(J,f,w,c[t>>2]|0,+g[a+108>>2],c[m>>2]|0);m=c[w>>2]|0;if((m|0)>1022){c[w>>2]=1022;m=1022}x=x*.699999988079071;w=c[a+56>>2]|0;if((w|0)>2){x=x*.5;if((w|0)>4)x=(w|0)>8?0.0:x*.5}ja(v|0)}v=c[t>>2]|0;J=m-v|0;K=(((J|0)>-1?J:0-J|0)*10|0)>(m|0)?.4000000059604645:.20000000298023224;if((n|0)<25)K=K+.10000000149011612;if((n|0)<35)K=K+.10000000149011612;n=a+108|0;z=+g[n>>2];if(z>.4000000059604645)K=K+-.10000000149011612;if(z>.550000011920929)K=K+-.10000000149011612;if(x<(K>.20000000298023224?K:.20000000298023224)){x=0.0;w=0;y=0}else{w=+O(+(x-z))<.10000000149011612;w=~~+N(+((w?z:x)*32.0/3.0+.5));y=w+ -1|0;if((y|0)>7)y=7;else y=(w|0)<1?0:y;x=+(y+1|0)*.09375;w=1}A=u+44|0;C=s<<2;z=-x;B=a+112|0;u=u+60|0;E=(f|0)>1024;D=1024-f<<2;F=0;while(1){H=c[A>>2]|0;G=H-s|0;c[t>>2]=(v|0)>15?v:15;J=$(F,p)|0;I=a+(($(F,s)|0)<<2)+200|0;yj(b+(J<<2)|0,I|0,C|0)|0;if((H|0)==(s|0)){H=J+s|0;v=c[o+(F<<2)>>2]|0}else{H=J+s|0;v=c[o+(F<<2)>>2]|0;M=c[t>>2]|0;K=-+g[n>>2];L=c[B>>2]|0;nb(b+(H<<2)|0,v+4096|0,M,M,G,K,K,L,L,0,0)}nb(b+(H+G<<2)|0,v+(G+1024<<2)|0,c[t>>2]|0,m,f-G|0,-+g[n>>2],z,c[B>>2]|0,h,c[u>>2]|0,s);yj(I|0,b+(J+f<<2)|0,C|0)|0;H=F<<10;G=d+(H<<2)|0;if(E)zj(G|0,v+(f<<2)|0,4096)|0;else{zj(G|0,d+(H+f<<2)|0,D|0)|0;zj(d+(H+1024-f<<2)|0,v+4096|0,q|0)|0}F=F+1|0;if((F|0)>=(e|0))break;v=c[t>>2]|0}g[k>>2]=x;c[j>>2]=m;c[l>>2]=y;i=r;return w|0}function Ob(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0.0;k=i;l=i;i=i+((4*b|0)+15&-16)|0;s=(b|0)/2|0;n=+(s|0);m=+(s|0);o=s+ -5|0;p=(s*6|0)+ -102|0;r=0;q=0;while(1){if((q|0)>=(e|0))break;v=$(q,b)|0;t=0.0;u=0.0;w=0;while(1){if((w|0)>=(b|0))break;z=+g[a+(w+v<<2)>>2];x=t+z;g[l+(w<<2)>>2]=x;t=u+x-z*2.0;u=z-x*.5;w=w+1|0}v=l+0|0;w=v+48|0;do{c[v>>2]=0;v=v+4|0}while((v|0)<(w|0));t=0.0;u=0.0;v=0;while(1){if((v|0)>=(s|0)){u=0.0;x=0.0;w=s;break}y=v<<1;z=+g[l+(y<<2)>>2];x=+g[l+((y|1)<<2)>>2];x=z*z+x*x;z=u+(x-u)*.0625;g[l+(v<<2)>>2]=z;t=t+x;u=z;v=v+1|0}while(1){v=w+ -1|0;if((w|0)<=0)break;y=l+(v<<2)|0;x=x+(+g[y>>2]-x)*.125;g[y>>2]=x;if(u>x){w=v;continue}u=x;w=v}t=m/(+P(+(t*u*.5*n))+1.0000000036274937e-15)*64.0;v=12;w=0;while(1){if((v|0)>=(o|0))break;y=~~+N(+(t*+g[l+(v<<2)>>2]));if((y|0)>127)y=127;else y=(y|0)<0?0:y;v=v+4|0;w=w+(d[512+y>>0]|0)|0}v=(w<<8|0)/(p|0)|0;if((v|0)>(r|0)){c[h>>2]=q;r=v}q=q+1|0}l=(r|0)>200&1;m=+P(+(+(r*27|0)))+-42.0;if(!(m<0.0)){if(!(m>163.0))j=22}else{m=0.0;j=22}if((j|0)==22)if(m*.006899999920278788+-.139<0.0){z=0.0;z=+P(+z);g[f>>2]=z;i=k;return l|0}if(m>163.0){z=.9856999502182007;z=+P(+z);g[f>>2]=z;i=k;return l|0}z=m*.006899999920278788+-.139;z=+P(+z);g[f>>2]=z;i=k;return l|0}function Pb(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0;l=i;n=c[a+4>>2]|0;m=c[a+44>>2]|0;if(!b){b=1;m=m< >2]|0)-j|0}else p=c[a+36>>2]|0;q=a+64|0;j=$(b,m)|0;o=j+n|0;s=a+60|0;u=0;do{r=$(u,o)|0;t=$($(u,m)|0,b)|0;a=0;while(1){if((a|0)>=(b|0))break;w=d+(r+($(a,m)|0)<<2)|0;Vc(q,w,e+(a+t<<2)|0,c[s>>2]|0,n,p,b);a=a+1|0}u=u+1|0}while((u|0)<(h|0));a:do if((h|0)==2&(f|0)==1){d=0;while(1){if((d|0)>=(j|0))break a;w=e+(d<<2)|0;g[w>>2]=+g[w>>2]*.5+ +g[e+(j+d<<2)>>2]*.5;d=d+1|0}}while(0);if((k|0)==1){i=l;return}d=(j|0)/(k|0)|0;v=+(k|0);k=j-d<<2;n=0;do{j=$($(n,b)|0,m)|0;h=0;while(1){if((h|0)>=(d|0))break;w=e+(j+h<<2)|0;g[w>>2]=+g[w>>2]*v;h=h+1|0}wj(e+(j+d<<2)|0,0,k|0)|0;n=n+1|0}while((n|0)<(f|0));i=l;return}function Qb(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0.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,I=0,J=0,K=0.0;p=i;i=i+16|0;u=p;n=.5-n;if(n<-.25)n=-.009999999776482582;else n=n*.03999999910593033;r=i;i=i+((4*e|0)+15&-16)|0;y=d+32|0;q=c[y>>2]|0;s=e+ -1|0;q=(b[q+(e<<1)>>1]|0)-(b[q+(s<<1)>>1]|0)< >2]=0;A=$(o,k)|0;k=(f|0)==0;B=$(l,-2)|0;o=1< =(e|0))break;C=E+1|0;D=c[y>>2]|0;J=b[D+(E<<1)>>1]|0;D=(b[D+(C<<1)>>1]|0)-J|0;F=D< >l,o),v=+$b(w,F,z,n),v =(((I?D^1:0)&1)+l|0))break;if(k)t=J+1|0;else t=l-J+ -1|0;Ua(x,F>>J,1< >2]=G;F=0}else{G=G<<1;c[r+(E<<2)>>2]=G;F=l}E=r+(E<<2)|0;c[m>>2]=(c[m>>2]|0)+(F-((G|0)/2|0));if(!D){E=C;continue}if(G)if((G|0)==(B|0))D=B;else{E=C;continue}else D=0;c[E>>2]=D+ -1;E=C}j=f<<2;y=0;while(1){if((y|0)>=2)break;w=j+(y<<1)|0;f=216+(l<<3)+w|0;w=(w|1)+(216+(l<<3))|0;o=0;m=k?h:0;x=1;while(1){if((x|0)>=(e|0))break;F=m+h|0;I=o+h|0;J=c[r+(x<<2)>>2]|0;G=J-(a[f>>0]<<1)|0;J=J-(a[w>>0]<<1)|0;o=((o|0)<(F|0)?o:F)+((G|0)>-1?G:0-G|0)|0;m=((I|0)<(m|0)?I:m)+((J|0)>-1?J:0-J|0)|0;x=x+1|0}c[u+(y<<2)>>2]=(o|0)<(m|0)?o:m;y=y+1|0}if((c[u+4>>2]|0)<(c[u>>2]|0))if(k){u=0;t=32}else{k=0;u=1}else{u=0;if(k)t=32;else k=0}if((t|0)==32)k=h;m=j+(u<<1)|0;t=216+(l<<3)+m|0;l=(m|1)+(216+(l<<3))|0;m=0;j=k;k=1;while(1){if((k|0)>=(e|0))break;f=j+h|0;w=q+(k<<2)|0;if((m|0)<(f|0)){c[w>>2]=0;f=m}else c[w>>2]=1;m=m+h|0;w=d+(k<<2)|0;if((m|0)<(j|0)){c[w>>2]=0;j=m}else c[w>>2]=1;J=c[r+(k<<2)>>2]|0;m=J-(a[t>>0]<<1)|0;J=J-(a[l>>0]<<1)|0;m=f+((m|0)>-1?m:0-m|0)|0;j=j+((J|0)>-1?J:0-J|0)|0;k=k+1|0}h=(m|0)>=(j|0)&1;c[g+(s<<2)>>2]=h;e=e+ -2|0;while(1){if((e|0)<=-1)break;r=e+1|0;if((h|0)==1){h=c[d+(r<<2)>>2]|0;c[g+(e<<2)>>2]=h}else{h=c[q+(r<<2)>>2]|0;c[g+(e<<2)>>2]=h}e=e+ -1|0}i=p;return u|0}function Rb(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=i;o=c[j+4>>2]<<3;m=j+20|0;n=j+28|0;u=Lb(c[m>>2]|0,c[n>>2]|0)|0;p=(e|0)!=0;t=p?2:4;if((g|0)>0)l=(u+t+1|0)>>>0<=o>>>0;else l=0;o=o-(l&1)|0;p=p?4:5;r=0;q=b;s=0;while(1){if((q|0)>=(d|0))break;v=f+(q<<2)|0;if((u+t|0)>>>0>o>>>0)c[v>>2]=r;else{Bc(j,c[v>>2]^r,t);u=Lb(c[m>>2]|0,c[n>>2]|0)|0;v=c[v>>2]|0;r=v;s=s|v}t=p;q=q+1|0}m=e<<2;if(l?(a[m+s+(216+(g<<3))>>0]|0)!=(a[(m|2)+s+(216+(g<<3))>>0]|0):0){Bc(j,h,1);l=h<<1}else l=0;l=m+l|0;while(1){if((b|0)>=(d|0))break;v=f+(b<<2)|0;c[v>>2]=a[l+(c[v>>2]|0)+(216+(g<<3))>>0];b=b+1|0}i=k;return}function Sb(a,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|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,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0;x=i;H=$(j,e)|0;y=i;i=i+((4*H|0)+15&-16)|0;A=i;i=i+((4*H|0)+15&-16)|0;wj(k|0,0,e<<2|0)|0;z=+(9-l|0);l=0;while(1){if((l|0)>=(h|0)){m=0;z=-31.899999618530273;l=0;break}H=l+5|0;g[A+(l<<2)>>2]=+(b[m+(l<<1)>>1]|0)*.0625+.5+z- +g[20656+(l<<2)>>2]+ +($(H,H)|0)*.006200000178068876;l=l+1|0}a:while(1){while(1){if((l|0)<(h|0))break;m=m+1|0;if((m|0)<(j|0))l=0;else break a}F=+g[a+(($(m,e)|0)+l<<2)>>2];F=F- +g[A+(l<<2)>>2];z=z>F?z:F;l=l+1|0}if(!((s|0)>50&(r|0)>0&(u|0)==0)){H=0;c[t>>2]=H;i=x;return+z}m=h+ -2|0;B=h+ -1|0;u=0;D=0;do{l=$(u,e)|0;C=y+(l<<2)|0;E=d+(l<<2)|0;F=+g[E>>2];g[C>>2]=F;G=1;while(1){if((G|0)>=(h|0)){H=D;break}H=l+G|0;I=+g[d+(H<<2)>>2];H=I>+g[d+(H+ -1<<2)>>2]+.5?G:D;J=F+1.5;I=J>2]=I;F=I;D=H;G=G+1|0}while(1){G=H+ -1|0;if((H|0)<=0){G=2;break}K=y+(l+G<<2)|0;F=+g[K>>2];I=+g[y+(l+H<<2)>>2]+2.0;J=+g[d+(l+G<<2)>>2];M=I >2]=L|M?L?F:I:J;H=G}while(1){if((G|0)>=(m|0))break;M=y+(l+G<<2)|0;I=+g[M>>2];J=+Zb(d+(l+G+ -2<<2)|0)+-1.0;g[M>>2]=I>J?I:J;G=G+1|0}J=+_b(E)+-1.0;I=+g[C>>2];g[C>>2]=I>J?I:J;C=y+(l+1<<2)|0;I=+g[C>>2];g[C>>2]=I>J?I:J;J=+_b(d+(l+h+ -3<<2)|0)+-1.0;C=y+(l+m<<2)|0;I=+g[C>>2];g[C>>2]=I>J?I:J;C=y+(l+B<<2)|0;I=+g[C>>2];g[C>>2]=I>J?I:J;C=0;while(1){if((C|0)>=(h|0))break;M=y+(l+C<<2)|0;I=+g[M>>2];J=+g[A+(C<<2)>>2];g[M>>2]=I>J?I:J;C=C+1|0}u=u+1|0}while((u|0)<(j|0));b:do if((j|0)==2){d=f;while(1){if((d|0)>=(h|0)){a=f;break b}K=d+e|0;L=y+(K<<2)|0;J=+g[L>>2];M=y+(d<<2)|0;I=+g[M>>2]+-4.0;I=J>I?J:I;g[L>>2]=I;J=+g[M>>2];I=I+-4.0;I=J>I?J:I;g[M>>2]=I;I=+g[a+(d<<2)>>2]-I;J=+g[a+(K<<2)>>2]- +g[L>>2];g[M>>2]=((I<0.0?0.0:I)+(J<0.0?0.0:J))*.5;d=d+1|0}}else{e=f;while(1){if((e|0)>=(h|0)){a=f;break b}M=y+(e<<2)|0;J=+g[a+(e<<2)>>2]- +g[M>>2];g[M>>2]=J<0.0?0.0:J;e=e+1|0}}while(0);while(1){if((a|0)>=(h|0))break;M=y+(a<<2)|0;I=+g[M>>2];J=+g[v+(a<<2)>>2];g[M>>2]=I>J?I:J;a=a+1|0}o=(o|0)==0;c:do if(((o^1)&(p|0)==0^1)&(n|0)==0){v=f;while(1){if((v|0)>=(h|0))break c;M=y+(v<<2)|0;g[M>>2]=+g[M>>2]*.5;v=v+1|0}}while(0);s=(s|0)/4|0;p=(p|0)==0;n=(n|0)==0;v=0;while(1){if((f|0)>=(h|0)){w=48;break}if((f|0)>=8)if((f|0)>11){M=y+(f<<2)|0;F=+g[M>>2]*.5;g[M>>2]=F}else w=36;else{w=y+(f<<2)|0;g[w>>2]=+g[w>>2]*2.0;w=36}if((w|0)==36){w=0;F=+g[y+(f<<2)>>2]}F=F<4.0?F:4.0;g[y+(f<<2)>>2]=F;a=f+1|0;d=($((b[q+(a<<1)>>1]|0)-(b[q+(f<<1)>>1]|0)|0,j)|0)< =6)if((d|0)>48){M=~~(F*8.0);e=M;d=(($(M,d)|0)<<3|0)/8|0;break}else{d=~~(F*+(d|0)/6.0);e=d;d=d*48|0;break}else{M=~~F;e=M;d=($(M,d)|0)<<3}while(0);if(!(!o?p|n^1:0))w=45;if((w|0)==45?(w=0,(v+d>>6|0)>(s|0)):0)break;c[k+(f<<2)>>2]=e;f=a;v=v+d|0}if((w|0)==48){c[t>>2]=v;i=x;return+z}M=s<<6;c[k+(f<<2)>>2]=M-v;c[t>>2]=M;i=x;return+z}function Tb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0;h=i;a=a+32|0;m=0;l=1.0000000036274937e-15;n=1.0000000036274937e-15;a:while(1){if((m|0)>=13)break;o=c[a>>2]|0;j=m+1|0;k=b[o+(j<<1)>>1]< >1]< =(k|0)){m=j;continue a}q=+g[d+(m<<2)>>2];p=+g[d+(m+f<<2)>>2];m=m+1|0;l=l+(+O(+q)+ +O(+p));n=n+(+O(+(q+p))+ +O(+(q-p)))}}o=b[(c[a>>2]|0)+26>>1]< +(o|0)*l|0}function Ub(a,d,e,f,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=+p;q=q|0;var r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;q=i;if((j|0)==2){r=a+32|0;v=0;s=0.0;while(1){if((v|0)>=8)break;y=c[r>>2]|0;w=b[y+(v<<1)>>1]|0;z=w< >1]|0)-w< 1.0?1.0:t;s=t;v=8;while(1){if((v|0)>=(o|0))break;y=c[r>>2]|0;z=b[y+(v<<1)>>1]|0;x=z< >1]|0)-z< 1.0?1.0:A;s=+Z(+(1.0010000467300415-t*t))*1.4426950408889634;u=s*.5;t=+Z(+(1.0010000467300415-A*A))*1.4426950408889634;s=s*.75;if(s<-4.0)s=1.0;else s=s+5.0;B=+g[m>>2]+.25;A=-((u>t?u:t)*.5);g[m>>2]=B=(m|0))break;t=t+ +g[e+(k+($(d,c[a>>2]|0)|0)<<2)>>2]*+((k<<1)+2-f|0);k=k+1|0}d=d+1|0}while((d|0)<(j|0));t=(t/+($(m,j)|0)+1.0)/6.0;if(!(t>2.0)){if(t<-2.0)t=-2.0}else t=2.0;p=s-t-p-n*2.0;if(c[l>>2]|0){n=(+g[l+8>>2]+.05000000074505806)*2.0;if(!(n>2.0)){if(n<-2.0)n=-2.0}else n=2.0;p=p-n}l=~~+N(+(p+.5));if((l|0)>10){i=q;return 10}else{i=q;return((l|0)<0?0:l)|0}return 0}function Vb(a,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|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.0,B=0,C=0,D=0,E=0,F=0.0;x=i;y=c[a+8>>2]|0;a=c[a+32>>2]|0;C=(j|0)==0?y:j;E=b[a+(C<<1)>>1]|0;j=E<<16>>16< (l|0))z=b[a+(l<<1)>>1]|0;else z=E;j=j+(z<<16>>16< >2]|0)==0;if(!z?(A=+g[d+16>>2],A<.4):0)B=e-~~(+(j<<3|0)*(.4000000059604645-A))|0;else B=e;if(D){if((C|0)>(l|0))E=b[a+(l<<1)>>1]|0;else l=C;l=(E<<16>>16< >2]+-.15000000596046448;if(n<0.0)A=-.09000000357627869;else A=n+-.09000000357627869;n=+(j<<3|0);o=o+~~(n*1.2000000476837158*A)|0;if(q)o=o+~~(n*.800000011920929)|0}u=(u|0)==0;if((u^1)&(t|0)==0){E=o+~~(+(j<<3|0)*v)|0;o=(o|0)/4|0;o=(o|0)>(E|0)?o:E}E=~~(+(($(b[a+(y+ -2<<1)>>1]< >2;y=(E|0)>(y|0)?E:y;y=(o|0)<(y|0)?o:y;if((u^1)&(t|0)==0){E=y;D=e<<1;C=(D|0)<(E|0);E=C?D:E;i=x;return E|0}t=(m|0)==0;if(t^1|(h|0)<64e3){r=+(h+ -32e3|0)*30517578125.0e-15;r=r<0.0?0.0:r;if(!t?!(r<.6700000166893005):0)r=.6700000166893005;y=~~(r*+(y-e|0))+e|0}if(!(u&p<.20000000298023224)){E=y;D=e<<1;C=(D|0)<(E|0);E=C?D:E;i=x;return E|0}h=96e3-h|0;if((h|0)<=32e3)if((h|0)<0)p=0.0;else p=+(h|0)*3099999958067201.0e-21;else p=.09919999539852142;E=y+~~(p*w*+(y|0))|0;D=e<<1;C=(D|0)<(E|0);E=C?D:E;i=x;return E|0}function Wb(a){a=a|0;return a|0}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;c[f>>2]=d;do switch(b|0){case 4020:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+52>>2]=k;a=37;break};case 10012:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+36>>2]=b;a=37}else a=38;break};case 4037:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[k>>2]=c[a+60>>2];a=37;break};case 4010:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)<0|(b|0)>10)a=38;else{c[a+24>>2]=b;a=37}break};case 4036:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)<8|(b|0)>24)a=38;else{c[a+60>>2]=b;a=37}break};case 4040:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+64>>2]=k;a=37;break};case 4006:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+44>>2]=k;a=37;break};case 10008:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)<1|(b|0)>2)a=38;else{c[a+8>>2]=b;a=37}break};case 10015:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if(!b)a=38;else{c[b>>2]=c[a>>2];a=37}break};case 4028:{h=a+4|0;f=c[h>>2]|0;b=c[a>>2]|0;k=c[b+8>>2]|0;d=(c[b+4>>2]|0)+1024+k|0;j=$(f,d)|0;k=$(f,d+k|0)|0;wj(a+76|0,0,(Fb(b,f)|0)+ -76|0)|0;d=0;while(1){if((d|0)>=($(f,c[b+8>>2]|0)|0))break;g[a+(k+d<<2)+200>>2]=-28.0;g[a+(j+d<<2)+200>>2]=-28.0;b=c[a>>2]|0;f=c[h>>2]|0;d=d+1|0}c[a+172>>2]=0;g[a+84>>2]=1.0;c[a+80>>2]=2;c[a+88>>2]=256;c[a+96>>2]=0;c[a+100>>2]=0;a=37;break};case 10010:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+32>>2]=b;a=37}else a=38;break};case 4014:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)<0|(b|0)>100)a=38;else{c[a+56>>2]=b;a=37}break};case 10022:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if(!b)a=37;else{a=a+120|0;c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];a=37}break};case 10024:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+68>>2]=k;a=37;break};case 10026:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+192>>2]=k;a=37;break};case 10002:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)<0|(b|0)>2)a=38;else{c[a+20>>2]=(b|0)<2&1;c[a+12>>2]=(b|0)==0&1;a=37}break};case 4031:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if(!b)a=38;else{c[b>>2]=c[a+76>>2];a=37}break};case 10016:{j=c[f>>2]|0;k=c[j>>2]|0;c[f>>2]=j+4;c[a+48>>2]=k;a=37;break};case 4002:{k=c[f>>2]|0;b=c[k>>2]|0;c[f>>2]=k+4;if((b|0)>=501|(b|0)==-1){k=(c[a+4>>2]|0)*26e4|0;c[a+40>>2]=(b|0)<(k|0)?b:k;a=37}else a=38;break};default:{k=-5;i=e;return k|0}}while(0);if((a|0)==37){k=0;i=e;return k|0}else if((a|0)==38){k=-1;i=e;return k|0}return 0}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0;d=i;f=0;e=0.0;while(1){if((f|0)>=(c|0))break;h=e+ +g[a+(f<<2)>>2]*+g[b+(f<<2)>>2];f=f+1|0;e=h}i=d;return+e}function Zb(a){a=a|0;var b=0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,j=0.0,k=0;b=i;c=+g[a+8>>2];j=+g[a>>2];d=+g[a+4>>2];k=j>d;h=k?j:d;j=k?d:j;d=+g[a+12>>2];f=+g[a+16>>2];a=d>f;e=a?d:f;d=a?f:d;a=j>d;f=a?e:h;d=a?j:d;e=a?h:e;do if(c>f)if(f >2];e=+g[a+4>>2];f=c>e;d=f?c:e;c=f?e:c;e=+g[a+8>>2];if(!(d =(b|0))break;f=f+ +O(+(+g[a+(h<<2)>>2]));h=h+1|0}i=e;return+(f+ +(c|0)*d*f)}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;d=i;e=+g[b>>2];f=0;while(1){if((f|0)>=(c|0))break;g[a+(f<<2)>>2]=0.0;f=f+1|0}if(+g[b>>2]!=0.0)f=0;else{i=d;return}while(1){if((f|0)<(c|0)){j=0.0;h=0}else{b=12;break}while(1){if((h|0)>=(f|0))break;j=j+ +g[a+(h<<2)>>2]*+g[b+(f-h<<2)>>2];h=h+1|0}k=f;f=f+1|0;m=(j+ +g[b+(f<<2)>>2])/e;j=-m;g[a+(k<<2)>>2]=j;l=f>>1;k=k+ -1|0;h=0;while(1){if((h|0)>=(l|0))break;q=a+(h<<2)|0;o=+g[q>>2];n=a+(k-h<<2)|0;p=+g[n>>2];g[q>>2]=o+p*j;g[n>>2]=p+o*j;h=h+1|0}e=e-m*m*e;if(e<+g[b>>2]*.0010000000474974513){b=12;break}}if((b|0)==12){i=d;return}}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 j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0;k=i;i=i+112|0;l=k+96|0;h=k;j=i;i=i+((4*(e+24|0)|0)+15&-16)|0;m=0;while(1){if((m|0)>=24){b=0;break}g[h+(m<<2)>>2]=+g[b+(24-m+ -1<<2)>>2];m=m+1|0}while(1){if((b|0)>=24){b=0;break}g[j+(b<<2)>>2]=+g[f+(24-b+ -1<<2)>>2];b=b+1|0}while(1){if((b|0)>=(e|0)){b=0;break}g[j+(b+24<<2)>>2]=+g[a+(b<<2)>>2];b=b+1|0}while(1){if((b|0)>=24)break;g[f+(b<<2)>>2]=+g[a+(e-b+ -1<<2)>>2];b=b+1|0}b=e+ -3|0;m=l+4|0;n=l+8|0;o=l+12|0;f=0;while(1){if((f|0)>=(b|0))break;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;cc(h,j+(f<<2)|0,l,24);g[d+(f<<2)>>2]=+g[a+(f<<2)>>2]+ +g[l>>2];q=f|1;g[d+(q<<2)>>2]=+g[a+(q<<2)>>2]+ +g[m>>2];q=f|2;g[d+(q<<2)>>2]=+g[a+(q<<2)>>2]+ +g[n>>2];q=f|3;g[d+(q<<2)>>2]=+g[a+(q<<2)>>2]+ +g[o>>2];f=f+4|0}while(1){if((f|0)<(e|0)){l=0;p=0.0}else break;while(1){if((l|0)>=24)break;r=p+ +g[h+(l<<2)>>2]*+g[j+(f+l<<2)>>2];l=l+1|0;p=r}g[d+(f<<2)>>2]=+g[a+(f<<2)>>2]+p;f=f+1|0}i=k;return}function cc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;j=i;m=d+ -3|0;e=c+4|0;f=c+8|0;h=c+12|0;p=b+12|0;q=0;k=+g[b>>2];n=+g[b+4>>2];l=+g[b+8>>2];o=0.0;while(1){if((q|0)>=(m|0))break;v=+g[a>>2];o=+g[p>>2];y=+g[c>>2]+v*k;g[c>>2]=y;x=+g[e>>2]+v*n;g[e>>2]=x;w=+g[f>>2]+v*l;g[f>>2]=w;v=+g[h>>2]+v*o;g[h>>2]=v;u=+g[a+4>>2];t=+g[p+4>>2];y=y+u*n;g[c>>2]=y;x=x+u*l;g[e>>2]=x;w=w+u*o;g[f>>2]=w;u=v+u*t;g[h>>2]=u;v=+g[a+8>>2];s=+g[p+8>>2];y=y+v*l;g[c>>2]=y;x=x+v*o;g[e>>2]=x;w=w+v*t;g[f>>2]=w;v=u+v*s;g[h>>2]=v;u=+g[a+12>>2];r=+g[p+12>>2];g[c>>2]=y+u*o;g[e>>2]=x+u*t;g[f>>2]=w+u*s;g[h>>2]=v+u*r;a=a+16|0;p=p+16|0;q=q+4|0;k=t;n=s;l=r}m=q|1;if((q|0)<(d|0)){y=+g[a>>2];o=+g[p>>2];g[c>>2]=+g[c>>2]+y*k;g[e>>2]=+g[e>>2]+y*n;g[f>>2]=+g[f>>2]+y*l;g[h>>2]=+g[h>>2]+y*o;a=a+4|0;p=p+4|0}if((m|0)<(d|0)){y=+g[a>>2];k=+g[p>>2];g[c>>2]=+g[c>>2]+y*n;g[e>>2]=+g[e>>2]+y*l;g[f>>2]=+g[f>>2]+y*o;g[h>>2]=+g[h>>2]+y*k;a=a+4|0;p=p+4|0}if((m+1|0)>=(d|0)){i=j;return}x=+g[a>>2];y=+g[p>>2];g[c>>2]=+g[c>>2]+x*l;g[e>>2]=+g[e>>2]+x*o;g[f>>2]=+g[f>>2]+x*k;g[h>>2]=+g[h>>2]+x*y;i=j;return}function dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0;f=i;i=i+112|0;k=f+96|0;j=f;l=d+24|0;h=i;i=i+((4*l|0)+15&-16)|0;m=0;while(1){if((m|0)>=24){m=0;break}g[j+(m<<2)>>2]=+g[b+(24-m+ -1<<2)>>2];m=m+1|0}while(1){if((m|0)>=24)break;g[h+(m<<2)>>2]=-+g[e+(24-m+ -1<<2)>>2];m=m+1|0}while(1){if((m|0)>=(l|0))break;g[h+(m<<2)>>2]=0.0;m=m+1|0}o=d+ -3|0;p=k+4|0;q=k+8|0;r=k+12|0;m=b+4|0;n=b+8|0;l=0;while(1){if((l|0)>=(o|0))break;g[k>>2]=+g[a+(l<<2)>>2];y=l|1;g[p>>2]=+g[a+(y<<2)>>2];w=l|2;g[q>>2]=+g[a+(w<<2)>>2];t=l|3;g[r>>2]=+g[a+(t<<2)>>2];cc(j,h+(l<<2)|0,k,24);x=+g[k>>2];s=-x;g[h+(l+24<<2)>>2]=s;g[c+(l<<2)>>2]=x;x=+g[p>>2]+ +g[b>>2]*s;g[p>>2]=x;u=-x;g[h+(l+25<<2)>>2]=u;g[c+(y<<2)>>2]=x;x=+g[q>>2]+ +g[b>>2]*u+ +g[m>>2]*s;g[q>>2]=x;v=-x;g[h+(l+26<<2)>>2]=v;g[c+(w<<2)>>2]=x;s=+g[r>>2]+ +g[b>>2]*v+ +g[m>>2]*u+ +g[n>>2]*s;g[r>>2]=s;g[h+(l+27<<2)>>2]=-s;g[c+(t<<2)>>2]=s;l=l+4|0}while(1){if((l|0)>=(d|0)){a=0;break}b=0;s=+g[a+(l<<2)>>2];while(1){if((b|0)>=24)break;x=s- +g[j+(b<<2)>>2]*+g[h+(l+b<<2)>>2];b=b+1|0;s=x}g[h+(l+24<<2)>>2]=s;g[c+(l<<2)>>2]=s;l=l+1|0}while(1){if((a|0)>=24)break;g[e+(a<<2)>>2]=+g[c+(d-a+ -1<<2)>>2];a=a+1|0}i=f;return}function ec(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0;k=i;j=f-e|0;l=i;i=i+((4*f|0)+15&-16)|0;a:do if(d){m=0;while(1){if((m|0)>=(f|0)){m=0;break}g[l+(m<<2)>>2]=+g[a+(m<<2)>>2];m=m+1|0}while(1){if((m|0)>=(d|0)){a=l;break a}n=+g[c+(m<<2)>>2];g[l+(m<<2)>>2]=+g[a+(m<<2)>>2]*n;o=f-m+ -1|0;g[l+(o<<2)>>2]=+g[a+(o<<2)>>2]*n;m=m+1|0}}while(0);_c(a,a,b,j,e+1|0,h);h=0;while(1){if((h|0)>(e|0))break;n=0.0;d=h+j|0;while(1){if((d|0)>=(f|0))break;n=n+ +g[a+(d<<2)>>2]*+g[a+(d-h<<2)>>2];d=d+1|0}o=b+(h<<2)|0;g[o>>2]=+g[o>>2]+n;h=h+1|0}i=k;return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=gc(b,a)|0;a=d+1|0;Dc(e,g,(c[(c[640+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[640+(((d|0)<(b|0)?a:b)<<2)>>2]|0)+(((a|0)<(b|0)?b:a)<<2)>>2]|0)|0);i=f;return}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=a+ -1|0;e=c[b+(f<<2)>>2]|0;h=e>>>31;e=(e|0)>-1?e:0-e|0;do{f=f+ -1|0;g=a-f|0;h=h+(c[(c[640+(((g|0)<(e|0)?g:e)<<2)>>2]|0)+(((g|0)>(e|0)?g:e)<<2)>>2]|0)|0;j=c[b+(f<<2)>>2]|0;e=e+((j|0)>-1?j:0-j|0)|0;if((j|0)<0){j=e+1|0;h=h+(c[(c[640+(((g|0)<(j|0)?g:j)<<2)>>2]|0)+(((g|0)>(j|0)?g:j)<<2)>>2]|0)|0}}while((f|0)>0);i=d;return h|0}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0;g=i;h=d+1|0;f=+ic(b,d,tc(e,(c[(c[640+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[640+(((d|0)<(b|0)?h:b)<<2)>>2]|0)+(((h|0)<(b|0)?b:h)<<2)>>2]|0)|0)|0,a);i=g;return+f}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,j=0,k=0,l=0,m=0.0;f=i;g=0.0;while(1){if((a|0)<=2)break;do if((b|0)<(a|0)){h=c[(c[640+(b<<2)>>2]|0)+(a<<2)>>2]|0;j=c[(c[640+(b+1<<2)>>2]|0)+(a<<2)>>2]|0;if(h>>>0<=d>>>0&d>>>0 >>0){c[e>>2]=0;d=d-h|0;break}l=d>>>0>=j>>>0;h=l<<31>>31;d=d-(l?j:0)|0;j=b;do{j=j+ -1|0;k=c[(c[640+(j<<2)>>2]|0)+(a<<2)>>2]|0}while(k>>>0>d>>>0);b=b-j+h^h;c[e>>2]=b<<16>>16;m=+((b&65535)<<16>>16);d=d-k|0;b=j;g=g+m*m}else{k=c[640+(a<<2)>>2]|0;l=c[k+(b+1<<2)>>2]|0;j=d>>>0>=l>>>0;h=j<<31>>31;d=d-(j?l:0)|0;a:do if((c[k+(a<<2)>>2]|0)>>>0>d>>>0){j=a;do{j=j+ -1|0;l=c[(c[640+(j<<2)>>2]|0)+(a<<2)>>2]|0}while(l>>>0>d>>>0)}else{j=b;while(1){l=c[k+(j<<2)>>2]|0;if(l>>>0<=d>>>0)break a;j=j+ -1|0}}while(0);b=b-j+h^h;c[e>>2]=b<<16>>16;m=+((b&65535)<<16>>16);d=d-l|0;b=j;g=g+m*m}while(0);a=a+ -1|0;e=e+4|0}h=b<<1|1;l=d>>>0>=h>>>0;a=l<<31>>31;h=d-(l?h:0)|0;d=(h+1|0)>>>1;if(!d){l=h;h=b-d|0;h=h+a|0;h=h^a;j=h&65535;h=h<<16;h=h>>16;k=e+4|0;c[e>>2]=h;m=+(j<<16>>16);m=m*m;g=g+m;j=0-l|0;l=d-l|0;j=l^j;l=j&65535;j=j<<16;j=j>>16;c[k>>2]=j;m=+(l<<16>>16);m=m*m;m=g+m;i=f;return+m}l=h-((d<<1)+ -1)|0;h=b-d|0;h=h+a|0;h=h^a;j=h&65535;h=h<<16;h=h>>16;k=e+4|0;c[e>>2]=h;m=+(j<<16>>16);m=m*m;g=g+m;j=0-l|0;l=d-l|0;j=l^j;l=j&65535;j=j<<16;j=j>>16;c[k>>2]=j;m=+(l<<16>>16);m=m*m;m=g+m;i=f;return+m}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;e=c[a+20>>2]<<3;b=c[a+28>>2]|0;d=32-(vj(b|0)|0)|0;b=b>>>(d+ -16|0);a=(b>>>12)+ -8|0;i=f;return e-((d<<3)+(a+(b>>>0>(c[5792+(a<<2)>>2]|0)>>>0&1)))|0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=9;c[a+24>>2]=0;d=a+28|0;c[d>>2]=128;b=lc(a)|0;c[a+40>>2]=b;c[a+32>>2]=(c[d>>2]|0)+ -1-(b>>1);c[a+44>>2]=0;mc(a);i=e;return}function lc(a){a=a|0;var b=0,e=0,f=0;b=i;f=a+24|0;e=c[f>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0){f=0;i=b;return f|0}c[f>>2]=e+1;f=d[(c[a>>2]|0)+e>>0]|0;i=b;return f|0}function mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;d=a+28|0;e=a+20|0;f=a+40|0;g=a+32|0;while(1){h=c[d>>2]|0;if(h>>>0>=8388609)break;c[e>>2]=(c[e>>2]|0)+8;c[d>>2]=h<<8;j=c[f>>2]|0;h=lc(a)|0;c[f>>2]=h;c[g>>2]=((j<<8|h)>>>1&255|c[g>>2]<<8&2147483392)^255}i=b;return}function nc(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=oc(c[a+28>>2]|0,b)|0;c[a+36>>2]=e;a=(((c[a+32>>2]|0)>>>0)/(e>>>0)|0)+1|0;i=d;return b-(a>>>0>b>>>0?b:a)|0}function oc(a,b){a=a|0;b=b|0;return(a>>>0)/(b>>>0)|0|0}function pc(a){a=a|0;var b=0;b=(c[a+28>>2]|0)>>>15;c[a+36>>2]=b;a=((c[a+32>>2]|0)>>>0)/(b>>>0)|0;b=a+1|0;return 32768-(b+(b>>>0>32768?32767-a|0:0))|0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=c[a+36>>2]|0;e=$(g,e-d|0)|0;h=a+32|0;c[h>>2]=(c[h>>2]|0)-e;if(!b){d=a+28|0;h=d;e=(c[d>>2]|0)-e|0;c[h>>2]=e;mc(a);i=f;return}else{h=a+28|0;e=$(g,d-b|0)|0;c[h>>2]=e;mc(a);i=f;return}}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+28|0;f=c[e>>2]|0;g=a+32|0;h=c[g>>2]|0;j=f>>>b;b=h>>>0 >>0;if(!b){c[g>>2]=h-j;j=f-j|0}c[e>>2]=j;mc(a);i=d;return b&1|0}function sc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;h=a+28|0;l=c[h>>2]|0;g=a+32|0;j=c[g>>2]|0;e=l>>>e;k=-1;while(1){k=k+1|0;m=$(e,d[b+k>>0]|0)|0;if(j>>>0>=m>>>0)break;else l=m}c[g>>2]=j-m;c[h>>2]=l-m;mc(a);i=f;return k|0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+ -1|0;f=32-(vj(e|0)|0)|0;if((f|0)<=8){f=nc(a,b)|0;qc(a,f,f+1|0,b);b=f;i=d;return b|0}f=f+ -8|0;g=(e>>>f)+1|0;b=nc(a,g)|0;qc(a,b,b+1|0,g);f=b< >>0<=e>>>0){g=f;i=d;return g|0}c[a+44>>2]=1;g=e;i=d;return g|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;f=a+12|0;g=c[f>>2]|0;d=a+16|0;h=c[d>>2]|0;if(h>>>0>>0)do{g=g|(vc(a)|0)< >2]=g>>>b;c[d>>2]=h-b;h=a+20|0;c[h>>2]=(c[h>>2]|0)+b;i=e;return g&(1<>2]|0;g=c[a+4>>2]|0;if(e>>>0>=g>>>0){g=0;i=b;return g|0}e=e+1|0;c[f>>2]=e;g=d[(c[a>>2]|0)+(g-e)>>0]|0;i=b;return g|0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=33;c[a+24>>2]=0;c[a+28>>2]=-2147483648;c[a+40>>2]=-1;c[a+32>>2]=0;c[a+36>>2]=0;c[a+4>>2]=d;c[a+44>>2]=0;return}function xc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=a+28|0;j=c[g>>2]|0;h=yc(j,e)|0;if(!b){b=j-($(h,e-d|0)|0)|0;c[g>>2]=b;zc(a);i=f;return}else{j=j-($(h,e-b|0)|0)|0;e=a+32|0;c[e>>2]=(c[e>>2]|0)+j;b=$(h,d-b|0)|0;c[g>>2]=b;zc(a);i=f;return}}function yc(a,b){a=a|0;b=b|0;return(a>>>0)/(b>>>0)|0|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;e=a+28|0;d=a+32|0;f=a+20|0;g=c[e>>2]|0;while(1){if(g>>>0>=8388609)break;Jc(a,(c[d>>2]|0)>>>23);c[d>>2]=c[d>>2]<<8&2147483392;g=c[e>>2]<<8;c[e>>2]=g;c[f>>2]=(c[f>>2]|0)+8}i=b;return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=a+28|0;h=c[f>>2]|0;g=h>>>15;if(!b){b=h-($(g,32768-d|0)|0)|0;c[f>>2]=b;zc(a);i=e;return}else{j=h-($(g,32768-b|0)|0)|0;h=a+32|0;c[h>>2]=(c[h>>2]|0)+j;b=$(g,d-b|0)|0;c[f>>2]=b;zc(a);i=e;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=a+28|0;j=c[f>>2]|0;g=a+32|0;h=j>>>d;d=j-h|0;if(b){c[g>>2]=(c[g>>2]|0)+d;d=h}c[f>>2]=d;zc(a);i=e;return}function Cc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=a+28|0;j=c[h>>2]|0;f=j>>>f;if((b|0)>0){k=e+(b+ -1)|0;l=j-($(f,d[k>>0]|0)|0)|0;j=a+32|0;c[j>>2]=(c[j>>2]|0)+l;f=$(f,(d[k>>0]|0)-(d[e+b>>0]|0)|0)|0;c[h>>2]=f;zc(a);i=g;return}else{l=j-($(f,d[e+b>>0]|0)|0)|0;c[h>>2]=l;zc(a);i=g;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i;e=c+ -1|0;f=32-(vj(e|0)|0)|0;if((f|0)>8){c=f+ -8|0;f=b>>>c;xc(a,f,f+1|0,(e>>>c)+1|0);Ec(a,(1< >2]|0;e=a+16|0;k=c[e>>2]|0;if((k+d|0)>>>0>32){h=a+44|0;do{l=Fc(a,j&255)|0;c[h>>2]=c[h>>2]|l;j=j>>>8;k=k+ -8|0}while((k|0)>7)}c[g>>2]=j|b< >2]=k+d;l=a+20|0;c[l>>2]=(c[l>>2]|0)+d;i=f;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;g=b+8|0;f=c[g>>2]|0;h=c[b+4>>2]|0;if(((c[b+24>>2]|0)+f|0)>>>0>=h>>>0){b=-1;i=e;return b|0}f=f+1|0;c[g>>2]=f;a[(c[b>>2]|0)+(h-f)>>0]=d;b=0;i=e;return b|0}function Gc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=8-f|0;j=(1< >2]|0){l=c[b>>2]|0;a[l>>0]=(d[l>>0]|0)&(j^255)|e< >2]|0;if((l|0)>-1){c[k>>2]=l&~j|e< >2]|0)>>>0>-2147483648>>>f>>>0){c[b+44>>2]=-1;i=g;return}else{l=b+32|0;c[l>>2]=c[l>>2]&~(j<<23)|e< >2]|0;e=c[a+8>>2]|0;a=a+4|0;zj(f+(b-e)|0,f+((c[a>>2]|0)-e)|0,e|0)|0;c[a>>2]=b;i=d;return}function Ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;m=c[b+28>>2]|0;l=vj(m|0)|0;f=2147483647>>>l;g=c[b+32>>2]|0;h=g+f&~f;if((h|f)>>>0>=(g+m|0)>>>0){h=f>>>1;h=g+h&~h;l=l+1|0}while(1){if((l|0)<=0)break;Jc(b,h>>>23);h=h<<8&2147483392;l=l+ -8|0}if(!((c[b+40>>2]|0)<=-1?(c[b+36>>2]|0)==0:0))Jc(b,0);k=b+44|0;h=c[b+16>>2]|0;j=c[b+12>>2]|0;while(1){if((h|0)<=7)break;m=Fc(b,j&255)|0;c[k>>2]=c[k>>2]|m;h=h+ -8|0;j=j>>>8}if(c[k>>2]|0){i=e;return}g=b+24|0;n=c[g>>2]|0;m=b+4|0;f=b+8|0;wj((c[b>>2]|0)+n|0,0,(c[m>>2]|0)-n-(c[f>>2]|0)|0)|0;if((h|0)<=0){i=e;return}f=c[f>>2]|0;m=c[m>>2]|0;if(f>>>0>=m>>>0){c[k>>2]=-1;i=e;return}l=0-l|0;if((h|0)>(l|0)?((c[g>>2]|0)+f|0)>>>0>=m>>>0:0){c[k>>2]=-1;j=j&(1< >2]|0)+(m-f+ -1)|0;a[n>>0]=d[n>>0]|0|j;i=e;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;if((b|0)==255){h=a+36|0;c[h>>2]=(c[h>>2]|0)+1;i=d;return}g=b>>8;e=a+40|0;f=c[e>>2]|0;if((f|0)>-1){f=Kc(a,f+g|0)|0;h=a+44|0;c[h>>2]=c[h>>2]|f}f=a+36|0;if(c[f>>2]|0){g=g+255&255;h=a+44|0;do{j=Kc(a,g)|0;c[h>>2]=c[h>>2]|j;j=(c[f>>2]|0)+ -1|0;c[f>>2]=j}while((j|0)!=0)}c[e>>2]=b&255;i=d;return}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=b+24|0;f=c[g>>2]|0;if((f+(c[b+8>>2]|0)|0)>>>0>=(c[b+4>>2]|0)>>>0){b=-1;i=e;return b|0}c[g>>2]=f+1;a[(c[b>>2]|0)+f>>0]=d;b=0;i=e;return b|0}function Lc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g;f=c[a+8>>2]|0;f=(f|0)>0?f:0;c[e>>2]=1;h=1;j=0;do{k=j<<1;l=b[a+((k|1)<<1)+12>>1]|0;h=$(h,b[a+(k<<1)+12>>1]|0)|0;j=j+1|0;c[e+(j<<2)>>2]=h}while(l<<16>>16!=1);h=b[a+((j<<1)+ -1<<1)+12>>1]|0;k=j;while(1){j=k+ -1|0;if((k|0)<=0)break;l=j<<1;if(!j)k=1;else k=b[a+(l+ -1<<1)+12>>1]|0;l=b[a+(l<<1)+12>>1]|0;if((l|0)==3){l=c[e+(j<<2)>>2]|0;Oc(d,l< >2]|0;Pc(d,l< >2]|0);h=k;k=j;continue}else if((l|0)==4){l=c[e+(j<<2)>>2]|0;Nc(d,l< =(c|0))break;j=a+32|0;e=j;h=+g[e>>2];k=+g[e+4>>2];l=+g[a>>2];g[j>>2]=l-h;j=a+4|0;f=+g[j>>2];g[a+36>>2]=f-k;g[a>>2]=l+h;g[j>>2]=f+k;j=a+40|0;k=+g[j>>2];e=a+44|0;f=+g[e>>2];h=(k+f)*.7071067690849304;k=(f-k)*.7071067690849304;m=a+8|0;f=+g[m>>2];g[j>>2]=f-h;j=a+12|0;l=+g[j>>2];g[e>>2]=l-k;g[m>>2]=f+h;g[j>>2]=l+k;j=a+52|0;k=+g[j>>2];m=a+48|0;l=+g[m>>2];e=a+16|0;h=+g[e>>2];g[m>>2]=h-k;m=a+20|0;f=+g[m>>2];g[j>>2]=f+l;g[e>>2]=h+k;g[m>>2]=f-l;m=a+60|0;l=+g[m>>2];e=a+56|0;f=+g[e>>2];k=(l-f)*.7071067690849304;f=(-l-f)*.7071067690849304;j=a+24|0;l=+g[j>>2];g[e>>2]=l-k;e=a+28|0;h=+g[e>>2];g[m>>2]=h-f;g[j>>2]=l+k;g[e>>2]=h+f;a=a+64|0;d=d+1|0}i=b;return}function Nc(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 j=0,k=0,l=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,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;j=i;if((e|0)==1){h=0;while(1){if((h|0)>=(f|0))break;u=+g[a>>2];n=a+16|0;D=+g[n>>2];x=u-D;p=a+4|0;z=+g[p>>2];o=a+20|0;B=+g[o>>2];v=z-B;D=u+D;B=z+B;q=a+8|0;z=+g[q>>2];s=a+24|0;u=+g[s>>2];C=z+u;r=a+12|0;y=+g[r>>2];t=a+28|0;w=+g[t>>2];A=y+w;g[n>>2]=D-C;g[o>>2]=B-A;g[a>>2]=D+C;g[p>>2]=B+A;u=z-u;w=y-w;g[q>>2]=x+w;g[r>>2]=v-u;g[s>>2]=x-w;g[t>>2]=v+u;a=a+32|0;h=h+1|0}i=j;return}k=e<<1;l=e*3|0;m=d+48|0;q=b<<1;r=b*3|0;t=0;while(1){if((t|0)>=(f|0))break;s=a+(($(t,h)|0)<<3)|0;n=c[m>>2]|0;o=0;d=n;p=n;while(1){if((o|0)>=(e|0))break;H=s+(e<<3)|0;y=+g[H>>2];v=+g[d>>2];G=s+(e<<3)+4|0;z=+g[G>>2];x=+g[d+4>>2];u=y*v-z*x;v=y*x+z*v;K=s+(k<<3)|0;z=+g[K>>2];x=+g[p>>2];J=s+(k<<3)+4|0;y=+g[J>>2];B=+g[p+4>>2];w=z*x-y*B;x=z*B+y*x;F=s+(l<<3)|0;y=+g[F>>2];B=+g[n>>2];E=s+(l<<3)+4|0;z=+g[E>>2];A=+g[n+4>>2];D=y*B-z*A;B=y*A+z*B;z=+g[s>>2];A=z-w;I=s+4|0;y=+g[I>>2];C=y-x;w=z+w;g[s>>2]=w;x=y+x;g[I>>2]=x;y=u+D;z=v+B;D=u-D;B=v-B;g[K>>2]=w-y;g[J>>2]=x-z;g[s>>2]=+g[s>>2]+y;g[I>>2]=+g[I>>2]+z;g[H>>2]=A+B;g[G>>2]=C-D;g[F>>2]=A-B;g[E>>2]=C+D;s=s+8|0;o=o+1|0;d=d+(b<<3)|0;p=p+(q<<3)|0;n=n+(r<<3)|0}t=t+1|0}i=j;return}function Oc(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 j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;k=i;j=e<<1;l=$(b,e)|0;m=d+48|0;n=+g[(c[m>>2]|0)+(l<<3)+4>>2];d=b<<1;l=0;while(1){if((l|0)>=(f|0))break;o=a+(($(l,h)|0)<<3)|0;q=c[m>>2]|0;r=e;p=q;while(1){u=o+(e<<3)|0;A=+g[u>>2];B=+g[p>>2];s=o+(e<<3)+4|0;D=+g[s>>2];v=+g[p+4>>2];C=A*B-D*v;B=A*v+D*B;x=o+(j<<3)|0;D=+g[x>>2];v=+g[q>>2];w=o+(j<<3)+4|0;A=+g[w>>2];z=+g[q+4>>2];t=D*v-A*z;v=D*z+A*v;A=C+t;z=B+v;g[u>>2]=+g[o>>2]-A*.5;y=o+4|0;g[s>>2]=+g[y>>2]-z*.5;t=(C-t)*n;v=(B-v)*n;g[o>>2]=+g[o>>2]+A;g[y>>2]=+g[y>>2]+z;g[x>>2]=+g[u>>2]+v;g[w>>2]=+g[s>>2]-t;g[u>>2]=+g[u>>2]-v;g[s>>2]=+g[s>>2]+t;r=r+ -1|0;if(!r)break;else{o=o+8|0;p=p+(b<<3)|0;q=q+(d<<3)|0}}l=l+1|0}i=k;return}function Pc(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 j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0;j=i;q=$(b,e)|0;k=c[d+48>>2]|0;d=k+(q<<3)|0;r=+g[d>>2];m=+g[d+4>>2];d=k+(($(b<<1,e)|0)<<3)|0;l=+g[d>>2];n=+g[d+4>>2];d=e<<1;q=e*3|0;p=e<<2;o=0;while(1){if((o|0)>=(f|0))break;x=$(o,h)|0;t=a+(x<<3)|0;u=a+(x+e<<3)|0;w=a+(x+d<<3)|0;s=a+(x+q<<3)|0;x=a+(x+p<<3)|0;v=0;while(1){if((v|0)>=(e|0))break;Q=t;J=+g[Q>>2];H=+g[Q+4>>2];I=+g[u>>2];Q=$(v,b)|0;C=+g[k+(Q<<3)>>2];P=u+4|0;N=+g[P>>2];O=+g[k+(Q<<3)+4>>2];A=I*C-N*O;C=I*O+N*C;N=+g[w>>2];Q=$(v<<1,b)|0;O=+g[k+(Q<<3)>>2];D=w+4|0;I=+g[D>>2];F=+g[k+(Q<<3)+4>>2];M=N*O-I*F;O=N*F+I*O;I=+g[s>>2];Q=$(v*3|0,b)|0;F=+g[k+(Q<<3)>>2];y=s+4|0;N=+g[y>>2];B=+g[k+(Q<<3)+4>>2];z=I*F-N*B;F=I*B+N*F;N=+g[x>>2];Q=$(v<<2,b)|0;B=+g[k+(Q<<3)>>2];K=x+4|0;I=+g[K>>2];G=+g[k+(Q<<3)+4>>2];E=N*B-I*G;B=N*G+I*B;I=A+E;G=C+B;E=A-E;B=C-B;C=M+z;A=O+F;z=M-z;F=O-F;g[t>>2]=J+(I+C);Q=t+4|0;g[Q>>2]=+g[Q>>2]+(G+A);O=J+I*r+C*l;M=H+G*r+A*l;N=B*m+F*n;L=-(E*m)-z*n;g[u>>2]=O-N;g[P>>2]=M-L;g[x>>2]=O+N;g[K>>2]=M+L;C=J+I*l+C*r;A=H+G*l+A*r;B=F*m-B*n;z=E*n-z*m;g[w>>2]=C+B;g[D>>2]=A+z;g[s>>2]=C-B;g[y>>2]=A-z;t=t+8|0;u=u+8|0;w=w+8|0;s=s+8|0;x=x+8|0;v=v+1|0}o=o+1|0}i=j;return}function Qc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0.0,m=0.0,n=0;f=i;j=+g[a+4>>2];k=a+44|0;h=0;while(1){if((h|0)>=(c[a>>2]|0))break;n=d+(h<<3)|0;m=+g[n>>2];l=+g[n+4>>2];g[e+(b[(c[k>>2]|0)+(h<<1)>>1]<<3)>>2]=j*m;g[e+(b[(c[k>>2]|0)+(h<<1)>>1]<<3)+4>>2]=j*l;h=h+1|0}Lc(a,e);i=f;return}function Rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;h=c[b>>2]|0;if(!h){k=0;d=k+d|0;Ac(a,k,d);i=g;return}f=h>>31;j=h+f^f;h=Sc(d,e)|0;k=1;while(1){if(!((h|0)!=0&(k|0)<(j|0)))break;l=h<<1;h=($(l,e)|0)>>>15;d=d+(l+2)|0;k=k+1|0}if(!h){l=j-k|0;j=(32768-d-f>>1)+ -1|0;j=(l|0)<(j|0)?l:j;d=d+((j<<1|1)+f)|0;l=32768-d|0;c[b>>2]=k+j+f^f;l=l>>>0>1?1:l;l=d+l|0;Ac(a,d,l);i=g;return}else{k=h+1|0;l=k;d=d+(k&~f)|0;l=d+l|0;Ac(a,d,l);i=g;return}}function Sc(a,b){a=a|0;b=b|0;a=($(32736-a|0,16384-b|0)|0)>>>15;return a|0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;d=pc(a)|0;if(d>>>0>>0){h=b;b=0;j=0;h=b+h|0;g=h>>>0<32768;h=g?h:32768;qc(a,b,h,32768);i=f;return j|0}e=(Sc(b,c)|0)+1|0;g=1;while(1){if(e>>>0<=1)break;j=e<<1;h=b+j|0;if(d>>>0 >>0)break;e=(($(j+ -2|0,c)|0)>>>15)+1|0;b=h;g=g+1|0}if(e>>>0<2){j=(d-b|0)>>>1;b=b+(j<<1)|0;g=g+j|0}c=b+e|0;j=d>>>0 >>0;h=e;b=j?b:c;j=j?0-g|0:g;h=b+h|0;g=h>>>0<32768;h=g?h:32768;qc(a,b,h,32768);i=f;return j|0}function Uc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=i;d=32-(vj(a|0)|0)+ -1>>1;c=1< >>0<=a>>>0){a=a-f|0;e=e+c|0}if((d|0)>0){c=c>>>1;d=d+ -1|0}else break}i=b;return e|0}function Vc(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,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.0,A=0.0,B=0.0,C=0.0,D=0.0;l=i;o=c[a+(j<<2)+8>>2]|0;n=+g[o+4>>2];m=c[a>>2]|0;p=0;a=c[a+24>>2]|0;while(1){q=m>>1;if((p|0)>=(j|0))break;m=q;p=p+1|0;a=a+(q<<2)|0}j=m>>2;r=i;i=i+((4*q|0)+15&-16)|0;p=i;i=i+((8*j|0)+15&-16)|0;u=h>>1;m=q+ -1|0;w=h+3>>2;s=0-q|0;v=0;x=f+(u<<2)|0;y=f+(u+ -1<<2)|0;t=d+(u<<2)|0;u=d+(m+u<<2)|0;d=r;while(1){if((v|0)>=(w|0))break;z=+g[y>>2];A=+g[x>>2];g[d>>2]=z*+g[t+(q<<2)>>2]+A*+g[u>>2];g[d+4>>2]=A*+g[t>>2]-z*+g[u+(s<<2)>>2];v=v+1|0;x=x+8|0;y=y+ -8|0;t=t+8|0;u=u+ -8|0;d=d+8|0}h=f+(h+ -1<<2)|0;w=j-w|0;while(1){if((v|0)>=(w|0))break;g[d>>2]=+g[u>>2];g[d+4>>2]=+g[t>>2];v=v+1|0;t=t+8|0;u=u+ -8|0;d=d+8|0}while(1){if((v|0)>=(j|0))break;g[d>>2]=+g[h>>2]*+g[u>>2]- +g[f>>2]*+g[t+(s<<2)>>2];g[d+4>>2]=+g[h>>2]*+g[t>>2]+ +g[f>>2]*+g[u+(q<<2)>>2];v=v+1|0;f=f+8|0;h=h+ -8|0;t=t+8|0;u=u+ -8|0;d=d+8|0}q=o+44|0;s=0;while(1){if((s|0)>=(j|0))break;C=+g[a+(s<<2)>>2];A=+g[a+(j+s<<2)>>2];B=+g[r>>2];D=+g[r+4>>2];z=+(n*(B*C-D*A));A=+(n*(D*C+B*A));y=p+(b[(c[q>>2]|0)+(s<<1)>>1]<<3)|0;g[y>>2]=z;g[y+4>>2]=A;s=s+1|0;r=r+8|0}Lc(o,p);q=k<<1;o=0-q|0;r=0;s=e;k=e+(($(m,k)|0)<<2)|0;while(1){if((r|0)>=(j|0))break;C=+g[p+4>>2];B=+g[a+(j+r<<2)>>2];A=+g[p>>2];D=+g[a+(r<<2)>>2];g[s>>2]=C*B-A*D;g[k>>2]=A*B+C*D;p=p+8|0;r=r+1|0;s=s+(q<<2)|0;k=k+(o<<2)|0}i=l;return}function Wc(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;l=i;p=c[a>>2]|0;o=0;n=c[a+24>>2]|0;while(1){m=p>>1;if((o|0)>=(j|0))break;p=m;o=o+1|0;n=n+(m<<2)|0}o=p>>2;t=d+(($(m+ -1|0,k)|0)<<2)|0;p=h>>1;q=e+(p<<2)|0;j=c[a+(j<<2)+8>>2]|0;r=k<<1;a=0-r|0;s=c[j+44>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;w=+g[t>>2];x=+g[n+(k<<2)>>2];y=+g[d>>2];v=+g[n+(o+k<<2)>>2];u=b[s>>1]<<1;g[e+(p+(u|1)<<2)>>2]=w*x+y*v;g[e+(p+u<<2)>>2]=y*x-w*v;s=s+2|0;k=k+1|0;d=d+(r<<2)|0;t=t+(a<<2)|0}Lc(j,q);d=o+1>>1;j=0;p=e+(p+m+ -2<<2)|0;while(1){if((j|0)>=(d|0))break;u=q+4|0;A=+g[u>>2];w=+g[q>>2];y=+g[n+(j<<2)>>2];z=+g[n+(o+j<<2)>>2];t=p+4|0;v=+g[t>>2];x=+g[p>>2];g[q>>2]=A*y+w*z;g[t>>2]=A*z-w*y;y=+g[n+(o-j+ -1<<2)>>2];w=+g[n+(m-j+ -1<<2)>>2];g[p>>2]=v*y+x*w;g[u>>2]=v*w-x*y;j=j+1|0;q=q+8|0;p=p+ -8|0}u=h+ -1|0;h=(h|0)/2|0;n=0;m=f;o=f+(u<<2)|0;f=e+(u<<2)|0;while(1){if((n|0)>=(h|0))break;A=+g[f>>2];y=+g[e>>2];z=+g[o>>2];x=+g[m>>2];g[e>>2]=z*y-x*A;g[f>>2]=x*y+z*A;n=n+1|0;m=m+4|0;o=o+ -4|0;f=f+ -4|0;e=e+4|0}i=l;return}function Xc(){var a=0,b=0,d=0,e=0,f=0;a=i;b=0;a:while(1){if((b|0)>=1){f=0;b=9;break}d=5824+(b<<2)|0;e=0;while(1){if((e|0)>=4)break;f=c[d>>2]|0;if((c[f>>2]|0)==48e3?(960< >2]|0,c[f+40>>2]|0)|0):0){b=9;break a}e=e+1|0}b=b+1|0}if((b|0)==9){i=a;return f|0}return 0}function Yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0;k=i;i=i+80|0;m=k+56|0;l=k+40|0;j=k+20|0;h=k;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;d=d>>1;n=1;while(1){if((n|0)>=(d|0))break;p=n<<1;q=c[a>>2]|0;g[b+(n<<2)>>2]=((+g[q+(p+ -1<<2)>>2]+ +g[q+((p|1)<<2)>>2])*.5+ +g[q+(p<<2)>>2])*.5;n=n+1|0}q=c[a>>2]|0;g[b>>2]=(+g[q+4>>2]*.5+ +g[q>>2])*.5;if((e|0)==2){a=a+4|0;e=1;while(1){if((e|0)>=(d|0))break;p=e<<1;n=c[a>>2]|0;q=b+(e<<2)|0;g[q>>2]=+g[q>>2]+((+g[n+(p+ -1<<2)>>2]+ +g[n+((p|1)<<2)>>2])*.5+ +g[n+(p<<2)>>2])*.5;e=e+1|0}q=c[a>>2]|0;g[b>>2]=+g[b>>2]+(+g[q+4>>2]*.5+ +g[q>>2])*.5}ec(b,m,0,0,4,d,f);g[m>>2]=+g[m>>2]*1.000100016593933;f=1;while(1){if((f|0)>=5)break;q=m+(f<<2)|0;r=+g[q>>2];o=+(f|0)*.00800000037997961;g[q>>2]=r-r*o*o;f=f+1|0}ac(l,m,4);m=0;o=1.0;while(1){if((m|0)>=4)break;r=o*.8999999761581421;q=l+(m<<2)|0;g[q>>2]=+g[q>>2]*r;m=m+1|0;o=r}o=+g[l>>2];g[h>>2]=o+.800000011920929;r=+g[l+4>>2];g[h+4>>2]=r+o*.800000011920929;o=+g[l+8>>2];g[h+8>>2]=o+r*.800000011920929;r=+g[l+12>>2];g[h+12>>2]=r+o*.800000011920929;g[h+16>>2]=r*.800000011920929;Zc(b,h,b,d,j);i=k;return}function Zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0;f=i;l=+g[b>>2];k=+g[b+4>>2];j=+g[b+8>>2];h=+g[b+12>>2];s=+g[b+16>>2];u=e+4|0;b=e+8|0;p=e+12|0;m=e+16|0;r=+g[e>>2];v=+g[u>>2];t=+g[b>>2];q=+g[p>>2];o=+g[m>>2];n=0;while(1){if((n|0)>=(d|0))break;x=+g[a+(n<<2)>>2];g[c+(n<<2)>>2]=x+l*r+k*v+j*t+h*q+s*o;w=r;r=x;n=n+1|0;o=q;q=t;t=v;v=w}g[e>>2]=r;g[u>>2]=v;g[b>>2]=t;g[p>>2]=q;g[m>>2]=o;i=f;return}function _c(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 j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+16|0;n=h;m=f+ -3|0;o=n+4|0;j=n+8|0;k=n+12|0;l=0;while(1){if((l|0)>=(m|0))break;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;$c(a,b+(l<<2)|0,n,e);g[d+(l<<2)>>2]=+g[n>>2];g[d+((l|1)<<2)>>2]=+g[o>>2];g[d+((l|2)<<2)>>2]=+g[j>>2];g[d+((l|3)<<2)>>2]=+g[k>>2];l=l+4|0}while(1){if((l|0)>=(f|0))break;g[d+(l<<2)>>2]=+ad(a,b+(l<<2)|0,e);l=l+1|0}i=h;return}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;j=i;m=d+ -3|0;e=c+4|0;f=c+8|0;h=c+12|0;p=b+12|0;q=0;k=+g[b>>2];n=+g[b+4>>2];l=+g[b+8>>2];o=0.0;while(1){if((q|0)>=(m|0))break;v=+g[a>>2];o=+g[p>>2];y=+g[c>>2]+v*k;g[c>>2]=y;x=+g[e>>2]+v*n;g[e>>2]=x;w=+g[f>>2]+v*l;g[f>>2]=w;v=+g[h>>2]+v*o;g[h>>2]=v;u=+g[a+4>>2];t=+g[p+4>>2];y=y+u*n;g[c>>2]=y;x=x+u*l;g[e>>2]=x;w=w+u*o;g[f>>2]=w;u=v+u*t;g[h>>2]=u;v=+g[a+8>>2];s=+g[p+8>>2];y=y+v*l;g[c>>2]=y;x=x+v*o;g[e>>2]=x;w=w+v*t;g[f>>2]=w;v=u+v*s;g[h>>2]=v;u=+g[a+12>>2];r=+g[p+12>>2];g[c>>2]=y+u*o;g[e>>2]=x+u*t;g[f>>2]=w+u*s;g[h>>2]=v+u*r;a=a+16|0;p=p+16|0;q=q+4|0;k=t;n=s;l=r}m=q|1;if((q|0)<(d|0)){y=+g[a>>2];o=+g[p>>2];g[c>>2]=+g[c>>2]+y*k;g[e>>2]=+g[e>>2]+y*n;g[f>>2]=+g[f>>2]+y*l;g[h>>2]=+g[h>>2]+y*o;a=a+4|0;p=p+4|0}if((m|0)<(d|0)){y=+g[a>>2];k=+g[p>>2];g[c>>2]=+g[c>>2]+y*n;g[e>>2]=+g[e>>2]+y*l;g[f>>2]=+g[f>>2]+y*o;g[h>>2]=+g[h>>2]+y*k;a=a+4|0;p=p+4|0}if((m+1|0)>=(d|0)){i=j;return}x=+g[a>>2];y=+g[p>>2];g[c>>2]=+g[c>>2]+x*l;g[e>>2]=+g[e>>2]+x*o;g[f>>2]=+g[f>>2]+x*k;g[h>>2]=+g[h>>2]+x*y;i=j;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0;d=i;f=0;e=0.0;while(1){if((f|0)>=(c|0))break;h=e+ +g[a+(f<<2)>>2]*+g[b+(f<<2)>>2];f=f+1|0;e=h}i=d;return+e}function bd(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;j=i;i=i+16|0;m=j;n=m;c[n>>2]=0;c[n+4>>2]=0;n=d+e|0;q=d>>2;o=i;i=i+((4*q|0)+15&-16)|0;n=n>>2;p=i;i=i+((4*n|0)+15&-16)|0;l=e>>1;k=i;i=i+((4*l|0)+15&-16)|0;r=0;while(1){if((r|0)>=(q|0)){r=0;break}g[o+(r<<2)>>2]=+g[a+(r<<1<<2)>>2];r=r+1|0}while(1){if((r|0)>=(n|0))break;g[p+(r<<2)>>2]=+g[b+(r<<1<<2)>>2];r=r+1|0}n=e>>2;_c(o,p,k,q,n,h);cd(k,p,q,n,m);n=m+4|0;d=d>>1;e=0;while(1){if((e|0)>=(l|0))break;o=k+(e<<2)|0;g[o>>2]=0.0;r=e-(c[m>>2]<<1)|0;if(!((((r|0)>-1?r:0-r|0)|0)>2?(r=e-(c[n>>2]<<1)|0,(((r|0)>-1?r:0-r|0)|0)>2):0)){u=+ad(a,b+(e<<2)|0,d);g[o>>2]=u<-1.0?-1.0:u}e=e+1|0}cd(k,b,d,l,m);m=c[m>>2]|0;if((m|0)<=0){r=0;h=m<<1;r=h-r|0;c[f>>2]=r;i=j;return}if((m|0)>=(l+ -1|0)){r=0;h=m<<1;r=h-r|0;c[f>>2]=r;i=j;return}s=+g[k+(m+ -1<<2)>>2];t=+g[k+(m<<2)>>2];u=+g[k+(m+1<<2)>>2];if(u-s>(t-s)*.699999988079071){r=1;h=m<<1;r=h-r|0;c[f>>2]=r;i=j;return}if(s-u>(t-u)*.699999988079071){r=-1;h=m<<1;r=h-r|0;c[f>>2]=r;i=j;return}r=0;h=m<<1;r=h-r|0;c[f>>2]=r;i=j;return}function cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;k=i;c[f>>2]=0;h=f+4|0;c[h>>2]=1;l=1.0;n=0;while(1){if((n|0)>=(d|0)){p=0;o=0.0;q=0.0;m=-1.0;r=-1.0;n=0;break}t=+g[b+(n<<2)>>2];l=l+t*t;n=n+1|0}while(1){if((n|0)>=(e|0))break;s=+g[a+(n<<2)>>2];do if(s>0.0?(j=s*9.999999960041972e-13,j=j*j,j*q>r*l):0)if(j*o>m*l){c[h>>2]=p;c[f>>2]=n;p=n;t=l;q=o;s=j;r=m;break}else{c[h>>2]=n;t=o;q=l;s=m;r=j;break}else{t=o;s=m}while(0);m=+g[b+(n+d<<2)>>2];o=+g[b+(n<<2)>>2];o=l+(m*m-o*o);l=o<1.0?1.0:o;o=t;m=s;n=n+1|0}i=k;return}function dd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;h=i;i=i+2080|0;m=h+2072|0;k=h+2068|0;n=h+2064|0;j=h+2052|0;F=c[d>>2]|0;q=(F|0)/2|0;o=(e|0)/2|0;e=(b|0)/2|0;b=a+2048|0;F=(F|0)<1024;p=F?q:511;c[d>>2]=F?q:511;q=h;ed(b,b,a+(512-p<<2)|0,e,k,m);l=+g[k>>2];g[q>>2]=l;k=1;s=l;while(1){if((k|0)>512)break;D=+g[a+(512-k<<2)>>2];E=+g[a+(e-k+512<<2)>>2];E=s+D*D-E*E;g[q+(k<<2)>>2]=E<0.0?0.0:E;k=k+1|0;s=E}x=+g[q+(p<<2)>>2];y=+g[m>>2];E=y/+P(+(l*x+1.0));r=p<<1;s=l*2.0;t=E*.699999988079071;u=E*.8500000238418579;w=f*.5;k=p;l=E;v=2;while(1){if((v|0)>=16)break;F=v<<1;A=fd(r+v|0,F)|0;if((A|0)<7)break;if((v|0)==2){F=A+p|0;F=(F|0)>512?p:F}else F=fd(($(c[20592+(v<<2)>>2]<<1,p)|0)+v|0,F)|0;ed(b,a+(512-A<<2)|0,a+(512-F<<2)|0,e,m,n);C=+g[m>>2]+ +g[n>>2];g[m>>2]=C;B=+g[q+(A<<2)>>2]+ +g[q+(F<<2)>>2];z=C/+P(+(s*B+1.0));F=A-o|0;F=(F|0)>-1?F:0-F|0;if((F|0)>=2)if((F|0)<3){F=($(v*5|0,v)|0)<(p|0);E=F?w:0.0}else E=0.0;else E=f;D=t-E;D=D<.30000001192092896?.30000001192092896:D;if((A|0)<21){D=u-E;if(D<.4000000059604645)D=.4000000059604645}if(z>D){k=A;y=C;x=B;l=z}v=v+1|0}f=y<0.0?0.0:y;if(!(x<=f))f=f/(x+1.0);else f=1.0;m=0;while(1){if((m|0)>=3)break;g[j+(m<<2)>>2]=+ad(b,a+(1-(k+m)+512<<2)|0,e);m=m+1|0}t=+g[j+8>>2];s=+g[j>>2];u=+g[j+4>>2];if(t-s>(u-s)*.699999988079071){F=1;A=f>l;E=A?l:f;A=k<<1;F=A+F|0;A=(F|0)<15;F=A?15:F;c[d>>2]=F;i=h;return+E}if(s-t>(u-t)*.699999988079071){F=-1;A=f>l;E=A?l:f;A=k<<1;F=A+F|0;A=(F|0)<15;F=A?15:F;c[d>>2]=F;i=h;return+E}F=0;A=f>l;E=A?l:f;A=k<<1;F=A+F|0;A=(F|0)<15;F=A?15:F;c[d>>2]=F;i=h;return+E}function ed(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0;k=i;l=0;h=0.0;j=0.0;while(1){if((l|0)>=(d|0))break;m=+g[a+(l<<2)>>2];n=h+m*+g[b+(l<<2)>>2];m=j+m*+g[c+(l<<2)>>2];l=l+1|0;h=n;j=m}g[e>>2]=h;g[f>>2]=j;i=k;return}function fd(a,b){a=a|0;b=b|0;return(a>>>0)/(b>>>0)|0|0}function gd(a,b,d,e,f,h,j,k,l,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;j=j|0;k=k|0;l=l|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,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.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;u=i;i=i+96|0;x=u+72|0;y=u+48|0;w=u+24|0;v=u;if(!p)if((r|0)==0?(A=d-b|0,+g[q>>2]>+($(m<<1,A)|0)):0)B=($(A,m)|0)<(o|0);else B=0;else B=1;s=~~(+(j>>>0)*+g[q>>2]*+(s|0)/+(m<<9|0));p=a+8|0;D=c[p>>2]|0;z=+hd(f,h,b,e,D,m);e=l+28|0;A=id(c[l+20>>2]|0,c[e>>2]|0)|0;F=(A+3|0)>>>0>j>>>0;B=F?0:B&1;F=F?0:r;if(!((d-b|0)>10?(C=+(o|0)*.125,!(C>16.0)):0))C=16.0;C=(t|0)==0?C:3.0;c[x+0>>2]=c[l+0>>2];c[x+4>>2]=c[l+4>>2];c[x+8>>2]=c[l+8>>2];c[x+12>>2]=c[l+12>>2];c[x+16>>2]=c[l+16>>2];c[x+20>>2]=c[l+20>>2];o=l+24|0;r=c[o>>2]|0;c[y+0>>2]=c[e+0>>2];c[y+4>>2]=c[e+4>>2];c[y+8>>2]=c[e+8>>2];c[y+12>>2]=c[e+12>>2];c[y+16>>2]=c[e+16>>2];G=$(D,m)|0;D=i;i=i+((4*G|0)+15&-16)|0;E=i;i=i+((4*G|0)+15&-16)|0;yj(D|0,h|0,G<<2|0)|0;G=(F|0)==0;if(G)if(!B){F=r;H=0;I=13}else{jd(a,b,d,f,D,j,A,20802+(n*84|0)|0,E,l,m,n,1,C,t)|0;I=19}else{H=jd(a,b,d,f,D,j,A,20802+(n*84|0)|0,E,l,m,n,1,C,t)|0;if(!B){F=c[o>>2]|0;I=13}else I=19}if((I|0)==13){O=jc(l)|0;N=c[l>>2]|0;M=l+4|0;c[w+0>>2]=c[M+0>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];c[w+16>>2]=c[M+16>>2];c[v+0>>2]=c[e+0>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];c[v+16>>2]=c[e+16>>2];P=kd(r)|0;Q=kd(F)|0;J=(ld(N)|0)+P|0;L=Q-P|0;I=ta()|0;K=i;i=i+((1*((Q|0)==(P|0)?1:L)|0)+15&-16)|0;yj(K|0,J|0,L|0)|0;c[l+0>>2]=c[x+0>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[l+12>>2]=c[x+12>>2];c[l+16>>2]=c[x+16>>2];c[l+20>>2]=c[x+20>>2];c[o>>2]=r;c[e+0>>2]=c[y+0>>2];c[e+4>>2]=c[y+4>>2];c[e+8>>2]=c[y+8>>2];c[e+12>>2]=c[y+12>>2];c[e+16>>2]=c[y+16>>2];x=jd(a,b,d,f,h,j,A,20760+(n*84|0)+(B*42|0)|0,k,l,m,n,0,C,t)|0;do if(!G){if((H|0)>=(x|0)){if((H|0)!=(x|0))break;if(((jc(l)|0)+s|0)<=(O|0))break}c[l>>2]=N;c[M+0>>2]=c[w+0>>2];c[M+4>>2]=c[w+4>>2];c[M+8>>2]=c[w+8>>2];c[M+12>>2]=c[w+12>>2];c[M+16>>2]=c[w+16>>2];c[o>>2]=F;c[e+0>>2]=c[v+0>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[e+16>>2]=c[v+16>>2];yj(J|0,K|0,L|0)|0;yj(h|0,D|0,($(c[p>>2]|0,m)|0)<<2|0)|0;yj(k|0,E|0,($(c[p>>2]|0,m)|0)<<2|0)|0;B=1}while(0);ja(I|0)}else if((I|0)==19){yj(h|0,D|0,($(c[p>>2]|0,m)|0)<<2|0)|0;yj(k|0,E|0,($(c[p>>2]|0,m)|0)<<2|0)|0}if(B){C=z;g[q>>2]=C;i=u;return}C=+g[21096+(n<<2)>>2];C=C*C*+g[q>>2]+z;g[q>>2]=C;i=u;return}function hd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0;k=i;h=0;l=0.0;do{j=$(h,e)|0;m=c;while(1){if((m|0)>=(d|0))break;o=m+j|0;n=+g[a+(o<<2)>>2]- +g[b+(o<<2)>>2];l=l+n*n;m=m+1|0}h=h+1|0}while((h|0)<(f|0));i=k;return+(l>200.0?200.0:l)}function id(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function jd(a,b,e,f,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,O=0,P=0.0,Q=0.0;v=i;i=i+16|0;t=v;u=v+8|0;O=t;c[O>>2]=0;c[O+4>>2]=0;if((k+3|0)<=(j|0))Bc(n,q,3);if(!q){w=+g[21112+(p<<2)>>2];x=+g[21096+(p<<2)>>2]}else{w=.149993896484375;x=0.0}p=a+8|0;a=n+20|0;k=n+28|0;q=o*3|0;A=(s|0)==0;J=0;z=b;while(1){if((z|0)>=(e|0))break;B=$(q,e-z|0)|0;y=(z|0)!=(b|0);D=(z|0)<20;C=z<<1;s=(z|0)>1;F=0;do{G=z+($(F,c[p>>2]|0)|0)|0;P=+g[f+(G<<2)>>2];Q=+g[h+(G<<2)>>2];I=x*(Q<-9.0?-9.0:Q);G=t+(F<<2)|0;H=+g[G>>2];E=P-I-H;K=~~+N(+(E+.5));c[u>>2]=K;Q=(Q<-28.0?-28.0:Q)-r;if((K|0)<0&P 0?0:K;c[u>>2]=K}L=j-(id(c[a>>2]|0,c[k>>2]|0)|0)|0;O=L-B|0;if(y&(O|0)<30&(O|0)<24){M=(K|0)>1?1:K;c[u>>2]=M;if((O|0)<16){M=(M|0)<-1?-1:M;c[u>>2]=M}}else M=K;if(!(A|s^1)){M=(M|0)<0?M:0;c[u>>2]=M}do if((L|0)<=14)if((L|0)<=1)if((L|0)>0){O=(M|0)>0?0:M;c[u>>2]=O;Bc(n,0-O|0,1);break}else{c[u>>2]=-1;break}else{if((M|0)<1)L=(M|0)<-1?-1:M;else L=1;c[u>>2]=L;Cc(n,L<<1^L>>31,21128,2);break}else{O=D?C:40;Rc(n,u,(d[l+O>>0]|0)<<7,(d[l+(O|1)>>0]|0)<<6)}while(0);O=c[u>>2]|0;Q=+(O|0);g[m+(z+($(F,c[p>>2]|0)|0)<<2)>>2]=E-Q;O=K-O|0;J=J+((O|0)>-1?O:0-O|0)|0;g[h+(z+($(F,c[p>>2]|0)|0)<<2)>>2]=I+H+Q;g[G>>2]=H+Q-w*Q;F=F+1|0}while((F|0)<(o|0));z=z+1|0}i=v;return(A?J:0)|0}function kd(a){a=a|0;return a|0}function ld(a){a=a|0;return a|0}function md(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0;l=i;a=a+8|0;while(1){if((b|0)>=(d|0))break;m=h+(b<<2)|0;p=c[m>>2]|0;o=1<=1){n=+((o&65535)<<16>>16);o=(o<<16>>16)+ -1|0;p=0;do{q=~~+N(+((+g[f+(b+($(p,c[a>>2]|0)|0)<<2)>>2]+.5)*n));s=(q|0)>(o|0);q=((s?o:q)|0)<0?0:s?o:q;Ec(j,q,c[m>>2]|0);r=(+(q|0)+.5)*+(1<<14-(c[m>>2]|0)|0)*6103515625.0e-14+-.5;q=e+(b+($(p,c[a>>2]|0)|0)<<2)|0;g[q>>2]=+g[q>>2]+r;q=f+(b+($(p,c[a>>2]|0)|0)<<2)|0;g[q>>2]=+g[q>>2]-r;p=p+1|0}while((p|0)<(k|0))}b=b+1|0}i=l;return}function nd(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=i;a=a+8|0;o=0;while(1){if((o|0)<2)p=b;else break;while(1){if(!((p|0)<(d|0)&(k|0)>=(m|0)))break;q=h+(p<<2)|0;if((c[q>>2]|0)<=7?(c[j+(p<<2)>>2]|0)==(o|0):0){r=0;do{t=!(+g[f+(p+($(r,c[a>>2]|0)|0)<<2)>>2]<0.0)&1;Ec(l,t,1);s=e+(p+($(r,c[a>>2]|0)|0)<<2)|0;g[s>>2]=+g[s>>2]+(+(t|0)+-.5)*+(1<<14-(c[q>>2]|0)+ -1|0)*6103515625.0e-14;k=k+ -1|0;r=r+1|0}while((r|0)<(m|0))}p=p+1|0}o=o+1|0}i=n;return}function od(a,b,e,f,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0;r=i;i=i+16|0;n=r;w=n;c[w>>2]=0;c[w+4>>2]=0;if(!h){m=+g[21112+(l<<2)>>2];q=+g[21096+(l<<2)>>2]}else{m=.149993896484375;q=0.0}s=c[j+4>>2]<<3;p=j+20|0;o=j+28|0;a=a+8|0;while(1){if((b|0)>=(e|0))break;t=(b|0)<20;u=b<<1;v=0;do{w=s-(id(c[p>>2]|0,c[o>>2]|0)|0)|0;do if((w|0)<=14){if((w|0)>1){w=sc(j,21128,2)|0;w=w>>1^0-(w&1);break}if((w|0)>0)w=0-(rc(j,1)|0)|0;else w=-1}else{w=t?u:40;w=Tc(j,(d[20760+(l*84|0)+(h*42|0)+w>>0]|0)<<7,(d[(w|1)+(20760+(l*84|0)+(h*42|0))>>0]|0)<<6)|0}while(0);x=+(w|0);z=f+(b+($(v,c[a>>2]|0)|0)<<2)|0;y=+g[z>>2];g[z>>2]=y<-9.0?-9.0:y;z=f+(b+($(v,c[a>>2]|0)|0)<<2)|0;w=n+(v<<2)|0;y=+g[w>>2];g[z>>2]=q*+g[z>>2]+y+x;g[w>>2]=y+x-m*x;v=v+1|0}while((v|0)<(k|0));b=b+1|0}i=r;return}function pd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0;k=i;a=a+8|0;while(1){if((b|0)>=(d|0))break;l=f+(b<<2)|0;m=c[l>>2]|0;a:do if((m|0)>=1){n=0;while(1){o=+(uc(h,m)|0)+.5;m=e+(b+($(n,c[a>>2]|0)|0)<<2)|0;g[m>>2]=+g[m>>2]+(o*+(1<<14-(c[l>>2]|0)|0)*6103515625.0e-14+-.5);n=n+1|0;if((n|0)>=(j|0))break a;m=c[l>>2]|0}}while(0);b=b+1|0}i=k;return}function qd(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;m=i;a=a+8|0;n=0;while(1){if((n|0)<2)o=b;else break;while(1){if(!((o|0)<(d|0)&(j|0)>=(l|0)))break;p=f+(o<<2)|0;if((c[p>>2]|0)<=7?(c[h+(o<<2)>>2]|0)==(n|0):0){q=0;do{s=+(uc(k,1)|0)+-.5;r=e+(o+($(q,c[a>>2]|0)|0)<<2)|0;g[r>>2]=+g[r>>2]+s*+(1<<14-(c[p>>2]|0)+ -1|0)*6103515625.0e-14;j=j+ -1|0;q=q+1|0}while((q|0)<(l|0))}o=o+1|0}n=n+1|0}i=m;return}function rd(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 j=0,k=0,l=0,m=0,n=0.0;j=i;a=a+8|0;k=0;do{l=0;while(1){if((l|0)>=(b|0)){l=b;break}m=l+($(k,c[a>>2]|0)|0)|0;n=+Z(+(+g[e+(m<<2)>>2]))*1.4426950408889634;g[f+(m<<2)>>2]=n- +g[20656+(l<<2)>>2];l=l+1|0}while(1){if((l|0)>=(d|0))break;g[f+(($(k,c[a>>2]|0)|0)+l<<2)>>2]=-14.0;l=l+1|0}k=k+1|0}while((k|0)<(h|0));i=j;return}function sd(a,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0;x=i;y=(m|0)>0?m:0;I=c[a+8>>2]|0;m=(y|0)>7?8:0;y=y-m|0;if((r|0)==2?(A=d[21136+(f-e)>>0]|0,(A|0)<=(y|0)):0){y=y-A|0;z=(y|0)>7?8:0;y=y-z|0}else{z=0;A=0}F=i;i=i+((4*I|0)+15&-16)|0;D=i;i=i+((4*I|0)+15&-16)|0;E=i;i=i+((4*I|0)+15&-16)|0;C=i;i=i+((4*I|0)+15&-16)|0;J=r<<3;B=a+32|0;j=j+ -5-s|0;H=s+3|0;G=e;while(1){if((G|0)>=(f|0))break;Q=G+1|0;O=c[B>>2]|0;O=(b[O+(Q<<1)>>1]|0)-(b[O+(G<<1)>>1]|0)|0;P=O*3<
>4;c[E+(G<<2)>>2]=(J|0)>(P|0)?J:P;P=($($($(O,r)|0,j)|0,f-G+ -1|0)|0)<>6;c[C+(G<<2)>>2]=(O< >2]|0;j=a+52|0;K=G+ -1|0;H=1;do{L=H+K>>1;M=$(L,I)|0;N=1;P=f;O=0;a:while(1){b:while(1){do{Q=P;P=P+ -1|0;if((Q|0)<=(e|0))break a;R=c[B>>2]|0;Q=$((b[R+(Q<<1)>>1]|0)-(b[R+(P<<1)>>1]|0)|0,r)|0;Q=($(Q,d[(c[j>>2]|0)+(M+P)>>0]|0)|0)<>2;if((Q|0)>0){Q=Q+(c[C+(P<<2)>>2]|0)|0;Q=(Q|0)<0?0:Q}Q=Q+(c[g+(P<<2)>>2]|0)|0;if((Q|0)<(c[E+(P<<2)>>2]|0)^1|N^1)break b}while((Q|0)<(J|0));O=O+J|0}R=c[h+(P<<2)>>2]|0;N=0;O=O+((Q|0)<(R|0)?Q:R)|0}R=(O|0)>(y|0);K=R?L+ -1|0:K;H=R?H:L+1|0}while((H|0)<=(K|0));L=H+ -1|0;J=$(L,I)|0;N=$(H,I)|0;L=(L|0)>0;I=e;K=e;while(1){if((K|0)>=(f|0))break;M=K+1|0;Q=c[B>>2]|0;Q=$((b[Q+(M<<1)>>1]|0)-(b[Q+(K<<1)>>1]|0)|0,r)|0;P=c[j>>2]|0;O=($(Q,d[P+(J+K)>>0]|0)|0)<>2;if((H|0)<(G|0))P=($(Q,d[P+(N+K)>>0]|0)|0)<>2;else P=c[h+(K<<2)>>2]|0;if((O|0)>0){O=O+(c[C+(K<<2)>>2]|0)|0;O=(O|0)<0?0:O}if((P|0)>0){P=P+(c[C+(K<<2)>>2]|0)|0;P=(P|0)<0?0:P}R=c[g+(K<<2)>>2]|0;O=L?O+R|0:O;Q=P+R-O|0;c[F+(K<<2)>>2]=O;c[D+(K<<2)>>2]=(Q|0)<0?0:Q;I=(R|0)>0?K:I;K=M}R=td(a,e,f,I,F,D,E,h,y,n,m,k,A,l,z,o,p,q,r,s,t,u,v,w)|0;i=x;return R|0}function td(a,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0;D=i;E=w<<3;G=(w|0)>1;C=G&1;F=x<<3;J=64;I=0;K=0;while(1){if((K|0)>=6){K=0;M=f;L=0;break}M=I+J>>1;L=1;P=f;N=0;a:while(1){b:while(1){do{O=P;P=P+ -1|0;if((O|0)<=(e|0))break a;O=(c[h+(P<<2)>>2]|0)+(($(M,c[j+(P<<2)>>2]|0)|0)>>6)|0;if((O|0)<(c[k+(P<<2)>>2]|0)^1|L^1)break b}while((O|0)<(E|0));N=N+E|0}Q=c[l+(P<<2)>>2]|0;L=0;N=N+((O|0)<(Q|0)?O:Q)|0}Q=(N|0)>(m|0);J=Q?M:J;I=Q?I:M;K=K+1|0}while(1){J=M+ -1|0;if((M|0)<=(e|0))break;M=(c[h+(J<<2)>>2]|0)+(($(I,c[j+(J<<2)>>2]|0)|0)>>6)|0;if((K|0)==0?(M|0)<(c[k+(J<<2)>>2]|0):0){K=0;M=(M|0)<(E|0)?0:E}else K=1;Q=c[l+(J<<2)>>2]|0;Q=(M|0)<(Q|0)?M:Q;c[t+(J<<2)>>2]=Q;M=J;L=L+Q|0}h=a+32|0;j=E+8|0;z=(z|0)==0;K=e+2|0;J=q;I=L;q=f;while(1){M=q+ -1|0;if((M|0)<=(g|0)){H=18;break}R=m-I|0;O=c[h>>2]|0;L=b[O+(q<<1)>>1]|0;N=b[O+(e<<1)>>1]|0;P=L-N|0;Q=ud(R,P)|0;P=R-($(P,Q)|0)|0;O=b[O+(M<<1)>>1]|0;N=P+(N-O)|0;O=L-O|0;L=t+(M<<2)|0;P=c[L>>2]|0;N=P+($(Q,O)|0)+((N|0)>0?N:0)|0;Q=c[k+(M<<2)>>2]|0;if((N|0)<(((Q|0)>(j|0)?Q:j)|0))q=P;else{if(z){if(rc(y,1)|0)break}else{if((q|0)<=(K|0)){H=23;break}if(!((M|0)>(B|0)?1:(N|0)<=(($((q|0)<=(A|0)?7:9,O)|0)<>4|0))){H=23;break}Bc(y,0,1)}q=c[L>>2]|0;N=N+ -8|0;I=I+8|0}if((J|0)>0)O=d[21136+(M-e)>>0]|0;else O=J;I=I-(q+J)+O|0;q=(N|0)<(E|0);c[L>>2]=q?0:E;J=O;I=q?I:I+E|0;q=M}if((H|0)==18)m=m+o|0;else if((H|0)==23)Bc(y,1,1);do if((J|0)>0)if(z){k=(tc(y,q+1-e|0)|0)+e|0;c[p>>2]=k;break}else{k=c[p>>2]|0;k=(k|0)<(q|0)?k:q;c[p>>2]=k;Dc(y,k-e|0,q+1-e|0);k=c[p>>2]|0;break}else{c[p>>2]=0;k=0}while(0);do if((k|0)>(e|0))if((s|0)>0)if(z){c[r>>2]=rc(y,1)|0;break}else{Bc(y,c[r>>2]|0,1);break}else H=41;else{m=m+s|0;H=41}while(0);if((H|0)==41)c[r>>2]=0;H=m-I|0;y=c[h>>2]|0;y=(b[y+(q<<1)>>1]|0)-(b[y+(e<<1)>>1]|0)|0;s=ud(H,y)|0;y=H-($(y,s)|0)|0;H=e;while(1){if((H|0)>=(q|0)){H=e;break}R=H+1|0;P=c[h>>2]|0;P=$(s,(b[P+(R<<1)>>1]|0)-(b[P+(H<<1)>>1]|0)|0)|0;Q=t+(H<<2)|0;c[Q>>2]=(c[Q>>2]|0)+P;H=R}while(1){if((H|0)>=(q|0))break;R=H+1|0;Q=c[h>>2]|0;Q=(b[Q+(R<<1)>>1]|0)-(b[Q+(H<<1)>>1]|0)|0;Q=(y|0)<(Q|0)?y:Q;P=t+(H<<2)|0;c[P>>2]=(c[P>>2]|0)+Q;y=y-Q|0;H=R}H=(w|0)==2;a=a+56|0;y=G?4:3;G=0;while(1){if((e|0)>=(q|0))break;s=e+1|0;g=c[h>>2]|0;g=(b[g+(s<<1)>>1]|0)-(b[g+(e<<1)>>1]|0)< >2]|0)+G|0;if((g|0)>1){k=A-(c[l+(e<<2)>>2]|0)|0;k=(k|0)>0?k:0;m=A-k|0;c[B>>2]=m;o=$(g,w)|0;if(H&(g|0)>2?(c[r>>2]|0)==0:0)A=(e|0)<(c[p>>2]|0);else A=0;A=o+(A&1)|0;o=$(A,(b[(c[a>>2]|0)+(e<<1)>>1]|0)+F|0)|0;z=(o>>1)+($(A,-21)|0)|0;if((g|0)==2)g=z+(A<<3>>2)|0;else g=z;z=m+g|0;if((z|0)>=(A<<4|0)){if((z|0)<(A*24|0))g=g+(o>>3)|0}else g=g+(o>>2)|0;o=m+g+(A<<2)|0;m=u+(e<<2)|0;o=(ud((o|0)<0?0:o,A)|0)>>>3;c[m>>2]=o;R=$(o,w)|0;z=c[B>>2]|0;if((R|0)>(z>>3|0)){o=z>>C>>3;c[m>>2]=o}R=(o|0)<8?o:8;c[m>>2]=R;R=$(R,A<<3)|0;c[v+(e<<2)>>2]=(R|0)>=((c[B>>2]|0)+g|0)&1;R=($(c[m>>2]|0,w)|0)<<3;c[B>>2]=(c[B>>2]|0)-R}else{k=A-E|0;k=(k|0)<0?0:k;c[B>>2]=A-k;c[u+(e<<2)>>2]=0;c[v+(e<<2)>>2]=1}if((k|0)<=0){G=k;e=s;continue}O=k>>y;Q=u+(e<<2)|0;P=c[Q>>2]|0;R=8-P|0;R=(O|0)<(R|0)?O:R;c[Q>>2]=P+R;R=($(R,w)|0)<<3;c[v+(e<<2)>>2]=(R|0)>=(k-G|0)&1;G=k-R|0;e=s}c[n>>2]=G;while(1){if((e|0)>=(f|0))break;Q=t+(e<<2)|0;R=u+(e<<2)|0;c[R>>2]=c[Q>>2]>>C>>3;c[Q>>2]=0;c[v+(e<<2)>>2]=(c[R>>2]|0)<1&1;e=e+1|0}i=D;return q|0}function ud(a,b){a=a|0;b=b|0;return(a>>>0)/(b>>>0)|0|0}function vd(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 j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0;k=i;m=i;i=i+((4*b|0)+15&-16)|0;j=i;i=i+((4*b|0)+15&-16)|0;l=i;i=i+((4*b|0)+15&-16)|0;wd(a,b,1,f,d,e);e=0;do{n=a+(e<<2)|0;o=+g[n>>2];p=l+(e<<2)|0;if(o>0.0)g[p>>2]=1.0;else{g[p>>2]=-1.0;g[n>>2]=-o}c[j+(e<<2)>>2]=0;g[m+(e<<2)>>2]=0.0;e=e+1|0}while((e|0)<(b|0));if((b>>1|0)<(d|0)){e=0;o=0.0;do{o=o+ +g[a+(e<<2)>>2];e=e+1|0}while((e|0)<(b|0));if(!(o>1.0000000036274937e-15&o<64.0)){g[a>>2]=1.0;e=1;do{g[a+(e<<2)>>2]=0.0;e=e+1|0}while((e|0)<(b|0));o=1.0}r=+(d+ -1|0)*(1.0/o);n=0;e=d;o=0.0;q=0.0;do{t=+g[a+(n<<2)>>2];w=~~+N(+(r*t));c[j+(n<<2)>>2]=w;v=+(w|0);q=q+v*v;o=o+t*v;g[m+(n<<2)>>2]=v*2.0;e=e-w|0;n=n+1|0}while((n|0)<(b|0))}else{e=d;o=0.0;q=0.0}if((e|0)>(b+3|0)){v=+(e|0);q=q+v*v+v*+g[m>>2];c[j>>2]=(c[j>>2]|0)+e;e=0}n=0;while(1){if((n|0)>=(e|0)){m=0;break}s=q+1.0;r=0.0;w=0;q=-999999986991104.0;p=0;while(1){v=o+ +g[a+(p<<2)>>2];t=s+ +g[m+(p<<2)>>2];v=v*v;u=r*v>t*q;w=u?p:w;p=p+1|0;if((p|0)>=(b|0))break;else{r=u?t:r;q=u?v:q}}v=o+ +g[a+(w<<2)>>2];u=m+(w<<2)|0;q=+g[u>>2];g[u>>2]=q+2.0;w=j+(w<<2)|0;c[w>>2]=(c[w>>2]|0)+1;n=n+1|0;o=v;q=s+q}do{v=+g[l+(m<<2)>>2];w=a+(m<<2)|0;g[w>>2]=v*+g[w>>2];if(v<0.0){w=j+(m<<2)|0;c[w>>2]=0-(c[w>>2]|0)}m=m+1|0}while((m|0)<(b|0));fc(j,b,d,h);w=xd(j,b,f)|0;i=k;return w|0}function wd(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,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0;h=i;if((f<<1|0)>=(b|0)|(g|0)==0){i=h;return}k=+(b|0)/+(($(c[21160+(g+ -1<<2)>>2]|0,f)|0)+b|0);k=k*k*.5;j=+R(+(k*1.5707963705062866));k=+R(+((1.0-k)*1.5707963705062866));a:do if((e<<3|0)>(b|0))g=0;else{f=e>>2;g=1;while(1){if((($(($(g,g)|0)+g|0,e)|0)+f|0)>=(b|0))break a;g=g+1|0}}while(0);b=Dd(b,e)|0;d=(d|0)<0;n=(g|0)==0;m=-k;l=-j;o=0;while(1){if((o|0)>=(e|0))break;f=a+(($(o,b)|0)<<2)|0;if(!d){Ed(f,b,1,j,m);if(!n)Ed(f,b,g,k,l)}else{if(!n)Ed(f,b,g,k,j);Ed(f,b,1,j,k)}o=o+1|0}i=h;return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((d|0)<2){k=1;i=e;return k|0}b=Dd(b,d)|0;g=0;f=0;do{h=$(f,b)|0;j=0;k=0;do{k=k|c[a+(h+j<<2)>>2];j=j+1|0}while((j|0)<(b|0));g=g|((k|0)!=0&1)< >2]=f*+(c[a+(j<<2)>>2]|0);j=j+1|0}while((j|0)<(d|0));i=h;return}function Ad(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;d=i;c=1.0/+P(+(+Bd(a,a,b)+1.0000000036274937e-15))*c;e=0;while(1){if((e|0)>=(b|0))break;g[a>>2]=c*+g[a>>2];e=e+1|0;a=a+4|0}i=d;return}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0;d=i;f=0;e=0.0;while(1){if((f|0)>=(c|0))break;h=e+ +g[a+(f<<2)>>2]*+g[b+(f<<2)>>2];f=f+1|0;e=h}i=d;return+e}function Cd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;e=i;a:do if(!c){h=+Bd(a,a,d)+1.0000000036274937e-15;f=+Bd(b,b,d)+1.0000000036274937e-15}else{h=1.0000000036274937e-15;f=1.0000000036274937e-15;c=0;while(1){if((c|0)>=(d|0))break a;l=+g[a+(c<<2)>>2];j=+g[b+(c<<2)>>2];k=l+j;j=l-j;h=h+k*k;f=f+j*j;c=c+1|0}}while(0);c=~~+N(+(+X(+(+P(+f)),+(+P(+h)))*10430.3818359375+.5));i=e;return c|0}function Dd(a,b){a=a|0;b=b|0;return(a>>>0)/(b>>>0)|0|0}function Ed(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var f=0.0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0;h=i;f=-e;k=b-c|0;l=a;j=0;while(1){if((j|0)>=(k|0))break;n=+g[l>>2];o=l+(c<<2)|0;m=+g[o>>2];g[o>>2]=m*d+n*e;g[l>>2]=n*d+m*f;l=l+4|0;j=j+1|0}b=b-(c<<1)|0;j=a+(b+ -1<<2)|0;while(1){if((b|0)<=0)break;m=+g[j>>2];o=j+(c<<2)|0;n=+g[o>>2];g[o>>2]=n*d+m*e;g[j>>2]=m*d+n*f;j=j+ -4|0;b=b+ -1|0}i=h;return}function Fd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;i=i+80|0;l=f+44|0;j=f+8|0;m=f;c[m>>2]=l;c[m+4>>2]=j;h=e>>1;Gd(d,l,j,h);w=Hd(l,8192,h)|0;if((w|0)<0){b[a>>1]=0;g=0;o=j;n=1;w=Hd(j,8192,h)|0}else{g=0;o=l;n=0}a:while(1){r=1;q=0;u=8192;b:while(1){p=r;while(1){t=b[21992+(p<<1)>>1]|0;v=Hd(o,t,h)|0;if((w|0)<1){if((v|0)>=(q|0))break;if((w|0)>-1)k=8}else k=8;if((k|0)==8?(k=0,(v|0)<=(0-q|0)):0)break;if((p|0)>127)break b;else{p=p+1|0;q=0;u=t;w=v}}q=(v|0)==0?1:0;r=-256;s=0;while(1){if((s|0)>=3)break;y=u+t|0;y=(y>>1)+(y&1)|0;x=Hd(o,y,h)|0;if((w|0)<1)if((x|0)<=-1?!((w|0)>-1&(x|0)<1):0)k=15;else{t=y;v=x}else if((x|0)<1){t=y;v=x}else k=15;if((k|0)==15){k=0;r=r+(128>>>s)|0;u=y;w=x}s=s+1|0}o=w-v|0;if((((w|0)>0?w:0-w|0)|0)<65536){if((w|0)!=(v|0))r=r+(((w<<5)+(o>>1)|0)/(o|0)|0)|0}else r=r+((w|0)/(o>>5|0)|0)|0;b[a+(n<<1)>>1]=Id((p<<8)+r|0)|0;s=n+1|0;if((s|0)>=(e|0)){k=30;break a}r=p;o=c[m+((s&1)<<2)>>2]|0;n=s;u=b[21992+(p+ -1<<1)>>1]|0;w=1-(s&2)<<12}n=g+1|0;if((g|0)>29)break;w=n<<16;jf(d,e,65536-($(w+655360>>16,w>>16)|0)|0);Gd(d,l,j,h);w=Hd(l,8192,h)|0;if((w|0)>=0){g=n;o=l;n=0;continue}b[a>>1]=0;g=n;o=j;n=1;w=Hd(j,8192,h)|0}if((k|0)==30){i=f;return}b[a>>1]=32768/(e+1|0)|0;g=1;while(1){if((g|0)>=(e|0))break;b[a+(g<<1)>>1]=$((g<<16)+65536>>16,b[a>>1]|0)|0;g=g+1|0}i=f;return}function Gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;c[b+(e<<2)>>2]=65536;c[d+(e<<2)>>2]=65536;g=0;while(1){if((g|0)>=(e|0)){g=e;break}h=a+(e-g+ -1<<2)|0;j=a+(g+e<<2)|0;c[b+(g<<2)>>2]=0-(c[h>>2]|0)-(c[j>>2]|0);c[d+(g<<2)>>2]=(c[j>>2]|0)-(c[h>>2]|0);g=g+1|0}while(1){if((g|0)<=0)break;j=g+ -1|0;h=b+(j<<2)|0;c[h>>2]=(c[h>>2]|0)-(c[b+(g<<2)>>2]|0);h=d+(j<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[d+(g<<2)>>2]|0);g=j}Jd(b,e);Jd(d,e);i=f;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=c[a+(d<<2)>>2]|0;g=b<<4;if((d|0)==8|0){b=b<<20>>16;h=(g>>15)+1>>1;d=(c[a+28>>2]|0)+(($(f>>16,b)|0)+(($(f&65535,b)|0)>>16))+($(f,h)|0)|0;d=(c[a+24>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;d=(c[a+20>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;d=(c[a+16>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;d=(c[a+12>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;d=(c[a+8>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;d=(c[a+4>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;h=(c[a>>2]|0)+(($(d>>16,b)|0)+(($(d&65535,b)|0)>>16))+($(d,h)|0)|0;i=e;return h|0}b=b<<20>>16;g=(g>>15)+1>>1;while(1){h=d+ -1|0;if((d|0)<=0)break;d=h;f=(c[a+(h<<2)>>2]|0)+(($(f>>16,b)|0)+(($(f&65535,b)|0)>>16))+($(f,g)|0)|0}i=e;return f|0}function Id(a){a=a|0;return((a|0)<32767?a:32767)|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=2;while(1){if((e|0)>(b|0))break;else f=b;while(1){if((f|0)<=(e|0))break;g=a+(f+ -2<<2)|0;c[g>>2]=(c[g>>2]|0)-(c[a+(f<<2)>>2]|0);f=f+ -1|0}g=a+(e+ -2<<2)|0;c[g>>2]=(c[g>>2]|0)-(c[a+(e<<2)>>2]<<1);e=e+1|0}i=d;return}function Kd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;h=a+2340|0;j=c[h>>2]|0;f=32767/(j+1|0)|0;e=0;g=0;while(1){if((g|0)>=(j|0))break;k=e+f|0;b[a+(g<<1)+4052>>1]=k;j=c[h>>2]|0;e=k;g=g+1|0}c[a+4148>>2]=0;c[a+4152>>2]=3176576;i=d;return}function Ld(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=i;i=i+32|0;h=g;k=a+2772|0;j=a+2316|0;if((c[j>>2]|0)!=(c[a+4156>>2]|0)){Kd(a);c[a+4156>>2]=c[j>>2]}j=a+4160|0;do if(!(c[j>>2]|0)){if(!(c[a+4164>>2]|0)){m=a+2340|0;l=0;while(1){if((l|0)>=(c[m>>2]|0))break;A=b[a+(l<<1)+2344>>1]|0;C=a+(l<<1)+4052|0;z=b[C>>1]|0;B=z&65535;b[C>>1]=B+((((A<<16>>16)-(z<<16>>16)>>16)*16348|0)+((((A&65535)-B&65535)*16348|0)>>>16));l=l+1|0}l=a+2324|0;o=c[l>>2]|0;p=0;n=0;m=0;while(1){if((n|0)>=(o|0))break;B=c[d+(n<<2)+16>>2]|0;A=(B|0)>(p|0);C=A?n:m;p=A?B:p;n=n+1|0;m=C}n=a+2332|0;C=c[n>>2]|0;zj(a+(C<<2)+2772|0,k|0,($(o+ -1|0,C)|0)<<2|0)|0;n=c[n>>2]|0;yj(k|0,a+(($(m,n)|0)<<2)+4|0,n<<2|0)|0;m=a+4148|0;l=c[l>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;B=c[m>>2]|0;C=(c[d+(n<<2)+16>>2]|0)-B|0;c[m>>2]=B+(((C>>16)*4634|0)+(((C&65535)*4634|0)>>>16));n=n+1|0}if(c[j>>2]|0)break}wj(a+4084|0,0,c[a+2340>>2]<<2|0)|0;i=g;return}while(0);d=ta()|0;j=i;i=i+((4*(f+16|0)|0)+15&-16)|0;C=b[a+4224>>1]|0;m=C<<16>>16;n=c[a+4244>>2]|0;l=n<<16>>16;n=($(m>>16,l)|0)+(($(C&65535,l)|0)>>16)+($(m,(n>>15)+1>>1)|0)|0;m=c[a+4148>>2]|0;l=n>>16;if((n|0)>2097151|(m|0)>8388608){C=m>>16;l=(Md(($(C,C)|0)-(($(l,l)|0)<<5)|0)|0)<<16}else{C=n<<16>>16;B=m<<16>>16;l=(Md(($(m>>16,B)|0)+(($(m&65535,B)|0)>>16)+($(m,(m>>15)+1>>1)|0)-(($(l,C)|0)+(($(n&65535,C)|0)>>16)+($(n,(n>>15)+1>>1)|0)<<5)|0)|0)<<8}Nd(j+64|0,k,l,f,a+4152|0);k=a+2340|0;Zd(h,a+4052|0,c[k>>2]|0);a=a+4084|0;m=j+0|0;n=a+0|0;l=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(l|0));x=b[h>>1]|0;w=b[h+2>>1]|0;v=b[h+4>>1]|0;l=b[h+6>>1]|0;t=b[h+8>>1]|0;s=b[h+10>>1]|0;r=b[h+12>>1]|0;q=b[h+14>>1]|0;p=b[h+16>>1]|0;o=b[h+18>>1]|0;m=b[h+20>>1]|0;z=b[h+22>>1]|0;n=b[h+24>>1]|0;u=b[h+26>>1]|0;y=b[h+28>>1]|0;h=b[h+30>>1]|0;A=0;while(1){if((A|0)>=(f|0))break;C=c[j+(A+15<<2)>>2]|0;C=(c[k>>2]>>1)+(($(C>>16,x)|0)+(($(C&65535,x)|0)>>16))|0;B=c[j+(A+14<<2)>>2]|0;B=C+(($(B>>16,w)|0)+(($(B&65535,w)|0)>>16))|0;C=c[j+(A+13<<2)>>2]|0;C=B+(($(C>>16,v)|0)+(($(C&65535,v)|0)>>16))|0;B=c[j+(A+12<<2)>>2]|0;B=C+(($(B>>16,l)|0)+(($(B&65535,l)|0)>>16))|0;C=c[j+(A+11<<2)>>2]|0;C=B+(($(C>>16,t)|0)+(($(C&65535,t)|0)>>16))|0;B=c[j+(A+10<<2)>>2]|0;B=C+(($(B>>16,s)|0)+(($(B&65535,s)|0)>>16))|0;C=c[j+(A+9<<2)>>2]|0;C=B+(($(C>>16,r)|0)+(($(C&65535,r)|0)>>16))|0;B=c[j+(A+8<<2)>>2]|0;B=C+(($(B>>16,q)|0)+(($(B&65535,q)|0)>>16))|0;C=c[j+(A+7<<2)>>2]|0;C=B+(($(C>>16,p)|0)+(($(C&65535,p)|0)>>16))|0;B=c[j+(A+6<<2)>>2]|0;B=C+(($(B>>16,o)|0)+(($(B&65535,o)|0)>>16))|0;if((c[k>>2]|0)==16){C=c[j+(A+5<<2)>>2]|0;C=B+(($(C>>16,m)|0)+(($(C&65535,m)|0)>>16))|0;B=c[j+(A+4<<2)>>2]|0;B=C+(($(B>>16,z)|0)+(($(B&65535,z)|0)>>16))|0;C=c[j+(A+3<<2)>>2]|0;C=B+(($(C>>16,n)|0)+(($(C&65535,n)|0)>>16))|0;B=c[j+(A+2<<2)>>2]|0;B=C+(($(B>>16,u)|0)+(($(B&65535,u)|0)>>16))|0;C=c[j+(A+1<<2)>>2]|0;C=B+(($(C>>16,y)|0)+(($(C&65535,y)|0)>>16))|0;B=c[j+(A<<2)>>2]|0;B=C+(($(B>>16,h)|0)+(($(B&65535,h)|0)>>16))|0}D=j+(A+16<<2)|0;C=(c[D>>2]|0)+(B<<4)|0;c[D>>2]=C;B=e+(A<<1)|0;C=(b[B>>1]|0)+((C>>9)+1>>1)|0;if((C|0)>32767)C=32767;else C=(C|0)<-32768?-32768:C&65535;b[B>>1]=C;A=A+1|0}m=a+0|0;n=j+(f<<2)+0|0;l=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(l|0));ja(d|0);i=g;return}function Md(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;if((a|0)<1){e=0;i=b;return e|0}Od(a,d,e);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function Nd(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,j=0,k=0,l=0,m=0;h=i;g=255;while(1){if((g|0)<=(e|0))break;g=g>>1}j=d<<12>>16;d=(d>>19)+1>>1;l=c[f>>2]|0;k=0;while(1){if((k|0)>=(e|0))break;l=($(l,196314165)|0)+907633515|0;m=c[b+((l>>24&g)<<2)>>2]|0;m=($(m>>16,j)|0)+(($(m&65535,j)|0)>>16)+($(m,d)|0)|0;if((m|0)<=32767)if((m|0)<-32768)m=-32768;else m=m<<16>>16;else m=32767;c[a+(k<<2)>>2]=m;k=k+1|0}c[f>>2]=l;i=h;return}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=Pd(a)|0;c[b>>2]=f;c[d>>2]=(Qd(a,24-f|0)|0)&127;i=e;return}function Pd(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function Rd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;if((a[b+4565>>0]|0)!=2){i=d;return}g=$(c[b+4600>>2]|0,65536e3)|0;g=(oh((g|0)/(c[b+4568>>2]|0)|0)|0)+ -2048|0;e=c[b+4728>>2]|0;h=0-e<<2;e=e<<16>>16;f=$(h>>16,e)|0;e=$(h&65532,e)|0;h=$(f+(e>>16)>>16,g-((oh(3932160)|0)+63488)<<16>>16)|0;g=g+(h+(($(f+(e>>>16)&65535,g-((oh(3932160)|0)+63488)<<16>>16)|0)>>16))|0;e=b+8|0;f=c[e>>2]|0;g=g-(f>>8)|0;if((g|0)<0)g=g*3|0;if((g|0)>51)g=51;else g=(g|0)<-51?-51:g;h=$(c[b+4556>>2]<<16>>16,g<<16>>16)|0;c[e>>2]=f+(((h>>16)*6554|0)+(((h&65535)*6554|0)>>>16));h=(oh(60)|0)<<8;h=(h|0)>((oh(100)|0)<<8|0);b=c[e>>2]|0;do if(h){if((b|0)>((oh(60)|0)<<8|0)){b=(oh(60)|0)<<8;break}h=c[e>>2]|0;if((h|0)<((oh(100)|0)<<8|0)){b=(oh(100)|0)<<8;break}else{b=c[e>>2]|0;break}}else{if((b|0)>((oh(100)|0)<<8|0)){b=(oh(100)|0)<<8;break}h=c[e>>2]|0;if((h|0)<((oh(60)|0)<<8|0)){b=(oh(60)|0)<<8;break}else{b=c[e>>2]|0;break}}while(0);c[e>>2]=b;i=d;return} function Sd(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;g=d+2|0;m=d+4|0;k=d+6|0;h=d+8|0;n=d+10|0;j=f;while(1){if((j|0)>=(e|0))break;p=j+ -1|0;o=$(b[c+(p<<1)>>1]|0,b[d>>1]|0)|0;o=o+($(b[c+(j+ -2<<1)>>1]|0,b[g>>1]|0)|0)|0;o=o+($(b[c+(j+ -3<<1)>>1]|0,b[m>>1]|0)|0)|0;o=o+($(b[c+(j+ -4<<1)>>1]|0,b[k>>1]|0)|0)|0;o=o+($(b[c+(j+ -5<<1)>>1]|0,b[h>>1]|0)|0)|0;o=o+($(b[c+(j+ -6<<1)>>1]|0,b[n>>1]|0)|0)|0;q=6;while(1){if((q|0)>=(f|0))break;r=o+($(b[c+(p-q<<1)>>1]|0,b[d+(q<<1)>>1]|0)|0)|0;o=r+($(b[c+(p+~q<<1)>>1]|0,b[d+((q|1)<<1)>>1]|0)|0)|0;q=q+2|0}o=((b[c+(j<<1)>>1]<<12)-o>>11)+1>>1;if((o|0)>32767)o=32767;else o=(o|0)<-32768?-32768:o&65535;b[a+(j<<1)>>1]=o;j=j+1|0}wj(a|0,0,f<<1|0)|0;i=l;return}function Td(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+128|0;f=e;h=d&1;g=0;j=0;while(1){if((j|0)>=(d|0))break;k=b[a+(j<<1)>>1]|0;c[f+(h<<6)+(j<<2)>>2]=k<<12;g=g+k|0;j=j+1|0}if((g|0)>4095){k=0;i=e;return k|0}k=Ud(f,d)|0;i=e;return k|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;f=b&1;l=1073741824;k=0;while(1){b=b+ -1|0;if((b|0)<=0)break;g=c[a+(f<<6)+(b<<2)>>2]|0;if((g|0)>16773022|(g|0)<-16773022){a=0;e=13;break}j=0-(g<<7)|0;h=((j|0)<0)<<31>>31;Gj(j|0,h|0,j|0,h|0)|0;o=1073741824-D|0;m=32-(Vd((o|0)>0?o:0-o|0)|0)|0;g=Wd(o,m+30|0)|0;k=Gj(l|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;k=uj(k|0,D|0,30)|0;k=k&-4;l=b&1;o=(m|0)==1;n=((g|0)<0)<<31>>31;m=m+ -1|0;p=0;while(1){if((p|0)>=(b|0))break;q=c[a+(f<<6)+(p<<2)>>2]|0;r=c[a+(f<<6)+(b-p+ -1<<2)>>2]|0;r=Gj(r|0,((r|0)<0)<<31>>31|0,j|0,h|0)|0;r=uj(r|0,D|0,30)|0;r=xj(r|0,D|0,1,0)|0;r=uj(r|0,D|0,1)|0;r=q-r|0;r=Gj(r|0,((r|0)<0)<<31>>31|0,g|0,n|0)|0;q=D;if(o){q=uj(r|0,q|0,1)|0;q=xj(q|0,D|0,r&1|0,0)|0}else{q=tj(r|0,q|0,m|0)|0;q=xj(q|0,D|0,1,0)|0;q=uj(q|0,D|0,1)|0}c[a+(l<<6)+(p<<2)>>2]=q;p=p+1|0}f=l;l=k;k=((k|0)<0)<<31>>31}if((e|0)==13){i=d;return a|0}e=c[a+(f<<6)>>2]|0;if((e|0)>16773022|(e|0)<-16773022){r=0;i=d;return r|0}q=0-(e<<7)|0;r=((q|0)<0)<<31>>31;Gj(q|0,r|0,q|0,r|0)|0;r=1073741824-D|0;r=Gj(l|0,k|0,r|0,((r|0)<0)<<31>>31|0)|0;r=uj(r|0,D|0,30)|0;r=r&-4;i=d;return r|0}function Vd(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=i;e=Vd((a|0)>0?a:0-a|0)|0;d=a< >16;a=536870911/(h|0)|0;g=a<<16;f=g>>16;d=536870912-(($(h,f)|0)+(($(d&65535,f)|0)>>16))<<3;a=g+(($(d>>16,f)|0)+(($(d&65528,f)|0)>>16))+($(d,(a>>15)+1>>1)|0)|0;b=62-e-b|0;if((b|0)>=1){i=c;return((b|0)<32?a>>b:0)|0}b=0-b|0;d=-2147483648>>b;e=2147483647>>>b;if((d|0)>(e|0)){if((a|0)>(d|0)){h=d;h=h<(e|0)){h=e;h=h<>2]|0)){i=e;return}h=a+8|0;l=256-(c[h>>2]|0)<<10;k=l>>16;Yd(f,g,k,l-(k<<16)|0);j=(c[h>>2]|0)+(c[j>>2]|0)|0;if((j|0)>256)j=256;else j=(j|0)<0?0:j;c[h>>2]=j;gf(b,f,g,a,b,d);i=e;return}function Yd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;if((d|0)>=4){c[a+0>>2]=c[6270];c[a+4>>2]=c[6271];c[a+8>>2]=c[6272];e=b;c[e>>2]=35497197;c[e+4>>2]=57401098;i=h;return}if((e|0)<=0){g=25032+(d*12|0)|0;c[a+0>>2]=c[g+0>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];g=25096+(d<<3)|0;a=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=a;i=h;return}f=d+1|0;g=e<<16>>16;if((e|0)<32768){e=0;while(1){if((e|0)>=3){a=0;break}k=c[25032+(d*12|0)+(e<<2)>>2]|0;j=(c[25032+(f*12|0)+(e<<2)>>2]|0)-k|0;c[a+(e<<2)>>2]=k+(($(j>>16,g)|0)+(($(j&65535,g)|0)>>16));e=e+1|0}while(1){if((a|0)>=2)break;j=c[25096+(d<<3)+(a<<2)>>2]|0;k=(c[25096+(f<<3)+(a<<2)>>2]|0)-j|0;c[b+(a<<2)>>2]=j+(($(k>>16,g)|0)+(($(k&65535,g)|0)>>16));a=a+1|0}i=h;return}else{e=0;while(1){if((e|0)>=3){a=0;break}j=c[25032+(f*12|0)+(e<<2)>>2]|0;k=j-(c[25032+(d*12|0)+(e<<2)>>2]|0)|0;c[a+(e<<2)>>2]=j+(($(k>>16,g)|0)+(($(k&65535,g)|0)>>16));e=e+1|0}while(1){if((a|0)>=2)break;j=c[25096+(f<<3)+(a<<2)>>2]|0;k=j-(c[25096+(d<<3)+(a<<2)>>2]|0)|0;c[b+(a<<2)>>2]=j+(($(k>>16,g)|0)+(($(k&65535,g)|0)>>16));a=a+1|0}i=h;return}}function Zd(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+208|0;l=g+136|0;j=g+100|0;k=g+64|0;h=g;m=(f|0)==16?21176:21192;n=0;while(1){if((n|0)>=(f|0))break;p=b[e+(n<<1)>>1]|0;o=p>>8;q=b[21992+(o<<1)>>1]|0;o=((q<<8)+($((b[21992+(o+1<<1)>>1]|0)-q|0,p-(o<<8)|0)|0)>>3)+1>>1;c[l+(d[m+n>>0]<<2)>>2]=o;n=n+1|0}m=f>>1;_d(j,l,m);_d(k,l+4|0,m);l=0;while(1){if((l|0)>=(m|0))break;q=l+1|0;p=(c[j+(q<<2)>>2]|0)+(c[j+(l<<2)>>2]|0)|0;o=(c[k+(q<<2)>>2]|0)-(c[k+(l<<2)>>2]|0)|0;c[h+(l<<2)>>2]=0-o-p;c[h+(f-l+ -1<<2)>>2]=o-p;l=q}k=0;j=0;while(1){if((j|0)<10){l=0;m=0}else break;while(1){if((m|0)>=(f|0))break;q=c[h+(m<<2)>>2]|0;q=(q|0)>0?q:0-q|0;p=(q|0)>(l|0);k=p?m:k;l=p?q:l;m=m+1|0}l=(l>>4)+1>>1;if((l|0)<=32767)break;q=(l|0)<163838?l:163838;jf(h,f,65470-(((q<<14)+ -536854528|0)/(($(q,k+1|0)|0)>>2|0)|0)|0);j=j+1|0}a:do if((j|0)==10){k=0;while(1){if((k|0)>=(f|0)){k=0;break a}j=h+(k<<2)|0;l=(c[j>>2]>>4)+1>>1;if((l|0)>32767)l=32767;else l=(l|0)<-32768?-32768:l&65535;b[a+(k<<1)>>1]=l;c[j>>2]=l<<16>>16<<5;k=k+1|0}}else{j=0;while(1){if((j|0)>=(f|0)){k=0;break a}b[a+(j<<1)>>1]=(((c[h+(j<<2)>>2]|0)>>>4)+1|0)>>>1;j=j+1|0}}while(0);while(1){if((k|0)>=16){a=26;break}if((Td(a,f)|0)>=107374){a=26;break}jf(h,f,65536-(2< =(f|0))break;b[a+(j<<1)>>1]=(((c[h+(j<<2)>>2]|0)>>>4)+1|0)>>>1;j=j+1|0}k=k+1|0}if((a|0)==26){i=g;return}}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;c[a>>2]=65536;e=a+4|0;g=1;h=0-(c[b>>2]|0)|0;while(1){c[e>>2]=h;if((g|0)>=(d|0))break;j=c[b+(g<<1<<2)>>2]|0;l=c[a+(g+ -1<<2)>>2]|0;k=((j|0)<0)<<31>>31;m=c[a+(g<<2)>>2]|0;m=Gj(j|0,k|0,m|0,((m|0)<0)<<31>>31|0)|0;m=uj(m|0,D|0,15)|0;m=xj(m|0,D|0,1,0)|0;m=uj(m|0,D|0,1)|0;h=g+1|0;c[a+(h<<2)>>2]=(l<<1)-m;while(1){if((g|0)<=1)break;m=c[a+(g+ -2<<2)>>2]|0;o=Gj(j|0,k|0,l|0,((l|0)<0)<<31>>31|0)|0;o=uj(o|0,D|0,15)|0;o=xj(o|0,D|0,1,0)|0;o=uj(o|0,D|0,1)|0;n=a+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+(m-o);l=m;g=g+ -1|0}g=h;h=(c[e>>2]|0)-j|0}i=f;return}function $d(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=0;while(1){if((k|0)<(g|0)){m=0;l=0}else break;while(1){if((m|0)>=(h|0))break;o=(e[b+(m<<1)>>1]|0)-((d[f>>0]|0)<<7)<<16>>16;o=$(o,o)|0;n=(e[b+((m|1)<<1)>>1]|0)-((d[f+1>>0]|0)<<7)<<16>>16;f=f+2|0;m=m+2|0;l=l+((o+($(n,n)|0)|0)>>>4)|0}c[a+(k<<2)>>2]=l;k=k+1|0}i=j;return}function ae(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b[c>>1]|0;g=131072/(be(f)|0)|0;f=131072/(be((b[c+2>>1]|0)-f|0)|0)|0;b[a>>1]=ce(g+f|0)|0;d=d+ -1|0;g=1;while(1){if((g|0)>=(d|0))break;k=g+1|0;h=c+(k<<1)|0;l=131072/(be((b[h>>1]|0)-(b[c+(g<<1)>>1]|0)|0)|0)|0;b[a+(g<<1)>>1]=ce(l+f|0)|0;j=g+2|0;h=131072/(be((b[c+(j<<1)>>1]|0)-(b[h>>1]|0)|0)|0)|0;b[a+(k<<1)>>1]=ce(l+h|0)|0;g=j;f=h}b[a+(d<<1)>>1]=ce((131072/(be(32768-(b[c+(d<<1)>>1]|0)|0)|0)|0)+f|0)|0;i=e;return}function be(a){a=a|0;return((a|0)>1?a:1)|0}function ce(a){a=a|0;return((a|0)<32767?a:32767)|0}function de(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=i;i=i+112|0;q=m+96|0;n=m+64|0;k=m+32|0;l=m;j=h+2|0;r=b[j>>1]|0;p=$(a[g>>0]|0,r<<16>>16)|0;o=c[h+8>>2]|0;s=0;while(1){if((s|0)>=(r<<16>>16|0))break;b[f+(s<<1)>>1]=d[o+(p+s)>>0]<<7;r=b[j>>1]|0;s=s+1|0}se(n,q,h,a[g>>0]|0);ee(k,g+1|0,q,b[h+4>>1]|0,b[j>>1]|0);ae(l,f,b[j>>1]|0);n=0;while(1){o=b[j>>1]|0;if((n|0)>=(o|0))break;p=fe(e[l+(n<<1)>>1]<<16)|0;o=f+(n<<1)|0;p=(b[o>>1]|0)+((b[k+(n<<1)>>1]<<14|0)/(p|0)|0)|0;if((p|0)>32767)p=32767;else p=(p|0)<0?0:p&65535;b[o>>1]=p;n=n+1|0}pe(f,c[h+32>>2]|0,o);i=m;return}function ee(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;g=g<<16>>16;k=0;l=h<<16>>16;while(1){h=l+ -1|0;if((l|0)<=0)break;k=($(k,d[f+h>>0]|0)|0)>>8;l=a[e+h>>0]|0;m=l<<24>>24<<10;if(l<<24>>24>0)l=m+ -102|0;else l=l<<24>>24<0?m|102:m;k=k+(($(l>>16,g)|0)+(($(l&65535,g)|0)>>16))|0;b[c+(h<<1)>>1]=k;k=k<<16>>16;l=h}i=j;return}function fe(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;if((a|0)<1){e=0;i=b;return e|0}ge(a,d,e);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=he(a)|0;c[b>>2]=f;c[d>>2]=(ie(a,24-f|0)|0)&127;i=e;return}function he(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function ie(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function je(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|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;p=i;i=i+320|0;u=p+224|0;q=p+256|0;x=p+240|0;r=p+192|0;t=p+176|0;s=p+160|0;w=p+80|0;v=p;y=l<<16>>16;z=-10;while(1){if((z|0)>=10)break;A=z<<10;B=A+1024|0;do if((z|0)<=0)if((z|0)==-1){l=A|102;break}else if(!z){l=A;B=A|922;break}else{l=A|102;B=A+1126|0;break}else{l=A+ -102|0;B=A|922}while(0);J=z+10|0;c[w+(J<<2)>>2]=($(l>>16,y)|0)+(($(l&65535,y)|0)>>16);c[v+(J<<2)>>2]=($(B>>16,y)|0)+(($(B&65535,y)|0)>>16);z=z+1|0}c[r>>2]=0;b[x>>1]=0;o=o<<16>>16;l=m<<16>>16>>16;m=m&65535;n=n<<16>>16;z=1;y=o;a:while(1){y=y+ -1|0;B=b[j+(y<<1)>>1]|0;D=d[h+y>>0]<<8;C=b[f+(y<<1)>>1]|0;E=g+(y<<1)|0;A=0;while(1){if((A|0)>=(z|0))break;I=x+(A<<1)|0;G=($(D,b[I>>1]|0)|0)>>16;F=C-G<<16>>16;F=($(l,F)|0)+(($(m,F)|0)>>16)|0;if((F|0)>9)H=9;else H=(F|0)<-10?-10:F;a[q+(A<<4)+y>>0]=H;J=H+10|0;F=(c[w+(J<<2)>>2]|0)+G|0;G=(c[v+(J<<2)>>2]|0)+G|0;b[I>>1]=F;J=A+z|0;b[x+(J<<1)>>1]=G;do if((H|0)>2)if((H|0)==3){I=d[k+(B+7)>>0]|0;H=280;break}else{H=(H<<16>>16)*43|0;I=H+108|0;H=H+151|0;break}else{if((H|0)>=-3){I=d[k+(B+(H+4))>>0]|0;H=d[k+(B+(H+5))>>0]|0;break}if((H|0)==-4){I=280;H=d[k+(B+1)>>0]|0;break}else{H=$(H<<16>>16,-43)|0;I=H+108|0;H=H+65|0;break}}while(0);L=r+(A<<2)|0;K=c[L>>2]|0;M=C-F<<16>>16;M=$(M,M)|0;F=b[E>>1]|0;c[L>>2]=K+($(M,F)|0)+($(n,I<<16>>16)|0);I=C-G<<16>>16;c[r+(J<<2)>>2]=K+($($(I,I)|0,F)|0)+($(n,H<<16>>16)|0);A=A+1|0}if((z|0)<3){A=0;while(1){if((A|0)>=(z|0))break;a[q+(A+z<<4)+y>>0]=(d[q+(A<<4)+y>>0]|0)+1;A=A+1|0}z=z<<1;A=z;while(1){if((A|0)>=4)continue a;a[q+(A<<4)+y>>0]=a[q+(A-z<<4)+y>>0]|0;A=A+1|0}}if((y|0)>0)C=0;else{s=0;h=2147483647;t=0;break}while(1){if((C|0)>=4){B=0;A=0;E=0;D=2147483647;C=0;break}E=r+(C<<2)|0;D=c[E>>2]|0;F=C+4|0;A=r+(F<<2)|0;B=c[A>>2]|0;if((D|0)>(B|0)){c[s+(C<<2)>>2]=D;c[t+(C<<2)>>2]=B;c[E>>2]=B;c[A>>2]=D;K=x+(C<<1)|0;L=b[K>>1]|0;M=x+(F<<1)|0;b[K>>1]=b[M>>1]|0;b[M>>1]=L;c[u+(C<<2)>>2]=F}else{c[t+(C<<2)>>2]=D;c[s+(C<<2)>>2]=B;c[u+(C<<2)>>2]=C}C=C+1|0}while(1){if((C|0)<4){M=c[s+(C<<2)>>2]|0;L=(D|0)>(M|0);K=c[t+(C<<2)>>2]|0;J=(E|0)<(K|0);B=J?C:B;A=L?C:A;E=J?K:E;D=L?M:D;C=C+1|0;continue}if((D|0)>=(E|0)){A=0;break}c[u+(B<<2)>>2]=c[u+(A<<2)>>2]^4;C=A+4|0;c[r+(B<<2)>>2]=c[r+(C<<2)>>2];b[x+(B<<1)>>1]=b[x+(C<<1)>>1]|0;c[t+(B<<2)>>2]=0;c[s+(A<<2)>>2]=2147483647;B=q+(B<<4)+0|0;A=q+(A<<4)+0|0;C=B+16|0;do{a[B>>0]=a[A>>0]|0;B=B+1|0;A=A+1|0}while((B|0)<(C|0));B=0;A=0;E=0;D=2147483647;C=0}while(1){if((A|0)>=4)continue a;M=q+(A<<4)+y|0;a[M>>0]=(d[M>>0]|0)+((c[u+(A<<2)>>2]|0)>>>2);A=A+1|0}}while(1){if((t|0)>=8)break;M=c[r+(t<<2)>>2]|0;L=(h|0)>(M|0);s=L?t:s;h=L?M:h;t=t+1|0}r=s&3;t=0;while(1){if((t|0)>=(o|0))break;a[e+t>>0]=a[q+(r<<4)+t>>0]|0;t=t+1|0}a[e>>0]=(d[e>>0]|0)+(s>>>2);i=p;return h|0}function ke(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;r=i;i=i+224|0;x=r;A=r+168|0;u=r+136|0;B=r+104|0;z=r+72|0;v=r+40|0;t=r+200|0;s=r+8|0;q=h+2|0;pe(g,c[h+32>>2]|0,b[q>>1]|0);o=b[h>>1]|0;D=i;i=i+((4*(o&65535)|0)+15&-16)|0;C=h+8|0;$d(D,g,c[C>>2]|0,o<<16>>16,b[q>>1]|0);o=i;i=i+((4*l|0)+15&-16)|0;Mh(D,o,b[h>>1]|0,l);D=i;i=i+((4*l|0)+15&-16)|0;p=i;i=i+((1*(l<<4)|0)+15&-16)|0;w=h+28|0;n=h+4|0;y=h+6|0;E=m>>1;G=h+12|0;m=k<<14>>16;F=0;while(1){if((F|0)>=(l|0))break;H=c[o+(F<<2)>>2]|0;I=b[q>>1]|0;K=$(H,I)|0;J=c[C>>2]|0;L=0;while(1){if((L|0)>=(I|0))break;M=d[J+(K+L)>>0]<<7;b[B+(L<<1)>>1]=M;b[A+(L<<1)>>1]=(e[g+(L<<1)>>1]|0)-M;L=L+1|0}ae(z,B,I);J=0;while(1){I=b[q>>1]|0;if((J|0)>=(I|0)){J=0;break}M=le(e[z+(J<<1)>>1]<<16)|0;b[u+(J<<1)>>1]=($(b[A+(J<<1)>>1]|0,M<<16>>16)|0)>>>14;J=J+1|0}while(1){if((J|0)>=(I|0))break;b[v+(J<<1)>>1]=(b[j+(J<<1)>>1]<<5|0)/(b[z+(J<<1)>>1]|0)|0;J=J+1|0}se(s,t,h,H);J=je(p+(F<<4)|0,u,v,t,s,c[w>>2]|0,b[n>>1]|0,b[y>>1]|0,k,b[q>>1]|0)|0;I=D+(F<<2)|0;c[I>>2]=J;K=$(E,b[h>>1]|0)|0;L=c[G>>2]|0;if(!H)H=256-(d[L+K>>0]|0)|0;else H=(d[L+(K+(H+ -1))>>0]|0)-(d[L+(K+H)>>0]|0)|0;c[I>>2]=J+($(1024-(oh(H)|0)<<16>>16,m)|0);F=F+1|0}Mh(D,x,l,1);M=c[x>>2]|0;a[f>>0]=c[o+(M<<2)>>2];yj(f+1|0,p+(M<<4)|0,b[q>>1]|0)|0;de(g,f,h);i=r;return}function le(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;if((a|0)<1){e=0;i=b;return e|0}me(a,d,e);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=ne(a)|0;c[b>>2]=f;c[d>>2]=(oe(a,24-f|0)|0)&127;i=e;return}function ne(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function pe(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;l=d+ -1|0;g=a+(l<<1)|0;h=c+(d<<1)|0;k=0;while(1){if((k|0)>=20)break;o=b[a>>1]|0;n=b[c>>1]|0;p=o;m=0;o=(o<<16>>16)-(n<<16>>16)|0;q=1;while(1){if((q|0)>(l|0))break;t=b[a+(q<<1)>>1]|0;s=(t<<16>>16)-((p<<16>>16)+(b[c+(q<<1)>>1]|0))|0;r=(s|0)<(o|0);p=t;m=r?q:m;o=r?s:o;q=q+1|0}p=b[h>>1]|0;t=32768-((b[g>>1]|0)+(p<<16>>16))|0;s=(t|0)<(o|0);m=s?d:m;if(((s?t:o)|0)>-1){j=30;break}do if(!m)b[a>>1]=n;else{if((m|0)==(d|0)){b[g>>1]=32768-(p&65535);break}else{p=0;n=0}while(1){if((n|0)>=(m|0))break;p=p+(b[c+(n<<1)>>1]|0)|0;n=n+1|0}n=c+(m<<1)|0;o=b[n>>1]|0;q=o>>1;p=p+q|0;r=32768;s=d;while(1){if((s|0)<=(m|0))break;r=r-(b[c+(s<<1)>>1]|0)|0;s=s+ -1|0}r=r-q|0;t=b[a+(m+ -1<<1)>>1]|0;q=b[a+(m<<1)>>1]|0;q=((t<<16>>16)+(q<<16>>16)>>1)+((t&65535)+(q&65535)&1)|0;if((p|0)>(r|0)){if((q|0)<=(p|0))p=(q|0)<(r|0)?r:q}else if((q|0)>(r|0))p=r;else p=(q|0)<(p|0)?p:q;t=p-(o>>>1)|0;b[a+(m+ -1<<1)>>1]=t;b[a+(m<<1)>>1]=t+(e[n>>1]|0)}while(0);k=k+1|0}if((j|0)==30){i=f;return}if((k|0)!=20){i=f;return}Nh(a,d);k=qe(b[a>>1]|0,b[c>>1]|0)|0;b[a>>1]=k;j=1;while(1){if((j|0)>=(d|0))break;s=a+(j<<1)|0;t=qe(b[s>>1]|0,(k<<16>>16)+(b[c+(j<<1)>>1]|0)|0)|0;b[s>>1]=t;k=t;j=j+1|0}t=re(b[g>>1]|0,32768-(b[h>>1]|0)|0)|0;b[g>>1]=t;g=t;d=d+ -2|0;while(1){if((d|0)<=-1)break;s=a+(d<<1)|0;t=re(b[s>>1]|0,(g<<16>>16)-(b[c+(d+1<<1)>>1]|0)|0)|0;b[s>>1]=t;g=t;d=d+ -1|0}i=f;return}function qe(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function re(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function se(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;j=f+2|0;k=b[j>>1]|0;l=($(k<<16>>16,g)|0)/2|0;g=f+16|0;f=(c[f+20>>2]|0)+l|0;l=0;while(1){if((l|0)>=(k<<16>>16|0))break;n=a[f>>0]|0;m=n&255;b[d+(l<<1)>>1]=(m>>>1&7)*9;a[e+l>>0]=a[(c[g>>2]|0)+(l+((b[j>>1]|0)+ -1&0-(m&1)))>>0]|0;k=l|1;b[d+(k<<1)>>1]=((n&255)>>>5&255)*9;a[e+k>>0]=a[(c[g>>2]|0)+(l+((b[j>>1]|0)+ -1&0-(m>>>4&1))+1)>>0]|0;k=b[j>>1]|0;f=f+1|0;l=l+2|0}i=h;return}function te(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;t=i;c[e+4368>>2]=a[f+34>>0];v=e+4356|0;R=c[v>>2]|0;u=f+29|0;w=b[24968+(a[u>>0]>>1<<2)+(a[f+30>>0]<<1)>>1]|0;C=(a[f+31>>0]|0)==4?0:1;x=d+4616|0;f=c[x>>2]|0;y=d+4608|0;H=f+(c[y>>2]|0)|0;J=i;i=i+((4*H|0)+15&-16)|0;G=i;i=i+((2*H|0)+15&-16)|0;H=d+4612|0;z=i;i=i+((4*(c[H>>2]|0)|0)+15&-16)|0;c[e+4364>>2]=f;f=e+4360|0;c[f>>2]=c[x>>2];A=d+4604|0;B=C^1;E=e+4376|0;C=C<<1^3;I=d+4664|0;F=d+5124|0;D=d+4660|0;K=e+(c[x>>2]<<1)|0;L=0;while(1){M=c[A>>2]|0;if((L|0)>=(M|0))break;P=j+((L>>1|B)<<4<<1)|0;O=k+(L*5<<1)|0;N=l+(L<<4<<1)|0;M=c[m+(L<<2)>>2]|0;M=M>>2|M>>>1<<16;c[E>>2]=0;Q=a[u>>0]|0;if(Q<<24>>24==2){R=c[q+(L<<2)>>2]|0;if(!(L&C)){T=c[x>>2]|0;Q=c[I>>2]|0;S=T-R-Q+ -2|0;U=e+(S+($(L,c[H>>2]|0)|0)<<1)|0;Sd(G+(S<<1)|0,U,P,T-S|0,Q,c[F>>2]|0);c[E>>2]=1;c[f>>2]=c[x>>2];Q=a[u>>0]|0}else Q=2}ue(d,e,g,z,G,J,L,s,p,q,Q<<24>>24);ve(e,a[u>>0]|0,z,h,K,J,P,O,N,R,M,c[n+(L<<2)>>2]|0,c[o+(L<<2)>>2]|0,c[p+(L<<2)>>2]|0,r,w,c[H>>2]|0,c[D>>2]|0,c[I>>2]|0);U=c[H>>2]|0;g=g+(U<<2)|0;h=h+U|0;K=K+(U<<1)|0;L=L+1|0}c[v>>2]=c[q+(M+ -1<<2)>>2];zj(e|0,e+(c[y>>2]<<1)|0,c[x>>2]<<1|0)|0;zj(e+1280|0,e+(c[y>>2]<<2)+1280|0,c[x>>2]<<2|0)|0;i=t;return}function ue(a,d,e,f,g,h,j,k,l,m,n){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=i;m=c[m+(j<<2)>>2]|0;r=l+(j<<2)|0;l=c[r>>2]|0;p=we((l|0)>1?l:1)|0;q=d+4372|0;s=c[q>>2]|0;if((l|0)==(s|0))l=65536;else l=xe(s,l)|0;s=(p>>7)+1|0;v=a+4612|0;t=s>>>1<<16>>16;s=(s>>16)+1>>1;u=0;while(1){if((u|0)>=(c[v>>2]|0))break;w=c[e+(u<<2)>>2]|0;c[f+(u<<2)>>2]=($(w>>16,t)|0)+(($(w&65535,t)|0)>>16)+($(w,s)|0);u=u+1|0}c[q>>2]=c[r>>2];e=d+4376|0;a:do if(c[e>>2]|0){if(!j){w=k<<16>>16;p=($(p>>16,w)|0)+(($(p&65535,w)|0)>>16)<<2}j=d+4360|0;q=c[j>>2]|0;k=p>>16;f=p&65535;p=q;q=q-m+ -2|0;while(1){if((q|0)>=(p|0))break a;p=b[g+(q<<1)>>1]|0;c[h+(q<<2)>>2]=($(k,p)|0)+(($(f,p)|0)>>16);p=c[j>>2]|0;q=q+1|0}}while(0);if((l|0)==65536){i=o;return}j=d+4364|0;w=c[j>>2]|0;g=l>>16;k=l&65535;f=w;a=w-(c[a+4616>>2]|0)|0;while(1){if((a|0)>=(f|0))break;f=d+(a<<2)+1280|0;w=c[f>>2]|0;v=w<<16>>16;c[f>>2]=($(g,v)|0)+(($(k,v)|0)>>16)+($(l,(w>>15)+1>>1)|0);f=c[j>>2]|0;a=a+1|0}b:do if((n|0)==2?(c[e>>2]|0)==0:0){n=d+4360|0;w=c[n>>2]|0;a=w;m=w-m+ -2|0;while(1){if((m|0)>=(a|0))break b;a=h+(m<<2)|0;w=c[a>>2]|0;v=w<<16>>16;c[a>>2]=($(g,v)|0)+(($(k,v)|0)>>16)+($(l,(w>>15)+1>>1)|0);a=c[n>>2]|0;m=m+1|0}}while(0);h=d+4352|0;w=c[h>>2]|0;v=w<<16>>16;c[h>>2]=($(g,v)|0)+(($(k,v)|0)>>16)+($(l,(w>>15)+1>>1)|0);h=0;while(1){if((h|0)>=32){h=0;break}w=d+(h<<2)+3840|0;v=c[w>>2]|0;u=v<<16>>16;c[w>>2]=($(g,u)|0)+(($(k,u)|0)>>16)+($(l,(v>>15)+1>>1)|0);h=h+1|0}while(1){if((h|0)>=16)break;w=d+(h<<2)+4288|0;v=c[w>>2]|0;u=v<<16>>16;c[w>>2]=($(g,u)|0)+(($(k,u)|0)>>16)+($(l,(v>>15)+1>>1)|0);h=h+1|0}i=o;return}function ve(d,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|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,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,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;x=i;D=d+4364|0;z=d+4360|0;y=d+4368|0;K=w>>1;J=k+2|0;I=k+4|0;H=k+6|0;G=k+8|0;F=k+10|0;E=k+12|0;C=k+14|0;B=k+16|0;A=k+18|0;Q=(w|0)==16;P=k+20|0;w=k+22|0;L=k+24|0;M=k+26|0;N=k+28|0;O=k+30|0;U=(e|0)==2;R=l+2|0;Y=l+4|0;S=l+6|0;V=l+8|0;T=d+4288|0;e=v>>1;X=v+ -1|0;Z=d+(X<<2)+4288|0;X=m+(X<<1)|0;W=d+4352|0;p=p<<16>>16;_=q<<16>>16;q=q>>16;ba=(n|0)>0;aa=o<<16>>16;o=o>>16;ca=s<<16>>16;s=r>>>6<<16>>16;ia=(r>>21)+1>>1;ea=t+944|0;r=$(t<<16>>16,ca)|0;fa=$(ea<<16>>16,ca)|0;ha=t+ -944|0;da=$(944-t<<16>>16,ca)|0;ja=j+((c[z>>2]|0)-n+2<<2)|0;ga=d+3964|0;oa=d+((c[D>>2]|0)-n+1<<2)+1280|0;n=0;while(1){if((n|0)>=(u|0))break;c[y>>2]=($(c[y>>2]|0,196314165)|0)+907633515;ta=c[ga>>2]|0;sa=b[k>>1]|0;sa=K+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -4>>2]|0;ka=b[J>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -8>>2]|0;sa=b[I>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -12>>2]|0;ka=b[H>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -16>>2]|0;sa=b[G>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -20>>2]|0;ka=b[F>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -24>>2]|0;sa=b[E>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -28>>2]|0;ka=b[C>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -32>>2]|0;sa=b[B>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -36>>2]|0;ka=b[A>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;if(Q){ta=c[ga+ -40>>2]|0;sa=b[P>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -44>>2]|0;ka=b[w>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -48>>2]|0;sa=b[L>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -52>>2]|0;ka=b[M>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0;ta=c[ga+ -56>>2]|0;sa=b[N>>1]|0;sa=ka+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ga+ -60>>2]|0;ka=b[O>>1]|0;ka=sa+(($(ta>>16,ka)|0)+(($(ta&65535,ka)|0)>>16))|0}if(U){ta=c[ja>>2]|0;la=b[l>>1]|0;la=($(ta>>16,la)|0)+(($(ta&65535,la)|0)>>16)+2|0;ta=c[ja+ -4>>2]|0;sa=b[R>>1]|0;sa=la+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ja+ -8>>2]|0;la=b[Y>>1]|0;la=sa+(($(ta>>16,la)|0)+(($(ta&65535,la)|0)>>16))|0;ta=c[ja+ -12>>2]|0;sa=b[S>>1]|0;sa=la+(($(ta>>16,sa)|0)+(($(ta&65535,sa)|0)>>16))|0;ta=c[ja+ -16>>2]|0;la=b[V>>1]|0;la=sa+(($(ta>>16,la)|0)+(($(ta&65535,la)|0)>>16))|0;ja=ja+4|0}else la=0;ma=c[ga>>2]|0;na=c[T>>2]|0;c[T>>2]=ma;pa=b[m>>1]|0;pa=e+(($(ma>>16,pa)|0)+(($(ma&65535,pa)|0)>>16))|0;ma=2;while(1){if((ma|0)>=(v|0))break;qa=ma+ -1|0;sa=d+(qa<<2)+4288|0;ra=c[sa>>2]|0;c[sa>>2]=na;qa=b[m+(qa<<1)>>1]|0;qa=pa+(($(na>>16,qa)|0)+(($(na&65535,qa)|0)>>16))|0;sa=d+(ma<<2)+4288|0;ta=c[sa>>2]|0;c[sa>>2]=ra;sa=b[m+(ma<<1)>>1]|0;pa=qa+(($(ra>>16,sa)|0)+(($(ra&65535,sa)|0)>>16))|0;ma=ma+2|0;na=ta}c[Z>>2]=na;ma=b[X>>1]|0;na=pa+(($(na>>16,ma)|0)+(($(na&65535,ma)|0)>>16))<<1;ma=c[W>>2]|0;pa=ma>>16;ma=ma&65535;na=na+(($(pa,p)|0)+(($(ma,p)|0)>>16))|0;ta=c[d+((c[D>>2]|0)+ -1<<2)+1280>>2]|0;ma=($(ta>>16,_)|0)+(($(ta&65535,_)|0)>>16)+($(pa,q)|0)+(($(ma,q)|0)>>16)|0;pa=(ka<<2)-na-ma|0;if(ba){sa=(c[oa>>2]|0)+(c[oa+ -8>>2]|0)|0;sa=($(sa>>16,aa)|0)+(($(sa&65535,aa)|0)>>16)|0;ta=c[oa+ -4>>2]|0;oa=oa+4|0;pa=la-(sa+($(ta>>16,o)|0)+(($(ta&65535,o)|0)>>16)<<1)+(pa<<1)>>2}else pa=pa>>1;ta=(c[f+(n<<2)>>2]|0)-(pa+1>>1)|0;ra=(c[y>>2]|0)<0;sa=0-ta|0;pa=ra?sa:ta;if(((ra?sa:ta)|0)>30720)pa=30720;else pa=(pa|0)<-31744?-31744:pa;qa=pa-t>>10;if((qa|0)<=0)if(qa)if((qa|0)==-1){qa=ha;ra=t;sa=da;ta=r}else{ta=(qa<<10|80)+t|0;qa=ta;ra=ta+1024|0;sa=$(0-ta<<16>>16,ca)|0;ta=$(-1024-ta<<16>>16,ca)|0}else{qa=t;ra=ea;sa=r;ta=fa}else{sa=(qa<<10)+ -80+t|0;ta=sa+1024|0;qa=sa;ra=ta;sa=$(sa<<16>>16,ca)|0;ta=$(ta<<16>>16,ca)|0}ua=pa-qa<<16>>16;pa=pa-ra<<16>>16;pa=(ta+($(pa,pa)|0)|0)<(sa+($(ua,ua)|0)|0);qa=pa?ra:qa;pa=g+n|0;a[pa>>0]=((qa>>>9)+1|0)>>>1;qa=qa<<4;la=((c[y>>2]|0)<0?0-qa|0:qa)+(la<<1)|0;ka=la+(ka<<4)|0;qa=(($(ka>>16,s)|0)+(($(ka&65535,s)|0)>>16)+($(ka,ia)|0)>>7)+1>>1;if((qa|0)>32767)qa=32767;else qa=(qa|0)<-32768?-32768:qa&65535;b[h+(n<<1)>>1]=qa;ua=ga+4|0;c[ua>>2]=ka;ta=ka-(na<<2)|0;c[W>>2]=ta;c[d+(c[D>>2]<<2)+1280>>2]=ta-(ma<<2);c[j+(c[z>>2]<<2)>>2]=la<<1;c[D>>2]=(c[D>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+(a[pa>>0]|0);ga=ua;n=n+1|0}h=d+3840|0;u=d+(u<<2)+3840|0;d=h+128|0;do{c[h>>2]=c[u>>2];h=h+4|0;u=u+4|0}while((h|0)<(d|0));i=x;return}function we(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i;d=ye((a|0)>0?a:0-a|0)|0;c=a< >16;a=536870911/(g|0)|0;f=a<<16;e=f>>16;c=536870912-(($(g,e)|0)+(($(c&65535,e)|0)>>16))<<3;a=f+(($(c>>16,e)|0)+(($(c&65528,e)|0)>>16))+($(c,(a>>15)+1>>1)|0)|0;d=62-d|0;c=d+ -47|0;if((c|0)>=1){i=b;return((c|0)<32?a>>c:0)|0}c=47-d|0;d=-2147483648>>c;e=2147483647>>>c;if((d|0)>(e|0)){if((a|0)>(d|0)){g=d;g=g< (e|0)){g=e;g=g< 0?a:0-a|0)|0;g=a< 0?b:0-b|0)|0)+ -1|0;a=b< >16|0)|0)<<16>>16;f=($(g>>16,b)|0)+(($(g&65535,b)|0)>>16)|0;a=Gj(a|0,((a|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;a=uj(a|0,D|0,29)|0;a=g-(a&-8)|0;b=f+(($(a>>16,b)|0)+(($(a&65535,b)|0)>>16))|0;d=e+28-d|0;a=d+ -16|0;if((a|0)>=0){i=c;return((a|0)<32?b>>a:0)|0}a=16-d|0;d=-2147483648>>a;e=2147483647>>>a;if((d|0)>(e|0)){if((b|0)>(d|0)){g=d;g=g<(e|0)){g=e;g=g<>2]|0;I=e+4652|0;J=c[I>>2]|0;A=i;i=i+((1168*J|0)+15&-16)|0;wj(A|0,0,J*1168|0)|0;E=g+34|0;y=f+4352|0;v=e+4616|0;x=f+3840|0;z=f+4288|0;D=0;while(1){if((D|0)>=(J|0))break;F=D+(d[E>>0]|0)&3;c[A+(D*1168|0)+1156>>2]=F;c[A+(D*1168|0)+1160>>2]=F;c[A+(D*1168|0)+1164>>2]=0;c[A+(D*1168|0)+1152>>2]=c[y>>2];c[A+(D*1168|0)+960>>2]=c[f+((c[v>>2]|0)+ -1<<2)+1280>>2];F=A+(D*1168|0)+0|0;G=x+0|0;B=F+128|0;do{c[F>>2]=c[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(B|0));F=A+(D*1168|0)+1088|0;G=z+0|0;B=F+64|0;do{c[F>>2]=c[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(B|0));D=D+1|0}L=g+29|0;ia=a[L>>0]|0;K=b[24968+(ia<<24>>24>>1<<2)+(a[g+30>>0]<<1)>>1]|0;c[C>>2]=0;B=e+4612|0;D=c[B>>2]|0;F=Ae(32,D)|0;a:do if(ia<<24>>24!=2){if((da|0)>0)F=Ae(F,da+ -3|0)|0}else{G=c[e+4604>>2]|0;J=0;while(1){if((J|0)>=(G|0))break a;F=Ae(F,(c[r+(J<<2)>>2]|0)+ -3|0)|0;J=J+1|0}}while(0);R=(a[g+31>>0]|0)==4?0:1;J=c[v>>2]|0;g=e+4608|0;O=J+(c[g>>2]|0)|0;N=i;i=i+((4*O|0)+15&-16)|0;M=i;i=i+((2*O|0)+15&-16)|0;O=i;i=i+((4*D|0)+15&-16)|0;G=f+4364|0;c[G>>2]=J;X=f+4360|0;c[X>>2]=c[v>>2];D=e+4604|0;S=R^1;T=f+4376|0;R=R<<1^3;P=A+1164|0;Y=q+4|0;U=e+4664|0;W=e+5124|0;Q=e+4660|0;V=e+4704|0;J=f+(J<<1)|0;aa=0;fa=0;while(1){if((aa|0)>=(c[D>>2]|0))break;ca=k+((aa>>1|S)<<4<<1)|0;_=l+(aa*5<<1)|0;Z=m+(aa<<4<<1)|0;ba=c[n+(aa<<2)>>2]|0;ba=ba>>2|ba>>>1<<16;c[T>>2]=0;ea=a[L>>0]|0;if(ea<<24>>24==2){da=c[r+(aa<<2)>>2]|0;if(!(aa&R)){b:do if((aa|0)==2){fa=c[I>>2]|0;ga=c[P>>2]|0;ea=0;ha=1;while(1){if((ha|0)>=(fa|0)){ga=0;break}ja=c[A+(ha*1168|0)+1164>>2]|0;ia=(ja|0)<(ga|0);ga=ia?ja:ga;ea=ia?ha:ea;ha=ha+1|0}while(1){if((ga|0)>=(fa|0))break;if((ga|0)!=(ea|0)){ja=A+(ga*1168|0)+1164|0;c[ja>>2]=(c[ja>>2]|0)+134217727}ga=ga+1|0}ha=(c[C>>2]|0)+F|0;fa=0;while(1){if((fa|0)>=(F|0)){fa=0;break b}ha=ha+31&31;ga=fa-F|0;a[j+ga>>0]=(((c[A+(ea*1168|0)+(ha<<2)+576>>2]|0)>>>9)+1|0)>>>1;ja=c[A+(ea*1168|0)+(ha<<2)+704>>2]|0;ia=c[Y>>2]|0;ka=ia<<16>>16;ia=(($(ja>>16,ka)|0)+(($(ja&65535,ka)|0)>>16)+($(ja,(ia>>15)+1>>1)|0)>>13)+1>>1;if((ia|0)>32767)ia=32767;else ia=(ia|0)<-32768?-32768:ia&65535;b[J+(ga<<1)>>1]=ia;c[f+((c[G>>2]|0)-F+fa<<2)+1280>>2]=c[A+(ea*1168|0)+(ha<<2)+960>>2];fa=fa+1|0}}while(0);ja=c[v>>2]|0;ea=c[U>>2]|0;ka=ja-da-ea+ -2|0;ia=f+(ka+($(aa,c[B>>2]|0)|0)<<1)|0;Sd(M+(ka<<1)|0,ia,ca,ja-ka|0,ea,c[W>>2]|0);c[X>>2]=c[v>>2];c[T>>2]=1;ea=a[L>>0]|0}else ea=2}Be(e,f,A,h,O,M,N,aa,c[I>>2]|0,t,q,r,ea<<24>>24,F);Ce(f,A,a[L>>0]|0,O,j,J,N,H,ca,_,Z,da,ba,c[o+(aa<<2)>>2]|0,c[p+(aa<<2)>>2]|0,c[q+(aa<<2)>>2]|0,s,K,c[B>>2]|0,fa,c[Q>>2]|0,c[U>>2]|0,c[V>>2]|0,c[I>>2]|0,C,F);ka=c[B>>2]|0;h=h+(ka<<2)|0;j=j+ka|0;J=J+(ka<<1)|0;aa=aa+1|0;fa=fa+1|0}n=c[I>>2]|0;t=c[P>>2]|0;s=0;e=1;while(1){if((e|0)>=(n|0))break;ja=c[A+(e*1168|0)+1164>>2]|0;ka=(ja|0)<(t|0);t=ka?ja:t;s=ka?e:s;e=e+1|0}a[E>>0]=c[A+(s*1168|0)+1160>>2];q=c[q+((c[D>>2]|0)+ -1<<2)>>2]|0;E=q>>>6<<16>>16;q=(q>>21)+1>>1;e=(c[C>>2]|0)+F|0;C=0;while(1){if((C|0)>=(F|0))break;e=e+31&31;n=C-F|0;a[j+n>>0]=(((c[A+(s*1168|0)+(e<<2)+576>>2]|0)>>>9)+1|0)>>>1;t=c[A+(s*1168|0)+(e<<2)+704>>2]|0;t=(($(t>>16,E)|0)+(($(t&65535,E)|0)>>16)+($(t,q)|0)>>7)+1>>1;if((t|0)>32767)t=32767;else t=(t|0)<-32768?-32768:t&65535;b[J+(n<<1)>>1]=t;c[f+((c[G>>2]|0)-F+C<<2)+1280>>2]=c[A+(s*1168|0)+(e<<2)+960>>2];C=C+1|0}F=x+0|0;G=A+(s*1168|0)+(c[B>>2]<<2)+0|0;B=F+128|0;do{c[F>>2]=c[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(B|0));F=z+0|0;G=A+(s*1168|0)+1088|0;B=F+64|0;do{c[F>>2]=c[G>>2];F=F+4|0;G=G+4|0}while((F|0)<(B|0));c[y>>2]=c[A+(s*1168|0)+1152>>2];c[u>>2]=c[r+((c[D>>2]|0)+ -1<<2)>>2];zj(f|0,f+(c[g>>2]<<1)|0,c[v>>2]<<1|0)|0;zj(f+1280|0,f+(c[g>>2]<<2)+1280|0,c[v>>2]<<2|0)|0;i=w;return}function Ae(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function Be(a,d,e,f,g,h,j,k,l,m,n,o,p,q){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;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;r=i;o=c[o+(k<<2)>>2]|0;u=n+(k<<2)|0;v=c[u>>2]|0;s=De((v|0)>1?v:1)|0;t=d+4372|0;n=c[t>>2]|0;if((v|0)==(n|0))n=65536;else n=Ee(n,v)|0;y=(s>>7)+1|0;v=a+4612|0;x=y>>>1<<16>>16;y=(y>>16)+1>>1;w=0;while(1){if((w|0)>=(c[v>>2]|0))break;z=c[f+(w<<2)>>2]|0;c[g+(w<<2)>>2]=($(z>>16,x)|0)+(($(z&65535,x)|0)>>16)+($(z,y)|0);w=w+1|0}c[t>>2]=c[u>>2];f=d+4376|0;a:do if(c[f>>2]|0){if(!k){z=m<<16>>16;s=($(s>>16,z)|0)+(($(s&65535,z)|0)>>16)<<2}m=d+4360|0;z=c[m>>2]|0;k=s>>16;g=s&65535;t=z;s=z-o+ -2|0;while(1){if((s|0)>=(t|0))break a;t=b[h+(s<<1)>>1]|0;c[j+(s<<2)>>2]=($(k,t)|0)+(($(g,t)|0)>>16);t=c[m>>2]|0;s=s+1|0}}while(0);if((n|0)==65536){i=r;return}m=d+4364|0;z=c[m>>2]|0;k=n>>16;h=n&65535;g=z;a=z-(c[a+4616>>2]|0)|0;while(1){if((a|0)>=(g|0))break;g=d+(a<<2)+1280|0;z=c[g>>2]|0;y=z<<16>>16;c[g>>2]=($(k,y)|0)+(($(h,y)|0)>>16)+($(n,(z>>15)+1>>1)|0);g=c[m>>2]|0;a=a+1|0}b:do if((p|0)==2?(c[f>>2]|0)==0:0){p=d+4360|0;z=c[p>>2]|0;d=z;o=z-o+ -2|0;while(1){if((o|0)>=(d-q|0)){q=0;break b}d=j+(o<<2)|0;z=c[d>>2]|0;y=z<<16>>16;c[d>>2]=($(k,y)|0)+(($(h,y)|0)>>16)+($(n,(z>>15)+1>>1)|0);d=c[p>>2]|0;o=o+1|0}}else q=0;while(0);while(1){if((q|0)>=(l|0))break;j=c[e+(q*1168|0)+1152>>2]|0;z=j<<16>>16;c[e+(q*1168|0)+1152>>2]=($(k,z)|0)+(($(h,z)|0)>>16)+($(n,(j>>15)+1>>1)|0);j=0;while(1){if((j|0)>=32){j=0;break}z=e+(q*1168|0)+(j<<2)|0;y=c[z>>2]|0;x=y<<16>>16;c[z>>2]=($(k,x)|0)+(($(h,x)|0)>>16)+($(n,(y>>15)+1>>1)|0);j=j+1|0}while(1){if((j|0)>=16){j=0;break}z=e+(q*1168|0)+(j<<2)+1088|0;y=c[z>>2]|0;x=y<<16>>16;c[z>>2]=($(k,x)|0)+(($(h,x)|0)>>16)+($(n,(y>>15)+1>>1)|0);j=j+1|0}while(1){if((j|0)>=32)break;z=e+(q*1168|0)+(j<<2)+832|0;y=c[z>>2]|0;x=y<<16>>16;c[z>>2]=($(k,x)|0)+(($(h,x)|0)>>16)+($(n,(y>>15)+1>>1)|0);z=e+(q*1168|0)+(j<<2)+960|0;y=c[z>>2]|0;x=y<<16>>16;c[z>>2]=($(k,x)|0)+(($(h,x)|0)>>16)+($(n,(y>>15)+1>>1)|0);j=j+1|0}q=q+1|0}i=r;return}function Ce(d,e,f,g,h,j,k,l,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;j=j|0;k=k|0;l=l|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,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,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;E=i;F=i;i=i+((48*B|0)+15&-16)|0;G=d+4364|0;H=d+4360|0;t=t>>6;I=(f|0)==2;M=n+2|0;L=n+4|0;K=n+6|0;J=n+8|0;f=(p|0)>0;N=q<<16>>16;R=q>>16;S=z>>1;W=m+2|0;V=m+4|0;U=m+6|0;T=m+8|0;q=m+10|0;Q=m+12|0;O=m+14|0;X=m+16|0;P=m+18|0;Z=(z|0)==16;aa=m+20|0;ba=m+22|0;_=m+24|0;ca=m+26|0;Y=m+28|0;z=m+30|0;ea=A<<16>>16;fa=y>>1;da=y+ -1|0;A=o+(da<<1)|0;ga=r<<16>>16;r=s<<16>>16;s=s>>16;ha=u<<16>>16;u=v+944|0;ia=$(v<<16>>16,ha)|0;na=$(u<<16>>16,ha)|0;ka=v+ -944|0;ja=$(944-v<<16>>16,ha)|0;ma=F+4|0;la=F+28|0;x=(x|0)<=0;oa=k+((c[H>>2]|0)-p+2<<2)|0;pa=d+((c[G>>2]|0)-p+1<<2)+1280|0;p=0;while(1){if((p|0)>=(w|0)){n=0;break}if(I){Ea=c[oa>>2]|0;qa=b[n>>1]|0;qa=($(Ea>>16,qa)|0)+(($(Ea&65535,qa)|0)>>16)+2|0;Ea=c[oa+ -4>>2]|0;Da=b[M>>1]|0;Da=qa+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[oa+ -8>>2]|0;qa=b[L>>1]|0;qa=Da+(($(Ea>>16,qa)|0)+(($(Ea&65535,qa)|0)>>16))|0;Ea=c[oa+ -12>>2]|0;Da=b[K>>1]|0;Da=qa+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[oa+ -16>>2]|0;qa=b[J>>1]|0;qa=Da+(($(Ea>>16,qa)|0)+(($(Ea&65535,qa)|0)>>16))<<1;oa=oa+4|0}else qa=0;if(f){Ea=(c[pa>>2]|0)+(c[pa+ -8>>2]|0)|0;Ea=($(Ea>>16,N)|0)+(($(Ea&65535,N)|0)>>16)|0;ra=c[pa+ -4>>2]|0;ra=qa-(Ea+($(ra>>16,R)|0)+(($(ra&65535,R)|0)>>16)<<2)|0;pa=pa+4|0}else ra=0;ta=p+31|0;ua=g+(p<<2)|0;sa=0;while(1){if((sa|0)>=(B|0))break;wa=F+(sa*48|0)|0;za=e+(sa*1168|0)+1156|0;c[za>>2]=($(c[e+(sa*1168|0)+1156>>2]|0,196314165)|0)+907633515;xa=e+(sa*1168|0)+(ta<<2)|0;Ea=c[xa>>2]|0;Da=b[m>>1]|0;Da=S+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+30<<2)>>2]|0;va=b[W>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+29<<2)>>2]|0;Da=b[V>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+28<<2)>>2]|0;va=b[U>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+27<<2)>>2]|0;Da=b[T>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+26<<2)>>2]|0;va=b[q>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+25<<2)>>2]|0;Da=b[Q>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+24<<2)>>2]|0;va=b[O>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+23<<2)>>2]|0;Da=b[X>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+22<<2)>>2]|0;va=b[P>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;if(Z){Ea=c[e+(sa*1168|0)+(p+21<<2)>>2]|0;Da=b[aa>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+20<<2)>>2]|0;va=b[ba>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+19<<2)>>2]|0;Da=b[_>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+18<<2)>>2]|0;va=b[ca>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+17<<2)>>2]|0;Da=b[Y>>1]|0;Da=va+(($(Ea>>16,Da)|0)+(($(Ea&65535,Da)|0)>>16))|0;Ea=c[e+(sa*1168|0)+(p+16<<2)>>2]|0;va=b[z>>1]|0;va=Da+(($(Ea>>16,va)|0)+(($(Ea&65535,va)|0)>>16))|0}va=va<<4;ya=e+(sa*1168|0)+1088|0;Ea=c[ya>>2]|0;Aa=(c[xa>>2]|0)+(($(Ea>>16,ea)|0)+(($(Ea&65535,ea)|0)>>16))|0;Ba=c[e+(sa*1168|0)+1092>>2]|0;xa=Ba-Aa|0;xa=Ea+(($(xa>>16,ea)|0)+(($(xa&65535,ea)|0)>>16))|0;c[ya>>2]=Aa;ya=b[o>>1]|0;ya=fa+(($(Aa>>16,ya)|0)+(($(Aa&65535,ya)|0)>>16))|0;Aa=2;while(1){if((Aa|0)>=(y|0))break;Fa=Aa+ -1|0;Da=e+(sa*1168|0)+(Aa<<2)+1088|0;Ha=c[Da>>2]|0;Ca=Ha-xa|0;Ca=Ba+(($(Ca>>16,ea)|0)+(($(Ca&65535,ea)|0)>>16))|0;c[e+(sa*1168|0)+(Fa<<2)+1088>>2]=xa;Fa=b[o+(Fa<<1)>>1]|0;Fa=ya+(($(xa>>16,Fa)|0)+(($(xa&65535,Fa)|0)>>16))|0;Ga=c[e+(sa*1168|0)+((Aa|1)<<2)+1088>>2]|0;Ea=Ga-Ca|0;Ea=Ha+(($(Ea>>16,ea)|0)+(($(Ea&65535,ea)|0)>>16))|0;c[Da>>2]=Ca;Da=b[o+(Aa<<1)>>1]|0;Ba=Ga;ya=Fa+(($(Ca>>16,Da)|0)+(($(Ca&65535,Da)|0)>>16))|0;Aa=Aa+2|0;xa=Ea}c[e+(sa*1168|0)+(da<<2)+1088>>2]=xa;Ha=b[A>>1]|0;ya=ya+(($(xa>>16,Ha)|0)+(($(xa&65535,Ha)|0)>>16))<<1;xa=c[e+(sa*1168|0)+1152>>2]|0;Ha=xa>>16;xa=xa&65535;ya=ya+(($(Ha,ga)|0)+(($(xa,ga)|0)>>16))<<2;Ga=c[e+(sa*1168|0)+(c[C>>2]<<2)+960>>2]|0;xa=($(Ga>>16,r)|0)+(($(Ga&65535,r)|0)>>16)+($(Ha,s)|0)+(($(xa,s)|0)>>16)<<2;Ha=(c[ua>>2]|0)-((ra+va-(ya+xa)>>3)+1>>1)|0;za=(c[za>>2]|0)<0;Ga=0-Ha|0;Aa=za?Ga:Ha;if(((za?Ga:Ha)|0)>30720)Da=30720;else Da=(Aa|0)<-31744?-31744:Aa;Aa=Da-v>>10;if((Aa|0)<=0)if(Aa)if((Aa|0)==-1){Aa=ka;Ba=v;Ca=ja;Ea=ia}else{Ea=(Aa<<10|80)+v|0;Aa=Ea;Ba=Ea+1024|0;Ca=$(0-Ea<<16>>16,ha)|0;Ea=$(-1024-Ea<<16>>16,ha)|0}else{Aa=v;Ba=u;Ca=ia;Ea=na}else{Ca=(Aa<<10)+ -80+v|0;Ea=Ca+1024|0;Aa=Ca;Ba=Ea;Ca=$(Ca<<16>>16,ha)|0;Ea=$(Ea<<16>>16,ha)|0}Ha=Da-Aa<<16>>16;Ca=Ca+($(Ha,Ha)|0)>>10;Da=Da-Ba<<16>>16;Ea=Ea+($(Da,Da)|0)>>10;Da=c[e+(sa*1168|0)+1164>>2]|0;if((Ca|0)<(Ea|0)){c[F+(sa*48|0)+4>>2]=Da+Ca;c[F+(sa*48|0)+28>>2]=Da+Ea;c[wa>>2]=Aa;c[F+(sa*48|0)+24>>2]=Ba;wa=Aa;Aa=Ba}else{c[F+(sa*48|0)+4>>2]=Da+Ea;c[F+(sa*48|0)+28>>2]=Da+Ca;c[wa>>2]=Ba;c[F+(sa*48|0)+24>>2]=Aa;wa=Ba}Ha=wa<<4;Ha=(za?0-Ha|0:Ha)+qa|0;Ga=Ha+va|0;Fa=Ga-ya|0;c[F+(sa*48|0)+16>>2]=Fa-xa;c[F+(sa*48|0)+12>>2]=Fa;c[F+(sa*48|0)+20>>2]=Ha;c[F+(sa*48|0)+8>>2]=Ga;Ga=Aa<<4;Ga=(za?0-Ga|0:Ga)+qa|0;Ha=Ga+va|0;Fa=Ha-ya|0;c[F+(sa*48|0)+40>>2]=Fa-xa;c[F+(sa*48|0)+36>>2]=Fa;c[F+(sa*48|0)+44>>2]=Ga;c[F+(sa*48|0)+32>>2]=Ha;sa=sa+1|0}qa=(c[C>>2]|0)+31|0;c[C>>2]=qa&31;qa=qa+D&31;sa=c[ma>>2]|0;ra=0;ta=1;while(1){if((ta|0)>=(B|0))break;Ga=c[F+(ta*48|0)+4>>2]|0;Ha=(Ga|0)<(sa|0);sa=Ha?Ga:sa;ra=Ha?ta:ra;ta=ta+1|0}sa=c[e+(ra*1168|0)+(qa<<2)+448>>2]|0;ta=0;while(1){if((ta|0)>=(B|0))break;if((c[e+(ta*1168|0)+(qa<<2)+448>>2]|0)!=(sa|0)){Ha=F+(ta*48|0)+4|0;c[Ha>>2]=(c[Ha>>2]|0)+134217727;Ha=F+(ta*48|0)+28|0;c[Ha>>2]=(c[Ha>>2]|0)+134217727}ta=ta+1|0}sa=c[ma>>2]|0;va=0;ua=c[la>>2]|0;ta=0;wa=1;while(1){if((wa|0)>=(B|0))break;Ea=c[F+(wa*48|0)+4>>2]|0;Fa=(Ea|0)>(sa|0);Ga=c[F+(wa*48|0)+28>>2]|0;Ha=(Ga|0)<(ua|0);sa=Fa?Ea:sa;va=Fa?wa:va;ua=Ha?Ga:ua;ta=Ha?wa:ta;wa=wa+1|0}if((ua|0)<(sa|0)){yj(e+(va*1168|0)+(p<<2)|0,e+(ta*1168|0)+(p<<2)|0,1168-(p<<2)|0)|0;Ha=F+(va*48|0)|0;Ga=F+(ta*48|0)+24|0;c[Ha+0>>2]=c[Ga+0>>2];c[Ha+4>>2]=c[Ga+4>>2];c[Ha+8>>2]=c[Ga+8>>2];c[Ha+12>>2]=c[Ga+12>>2];c[Ha+16>>2]=c[Ga+16>>2];c[Ha+20>>2]=c[Ga+20>>2]}if(!(x&(p|0)<(D|0))){sa=p-D|0;a[h+sa>>0]=(((c[e+(ra*1168|0)+(qa<<2)+576>>2]|0)>>>9)+1|0)>>>1;Ha=c[e+(ra*1168|0)+(qa<<2)+704>>2]|0;ta=c[l+(qa<<2)>>2]|0;Ga=ta<<16>>16;ta=(($(Ha>>16,Ga)|0)+(($(Ha&65535,Ga)|0)>>16)+($(Ha,(ta>>15)+1>>1)|0)>>7)+1>>1;if((ta|0)>32767)ta=32767;else ta=(ta|0)<-32768?-32768:ta&65535;b[j+(sa<<1)>>1]=ta;c[d+((c[G>>2]|0)-D<<2)+1280>>2]=c[e+(ra*1168|0)+(qa<<2)+960>>2];c[k+((c[H>>2]|0)-D<<2)>>2]=c[e+(ra*1168|0)+(qa<<2)+832>>2]}c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1;qa=p+32|0;ra=0;while(1){if((ra|0)>=(B|0))break;c[e+(ra*1168|0)+1152>>2]=c[F+(ra*48|0)+12>>2];Ha=c[F+(ra*48|0)+8>>2]|0;c[e+(ra*1168|0)+(qa<<2)>>2]=Ha;c[e+(ra*1168|0)+(c[C>>2]<<2)+704>>2]=Ha;Ha=c[F+(ra*48|0)>>2]|0;c[e+(ra*1168|0)+(c[C>>2]<<2)+576>>2]=Ha;c[e+(ra*1168|0)+(c[C>>2]<<2)+832>>2]=c[F+(ra*48|0)+20>>2]<<1;c[e+(ra*1168|0)+(c[C>>2]<<2)+960>>2]=c[F+(ra*48|0)+16>>2];Ga=e+(ra*1168|0)+1156|0;Ha=(c[Ga>>2]|0)+((Ha>>9)+1>>1)|0;c[Ga>>2]=Ha;c[e+(ra*1168|0)+(c[C>>2]<<2)+448>>2]=Ha;c[e+(ra*1168|0)+1164>>2]=c[F+(ra*48|0)+4>>2];ra=ra+1|0}c[l+(c[C>>2]<<2)>>2]=t;p=p+1|0}while(1){if((n|0)>=(B|0))break;g=e+(n*1168|0)+0|0;G=e+(n*1168|0)+(w<<2)+0|0;F=g+128|0;do{c[g>>2]=c[G>>2];g=g+4|0;G=G+4|0}while((g|0)<(F|0));n=n+1|0}i=E;return}function De(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i;d=Fe((a|0)>0?a:0-a|0)|0;c=a< >16;a=536870911/(g|0)|0;f=a<<16;e=f>>16;c=536870912-(($(g,e)|0)+(($(c&65535,e)|0)>>16))<<3;a=f+(($(c>>16,e)|0)+(($(c&65528,e)|0)>>16))+($(c,(a>>15)+1>>1)|0)|0;d=62-d|0;c=d+ -47|0;if((c|0)>=1){i=b;return((c|0)<32?a>>c:0)|0}c=47-d|0;d=-2147483648>>c;e=2147483647>>>c;if((d|0)>(e|0)){if((a|0)>(d|0)){g=d;g=g< (e|0)){g=e;g=g< 0?a:0-a|0)|0;g=a< 0?b:0-b|0)|0)+ -1|0;a=b< >16|0)|0)<<16>>16;f=($(g>>16,b)|0)+(($(g&65535,b)|0)>>16)|0;a=Gj(a|0,((a|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;a=uj(a|0,D|0,29)|0;a=g-(a&-8)|0;b=f+(($(a>>16,b)|0)+(($(a&65535,b)|0)>>16))|0;d=e+28-d|0;a=d+ -16|0;if((a|0)>=0){i=c;return((a|0)<32?b>>a:0)|0}a=16-d|0;d=-2147483648>>a;e=2147483647>>>a;if((d|0)>(e|0)){if((b|0)>(d|0)){g=d;g=g<(e|0)){g=e;g=g<>2]=c[a+2328>>2]<<7;c[a+4240>>2]=65536;c[a+4244>>2]=65536;c[a+4256>>2]=20;c[a+4252>>2]=2;return}function He(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,j=0;g=i;j=a+2316|0;h=a+4248|0;if((c[j>>2]|0)!=(c[h>>2]|0)){Ge(a);c[h>>2]=c[j>>2]}if(!e){Je(a,b);i=g;return}else{Ie(a,b,d,f);e=a+4160|0;c[e>>2]=(c[e>>2]|0)+1;i=g;return}}function Ie(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=i;i=i+64|0;n=h+20|0;p=h+16|0;m=h+12|0;t=h+8|0;j=h+24|0;u=h;q=a+2336|0;A=c[q>>2]|0;l=a+2328|0;k=i;i=i+((4*(A+(c[l>>2]|0)|0)|0)+15&-16)|0;y=i;i=i+((2*A|0)+15&-16)|0;c[u>>2]=c[a+4240>>2]>>6;A=a+4244|0;o=u+4|0;c[o>>2]=c[A>>2]>>6;if(c[a+2376>>2]|0){s=a+4182|0;v=s+32|0;do{b[s>>1]=0;s=s+2|0}while((s|0)<(v|0))}r=a+2332|0;s=a+2324|0;Qe(m,n,t,p,a+4|0,u,c[r>>2]|0,c[s>>2]|0);u=c[a+4252>>2]|0;if((c[m>>2]>>c[p>>2]|0)<(c[t>>2]>>c[n>>2]|0))m=$(u+ -1|0,c[a+4256>>2]|0)|0;else m=$(u,c[a+4256>>2]|0)|0;w=Re(m+ -128|0)|0;v=a+4172|0;m=a+4224|0;x=b[m>>1]|0;t=a+4160|0;n=Se(c[t>>2]|0)|0;B=b[21208+(n<<1)>>1]|0;p=a+4164|0;if((c[p>>2]|0)==2)n=b[21216+(n<<1)>>1]|0;else n=b[21224+(n<<1)>>1]|0;E=n<<16>>16;u=a+4182|0;n=a+2340|0;hf(u,c[n>>2]|0,64881);C=c[n>>2]|0;yj(j|0,a+4182|0,C<<1|0)|0;do if(!(c[t>>2]|0)){if((c[p>>2]|0)==2){t=16384;p=0}else{C=(Me(4194304,Ue(134217728,Td(u,C)|0)|0)|0)<<3;E=($(C>>16,E)|0)+(($(C&65528,E)|0)>>16)>>14;C=c[n>>2]|0;x=16384;break}while(1){if((p|0)>=5)break;t=(t&65535)-(e[a+(p<<1)+4172>>1]|0)&65535;p=p+1|0}x=(Te(t)|0)<<16>>16;x=($(x,b[a+4236>>1]|0)|0)>>>14&65535}while(0);p=a+4220|0;u=c[p>>2]|0;z=a+4168|0;t=(c[z>>2]>>7)+1>>1;D=c[q>>2]|0;F=D-t-C+ -2|0;Sd(y+(F<<1)|0,a+(F<<1)+1348|0,j,D-F|0,C,g);A=Ve(c[A>>2]|0)|0;A=(A|0)<1073741823?A:1073741823;C=c[q>>2]|0;g=A>>16;A=A&65535;F=F+(c[n>>2]|0)|0;while(1){if((F|0)>=(C|0))break;J=b[y+(F<<1)>>1]|0;c[k+(F<<2)>>2]=($(g,J)|0)+(($(A,J)|0)>>16);F=F+1|0}g=a+4174|0;C=a+4176|0;A=a+4178|0;y=a+4180|0;B=B<<16>>16;E=E<<16>>16;F=a+2316|0;G=0;while(1){if((G|0)>=(c[s>>2]|0))break;x=x<<16>>16;H=c[r>>2]|0;t=k+(D-t+2<<2)|0;I=0;while(1){if((I|0)>=(H|0)){t=0;break}J=c[t>>2]|0;L=b[v>>1]|0;L=($(J>>16,L)|0)+(($(J&65535,L)|0)>>16)+2|0;J=c[t+ -4>>2]|0;K=b[g>>1]|0;K=L+(($(J>>16,K)|0)+(($(J&65535,K)|0)>>16))|0;J=c[t+ -8>>2]|0;L=b[C>>1]|0;L=K+(($(J>>16,L)|0)+(($(J&65535,L)|0)>>16))|0;J=c[t+ -12>>2]|0;K=b[A>>1]|0;K=L+(($(J>>16,K)|0)+(($(J&65535,K)|0)>>16))|0;J=c[t+ -16>>2]|0;L=b[y>>1]|0;L=K+(($(J>>16,L)|0)+(($(J&65535,L)|0)>>16))|0;J=($(u,196314165)|0)+907633515|0;K=c[a+(w+(J>>>25)<<2)+4>>2]|0;c[k+(D<<2)>>2]=L+(($(K>>16,x)|0)+(($(K&65535,x)|0)>>16))<<2;t=t+4|0;u=J;D=D+1|0;I=I+1|0}while(1){if((t|0)>=5)break;L=a+(t<<1)+4172|0;b[L>>1]=($(B,b[L>>1]|0)|0)>>>15;t=t+1|0}x=($(x,E)|0)>>>15&65535;t=c[z>>2]|0;t=Ue(t+(((t>>16)*655|0)+(((t&65535)*655|0)>>>16))|0,(c[F>>2]<<16>>16)*4608|0)|0;c[z>>2]=t;t=(t>>7)+1>>1;G=G+1|0}q=c[q>>2]|0;r=q+ -16|0;a=a+1284|0;s=k+(r<<2)+0|0;w=a+0|0;v=s+64|0;do{c[s>>2]=c[w>>2];s=s+4|0;w=w+4|0}while((s|0)<(v|0));w=b[j>>1]|0;D=b[j+2>>1]|0;A=b[j+4>>1]|0;v=b[j+6>>1]|0;y=b[j+8>>1]|0;z=b[j+10>>1]|0;s=b[j+12>>1]|0;g=b[j+14>>1]|0;B=b[j+16>>1]|0;C=b[j+18>>1]|0;o=c[o>>2]|0;E=o<<16>>16;o=(o>>15)+1>>1;F=0;while(1){G=c[l>>2]|0;if((F|0)>=(G|0))break;G=c[k+(r+(F+15)<<2)>>2]|0;G=(c[n>>2]>>1)+(($(G>>16,w)|0)+(($(G&65535,w)|0)>>16))|0;I=c[k+(r+(F+14)<<2)>>2]|0;I=G+(($(I>>16,D)|0)+(($(I&65535,D)|0)>>16))|0;G=c[k+(r+(F+13)<<2)>>2]|0;G=I+(($(G>>16,A)|0)+(($(G&65535,A)|0)>>16))|0;I=c[k+(r+(F+12)<<2)>>2]|0;I=G+(($(I>>16,v)|0)+(($(I&65535,v)|0)>>16))|0;G=c[k+(r+(F+11)<<2)>>2]|0;G=I+(($(G>>16,y)|0)+(($(G&65535,y)|0)>>16))|0;I=c[k+(r+(F+10)<<2)>>2]|0;I=G+(($(I>>16,z)|0)+(($(I&65535,z)|0)>>16))|0;G=c[k+(r+(F+9)<<2)>>2]|0;G=I+(($(G>>16,s)|0)+(($(G&65535,s)|0)>>16))|0;I=c[k+(r+(F+8)<<2)>>2]|0;I=G+(($(I>>16,g)|0)+(($(I&65535,g)|0)>>16))|0;G=c[k+(r+(F+7)<<2)>>2]|0;G=I+(($(G>>16,B)|0)+(($(G&65535,B)|0)>>16))|0;I=c[k+(r+(F+6)<<2)>>2]|0;I=G+(($(I>>16,C)|0)+(($(I&65535,C)|0)>>16))|0;G=c[n>>2]|0;H=F+16|0;J=10;while(1){if((J|0)>=(G|0))break;K=c[k+(r+(H-J+ -1)<<2)>>2]|0;L=b[j+(J<<1)>>1]|0;I=I+(($(K>>16,L)|0)+(($(K&65535,L)|0)>>16))|0;J=J+1|0}L=k+(q+F<<2)|0;G=(c[L>>2]|0)+(I<<4)|0;c[L>>2]=G;G=(($(G>>16,E)|0)+(($(G&65535,E)|0)>>16)+($(G,o)|0)>>7)+1>>1;if((G|0)>32767)G=32767;else G=(G|0)<-32768?-32768:G&65535;b[f+(F<<1)>>1]=G;F=F+1|0}s=a+0|0;w=k+(r+G<<2)+0|0;v=s+64|0;do{c[s>>2]=c[w>>2];s=s+4|0;w=w+4|0}while((s|0)<(v|0));c[p>>2]=u;b[m>>1]=x;j=0;while(1){if((j|0)>=4)break;c[d+(j<<2)>>2]=t;j=j+1|0}i=h;return}function Je(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;k=d+4168|0;r=a[d+2765>>0]|0;c[d+4164>>2]=r<<24>>24;a:do if(r<<24>>24==2){g=d+2324|0;h=d+2332|0;n=d+4172|0;j=c[h>>2]|0;l=c[g>>2]|0;p=0;m=0;while(1){q=$(m,j)|0;r=l+ -1|0;if((m|0)==(l|0)?1:(q|0)>=(c[e+(r<<2)>>2]|0))break;else{o=0;q=0}while(1){if((o|0)>=5)break;s=q+(b[e+(((r-m|0)*5|0)+o<<1)+96>>1]|0)|0;o=o+1|0;q=s}if((q|0)>(p|0)){p=e+((l+65535-m<<16>>16)*5<<1)+96|0;b[n+0>>1]=b[p+0>>1]|0;b[n+2>>1]=b[p+2>>1]|0;b[n+4>>1]=b[p+4>>1]|0;b[n+6>>1]=b[p+6>>1]|0;b[n+8>>1]=b[p+8>>1]|0;c[k>>2]=c[e+(l+ -1-m<<2)>>2]<<8;p=q}m=m+1|0}b[n+0>>1]=0;b[n+2>>1]=0;b[n+4>>1]=0;b[n+6>>1]=0;b[n+8>>1]=0;b[d+4176>>1]=p;if((p|0)<11469){j=(11744256/(((p|0)>1?p:1)|0)|0)<<16>>16;k=0;while(1){if((k|0)>=5)break a;s=d+(k<<1)+4172|0;b[s>>1]=($(b[s>>1]|0,j)|0)>>>10;k=k+1|0}}if((p|0)>15565){j=(255016960/(p|0)|0)<<16>>16;k=0;while(1){if((k|0)>=5)break a;s=d+(k<<1)+4172|0;b[s>>1]=($(b[s>>1]|0,j)|0)>>>14;k=k+1|0}}}else{c[k>>2]=(c[d+2316>>2]<<16>>16)*4608;h=d+4172|0;b[h+0>>1]=0;b[h+2>>1]=0;b[h+4>>1]=0;b[h+6>>1]=0;b[h+8>>1]=0;h=d+2332|0;g=d+2324|0}while(0);yj(d+4182|0,e+64|0,c[d+2340>>2]<<1|0)|0;b[d+4236>>1]=c[e+136>>2];s=c[g>>2]|0;p=e+(s+ -2<<2)+16|0;q=c[p+4>>2]|0;r=d+4240|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;c[d+4256>>2]=c[h>>2];c[d+4252>>2]=s;i=f;return}function Ke(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;h=f+4|0;g=f;if(c[a+4160>>2]|0){di(a+4228|0,a+4232|0,d,e);c[a+4216>>2]=1;i=f;return}a:do if(c[a+4216>>2]|0){di(g,h,d,e);j=c[h>>2]|0;h=c[a+4232>>2]|0;if((j|0)<=(h|0)){if((j|0)<(h|0))c[g>>2]=c[g>>2]>>h-j}else{k=a+4228|0;c[k>>2]=c[k>>2]>>j-h}h=c[g>>2]|0;j=a+4228|0;k=c[j>>2]|0;if((h|0)>(k|0)){l=Le(k)|0;k=k< >2]=k;j=h>>(Me(25-l|0,0)|0);c[g>>2]=j;j=(Ne((k|0)/(((j|0)>1?j:1)|0)|0)|0)<<4;g=((65536-j|0)/(e|0)|0)<<2;h=0;while(1){if((h|0)>=(e|0))break a;l=d+(h<<1)|0;k=b[l>>1]|0;b[l>>1]=($(j>>16,k)|0)+(($(j&65532,k)|0)>>>16);j=j+g|0;if((j|0)>65536)break a;h=h+1|0}}}while(0);c[a+4216>>2]=0;i=f;return}function Le(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function Me(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function Ne(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;if((a|0)<1){e=0;i=b;return e|0}Oe(a,d,e);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=Le(a)|0;c[b>>2]=f;c[d>>2]=(Pe(a,24-f|0)|0)&127;i=e;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function Qe(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;l=i;o=i;i=i+((2*(j<<1)|0)+15&-16)|0;m=o;n=0;while(1){if((n|0)>=2)break;p=$(n+k+ -2|0,j)|0;q=h+(n<<2)|0;r=0;while(1){if((r|0)>=(j|0))break;t=c[g+(r+p<<2)>>2]|0;s=c[q>>2]|0;u=s<<16>>16;s=($(t>>16,u)|0)+(($(t&65535,u)|0)>>16)+($(t,(s>>15)+1>>1)|0)>>8;if((s|0)>32767)s=32767;else s=(s|0)<-32768?-32768:s&65535;b[m+(r<<1)>>1]=s;r=r+1|0}m=m+(j<<1)|0;n=n+1|0}di(a,d,o,j);di(e,f,o+(j<<1)|0,j);i=l;return}function Re(a){a=a|0;return((a|0)<0?0:a)|0}function Se(a){a=a|0;return((a|0)>1?1:a)|0}function Te(a){a=a|0;return(a<<16>>16<3277?3277:a)|0}function Ue(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i;d=Le((a|0)>0?a:0-a|0)|0;c=a< >16;a=536870911/(g|0)|0;f=a<<16;e=f>>16;c=536870912-(($(g,e)|0)+(($(c&65535,e)|0)>>16))<<3;a=f+(($(c>>16,e)|0)+(($(c&65528,e)|0)>>16))+($(c,(a>>15)+1>>1)|0)|0;d=62-d|0;c=d+ -46|0;if((c|0)>=1){i=b;return((c|0)<32?a>>c:0)|0}c=46-d|0;d=-2147483648>>c;e=2147483647>>>c;if((d|0)>(e|0)){if((a|0)>(d|0)){g=d;g=g< (e|0)){g=e;g=g< >2]=0;e=e+4|0}while((e|0)<(d|0));d=0;while(1){if((d|0)>=4){d=0;break}e=d+1|0;c[a+(d<<2)+92>>2]=Xe(50/(e|0)|0)|0;d=e}while(1){if((d|0)>=4)break;e=(c[a+(d<<2)+92>>2]|0)*100|0;c[a+(d<<2)+60>>2]=e;c[a+(d<<2)+76>>2]=2147483647/(e|0)|0;d=d+1|0}c[a+108>>2]=15;d=0;while(1){if((d|0)>=4)break;c[a+(d<<2)+40>>2]=25600;d=d+1|0}i=b;return 0}function Xe(a){a=a|0;return((a|0)>1?a:1)|0}function Ye(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;i=i+48|0;j=g+32|0;f=g+16|0;m=g;k=a+32|0;h=a+4608|0;r=c[h>>2]|0;t=r>>1;v=r>>2;n=r>>3;c[m>>2]=0;u=n+v|0;c[m+4>>2]=u;s=u+n|0;c[m+8>>2]=s;q=s+v|0;c[m+12>>2]=q;l=i;i=i+((2*(q+t|0)|0)+15&-16)|0;ff(d,k,l,l+(q<<1)|0,r);ff(l,a+40|0,l,l+(s<<1)|0,t);ff(l,a+48|0,l,l+(u<<1)|0,v);v=l+(n+ -1<<1)|0;d=(b[v>>1]|0)>>>1&65535;b[v>>1]=d;while(1){o=n+ -1|0;if((o|0)<=0)break;v=l+(n+ -2<<1)|0;u=(b[v>>1]|0)>>>1;b[v>>1]=u;v=l+(o<<1)|0;b[v>>1]=(e[v>>1]|0)-u;n=o}p=a+88|0;b[l>>1]=(e[l>>1]|0)-(e[p>>1]|0);b[p>>1]=d;p=0;t=0;while(1){if((p|0)>=4)break;s=c[h>>2]|0;s=s>>(Ze(4-p|0,3)|0)>>2;o=a+(p<<2)+56|0;u=c[o>>2]|0;n=j+(p<<2)|0;c[n>>2]=u;r=m+(p<<2)|0;d=0;q=0;while(1){if((q|0)<4){v=0;t=0}else break;while(1){if((v|0)>=(s|0))break;w=b[l+((c[r>>2]|0)+v+d<<1)>>1]>>3;v=v+1|0;t=t+($(w,w)|0)|0}if((q|0)<3){v=u+t|0;w=(v|0)<0;u=w?2147483647:v;v=w?2147483647:v}else{v=u+(t>>1)|0;w=(v|0)<0;u=w?2147483647:v;v=w?2147483647:v}c[n>>2]=v;d=d+s|0;q=q+1|0}c[o>>2]=t;p=p+1|0}_e(j,k);l=0;k=0;m=0;while(1){if((k|0)>=4)break;n=c[j+(k<<2)>>2]|0;o=c[a+(k<<2)+92>>2]|0;d=n-o|0;if((d|0)>0){if(n>>>0<8388608){n=(n<<8|0)/(o+1|0)|0;c[f+(k<<2)>>2]=n}else{n=(n|0)/((o>>8)+1|0)|0;c[f+(k<<2)>>2]=n}o=(oh(n)|0)+ -1024|0;n=o<<16>>16;m=m+($(n,n)|0)|0;if((d|0)<1048576){o=$(($e(d)|0)<<6>>16,n)|0;o=o+(($(($e(d)|0)<<6&65472,n)|0)>>16)|0}v=c[21232+(k<<2)>>2]|0;w=o<<16>>16;l=l+(($(v>>16,w)|0)+(($(v&65535,w)|0)>>16))|0}else c[f+(k<<2)>>2]=256;k=k+1|0}k=Lh(((($e((m|0)/4|0)|0)*196608>>16)*45e3>>16)+ -128|0)|0;c[a+4744>>2]=((Lh(l)|0)<<1)+ -32768;l=0;m=0;while(1){if((m|0)>=4)break;w=m+1|0;l=l+($(w,(c[j+(m<<2)>>2]|0)-(c[a+(m<<2)+92>>2]|0)>>4)|0)|0;m=w}if((l|0)>=1){if((l|0)<32768){if((c[h>>2]|0)==((c[a+4600>>2]|0)*10|0)){if((l|0)>32767)j=32767;else j=(l|0)<-32768?-32768:l;j=j<<16}else{if((l|0)>65535)j=65535;else j=(l|0)<-65536?-65536:l;j=j<<15}w=($e(j)|0)+32768|0;k=k<<16>>16;k=($(w>>16,k)|0)+(($(w&65535,k)|0)>>16)|0}}else k=k>>1;c[a+4556>>2]=Ze(k>>7,255)|0;j=k<<16>>16;j=(($(k>>16,j)|0)<<16)+($(k&65535,j)|0)|0;h=(c[h>>2]|0)==((c[a+4600>>2]|0)*10|0)?j>>21:j>>20;j=0;while(1){if((j|0)>=4)break;v=a+(j<<2)+72|0;u=c[v>>2]|0;w=(c[f+(j<<2)>>2]|0)-u|0;w=u+(($(w>>16,h)|0)+(($(w&65535,h)|0)>>16))|0;c[v>>2]=w;c[a+(j<<2)+4728>>2]=Lh(((oh(w)|0)*3|0)+ -5120>>4)|0;j=j+1|0}i=g;return}function Ze(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=b+108|0;f=c[e>>2]|0;if((f|0)<1e3)g=32767/((f>>4)+1|0)|0;else g=0;f=0;while(1){if((f|0)>=4)break;h=b+(f<<2)+60|0;k=c[h>>2]|0;l=(c[a+(f<<2)>>2]|0)+(c[b+(f<<2)+92>>2]|0)|0;l=(l|0)<0?2147483647:l;j=2147483647/(l|0)|0;if((l|0)<=(k<<3|0))if((l|0)<(k|0))k=1024;else{l=k<<16>>16;m=$(j>>16,l)|0;l=$(j&65535,l)|0;k=$(j,(k>>15)+1>>1)|0;k=m+(l>>16)+k>>16<<11|(m+(l>>>16)+k|0)>>>5&2047}else k=128;m=af(k,g)|0;l=b+(f<<2)+76|0;n=c[l>>2]|0;k=j-n|0;m=m<<16>>16;m=n+(($(k>>16,m)|0)+(($(k&65535,m)|0)>>16))|0;c[l>>2]=m;m=2147483647/(m|0)|0;c[h>>2]=(m|0)<16777215?m:16777215;f=f+1|0}c[e>>2]=(c[e>>2]|0)+1;i=d;return}function $e(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;if((a|0)<1){e=0;i=b;return e|0}bf(a,d,e);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function af(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=cf(a)|0;c[b>>2]=f;c[d>>2]=(df(a,24-f|0)|0)&127;i=e;return}function cf(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function df(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function ef(b,f,g,h,j,k,l,m,n,o,p){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;t=i;c[f>>2]=2147483647;u=h+2|0;q=h+4|0;r=h+6|0;s=h+8|0;B=n<<16>>16;D=j+4|0;x=j+8|0;C=j+12|0;E=j+16|0;G=j+28|0;H=j+32|0;I=j+36|0;n=j+24|0;v=j+52|0;w=j+56|0;F=j+48|0;y=j+76|0;z=j+72|0;A=j+96|0;J=0;while(1){if((J|0)>=(p|0))break;K=d[l+J>>0]|0;S=$(B,d[m+J>>0]|0)|0;P=K-o|0;R=c[D>>2]|0;M=(e[u>>1]|0)-(a[k+1>>0]<<7)<<16>>16;R=($(R>>16,M)|0)+(($(R&65535,M)|0)>>16)|0;T=c[x>>2]|0;O=(e[q>>1]|0)-(a[k+2>>0]<<7)<<16>>16;T=R+(($(T>>16,O)|0)+(($(T&65535,O)|0)>>16))|0;R=c[C>>2]|0;N=(e[r>>1]|0)-(a[k+3>>0]<<7)<<16>>16;R=T+(($(R>>16,N)|0)+(($(R&65535,N)|0)>>16))|0;T=c[E>>2]|0;L=(e[s>>1]|0)-(a[k+4>>0]<<7)<<16>>16;T=R+(($(T>>16,L)|0)+(($(T&65535,L)|0)>>16))<<1;R=c[j>>2]|0;Q=(e[h>>1]|0)-(a[k>>0]<<7)<<16>>16;R=T+(($(R>>16,Q)|0)+(($(R&65535,Q)|0)>>16))|0;Q=S+((P|0)>0?P<<10:0)+(($(R>>16,Q)|0)+(($(R&65535,Q)|0)>>16))|0;R=c[G>>2]|0;R=($(R>>16,O)|0)+(($(R&65535,O)|0)>>16)|0;P=c[H>>2]|0;P=R+(($(P>>16,N)|0)+(($(P&65535,N)|0)>>16))|0;R=c[I>>2]|0;R=P+(($(R>>16,L)|0)+(($(R&65535,L)|0)>>16))<<1;P=c[n>>2]|0;P=R+(($(P>>16,M)|0)+(($(P&65535,M)|0)>>16))|0;M=Q+(($(P>>16,M)|0)+(($(P&65535,M)|0)>>16))|0;P=c[v>>2]|0;P=($(P>>16,N)|0)+(($(P&65535,N)|0)>>16)|0;Q=c[w>>2]|0;Q=P+(($(Q>>16,L)|0)+(($(Q&65535,L)|0)>>16))<<1;P=c[F>>2]|0;P=Q+(($(P>>16,O)|0)+(($(P&65535,O)|0)>>16))|0;O=M+(($(P>>16,O)|0)+(($(P&65535,O)|0)>>16))|0;P=c[y>>2]|0;P=($(P>>16,L)|0)+(($(P&65535,L)|0)>>16)<<1;M=c[z>>2]|0;M=P+(($(M>>16,N)|0)+(($(M&65535,N)|0)>>16))|0;N=O+(($(M>>16,N)|0)+(($(M&65535,N)|0)>>16))|0;M=c[A>>2]|0;M=($(M>>16,L)|0)+(($(M&65535,L)|0)>>16)|0;L=N+(($(M>>16,L)|0)+(($(M&65535,L)|0)>>16))|0;if((L|0)<(c[f>>2]|0)){c[f>>2]=L;a[b>>0]=J;c[g>>2]=K}k=k+5|0;J=J+1|0}i=t;return}function ff(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;j=g>>1;k=d+4|0;g=0;while(1){if((g|0)>=(j|0))break;o=g<<1;p=b[a+(o<<1)>>1]<<10;n=p-(c[d>>2]|0)|0;l=($(n>>16,-24290)|0)+(($(n&65535,-24290)|0)>>16)|0;m=p+l|0;c[d>>2]=p+(n+l);o=b[a+((o|1)<<1)>>1]<<10;l=c[k>>2]|0;n=o-l|0;n=((n>>16)*10788|0)+(((n&65535)*10788|0)>>>16)|0;l=l+n|0;c[k>>2]=o+n;n=(l+m>>10)+1>>1;if((n|0)>32767)n=32767;else n=(n|0)<-32768?-32768:n&65535;b[e+(g<<1)>>1]=n;l=(l-m>>10)+1>>1;if((l|0)>32767)l=32767;else l=(l|0)<-32768?-32768:l&65535;b[f+(g<<1)>>1]=l;g=g+1|0}i=h;return}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 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;j=i;p=0-(c[e>>2]|0)|0;k=0-(c[e+4>>2]|0)|0;n=f+4|0;o=p&16383;p=p>>>14<<16>>16;q=d+4|0;e=k&16383;k=k>>>14<<16>>16;l=d+8|0;m=0;while(1){if((m|0)>=(h|0))break;s=b[a+(m<<1)>>1]|0;r=c[d>>2]|0;r=(c[f>>2]|0)+(($(r>>16,s)|0)+(($(r&65535,s)|0)>>16))<<2;t=r>>16;u=r&65532;w=(c[n>>2]|0)+((($(t,o)|0)+(($(u,o)|0)>>>16)>>13)+1>>1)+(($(t,p)|0)+(($(u,p)|0)>>16))|0;c[f>>2]=w;v=c[q>>2]|0;c[f>>2]=w+(($(v>>16,s)|0)+(($(v&65535,s)|0)>>16));u=((($(t,e)|0)+(($(u,e)|0)>>>16)>>13)+1>>1)+(($(t,k)|0)+(($(u,k)|0)>>16))|0;c[n>>2]=u;t=c[l>>2]|0;c[n>>2]=u+(($(t>>16,s)|0)+(($(t&65535,s)|0)>>16));r=r+16383>>14;if((r|0)>32767)r=32767;else r=(r|0)<-32768?-32768:r&65535;b[g+(m<<1)>>1]=r;m=m+1|0}i=j;return}function hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=d+ -65536|0;c=c+ -1|0;g=0;while(1){if((g|0)>=(c|0))break;h=a+(g<<1)|0;b[h>>1]=((($(d,b[h>>1]|0)|0)>>>15)+1|0)>>>1;d=d+((($(d,f)|0)>>15)+1>>1)|0;g=g+1|0}h=a+(c<<1)|0;b[h>>1]=((($(d,b[h>>1]|0)|0)>>>15)+1|0)>>>1;i=e;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=d+ -65536|0;b=b+ -1|0;g=0;while(1){h=d>>16;if((g|0)>=(b|0))break;j=a+(g<<2)|0;k=c[j>>2]|0;l=k<<16>>16;c[j>>2]=($(h,l)|0)+(($(d&65535,l)|0)>>16)+($(d,(k>>15)+1>>1)|0);d=d+((($(d,f)|0)>>15)+1>>1)|0;g=g+1|0}l=a+(b<<2)|0;k=c[l>>2]|0;j=k<<16>>16;c[l>>2]=($(h,j)|0)+(($(d&65535,j)|0)>>16)+($(d,(k>>15)+1>>1)|0);i=e;return}function kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;g=c[a+8>>2]|0;do if((g|0)==48e3|(g|0)==44100|(g|0)==32e3|(g|0)==24e3|(g|0)==16e3|(g|0)==12e3|(g|0)==8e3){e=c[a+20>>2]|0;if((e|0)!=8e3)if((e|0)!=12e3)if((e|0)==16e3)e=16e3;else{a=-102;break}else e=12e3;else e=8e3;f=c[a+12>>2]|0;if((f|0)!=8e3)if((f|0)!=12e3)if((f|0)==16e3)f=16e3;else{a=-102;break}else f=12e3;else f=8e3;g=c[a+16>>2]|0;if((g|0)==12e3){g=12e3;d=10}else if((g|0)!=8e3)if((g|0)==16e3){g=16e3;d=10}else{a=-102;break}else g=8e3;if((d|0)==10)if(g>>>0>e>>>0){a=-102;break}if(!(f>>>0 >>0|g>>>0>f>>>0)){g=c[a+24>>2]|0;if((g|0)==60|(g|0)==40|(g|0)==20|(g|0)==10){g=c[a+32>>2]|0;if(!((g|0)<0|(g|0)>100)){g=c[a+44>>2]|0;if(!((g|0)<0|(g|0)>1)){g=c[a+48>>2]|0;if(!((g|0)<0|(g|0)>1)){g=c[a+40>>2]|0;if(!((g|0)<0|(g|0)>1)){d=c[a>>2]|0;if(!((d|0)<1|(d|0)>2)?(g=c[a+4>>2]|0,!((g|0)<1|(g|0)>2|(g|0)>(d|0))):0){g=c[a+36>>2]|0;i=b;return((g|0)<0|(g|0)>10?-106:0)|0}else a=-111}else a=-107}else a=-109}else a=-108}else a=-105}else a=-103}else a=-102}else a=-102;while(0);i=b;return a|0}function lf(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 j=0,k=0,l=0,m=0;j=i;i=i+16|0;k=j;a[k+1>>0]=0;f=((f<<1)+g<<16>>16)*7|0;e=e+8>>4;g=0;while(1){if((g|0)>=(e|0))break;l=c[h+(g<<2)>>2]|0;a:do if((l|0)>0){a[k>>0]=a[26304+(f+((l&30)>>>0<6?l&31:6))>>0]|0;m=0;while(1){if((m|0)>=16)break a;l=a[d+m>>0]|0;if(l<<24>>24)Cc(b,(l<<24>>24>>15)+1|0,k,8);m=m+1|0}}while(0);d=d+16|0;g=g+1|0}i=j;return}function mf(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;i=i+16|0;l=k;a[l+1>>0]=0;g=((g<<1)+h<<16>>16)*7|0;f=f+8>>4;h=0;while(1){if((h|0)>=(f|0))break;m=c[j+(h<<2)>>2]|0;a:do if((m|0)>0){a[l>>0]=a[26304+(g+((m&30)>>>0<6?m&31:6))>>0]|0;n=0;while(1){if((n|0)>=16)break a;m=e+(n<<1)|0;if((b[m>>1]|0)>0){o=((sc(d,l,8)|0)<<1)+ -1|0;b[m>>1]=$(b[m>>1]|0,o)|0}n=n+1|0}}while(0);e=e+32|0;h=h+1|0}i=k;return}function nf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;if((d|0)>8e4)g=8e4;else g=(d|0)<5e3?5e3:d;d=a+4632|0;if((g|0)==(c[d>>2]|0)){i=f;return}c[d>>2]=g;d=c[a+4600>>2]|0;if((d|0)==8)d=24720;else d=(d|0)==12?24752:24784;h=(c[a+4604>>2]|0)==2?g+ -2200|0:g;j=1;while(1){if((j|0)>=8)break;g=c[d+(j<<2)>>2]|0;if((h|0)<=(g|0)){e=9;break}j=j+1|0}if((e|0)==9){k=j+ -1|0;e=c[d+(k<<2)>>2]|0;d=b[24816+(k<<1)>>1]|0;c[a+4748>>2]=(d<<6)+($((h-e<<6|0)/(g-e|0)|0,(b[24816+(j<<1)>>1]|0)-d|0)|0)}if(!(c[a+6124>>2]|0)){i=f;return}k=a+4748|0;c[k>>2]=(c[k>>2]|0)+($(12-(c[a+6128>>2]|0)<<16>>16,-31)|0);i=f;return}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;d=c[a+4600>>2]|0;j=d<<16>>16;f=j*1e3|0;if(!j){h=c[a+4596>>2]|0;j=c[a+4580>>2]|0;j=(((h|0)<(j|0)?h:j)|0)/1e3|0;i=e;return j|0}g=c[a+4580>>2]|0;h=c[a+4588>>2]|0;if(!((f|0)>(g|0)|(f|0)>(h|0))?(f|0)>=(c[a+4592>>2]|0):0){h=a+24|0;g=c[h>>2]|0;if((g|0)>255)c[a+28>>2]=0;if((c[a+4560>>2]|0)==0?(c[b+60>>2]|0)==0:0){j=d;i=e;return j|0}j=c[a+4596>>2]|0;if((f|0)>(j|0)){f=a+28|0;if(!(c[f>>2]|0)){c[h>>2]=256;g=a+16|0;c[g>>2]=0;c[g+4>>2]=0;g=256}if(c[b+60>>2]|0){c[f>>2]=0;j=(d|0)==16?12:8;i=e;return j|0}if((g|0)<1){c[b+84>>2]=1;j=b+52|0;h=c[j>>2]|0;c[j>>2]=h-((h*5|0)/((c[b+24>>2]|0)+5|0)|0);j=d;i=e;return j|0}else{c[f>>2]=-2;j=d;i=e;return j|0}}if((f|0)>=(j|0)){b=a+28|0;if((c[b>>2]|0)>=0){j=d;i=e;return j|0}c[b>>2]=1;j=d;i=e;return j|0}if(c[b+60>>2]|0){c[h>>2]=0;j=a+16|0;c[j>>2]=0;c[j+4>>2]=0;c[a+28>>2]=1;j=(d|0)==8?12:16;i=e;return j|0}a=a+28|0;if(!(c[a>>2]|0)){c[b+84>>2]=1;j=b+52|0;h=c[j>>2]|0;c[j>>2]=h-((h*5|0)/((c[b+24>>2]|0)+5|0)|0);j=d;i=e;return j|0}else{c[a>>2]=1;j=d;i=e;return j|0}}h=(g|0)<(h|0)?g:h;j=c[a+4592>>2]|0;j=(((h|0)>(j|0)?h:j)|0)/1e3|0;i=e;return j|0}function pf(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,j=0;h=i;c[a+6108>>2]=c[b+44>>2];c[a+4708>>2]=c[b+48>>2];j=c[b+8>>2]|0;c[a+4580>>2]=j;c[a+4588>>2]=c[b+12>>2];c[a+4592>>2]=c[b+16>>2];c[a+4596>>2]=c[b+20>>2];c[a+6120>>2]=c[b+40>>2];c[a+5784>>2]=c[b>>2];c[a+5788>>2]=c[b+4>>2];c[a+4560>>2]=e;c[a+5792>>2]=f;f=a+4700|0;if((c[f>>2]|0)!=0?(c[a+4712>>2]|0)==0:0){if((j|0)==(c[a+4584>>2]|0)){e=0;i=h;return e|0}j=c[a+4600>>2]|0;if((j|0)<=0){e=0;i=h;return e|0}e=qf(a,j)|0;i=h;return e|0}e=of(a,b)|0;e=(g|0)==0?e:g;g=qf(a,e)|0;e=g+(rf(a,e,c[b+24>>2]|0)|0)|0;e=e+(sf(a,c[b+36>>2]|0)|0)|0;c[a+4640>>2]=c[b+32>>2];e=e+(tf(a,d)|0)|0;c[f>>2]=1;i=h;return e|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+304|0;f=d;g=a+4600|0;e=c[g>>2]|0;if((e|0)==(b|0)?(c[a+4584>>2]|0)==(c[a+4580>>2]|0):0){b=0;f=a+4580|0;f=c[f>>2]|0;g=a+4584|0;c[g>>2]=f;i=d;return b|0}if(!e){b=vh(a+5808|0,c[a+4580>>2]|0,b*1e3|0,1)|0;f=a+4580|0;f=c[f>>2]|0;g=a+4584|0;c[g>>2]=f;i=d;return b|0}else{l=((c[a+4604>>2]|0)*10|0)+5|0;o=$(l,e)|0;h=$(l,b)|0;e=ta()|0;j=i;i=i+((2*((o|0)>(h|0)?o:h)|0)+15&-16)|0;k=a+9356|0;wf(j,k,o);m=a+4580|0;n=vh(f,(c[g>>2]<<16>>16)*1e3|0,c[m>>2]|0,0)|0;g=$(l,(c[m>>2]|0)/1e3|0)|0;l=i;i=i+((2*g|0)+15&-16)|0;wh(f,l,j,o);f=a+5808|0;b=n+(vh(f,c[m>>2]|0,(b<<16>>16)*1e3|0,1)|0)|0;wh(f,j,l,g);xf(k,j,h);ja(e|0);f=a+4580|0;f=c[f>>2]|0;g=a+4584|0;c[g>>2]=f;i=d;return b|0}return 0}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;j=b+4636|0;if((c[j>>2]|0)==(e|0)){k=b+4600|0;g=k;k=c[k>>2]|0;h=0}else{k=(e|0)==10;do if(!k){if(!((e|0)==60|(e|0)==40|(e|0)==20))if((e|0)<11){h=-103;g=6;break}else h=-103;else h=0;c[b+5776>>2]=(e|0)/20|0;c[b+4604>>2]=4;k=d<<16>>16;c[b+4608>>2]=k*20;c[b+4572>>2]=k*24;k=c[b+4600>>2]|0;l=b+4720|0;if((k|0)==8){c[l>>2]=25232;k=8;break}else{c[l>>2]=25192;break}}else{h=0;g=6}while(0);do if((g|0)==6){c[b+5776>>2]=1;c[b+4604>>2]=k?2:1;k=d<<16>>16;c[b+4608>>2]=$(e<<16>>16,k)|0;c[b+4572>>2]=k*14;k=c[b+4600>>2]|0;g=b+4720|0;if((k|0)==8){c[g>>2]=25264;k=8;break}else{c[g>>2]=25248;break}}while(0);c[j>>2]=e;c[b+4632>>2]=0;g=b+4600|0}if((k|0)==(d|0)){i=f;return h|0}e=b+7200|0;j=b+16|0;c[j>>2]=0;c[j+4>>2]=0;c[b+5772>>2]=0;c[b+5780>>2]=0;c[b+4632>>2]=0;wj(b+144|0,0,4412)|0;wj(e|0,0,2152)|0;c[b+4568>>2]=100;c[b+4696>>2]=1;c[b+9352>>2]=100;a[e>>0]=10;c[b+4500>>2]=100;c[b+4516>>2]=65536;a[b+4565>>0]=0;c[g>>2]=d;e=(d|0)==8;j=c[b+4604>>2]|0;k=(j|0)==4;g=b+4720|0;do if(e)if(k){c[g>>2]=25232;j=4;g=21;break}else{c[g>>2]=25264;e=j;j=8;g=23;break}else if(k){c[g>>2]=25192;j=4;g=21;break}else{c[g>>2]=25248;e=j;g=22;break}while(0);if((g|0)==21)if(e){e=j;j=8;g=23}else{e=j;g=22}if((g|0)==22)if((d|0)==12){j=12;g=23}else{c[b+4664>>2]=16;c[b+4724>>2]=24608;j=d}if((g|0)==23){c[b+4664>>2]=10;c[b+4724>>2]=23520}c[b+4612>>2]=d*5;c[b+4608>>2]=$(d*327680>>16,e<<16>>16)|0;l=d<<16;d=l>>16;c[b+4616>>2]=d*20;c[b+4620>>2]=l>>15;c[b+4576>>2]=d*18;if((e|0)==4)c[b+4572>>2]=d*24;else c[b+4572>>2]=d*14;if((j|0)==12){c[b+4684>>2]=13;c[b+4716>>2]=25008;i=f;return h|0}else if((j|0)==16){c[b+4684>>2]=10;c[b+4716>>2]=25016;i=f;return h|0}else{c[b+4684>>2]=15;c[b+4716>>2]=24992;i=f;return h|0}return 0}function sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;do if((b|0)>=2){if((b|0)<4){c[a+4668>>2]=1;c[a+4676>>2]=49807;c[a+4672>>2]=8;c[a+4660>>2]=10;f=c[a+4600>>2]|0;e=f*5|0;c[a+4624>>2]=e;c[a+4652>>2]=1;c[a+4656>>2]=0;c[a+4680>>2]=0;c[a+4692>>2]=4;c[a+4704>>2]=0;g=8;break}if((b|0)<6){c[a+4668>>2]=1;c[a+4676>>2]=48497;c[a+4672>>2]=10;c[a+4660>>2]=12;f=c[a+4600>>2]|0;e=f*5|0;c[a+4624>>2]=e;c[a+4652>>2]=2;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=8;c[a+4704>>2]=f*983;g=10;break}e=a+4668|0;if((b|0)<8){c[e>>2]=1;c[a+4676>>2]=47186;c[a+4672>>2]=12;c[a+4660>>2]=14;f=c[a+4600>>2]|0;e=f*5|0;c[a+4624>>2]=e;c[a+4652>>2]=3;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=16;c[a+4704>>2]=f*983;g=12;break}else{c[e>>2]=2;c[a+4676>>2]=45875;c[a+4672>>2]=16;c[a+4660>>2]=16;f=c[a+4600>>2]|0;e=f*5|0;c[a+4624>>2]=e;c[a+4652>>2]=4;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=32;c[a+4704>>2]=f*983;g=16;break}}else{c[a+4668>>2]=0;c[a+4676>>2]=52429;c[a+4672>>2]=6;c[a+4660>>2]=8;f=c[a+4600>>2]|0;e=f*3|0;c[a+4624>>2]=e;c[a+4652>>2]=1;c[a+4656>>2]=0;c[a+4680>>2]=1;c[a+4692>>2]=2;c[a+4704>>2]=0;g=6}while(0);c[a+4672>>2]=vf(g,c[a+4664>>2]|0)|0;c[a+4628>>2]=(f*5|0)+(e<<1);c[a+4648>>2]=b;i=d;return 0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+6124|0;c[e>>2]=0;if(!(c[a+6120>>2]|0)){i=d;return 0}f=c[a+4640>>2]|0;if((f|0)<=0){i=d;return 0}g=c[a+4600>>2]|0;if((g|0)==8)g=12e3;else g=(g|0)==12?14e3:16e3;if((f|0)<25){j=f;h=f}else{j=25;h=25}if((((($(g,125-j|0)|0)>>16)*655|0)+(((($(g,125-h|0)|0)&65520)*655|0)>>>16)|0)>=(b|0)){i=d;return 0}c[e>>2]=1;c[a+6128>>2]=uf(7-(((f>>16)*26214|0)+(((f&65535)*26214|0)>>>16))|0)|0;i=d;return 0}function uf(a){a=a|0;return((a|0)>2?a:2)|0}function vf(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;while(1){f=d+ -1|0;if((d|0)<=0)break;d=c+(f<<2)|0;if((sa(+(+g[d>>2]))|0)<=32767)if((sa(+(+g[d>>2]))|0)<-32768)d=-32768;else d=(sa(+(+g[d>>2]))|0)&65535;else d=32767;b[a+(f<<1)>>1]=d;d=f}i=e;return}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;while(1){f=d+ -1|0;if((d|0)<=0)break;g[a+(f<<2)>>2]=+(b[c+(f<<1)>>1]|0);d=f}i=e;return}function yf(a){a=a|0;c[a>>2]=8544;return 0}function zf(a){a=a|0;var d=0,e=0;d=i;e=0;while(1){if((e|0)>=2)break;kh(a+(e*4260|0)|0);e=e+1|0}e=a+8520|0;b[e+0>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;b[e+6>>1]=0;b[e+8>>1]=0;b[e+10>>1]=0;c[a+8540>>2]=0;i=d;return 0}function Af(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;n=i;i=i+672|0;o=n+20|0;t=n+16|0;p=n+8|0;s=n;y=n+24|0;c[o>>2]=0;q=s;c[q>>2]=0;c[q+4>>2]=0;q=f+4|0;a:do if(!h)B=c[q>>2]|0;else{h=0;while(1){B=c[q>>2]|0;if((h|0)>=(B|0))break a;c[d+(h*4260|0)+2388>>2]=0;h=h+1|0}}while(0);h=f+4|0;q=d+8536|0;if((B|0)>(c[q>>2]|0)){kh(d+4260|0);B=c[h>>2]|0}if((B|0)==1?(c[q>>2]|0)==2:0)r=(c[f+12>>2]|0)==((c[d+2316>>2]|0)*1e3|0);else r=0;v=d+2388|0;b:do if(!(c[v>>2]|0)){w=f+16|0;u=f+12|0;z=f+8|0;x=0;A=0;c:while(1){if((A|0)>=(B|0))break b;switch(c[w>>2]|0){case 20:{c[d+(A*4260|0)+2392>>2]=1;c[d+(A*4260|0)+2324>>2]=4;break};case 60:{c[d+(A*4260|0)+2392>>2]=3;c[d+(A*4260|0)+2324>>2]=4;break};case 10:{c[d+(A*4260|0)+2392>>2]=1;c[d+(A*4260|0)+2324>>2]=2;break};case 40:{c[d+(A*4260|0)+2392>>2]=2;c[d+(A*4260|0)+2324>>2]=4;break};case 0:{c[d+(A*4260|0)+2392>>2]=1;c[d+(A*4260|0)+2324>>2]=2;break};default:{d=-203;z=120;break c}}B=(c[u>>2]>>10)+1|0;if(!((B|0)==16|(B|0)==12|(B|0)==8)){d=-200;z=120;break}G=x+(Kf(d+(A*4260|0)|0,B,c[z>>2]|0)|0)|0;B=c[h>>2]|0;x=G;A=A+1|0}if((z|0)==120){i=n;return d|0}}else x=0;while(0);u=c[f>>2]|0;do if((u|0)==2)if((B|0)==2){if((c[d+8532>>2]|0)!=1?(c[q>>2]|0)!=1:0){u=2;break}u=d+8520|0;b[u>>1]=0;b[u+2>>1]=0>>>16;u=d+8528|0;b[u>>1]=0;b[u+2>>1]=0>>>16;yj(d+6692|0,d+2432|0,300)|0;u=c[f>>2]|0}else u=2;while(0);c[d+8532>>2]=u;c[q>>2]=c[h>>2];w=f+8|0;G=c[w>>2]|0;if((G|0)>48e3|(G|0)<8e3){G=-200;i=n;return G|0}u=(g|0)==1;d:do if(!u?(c[v>>2]|0)==0:0){z=0;while(1){E=c[h>>2]|0;if((z|0)>=(E|0)){z=0;break}A=d+(z*4260|0)+2392|0;C=0;while(1){G=(C|0)<(c[A>>2]|0);B=rc(j,1)|0;if(!G)break;c[d+(z*4260|0)+(C<<2)+2404>>2]=B;C=C+1|0}c[d+(z*4260|0)+2416>>2]=B;z=z+1|0}while(1){if((z|0)>=(E|0))break;G=d+(z*4260|0)+2420|0;c[G+0>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;e:do if(c[d+(z*4260|0)+2416>>2]|0){A=d+(z*4260|0)+2392|0;B=c[A>>2]|0;if((B|0)==1){c[d+(z*4260|0)+2420>>2]=1;break}C=(sc(j,c[24920+(B+ -2<<2)>>2]|0,8)|0)+1|0;B=0;while(1){if((B|0)>=(c[A>>2]|0))break e;c[d+(z*4260|0)+(B<<2)+2420>>2]=C>>>B&1;B=B+1|0}}while(0);E=c[h>>2]|0;z=z+1|0}if(!g){z=d+2392|0;B=0;while(1){if((B|0)>=(c[z>>2]|0))break d;C=d+(B<<2)+6680|0;A=B+ -1|0;D=0;while(1){if((D|0)>=(E|0))break;if(c[d+(D*4260|0)+(B<<2)+2420>>2]|0){if((E|0)==2&(D|0)==0?(Th(j,s),(c[C>>2]|0)==0):0)Uh(j,o);if((B|0)>0?(c[d+(D*4260|0)+(A<<2)+2420>>2]|0)!=0:0)E=2;else E=0;Gf(d+(D*4260|0)|0,j,B,1,E);Jf(j,y,a[d+(D*4260|0)+2765>>0]|0,a[d+(D*4260|0)+2766>>0]|0,c[d+(D*4260|0)+2328>>2]|0);E=c[h>>2]|0}D=D+1|0}B=B+1|0}}}while(0);y=c[h>>2]|0;if((y|0)==2){if((g|0)==2)if((c[d+(c[v>>2]<<2)+2420>>2]|0)==1){Th(j,s);if(!(c[d+(c[v>>2]<<2)+6680>>2]|0))z=62;else z=63}else{y=0;z=64}else if(!g){Th(j,s);if(!(c[d+(c[v>>2]<<2)+6664>>2]|0))z=62;else z=63}else{y=0;z=64}f:do if((z|0)==62)Uh(j,o);else if((z|0)==63)c[o>>2]=0;else if((z|0)==64)while(1){if((y|0)>=2)break f;c[s+(y<<2)>>2]=b[d+(y<<1)+8520>>1];y=y+1|0;z=64}while(0);y=c[h>>2]|0;if((y|0)==2)if((c[o>>2]|0)==0?(c[d+8540>>2]|0)==1:0){wj(d+5544|0,0,1024)|0;c[d+6568>>2]=100;a[d+6572>>0]=10;c[d+8424>>2]=0;c[d+6636>>2]=1;y=c[h>>2]|0}else y=2}A=$(c[f+12>>2]|0,y)|0;A=(A|0)<($(c[w>>2]|0,c[f>>2]|0)|0);if(A){y=ta()|0;c[p>>2]=k;C=k+((c[d+2328>>2]|0)+2<<1)|0;c[p+4>>2]=C;B=k}else{C=$(y,(c[d+2328>>2]|0)+2|0)|0;y=ta()|0;B=i;i=i+((2*C|0)+15&-16)|0;c[p>>2]=B;C=B+((c[d+2328>>2]|0)+2<<1)|0;c[p+4>>2]=C}if(!g){z=d+8540|0;E=(c[o>>2]|0)==0&1}else{z=d+8540|0;if(c[z>>2]|0)if((c[h>>2]|0)==2&(g|0)==2)D=(c[d+(c[d+6648>>2]<<2)+6680>>2]|0)==1;else D=0;else D=1;E=D&1}D=(g|0)==2;E=(E|0)==0;F=0;while(1){G=c[h>>2]|0;if((F|0)>=(G|0))break;if((F|0)==0|E^1){G=(c[v>>2]|0)-F|0;do if((G|0)<1)G=0;else{if(D){G=(c[d+(F*4260|0)+(G+ -1<<2)+2420>>2]|0)!=0?2:0;break}if((F|0)>0?(c[z>>2]|0)!=0:0){G=1;break}G=2}while(0);x=x+(Ff(d+(F*4260|0)|0,j,(c[p+(F<<2)>>2]|0)+4|0,t,g,G,m)|0)|0}else wj((c[p+(F<<2)>>2]|0)+4|0,0,c[t>>2]<<1|0)|0;G=d+(F*4260|0)+2388|0;c[G>>2]=(c[G>>2]|0)+1;F=F+1|0}if((c[f>>2]|0)==2&(G|0)==2){j=d+2316|0;g=c[t>>2]|0;Sh(d+8520|0,B,C,s,c[j>>2]|0,g)}else{j=d+8524|0;g=e[j>>1]|e[j+2>>1]<<16;b[B>>1]=g;b[B+2>>1]=g>>>16;g=c[t>>2]|0;G=B+(g<<1)|0;G=e[G>>1]|e[G+2>>1]<<16;b[j>>1]=G;b[j+2>>1]=G>>>16;j=d+2316|0}s=$(g,c[w>>2]|0)|0;s=(s|0)/((c[j>>2]<<16>>16)*1e3|0)|0;c[l>>2]=s;t=c[f>>2]|0;if((t|0)==2){G=i;i=i+((2*s|0)+15&-16)|0;s=G}else s=k;if(A){G=(c[d+2328>>2]|0)+2|0;F=$(c[h>>2]|0,G)|0;B=i;i=i+((2*F|0)+15&-16)|0;yj(B|0,k|0,F<<1|0)|0;c[p>>2]=B;c[p+4>>2]=B+(G<<1)}v=t;t=0;while(1){m=c[h>>2]|0;if((t|0)>=(((v|0)<(m|0)?v:m)|0))break;wh(d+(t*4260|0)+2432|0,s,(c[p+(t<<2)>>2]|0)+2|0,g);v=c[f>>2]|0;if((v|0)==2){m=0;while(1){if((m|0)>=(c[l>>2]|0))break;b[k+(t+(m<<1)<<1)>>1]=b[s+(m<<1)>>1]|0;m=m+1|0}v=c[f>>2]|0}t=t+1|0}g:do if((v|0)==2&(m|0)==1){if(!r){p=0;while(1){if((p|0)>=(c[l>>2]|0))break g;G=p<<1;b[k+((G|1)<<1)>>1]=b[k+(G<<1)>>1]|0;p=p+1|0}}wh(d+6692|0,s,B+2|0,g);p=0;while(1){if((p|0)>=(c[l>>2]|0))break g;b[k+((p<<1|1)<<1)>>1]=b[s+(p<<1)>>1]|0;p=p+1|0}}while(0);if((c[d+4164>>2]|0)==2)c[f+20>>2]=$(c[d+2308>>2]|0,c[21248+((c[j>>2]|0)+ -8>>2<<2)>>2]|0)|0;else c[f+20>>2]=0;h:do if(u){o=0;while(1){if((o|0)>=(c[q>>2]|0))break h;a[d+(o*4260|0)+2312>>0]=10;o=o+1|0}}else c[z>>2]=c[o>>2];while(0);ja(y|0);G=x;i=n;return G|0}function Bf(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;o=i;i=i+32|0;r=o;k=d+2336|0;n=c[k>>2]|0;j=i;i=i+((2*n|0)+15&-16)|0;t=d+2328|0;z=c[t>>2]|0;q=i;i=i+((4*(n+z|0)|0)+15&-16)|0;n=d+2332|0;m=c[n>>2]|0;p=i;i=i+((4*m|0)+15&-16)|0;l=i;i=i+((4*(m+16|0)|0)+15&-16)|0;m=d+2765|0;x=(a[d+2767>>0]|0)<4?1:0;v=b[24968+(a[m>>0]>>1<<2)+(a[d+2766>>0]<<1)>>1]<<4;w=a[d+2770>>0]|0;u=0;while(1){if((u|0)>=(z|0))break;w=($(w,196314165)|0)+907633515|0;y=g+(u<<1)|0;A=b[y>>1]|0;B=A<<16>>16<<14;z=d+(u<<2)+4|0;c[z>>2]=B;if(A<<16>>16<=0){if(A<<16>>16<0){B=B|1280;c[z>>2]=B}}else{B=B+ -1280|0;c[z>>2]=B}da=B+v|0;c[z>>2]=(w|0)<0?0-da|0:da;z=c[t>>2]|0;w=w+(b[y>>1]|0)|0;u=u+1|0}g=d+1284|0;T=l+0|0;U=g+0|0;S=T+64|0;do{c[T>>2]=c[U>>2];T=T+4|0;U=U+4|0}while((T|0)<(S|0));t=d+2324|0;w=d+2340|0;v=d+4160|0;u=e+136|0;z=(x|0)==0;R=r+2|0;I=r+4|0;H=r+6|0;G=r+8|0;F=r+10|0;E=r+12|0;D=r+14|0;C=r+16|0;B=r+18|0;L=r+20|0;M=r+22|0;N=r+24|0;O=r+26|0;P=r+28|0;Q=r+30|0;y=d+4164|0;K=d+2308|0;x=d+4|0;J=f;V=c[k>>2]|0;A=0;while(1){if((A|0)>=(c[t>>2]|0))break;Z=e+(A>>1<<5)+32|0;yj(r|0,Z|0,c[w>>2]<<1|0)|0;W=A*5|0;U=e+(W<<1)+96|0;aa=a[m>>0]|0;X=aa<<24>>24;S=c[e+(A<<2)+16>>2]|0;T=S>>>6;Y=Cf(S)|0;_=c[d>>2]|0;a:do if((S|0)==(_|0))_=65536;else{_=Df(_,S)|0;ba=_>>16;ca=_&65535;da=0;while(1){if((da|0)>=16)break a;ea=l+(da<<2)|0;fa=c[ea>>2]|0;ga=fa<<16>>16;c[ea>>2]=($(ba,ga)|0)+(($(ca,ga)|0)>>16)+($(_,(fa>>15)+1>>1)|0);da=da+1|0}}while(0);c[d>>2]=S;if((c[v>>2]|0)!=0?(((c[y>>2]|0)!=2|aa<<24>>24==2)^1)&(A|0)<2:0){b[U+0>>1]=0;b[U+2>>1]=0;b[U+4>>1]=0;b[U+6>>1]=0;b[U+8>>1]=0;b[e+(W+2<<1)+96>>1]=4096;c[e+(A<<2)>>2]=c[K>>2];s=18}else if((X|0)==2)s=18;else U=x;b:do if((s|0)==18){s=0;X=c[e+(A<<2)>>2]|0;aa=(A|0)==0;c:do if(!aa){if(!((A|0)==2^1|z)){_=c[k>>2]|0;ba=_-X-(c[w>>2]|0)+ -2|0;yj(d+(_<<1)+1348|0,f|0,c[n>>2]<<2|0)|0;_=c[k>>2]|0;ca=c[w>>2]|0;s=22;break}if((_|0)!=65536){ba=X+2|0;Y=_>>16;aa=_&65535;Z=0;while(1){if((Z|0)>=(ba|0))break c;ga=q+(V-Z+ -1<<2)|0;fa=c[ga>>2]|0;ea=fa<<16>>16;c[ga>>2]=($(Y,ea)|0)+(($(aa,ea)|0)>>16)+($(_,(fa>>15)+1>>1)|0);Z=Z+1|0}}}else{_=c[k>>2]|0;ca=c[w>>2]|0;ba=_-X-ca+ -2|0;s=22}while(0);d:do if((s|0)==22){s=0;Sd(j+(ba<<1)|0,d+(ba+($(A,c[n>>2]|0)|0)<<1)+1348|0,Z,_-ba|0,ca,h);if(aa){ga=c[u>>2]<<16>>16;Y=($(Y>>16,ga)|0)+(($(Y&65535,ga)|0)>>16)<<2}_=X+2|0;Z=Y>>16;Y=Y&65535;aa=0;while(1){if((aa|0)>=(_|0))break d;ga=b[j+((c[k>>2]|0)-aa+ -1<<1)>>1]|0;c[q+(V-aa+ -1<<2)>>2]=($(Z,ga)|0)+(($(Y,ga)|0)>>16);aa=aa+1|0}}while(0);_=e+(W+1<<1)+96|0;Z=e+(W+2<<1)+96|0;Y=e+(W+3<<1)+96|0;aa=e+(W+4<<1)+96|0;W=c[n>>2]|0;X=q+(V-X+2<<2)|0;ba=0;while(1){if((ba|0)>=(W|0)){U=p;break b}fa=c[X>>2]|0;ga=b[U>>1]|0;ga=($(fa>>16,ga)|0)+(($(fa&65535,ga)|0)>>16)+2|0;fa=c[X+ -4>>2]|0;ea=b[_>>1]|0;ea=ga+(($(fa>>16,ea)|0)+(($(fa&65535,ea)|0)>>16))|0;fa=c[X+ -8>>2]|0;ga=b[Z>>1]|0;ga=ea+(($(fa>>16,ga)|0)+(($(fa&65535,ga)|0)>>16))|0;fa=c[X+ -12>>2]|0;ea=b[Y>>1]|0;ea=ga+(($(fa>>16,ea)|0)+(($(fa&65535,ea)|0)>>16))|0;fa=c[X+ -16>>2]|0;ga=b[aa>>1]|0;ga=ea+(($(fa>>16,ga)|0)+(($(fa&65535,ga)|0)>>16))|0;ga=(c[x+(ba<<2)>>2]|0)+(ga<<1)|0;c[p+(ba<<2)>>2]=ga;c[q+(V<<2)>>2]=ga<<1;X=X+4|0;V=V+1|0;ba=ba+1|0}}while(0);T=T<<16>>16;S=(S>>21)+1>>1;W=0;while(1){X=c[n>>2]|0;if((W|0)>=(X|0))break;ga=c[l+(W+15<<2)>>2]|0;fa=b[r>>1]|0;fa=(c[w>>2]>>1)+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+14<<2)>>2]|0;X=b[R>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+13<<2)>>2]|0;fa=b[I>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+12<<2)>>2]|0;X=b[H>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+11<<2)>>2]|0;fa=b[G>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+10<<2)>>2]|0;X=b[F>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+9<<2)>>2]|0;fa=b[E>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+8<<2)>>2]|0;X=b[D>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+7<<2)>>2]|0;fa=b[C>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+6<<2)>>2]|0;X=b[B>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;if((c[w>>2]|0)==16){ga=c[l+(W+5<<2)>>2]|0;fa=b[L>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+4<<2)>>2]|0;X=b[M>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+3<<2)>>2]|0;fa=b[N>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W+2<<2)>>2]|0;X=b[O>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0;ga=c[l+(W+1<<2)>>2]|0;fa=b[P>>1]|0;fa=X+(($(ga>>16,fa)|0)+(($(ga&65535,fa)|0)>>16))|0;ga=c[l+(W<<2)>>2]|0;X=b[Q>>1]|0;X=fa+(($(ga>>16,X)|0)+(($(ga&65535,X)|0)>>16))|0}X=(c[U+(W<<2)>>2]|0)+(X<<4)|0;c[l+(W+16<<2)>>2]=X;X=(($(X>>16,T)|0)+(($(X&65535,T)|0)>>16)+($(X,S)|0)>>7)+1>>1;if((X|0)>32767)X=32767;else X=(X|0)<-32768?-32768:X&65535;b[J+(W<<1)>>1]=X;W=W+1|0}T=l+0|0;U=l+(X<<2)+0|0;S=T+64|0;do{c[T>>2]=c[U>>2];T=T+4|0;U=U+4|0}while((T|0)<(S|0));x=x+(X<<2)|0;J=J+(X<<1)|0;A=A+1|0}T=g+0|0;U=l+0|0;S=T+64|0;do{c[T>>2]=c[U>>2];T=T+4|0;U=U+4|0}while((T|0)<(S|0));i=o;return}function Cf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i;d=Ef((a|0)>0?a:0-a|0)|0;c=a< >16;a=536870911/(g|0)|0;f=a<<16;e=f>>16;c=536870912-(($(g,e)|0)+(($(c&65535,e)|0)>>16))<<3;a=f+(($(c>>16,e)|0)+(($(c&65528,e)|0)>>16))+($(c,(a>>15)+1>>1)|0)|0;d=62-d|0;c=d+ -47|0;if((c|0)>=1){i=b;return((c|0)<32?a>>c:0)|0}c=47-d|0;d=-2147483648>>c;e=2147483647>>>c;if((d|0)>(e|0)){if((a|0)>(d|0)){g=d;g=g< (e|0)){g=e;g=g< 0?a:0-a|0)|0;g=a< 0?b:0-b|0)|0)+ -1|0;a=b< >16|0)|0)<<16>>16;f=($(g>>16,b)|0)+(($(g&65535,b)|0)>>16)|0;a=Gj(a|0,((a|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;a=uj(a|0,D|0,29)|0;a=g-(a&-8)|0;b=f+(($(a>>16,b)|0)+(($(a&65535,b)|0)>>16))|0;d=e+28-d|0;a=d+ -16|0;if((a|0)>=0){i=c;return((a|0)<32?b>>a:0)|0}a=16-d|0;d=-2147483648>>a;e=2147483647>>>a;if((d|0)>(e|0)){if((b|0)>(d|0)){g=d;g=g<(e|0)){g=e;g=g<>2]|0;c[l+136>>2]=0;if(!g){o=b+2388|0;p=4}else if((g|0)==2?(o=b+2388|0,(c[b+(c[o>>2]<<2)+2420>>2]|0)==1):0)p=4;else p=5;if((p|0)==4){p=ta()|0;q=i;i=i+((2*(k+15&-16)|0)+15&-16)|0;Gf(b,d,c[o>>2]|0,g,h);o=b+2765|0;Jf(d,q,a[o>>0]|0,a[b+2766>>0]|0,c[m>>2]|0);Hf(b,l,h);Bf(b,l,e,q,j);He(b,l,e,0,j);c[b+4160>>2]=0;c[b+4164>>2]=a[o>>0];c[b+2376>>2]=0;ja(p|0)}else if((p|0)==5)He(b,l,e,1,j);p=c[m>>2]|0;q=(c[b+2336>>2]|0)-p|0;zj(b+1348|0,b+(p<<1)+1348|0,q<<1|0)|0;yj(b+(q<<1)+1348|0,e|0,c[m>>2]<<1|0)|0;Ld(b,l,e,k);Ke(b,e,k);c[b+2308>>2]=c[l+((c[b+2324>>2]|0)+ -1<<2)>>2];c[f>>2]=k;i=n;return 0}function Gf(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;i=i+48|0;m=l;p=l+32|0;if((j|0)==0?(c[f+(h<<2)+2404>>2]|0)==0:0)o=sc(g,24952,8)|0;else o=(sc(g,24944,8)|0)+2|0;h=o>>>1;j=f+2765|0;a[j>>0]=h;a[f+2766>>0]=o&1;o=(k|0)==2;if(o)a[f+2736>>0]=sc(g,24672,8)|0;else{r=f+2736|0;a[r>>0]=(sc(g,24648+(h<<24>>24<<3)|0,8)|0)<<3;q=sc(g,25016,8)|0;a[r>>0]=(d[r>>0]|0)+q}h=f+2324|0;q=1;while(1){if((q|0)>=(c[h>>2]|0))break;a[f+q+2736>>0]=sc(g,24672,8)|0;q=q+1|0}q=f+2732|0;s=c[q>>2]|0;r=$(a[j>>0]>>1,b[s>>1]|0)|0;r=sc(g,(c[s+12>>2]|0)+r|0,8)|0;a[f+2744>>0]=r;se(m,p,c[q>>2]|0,r<<24>>24);p=0;while(1){r=c[q>>2]|0;if((p|0)>=(b[r+2>>1]|0))break;r=sc(g,(c[r+24>>2]|0)+(b[m+(p<<1)>>1]|0)|0,8)|0;if(!r)r=0-(sc(g,25024,8)|0)|0;else if((r|0)==8)r=(sc(g,25024,8)|0)+8|0;s=p+1|0;a[f+s+2744>>0]=r+252;p=s}if((c[h>>2]|0)==4)a[f+2767>>0]=sc(g,24960,8)|0;else a[f+2767>>0]=4;if((a[j>>0]|0)!=2){s=a[j>>0]|0;s=s<<24>>24;r=f+2396|0;c[r>>2]=s;r=sc(g,24992,8)|0;r=r&255;s=f+2770|0;a[s>>0]=r;i=l;return}if((o?(c[f+2396>>2]|0)==2:0)?(n=sc(g,25168,8)|0,(n&65535)<<16>>16>0):0){m=(e[f+2400>>1]|0)+(n+65527)&65535;b[f+2762>>1]=m}else{m=(sc(g,25136,8)|0)<<16>>16;s=f+2762|0;b[s>>1]=$(m,c[f+2316>>2]>>1)|0;m=sc(g,c[f+2380>>2]|0,8)|0;m=(e[s>>1]|0)+m&65535;b[s>>1]=m}b[f+2400>>1]=m;a[f+2764>>0]=sc(g,c[f+2384>>2]|0,8)|0;m=f+2768|0;a[m>>0]=sc(g,22256,8)|0;n=0;while(1){if((n|0)>=(c[h>>2]|0))break;a[f+n+2740>>0]=sc(g,c[22320+(a[m>>0]<<2)>>2]|0,8)|0;n=n+1|0}if(!k){a[f+2769>>0]=sc(g,24936,8)|0;s=a[j>>0]|0;s=s<<24>>24;r=f+2396|0;c[r>>2]=s;r=sc(g,24992,8)|0;r=r&255;s=f+2770|0;a[s>>0]=r;i=l;return}else{a[f+2769>>0]=0;s=a[j>>0]|0;s=s<<24>>24;r=f+2396|0;c[r>>2]=s;r=sc(g,24992,8)|0;r=r&255;s=f+2770|0;a[s>>0]=r;i=l;return}}function Hf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+64|0;j=g+32|0;l=g;h=d+2324|0;hh(e+16|0,d+2736|0,d+2312|0,(f|0)==2&1,c[h>>2]|0);de(j,d+2744|0,c[d+2732>>2]|0);f=e+64|0;k=d+2340|0;Zd(f,j,c[k>>2]|0);n=d+2767|0;if((c[d+2376>>2]|0)!=1){o=a[n>>0]|0;if(o<<24>>24<4){p=c[k>>2]|0;n=0;while(1){if((n|0)>=(p|0))break;q=b[d+(n<<1)+2344>>1]|0;b[l+(n<<1)>>1]=(q&65535)+(($(o<<24>>24,(b[j+(n<<1)>>1]|0)-(q<<16>>16)|0)|0)>>>2);n=n+1|0}Zd(e+32|0,l,p)}else m=8}else{a[n>>0]=4;m=8}if((m|0)==8)yj(e+32|0,e+64|0,c[k>>2]<<1|0)|0;l=c[k>>2]|0;yj(d+2344|0,j|0,l<<1|0)|0;if(c[d+4160>>2]|0){hf(e+32|0,l,63570);hf(f,c[k>>2]|0,63570)}if((a[d+2765>>0]|0)!=2){wj(e|0,0,c[h>>2]<<2|0)|0;wj(e+96|0,0,(c[h>>2]|0)*10|0)|0;a[d+2768>>0]=0;c[e+136>>2]=0;i=g;return}If(b[d+2762>>1]|0,a[d+2764>>0]|0,e,c[d+2316>>2]|0,c[h>>2]|0);l=c[22688+(a[d+2768>>0]<<2)>>2]|0;k=0;while(1){if((k|0)>=(c[h>>2]|0))break;m=(a[d+k+2740>>0]|0)*5|0;f=k*5|0;j=0;while(1){if((j|0)>=5)break;b[e+(f+j<<1)+96>>1]=a[l+(m+j)>>0]<<7;j=j+1|0}k=k+1|0}c[e+136>>2]=b[24976+(a[d+2769>>0]<<1)>>1];i=g;return}function If(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;k=(g|0)==4;if((f|0)==8){j=k?11:3;k=k?21304:21264}else{j=k?34:12;k=k?21352:21272}l=f<<16;f=l>>15;l=(l>>16)*18|0;b=f+(b<<16>>16)|0;d=d<<24>>24;o=(f|0)>(l|0);n=0;while(1){if((n|0)>=(g|0))break;p=b+(a[k+(($(n,j)|0)+d)>>0]|0)|0;m=e+(n<<2)|0;c[m>>2]=p;if(o)if((p|0)>(f|0))p=f;else p=(p|0)<(l|0)?l:p;else if((p|0)>(l|0))p=l;else p=(p|0)<(f|0)?f:p;c[m>>2]=p;n=n+1|0}i=h;return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+160|0;l=h+80|0;j=h;o=sc(a,25624+((e>>1)*9|0)|0,8)|0;k=g>>4;k=(k<<4|0)<(g|0)?k+1|0:k;o=25272+(o*18|0)|0;p=0;while(1){if((p|0)>=(k|0)){m=0;break}r=j+(p<<2)|0;c[r>>2]=0;q=l+(p<<2)|0;m=0;n=sc(a,o,8)|0;while(1){c[q>>2]=n;if((n|0)!=17)break;n=m+1|0;c[r>>2]=n;m=n;n=sc(a,25434+((n|0)==10&1)|0,8)|0}p=p+1|0}while(1){if((m|0)>=(k|0)){s=0;break}n=c[l+(m<<2)>>2]|0;o=d+(m<<16>>12<<1)|0;if((n|0)>0)Jh(o,a,n);else{n=o+0|0;o=n+32|0;do{b[n>>1]=0;n=n+2|0}while((n|0)<(o|0))}m=m+1|0}while(1){if((s|0)>=(k|0))break;r=c[j+(s<<2)>>2]|0;if((r|0)>0){p=s<<16>>12;o=0;while(1){if((o|0)>=16)break;q=d+(p+o<<1)|0;m=b[q>>1]|0;n=0;while(1){if((n|0)>=(r|0))break;m=(m<<1)+(sc(a,24928,8)|0)|0;n=n+1|0}b[q>>1]=m;o=o+1|0}q=l+(s<<2)|0;c[q>>2]=c[q>>2]|r<<5}s=s+1|0}mf(a,d,g,e,f,l);i=h;return}function Kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;f=d<<16>>16;c[b+2332>>2]=f*5;l=b+2324|0;h=$(c[l>>2]<<16>>16,f*327680>>16)|0;g=b+2316|0;n=b+2320|0;if((c[g>>2]|0)==(d|0)?(c[n>>2]|0)==(e|0):0){e=1;m=0;k=4}else k=3;if((k|0)==3){m=vh(b+2432|0,f*1e3|0,e,0)|0;c[n>>2]=e;e=(c[g>>2]|0)==(d|0);if(e)k=4}if((k|0)==4)if((h|0)==(c[b+2328>>2]|0)){o=m;i=j;return o|0}n=(d|0)==8;l=(c[l>>2]|0)==4;o=b+2384|0;do if(n)if(l){c[o>>2]=25232;break}else{c[o>>2]=25264;break}else if(l){c[o>>2]=25192;break}else{c[o>>2]=25248;break}while(0);if(!e){c[b+2336>>2]=f*20;if((d|0)==8|(d|0)==12){c[b+2340>>2]=10;c[b+2732>>2]=23520;if((d|0)==12)c[b+2380>>2]=25008;else k=18}else{c[b+2340>>2]=16;c[b+2732>>2]=24608;if((d|0)==16)c[b+2380>>2]=25016;else k=18}if((k|0)==18?n:0)c[b+2380>>2]=24992;c[b+2376>>2]=1;c[b+2308>>2]=100;a[b+2312>>0]=10;c[b+4164>>2]=0;wj(b+1284|0,0,1024)|0}c[g>>2]=d;c[b+2328>>2]=h;o=m;i=j;return o|0}function Lf(a){a=a|0;c[a>>2]=24564;return 0}function Mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;wj(a|0,0,24564)|0;e=0;g=0;while(1){if((g|0)>=2)break;e=e+(lh(a+(g*12240|0)|0,b)|0)|0;g=g+1|0}c[a+24540>>2]=1;c[a+24544>>2]=1;b=e+(Nf(a,d)|0)|0;i=f;return b|0}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[b>>2]=c[a+24540>>2];c[b+4>>2]=c[a+24544>>2];c[b+8>>2]=c[a+4580>>2];c[b+12>>2]=c[a+4588>>2];c[b+16>>2]=c[a+4592>>2];c[b+20>>2]=c[a+4596>>2];c[b+24>>2]=c[a+4636>>2];c[b+28>>2]=c[a+4632>>2];c[b+32>>2]=c[a+4640>>2];c[b+36>>2]=c[a+4648>>2];c[b+40>>2]=c[a+6120>>2];c[b+44>>2]=c[a+6108>>2];c[b+48>>2]=c[a+4708>>2];e=a+4600|0;c[b+68>>2]=(c[e>>2]<<16>>16)*1e3;c[b+72>>2]=c[a+4560>>2];if((c[e>>2]|0)!=16){a=0;a=a&1;e=b+76|0;c[e>>2]=a;i=d;return 0}a=(c[a+28>>2]|0)==0;a=a&1;e=b+76|0;c[e>>2]=a;i=d;return 0}function Of(d,f,g,h,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=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;m=i;i=i+16|0;s=m;t=m+8|0;if(c[f+64>>2]|0){c[d+4696>>2]=1;c[d+16936>>2]=1}c[d+18020>>2]=0;r=d+5780|0;c[r>>2]=0;n=kf(f)|0;if(n){Fa=n;i=m;return Fa|0}c[f+84>>2]=0;n=f+4|0;u=d+24544|0;if((c[n>>2]|0)>(c[u>>2]|0)){va=lh(d+12240|0,c[d+5124>>2]|0)|0;Fa=d+24480|0;b[Fa>>1]=0;b[Fa+2>>1]=0>>>16;Fa=d+24488|0;b[Fa>>1]=0;b[Fa+2>>1]=0>>>16;c[d+24492>>2]=0;c[d+24496>>2]=1;c[d+24500>>2]=0;c[d+24504>>2]=1;b[d+24510>>1]=0;b[d+24508>>1]=16384;if((c[d+24540>>2]|0)==2){yj(d+18048|0,d+5808|0,300)|0;Da=d;Ea=c[Da+4>>2]|0;Fa=d+12240|0;c[Fa>>2]=c[Da>>2];c[Fa+4>>2]=Ea}}else va=0;p=f+24|0;if((c[p>>2]|0)==(c[d+4636>>2]|0))B=(c[u>>2]|0)!=(c[n>>2]|0);else B=1;c[d+24540>>2]=c[f>>2];c[u>>2]=c[n>>2];w=h*100|0;v=c[f+8>>2]|0;C=(w|0)/(v|0)|0;u=(C|0)>1?C>>1:1;l=(l|0)==0;a:do if(l){if(($(C,v)|0)!=(w|0)|(h|0)<0){Fa=-101;i=m;return Fa|0}if((h*1e3|0)>($(c[p>>2]|0,v)|0)){Fa=-101;i=m;return Fa|0}else{E=c[n>>2]|0;v=0;w=0;break}}else{if((C|0)==1)v=0;else{Fa=-101;i=m;return Fa|0}while(1){E=c[n>>2]|0;if((v|0)>=(E|0))break;va=lh(d+(v*12240|0)|0,c[d+(v*12240|0)+5124>>2]|0)|0;v=v+1|0}w=c[p>>2]|0;c[p>>2]=10;x=f+36|0;v=c[x>>2]|0;c[x>>2]=0;x=0;while(1){if((x|0)>=(E|0))break a;c[d+(x*12240|0)+4700>>2]=0;c[d+(x*12240|0)+4712>>2]=1;E=c[n>>2]|0;x=x+1|0}}while(0);y=f+28|0;D=c[y>>2]>>E+ -1;x=d+4600|0;A=d+24556|0;z=d+5776|0;F=E;E=0;while(1){if((E|0)>=(F|0))break;if((E|0)==1)F=c[x>>2]|0;else F=0;F=pf(d+(E*12240|0)|0,f,D,c[A>>2]|0,E,F)|0;if(F){o=146;break}b:do if((c[d+(E*12240|0)+4696>>2]|0)==0^1|B){F=0;while(1){if((F|0)>=(c[z>>2]|0))break b;c[d+(E*12240|0)+(F<<2)+4756>>2]=0;F=F+1|0}}while(0);c[d+(E*12240|0)+6112>>2]=c[d+(E*12240|0)+6108>>2];F=c[n>>2]|0;va=0;E=E+1|0}if((o|0)==146){i=m;return F|0}ea=C*10|0;O=c[x>>2]|0;E=$(ea,O)|0;ca=d+4580|0;O=($(E,c[ca>>2]|0)|0)/(O*1e3|0)|0;B=ta()|0;da=i;i=i+((2*O|0)+15&-16)|0;O=d+4608|0;J=d+5772|0;D=d+24548|0;G=d+18048|0;I=d+5808|0;H=d+16848|0;P=d+18012|0;K=d+16840|0;L=j+20|0;F=j+28|0;ga=d+24536|0;S=d+24480|0;R=d+5132|0;Q=d+17372|0;ka=d+4556|0;C=f+56|0;na=d+24560|0;Y=d+19440|0;Z=d+12384|0;_=d+12256|0;X=d+16808|0;W=d+16740|0;V=d+16805|0;U=d+16756|0;T=d+16936|0;aa=d+12240|0;qa=f+52|0;ma=(u|0)==2;pa=f+48|0;fa=s+4|0;oa=u<<1;ba=u+ -1|0;la=d+6112|0;ia=d+24552|0;ha=d+18352|0;M=d+5128|0;N=d+24484|0;ra=0;while(1){wa=c[J>>2]|0;ua=(c[O>>2]|0)-wa|0;ua=(ua|0)<(E|0)?ua:E;sa=$(ua,c[ca>>2]|0)|0;sa=(sa|0)/((c[x>>2]|0)*1e3|0)|0;do if((c[f>>2]|0)==2)if((c[n>>2]|0)==2){ya=c[r>>2]|0;xa=0;while(1){if((xa|0)>=(sa|0))break;b[da+(xa<<1)>>1]=b[g+(xa<<1<<1)>>1]|0;xa=xa+1|0}if((c[D>>2]|0)==1&(ya|0)==0)yj(G|0,I|0,300)|0;wh(I,d+(wa+2<<1)+5128|0,da,sa);c[J>>2]=(c[J>>2]|0)+ua;xa=c[P>>2]|0;wa=(c[H>>2]|0)-xa|0;ua=$(ea,c[K>>2]|0)|0;ua=(wa|0)<(ua|0)?wa:ua;wa=0;while(1){if((wa|0)>=(sa|0))break;b[da+(wa<<1)>>1]=b[g+((wa<<1|1)<<1)>>1]|0;wa=wa+1|0}wh(G,d+(xa+2<<1)+17368|0,da,sa);c[P>>2]=(c[P>>2]|0)+ua;wa=c[J>>2]|0;break}else{if((c[n>>2]|0)==1)xa=0;else{o=49;break}while(1){if((xa|0)>=(sa|0))break;Fa=xa<<1;Fa=(b[g+(Fa<<1)>>1]|0)+(b[g+((Fa|1)<<1)>>1]|0)|0;b[da+(xa<<1)>>1]=(Fa>>>1)+(Fa&1);xa=xa+1|0}wh(I,d+(wa+2<<1)+5128|0,da,sa);c:do if((c[D>>2]|0)==2?(c[r>>2]|0)==0:0){wh(G,d+((c[P>>2]|0)+2<<1)+17368|0,da,sa);wa=0;while(1){if((wa|0)>=(c[O>>2]|0))break c;Fa=d+((c[J>>2]|0)+wa+2<<1)+5128|0;b[Fa>>1]=((b[Fa>>1]|0)+(b[d+((c[P>>2]|0)+wa+2<<1)+17368>>1]|0)|0)>>>1;wa=wa+1|0}}while(0);wa=(c[J>>2]|0)+ua|0;c[J>>2]=wa;break}else o=49;while(0);if((o|0)==49){o=0;yj(da|0,g|0,sa<<1|0)|0;wh(I,d+(wa+2<<1)+5128|0,da,sa);wa=(c[J>>2]|0)+ua|0;c[J>>2]=wa}g=g+(($(sa,c[f>>2]|0)|0)<<1)|0;ua=h-sa|0;c[A>>2]=0;if((wa|0)<(c[O>>2]|0)){q=0;break}d:do if(!((c[r>>2]|0)==0^1|l^1)){b[t>>1]=0;a[t>>0]=256-(256>>>($((c[z>>2]|0)+1|0,c[n>>2]|0)|0));Cc(j,0,t,8);wa=0;while(1){Ca=c[n>>2]|0;if((wa|0)>=(Ca|0)){wa=0;break}za=c[d+(wa*12240|0)+5776>>2]|0;ya=0;xa=0;while(1){if((xa|0)>=(za|0))break;ya=ya|c[d+(wa*12240|0)+(xa<<2)+4756>>2]< >0]=(ya|0)>0&1;if((ya|0)!=0&(za|0)>1)Cc(j,ya+ -1|0,c[24920+(za+ -2<<2)>>2]|0,8);wa=wa+1|0}while(1){if((wa|0)>=(c[z>>2]|0)){wa=0;break}xa=d+(wa*6|0)+24514|0;Aa=d+(wa<<2)+16996|0;za=d+wa+24532|0;ya=wa+ -1|0;Ba=0;while(1){if((Ba|0)>=(Ca|0))break;if(c[d+(Ba*12240|0)+(wa<<2)+4756>>2]|0){if((Ca|0)==2&(Ba|0)==0?(Vh(j,xa),(c[Aa>>2]|0)==0):0)Wh(j,a[za>>0]|0);if((wa|0)>0?(c[d+(Ba*12240|0)+(ya<<2)+4756>>2]|0)!=0:0)Ca=2;else Ca=0;Qf(d+(Ba*12240|0)|0,j,wa,1,Ca);Rf(j,a[d+(Ba*12240|0)+(wa*36|0)+6161>>0]|0,a[d+(Ba*12240|0)+(wa*36|0)+6162>>0]|0,d+(Ba*12240|0)+(wa*320|0)+6240|0,c[d+(Ba*12240|0)+4608>>2]|0);Ca=c[n>>2]|0}Ba=Ba+1|0}wa=wa+1|0}while(1){if((wa|0)>=(Ca|0))break d;Ca=d+(wa*12240|0)+4756|0;c[Ca+0>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;Ca=c[n>>2]|0;wa=wa+1|0}}while(0);Rd(d);wa=c[y>>2]|0;ya=c[p>>2]|0;za=($(wa,ya)|0)/1e3|0;if(l)za=za-((Pf(c[L>>2]|0,c[F>>2]|0)|0)>>1)|0;xa=c[r>>2]|0;za=((za|0)/((c[z>>2]|0)-xa|0)|0)<<16>>16;if((ya|0)==10)ya=za*100|0;else ya=za*50|0;ya=ya-(((c[ga>>2]|0)*1e3|0)/500|0)|0;if((wa|0)>5e3){if((ya|0)<=(wa|0))wa=(ya|0)<5e3?5e3:ya}else if((ya|0)>5e3)wa=5e3;else wa=(ya|0)<(wa|0)?wa:ya;if((c[n>>2]|0)==2){Oh(S,R,Q,d+(xa*6|0)+24514|0,d+xa+24532|0,s,wa,c[ka>>2]|0,c[C>>2]|0,c[x>>2]|0,c[O>>2]|0);xa=c[r>>2]|0;if(!(a[d+xa+24532>>0]|0)){if((c[na>>2]|0)==1){Fa=_;c[Fa>>2]=0;c[Fa+4>>2]=0;wj(Z|0,0,4412)|0;wj(Y|0,0,2156)|0;c[X>>2]=100;c[W>>2]=100;a[Y>>0]=10;a[V>>0]=0;c[U>>2]=65536;c[T>>2]=1}gg(aa)}else a[d+xa+16992>>0]=0;if(l?(Vh(j,d+((c[r>>2]|0)*6|0)+24514|0),q=c[r>>2]|0,(a[d+q+16992>>0]|0)==0):0)Wh(j,a[d+q+24532>>0]|0)}else{Fa=e[N>>1]|e[N+2>>1]<<16;b[M>>1]=Fa;b[M+2>>1]=Fa>>>16;Fa=d+(c[O>>2]<<1)+5128|0;Fa=e[Fa>>1]|e[Fa+2>>1]<<16;b[N>>1]=Fa;b[N+2>>1]=Fa>>>16}gg(d);za=(ra|0)==0;ya=(c[fa>>2]|0)>0;xa=(ra|0)==(ba|0);Aa=(ra|0)==1;Ba=0;while(1){Ea=c[n>>2]|0;if((Ba|0)>=(Ea|0))break;Da=c[qa>>2]|0;do if(ma)if(za)Fa=(Da*3|0)/5|0;else Fa=Da;else if((u|0)==3){if(za){Fa=(Da<<1|0)/5|0;break}if(Aa)Fa=(Da*3|0)/4|0;else Fa=Da}else Fa=Da;while(0);Ca=((c[pa>>2]|0)==0?0:xa)&1;if((Ea|0)!=1){Ea=c[s+(Ba<<2)>>2]|0;if(!((Ba|0)==0^1|ya^1)){Fa=Fa-((Da|0)/(oa|0)|0)|0;Ca=0}}else Ea=wa;if((Ea|0)>0){nf(d+(Ba*12240|0)|0,Ea);do if(((c[r>>2]|0)-Ba|0)<1)va=0;else{if((Ba|0)>0?(c[na>>2]|0)!=0:0){va=1;break}va=2}while(0);va=hg(d+(Ba*12240|0)|0,k,j,va,Fa,Ca)|0}c[d+(Ba*12240|0)+4700>>2]=0;c[d+(Ba*12240|0)+5772>>2]=0;Fa=d+(Ba*12240|0)+5780|0;c[Fa>>2]=(c[Fa>>2]|0)+1;Ba=Ba+1|0}xa=c[r>>2]|0;c[na>>2]=a[d+(xa+ -1)+24532>>0];do if((c[k>>2]|0)>0?(xa|0)==(c[z>>2]|0):0){wa=c[n>>2]|0;Ba=0;ya=0;while(1){if((ya|0)>=(wa|0))break;za=c[d+(ya*12240|0)+5776>>2]|0;Aa=0;while(1){Ba=Ba<<1;if((Aa|0)>=(za|0))break;Ba=Ba|a[d+(ya*12240|0)+Aa+4752>>0];Aa=Aa+1|0}Ba=Ba|a[d+(ya*12240|0)+4755>>0];ya=ya+1|0}if(l)Gc(j,Ba,$(xa+1|0,wa)|0);do if(c[la>>2]|0){if((c[n>>2]|0)!=1?(c[ha>>2]|0)==0:0)break;c[k>>2]=0}while(0);wa=(c[ga>>2]|0)+(c[k>>2]<<3)|0;c[ga>>2]=wa;wa=wa-(($(c[y>>2]|0,c[p>>2]|0)|0)/1e3|0)|0;c[ga>>2]=wa;if((wa|0)>1e4)wa=1e4;else wa=(wa|0)<0?0:wa;c[ga>>2]=wa;wa=c[ia>>2]|0;if((c[ka>>2]|0)<(((wa<<16>>16)*3188>>16)+13|0)){c[A>>2]=1;c[ia>>2]=0;break}else{c[A>>2]=0;c[ia>>2]=wa+(c[p>>2]|0);break}}while(0);if((h|0)==(sa|0)){o=135;break}h=ua;ra=ra+1|0}if((o|0)==135)q=c[A>>2]|0;c[D>>2]=c[n>>2];c[f+72>>2]=q;if((c[x>>2]|0)==16)o=(c[d+28>>2]|0)==0;else o=0;c[f+76>>2]=o&1;c[f+68>>2]=(c[x>>2]<<16>>16)*1e3;if(!(c[C>>2]|0))o=b[d+24508>>1]|0;else o=0;c[f+80>>2]=o;e:do if(!l){c[p>>2]=w;c[f+36>>2]=v;f=0;while(1){if((f|0)>=(c[n>>2]|0))break e;c[d+(f*12240|0)+4700>>2]=0;c[d+(f*12240|0)+4712>>2]=0;f=f+1|0}}while(0);ja(B|0);Fa=va;i=m;return Fa|0}function Pf(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function Qf(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+48|0;m=k;p=k+32|0;n=(h|0)==0;if(n)h=e+4768|0;else h=e+(g*36|0)+6132|0;g=h+29|0;o=(a[g>>0]<<1)+(a[h+30>>0]|0)|0;if(n^1|(o|0)>1)Cc(f,o+ -2|0,24944,8);else Cc(f,o,24952,8);o=(j|0)==2;n=a[h>>0]|0;if(o)Cc(f,n,24672,8);else{Cc(f,n>>3,24648+(a[g>>0]<<3)|0,8);Cc(f,d[h>>0]&7,25016,8)}n=e+4604|0;q=1;while(1){if((q|0)>=(c[n>>2]|0))break;Cc(f,a[h+q>>0]|0,24672,8);q=q+1|0}s=h+8|0;q=e+4724|0;t=c[q>>2]|0;u=$(a[g>>0]>>1,b[t>>1]|0)|0;Cc(f,a[s>>0]|0,(c[t+12>>2]|0)+u|0,8);se(m,p,c[q>>2]|0,a[s>>0]|0);s=0;while(1){t=c[q>>2]|0;if((s|0)>=(b[t+2>>1]|0))break;r=s+1|0;p=h+r+8|0;u=a[p>>0]|0;if(u<<24>>24>3){Cc(f,8,(c[t+24>>2]|0)+(b[m+(s<<1)>>1]|0)|0,8);Cc(f,(a[p>>0]|0)+ -4|0,25024,8);s=r;continue}if(u<<24>>24<-3){Cc(f,0,(c[t+24>>2]|0)+(b[m+(s<<1)>>1]|0)|0,8);Cc(f,-4-(a[p>>0]|0)|0,25024,8);s=r;continue}else{Cc(f,(u<<24>>24)+4|0,(c[t+24>>2]|0)+(b[m+(s<<1)>>1]|0)|0,8);s=r;continue}}if((c[n>>2]|0)==4)Cc(f,a[h+31>>0]|0,24960,8);if((a[g>>0]|0)!=2){t=a[g>>0]|0;t=t<<24>>24;u=e+5800|0;c[u>>2]=t;u=h+34|0;u=a[u>>0]|0;u=u<<24>>24;Cc(f,u,24992,8);i=k;return}do if(o?(c[e+5800>>2]|0)==2:0){m=(b[h+26>>1]|0)-(b[e+5804>>1]|0)|0;if((m|0)<-8|(m|0)>11){Cc(f,0,25168,8);l=28;break}else{Cc(f,m+9|0,25168,8);m=h+26|0;break}}else l=28;while(0);if((l|0)==28){m=h+26|0;s=b[m>>1]|0;u=c[e+4600>>2]|0;t=(s|0)/(u>>1|0)|0;u=s-($(t<<16>>16,u<<15>>16)|0)|0;Cc(f,t,25136,8);Cc(f,u,c[e+4716>>2]|0,8)}b[e+5804>>1]=b[m>>1]|0;Cc(f,a[h+28>>0]|0,c[e+4720>>2]|0,8);l=h+32|0;Cc(f,a[l>>0]|0,22256,8);m=0;while(1){if((m|0)>=(c[n>>2]|0))break;Cc(f,a[h+m+4>>0]|0,c[22320+(a[l>>0]<<2)>>2]|0,8);m=m+1|0}if(j){t=a[g>>0]|0;t=t<<24>>24;u=e+5800|0;c[u>>2]=t;u=h+34|0;u=a[u>>0]|0;u=u<<24>>24;Cc(f,u,24992,8);i=k;return}Cc(f,a[h+33>>0]|0,24936,8);t=a[g>>0]|0;t=t<<24>>24;u=e+5800|0;c[u>>2]=t;u=h+34|0;u=a[u>>0]|0;u=u<<24>>24;Cc(f,u,24992,8);i=k;return}function Rf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+32|0;o=j;c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;k=h>>4;if((k<<4|0)<(h|0)){k=k+1|0;m=g+h+0|0;l=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(l|0))}l=k<<4;n=i;i=i+((4*l|0)+15&-16)|0;m=0;while(1){if((m|0)>=(l|0))break;t=a[g+m>>0]|0;v=t<<24>>24;c[n+(m<<2)>>2]=t<<24>>24>0?v:0-v|0;v=m|1;t=a[g+v>>0]|0;u=t<<24>>24;c[n+(v<<2)>>2]=t<<24>>24>0?u:0-u|0;v=m|2;u=a[g+v>>0]|0;t=u<<24>>24;c[n+(v<<2)>>2]=u<<24>>24>0?t:0-t|0;v=m|3;t=a[g+v>>0]|0;u=t<<24>>24;c[n+(v<<2)>>2]=t<<24>>24>0?u:0-u|0;m=m+4|0}l=i;i=i+((4*k|0)+15&-16)|0;m=i;i=i+((4*k|0)+15&-16)|0;t=n;p=0;while(1){if((p|0)>=(k|0))break;q=m+(p<<2)|0;c[q>>2]=0;r=l+(p<<2)|0;a:while(1){v=Sf(o,t,8,8)|0;v=v+(Sf(o,o,10,4)|0)|0;v=v+(Sf(o,o,12,2)|0)|0;if((v|0)==(0-(Sf(r,o,16,1)|0)|0))break;c[q>>2]=(c[q>>2]|0)+1;s=0;while(1){if((s|0)>=16)continue a;v=t+(s<<2)|0;c[v>>2]=c[v>>2]>>1;s=s+1|0}}t=t+64|0;p=p+1|0}u=e>>1;v=0;o=2147483647;q=0;while(1){if((q|0)>=9)break;s=25473+(q*18|0)|0;r=0;t=d[25648+(u*9|0)+q>>0]|0;while(1){if((r|0)>=(k|0))break;if((c[m+(r<<2)>>2]|0)>0)p=a[s>>0]|0;else p=a[(c[l+(r<<2)>>2]|0)+(25456+(q*18|0))>>0]|0;r=r+1|0;t=t+(p&255)|0}s=(t|0)<(o|0);v=s?q:v;o=s?t:o;q=q+1|0}Cc(b,v,25624+(u*9|0)|0,8);o=25272+(v*18|0)|0;p=0;while(1){if((p|0)>=(k|0)){o=0;break}q=c[m+(p<<2)>>2]|0;if(!q)Cc(b,c[l+(p<<2)>>2]|0,o,8);else{Cc(b,17,o,8);q=q+ -1|0;r=0;while(1){if((r|0)>=(q|0))break;Cc(b,17,25434|0,8);r=r+1|0}Cc(b,c[l+(p<<2)>>2]|0,25434|0,8)}p=p+1|0}while(1){if((o|0)>=(k|0)){r=0;break}if((c[l+(o<<2)>>2]|0)>0)Gh(b,n+(o<<4<<2)|0);o=o+1|0}while(1){if((r|0)>=(k|0))break;q=c[m+(r<<2)>>2]|0;b:do if((q|0)>0){p=r<<4;o=0;while(1){if((o|0)>=16)break b;s=a[g+(p+o)>>0]|0;n=s<<24>>24;n=(s<<24>>24>0?n:0-n|0)<<24>>24;s=q;while(1){s=s+ -1|0;if((s|0)<=0)break;Cc(b,n>>>s&1,24928,8)}Cc(b,n&1,24928,8);o=o+1|0}}while(0);r=r+1|0}lf(b,g,h,e,f,l);i=j;return}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=0;while(1){if((g|0)>=(e|0)){g=0;b=5;break}h=g<<1;h=(c[b+(h<<2)>>2]|0)+(c[b+((h|1)<<2)>>2]|0)|0;if((h|0)>(d|0)){g=1;b=5;break}c[a+(g<<2)>>2]=h;g=g+1|0}if((b|0)==5){i=f;return g|0}return 0}function Tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=i;switch(e|0){case 16:{Yf(a,b,c,d);break};case 8:{Vf(a,b,c,d);break};case 6:{Uf(a,b,c,d);break};case 12:{Xf(a,b,c,d);break};case 10:{Wf(a,b,c,d);break};default:{}}wj(a|0,0,e<<2|0)|0;i=f;return}function Uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0;k=i;h=b+4|0;j=b+8|0;e=b+12|0;l=b+16|0;m=b+20|0;f=6;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[c+(f<<2)>>2]-(+g[c+(f+ -1<<2)>>2]*+g[b>>2]+ +g[c+(f+ -2<<2)>>2]*+g[h>>2]+ +g[c+(f+ -3<<2)>>2]*+g[j>>2]+ +g[c+(f+ -4<<2)>>2]*+g[e>>2]+ +g[c+(f+ -5<<2)>>2]*+g[l>>2]+ +g[c+(f+ -6<<2)>>2]*+g[m>>2]);f=f+1|0}i=k;return}function Vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;h=b+4|0;j=b+8|0;k=b+12|0;e=b+16|0;m=b+20|0;n=b+24|0;o=b+28|0;f=8;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[c+(f<<2)>>2]-(+g[c+(f+ -1<<2)>>2]*+g[b>>2]+ +g[c+(f+ -2<<2)>>2]*+g[h>>2]+ +g[c+(f+ -3<<2)>>2]*+g[j>>2]+ +g[c+(f+ -4<<2)>>2]*+g[k>>2]+ +g[c+(f+ -5<<2)>>2]*+g[e>>2]+ +g[c+(f+ -6<<2)>>2]*+g[m>>2]+ +g[c+(f+ -7<<2)>>2]*+g[n>>2]+ +g[c+(f+ -8<<2)>>2]*+g[o>>2]);f=f+1|0}i=l;return}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;h=b+4|0;j=b+8|0;k=b+12|0;l=b+16|0;e=b+20|0;n=b+24|0;o=b+28|0;p=b+32|0;q=b+36|0;f=10;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[c+(f<<2)>>2]-(+g[c+(f+ -1<<2)>>2]*+g[b>>2]+ +g[c+(f+ -2<<2)>>2]*+g[h>>2]+ +g[c+(f+ -3<<2)>>2]*+g[j>>2]+ +g[c+(f+ -4<<2)>>2]*+g[k>>2]+ +g[c+(f+ -5<<2)>>2]*+g[l>>2]+ +g[c+(f+ -6<<2)>>2]*+g[e>>2]+ +g[c+(f+ -7<<2)>>2]*+g[n>>2]+ +g[c+(f+ -8<<2)>>2]*+g[o>>2]+ +g[c+(f+ -9<<2)>>2]*+g[p>>2]+ +g[c+(f+ -10<<2)>>2]*+g[q>>2]);f=f+1|0}i=m;return}function Xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;h=b+4|0;j=b+8|0;k=b+12|0;l=b+16|0;m=b+20|0;e=b+24|0;o=b+28|0;p=b+32|0;q=b+36|0;r=b+40|0;s=b+44|0;f=12;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[c+(f<<2)>>2]-(+g[c+(f+ -1<<2)>>2]*+g[b>>2]+ +g[c+(f+ -2<<2)>>2]*+g[h>>2]+ +g[c+(f+ -3<<2)>>2]*+g[j>>2]+ +g[c+(f+ -4<<2)>>2]*+g[k>>2]+ +g[c+(f+ -5<<2)>>2]*+g[l>>2]+ +g[c+(f+ -6<<2)>>2]*+g[m>>2]+ +g[c+(f+ -7<<2)>>2]*+g[e>>2]+ +g[c+(f+ -8<<2)>>2]*+g[o>>2]+ +g[c+(f+ -9<<2)>>2]*+g[p>>2]+ +g[c+(f+ -10<<2)>>2]*+g[q>>2]+ +g[c+(f+ -11<<2)>>2]*+g[r>>2]+ +g[c+(f+ -12<<2)>>2]*+g[s>>2]);f=f+1|0}i=n;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=i;h=b+4|0;j=b+8|0;k=b+12|0;l=b+16|0;m=b+20|0;n=b+24|0;o=b+28|0;e=b+32|0;q=b+36|0;r=b+40|0;s=b+44|0;t=b+48|0;u=b+52|0;v=b+56|0;w=b+60|0;f=16;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[c+(f<<2)>>2]-(+g[c+(f+ -1<<2)>>2]*+g[b>>2]+ +g[c+(f+ -2<<2)>>2]*+g[h>>2]+ +g[c+(f+ -3<<2)>>2]*+g[j>>2]+ +g[c+(f+ -4<<2)>>2]*+g[k>>2]+ +g[c+(f+ -5<<2)>>2]*+g[l>>2]+ +g[c+(f+ -6<<2)>>2]*+g[m>>2]+ +g[c+(f+ -7<<2)>>2]*+g[n>>2]+ +g[c+(f+ -8<<2)>>2]*+g[o>>2]+ +g[c+(f+ -9<<2)>>2]*+g[e>>2]+ +g[c+(f+ -10<<2)>>2]*+g[q>>2]+ +g[c+(f+ -11<<2)>>2]*+g[r>>2]+ +g[c+(f+ -12<<2)>>2]*+g[s>>2]+ +g[c+(f+ -13<<2)>>2]*+g[t>>2]+ +g[c+(f+ -14<<2)>>2]*+g[u>>2]+ +g[c+(f+ -15<<2)>>2]*+g[v>>2]+ +g[c+(f+ -16<<2)>>2]*+g[w>>2]);f=f+1|0}i=p;return}function Zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,h=0.0,j=0.0,k=0,l=0,m=0,n=0.0;c=i;i=i+128|0;e=c;m=e+((b&1)<<6)|0;yj(m|0,a|0,b<<2|0)|0;a=m;j=1.0;a:while(1){b=b+ -1|0;if((b|0)<=0)break;f=+g[a+(b<<2)>>2];h=-f;if(f<-.9998999834060669|f>.9998999834060669){f=0.0;d=9;break}n=1.0-h*h;f=1.0/n;j=j*n;l=b&1;k=e+(l<<6)|0;m=0;while(1){if((m|0)>=(b|0)){a=k;continue a}g[e+(l<<6)+(m<<2)>>2]=(+g[a+(m<<2)>>2]- +g[a+(b-m+ -1<<2)>>2]*h)*f;m=m+1|0}}if((d|0)==9){i=c;return+f}n=+g[a>>2];f=-n;if(n<-.9998999834060669|n>.9998999834060669){n=0.0;i=c;return+n}n=j*(1.0-f*f);i=c;return+n}function _f(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0.0;m=i;i=i+32|0;l=m;k=h+k|0;n=0;while(1){if((n|0)>=(j|0))break;s=b+(0-(c[e+(n<<2)>>2]|0)<<2)|0;o=+g[f+(n<<2)>>2];r=n*5|0;p=0;while(1){if((p|0)>=5){p=0;break}g[l+(p<<2)>>2]=+g[d+(r+p<<2)>>2];p=p+1|0}while(1){if((p|0)>=(k|0))break;q=+g[b+(p<<2)>>2];t=a+(p<<2)|0;g[t>>2]=q;r=0;while(1){if((r|0)>=5)break;u=q- +g[l+(r<<2)>>2]*+g[s+(2-r<<2)>>2];g[t>>2]=u;q=u;r=r+1|0}g[t>>2]=q*o;p=p+1|0;s=s+4|0}a=a+(k<<2)|0;n=n+1|0;b=b+(h<<2)|0}i=m;return}function $f(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,j=0.0;h=i;if(!f){j=+((c[d+4640>>2]|0)+(c[d+5776>>2]|0)|0)*+g[e+872>>2]*.10000000149011612;if(!(j>2.0))if(j<0.0)f=0;else f=~~j;else f=2;a[d+4801>>0]=f}else{a[d+4801>>0]=0;f=0}g[e+224>>2]=+(b[24976+(f<<24>>24<<1)>>1]|0)*6103515625.0e-14;i=h;return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0;e=i;j=3.1415927410125732/+(d+1|0);f=2.0-j*j;if((c|0)<2){h=0.0;c=0}else{h=1.0;j=f*.5;c=0}while(1){if((c|0)>=(d|0))break;g[a+(c<<2)>>2]=+g[b+(c<<2)>>2]*.5*(h+j);l=c|1;g[a+(l<<2)>>2]=+g[b+(l<<2)>>2]*j;k=f*j-h;l=c|2;g[a+(l<<2)>>2]=+g[b+(l<<2)>>2]*.5*(j+k);l=c|3;g[a+(l<<2)>>2]=+g[b+(l<<2)>>2]*k;h=k;j=f*k-j;c=c+4|0}i=e;return}function bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=i;d=(d|0)>(c|0)?c:d;f=0;while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+ug(b,b+(f<<2)|0,c-f|0);f=f+1|0}i=e;return}function cg(a,b,d,e,f,j){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0;k=i;i=i+656|0;p=k+528|0;r=k+400|0;m=k+264|0;q=k+128|0;l=k;n=+og(b,$(f,e)|0);t=p+0|0;v=t+128|0;do{c[t>>2]=0;t=t+4|0}while((t|0)<(v|0));y=j+1|0;v=0;while(1){if((v|0)>=(f|0))break;z=$(v,e)|0;t=b+(z<<2)|0;A=1;while(1){if((A|0)>=(y|0))break;B=+ug(t,b+(z+A<<2)|0,e-A|0);D=p+(A+ -1<<3)|0;h[D>>3]=+h[D>>3]+B;A=A+1|0}v=v+1|0}t=r+0|0;y=p+0|0;v=t+128|0;do{c[t>>2]=c[y>>2];t=t+4|0;y=y+4|0}while((t|0)<(v|0));s=n*9999999747378752.0e-21;u=n+s+9.999999717180685e-10;h[m>>3]=u;h[q>>3]=u;u=1.0;t=0;a:while(1){if((t|0)>=(j|0))break;y=e-t|0;v=y+ -1|0;z=0;while(1){if((z|0)>=(f|0))break;A=$(z,e)|0;B=+g[b+(A+v<<2)>>2];C=b+(A+t<<2)|0;D=0;x=+g[b+(A+t<<2)>>2];w=B;while(1){if((D|0)>=(t|0)){C=0;break}G=+g[b+(A+(t-D+ -1)<<2)>>2];H=p+(D<<3)|0;h[H>>3]=+h[H>>3]- +g[C>>2]*G;F=+g[b+(A+(y+D)<<2)>>2];H=r+(D<<3)|0;h[H>>3]=+h[H>>3]-B*F;E=+h[l+(D<<3)>>3];D=D+1|0;x=x+G*E;w=w+F*E}while(1){if((C|0)>(t|0))break;H=m+(C<<3)|0;h[H>>3]=+h[H>>3]-x*+g[b+(A+(t-C)<<2)>>2];H=q+(C<<3)|0;h[H>>3]=+h[H>>3]-w*+g[b+(A+(y+C+ -1)<<2)>>2];C=C+1|0}z=z+1|0}v=0;x=+h[p+(t<<3)>>3];w=+h[r+(t<<3)>>3];while(1){if((v|0)>=(t|0))break;G=+h[l+(v<<3)>>3];H=t-v+ -1|0;v=v+1|0;x=x+ +h[r+(H<<3)>>3]*G;w=w+ +h[p+(H<<3)>>3]*G}v=t+1|0;h[m+(v<<3)>>3]=x;h[q+(v<<3)>>3]=w;x=+h[q>>3];B=+h[m>>3];y=0;while(1){if((y|0)>=(t|0))break;G=+h[l+(y<<3)>>3];H=y+1|0;x=x+ +h[q+(H<<3)>>3]*G;B=B+ +h[m+(H<<3)>>3]*G;w=w+ +h[q+(t-y<<3)>>3]*G;y=H}x=w*-2.0/(B+x);B=u*(1.0-x*x);if(B<=d){x=+P(+(1.0-d/u));if(w>0.0){u=d;w=-x;y=1}else{u=d;w=x;y=1}}else{u=B;w=x;y=0}z=v>>1;A=0;while(1){if((A|0)>=(z|0))break;D=l+(A<<3)|0;G=+h[D>>3];H=l+(t-A+ -1<<3)|0;F=+h[H>>3];h[D>>3]=G+w*F;h[H>>3]=F+w*G;A=A+1|0}h[l+(t<<3)>>3]=w;if(!y)y=0;else{o=30;break}while(1){if((y|0)>(v|0)){t=v;continue a}D=m+(y<<3)|0;G=+h[D>>3];H=q+(t-y+1<<3)|0;F=+h[H>>3];h[D>>3]=G+w*F;h[H>>3]=F+w*G;y=y+1|0}}if((o|0)==30){while(1){t=t+1|0;if((t|0)>=(j|0))break;h[l+(t<<3)>>3]=0.0;o=30}if(y){m=0;while(1){if((m|0)>=(j|0)){a=0;break}g[a+(m<<2)>>2]=-+h[l+(m<<3)>>3];m=m+1|0}while(1){if((a|0)>=(f|0))break;n=n- +og(b+(($(a,e)|0)<<2)|0,j);a=a+1|0}G=n*u;i=k;return+G}}d=+h[m>>3];b=0;n=1.0;while(1){if((b|0)>=(j|0))break;G=+h[l+(b<<3)>>3];H=b+1|0;F=d+ +h[m+(H<<3)>>3]*G;g[a+(b<<2)>>2]=-G;d=F;b=H;n=n+G*G}G=d-s*n;i=k;return+G}function dg(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0,f=0,h=0;d=i;b=b+ -1|0;e=c;f=0;while(1){if((f|0)>=(b|0))break;h=a+(f<<2)|0;g[h>>2]=+g[h>>2]*e;e=e*c;f=f+1|0}h=a+(b<<2)|0;g[h>>2]=+g[h>>2]*e;i=d;return}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=i;a=a+16|0;f=0;while(1){if((f|0)>=5)break;g[d+(f<<2)>>2]=+ug(a,b,c);a=a+ -4|0;f=f+1|0}i=e;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0;e=i;d=a+16|0;l=+og(d,b);g[c>>2]=l;f=1;while(1){if((f|0)>=5)break;n=+g[a+(4-f<<2)>>2];m=+g[a+(b-f+4<<2)>>2];m=l+(n*n-m*m);g[c+(f*6<<2)>>2]=m;l=m;f=f+1|0}f=a+12|0;h=1;while(1){if((h|0)>=5)break;l=+ug(d,f,b);n=l;g[c+(h*5<<2)>>2]=n;g[c+(h<<2)>>2]=n;j=5-h|0;k=1;while(1){if((k|0)>=(j|0))break;o=b-k|0;n=l+(+g[a+(4-k<<2)>>2]*+g[f+(0-k<<2)>>2]- +g[a+(o+4<<2)>>2]*+g[f+(o<<2)>>2]);m=n;o=h+k|0;g[c+((o*5|0)+k<<2)>>2]=m;g[c+((k*5|0)+o<<2)>>2]=m;l=n;k=k+1|0}f=f+ -4|0;h=h+1|0}i=e;return}function gg(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;Ye(b,b+5130|0);if((c[b+4556>>2]|0)>=13){c[b+6116>>2]=0;c[b+6112>>2]=0;a[b+4797>>0]=1;a[b+(c[b+5780>>2]|0)+4752>>0]=1;i=d;return}a[b+4797>>0]=0;e=b+6116|0;f=c[e>>2]|0;g=f+1|0;c[e>>2]=g;if((g|0)>=10){if((f|0)>29){c[e>>2]=10;c[b+6112>>2]=0}}else c[b+6112>>2]=0;a[b+(c[b+5780>>2]|0)+4752>>0]=0;i=d;return}function hg(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;w=i;i=i+15040|0;u=w+12840|0;n=w+11560|0;C=w+8872|0;m=w+8824|0;r=w+24|0;s=w;y=w+4444|0;l=w+64|0;v=w+48|0;t=w+13752|0;z=d+4644|0;p=c[z>>2]|0;c[z>>2]=p+1;z=d+4802|0;a[z>>0]=p&3;p=d+4616|0;E=c[p>>2]|0;B=d+(E<<2)+9356|0;D=C+(E<<2)|0;A=d+5130|0;o=d+4608|0;Xd(d+16|0,A,c[o>>2]|0);q=d+4600|0;ig(d+(E+((c[q>>2]|0)*5|0)<<2)+9356|0,A,c[o>>2]|0);A=0;while(1){if((A|0)>=8)break;la=d+(E+(((c[q>>2]|0)*5|0)+($(A,c[o>>2]>>3)|0))<<2)+9356|0;g[la>>2]=+g[la>>2]+ +(1-(A&2)|0)*9.999999974752427e-7;A=A+1|0}A=d+4712|0;a:do if(!(c[A>>2]|0)){sg(d,u,C,B,c[d+5124>>2]|0);xg(d,u,D,B);tg(d,u,C,B,h);Ng(d,u,h);Kg(d,u,n,B);jg(d,u,n,h);J=d+4768|0;D=d+4604|0;ha=jh(J,c[D>>2]|0)|0;ia=m+0|0;la=f+0|0;ja=ia+48|0;do{c[ia>>2]=c[la>>2];ia=ia+4|0;la=la+4|0}while((ia|0)<(ja|0));N=d+144|0;yj(y|0,N|0,4380)|0;V=a[z>>0]|0;L=d+5804|0;U=b[L>>1]|0;H=d+5800|0;K=c[H>>2]|0;F=u+852|0;B=u+908|0;I=d+7200|0;E=(h|0)==2&1;C=j+ -5|0;G=f+24|0;T=f+28|0;M=d+4768|0;O=d+4804|0;P=d+5780|0;Q=d+4797|0;R=d+4798|0;S=f+20|0;k=(k|0)==0;X=0;Y=0;Z=0;ga=256;_=0;aa=0;ba=-1;da=-1;ea=0;fa=0;ca=0;W=0;while(1){ka=(ha|0)==(ba|0);if(!ka)if((ha|0)!=(da|0)){if((W|0)>0){ia=f+0|0;la=m+0|0;ja=ia+48|0;do{c[ia>>2]=c[la>>2];ia=ia+4|0;la=la+4|0}while((ia|0)<(ja|0));yj(N|0,y|0,4380)|0;a[z>>0]=V;b[L>>1]=U;c[H>>2]=K}dh(d,u,M,N,O,n);Qf(d,f,c[P>>2]|0,0,h);Rf(f,a[Q>>0]|0,a[R>>0]|0,O,c[o>>2]|0);ja=kg(c[S>>2]|0,c[T>>2]|0)|0;if(k&(W|0)==0){if((ja|0)<=(j|0))break a}else x=12}else{ja=fa;x=12}else{ja=ea;x=12}if((x|0)==12){x=0;if((W|0)==6)break}ia=(ja|0)>(j|0);do if(ia)if((Y|0)==0&(W|0)>1){g[F>>2]=+g[F>>2]*1.5;Z=0;da=-1;break}else{Z=1;aa=ga<<16>>16;da=ha;fa=ja;break}else{if((ja|0)>=(C|0))break a;_=ga<<16>>16;if(ka){Y=1;ba=ha;ea=ja}else{c[r+0>>2]=c[f+0>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];c[r+16>>2]=c[f+16>>2];c[r+20>>2]=c[f+20>>2];ca=c[G>>2]|0;c[s+0>>2]=c[T+0>>2];c[s+4>>2]=c[T+4>>2];c[s+8>>2]=c[T+8>>2];c[s+12>>2]=c[T+12>>2];c[s+16>>2]=c[T+16>>2];yj(t|0,c[f>>2]|0,ca|0)|0;yj(l|0,N|0,4380)|0;X=a[I>>0]|0;Y=1;ba=ha;ea=ja}}while(0);do if(Y&Z){ha=aa-_|0;ia=_+(($(ha,j-ea|0)|0)/(fa-ea|0)|0)|0;ga=ha>>2;if((ia<<16>>16|0)>(_+ga|0)){ia=_+(ha>>>2)|0;break}if((ia<<16>>16|0)<(aa-ga|0))ia=aa-(ha>>>2)|0}else{ha=lg(sh(((ja-j<<7|0)/(c[o>>2]|0)|0)+2048|0)|0)|0;if(ia)ha=mg(ha)|0;ia=ga<<16>>16;ia=($(ha>>16,ia)|0)+(($(ha&65535,ia)|0)>>>16)|0}while(0);ga=ia&65535;ha=c[D>>2]|0;ja=ia<<16>>16;ia=0;while(1){if((ia|0)>=(ha|0))break;ka=c[u+(ia<<2)+892>>2]|0;ka=($(ka>>16,ja)|0)+(($(ka&65535,ja)|0)>>16)|0;if((ka|0)>8388607)ka=2147483392;else ka=(ka|0)<-8388608?-2147483648:ka<<8;c[v+(ia<<2)>>2]=ka;ia=ia+1|0}a[I>>0]=a[B>>0]|0;fh(J,v,I,E,ha);ia=c[D>>2]|0;ha=jh(J,ia)|0;ja=0;while(1){if((ja|0)>=(ia|0))break;g[u+(ja<<2)>>2]=+(c[v+(ja<<2)>>2]|0)*152587890625.0e-16;ja=ja+1|0}W=W+1|0}if((Y|0)!=0?ka|(ja|0)>(j|0):0){c[f+0>>2]=c[r+0>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];c[f+16>>2]=c[r+16>>2];c[f+20>>2]=c[r+20>>2];c[G>>2]=ca;c[T+0>>2]=c[s+0>>2];c[T+4>>2]=c[s+4>>2];c[T+8>>2]=c[s+8>>2];c[T+12>>2]=c[s+12>>2];c[T+16>>2]=c[s+16>>2];yj(c[f>>2]|0,t|0,ca|0)|0;yj(N|0,l|0,4380)|0;a[I>>0]=X}}while(0);zj(d+9356|0,d+(c[o>>2]<<2)+9356|0,(c[p>>2]|0)+((c[q>>2]|0)*5|0)<<2|0)|0;if(c[A>>2]|0){la=0;c[e>>2]=la;i=w;return 0}c[d+4568>>2]=c[u+((c[d+4604>>2]|0)+ -1<<2)+228>>2];a[d+4565>>0]=a[d+4797>>0]|0;c[d+4696>>2]=0;la=(kg(c[f+20>>2]|0,c[f+28>>2]|0)|0)+7>>3;c[e>>2]=la;i=w;return 0}function ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;while(1){f=d+ -1|0;if((d|0)<=0)break;g[a+(f<<2)>>2]=+(b[c+(f<<1)>>1]|0);d=f}i=e;return}function jg(e,f,h,j){e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+4416|0;n=p+4400|0;k=p+4384|0;o=p;l=e+5780|0;q=c[l>>2]|0;m=e+(q*36|0)+6132|0;if(!(c[e+6124>>2]|0)){i=p;return}if((c[e+4556>>2]|0)<=77){i=p;return}c[e+(q<<2)+4756>>2]=1;yj(o|0,e+144|0,4380)|0;s=m+0|0;r=e+4768|0;q=s+36|0;do{b[s>>1]=b[r>>1]|0;s=s+2|0;r=r+2|0}while((s|0)<(q|0));q=e+4604|0;s=c[q>>2]|0;yj(k|0,f|0,s<<2|0)|0;r=c[l>>2]|0;if((r|0)!=0?(c[e+(r+ -1<<2)+4756>>2]|0)!=0:0)r=e+4564|0;else{r=e+4564|0;a[r>>0]=a[e+7200>>0]|0;a[m>>0]=ng((d[m>>0]|0)+(c[e+6128>>2]|0)<<24>>24)|0;s=c[q>>2]|0}hh(n,m,r,(j|0)==2&1,s);j=0;while(1){if((j|0)>=(c[q>>2]|0))break;g[f+(j<<2)>>2]=+(c[n+(j<<2)>>2]|0)*152587890625.0e-16;j=j+1|0}dh(e,f,m,o,e+((c[l>>2]|0)*320|0)+6240|0,h);yj(f|0,k|0,c[q>>2]<<2|0)|0;i=p;return}function kg(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function lg(a){a=a|0;return((a|0)<131072?a:131072)|0}function mg(a){a=a|0;return((a|0)>85197?a:85197)|0}function ng(a){a=a|0;return((a|0)<63?a:63)|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0;c=i;f=b&65532;d=0.0;e=0;while(1){if((e|0)>=(f|0))break;l=+g[a+(e<<2)>>2];k=+g[a+((e|1)<<2)>>2];j=+g[a+((e|2)<<2)>>2];h=+g[a+((e|3)<<2)>>2];d=d+(l*l+k*k+j*j+h*h);e=e+4|0}while(1){if((e|0)>=(b|0))break;l=+g[a+(e<<2)>>2];e=e+1|0;d=d+l*l}i=c;return+d}function pg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0;p=i;i=i+1696|0;g=p+1600|0;k=p+1664|0;l=p+1536|0;m=p;h=b+4664|0;o=c[h>>2]|0;n=(c[b+4612>>2]|0)+o|0;j=b+4799|0;a[j>>0]=4;q=b+4604|0;r=+cg(g,e,f,n,c[q>>2]|0,o);a:do if(((c[b+4656>>2]|0)!=0?(c[b+4696>>2]|0)==0:0)?(c[q>>2]|0)==4:0){o=n<<1;r=r- +cg(l,e+(o<<2)|0,f,n,2,c[h>>2]|0);$g(d,l,c[h>>2]|0);b=b+4524|0;s=3.4028234663852886e+38;q=3;while(1){if((q|0)<=-1)break a;nh(k,b,d,q,c[h>>2]|0);bh(l,k,c[h>>2]|0);Tf(m,l,e,o,c[h>>2]|0);u=c[h>>2]|0;t=n-u|0;f=+og(m+(u<<2)|0,t);f=f+ +og(m+(u+n<<2)|0,t);if(!(f s)break a}else{a[j>>0]=q;r=f}s=f;q=q+ -1|0}}while(0);if((a[j>>0]|0)!=4){i=p;return}$g(d,g,c[h>>2]|0);i=p;return}function qg(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0;m=i;i=i+112|0;o=m+96|0;p=m+72|0;n=m+56|0;r=m+40|0;s=m+16|0;q=m;t=+(j|0)*.009999999776482582;u=a;e=e+(l<<2)|0;l=0;while(1){if((l|0)>=(k|0))break;x=e+(-2-(c[f+(l<<2)>>2]|0)<<2)|0;fg(x,j,b);eg(x,e,j,s);v=+og(e,j);x=q+(l<<2)|0;g[x>>2]=v;Pg(b,x,(v+1.0+ +g[b>>2]+ +g[b+96>>2])*.01666666753590107);Vg(b,s,u);v=+Qg(u,b,s,+g[x>>2]);g[r+(l<<2)>>2]=v;w=+g[h+(l<<2)>>2];Tg(b,w/(v*w+t));g[n+(l<<2)>>2]=+g[b+48>>2];b=b+100|0;u=u+20|0;e=e+(j<<2)|0;l=l+1|0}if(!d){h=a;q=0}else{t=9.999999974752427e-7;v=0.0;s=0;while(1){if((s|0)>=(k|0))break;w=+g[h+(s<<2)>>2];t=t+ +g[r+(s<<2)>>2]*w;v=v+ +g[q+(s<<2)>>2]*w;s=s+1|0}g[d>>2]=+rg(v/t)*3.0;h=a;q=0}while(1){if((q|0)>=(k|0)){q=0;t=.0010000000474974513;break}d=o+(q<<2)|0;g[d>>2]=0.0;t=0.0;r=0;while(1){if((r|0)>=5)break;w=t+ +g[h+(r<<2)>>2];g[d>>2]=w;t=w;r=r+1|0}h=h+20|0;q=q+1|0}while(1){if((q|0)>=(k|0)){v=0.0;q=0;break}w=t+ +g[n+(q<<2)>>2];q=q+1|0;t=w}while(1){if((q|0)>=(k|0))break;v=v+ +g[o+(q<<2)>>2]*+g[n+(q<<2)>>2];q=q+1|0}t=v/t;q=0;while(1){if((q|0)>=(k|0))break;v=.10000000149011612/(+g[n+(q<<2)>>2]+.10000000149011612)*(t- +g[o+(q<<2)>>2]);h=0;w=0.0;while(1){if((h|0)>=5)break;y=+g[a+(h<<2)>>2];y=y>.10000000149011612?y:.10000000149011612;g[p+(h<<2)>>2]=y;h=h+1|0;w=w+y}v=v/w;h=0;while(1){if((h|0)>=5)break;x=a+(h<<2)|0;g[x>>2]=+g[x>>2]+ +g[p+(h<<2)>>2]*v;h=h+1|0}a=a+20|0;q=q+1|0}i=m;return}function rg(a){a=+a;var b=0;b=i;a=+la(+a)*3.32192809488736;i=b;return+a}function sg(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0;k=i;i=i+1744|0;r=k+1664|0;o=k+1600|0;p=k+1536|0;t=k;l=d+4620|0;u=c[l>>2]|0;n=u+(c[d+4608>>2]|0)|0;m=c[d+4616>>2]|0;s=d+4572|0;v=n-(c[s>>2]|0)|0;ag(t,h+(v<<2)|0,1,u);l=c[l>>2]|0;v=v+l|0;u=(c[s>>2]|0)-(l<<1)|0;yj(t+(l<<2)|0,h+(v<<2)|0,u<<2|0)|0;ag(t+(l+u<<2)|0,h+(v+u<<2)|0,2,l);l=d+4672|0;bg(r,t,c[s>>2]|0,(c[l>>2]|0)+1|0);q=+g[r>>2];g[r>>2]=q+(q*.0010000000474974513+1.0);q=+Ug(p,r,c[l>>2]|0);g[e+868>>2]=+g[r>>2]/(q>1.0?q:1.0);vg(o,p,c[l>>2]|0);dg(o,c[l>>2]|0,.9900000095367432);Tf(f,o,h+(0-m<<2)|0,n+m|0,c[l>>2]|0);h=d+4797|0;if((a[h>>0]|0)!=0?(c[d+4696>>2]|0)==0:0)if(!(Cg(f,e+228|0,d+4794|0,d+4796|0,d+12236|0,c[d+4568>>2]|0,+(c[d+4676>>2]|0)*152587890625.0e-16,.6000000238418579- +(c[l>>2]|0)*.004000000189989805- +(c[d+4556>>2]|0)*.10000000149011612*.00390625- +(a[d+4565>>0]>>1|0)*.15000000596046448- +(c[d+4744>>2]|0)*.10000000149011612*30517578125.0e-15,c[d+4600>>2]|0,c[d+4668>>2]|0,c[d+4604>>2]|0,j)|0)){a[h>>0]=2;i=k;return}else{a[h>>0]=1;i=k;return}v=e+228|0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;b[d+4794>>1]=0;a[d+4796>>0]=0;g[d+12236>>2]=0.0;i=k;return}function tg(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0;k=i;i=i+2e3|0;r=k+1568|0;o=k+1552|0;q=k+1536|0;l=k+1968|0;m=k;n=d+4604|0;p=c[n>>2]|0;s=0;while(1){if((s|0)>=(p|0))break;t=1.0/+g[e+(s<<2)>>2];g[o+(s<<2)>>2]=t;g[q+(s<<2)>>2]=t*t;s=s+1|0}if((a[d+4797>>0]|0)==2){w=e+144|0;v=e+228|0;u=d+4612|0;qg(w,r,e+872|0,f,v,q,c[u>>2]|0,p,c[d+4616>>2]|0);eh(w,d+4772|0,d+4800|0,d+4688|0,r,c[d+4684>>2]|0,c[d+4680>>2]|0,c[n>>2]|0,c[d+5124>>2]|0);$f(d,e,j);s=c[d+4664>>2]|0;_f(m,h+(0-s<<2)|0,w,v,o,c[u>>2]|0,c[n>>2]|0,s)}else{f=d+4664|0;w=c[f>>2]|0;q=d+4612|0;s=w;r=0;j=m;h=h+(0-w<<2)|0;while(1){if((r|0)>=(p|0))break;Sg(j,h,+g[o+(r<<2)>>2],(c[q>>2]|0)+s|0);w=c[q>>2]|0;v=c[f>>2]|0;p=c[n>>2]|0;s=v;r=r+1|0;j=j+(w+v<<2)|0;h=h+(w<<2)|0}wj(e+144|0,0,p*20|0)|0;g[e+872>>2]=0.0;c[d+4688>>2]=0}if(c[d+4696>>2]|0){t=.009999999776482582;pg(d,l,m,t);u=e+16|0;s=d+4524|0;ch(d,u,l,s);s=e+876|0;v=d+4612|0;v=c[v>>2]|0;w=c[n>>2]|0;n=d+4664|0;n=c[n>>2]|0;Rg(s,m,u,e,v,w,n);m=d+4524|0;m=m+0|0;n=l+0|0;l=m+32|0;do{b[m>>1]=b[n>>1]|0;m=m+2|0;n=n+2|0}while((m|0)<(l|0));i=k;return}t=+pa(+(+g[e+872>>2]/3.0))/1.0e4;t=t/(+g[e+860>>2]*.75+.25);pg(d,l,m,t);u=e+16|0;s=d+4524|0;ch(d,u,l,s);s=e+876|0;v=d+4612|0;v=c[v>>2]|0;w=c[n>>2]|0;n=d+4664|0;n=c[n>>2]|0;Rg(s,m,u,e,v,w,n);m=d+4524|0;m=m+0|0;n=l+0|0;l=m+32|0;do{b[m>>1]=b[n>>1]|0;m=m+2|0;n=n+2|0}while((m|0)<(l|0));i=k;return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0,j=0,k=0,l=0,m=0.0;d=i;h=c&65532;e=0.0;f=0;while(1){if((f|0)>=(h|0))break;l=f|1;k=f|2;j=f|3;e=e+(+g[a+(f<<2)>>2]*+g[b+(f<<2)>>2]+ +g[a+(l<<2)>>2]*+g[b+(l<<2)>>2]+ +g[a+(k<<2)>>2]*+g[b+(k<<2)>>2]+ +g[a+(j<<2)>>2]*+g[b+(j<<2)>>2]);f=f+4|0}while(1){if((f|0)>=(c|0))break;m=e+ +g[a+(f<<2)>>2]*+g[b+(f<<2)>>2];f=f+1|0;e=m}i=d;return+e}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0,k=0;e=i;i=i+64|0;d=e;f=0;while(1){if((f|0)<(c|0))h=0;else break;while(1){if((h|0)>=(f|0))break;g[d+(h<<2)>>2]=+g[a+(h<<2)>>2];h=h+1|0}h=b+(f<<2)|0;j=0;while(1){if((j|0)>=(f|0))break;k=a+(j<<2)|0;g[k>>2]=+g[k>>2]+ +g[d+(f-j+ -1<<2)>>2]*+g[h>>2];j=j+1|0}g[a+(f<<2)>>2]=-+g[h>>2];f=f+1|0}i=e;return}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0;e=i;l=+g[b>>2];d=l*9.999999960041972e-13+9.999999717180685e-10;l=d>l?d:l;n=b+4|0;k=+g[n>>2]/l;g[a>>2]=k;k=l-k*+g[n>>2];if(d>k){k=d;h=1}else h=1;while(1){if((h|0)>=(c|0))break;f=h+1|0;m=0;l=+g[b+(f<<2)>>2];while(1){if((m|0)>=(h|0))break;j=l- +g[a+(m<<2)>>2]*+g[b+(h-m<<2)>>2];m=m+1|0;l=j}j=l/k;k=k-j*l;k=d>k?d:k;m=h>>1;n=0;while(1){if((n|0)>=(m|0))break;o=a+(n<<2)|0;p=a+(h-n+ -1<<2)|0;l=+g[p>>2];g[p>>2]=l-j*+g[o>>2];g[o>>2]=+g[o>>2]-j*l;n=n+1|0}if(h&1){p=a+(m<<2)|0;l=+g[p>>2];g[p>>2]=l-j*l}g[a+(h<<2)>>2]=j;h=f}i=e;return+k} function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;h=i;i=i+1040|0;n=h+72|0;m=h;o=f+(0-(c[b+4624>>2]|0)<<2)|0;p=b+4748|0;s=+(c[p>>2]|0)*.0078125;l=b+4728|0;q=+((c[l>>2]|0)+(c[b+4732>>2]|0)|0)*.5*30517578125.0e-15;j=d+856|0;g[j>>2]=q;r=+yg((s+-20.0)*.25);k=d+860|0;g[k>>2]=r;if(!(c[b+4708>>2]|0)){C=1.0- +(c[b+4556>>2]|0)*.00390625;r=s-r*2.0*(q*.5+.5)*C*C}else r=s;f=b+4797|0;if((a[f>>0]|0)==2){q=r+ +g[b+12236>>2]*2.0;a[b+4798>>0]=0;g[d+864>>2]=0.0}else{q=r+(+(c[p>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-q);t=c[b+4600>>2]<<1;p=b+4604|0;r=+(t|0);s=0.0;C=0.0;u=0;while(1){if((u|0)>=(((c[p>>2]<<16>>16)*5|0)/2|0|0))break;y=+zg(r+ +og(e,t));if((u|0)>0)s=s+ +O(+(y-C));C=y;e=e+(t<<2)|0;u=u+1|0}C=+yg((s+-5.0)*.4000000059604645);e=d+864|0;g[e>>2]=C;p=b+4798|0;if(C>.75)a[p>>0]=0;else a[p>>0]=1;q=q+(+g[e>>2]+-.5)*2.0}C=+g[d+868>>2]*.0010000000474974513;C=.949999988079071/(C*C+1.0);y=+g[k>>2];r=(1.0-y*.75)*.009999999776482582;s=C+r;r=(C-r)/s;t=b+4704|0;e=c[t>>2]|0;if((e|0)>0)y=+(e|0)*152587890625.0e-16+y*.009999999776482582;else y=0.0;e=b+4604|0;p=b+4600|0;x=b+4628|0;w=b+4612|0;u=b+4660|0;v=0;while(1){z=c[e>>2]|0;if((v|0)>=(z|0))break;B=c[p>>2]|0;z=B*3|0;A=((c[x>>2]|0)-z|0)/2|0;ag(n,o,1,A);yj(n+(A<<2)|0,o+(A<<2)|0,B*12|0)|0;z=A+z|0;ag(n+(z<<2)|0,o+(z<<2)|0,2,A);o=o+(c[w>>2]<<2)|0;A=c[x>>2]|0;z=c[u>>2]|0;if((c[t>>2]|0)>0)_g(m,n,y,A,z);else bg(m,n,A,z+1|0);C=+g[m>>2];g[m>>2]=C+C*4999999873689376.0e-20;A=v<<4;B=d+(A<<2)+500|0;C=+P(+(+wg(B,m,c[u>>2]|0)));z=d+(v<<2)|0;g[z>>2]=C;if((c[t>>2]|0)>0)g[z>>2]=C*+Ag(B,y,c[u>>2]|0);dg(B,c[u>>2]|0,s);A=d+(A<<2)+244|0;yj(A|0,B|0,c[u>>2]<<2|0)|0;dg(A,c[u>>2]|0,r);C=+Zf(B,c[u>>2]|0);g[d+(v<<2)+788>>2]=1.0-(1.0-C/+Zf(A,c[u>>2]|0))*.699999988079071;Bg(B,A,y,c[u>>2]|0);v=v+1|0}q=+pa(+(q*-.1599999964237213));m=0;while(1){if((m|0)>=(z|0))break;z=d+(m<<2)|0;g[z>>2]=+g[z>>2]*q+1.2483305931091309;z=c[e>>2]|0;m=m+1|0}q=+g[k>>2]*.10000000149011612+1.0499999523162842;m=0;while(1){if((m|0)>=(z|0))break;z=d+(m<<2)+788|0;g[z>>2]=+g[z>>2]*q;z=c[e>>2]|0;m=m+1|0}m=b+4556|0;q=((+(c[l>>2]|0)*30517578125.0e-15+-1.0)*.5+1.0)*4.0*+(c[m>>2]|0)*.00390625;a:do if((a[f>>0]|0)==2){l=0;while(1){if((l|0)>=(z|0))break;C=.20000000298023224/+(c[p>>2]|0)+3.0/+(c[d+(l<<2)+228>>2]|0);g[d+(l<<2)+756>>2]=C+-1.0;g[d+(l<<2)+772>>2]=1.0-C-C*q;z=c[e>>2]|0;l=l+1|0}q=-.25- +(c[m>>2]|0)*.26249998807907104*.00390625}else{C=1.2999999523162842/+(c[p>>2]|0);l=d+756|0;g[l>>2]=C+-1.0;m=d+772|0;g[m>>2]=1.0-C-C*q*.6000000238418579;n=1;while(1){z=c[e>>2]|0;if((n|0)>=(z|0)){q=-.25;break a}g[d+(n<<2)+756>>2]=+g[l>>2];g[d+(n<<2)+772>>2]=+g[m>>2];n=n+1|0}}while(0);s=1.0- +g[k>>2];y=+g[b+12236>>2];C=+g[j>>2];r=s*.10000000149011612*y+(1.0-C)*.10000000149011612;if((a[f>>0]|0)==2)s=((1.0-s*C)*.20000000298023224+.30000001192092896)*+P(+y);else s=0.0;j=b+7204|0;f=b+7208|0;b=b+7212|0;k=0;while(1){if((k|0)>=(z|0))break;C=+g[j>>2];C=C+(r-C)*.4000000059604645;g[j>>2]=C;g[d+(k<<2)+804>>2]=C;C=+g[f>>2];C=C+(s-C)*.4000000059604645;g[f>>2]=C;g[d+(k<<2)+836>>2]=C;C=+g[b>>2];C=C+(q-C)*.4000000059604645;g[b>>2]=C;g[d+(k<<2)+820>>2]=C;z=c[e>>2]|0;k=k+1|0}i=h;return}function yg(a){a=+a;a=1.0/(+Y(+-a)+1.0);return+a}function zg(a){a=+a;var b=0;b=i;a=+la(+a)*3.32192809488736;i=b;return+a}function Ag(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0.0;d=i;b=-b;e=+g[a+(c+ -1<<2)>>2];c=c+ -2|0;while(1){e=e*b;if((c|0)<=-1)break;e=e+ +g[a+(c<<2)>>2];c=c+ -1|0}i=d;return+(1.0/(1.0-e))}function Bg(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0.0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;e=i;j=d;while(1){h=j+ -1|0;if((h|0)<=0)break;o=j+ -2|0;n=a+(o<<2)|0;g[n>>2]=+g[n>>2]- +g[a+(h<<2)>>2]*c;o=b+(o<<2)|0;g[o>>2]=+g[o>>2]- +g[b+(h<<2)>>2]*c;j=h}f=1.0-c*c;m=f/(+g[a>>2]*c+1.0);k=f/(+g[b>>2]*c+1.0);h=0;while(1){if((h|0)>=(d|0)){j=0;h=0;break}o=a+(h<<2)|0;g[o>>2]=+g[o>>2]*m;o=b+(h<<2)|0;g[o>>2]=+g[o>>2]*k;h=h+1|0}while(1){if((h|0)<10){l=-1.0;n=0}else{a=23;break}while(1){if((n|0)>=(d|0))break;q=+O(+(+g[a+(n<<2)>>2]));p=+O(+(+g[b+(n<<2)>>2]));p=q>p?q:p;o=p>l;j=o?n:j;l=o?p:l;n=n+1|0}if(!(l<=3.999000072479248))n=1;else{a=23;break}while(1){if((n|0)>=(d|0))break;o=n+ -1|0;r=a+(o<<2)|0;g[r>>2]=+g[r>>2]+ +g[a+(n<<2)>>2]*c;o=b+(o<<2)|0;g[o>>2]=+g[o>>2]+ +g[b+(n<<2)>>2]*c;n=n+1|0}m=1.0/m;k=1.0/k;n=0;while(1){if((n|0)>=(d|0))break;r=a+(n<<2)|0;g[r>>2]=+g[r>>2]*m;r=b+(n<<2)|0;g[r>>2]=+g[r>>2]*k;n=n+1|0}q=.9900000095367432-(+(h|0)*.10000000149011612+.800000011920929)*(l+-3.999000072479248)/(l*+(j+1|0));dg(a,d,q);dg(b,d,q);n=d;while(1){o=n+ -1|0;if((o|0)<=0)break;r=n+ -2|0;s=a+(r<<2)|0;g[s>>2]=+g[s>>2]- +g[a+(o<<2)>>2]*c;r=b+(r<<2)|0;g[r>>2]=+g[r>>2]- +g[b+(o<<2)>>2]*c;n=o}m=f/(+g[a>>2]*c+1.0);k=f/(+g[b>>2]*c+1.0);n=0;while(1){if((n|0)>=(d|0))break;s=a+(n<<2)|0;g[s>>2]=+g[s>>2]*m;s=b+(n<<2)|0;g[s>>2]=+g[s>>2]*k;n=n+1|0}h=h+1|0}if((a|0)==23){i=e;return}}function Cg(d,f,h,j,k,l,m,n,o,p,q,r){d=d|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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.0,J=0.0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0;s=i;i=i+13680|0;F=s+8888|0;G=s+8248|0;P=s+13032|0;K=s+12712|0;H=s;B=s+5864|0;E=s+5604|0;A=s+5560|0;z=s+5464|0;C=s+12408|0;v=s+2744|0;w=s+24|0;S=s+11128|0;U=s+10168|0;V=$((q*5|0)+20|0,o)|0;L=(q*20|0)+80|0;O=(q*40|0)+160|0;y=o*5|0;t=o<<1;u=o*18|0;x=u+ -1|0;D=(o|0)==16;do if(!D)if((o|0)==12){Dg(U,d,V);c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;yh(H,P,U,V);Eg(F,P,O);S=H;break}else{Dg(P,d,O);S=H;break}else{Dg(S,d,V);U=H;c[U>>2]=0;c[U+4>>2]=0;xh(H,P,S,V);Eg(F,P,O);S=H}while(0);V=H;c[V>>2]=0;c[V+4>>2]=0;xh(S,K,P,O);Eg(G,K,L);while(1){H=L+ -1|0;if((H|0)<=0)break;V=G+(H<<2)|0;g[V>>2]=+g[V>>2]+ +g[G+(L+ -2<<2)>>2];L=H}wj(B|0,0,q*596|0)|0;K=q>>1;O=E+256|0;H=B+32|0;L=0;U=G+320|0;while(1){if((L|0)>=(K|0)){E=72;break}G=U+ -32|0;_c(U,U+ -288|0,E,40,65,r);T=+g[O>>2];I=+og(U,40);I=I+ +og(G,40)+16.0e4;g[H>>2]=+g[H>>2]+T*2.0/I;P=8;while(1){S=P+1|0;if((P|0)>=72)break;V=G+ -4|0;R=+g[V>>2];T=+g[G+156>>2];T=I+(R*R-T*T);W=B+(S<<2)|0;g[W>>2]=+g[W>>2]+ +g[E+(71-P<<2)>>2]*2.0/T;G=V;I=T;P=S}L=L+1|0;U=U+160|0}while(1){if((E|0)<8)break;W=B+(E<<2)|0;T=+g[W>>2];g[W>>2]=T-T*+(E|0)*.000244140625;E=E+ -1|0}E=(p<<1)+4|0;Zg(H,z,65,E);I=+g[H>>2];if(I<.20000000298023224){wj(f|0,0,q<<2|0)|0;g[k>>2]=0.0;b[h>>1]=0;a[j>>0]=0;W=1;i=s;return W|0}m=I*m;G=0;while(1){if((G|0)>=(E|0))break;if(!(+g[B+(G+8<<2)>>2]>m)){E=G;break}W=z+(G<<2)|0;c[W>>2]=(c[W>>2]<<1)+16;G=G+1|0}G=11;while(1){if((G|0)>=148){G=0;break}b[C+(G<<1)>>1]=0;G=G+1|0}while(1){if((G|0)>=(E|0)){E=146;break}b[C+(c[z+(G<<2)>>2]<<1)>>1]=1;G=G+1|0}while(1){if((E|0)<16){E=0;G=16;break}W=E+ -1|0;V=C+(E<<1)|0;b[V>>1]=(e[V>>1]|0)+((e[C+(W<<1)>>1]|0)+(e[C+(E+ -2<<1)>>1]|0));E=W}while(1){if((G|0)>=144){G=146;break}H=G+1|0;if((b[C+(H<<1)>>1]|0)<=0){G=H;continue}c[z+(E<<2)>>2]=G;E=E+1|0;G=H}while(1){if((G|0)<16){H=0;G=16;break}W=G+ -1|0;V=C+(G<<1)|0;b[V>>1]=(e[V>>1]|0)+((e[C+(W<<1)>>1]|0)+(e[C+(G+ -2<<1)>>1]|0)+(e[C+(G+ -3<<1)>>1]|0));G=W}while(1){if((G|0)>=147)break;if((b[C+(G<<1)>>1]|0)>0){b[C+(H<<1)>>1]=G+65534;H=H+1|0}G=G+1|0}wj(B|0,0,2384)|0;G=(o|0)==8;if(G){K=0;P=d+640|0}else{K=0;P=F+640|0}while(1){if((K|0)>=(q|0))break;m=+og(P,40)+1.0;F=0;while(1){if((F|0)>=(H|0))break;L=b[C+(F<<1)>>1]|0;O=P+(0-L<<2)|0;I=+ug(O,P,40);if(I>0.0)g[B+(K*596|0)+(L<<2)>>2]=I*2.0/(+og(O,40)+m);else g[B+(K*596|0)+(L<<2)>>2]=0.0;F=F+1|0}K=K+1|0;P=P+160|0}if((l|0)>0){if((o|0)==12)C=(l<<1|0)/3|0;else C=D?l>>1:l;l=C;m=+Fg(+(C|0))}else m=0.0;C=(q|0)==4;if(C){D=21304;F=11;H=G&(p|0)>0?11:3}else{D=21264;F=3;H=3}J=+(q|0);I=J*.20000000298023224;K=(l|0)>0;M=J*n;G=0;N=0.0;n=-1.0e3;l=-1;L=0;while(1){if((L|0)>=(E|0))break;O=c[z+(L<<2)>>2]|0;U=0;while(1){if((U|0)>=(H|0)){P=0;Q=-1.0e3;S=0;break}S=A+(U<<2)|0;g[S>>2]=0.0;Q=0.0;P=0;while(1){if((P|0)>=(q|0))break;T=Q+ +g[B+(P*596|0)+(O+(a[D+(($(P,F)|0)+U)>>0]|0)<<2)>>2];g[S>>2]=T;Q=T;P=P+1|0}U=U+1|0}while(1){if((S|0)>=(H|0))break;T=+g[A+(S<<2)>>2];W=T>Q;P=W?S:P;Q=W?T:Q;S=S+1|0}T=+Fg(+(O|0));R=Q-I*T;if(K){T=T-m;T=T*T;R=R-I*+g[k>>2]*T/(T+.5)}W=R>n&Q>M;G=W?P:G;N=W?Q:N;n=W?R:n;l=W?O:l;L=L+1|0}if((l|0)==-1){c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[k>>2]=0.0;b[h>>1]=0;a[j>>0]=0;W=1;i=s;return W|0}g[k>>2]=N/J;if((o|0)>8){if((o|0)==12){z=(l<<16>>16)*3|0;z=(z>>1)+(z&1)|0}else z=l<<1;if((t|0)>(x|0))if((z|0)>(t|0))B=t;else B=(z|0)<(x|0)?x:z;else if((z|0)>(x|0))B=x;else B=(z|0)<(t|0)?t:z;k=Gg(B+ -2|0,t)|0;A=Hg(B+2|0,x)|0;Ig(w,d,k,y,q,p,r);Jg(v,d,k,y,q,p);n=.05000000074505806/+(B|0);if(C){r=21352;z=34;p=a[21512+p>>0]|0}else{r=21272;z=12;p=12}m=+og(d+(o*20<<2)|0,$(y,q)|0)+1.0;G=0;I=-1.0e3;o=0;d=B;y=k;while(1){if((y|0)>(A|0))break;else k=0;while(1){if((k|0)<(p|0)){M=0.0;J=m;B=0}else break;while(1){if((B|0)>=(q|0))break;M=M+ +g[w+(B*680|0)+(k*20|0)+(o<<2)>>2];J=J+ +g[v+(B*680|0)+(k*20|0)+(o<<2)>>2];B=B+1|0}if(M>0.0)J=M*2.0/J*(1.0-n*+(k|0));else J=0.0;if(J>I){W=(y+(a[21352+k>>0]|0)|0)>(x|0);G=W?G:k;I=W?I:J;d=W?d:y}k=k+1|0}o=o+1|0;y=y+1|0}x=(t|0)>(u|0);w=0;while(1){if((w|0)>=(q|0))break;o=d+(a[r+(($(w,z)|0)+G)>>0]|0)|0;v=f+(w<<2)|0;c[v>>2]=o;if(x)if((o|0)>(t|0))o=t;else o=(o|0)<(u|0)?u:o;else if((o|0)>(u|0))o=u;else o=(o|0)<(t|0)?t:o;c[v>>2]=o;w=w+1|0}f=d-t|0}else{t=0;while(1){if((t|0)>=(q|0))break;v=l+(a[D+(($(t,F)|0)+G)>>0]|0)|0;u=f+(t<<2)|0;c[u>>2]=v;if((v|0)>144)v=144;else v=(v|0)<16?16:v;c[u>>2]=v;t=t+1|0}f=l+65520|0}b[h>>1]=f;a[j>>0]=G;W=0;i=s;return W|0}function Dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;while(1){f=d+ -1|0;if((d|0)<=0)break;d=c+(f<<2)|0;if((sa(+(+g[d>>2]))|0)<=32767)if((sa(+(+g[d>>2]))|0)<-32768)d=-32768;else d=(sa(+(+g[d>>2]))|0)&65535;else d=32767;b[a+(f<<1)>>1]=d;d=f}i=e;return}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;while(1){f=d+ -1|0;if((d|0)<=0)break;g[a+(f<<2)>>2]=+(b[c+(f<<1)>>1]|0);d=f}i=e;return}function Fg(a){a=+a;var b=0;b=i;a=+la(+a)*3.32192809488736;i=b;return+a}function Gg(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function Hg(a,b){a=a|0;b=b|0;return((a|0)<(b|0)?a:b)|0}function Ig(b,c,d,e,f,h,j){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+176|0;m=o+88|0;l=o;if((f|0)==4){n=21352;k=21488+(h<<3)|0;p=34;h=a[21512+h>>0]|0}else{n=21272;k=21296;p=12;h=12}q=0;c=c+(e<<2<<2)|0;while(1){if((q|0)>=(f|0))break;u=q<<1;r=a[k+u>>0]|0;u=a[k+(u|1)>>0]|0;_c(c,c+(0-(u+d)<<2)|0,l,e,u-r+1|0,j);s=0;t=r;while(1){if((t|0)>(u|0))break;g[m+(s<<2)>>2]=+g[l+(u-t<<2)>>2];s=s+1|0;t=t+1|0}v=$(q,p)|0;u=0;while(1){if((u|0)>=(h|0))break;s=(a[n+(v+u)>>0]|0)-r|0;t=0;while(1){if((t|0)>=5)break;g[b+(q*680|0)+(u*20|0)+(t<<2)>>2]=+g[m+(s+t<<2)>>2];t=t+1|0}u=u+1|0}q=q+1|0;c=c+(e<<2)|0}i=o;return}function Jg(b,c,d,e,f,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0;k=i;i=i+96|0;j=k;if((f|0)==4){l=21352;n=21488+(h<<3)|0;m=34;o=a[21512+h>>0]|0}else{l=21272;n=21296;m=12;o=12}h=0;c=c+(e<<2<<2)|0;while(1){if((h|0)>=(f|0))break;r=h<<1;p=a[n+r>>0]|0;s=p+d|0;t=+og(c+(0-s<<2)|0,e)+.001;g[j>>2]=t;r=(a[n+(r|1)>>0]|0)-p+1|0;u=1;q=1;while(1){if((q|0)>=(r|0))break;w=+g[c+(e-q-s<<2)>>2];v=+g[c+(0-(s+q)<<2)>>2];v=t-w*w+v*v;g[j+(u<<2)>>2]=v;t=v;u=u+1|0;q=q+1|0}s=$(h,m)|0;u=0;while(1){if((u|0)>=(o|0))break;r=(a[l+(s+u)>>0]|0)-p|0;q=0;while(1){if((q|0)>=5)break;g[b+(h*680|0)+(u*20|0)+(q<<2)>>2]=+g[j+(r+q<<2)>>2];q=q+1|0}u=u+1|0}h=h+1|0;c=c+(e<<2)|0}i=k;return}function Kg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0;v=i;i=i+400|0;p=v+384|0;m=v;u=b+7216|0;t=b+4604|0;s=b+4797|0;j=p+4|0;k=p+8|0;l=b+9264|0;n=b+4704|0;o=b+4612|0;h=b+4660|0;q=d+860|0;r=b+9344|0;B=c[b+9352>>2]|0;w=0;while(1){y=c[t>>2]|0;if((w|0)>=(y|0))break;if((a[s>>0]|0)==2)B=c[d+(w<<2)+228>>2]|0;A=d+(w<<2)+804|0;z=+g[d+(w<<2)+836>>2]*(1.0- +g[A>>2]);C=z*.25;g[p>>2]=C;g[j>>2]=z*.4999847412109375;g[k>>2]=C;C=+g[d+(w<<2)+820>>2];x=+g[d+(w<<2)+756>>2];E=+g[d+(w<<2)+772>>2];Lg(l,m,d+(w<<4<<2)+244|0,f,+(c[n>>2]|0)*152587890625.0e-16,c[o>>2]|0,c[h>>2]|0);D=+g[d+(w<<2)+788>>2];z=-(D*(+g[A>>2]*z+.05000000074505806+ +g[q>>2]*.10000000149011612));g[e>>2]=D*+g[m>>2]+ +g[r>>2]*z;A=1;while(1){y=c[o>>2]|0;if((A|0)>=(y|0))break;g[e+(A<<2)>>2]=D*+g[m+(A<<2)>>2]+ +g[m+(A+ -1<<2)>>2]*z;A=A+1|0}g[r>>2]=+g[m+(y+ -1<<2)>>2];Mg(u,e,e,p,C,x,E,B,y);A=c[o>>2]|0;f=f+(A<<2)|0;e=e+(A<<2)|0;w=w+1|0}c[b+9352>>2]=c[d+(y+ -1<<2)+228>>2];i=v;return}function Lg(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0;o=i;j=a+4|0;k=a+8|0;l=a+(h<<2)|0;m=c+(h+ -1<<2)|0;n=0;while(1){if((n|0)>=(f|0))break;v=+g[j>>2];p=+g[a>>2]+v*e;q=d+(n<<2)|0;g[a>>2]=+g[q>>2];u=+g[k>>2];g[j>>2]=p;t=u;r=+g[c>>2]*p;s=2;p=v+(u-p)*e;while(1){if((s|0)>=(h|0))break;z=a+((s|1)<<2)|0;w=+g[z>>2];v=t+(w-p)*e;g[a+(s<<2)>>2]=p;y=r+ +g[c+(s+ -1<<2)>>2]*p;x=s+2|0;u=+g[a+(x<<2)>>2];g[z>>2]=v;t=u;r=y+ +g[c+(s<<2)>>2]*v;s=x;p=w+(u-v)*e}g[l>>2]=p;g[b+(n<<2)>>2]=+g[q>>2]-(r+ +g[m>>2]*p);n=n+1|0}i=o;return}function Mg(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;j=+j;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0;s=i;r=a+2116|0;n=a+2120|0;p=a+2124|0;m=(k|0)>0;t=e+4|0;u=e+8|0;q=c[r>>2]|0;v=+g[n>>2];o=+g[p>>2];w=0;while(1){if((w|0)>=(l|0))break;if(m){y=q+k|0;x=+g[a+((y+510&511)<<2)>>2]*+g[e>>2]+ +g[a+((y+511&511)<<2)>>2]*+g[t>>2]+ +g[a+((y&511)<<2)>>2]*+g[u>>2]}else x=0.0;A=+g[b+(w<<2)>>2]-v*f;z=A-(v*j+o*h);y=q+511&511;g[a+(y<<2)>>2]=z;g[d+(w<<2)>>2]=z-x;q=y;v=A;o=z;w=w+1|0}g[n>>2]=v;g[p>>2]=o;c[r>>2]=q;i=s;return}function Ng(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0;h=i;i=i+16|0;k=h;j=d+4797|0;a:do if((a[j>>0]|0)==2){n=1.0- +Og((+g[e+872>>2]+-12.0)*.25)*.5;l=d+4604|0;m=0;while(1){if((m|0)>=(c[l>>2]|0))break a;o=e+(m<<2)|0;g[o>>2]=+g[o>>2]*n;m=m+1|0}}else l=d+4604|0;while(0);n=+pa(+((21.0- +(c[d+4748>>2]|0)*.0078125)*.33000001311302185));n=n/+(c[d+4612>>2]|0);o=0;while(1){m=c[l>>2]|0;if((o|0)>=(m|0)){o=0;break}m=e+(o<<2)|0;p=+g[m>>2];p=+P(+(p*p+ +g[e+(o<<2)+876>>2]*n));g[m>>2]=p<32767.0?p:32767.0;o=o+1|0}while(1){if((o|0)>=(m|0))break;c[k+(o<<2)>>2]=~~(+g[e+(o<<2)>>2]*65536.0);o=o+1|0}yj(e+892|0,k|0,m<<2|0)|0;o=d+7200|0;a[e+908>>0]=a[o>>0]|0;fh(d+4768|0,k,o,(f|0)==2&1,c[l>>2]|0);f=0;while(1){if((f|0)>=(c[l>>2]|0))break;g[e+(f<<2)>>2]=+(c[k+(f<<2)>>2]|0)*152587890625.0e-16;f=f+1|0}j=a[j>>0]|0;do if(j<<24>>24==2){k=d+4798|0;if(+g[e+872>>2]+ +(c[d+4744>>2]|0)*30517578125.0e-15>1.0){a[k>>0]=0;k=0;break}else{a[k>>0]=1;k=1;break}}else k=a[d+4798>>0]|0;while(0);g[e+852>>2]=+(c[d+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[d+4556>>2]|0)*-.20000000298023224*.00390625+ +g[e+856>>2]*-.10000000149011612+ +g[e+860>>2]*-.20000000298023224+ +(b[24968+(j<<24>>24>>1<<2)+(k<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;i=h;return}function Og(a){a=+a;a=1.0/(+Y(+-a)+1.0);return+a}function Pg(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;d=i;e=0;while(1){if((e|0)>=5)break;f=a+(e*6<<2)|0;g[f>>2]=+g[f>>2]+c;e=e+1|0}g[b>>2]=+g[b>>2]+c;i=d;return}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,h=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0.0;e=i;j=0.0;h=(+g[b>>2]+ +g[b+96>>2])*9.99999993922529e-9;f=0;while(1){if((f|0)<10){k=0;j=0.0}else{c=14;break}while(1){if((k|0)>=5)break;m=j+ +g[c+(k<<2)>>2]*+g[a+(k<<2)>>2];k=k+1|0;j=m}j=d-j*2.0;n=0;while(1){if((n|0)<5){k=n;m=0.0}else break;while(1){l=k+1|0;if((l|0)>=5)break;k=l;m=m+ +g[b+(n+(l*5|0)<<2)>>2]*+g[a+(l<<2)>>2]}o=+g[a+(n<<2)>>2];j=j+o*(m*2.0+ +g[b+(n*6<<2)>>2]*o);n=n+1|0}if(j>0.0){c=14;break}else k=0;while(1){if((k|0)>=5)break;n=b+(k*6<<2)|0;g[n>>2]=+g[n>>2]+h;k=k+1|0}h=h*2.0;f=f+1|0}if((c|0)==14){i=e;return+((f|0)==10?1.0:j)}return 0.0}function Rg(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+768|0;j=n;l=j+(h<<2)|0;m=h+e|0;k=m<<1;Tf(j,c,b,k,h);o=+g[d>>2];g[a>>2]=o*o*+og(l,e);o=+g[d+4>>2];m=j+(m+h<<2)|0;g[a+4>>2]=o*o*+og(m,e);if((f|0)!=4){i=n;return}Tf(j,c+64|0,b+(k<<2)|0,k,h);o=+g[d+8>>2];g[a+8>>2]=o*o*+og(l,e);o=+g[d+12>>2];g[a+12>>2]=o*o*+og(m,e);i=n;return}function Sg(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0,h=0,j=0;e=i;h=d&65532;f=0;while(1){if((f|0)>=(h|0))break;g[a+(f<<2)>>2]=+g[b+(f<<2)>>2]*c;j=f|1;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*c;j=f|2;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*c;j=f|3;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*c;f=f+4|0}while(1){if((f|0)>=(d|0))break;g[a+(f<<2)>>2]=+g[b+(f<<2)>>2]*c;f=f+1|0}i=e;return}function Tg(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=i;d=0;while(1){if((d|0)>=24)break;e=a+(d<<2)|0;g[e>>2]=+g[e>>2]*b;e=a+((d|1)<<2)|0;g[e>>2]=+g[e>>2]*b;e=a+((d|2)<<2)|0;g[e>>2]=+g[e>>2]*b;e=a+((d|3)<<2)|0;g[e>>2]=+g[e>>2]*b;d=d+4|0}while(1){if((d|0)>=25)break;e=a+(d<<2)|0;g[e>>2]=+g[e>>2]*b;d=d+1|0}i=c;return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0;e=i;i=i+144|0;d=e;h=c+1|0;f=0;while(1){if((f|0)>=(h|0))break;j=+g[b+(f<<2)>>2];g[d+(f<<3)+4>>2]=j;g[d+(f<<3)>>2]=j;f=f+1|0}b=d+4|0;k=0;a:while(1){if((k|0)>=(c|0))break;l=k+1|0;j=+g[b>>2];j=-+g[d+(l<<3)>>2]/(j>9.999999717180685e-10?j:9.999999717180685e-10);g[a+(k<<2)>>2]=j;f=c-k|0;h=0;while(1){if((h|0)>=(f|0)){k=l;continue a}p=d+(h+k+1<<3)|0;n=+g[p>>2];m=d+(h<<3)+4|0;o=+g[m>>2];g[p>>2]=n+o*j;g[m>>2]=o+n*j;h=h+1|0}}i=e;return+(+g[b>>2])}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0;f=i;i=i+1152|0;d=f+128|0;e=f+64|0;h=f;Wg(a,5,d,h);Xg(d,5,b,e);b=0;while(1){if((b|0)>=5)break;a=e+(b<<2)|0;g[a>>2]=+g[a>>2]*+g[h+(b<<2)>>2];b=b+1|0}Yg(d,5,e,c);i=f;return}function Wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0;j=i;i=i+128|0;h=j+64|0;f=j;k=(+g[a>>2]+ +g[a+(($(b,b)|0)+ -1<<2)>>2])*4999999873689376.0e-21;m=1;l=0;a:while(1){if((l|0)<(b|0)&(m|0)==1)n=0;else break;b:while(1){if((n|0)>=(b|0)){e=16;break}m=$(n,b)|0;p=m+n|0;o=0;s=+g[a+(p<<2)>>2];while(1){if((o|0)>=(n|0))break;v=+g[c+(m+o<<2)>>2];u=v*+g[f+(o<<2)>>2];g[h+(o<<2)>>2]=u;o=o+1|0;s=s-v*u}if(s >2]=s;o=d+(n<<2)|0;g[o>>2]=1.0/s;g[c+(p<<2)>>2]=1.0;p=n+1|0;q=c+(($(p,b)|0)<<2)|0;t=n;while(1){t=t+1|0;if((t|0)<(b|0)){r=0;s=0.0}else{n=p;continue b}while(1){if((r|0)>=(n|0))break;v=s+ +g[q+(r<<2)>>2]*+g[h+(r<<2)>>2];r=r+1|0;s=v}g[c+(($(t,b)|0)+n<<2)>>2]=(+g[a+(m+t<<2)>>2]-s)*+g[o>>2];q=q+(b<<2)|0}}if((e|0)==16){e=0;m=0;l=l+1|0;continue}l=l+1|0;s=+(l|0)*k-s;m=0;while(1){if((m|0)>=(b|0)){m=1;continue a}t=a+(($(m,b)|0)+m<<2)|0;g[t>>2]=+g[t>>2]+s;m=m+1|0}}i=j;return}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0.0;e=i;f=0;while(1){if((f|0)>=(b|0))break;j=$(f,b)|0;k=0;h=0.0;while(1){if((k|0)>=(f|0))break;l=h+ +g[a+(j+k<<2)>>2]*+g[d+(k<<2)>>2];k=k+1|0;h=l}g[d+(f<<2)>>2]=+g[c+(f<<2)>>2]-h;f=f+1|0}i=e;return}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0.0;e=i;j=b;while(1){f=j+ -1|0;if((j|0)>0){j=b;h=0.0}else break;while(1){k=j+ -1|0;if((k|0)<=(f|0))break;l=+g[a+(f+($(k,b)|0)<<2)>>2];j=k;h=h+l*+g[d+(k<<2)>>2]}g[d+(f<<2)>>2]=+g[c+(f<<2)>>2]-h;j=f}i=e;return}function Zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0.0,n=0;f=i;h=0;while(1){if((h|0)>=(e|0)){h=1;break}c[b+(h<<2)>>2]=h;h=h+1|0}while(1){if((h|0)>=(e|0))break;k=+g[a+(h<<2)>>2];j=h;while(1){l=j+ -1|0;if((j|0)<=0)break;m=+g[a+(l<<2)>>2];if(!(k>m))break;g[a+(j<<2)>>2]=m;c[b+(j<<2)>>2]=c[b+(l<<2)>>2];j=l}g[a+(j<<2)>>2]=k;c[b+(j<<2)>>2]=h;h=h+1|0}h=a+(e+ -1<<2)|0;j=e+ -2|0;while(1){if((e|0)>=(d|0))break;k=+g[a+(e<<2)>>2];if(k>+g[h>>2]){l=j;while(1){if((l|0)<=-1)break;m=+g[a+(l<<2)>>2];if(!(k>m))break;n=l+1|0;g[a+(n<<2)>>2]=m;c[b+(n<<2)>>2]=c[b+(l<<2)>>2];l=l+ -1|0}n=l+1|0;g[a+(n<<2)>>2]=k;c[b+(n<<2)>>2]=e}e=e+1|0}i=f;return}function _g(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0;j=i;i=i+272|0;k=j+136|0;f=j;wj(k|0,0,136)|0;wj(f|0,0,136)|0;n=k+(e<<3)|0;m=f+(e<<3)|0;o=0.0;l=0;while(1){if((l|0)>=(d|0))break;p=0;q=+g[b+(l<<2)>>2];while(1){if((p|0)>=(e|0))break;v=p|1;w=k+(v<<3)|0;t=+h[w>>3];r=o+c*(t-q);h[k+(p<<3)>>3]=q;u=f+(p<<3)|0;h[u>>3]=+h[u>>3]+ +h[k>>3]*q;u=p+2|0;s=+h[k+(u<<3)>>3];h[w>>3]=r;v=f+(v<<3)|0;h[v>>3]=+h[v>>3]+ +h[k>>3]*r;o=s;p=u;q=t+c*(s-r)}h[n>>3]=q;o=+h[k>>3];h[m>>3]=+h[m>>3]+o*q;l=l+1|0}k=e+1|0;d=0;while(1){if((d|0)>=(k|0))break;g[a+(d<<2)>>2]=+h[f+(d<<3)>>3];d=d+1|0}i=j;return}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;i=i+64|0;e=f;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=ah(+g[b+(h<<2)>>2]*65536.0)|0;h=h+1|0}Fd(a,e,d);i=f;return}function ah(a){a=+a;var b=0,c=0;c=i;b=sa(+a)|0;i=c;return b|0}function bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;Zd(f,c,d);c=0;while(1){if((c|0)>=(d|0))break;g[a+(c<<2)>>2]=+(b[f+(c<<1)>>1]|0)*.000244140625;c=c+1|0}i=e;return}function ch(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;h=i;i=i+64|0;j=h;th(a,j,e,f);a=a+4664|0;f=0;while(1){if((f|0)<2)e=0;else break;while(1){if((e|0)>=(c[a>>2]|0))break;g[d+(f<<6)+(e<<2)>>2]=+(b[j+(f<<5)+(e<<1)>>1]|0)*.000244140625;e=e+1|0}f=f+1|0}i=h;return}function dh(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+1584|0;m=s+64|0;l=s+48|0;t=s+1512|0;n=s+1472|0;o=s+1344|0;r=s+32|0;q=s+16|0;p=s;u=d+4604|0;w=d+4660|0;v=0;while(1){x=c[u>>2]|0;if((v|0)>=(x|0)){v=0;break}x=v<<4;y=0;while(1){if((y|0)>=(c[w>>2]|0))break;z=x+y|0;b[o+(z<<1)>>1]=ah(+g[e+(z<<2)+500>>2]*8192.0)|0;y=y+1|0}v=v+1|0}while(1){if((v|0)>=(x|0))break;x=(ah(+g[e+(v<<2)+772>>2]*16384.0)|0)<<16;c[r+(v<<2)>>2]=x|(ah(+g[e+(v<<2)+756>>2]*16384.0)|0)&65535;c[q+(v<<2)>>2]=ah(+g[e+(v<<2)+820>>2]*16384.0)|0;c[p+(v<<2)>>2]=ah(+g[e+(v<<2)+836>>2]*16384.0)|0;x=c[u>>2]|0;v=v+1|0}v=ah(+g[e+852>>2]*1024.0)|0;w=0;while(1){if((w|0)>=((c[u>>2]|0)*5|0))break;b[n+(w<<1)>>1]=ah(+g[e+(w<<2)+144>>2]*16384.0)|0;w=w+1|0}w=d+4664|0;x=0;while(1){if((x|0)<2)y=0;else{w=0;break}while(1){if((y|0)>=(c[w>>2]|0))break;b[t+(x<<5)+(y<<1)>>1]=ah(+g[e+(x<<6)+(y<<2)+16>>2]*4096.0)|0;y=y+1|0}x=x+1|0}while(1){if((w|0)>=(c[u>>2]|0))break;c[l+(w<<2)>>2]=ah(+g[e+(w<<2)>>2]*65536.0)|0;w=w+1|0}if((a[f+29>>0]|0)==2)w=b[24976+(a[f+33>>0]<<1)>>1]|0;else w=0;u=d+4608|0;x=0;while(1){if((x|0)>=(c[u>>2]|0))break;c[m+(x<<2)>>2]=ah(+g[k+(x<<2)>>2]*8.0)|0;x=x+1|0}if((c[d+4652>>2]|0)<=1?(c[d+4704>>2]|0)<=0:0){te(d,h,f,m,j,t,n,o,p,q,r,l,e+228|0,v,w);i=s;return}ze(d,h,f,m,j,t,n,o,p,q,r,l,e+228|0,v,w);i=s;return}function eh(a,d,e,f,h,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+448|0;o=p+400|0;q=p;n=l*5|0;r=0;while(1){if((r|0)>=(n|0))break;b[o+(r<<1)>>1]=ah(+g[a+(r<<2)>>2]*16384.0)|0;r=r+1|0}r=l*25|0;s=0;while(1){if((s|0)>=(r|0))break;c[q+(s<<2)>>2]=ah(+g[h+(s<<2)>>2]*262144.0)|0;s=s+1|0}uh(o,d,e,f,q,j,k,l,m);j=0;while(1){if((j|0)>=(n|0))break;g[a+(j<<2)>>2]=+(b[o+(j<<1)>>1]|0)*6103515625.0e-14;j=j+1|0}i=p;return}function fh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;l=(g|0)==0;g=0;while(1){if((g|0)>=(h|0))break;k=e+(g<<2)|0;oh(c[k>>2]|0)|0;n=((((oh(c[k>>2]|0)|0)<<16)+ -136970240>>16)*2251|0)>>>16&255;m=b+g|0;a[m>>0]=n;if(n<<24>>24<(a[f>>0]|0)){n=n+1<<24>>24;a[m>>0]=n}if(n<<24>>24>63)n=63;else n=n<<24>>24<0?0:n;a[m>>0]=n;if((g|0)==0^1|l^1){p=(n&255)-(d[f>>0]|0)|0;o=p&255;a[m>>0]=o;n=(a[f>>0]|0)+8|0;p=p<<24>>24;if((p|0)>(n|0)){o=n+((p-n+1|0)>>>1)&255;a[m>>0]=o}if(o<<24>>24>36)p=36;else p=o<<24>>24<-4?-4:o;a[m>>0]=p;o=p<<24>>24;if((o|0)>(n|0))n=(d[f>>0]|0)+((o<<1)-n)|0;else n=(d[f>>0]|0)+(p&255)|0;a[f>>0]=n;a[m>>0]=(d[m>>0]|0)+4;m=a[f>>0]|0}else{m=(a[f>>0]|0)+ -4|0;n=a[b>>0]|0;if((m|0)>63){o=n<<24>>24;if((o|0)<=(m|0))m=n<<24>>24<63?63:o}else if(n<<24>>24>63)m=63;else{p=n<<24>>24;m=(p|0)<(m|0)?m:p}m=m&255;a[b>>0]=m;a[f>>0]=m}p=m<<24>>24;c[k>>2]=sh(gh((p*29|0)+(p*7281>>16)+2090|0)|0)|0;g=g+1|0}i=j;return}function gh(a){a=a|0;return((a|0)<3967?a:3967)|0}function hh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;f=(f|0)==0;j=0;while(1){if((j|0)>=(g|0))break;do if((j|0)==0^1|f^1){l=(a[d+j>>0]|0)+ -4|0;m=a[e>>0]|0;k=(m<<24>>24)+8|0;if((l|0)>(k|0)){k=(m&255)+((l<<1)-k)&255;a[e>>0]=k;break}else{k=(m&255)+l&255;a[e>>0]=k;break}}else{k=(ih(a[d>>0]|0,(a[e>>0]|0)+ -16|0)|0)&255;a[e>>0]=k}while(0);if(k<<24>>24>63)k=63;else k=k<<24>>24<0?0:k;a[e>>0]=k;m=k<<24>>24;c[b+(j<<2)>>2]=sh(gh((m*29|0)+(m*7281>>16)+2090|0)|0)|0;j=j+1|0}i=h;return}function ih(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function jh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=i;e=0;f=0;while(1){if((f|0)>=(c|0))break;e=(a[b+f>>0]|0)+(e<<8)|0;f=f+1|0}i=d;return e|0}function kh(a){a=a|0;var b=0;b=i;wj(a|0,0,4260)|0;c[a+2376>>2]=1;c[a>>2]=65536;Kd(a);Ge(a);i=b;return}function lh(a,b){a=a|0;b=b|0;var d=0;d=i;wj(a|0,0,12240)|0;c[a+5124>>2]=b;b=((oh(3932160)|0)<<8)+ -524288|0;c[a+8>>2]=b;c[a+12>>2]=b;c[a+4696>>2]=1;b=We(a+32|0)|0;i=d;return b|0}function mh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;h=0;g=0;while(1){if((h|0)>=(e|0))break;j=g+(($(b[a+(h<<1)>>1]|0,b[c+(h<<1)>>1]|0)|0)>>d)|0;h=h+1|0;g=j}i=f;return g|0}function nh(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;j=f<<16>>16;f=0;while(1){if((f|0)>=(g|0))break;k=e[c+(f<<1)>>1]|0;b[a+(f<<1)>>1]=k+(($((e[d+(f<<1)>>1]|0)-k<<16>>16,j)|0)>>>2);f=f+1|0}i=h;return}function oh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;ph(a,d,b);b=c[b>>2]|0;a=$(b,128-b|0)|0;i=e;return(31-(c[d>>2]|0)<<7)+(b+(((a>>16)*179|0)+(((a&65535)*179|0)>>>16)))|0}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=qh(a)|0;c[b>>2]=f;c[d>>2]=(rh(a,24-f|0)|0)&127;i=e;return}function qh(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function rh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function sh(a){a=a|0;var b=0,c=0,d=0,e=0;b=i;if((a|0)<0){e=0;i=b;return e|0}if((a|0)>3966){e=2147483647;i=b;return e|0}d=a>>7;c=1< >16)< >7;else a=$(c>>7,e+(($($(e,128-e|0)|0,-174)|0)>>16)|0)|0;e=c+a|0;i=b;return e|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+96|0;h=j+64|0;k=j+32|0;l=j;n=c[d+4556>>2]<<16>>16;n=($(n,-5)|0)+(n*59246>>16)+3146|0;if((c[d+4604>>2]|0)==2)n=n+(n>>1)|0;m=d+4664|0;ae(k,f,c[m>>2]|0);a:do if((c[d+4656>>2]|0)==1){p=d+4799|0;q=a[p>>0]|0;r=q<<24>>24<4;o=r&1;if(r){nh(h,g,f,q<<24>>24,c[m>>2]|0);ae(l,h,c[m>>2]|0);q=a[p>>0]|0;q=($(q,q)|0)<<27;p=c[m>>2]|0;q=q>>16;r=0;while(1){if((r|0)>=(p|0))break a;s=k+(r<<1)|0;t=b[l+(r<<1)>>1]|0;b[s>>1]=((b[s>>1]|0)>>>1)+(($(t<<16>>16>>16,q)|0)+(($(t&65535,q)|0)>>>16));r=r+1|0}}}else o=0;while(0);ke(d+4776|0,f,c[d+4724>>2]|0,k,n,c[d+4692>>2]|0,a[d+4797>>0]|0);Zd(e+32|0,f,c[m>>2]|0);if(!o){yj(e|0,e+32|0,c[m>>2]<<1|0)|0;i=j;return}else{nh(h,g,f,a[d+4799>>0]|0,c[m>>2]|0);Zd(e,h,c[m>>2]|0);i=j;return}}function uh(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+16|0;p=m+8|0;o=m+4|0;n=m;k=(k|0)!=0;r=0;s=2147483647;q=0;while(1){if((q|0)>=3)break;w=c[22392+(q<<2)>>2]|0;u=c[22688+(q<<2)>>2]|0;v=c[22760+(q<<2)>>2]|0;x=a[22776+q>>0]|0;y=h;z=d;B=0;A=0;t=c[g>>2]|0;while(1){if((A|0)>=(l|0))break;ef(p+A|0,o,n,z,y,u,v,w,j,(sh(5333-t+896|0)|0)+ -51|0,x);B=B+(c[o>>2]|0)|0;C=(c[n>>2]|0)+51|0;if((t+(oh(C)|0)+ -896|0)<0)t=0;else t=t+(oh(C)|0)+ -896|0;y=y+100|0;z=z+10|0;B=(B|0)<0?2147483647:B;A=A+1|0}u=(B|0)==2147483647?2147483646:B;if((u|0)<(s|0)){a[f>>0]=q;yj(e|0,p|0,l|0)|0;r=t;s=u}if(k&(u|0)<12304)break;q=q+1|0}o=c[22688+(a[f>>0]<<2)>>2]|0;j=0;while(1){if((j|0)>=(l|0))break;n=e+j|0;h=j*5|0;f=0;while(1){if((f|0)>=5)break;b[d+(h+f<<1)>>1]=a[o+(((a[n>>0]|0)*5|0)+f)>>0]<<7;f=f+1|0}j=j+1|0}c[g>>2]=r;i=m;return}function vh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;wj(b|0,0,300)|0;do if(!f){if(!((d|0)==8e3|(d|0)==12e3|(d|0)==16e3)){h=-1;i=g;return h|0}if((e|0)==48e3|(e|0)==24e3|(e|0)==16e3|(e|0)==12e3|(e|0)==8e3){c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+ -1+(21536+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+ -1|0)*5|0))>>0];break}else{h=-1;i=g;return h|0}}else{if(!((d|0)==8e3|(d|0)==12e3|(d|0)==16e3|(d|0)==24e3|(d|0)==48e3)){h=-1;i=g;return h|0}if((e|0)==16e3|(e|0)==12e3|(e|0)==8e3){c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+ -1+(21520+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+ -1|0)*3|0))>>0];break}else{h=-1;i=g;return h|0}}while(0);h=(d|0)/1e3|0;c[b+284>>2]=h;c[b+288>>2]=(e|0)/1e3|0;c[b+268>>2]=h*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;h=0;break}else{c[f>>2]=2;h=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;h=0;break}c[f>>2]=3;h=e<<2;if((h|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=21552;h=0;break}f=e*3|0;if((f|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=21616;h=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=21656;h=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=21688;h=0;break}if((h|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=21728;h=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=21768;h=0;break}else{h=-1;i=g;return h|0}}while(0);j=((d<<(h|14)|0)/(e|0)|0)<<2;f=b+272|0;c[f>>2]=j;b=e<<16>>16;e=(e>>15)+1>>1;h=d< >16,b)|0)+(($(d&65535,b)|0)>>16)+($(d,e)|0)|0)>=(h|0)){d=0;break}j=d+1|0;c[f>>2]=j;d=j}i=g;return d|0}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;h=a+284|0;g=a+292|0;k=c[g>>2]|0;j=(c[h>>2]|0)-k|0;yj(a+(k<<1)+168|0,d|0,j<<1|0)|0;k=c[a+264>>2]|0;if((k|0)==1){Fh(a,b,a+168|0,c[h>>2]|0);Fh(a,b+(c[a+288>>2]<<1)|0,d+(j<<1)|0,e-(c[h>>2]|0)|0)}else if((k|0)==3){Ch(a,b,a+168|0,c[h>>2]|0);Ch(a,b+(c[a+288>>2]<<1)|0,d+(j<<1)|0,e-(c[h>>2]|0)|0)}else if((k|0)==2){Ah(a,b,a+168|0,c[h>>2]|0);Ah(a,b+(c[a+288>>2]<<1)|0,d+(j<<1)|0,e-(c[h>>2]|0)|0)}else{yj(b|0,a+168|0,c[h>>2]<<1|0)|0;yj(b+(c[a+288>>2]<<1)|0,d+(j<<1)|0,e-(c[h>>2]|0)<<1|0)|0}b=c[g>>2]|0;yj(a+168|0,d+(e-b<<1)|0,b<<1|0)|0;i=f;return}function xh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;h=f>>1;f=a+4|0;j=0;while(1){if((j|0)>=(h|0))break;o=j<<1;n=b[e+(o<<1)>>1]<<10;l=n-(c[a>>2]|0)|0;m=($(l>>16,-25727)|0)+(($(l&65535,-25727)|0)>>16)|0;c[a>>2]=n+(l+m);o=b[e+((o|1)<<1)>>1]<<10;l=c[f>>2]|0;k=o-l|0;k=((k>>16)*9872|0)+(((k&65535)*9872|0)>>>16)|0;c[f>>2]=o+k;k=(n+m+l+k>>10)+1>>1;if((k|0)>32767)k=32767;else k=(k|0)<-32768?-32768:k&65535;b[d+(j<<1)>>1]=k;j=j+1|0}i=g;return}function yh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+1936|0;k=g;c[k+0>>2]=c[a+0>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];h=a+16|0;j=k+16|0;while(1){l=(f|0)<480?f:480;zh(h,j,e,21808,l);o=k;m=l;while(1){if((m|0)<=2)break;u=c[o>>2]|0;p=o+4|0;t=c[p>>2]|0;q=o+8|0;s=c[q>>2]|0;n=o+12|0;r=c[n>>2]|0;r=(((u>>16)*4697|0)+(((u&65535)*4697|0)>>>16)+(((t>>16)*10739|0)+(((t&65535)*10739|0)>>>16))+(((s>>16)*8276|0)+(((s&65535)*8276|0)>>>16))+(((r>>16)*1567|0)+(((r&65535)*1567|0)>>>16))>>5)+1>>1;if((r|0)>32767)r=32767;else r=(r|0)<-32768?-32768:r&65535;b[d>>1]=r;s=c[p>>2]|0;t=c[q>>2]|0;u=c[n>>2]|0;o=c[o+16>>2]|0;o=(((s>>16)*1567|0)+(((s&65535)*1567|0)>>>16)+(((t>>16)*8276|0)+(((t&65535)*8276|0)>>>16))+(((u>>16)*10739|0)+(((u&65535)*10739|0)>>>16))+(((o>>16)*4697|0)+(((o&65535)*4697|0)>>>16))>>5)+1>>1;if((o|0)>32767)o=32767;else o=(o|0)<-32768?-32768:o&65535;b[d+2>>1]=o;d=d+4|0;o=n;m=m+ -3|0}f=f-l|0;if((f|0)<=0)break;u=e+(l<<1)|0;t=k+(l<<2)|0;c[k+0>>2]=c[t+0>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];e=u}u=k+(l<<2)|0;c[a+0>>2]=c[u+0>>2];c[a+4>>2]=c[u+4>>2];c[a+8>>2]=c[u+8>>2];c[a+12>>2]=c[u+12>>2];i=g;return}function zh(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;k=a+4|0;l=f+2|0;j=0;while(1){if((j|0)>=(g|0))break;n=(c[a>>2]|0)+(b[e+(j<<1)>>1]<<8)|0;c[d+(j<<2)>>2]=n;n=n<<2;o=n>>16;m=b[f>>1]|0;n=n&65532;c[a>>2]=(c[k>>2]|0)+(($(o,m)|0)+(($(n,m)|0)>>16));m=b[l>>1]|0;c[k>>2]=($(o,m)|0)+(($(n,m)|0)>>16);j=j+1|0}i=h;return}function Ah(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;n=c[a+268>>2]|0;m=i;i=i+((2*((n<<1)+8|0)|0)+15&-16)|0;g=a+24|0;b[m+0>>1]=b[g+0>>1]|0;b[m+2>>1]=b[g+2>>1]|0;b[m+4>>1]=b[g+4>>1]|0;b[m+6>>1]=b[g+6>>1]|0;b[m+8>>1]=b[g+8>>1]|0;b[m+10>>1]=b[g+10>>1]|0;b[m+12>>1]=b[g+12>>1]|0;b[m+14>>1]=b[g+14>>1]|0;k=c[a+272>>2]|0;l=a+268|0;j=m+16|0;while(1){n=(f|0)<(n|0)?f:n;Eh(a,j,e,n);d=Bh(d,m,n<<17,k)|0;f=f-n|0;if((f|0)<=0)break;o=e+(n<<1)|0;n=m+(n<<1<<1)|0;b[m+0>>1]=b[n+0>>1]|0;b[m+2>>1]=b[n+2>>1]|0;b[m+4>>1]=b[n+4>>1]|0;b[m+6>>1]=b[n+6>>1]|0;b[m+8>>1]=b[n+8>>1]|0;b[m+10>>1]=b[n+10>>1]|0;b[m+12>>1]=b[n+12>>1]|0;b[m+14>>1]=b[n+14>>1]|0;e=o;n=c[l>>2]|0}o=m+(n<<1<<1)|0;b[g+0>>1]=b[o+0>>1]|0;b[g+2>>1]=b[o+2>>1]|0;b[g+4>>1]=b[o+4>>1]|0;b[g+6>>1]=b[o+6>>1]|0;b[g+8>>1]=b[o+8>>1]|0;b[g+10>>1]=b[o+10>>1]|0;b[g+12>>1]=b[o+12>>1]|0;b[g+14>>1]=b[o+14>>1]|0;i=h;return}function Bh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=0;while(1){if((g|0)>=(d|0))break;h=((g&65535)*12|0)>>>16;j=g>>16;k=$(b[c+(j<<1)>>1]|0,b[21824+(h<<3)>>1]|0)|0;k=k+($(b[c+(j+1<<1)>>1]|0,b[21826+(h<<3)>>1]|0)|0)|0;k=k+($(b[c+(j+2<<1)>>1]|0,b[21828+(h<<3)>>1]|0)|0)|0;k=k+($(b[c+(j+3<<1)>>1]|0,b[21830+(h<<3)>>1]|0)|0)|0;h=11-h|0;k=k+($(b[c+(j+4<<1)>>1]|0,b[21830+(h<<3)>>1]|0)|0)|0;k=k+($(b[c+(j+5<<1)>>1]|0,b[21828+(h<<3)>>1]|0)|0)|0;k=k+($(b[c+(j+6<<1)>>1]|0,b[21826+(h<<3)>>1]|0)|0)|0;h=(k+($(b[c+(j+7<<1)>>1]|0,b[21824+(h<<3)>>1]|0)|0)>>14)+1>>1;if((h|0)>32767)h=32767;else h=(h|0)<-32768?-32768:h&65535;b[a>>1]=h;a=a+2|0;g=g+e|0}i=f;return a|0}function Ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;p=c[a+268>>2]|0;q=c[a+276>>2]|0;g=i;i=i+((4*(p+q|0)|0)+15&-16)|0;o=a+24|0;h=a+276|0;yj(g|0,o|0,q<<2|0)|0;k=a+296|0;l=(c[k>>2]|0)+4|0;n=c[a+272>>2]|0;f=a+268|0;m=a+280|0;while(1){p=(e|0)<(p|0)?e:p;zh(a,g+(q<<2)|0,d,c[k>>2]|0,p);b=Dh(b,g,l,c[h>>2]|0,c[m>>2]|0,p<<16,n)|0;e=e-p|0;if((e|0)<=1)break;q=c[h>>2]|0;yj(g|0,g+(p<<2)|0,q<<2|0)|0;d=d+(p<<1)|0;p=c[f>>2]|0}yj(o|0,g+(p<<2)|0,c[h>>2]<<2|0)|0;i=j;return}function Dh(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=i;if((f|0)==36){m=e+2|0;n=e+4|0;o=e+6|0;p=e+8|0;q=e+10|0;r=e+12|0;s=e+14|0;t=e+16|0;u=e+18|0;v=e+20|0;w=e+22|0;x=e+24|0;y=e+26|0;z=e+28|0;l=e+30|0;g=e+32|0;f=e+34|0;A=0;while(1){if((A|0)>=(h|0))break;C=A>>16;B=(c[d+(C<<2)>>2]|0)+(c[d+(C+35<<2)>>2]|0)|0;D=b[e>>1]|0;D=($(B>>16,D)|0)+(($(B&65535,D)|0)>>16)|0;B=(c[d+(C+1<<2)>>2]|0)+(c[d+(C+34<<2)>>2]|0)|0;E=b[m>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+2<<2)>>2]|0)+(c[d+(C+33<<2)>>2]|0)|0;D=b[n>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+3<<2)>>2]|0)+(c[d+(C+32<<2)>>2]|0)|0;E=b[o>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+4<<2)>>2]|0)+(c[d+(C+31<<2)>>2]|0)|0;D=b[p>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+5<<2)>>2]|0)+(c[d+(C+30<<2)>>2]|0)|0;E=b[q>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+6<<2)>>2]|0)+(c[d+(C+29<<2)>>2]|0)|0;D=b[r>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+7<<2)>>2]|0)+(c[d+(C+28<<2)>>2]|0)|0;E=b[s>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+8<<2)>>2]|0)+(c[d+(C+27<<2)>>2]|0)|0;D=b[t>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+9<<2)>>2]|0)+(c[d+(C+26<<2)>>2]|0)|0;E=b[u>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+10<<2)>>2]|0)+(c[d+(C+25<<2)>>2]|0)|0;D=b[v>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+11<<2)>>2]|0)+(c[d+(C+24<<2)>>2]|0)|0;E=b[w>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+12<<2)>>2]|0)+(c[d+(C+23<<2)>>2]|0)|0;D=b[x>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+13<<2)>>2]|0)+(c[d+(C+22<<2)>>2]|0)|0;E=b[y>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+14<<2)>>2]|0)+(c[d+(C+21<<2)>>2]|0)|0;D=b[z>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;B=(c[d+(C+15<<2)>>2]|0)+(c[d+(C+20<<2)>>2]|0)|0;E=b[l>>1]|0;E=D+(($(B>>16,E)|0)+(($(B&65535,E)|0)>>16))|0;B=(c[d+(C+16<<2)>>2]|0)+(c[d+(C+19<<2)>>2]|0)|0;D=b[g>>1]|0;D=E+(($(B>>16,D)|0)+(($(B&65535,D)|0)>>16))|0;C=(c[d+(C+17<<2)>>2]|0)+(c[d+(C+18<<2)>>2]|0)|0;B=b[f>>1]|0;B=(D+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))>>5)+1>>1;if((B|0)>32767)B=32767;else B=(B|0)<-32768?-32768:B&65535;b[a>>1]=B;a=a+2|0;A=A+j|0}i=k;return a|0}else if((f|0)==18){f=g<<16>>16;g=g+ -1|0;l=0;while(1){if((l|0)>=(h|0))break;E=l>>16;m=($(l&65535,f)|0)>>16;D=m*9|0;C=c[d+(E<<2)>>2]|0;A=b[e+(D<<1)>>1]|0;A=($(C>>16,A)|0)+(($(C&65535,A)|0)>>16)|0;C=c[d+(E+1<<2)>>2]|0;B=b[e+(D+1<<1)>>1]|0;B=A+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+2<<2)>>2]|0;A=b[e+(D+2<<1)>>1]|0;A=B+(($(C>>16,A)|0)+(($(C&65535,A)|0)>>16))|0;C=c[d+(E+3<<2)>>2]|0;B=b[e+(D+3<<1)>>1]|0;B=A+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+4<<2)>>2]|0;A=b[e+(D+4<<1)>>1]|0;A=B+(($(C>>16,A)|0)+(($(C&65535,A)|0)>>16))|0;C=c[d+(E+5<<2)>>2]|0;B=b[e+(D+5<<1)>>1]|0;B=A+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+6<<2)>>2]|0;A=b[e+(D+6<<1)>>1]|0;A=B+(($(C>>16,A)|0)+(($(C&65535,A)|0)>>16))|0;C=c[d+(E+7<<2)>>2]|0;B=b[e+(D+7<<1)>>1]|0;B=A+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+8<<2)>>2]|0;D=b[e+(D+8<<1)>>1]|0;D=B+(($(C>>16,D)|0)+(($(C&65535,D)|0)>>16))|0;m=(g-m|0)*9|0;C=c[d+(E+17<<2)>>2]|0;B=b[e+(m<<1)>>1]|0;B=D+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+16<<2)>>2]|0;D=b[e+(m+1<<1)>>1]|0;D=B+(($(C>>16,D)|0)+(($(C&65535,D)|0)>>16))|0;C=c[d+(E+15<<2)>>2]|0;B=b[e+(m+2<<1)>>1]|0;B=D+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+14<<2)>>2]|0;D=b[e+(m+3<<1)>>1]|0;D=B+(($(C>>16,D)|0)+(($(C&65535,D)|0)>>16))|0;C=c[d+(E+13<<2)>>2]|0;B=b[e+(m+4<<1)>>1]|0;B=D+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+12<<2)>>2]|0;D=b[e+(m+5<<1)>>1]|0;D=B+(($(C>>16,D)|0)+(($(C&65535,D)|0)>>16))|0;C=c[d+(E+11<<2)>>2]|0;B=b[e+(m+6<<1)>>1]|0;B=D+(($(C>>16,B)|0)+(($(C&65535,B)|0)>>16))|0;C=c[d+(E+10<<2)>>2]|0;D=b[e+(m+7<<1)>>1]|0;D=B+(($(C>>16,D)|0)+(($(C&65535,D)|0)>>16))|0;E=c[d+(E+9<<2)>>2]|0;m=b[e+(m+8<<1)>>1]|0;m=(D+(($(E>>16,m)|0)+(($(E&65535,m)|0)>>16))>>5)+1>>1;if((m|0)>32767)m=32767;else m=(m|0)<-32768?-32768:m&65535;b[a>>1]=m;a=a+2|0;l=l+j|0}i=k;return a|0}else if((f|0)==24){l=e+2|0;t=e+4|0;s=e+6|0;r=e+8|0;q=e+10|0;p=e+12|0;o=e+14|0;n=e+16|0;m=e+18|0;f=e+20|0;g=e+22|0;u=0;while(1){if((u|0)>=(h|0))break;E=u>>16;v=(c[d+(E<<2)>>2]|0)+(c[d+(E+23<<2)>>2]|0)|0;D=b[e>>1]|0;D=($(v>>16,D)|0)+(($(v&65535,D)|0)>>16)|0;v=(c[d+(E+1<<2)>>2]|0)+(c[d+(E+22<<2)>>2]|0)|0;C=b[l>>1]|0;C=D+(($(v>>16,C)|0)+(($(v&65535,C)|0)>>16))|0;v=(c[d+(E+2<<2)>>2]|0)+(c[d+(E+21<<2)>>2]|0)|0;D=b[t>>1]|0;D=C+(($(v>>16,D)|0)+(($(v&65535,D)|0)>>16))|0;v=(c[d+(E+3<<2)>>2]|0)+(c[d+(E+20<<2)>>2]|0)|0;C=b[s>>1]|0;C=D+(($(v>>16,C)|0)+(($(v&65535,C)|0)>>16))|0;v=(c[d+(E+4<<2)>>2]|0)+(c[d+(E+19<<2)>>2]|0)|0;D=b[r>>1]|0;D=C+(($(v>>16,D)|0)+(($(v&65535,D)|0)>>16))|0;v=(c[d+(E+5<<2)>>2]|0)+(c[d+(E+18<<2)>>2]|0)|0;C=b[q>>1]|0;C=D+(($(v>>16,C)|0)+(($(v&65535,C)|0)>>16))|0;v=(c[d+(E+6<<2)>>2]|0)+(c[d+(E+17<<2)>>2]|0)|0;D=b[p>>1]|0;D=C+(($(v>>16,D)|0)+(($(v&65535,D)|0)>>16))|0;v=(c[d+(E+7<<2)>>2]|0)+(c[d+(E+16<<2)>>2]|0)|0;C=b[o>>1]|0;C=D+(($(v>>16,C)|0)+(($(v&65535,C)|0)>>16))|0;v=(c[d+(E+8<<2)>>2]|0)+(c[d+(E+15<<2)>>2]|0)|0;D=b[n>>1]|0;D=C+(($(v>>16,D)|0)+(($(v&65535,D)|0)>>16))|0;v=(c[d+(E+9<<2)>>2]|0)+(c[d+(E+14<<2)>>2]|0)|0;C=b[m>>1]|0;C=D+(($(v>>16,C)|0)+(($(v&65535,C)|0)>>16))|0;v=(c[d+(E+10<<2)>>2]|0)+(c[d+(E+13<<2)>>2]|0)|0;D=b[f>>1]|0;D=C+(($(v>>16,D)|0)+(($(v&65535,D)|0)>>16))|0;E=(c[d+(E+11<<2)>>2]|0)+(c[d+(E+12<<2)>>2]|0)|0;v=b[g>>1]|0;v=(D+(($(E>>16,v)|0)+(($(E&65535,v)|0)>>16))>>5)+1>>1;if((v|0)>32767)v=32767;else v=(v|0)<-32768?-32768:v&65535;b[a>>1]=v;a=a+2|0;u=u+j|0}i=k;return a|0}else{E=a;i=k;return E|0}return 0}function Eh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;k=a+4|0;l=a+8|0;g=a+12|0;h=a+16|0;j=a+20|0;m=0;while(1){if((m|0)>=(f|0))break;p=b[e+(m<<1)>>1]<<10;o=c[a>>2]|0;q=p-o|0;q=((q>>16)*1746|0)+(((q&65535)*1746|0)>>>16)|0;o=o+q|0;c[a>>2]=p+q;q=c[k>>2]|0;r=o-q|0;r=((r>>16)*14986|0)+(((r&65535)*14986|0)>>>16)|0;q=q+r|0;c[k>>2]=o+r;r=q-(c[l>>2]|0)|0;o=($(r>>16,-26453)|0)+(($(r&65535,-26453)|0)>>16)|0;c[l>>2]=q+(r+o);o=(q+o>>9)+1>>1;if((o|0)>32767)q=32767;else q=(o|0)<-32768?-32768:o&65535;o=m<<1;b[d+(o<<1)>>1]=q;s=c[g>>2]|0;r=p-s|0;r=((r>>16)*6854|0)+(((r&65535)*6854|0)>>>16)|0;s=s+r|0;c[g>>2]=p+r;r=c[h>>2]|0;q=s-r|0;q=((q>>16)*25769|0)+(((q&65535)*25769|0)>>>16)|0;r=r+q|0;c[h>>2]=s+q;q=r-(c[j>>2]|0)|0;p=($(q>>16,-9994)|0)+(($(q&65535,-9994)|0)>>16)|0;c[j>>2]=r+(q+p);p=(r+p>>9)+1>>1;if((p|0)>32767)p=32767;else p=(p|0)<-32768?-32768:p&65535;b[d+((o|1)<<1)>>1]=p;m=m+1|0}i=n;return}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Eh(a,b,c,d);i=e;return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+64|0;e=d+32|0;g=d+16|0;f=d+8|0;j=d;Hh(e,b,8);Hh(g,e,4);Hh(f,g,2);Hh(j,f,1);h=c[f>>2]|0;Ih(a,h,c[j>>2]|0,26128);j=c[g>>2]|0;Ih(a,j,h,25976);h=c[e>>2]|0;Ih(a,h,j,25824);Ih(a,c[b>>2]|0,h,25672);Ih(a,c[b+8>>2]|0,c[e+4>>2]|0,25672);h=c[e+8>>2]|0;Ih(a,h,c[g+4>>2]|0,25824);Ih(a,c[b+16>>2]|0,h,25672);Ih(a,c[b+24>>2]|0,c[e+12>>2]|0,25672);h=c[g+8>>2]|0;Ih(a,h,c[f+4>>2]|0,25976);f=c[e+16>>2]|0;Ih(a,f,h,25824);Ih(a,c[b+32>>2]|0,f,25672);Ih(a,c[b+40>>2]|0,c[e+20>>2]|0,25672);f=c[e+24>>2]|0;Ih(a,f,c[g+12>>2]|0,25824);Ih(a,c[b+48>>2]|0,f,25672);Ih(a,c[b+56>>2]|0,c[e+28>>2]|0,25672);i=d;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=0;while(1){if((f|0)>=(d|0))break;g=f<<1;c[a+(f<<2)>>2]=(c[b+(g<<2)>>2]|0)+(c[b+((g|1)<<2)>>2]|0);f=f+1|0}i=e;return}function Ih(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;f=i;if((c|0)<=0){i=f;return}Cc(a,b,e+(d[26280+c>>0]|0)|0,8);i=f;return}function Jh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;j=e+24|0;g=e+16|0;h=e;f=j+2|0;Kh(j,f,c,d,26128);k=g+2|0;Kh(g,k,c,b[j>>1]|0,25976);d=h+2|0;Kh(h,d,c,b[g>>1]|0,25824);Kh(a,a+2|0,c,b[h>>1]|0,25672);Kh(a+4|0,a+6|0,c,b[d>>1]|0,25672);d=h+4|0;j=h+6|0;Kh(d,j,c,b[k>>1]|0,25824);Kh(a+8|0,a+10|0,c,b[d>>1]|0,25672);Kh(a+12|0,a+14|0,c,b[j>>1]|0,25672);j=g+4|0;g=g+6|0;Kh(j,g,c,b[f>>1]|0,25976);d=h+8|0;f=h+10|0;Kh(d,f,c,b[j>>1]|0,25824);Kh(a+16|0,a+18|0,c,b[d>>1]|0,25672);Kh(a+20|0,a+22|0,c,b[f>>1]|0,25672);f=h+12|0;d=h+14|0;Kh(f,d,c,b[g>>1]|0,25824);Kh(a+24|0,a+26|0,c,b[f>>1]|0,25672);Kh(a+28|0,a+30|0,c,b[d>>1]|0,25672);i=e;return}function Kh(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;if((f|0)>0){g=sc(e,g+(d[26280+f>>0]|0)|0,8)|0;b[a>>1]=g;a=f-g&65535;b[c>>1]=a;i=h;return}else{b[a>>1]=0;a=0;b[c>>1]=a;i=h;return}}function Lh(a){a=a|0;var b=0,d=0;b=i;if((a|0)<0){a=0-a|0;if((a|0)>191){a=0;i=b;return a|0}d=a>>5;a=(c[21920+(d<<2)>>2]|0)-($(c[21944+(d<<2)>>2]<<16>>16,a&31)|0)|0;i=b;return a|0}else{if((a|0)>191){d=32767;i=b;return d|0}d=a>>5;d=(c[21968+(d<<2)>>2]|0)+($(c[21944+(d<<2)>>2]<<16>>16,a&31)|0)|0;i=b;return d|0}return 0}function Mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=0;while(1){if((g|0)>=(e|0)){g=1;break}c[b+(g<<2)>>2]=g;g=g+1|0}while(1){if((g|0)>=(e|0))break;h=c[a+(g<<2)>>2]|0;j=g;while(1){k=j+ -1|0;if((j|0)<=0)break;l=c[a+(k<<2)>>2]|0;if((h|0)>=(l|0))break;c[a+(j<<2)>>2]=l;c[b+(j<<2)>>2]=c[b+(k<<2)>>2];j=k}c[a+(j<<2)>>2]=h;c[b+(j<<2)>>2]=g;g=g+1|0}g=a+(e+ -1<<2)|0;h=e+ -2|0;while(1){if((e|0)>=(d|0))break;j=c[a+(e<<2)>>2]|0;if((j|0)<(c[g>>2]|0)){k=h;while(1){if((k|0)<=-1)break;l=c[a+(k<<2)>>2]|0;if((j|0)>=(l|0))break;m=k+1|0;c[a+(m<<2)>>2]=l;c[b+(m<<2)>>2]=c[b+(k<<2)>>2];k=k+ -1|0}m=k+1|0;c[a+(m<<2)>>2]=j;c[b+(m<<2)>>2]=e}e=e+1|0}i=f;return}function Nh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=1;while(1){if((e|0)>=(c|0))break;f=b[a+(e<<1)>>1]|0;g=e;while(1){h=g+ -1|0;if((g|0)<=0)break;j=b[a+(h<<1)>>1]|0;if(f<<16>>16>=j<<16>>16)break;b[a+(g<<1)>>1]=j;g=h}b[a+(g<<1)>>1]=f;e=e+1|0}i=d;return}function Oh(d,f,g,h,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|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;q=i;i=i+16|0;s=q+8|0;w=q+4|0;x=q;u=f+ -4|0;v=p+2|0;r=i;i=i+((2*v|0)+15&-16)|0;y=0;while(1){if((y|0)>=(v|0))break;z=y+ -2|0;A=b[f+(z<<1)>>1]|0;z=b[g+(z<<1)>>1]|0;B=A+z|0;z=A-z|0;b[f+(y+ -2<<1)>>1]=(B>>>1)+(B&1);z=(z>>1)+(z&1)|0;if((z|0)>32767)z=32767;else z=(z|0)<-32768?-32768:z&65535;b[r+(y<<1)>>1]=z;y=y+1|0}v=d+4|0;y=e[v>>1]|e[v+2>>1]<<16;b[u>>1]=y;b[u+2>>1]=y>>>16;u=d+8|0;y=e[u>>1]|e[u+2>>1]<<16;c[r>>2]=y;z=f+(p+ -2<<1)|0;z=e[z>>1]|e[z+2>>1]<<16;b[v>>1]=z;b[v+2>>1]=z>>>16;v=r+(p<<1)|0;v=e[v>>1]|e[v+2>>1]<<16;b[u>>1]=v;b[u+2>>1]=v>>>16;u=i;i=i+((2*p|0)+15&-16)|0;v=i;i=i+((2*p|0)+15&-16)|0;y=y&65535;z=0;while(1){if((z|0)>=(p|0))break;A=b[f+(z+ -1<<1)>>1]|0;B=((b[f+(z+ -2<<1)>>1]|0)+(b[f+(z<<1)>>1]|0)+(A<<16>>16<<1)>>1)+1>>1;b[u+(z<<1)>>1]=B;b[v+(z<<1)>>1]=(A&65535)-B;z=z+1|0}A=i;i=i+((2*p|0)+15&-16)|0;z=i;i=i+((2*p|0)+15&-16)|0;B=0;while(1){if((B|0)>=(p|0))break;C=B+1|0;D=b[r+(C<<1)>>1]|0;E=((y<<16>>16)+(b[r+(B+2<<1)>>1]|0)+(D<<16>>16<<1)>>1)+1>>1;b[A+(B<<1)>>1]=E;b[z+(B<<1)>>1]=(D&65535)-E;y=D;B=C}E=(o*10|0)==(p|0);y=E?328:655;m=m<<16>>16;m=$(m,m)|0;y=($(m>>>16,y)|0)+(($(m&65535,y)|0)>>>16)|0;u=Xh(w,u,A,d+12|0,p,y)|0;c[s>>2]=u;v=Xh(x,v,z,d+20|0,p,y)|0;m=s+4|0;c[m>>2]=v;w=(c[x>>2]|0)+((c[w>>2]<<16>>16)*3|0)|0;w=(w|0)<65536?w:65536;l=l-(E?1200:600)|0;l=(l|0)<1?1:l;x=((o<<16>>16)*900|0)+2e3|0;A=w*3|0;z=Ph(l,A+851968|0,19)|0;c[k>>2]=z;if((z|0)<(x|0)){c[k>>2]=x;E=l-x|0;c[k+4>>2]=E;z=x<<16>>16;z=Ph((E<<1)-x|0,($(A+65536>>16,z)|0)+(($(A&65535,z)|0)>>16)|0,16)|0;if((z|0)>16384)A=16384;else A=(z|0)<0?0:z}else{c[k+4>>2]=l-z;A=16384}z=d+28|0;C=b[z>>1]|0;D=C&65535;E=y<<16>>16;b[z>>1]=D+(($(A-(C<<16>>16)>>16,E)|0)+(($(A-D&65535,E)|0)>>>16));a[j>>0]=0;a:do if(!n){y=(b[d+30>>1]|0)==0;do if(y){if((l<<3|0)>=(x*13|0)){n=b[z>>1]|0;E=n<<16>>16;if((($(w>>16,E)|0)+(($(w&65535,E)|0)>>16)|0)>=819){if(!y){t=25;break}n=b[z>>1]|0;break}}else n=b[z>>1]|0;t=n<<16>>16;c[s>>2]=($(t,u<<16>>16)|0)>>14;c[m>>2]=($(t,v<<16>>16)|0)>>14;ci(s,h);c[s>>2]=0;c[m>>2]=0;c[k>>2]=l;c[k+4>>2]=0;a[j>>0]=1;h=0;t=33;break a}else t=25;while(0);do if((t|0)==25){if((l<<3|0)>=(x*11|0)){t=b[z>>1]|0;E=t<<16>>16;if((($(w>>16,E)|0)+(($(w&65535,E)|0)>>16)|0)>=328){n=t;break}}else t=b[z>>1]|0;t=t<<16>>16;c[s>>2]=($(t,u<<16>>16)|0)>>14;c[m>>2]=($(t,v<<16>>16)|0)>>14;ci(s,h);c[s>>2]=0;c[m>>2]=0;h=0;t=32;break a}while(0);if(n<<16>>16>15565){ci(s,h);h=16384;t=32;break}else{t=n<<16>>16;c[s>>2]=($(t,u<<16>>16)|0)>>14;c[m>>2]=($(t,v<<16>>16)|0)>>14;ci(s,h);h=b[z>>1]|0;t=32;break}}else{c[s>>2]=0;c[m>>2]=0;ci(s,h);h=0;t=32}while(0);if((t|0)==32)if((a[j>>0]|0)==1)t=33;else{b[d+32>>1]=0;t=37}do if((t|0)==33){t=d+32|0;E=(e[t>>1]|0)+(p-(o<<3))|0;b[t>>1]=E;if((E<<16>>16|0)<(o*5|0)){a[j>>0]=0;t=38;break}else{b[t>>1]=1e4;t=37;break}}while(0);if((t|0)==37)if(!(a[j>>0]|0))t=38;else k=h;if((t|0)==38){j=k+4|0;if((c[j>>2]|0)<1){c[j>>2]=1;c[k>>2]=Qh(l+ -1|0)|0;k=h}else k=h}w=b[d>>1]|0;j=d+2|0;x=b[j>>1]|0;t=d+30|0;E=b[t>>1]|0;v=E<<16>>16;h=o<<3;s=c[s>>2]|0;l=(65536/(h|0)|0)<<16>>16;n=(($(s-(w&65535)<<16>>16,l)|0)>>15)+1>>1;o=c[m>>2]|0;u=(($(o-(x&65535)<<16>>16,l)|0)>>15)+1>>1;l=($(k-v>>16,l)|0)+(($(k-(E&65535)&65535,l)|0)>>16)<<10;w=0-(w<<16>>16)|0;x=0-(x<<16>>16)|0;m=0;v=v<<10;while(1){if((m|0)>=(h|0))break;w=w-n|0;x=x-u|0;v=v+l|0;y=m+1|0;E=b[f+(m+ -1<<1)>>1]|0;C=(b[f+(m+ -2<<1)>>1]|0)+(b[f+(m<<1)>>1]|0)+(E<<1)|0;B=b[r+(y<<1)>>1]|0;D=w<<16>>16;z=x<<16>>16;z=(($(v>>16,B)|0)+(($(v&64512,B)|0)>>16)+(($(C>>7,D)|0)+(($(C<<9&65024,D)|0)>>16))+(($(E>>5,z)|0)+(($(E<<11&63488,z)|0)>>16))>>7)+1>>1;if((z|0)>32767)z=32767;else z=(z|0)<-32768?-32768:z&65535;b[g+(m+ -1<<1)>>1]=z;m=y}u=k>>6;m=k<<10&64512;n=0-s<<16>>16;l=0-o<<16>>16;while(1){if((h|0)>=(p|0))break;v=h+1|0;w=b[f+(h+ -1<<1)>>1]|0;E=(b[f+(h+ -2<<1)>>1]|0)+(b[f+(h<<1)>>1]|0)+(w<<1)|0;D=b[r+(v<<1)>>1]|0;w=(($(u,D)|0)+(($(m,D)|0)>>16)+(($(E>>7,n)|0)+(($(E<<9&65024,n)|0)>>16))+(($(w>>5,l)|0)+(($(w<<11&63488,l)|0)>>16))>>7)+1>>1;if((w|0)>32767)w=32767;else w=(w|0)<-32768?-32768:w&65535;b[g+(h+ -1<<1)>>1]=w;h=v}b[d>>1]=s;b[j>>1]=o;b[t>>1]=k;i=q;return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=Rh((a|0)>0?a:0-a|0)|0;h=a< 0?b:0-b|0)|0)+ -1|0;a=b< >16|0)|0)<<16>>16;g=($(h>>16,b)|0)+(($(h&65535,b)|0)>>16)|0;a=Gj(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=uj(a|0,D|0,29)|0;a=h-(a&-8)|0;b=g+(($(a>>16,b)|0)+(($(a&65535,b)|0)>>16))|0;c=f+28-e-c|0;if((c|0)>=0){i=d;return((c|0)<32?b>>c:0)|0}c=0-c|0;a=-2147483648>>c;e=2147483647>>>c;if((a|0)>(e|0)){if((b|0)>(a|0)){h=a;h=h< (e|0)){h=e;h=h< >1]|e[l+2>>1]<<16;b[d>>1]=r;b[d+2>>1]=r>>>16;r=a+8|0;q=e[r>>1]|e[r+2>>1]<<16;b[f>>1]=q;b[f+2>>1]=q>>>16;q=d+(j<<1)|0;q=e[q>>1]|e[q+2>>1]<<16;b[l>>1]=q;b[l+2>>1]=q>>>16;l=f+(j<<1)|0;l=e[l>>1]|e[l+2>>1]<<16;b[r>>1]=l;b[r+2>>1]=l>>>16;r=b[a>>1]|0;l=a+2|0;q=b[l>>1]|0;m=h<<3;n=(65536/(m|0)|0)<<16>>16;p=(($((c[g>>2]|0)-(r&65535)<<16>>16,n)|0)>>15)+1>>1;h=g+4|0;n=(($((c[h>>2]|0)-(q&65535)<<16>>16,n)|0)>>15)+1>>1;r=r<<16>>16;q=q<<16>>16;s=0;while(1){if((s|0)>=(m|0))break;r=r+p|0;q=q+n|0;o=s+1|0;u=b[d+(o<<1)>>1]|0;w=(b[d+(s<<1)>>1]|0)+(b[d+(s+2<<1)>>1]|0)+(u<<1)|0;s=f+(o<<1)|0;v=r<<16>>16;t=q<<16>>16;t=((b[s>>1]<<8)+(($(w>>7,v)|0)+(($(w<<9&65024,v)|0)>>16))+(($(u>>5,t)|0)+(($(u<<11&63488,t)|0)>>16))>>7)+1>>1;if((t|0)>32767)t=32767;else t=(t|0)<-32768?-32768:t&65535;b[s>>1]=t;s=o}n=c[g>>2]<<16>>16;o=c[h>>2]<<16>>16;while(1){if((m|0)>=(j|0))break;p=m+1|0;q=b[d+(p<<1)>>1]|0;w=(b[d+(m<<1)>>1]|0)+(b[d+(m+2<<1)>>1]|0)+(q<<1)|0;m=f+(p<<1)|0;q=((b[m>>1]<<8)+(($(w>>7,n)|0)+(($(w<<9&65024,n)|0)>>16))+(($(q>>5,o)|0)+(($(q<<11&63488,o)|0)>>16))>>7)+1>>1;if((q|0)>32767)q=32767;else q=(q|0)<-32768?-32768:q&65535;b[m>>1]=q;m=p}b[a>>1]=c[g>>2];b[l>>1]=c[h>>2];g=0;while(1){if((g|0)>=(j|0))break;g=g+1|0;h=d+(g<<1)|0;w=b[h>>1]|0;l=f+(g<<1)|0;a=b[l>>1]|0;m=w+a|0;a=w-a|0;if((m|0)>32767)m=32767;else m=(m|0)<-32768?-32768:m&65535;b[h>>1]=m;if((a|0)>32767)a=32767;else a=(a|0)<-32768?-32768:a&65535;b[l>>1]=a}i=k;return}function Th(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;h=sc(a,24864,8)|0;g=(h|0)/5|0;c[f+8>>2]=g;c[f+20>>2]=h+($(g,-5)|0);g=0;while(1){if((g|0)>=2){g=0;break}c[f+(g*12|0)>>2]=sc(a,24984,8)|0;c[f+(g*12|0)+4>>2]=sc(a,25e3,8)|0;g=g+1|0}while(1){if((g|0)>=2)break;a=f+(g*12|0)|0;h=(c[a>>2]|0)+((c[f+(g*12|0)+8>>2]|0)*3|0)|0;c[a>>2]=h;a=b[24832+(h<<1)>>1]|0;h=b[24832+(h+1<<1)>>1]|0;h=($((h<<16>>16)-a>>16,429522944)|0)+(((h&65535)-a&65535)*6554|0)>>16;c[d+(g<<2)>>2]=a+($(h,c[f+(g*12|0)+4>>2]<<17>>16|1)|0);g=g+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);i=e;return}function Uh(a,b){a=a|0;b=b|0;var d=0;d=i;c[b>>2]=sc(a,24896,8)|0;i=d;return}function Vh(b,c){b=b|0;c=c|0;var d=0,e=0;d=i;Cc(b,((a[c+2>>0]|0)*5|0)+(a[c+5>>0]|0)|0,24864,8);e=0;while(1){if((e|0)>=2)break;Cc(b,a[c+(e*3|0)>>0]|0,24984,8);Cc(b,a[c+(e*3|0)+1>>0]|0,25e3,8);e=e+1|0}i=d;return}function Wh(a,b){a=a|0;b=b|0;var c=0;c=i;Cc(a,b<<24>>24,24896,8);i=c;return}function Xh(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+16|0;j=h+12|0;m=h+8|0;n=h+4|0;k=h;di(n,j,b,f);di(k,m,d,f);j=c[j>>2]|0;m=c[m>>2]|0;l=Yh(j,m)|0;l=l+(l&1)|0;m=c[k>>2]>>l-m;c[k>>2]=m;j=Yh(c[n>>2]>>l-j,1)|0;c[n>>2]=j;f=mh(b,d,l,f)|0;d=Zh(f,j,13)|0;if((d|0)>16384)d=16384;else d=(d|0)<-16384?-16384:d;o=d<<16>>16;p=($(d>>16,o)|0)+(($(d&65535,o)|0)>>16)|0;n=Yh(g,(p|0)>0?p:0-p|0)|0;b=l>>1;q=c[e>>2]|0;g=(_h(j)|0)<>16;g=$(g-(c[e>>2]|0)>>16,n)|0;l=(_h(j)|0)<>2]=q+(g+(($(l-(c[e>>2]|0)&65535,n)|0)>>16));l=p<<16>>16;l=m-(($(f>>16,o)|0)+(($(f&65535,o)|0)>>16)<<4)+(($(j>>16,l)|0)+(($(j&65535,l)|0)>>16)<<6)|0;c[k>>2]=l;g=e+4|0;m=c[g>>2]|0;f=(_h(l)|0)<>2]|0)>>16,n)|0;b=(_h(l)|0)<>2]|0)&65535,n)|0)>>16))|0;c[g>>2]=n;g=c[e>>2]|0;g=Zh(n,(g|0)>1?g:1,14)|0;c[a>>2]=g;if((g|0)>32767){q=32767;c[a>>2]=q;i=h;return d|0}q=(g|0)<0?0:g;c[a>>2]=q;i=h;return d|0}function Yh(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?a:b)|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=ai((a|0)>0?a:0-a|0)|0;h=a< 0?b:0-b|0)|0)+ -1|0;a=b< >16|0)|0)<<16>>16;g=($(h>>16,b)|0)+(($(h&65535,b)|0)>>16)|0;a=Gj(a|0,((a|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;a=uj(a|0,D|0,29)|0;a=h-(a&-8)|0;b=g+(($(a>>16,b)|0)+(($(a&65535,b)|0)>>16))|0;c=f+28-e-c|0;if((c|0)>=0){i=d;return((c|0)<32?b>>c:0)|0}c=0-c|0;a=-2147483648>>c;e=2147483647>>>c;if((a|0)>(e|0)){if((b|0)>(a|0)){h=a;h=h< (e|0)){h=e;h=h< >2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);e=($(c[e>>2]<<16>>16,13959168)|0)>>16;e=d+(($(d>>16,e)|0)+(($(d&65535,e)|0)>>16))|0;i=b;return e|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=ai(a)|0;c[b>>2]=f;c[d>>2]=(bi(a,24-f|0)|0)&127;i=e;return}function ai(a){a=a|0;var b=0;b=i;if(!a)a=32;else a=vj(a|0)|0;i=b;return a|0}function bi(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=0-b|0;do if(b)if((b|0)<0){a=a< >>(b+32|0);break}else{a=a<<32-b|a>>>b;break}while(0);i=c;return a|0}function ci(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;p=0;h=0;while(1){if((h|0)>=2)break;f=d+(h<<2)|0;g=e+(h*3|0)|0;k=e+(h*3|0)+1|0;q=2147483647;o=0;a:while(1){if((o|0)>=15)break;l=b[24832+(o<<1)>>1]|0;n=o+1|0;m=b[24832+(n<<1)>>1]|0;m=($((m<<16>>16)-l>>16,429522944)|0)+(((m&65535)-l&65535)*6554|0)>>16;o=o&255;r=0;while(1){if((r|0)>=5){o=n;continue a}t=l+($(m,r<<17>>16|1)|0)|0;s=c[f>>2]|0;u=s-t|0;s=(u|0)>0?u:t-s|0;if((s|0)>=(q|0))break a;a[g>>0]=o;a[k>>0]=r;q=s;p=t;r=r+1|0}}t=a[g>>0]|0;u=(t<<24>>24|0)/3|0;a[e+(h*3|0)+2>>0]=u;a[g>>0]=(t&255)+($(u<<24>>24,-3)|0);c[f>>2]=p;h=h+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);i=j;return}function di(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;f=f+ -1|0;l=0;h=0;while(1){if((h|0)>=(f|0)){k=0;break}k=b[e+(h<<1)>>1]|0;k=l+($(k,k)|0)|0;l=b[e+((h|1)<<1)>>1]|0;l=k+($(l,l)|0)|0;if((l|0)<0){j=4;break}h=h+2|0}if((j|0)==4){h=h+2|0;l=l>>>2;k=2}while(1){if((h|0)>=(f|0))break;m=b[e+(h<<1)>>1]|0;m=$(m,m)|0;j=b[e+(h+1<<1)>>1]|0;l=l+((m+($(j,j)|0)|0)>>>k)|0;if((l|0)<0){l=l>>>2;k=k+2|0}h=h+2|0}if((h|0)==(f|0)){m=b[e+(f<<1)>>1]|0;l=l+(($(m,m)|0)>>>k)|0}if(l>>>0<=1073741823){m=l;l=k;c[d>>2]=l;c[a>>2]=m;i=g;return}m=l>>>2;l=k+2|0;c[d>>2]=l;c[a>>2]=m;i=g;return}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0,n=0.0;e=i;h=a+8504|0;k=c[h>>2]|0;j=c[a+8500>>2]|0;f=j-k|0;f=(f|0)<0?f+200|0:f;if(!((d|0)<=480|(k|0)==(j|0))){k=k+1|0;k=(k|0)==200?0:k}m=(k|0)==(j|0);j=j+ -1|0;j=a+((((m?j:k)|0)<0?199:m?j:k)*28|0)+8512|0;c[b+0>>2]=c[j+0>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[b+20>>2]=c[j+20>>2];c[b+24>>2]=c[j+24>>2];j=a+8508|0;d=(c[j>>2]|0)+((d|0)/120|0)|0;c[j>>2]=d;while(1){if((d|0)<=3)break;m=d+ -4|0;c[j>>2]=m;c[h>>2]=(c[h>>2]|0)+1;d=m}d=c[h>>2]|0;if((d|0)>199)c[h>>2]=d+ -200;h=f+ -10|0;h=200-((h|0)>0?h:0)|0;l=0.0;f=0;while(1){if((f|0)>=(h|0))break;l=l+ +g[a+(f<<2)+7684>>2];f=f+1|0}while(1){if((f|0)>=200)break;n=l+ +g[a+(f<<2)+6884>>2];f=f+1|0;l=n}g[b+20>>2]=l*+g[a+8488>>2]+(1.0-l)*+g[a+8484>>2];i=e;return}function fi(a,b,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0;o=i;if(!d){c[n>>2]=0;ei(a,n,f);i=o;return}k=(k*195|0)/100|0;k=(k|0)<(e|0)?k:e;e=a+6880|0;q=c[e>>2]|0;p=q;q=k-q|0;while(1){gi(a,b,d,(q|0)>480?480:q,p,g,h,j,l,m);q=q+ -480|0;if((q|0)<=0)break;else p=p+480|0}c[e>>2]=k-f;c[n>>2]=0;ei(a,n,f);i=o;return}function gi(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,_=0.0,$=0.0;n=i;i=i+9888|0;z=n+9816|0;v=n+9744|0;t=n+9712|0;s=n+9608|0;r=n+9600|0;M=n+5760|0;x=n+1920|0;y=n+960|0;A=n;o=a+6860|0;c[o>>2]=(c[o>>2]|0)+1;q=a+6864|0;p=c[q>>2]|0;if((p|0)>19){u=1.0/20.0;if((p|0)>49)w=50.0;else B=4}else{u=1.0/+(p+1|0);B=4}if((B|0)==4)w=+(p+1|0);w=1.0/w;if((p|0)<=999){F=1.0/+(p+1|0);if((p|0)<4){g[a+6840>>2]=.5;V=c[b+72>>2]|0;if(!p){c[a+5760>>2]=240;p=240}else B=10}else B=8}else{F=1.0/1.0e3;B=8}if((B|0)==8){V=c[b+72>>2]|0;B=10}if((B|0)==10)p=c[a+5760>>2]|0;U=a+5760|0;W=720-p|0;Ca[m&3](d,a+(p<<2)+2880|0,(W|0)>(e|0)?e:W,f,h,j,k);W=c[U>>2]|0;p=W+e|0;if((p|0)<720){c[U>>2]=p;i=n;return}X=a+8500|0;b=c[X>>2]|0;p=a+(b*28|0)+8512|0;c[X>>2]=(b|0)>198?b+ -199|0:b+1|0;X=0;while(1){if((X|0)>=240)break;T=+g[26352+(X<<2)>>2];g[M+(X<<3)>>2]=T*+g[a+(X<<2)+2880>>2];g[M+(X<<3)+4>>2]=T*+g[a+(X+240<<2)+2880>>2];Y=480-X+ -1|0;g[M+(Y<<3)>>2]=T*+g[a+(Y<<2)+2880>>2];g[M+(Y<<3)+4>>2]=T*+g[a+(720-X+ -1<<2)+2880>>2];X=X+1|0}yj(a+2880|0,a+4800|0,960)|0;Y=W+ -720+e|0;Ca[m&3](d,a+3840|0,Y,f+720-W|0,h,j,k);c[U>>2]=Y+240;Qc(V,M,x);T=+g[x>>2];if(T!=T|0.0!=0.0){c[p>>2]=0;i=n;return}else k=1;while(1){if((k|0)>=240)break;J=+g[x+(k<<3)>>2];W=480-k|0;I=+g[x+(W<<3)>>2];L=+g[x+(k<<3)+4>>2];R=+g[x+(W<<3)+4>>2];S=+hi(L-R,J+I)*.15915493667125702;W=a+(k<<2)|0;T=S- +g[W>>2];X=a+(k<<2)+960|0;K=T- +g[X>>2];R=+hi(I-J,L+R)*.15915493667125702;S=R-S;T=S-T;K=K- +N(+(K+.5));L=K*K;T=T- +N(+(T+.5));g[A+(k<<2)>>2]=+O(+K)+ +O(+T);T=T*T;T=T*T;Y=a+(k<<2)+1920|0;g[y+(k<<2)>>2]=1.0/((+g[Y>>2]+L*L*2.0+T)*.25*62341.81640625+1.0)+-.014999999664723873;g[W>>2]=R;g[X>>2]=S;g[Y>>2]=T;k=k+1|0}k=a+(b*28|0)+8528|0;g[k>>2]=0.0;a:do if(!(c[q>>2]|0)){e=0;while(1){if((e|0)>=18)break a;g[a+(e<<2)+6416>>2]=1.0e10;g[a+(e<<2)+6488>>2]=-1.0e10;e=e+1|0}}while(0);e=a+6852|0;I=0.0;H=0.0;E=0.0;J=0.0;D=0.0;G=0.0;C=0.0;d=0;while(1){if((d|0)>=18)break;m=d+1|0;f=c[27312+(m<<2)>>2]|0;R=0.0;S=0.0;M=c[27312+(d<<2)>>2]|0;K=0.0;while(1){if((M|0)>=(f|0))break;$=+g[x+(M<<3)>>2];Y=480-M|0;_=+g[x+(Y<<3)>>2];T=+g[x+(M<<3)+4>>2];L=+g[x+(Y<<3)+4>>2];L=$*$+_*_+T*T+L*L;T=K+L*+g[y+(M<<2)>>2];R=R+L;S=S+L*2.0*(.5- +g[A+(M<<2)>>2]);M=M+1|0;K=T}if(!(R<1.0e9)|(R!=R|0.0!=0.0)){B=30;break}g[a+((c[e>>2]|0)*72|0)+(d<<2)+5840>>2]=R;L=R+1.0000000036274937e-15;H=H+S/L;R=R+1.000000013351432e-10;I=I+ +P(+R);R=+Z(+R);g[v+(d<<2)>>2]=R;M=a+(d<<2)+6416|0;T=+g[M>>2]+.009999999776482582;T=R >2]=T;f=a+(d<<2)+6488|0;S=+g[f>>2]+-.10000000149011612;S=R>S?R:S;g[f>>2]=S;if(S >2]=S;T=T+-.5;g[M>>2]=T}G=G+(R-T)/(S+1.0000000036274937e-15-T);R=0.0;S=0.0;f=0;while(1){if((f|0)>=8)break;$=+g[a+(f*72|0)+(d<<2)+5840>>2];R=R+ +P(+$);S=S+$;f=f+1|0}R=R/+P(+(S*8.0+1.0e-15));R=R>.9900000095367432?.9900000095367432:R;R=R*R;R=R*R;$=K/L;f=a+(d<<2)+5764|0;K=R*+g[f>>2];K=$>K?$:K;g[z+(d<<2)>>2]=K;J=J+K;if((d|0)>8)J=J- +g[z+(d+ -9<<2)>>2];$=(+(d+ -18|0)*.029999999329447746+1.0)*J;g[f>>2]=K;E=E+R;D=D>$?D:$;C=C+K*+(d+ -8|0);d=m}if((B|0)==30){c[p>>2]=0;i=n;return}A=l+ -8|0;J=.0005699999746866524/+(1<<((A|0)<0?0:A)|0);J=J*J;F=1.0-F;A=0;K=0.0;R=0.0;l=0;while(1){if((l|0)>=21)break;z=c[27392+(l<<2)>>2]|0;y=l+1|0;B=c[27392+(y<<2)>>2]|0;L=0.0;m=z;while(1){if((m|0)>=(B|0))break;S=+g[x+(m<<3)>>2];Y=480-m|0;T=+g[x+(Y<<3)>>2];_=+g[x+(m<<3)+4>>2];$=+g[x+(Y<<3)+4>>2];L=L+(S*S+T*T+_*_+$*$);m=m+1|0}R=R>L?R:L;Y=a+(l<<2)+6560|0;$=F*+g[Y>>2];$=$>L?$:L;g[Y>>2]=$;L=L>$?L:$;K=K*.05000000074505806;K=K>L?K:L;if(!(L>K*.1&L*1.0e9>R)){Y=A;l=y;A=Y;continue}if(!(L>J*+(B-z|0))){Y=A;l=y;A=Y;continue}A=l;l=y}x=(c[q>>2]|0)<3?20:A;_=+la(+I)*20.0;y=a+6844|0;$=+g[y>>2]+-.029999999329447746;$=$>_?$:_;g[y>>2]=$;y=a+6848|0;F=+g[y>>2]*(1.0-w);if(_<$+-30.0)F=F+w;g[y>>2]=F;l=0;while(1){if((l|0)>=8)break;z=l<<4;A=0;w=0.0;while(1){if((A|0)>=16)break;$=w+ +g[27480+(z+A<<2)>>2]*+g[v+(A<<2)>>2];A=A+1|0;w=$}g[t+(l<<2)>>2]=w;l=l+1|0}E=E/18.0;w=H/18.0;g[k>>2]=w+(1.0-w)*((c[q>>2]|0)<10?.5:G/18.0);_=D/9.0;v=a+5836|0;$=+g[v>>2]*.800000011920929;$=_>$?_:$;g[v>>2]=$;v=a+(b*28|0)+8520|0;g[v>>2]=C*.015625;c[e>>2]=((c[e>>2]|0)+1|0)%8|0;c[q>>2]=(c[q>>2]|0)+1;l=a+(b*28|0)+8516|0;g[l>>2]=$;z=0;while(1){if((z|0)>=4)break;g[s+(z<<2)>>2]=(+g[t+(z<<2)>>2]+ +g[a+(z+24<<2)+6644>>2])*-.12298999726772308+(+g[a+(z<<2)+6644>>2]+ +g[a+(z+16<<2)+6644>>2])*.49195000529289246+ +g[a+(z+8<<2)+6644>>2]*.6969299912452698- +g[a+(z<<2)+6772>>2]*1.4349000453948975;z=z+1|0}C=1.0-u;z=0;while(1){if((z|0)>=4){z=0;break}Y=a+(z<<2)+6772|0;g[Y>>2]=C*+g[Y>>2]+u*+g[t+(z<<2)>>2];z=z+1|0}while(1){if((z|0)>=4){z=0;break}g[s+(z+4<<2)>>2]=(+g[t+(z<<2)>>2]- +g[a+(z+24<<2)+6644>>2])*.6324599981307983+(+g[a+(z<<2)+6644>>2]- +g[a+(z+16<<2)+6644>>2])*.31622999906539917;z=z+1|0}while(1){if((z|0)>=3)break;Y=z+8|0;g[s+(Y<<2)>>2]=(+g[t+(z<<2)>>2]+ +g[a+(z+24<<2)+6644>>2])*.5345199704170227-(+g[a+(z<<2)+6644>>2]+ +g[a+(z+16<<2)+6644>>2])*.26725998520851135- +g[a+(Y<<2)+6644>>2]*.5345199704170227;z=z+1|0}b:do if((c[q>>2]|0)>5){z=0;while(1){if((z|0)>=9){z=0;break b}Y=a+(z<<2)+6804|0;$=+g[s+(z<<2)>>2];g[Y>>2]=C*+g[Y>>2]+u*$*$;z=z+1|0}}else z=0;while(0);while(1){if((z|0)>=8){t=0;break}Y=a+(z+16<<2)+6644|0;g[a+(z+24<<2)+6644>>2]=+g[Y>>2];X=a+(z+8<<2)+6644|0;g[Y>>2]=+g[X>>2];Y=a+(z<<2)+6644|0;g[X>>2]=+g[Y>>2];g[Y>>2]=+g[t+(z<<2)>>2];z=z+1|0}while(1){if((t|0)>=9)break;g[s+(t+11<<2)>>2]=+P(+(+g[a+(t<<2)+6804>>2]));t=t+1|0}g[s+80>>2]=+g[l>>2];g[s+84>>2]=+g[k>>2];g[s+88>>2]=E;g[s+92>>2]=+g[v>>2];g[s+96>>2]=+g[y>>2];ii(s,r);u=(+g[r>>2]+1.0)*.5;u=u*1.2100000381469727*u+.009999999776482582- +Q(+u,10.0)*.23000000417232513;Y=r+4|0;C=+g[Y>>2]*.5+.5;g[Y>>2]=C;u=C*u+(1.0-C)*.5;g[r>>2]=u;D=C*4999999873689376.0e-20;if(!(u>.949999988079071))if(u<.05000000074505806)H=.05000000074505806;else H=u;else H=.949999988079071;r=a+6840|0;F=+g[r>>2];if(!(F>.949999988079071))if(F<.05000000074505806)G=.05000000074505806;else G=F;else G=.949999988079071;S=1.0-F;E=1.0-D;T=1.0-u;$=+O(+(H-G))*.05000000074505806/(H*(1.0-G)+G*(1.0-H))+.009999999776482582;_=u;G=(F*E+S*D)*+Q(+_,+$);G=G/((S*E+F*D)*+Q(+T,+$)+G);g[r>>2]=G;g[a+(b*28|0)+8532>>2]=G;G=+Q(+T,+$);F=+Q(+_,+$);s=a+6884|0;if((c[q>>2]|0)==1){g[s>>2]=.5;g[a+7684>>2]=.5;H=.5;I=.5}else{H=+g[s>>2];I=+g[a+7684>>2]}H=H+ +g[a+6888>>2];I=I+ +g[a+7688>>2];g[a+6884>>2]=H*E*G;g[a+7684>>2]=I*E*F;q=1;while(1){if((q|0)>=199)break;Y=q+1|0;g[a+(q<<2)+6884>>2]=+g[a+(Y<<2)+6884>>2]*G;g[a+(q<<2)+7684>>2]=+g[a+(Y<<2)+7684>>2]*F;q=Y}g[a+7680>>2]=I*D*G;g[a+8480>>2]=H*D*F;D=9.999999682655225e-21;q=0;while(1){if((q|0)>=200)break;D=D+(+g[a+(q<<2)+6884>>2]+ +g[a+(q<<2)+7684>>2]);q=q+1|0}D=1.0/D;q=0;while(1){if((q|0)>=200){q=1;break}Y=a+(q<<2)+6884|0;g[Y>>2]=+g[Y>>2]*D;Y=a+(q<<2)+7684|0;g[Y>>2]=+g[Y>>2]*D;q=q+1|0}while(1){if((q|0)>=200)break;q=q+1|0}if(C>.75){C=+g[r>>2];if(C>.9){Y=a+8496|0;X=(c[Y>>2]|0)+1|0;c[Y>>2]=X;c[Y>>2]=(X|0)<500?X:500;Y=a+8488|0;_=+g[Y>>2];$=u-_;g[Y>>2]=_+1.0/+(X|0)*($<-.20000000298023224?-.20000000298023224:$)}if(C<.1){Y=a+8492|0;X=(c[Y>>2]|0)+1|0;c[Y>>2]=X;c[Y>>2]=(X|0)<500?X:500;Y=a+8484|0;_=+g[Y>>2];$=u-_;g[Y>>2]=_+1.0/+(X|0)*($>.20000000298023224?.20000000298023224:$)}}else{if(!(c[a+8496>>2]|0))g[a+8488>>2]=.8999999761581421;if(!(c[a+8492>>2]|0))g[a+8484>>2]=.10000000149011612}q=a+6856|0;r=+g[r>>2]>.5&1;if((c[q>>2]|0)!=(r|0))c[o>>2]=0;c[q>>2]=r;c[a+(b*28|0)+8536>>2]=x;g[a+(b*28|0)+8524>>2]=w;c[p>>2]=1;i=n;return}function hi(a,b){a=+a;b=+b;var c=0,d=0.0,e=0.0,f=0.0;c=i;if(+O(+b)+ +O(+a)<9.999999717180685e-10){a=a*999999995904.0;b=b*999999995904.0}d=b*b;e=a*a;if(d =15){e=0;break}h=k;f=0;j=+g[k>>2];while(1){h=h+4|0;if((f|0)>=25)break;l=j+ +g[a+(f<<2)>>2]*+g[h>>2];f=f+1|0;j=l}g[c+(e<<2)>>2]=+ji(j);k=h;e=e+1|0}while(1){if((e|0)>=2)break;f=k;a=0;j=+g[k>>2];while(1){k=f+4|0;if((a|0)>=15)break;l=j+ +g[c+(a<<2)>>2]*+g[k>>2];f=k;a=a+1|0;j=l}g[b+(e<<2)>>2]=+ji(j);e=e+1|0}i=d;return}function ji(a){a=+a;var b=0,c=0.0,d=0.0,e=0;b=i;if(!(a<8.0)){a=1.0;i=b;return+a}if(!(a>-8.0)){a=-1.0;i=b;return+a}if(a!=a|0.0!=0.0){a=0.0;i=b;return+a}if(a<0.0){a=-a;c=-1.0}else c=1.0;e=~~+N(+(a*25.0+.5));a=a- +(e|0)*.03999999910593033;d=+g[27992+(e<<2)>>2];a=c*(d+a*(1.0-d*d)*(1.0-d*a));i=b;return+a}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0;e=i;if((c|0)<1|(b|0)<1|(a|0)==0|(d|0)==0){i=e;return}j=$(b,c)|0;h=0;while(1){if((h|0)>=(j|0)){f=0;break}f=a+(h<<2)|0;k=+g[f>>2];if(!(k>2.0)){if(k<-2.0)k=-2.0}else k=2.0;g[f>>2]=k;h=h+1|0}while(1){if((f|0)>=(c|0))break;j=a+(f<<2)|0;h=d+(f<<2)|0;q=+g[h>>2];l=0;while(1){if((l|0)>=(b|0))break;m=a+(f+($(l,c)|0)<<2)|0;o=+g[m>>2];k=o*q;if(k>=0.0)break;g[m>>2]=o+k*o;l=l+1|0}k=+g[j>>2];n=0;while(1){m=n;while(1){if((m|0)>=(b|0))break;t=+g[a+(f+($(m,c)|0)<<2)>>2];if(t>1.0|t<-1.0)break;m=m+1|0}if((m|0)==(b|0)){o=0.0;break}q=+g[a+(f+($(m,c)|0)<<2)>>2];o=+O(+q);p=m;while(1){if((p|0)<=0){l=m;break}l=p+ -1|0;if(!(q*+g[a+(f+($(l,c)|0)<<2)>>2]>=0.0)){l=m;break}else p=l}while(1){if((l|0)>=(b|0))break;s=+g[a+(f+($(l,c)|0)<<2)>>2];if(!(q*s>=0.0))break;t=+O(+s);u=t>o;r=u?l:m;l=l+1|0;o=u?t:o;m=r}if(!p)r=q*+g[j>>2]>=0.0;else r=0;o=(o+-1.0)/(o*o);if(q>0.0)o=-o;while(1){if((p|0)>=(l|0))break;u=a+(f+($(p,c)|0)<<2)|0;t=+g[u>>2];g[u>>2]=t+o*t*t;p=p+1|0}a:do if(r&(m|0)>1){s=k- +g[j>>2];q=s/+(m|0);while(1){if((n|0)>=(m|0))break a;s=s-q;p=a+(f+($(n,c)|0)<<2)|0;t=+g[p>>2]+s;g[p>>2]=t;if(!(t>1.0)){if(t<-1.0)t=-1.0}else t=1.0;g[p>>2]=t;n=n+1|0}}while(0);if((l|0)==(b|0))break;else n=l}g[h>>2]=o;f=f+1|0}i=e;return}function li(b,c){b=b|0;c=c|0;var d=0,e=0;d=i;if((b|0)<252){a[c>>0]=b;c=1;i=d;return c|0}else{e=b|252;a[c>>0]=e;a[c+1>>0]=(b-(e&255)|0)>>>2;c=2;i=d;return c|0}return 0}function mi(b,c){b=b|0;c=c|0;var d=0;d=i;b=a[b>>0]|0;do if(b<<24>>24>=0)if((b&96)==96)if(!(b&8)){c=(c|0)/100|0;break}else{c=(c|0)/50|0;break}else{b=(b&255)>>>3&3;if((b|0)==3){c=(c*60|0)/1e3|0;break}else{c=(c<>>3&3)|0)/400|0;while(0);i=d;return c|0}function ni(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|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,N=0,O=0;m=i;if(!j){e=-1;i=m;return e|0}N=mi(d,48e3)|0;C=d+1|0;n=a[d>>0]|0;I=e+ -1|0;M=n&3;a:do if((M|0)==1)if(!f)if(!(I&1)){F=(I|0)/2|0;b[j>>1]=F;A=C;y=I;z=1;B=2;D=0;N=30;break}else{e=-4;i=m;return e|0}else{s=C;t=I;r=1;p=2;q=I;o=0;N=31}else if(!M){A=C;y=I;z=0;B=1;F=I;D=0;N=30}else if((M|0)==2){y=oi(C,I,j)|0;x=I-y|0;z=b[j>>1]|0;if(z<<16>>16<0){e=-4;i=m;return e|0}C=z<<16>>16;if((C|0)>(x|0)){e=-4;i=m;return e|0}else{A=d+(y+1)|0;y=x;z=0;B=2;F=x-C|0;D=0;N=30;break}}else{if((e|0)<2){e=-4;i=m;return e|0}O=d+2|0;M=a[C>>0]|0;C=M&63;if(!C){e=-4;i=m;return e|0}if(($(N,C)|0)>5760){e=-4;i=m;return e|0}N=e+ -2|0;do if(M&64){e=0;while(1){if((N|0)<1){E=-4;N=51;break}K=O+1|0;J=a[O>>0]|0;L=N+ -1|0;if(J<<24>>24!=-1){N=16;break}O=K;N=L-254|0;e=e+254|0}if((N|0)==16){x=J&255;H=K;G=L-x|0;x=e+x|0;break}else if((N|0)==51){i=m;return E|0}}else{H=O;G=N;x=0}while(0);if((G|0)<0){e=-4;i=m;return e|0}e=(M&255)>>>7;J=e&255^1;if(e<<24>>24!=1){if(f){s=H;t=G;r=J;p=C;q=I;o=x;N=31;break}F=(G|0)/(C|0)|0;if(($(F,C)|0)!=(G|0)){e=-4;i=m;return e|0}y=C+ -1|0;A=F&65535;z=0;while(1){if((z|0)>=(y|0)){A=H;y=G;z=J;B=C;D=x;N=30;break a}b[j+(z<<1)>>1]=A;z=z+1|0}}I=C+ -1|0;K=G;M=0;while(1){if((M|0)>=(I|0)){N=24;break}O=j+(M<<1)|0;L=oi(H,K,O)|0;N=K-L|0;O=b[O>>1]|0;if(O<<16>>16<0){E=-4;N=51;break}O=O<<16>>16;if((O|0)>(N|0)){E=-4;N=51;break}H=H+L|0;K=N;G=G-(L+O)|0;M=M+1|0}if((N|0)==24){if((G|0)<0)E=-4;else{A=H;y=K;z=J;B=C;F=G;D=x;N=30;break}i=m;return E|0}else if((N|0)==51){i=m;return E|0}}while(0);do if((N|0)==30)if(!f)if((F|0)>1275){e=-4;i=m;return e|0}else{b[j+(B+ -1<<1)>>1]=F;w=A;u=B;v=D;break}else{s=A;t=y;r=z;p=B;q=F;o=D;N=31}while(0);b:do if((N|0)==31){v=p+ -1|0;u=j+(v<<1)|0;f=oi(s,t,u)|0;t=t-f|0;w=b[u>>1]|0;if(w<<16>>16<0){e=-4;i=m;return e|0}x=w<<16>>16;if((x|0)>(t|0)){e=-4;i=m;return e|0}w=s+f|0;if(!r){if((f+x|0)>(q|0))E=-4;else{u=p;v=o;break}i=m;return E|0}if(($(x,p)|0)>(t|0)){e=-4;i=m;return e|0}else q=0;while(1){if((q|0)>=(v|0)){u=p;v=o;break b}b[j+(q<<1)>>1]=b[u>>1]|0;q=q+1|0}}while(0);if(k)c[k>>2]=w-d;o=(h|0)==0;p=0;while(1){if((p|0)>=(u|0))break;if(!o)c[h+(p<<2)>>2]=w;w=w+(b[j+(p<<1)>>1]|0)|0;p=p+1|0}if(l)c[l>>2]=v+(w-d);if(!g){e=u;i=m;return e|0}a[g>>0]=n;e=u;i=m;return e|0}function oi(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0;g=i;do if((e|0)>=1){h=a[c>>0]|0;if((h&255)<252){b[f>>1]=h&255;f=1;break}if((e|0)<2){b[f>>1]=-1;f=-1;break}else{b[f>>1]=((d[c+1>>0]|0)<<2)+(h&255);f=2;break}}else{b[f>>1]=-1;f=-1}while(0);i=g;return f|0}function pi(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;if((a|0)<1|(a|0)>2){d=0;i=b;return d|0}if(yf(d)|0){d=0;i=b;return d|0}e=qi(c[d>>2]|0)|0;c[d>>2]=e;d=rb(a)|0;d=(qi(88)|0)+e+d|0;i=b;return d|0}function qi(a){a=a|0;return a+3&-4|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+4|0;if(!((b|0)==8e3|(b|0)==12e3|(b|0)==16e3|(b|0)==24e3|(b|0)==48e3)){g=-1;i=e;return g|0}if((d+ -1|0)>>>0>=2){g=-1;i=e;return g|0}wj(a|0,0,pi(d)|0)|0;if(yf(g)|0){g=-3;i=e;return g|0}j=qi(c[g>>2]|0)|0;c[g>>2]=j;h=qi(88)|0;c[a+4>>2]=h;g=h+j|0;c[a>>2]=g;g=a+g|0;c[a+8>>2]=d;c[a+44>>2]=d;c[a+12>>2]=b;c[a+24>>2]=b;c[a+16>>2]=d;if(zf(a+h|0)|0){j=-3;i=e;return j|0}if(tb(g,b,d)|0){j=-3;i=e;return j|0}c[f>>2]=0;Cb(g,10016,f);c[a+56>>2]=0;c[a+60>>2]=(b|0)/400|0;c[a+84>>2]=0;j=0;i=e;return j|0}function si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;do if((a|0)==8e3|(a|0)==12e3|(a|0)==16e3|(a|0)==24e3|(a|0)==48e3?(b+ -1|0)>>>0<2:0){g=ti(pi(b)|0)|0;if(!g){if(!d){g=0;break}c[d>>2]=-7;g=0;break}a=ri(g,a,b)|0;if(d)c[d>>2]=a;if(a){ui(g);g=0}}else e=3;while(0);if((e|0)==3)if(!d)g=0;else{c[d>>2]=-1;g=0}i=f;return g|0}function ti(a){a=a|0;var b=0;b=i;a=qj(a)|0;i=b;return a|0}function ui(a){a=a|0;var b=0;b=i;rj(a);i=b;return}function vi(d,e,f,h,j,k,l){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|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;m=i;i=i+112|0;w=m;x=m+104|0;n=m+8|0;if((k|0)<0|(k|0)>1){x=-1;i=m;return x|0}v=(k|0)==0;if(v^1|(f|0)==0|(e|0)==0?((j|0)%((c[d+12>>2]|0)/400|0|0)|0|0)!=0:0){x=-1;i=m;return x|0}if((f|0)==0|(e|0)==0){n=d+8|0;q=0;do{l=wi(d,0,0,h+(($(q,c[n>>2]|0)|0)<<2)|0,j-q|0,0)|0;if((l|0)<0){o=l;p=28;break}q=q+l|0}while((q|0)<(j|0));if((p|0)==28){i=m;return o|0}c[d+68>>2]=q;x=q;i=m;return x|0}if((f|0)<0){x=-1;i=m;return x|0}t=xi(e)|0;s=yi(e)|0;k=mi(e,c[d+12>>2]|0)|0;u=zi(a[e>>0]|0)|0;f=ni(e,f,0,x,0,n,w,0)|0;if((f|0)<0){x=f;i=m;return x|0}e=e+(c[w>>2]|0)|0;if(v){if(($(f,k)|0)>(j|0)){x=-2;i=m;return x|0}c[d+52>>2]=t;c[d+48>>2]=s;c[d+60>>2]=k;c[d+44>>2]=u;q=d+8|0;t=0;r=0;while(1){if((r|0)>=(f|0))break;s=n+(r<<1)|0;k=wi(d,e,b[s>>1]|0,h+(($(t,c[q>>2]|0)|0)<<2)|0,j-t|0,0)|0;if((k|0)<0){o=k;p=28;break}e=e+(b[s>>1]|0)|0;t=t+k|0;r=r+1|0}if((p|0)==28){i=m;return o|0}c[d+68>>2]=t;if(!l){g[d+76>>2]=0.0;g[d+72>>2]=0.0;x=t;i=m;return x|0}else{ki(h,t,c[q>>2]|0,d+72|0);x=t;i=m;return x|0}}else{if(!((k|0)>(j|0)|(t|0)==1002)?(q=d+52|0,(c[q>>2]|0)!=1002):0){o=d+68|0;f=c[o>>2]|0;p=j-k|0;if((k|0)!=(j|0)?(r=vi(d,0,0,h,p,0,l)|0,(r|0)<0):0){c[o>>2]=f;x=r;i=m;return x|0}c[q>>2]=t;c[d+48>>2]=s;c[d+60>>2]=k;c[d+44>>2]=u;d=wi(d,e,b[n>>1]|0,h+(($(c[d+8>>2]|0,p)|0)<<2)|0,k,1)|0;if((d|0)<0){x=d;i=m;return x|0}c[o>>2]=j;x=j;i=m;return x|0}x=vi(d,0,0,h,j,0,l)|0;i=m;return x|0}return 0}function wi(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,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;k=i;i=i+80|0;q=k;l=k+16|0;B=k+12|0;m=k+8|0;u=k+64|0;s=k+4|0;c[m>>2]=0;A=a+(c[a+4>>2]|0)|0;r=a+(c[a>>2]|0)|0;o=a+12|0;v=c[o>>2]|0;t=(v|0)/50|0;F=t>>1;p=t>>2;n=t>>3;if((n|0)>(h|0)){P=-2;i=k;return P|0}y=((v|0)/25|0)*3|0;y=(y|0)>(h|0)?h:y;if((e|0)>=2){G=(d|0)==0;if(G)w=6;else{x=c[a+60>>2]|0;h=c[a+52>>2]|0;kc(l,d,e);w=20}}else{G=c[a+60>>2]|0;d=0;y=(y|0)<(G|0)?y:G;G=1;w=6}do if((w|0)==6){h=c[a+56>>2]|0;if(!h){a=a+8|0;l=0;while(1){if((l|0)>=($(y,c[a>>2]|0)|0))break;g[f+(l<<2)>>2]=0.0;l=l+1|0}i=k;return y|0}if((y|0)>(t|0)){l=a+8|0;n=y;while(1){m=wi(a,0,0,f,(n|0)<(t|0)?n:t,0)|0;if((m|0)<0){y=m;w=115;break}f=f+(($(m,c[l>>2]|0)|0)<<2)|0;n=n-m|0;if((n|0)<=0){w=115;break}}if((w|0)==115){i=k;return y|0}}if((y|0)<(t|0))if((y|0)<=(F|0))if((h|0)!=1e3)if((y|0)>(p|0)&(y|0)<(F|0))if(G){x=p;w=27;break}else{x=p;w=20;break}else x=y;else{x=y;h=1e3}else x=F;else x=y;if(G)w=27;else w=20}while(0);do if((w|0)==20){z=c[a+56>>2]|0;if((z|0)>0){v=(h|0)==1002;z=(z|0)==1002;if(v){if(z){w=27;break}if(c[a+64>>2]|0){w=27;break}if(v){E=$(p,c[a+8>>2]|0)|0;v=ta()|0;D=i;i=i+((4*E|0)+15&-16)|0;E=1}else w=28}else if(z)w=28;else{w=27;break}if((w|0)==28){E=$(p,c[a+8>>2]|0)|0;v=ta()|0;D=i;i=i+16|0;if((h|0)!=1002){z=0;D=0;C=1;break}}wi(a,0,0,D,(p|0)<(x|0)?p:x,0)|0;z=0;C=1}else w=27}while(0);if((w|0)==27){v=ta()|0;z=1;D=0;E=1;C=0}a:do if((x|0)>(y|0))a=-1;else{y=(h|0)==1002;if(y){A=i;i=i+16|0}else{P=$((F|0)>(x|0)?F:x,c[a+8>>2]|0)|0;F=i;i=i+((2*P|0)+15&-16)|0;if((c[a+56>>2]|0)==1002)zf(A)|0;P=(x*1e3|0)/(c[o>>2]|0)|0;c[a+32>>2]=(P|0)<10?10:P;if(G)H=1;else{c[a+20>>2]=c[a+44>>2];do if((h|0)==1e3){H=c[a+48>>2]|0;if((H|0)==1101){c[a+28>>2]=8e3;break}else if((H|0)==1102){c[a+28>>2]=12e3;break}else if((H|0)==1103){c[a+28>>2]=16e3;break}else{c[a+28>>2]=16e3;break}}else c[a+28>>2]=16e3;while(0);H=j<<1}N=a+16|0;M=a+84|0;J=a+8|0;I=(H|0)==0;K=0;L=F;while(1){b:do if(!(Af(A,N,H,(K|0)==0&1,l,L,B,c[M>>2]|0)|0))P=c[J>>2]|0;else{if(I){a=-3;break a}c[B>>2]=x;O=0;while(1){P=c[J>>2]|0;if((O|0)>=($(x,P)|0))break b;b[L+(O<<1)>>1]=0;O=O+1|0}}while(0);O=c[B>>2]|0;L=L+(($(O,P)|0)<<1)|0;K=K+O|0;if((K|0)>=(x|0)){A=F;break}}}B=(j|0)==0;do if(B)if(!y)if(!G){G=l+20|0;H=l+28|0;P=(Ii(c[G>>2]|0,c[H>>2]|0)|0)+17|0;if((P+((c[a+52>>2]|0)==1001?20:0)|0)>(e<<3|0)){j=0;F=0;G=0;w=61}else{if((h|0)==1001){F=rc(l,12)|0;if(!F){j=0;F=0;G=0;w=61;break}j=rc(l,1)|0;w=(tc(l,256)|0)+2|0;G=c[G>>2]|0;H=c[H>>2]|0}else{j=rc(l,1)|0;G=c[G>>2]|0;H=c[H>>2]|0;w=e-((Ii(G,H)|0)+7>>3)|0;F=1}e=e-w|0;P=(e<<3|0)<(Ii(G,H)|0);G=P?0:w;w=l+4|0;c[w>>2]=(c[w>>2]|0)-G;e=P?0:e;F=P?0:F;w=61}}else{j=0;F=0;G=0;w=62}else{j=0;F=0;G=0;H=0}else{j=0;F=0;G=0;w=61}while(0);if((w|0)==61)if(y)H=0;else w=62;if((w|0)==62)H=17;I=c[a+48>>2]|0;if((I|0)==1103|(I|0)==1102)I=17;else if((I|0)==1104)I=19;else if((I|0)==1101)I=13;else I=21;c[q>>2]=I;Cb(r,10012,q);c[q>>2]=c[a+44>>2];Cb(r,10008,q);F=(F|0)==0;do if(F){I=i;i=i+((4*E|0)+15&-16)|0;if(!z){if(!y){wi(a,0,0,I,(p|0)<(x|0)?p:x,0)|0;D=I}if(!F){w=73;break}}else C=0;z=i;i=i+16|0}else{C=0;w=73}while(0);if((w|0)==73){P=$(p,c[a+8>>2]|0)|0;z=i;i=i+((4*P|0)+15&-16)|0;if(j){c[q>>2]=0;Cb(r,10010,q);vb(r,d+e|0,G,z,p,0,0)|0;c[q>>2]=m;Cb(r,4031,q)}}c[q>>2]=H;Cb(r,10010,q);do if((h|0)==1e3){b[u>>1]=-1;t=a+8|0;w=0;while(1){if((w|0)>=($(x,c[t>>2]|0)|0))break;g[f+(w<<2)>>2]=0.0;w=w+1|0}if((c[a+56>>2]|0)==1001){if(!(F|(j|0)==0)?(c[a+64>>2]|0)!=0:0){t=0;break}c[q>>2]=0;Cb(r,10010,q);vb(r,u,2,f,n,0,0)|0;t=0}else t=0}else{t=(t|0)<(x|0)?t:x;P=c[a+56>>2]|0;if((h|0)!=(P|0)&(P|0)>0?(c[a+64>>2]|0)==0:0)Cb(r,4028,q);t=vb(r,B?d:0,e,f,t,l,0)|0}while(0);c:do if(!y){u=a+8|0;w=0;while(1){if((w|0)>=($(x,c[u>>2]|0)|0))break c;P=f+(w<<2)|0;g[P>>2]=+g[P>>2]+ +(b[A+(w<<1)>>1]|0)*30517578125.0e-15;w=w+1|0}}while(0);c[q>>2]=s;Cb(r,10015,q);s=c[(c[s>>2]|0)+60>>2]|0;do if(!F){if(!j){Cb(r,4028,q);c[q>>2]=0;Cb(r,10010,q);vb(r,d+e|0,G,z,p,0,0)|0;c[q>>2]=m;Cb(r,4031,q);P=c[a+8>>2]|0;O=f+(($(P,x-n|0)|0)<<2)|0;N=z+(($(P,n)|0)<<2)|0;Ji(O,N,O,n,P,s,c[o>>2]|0);break}q=a+8|0;r=0;while(1){u=c[q>>2]|0;if((r|0)<(u|0))u=0;else break;while(1){if((u|0)>=(n|0))break;P=($(c[q>>2]|0,u)|0)+r|0;g[f+(P<<2)>>2]=+g[z+(P<<2)>>2];u=u+1|0}r=r+1|0}O=$(u,n)|0;P=f+(O<<2)|0;Ji(z+(O<<2)|0,P,P,n,u,s,c[o>>2]|0)}while(0);do if(C){q=a+8|0;if((x|0)<(p|0)){Ji(D,f,f,n,c[q>>2]|0,s,c[o>>2]|0);break}else u=0;while(1){p=c[q>>2]|0;r=$(p,n)|0;if((u|0)>=(r|0))break;g[f+(u<<2)>>2]=+g[D+(u<<2)>>2];u=u+1|0}P=f+(r<<2)|0;Ji(D+(r<<2)|0,P,P,n,p,s,c[o>>2]|0)}while(0);n=c[a+40>>2]|0;d:do if(n){Q=+Y(+(+(n|0)*.0006488140788860619*.6931471805599453));o=a+8|0;n=0;while(1){if((n|0)>=($(x,c[o>>2]|0)|0))break d;P=f+(n<<2)|0;g[P>>2]=+g[P>>2]*Q;n=n+1|0}}while(0);if((e|0)<2)c[a+80>>2]=0;else c[a+80>>2]=c[l+28>>2]^c[m>>2];c[a+56>>2]=h;c[a+64>>2]=(F?0:(j|0)==0)&1;a=(t|0)>-1?x:t}while(0);ja(v|0);P=a;i=k;return P|0}function xi(b){b=b|0;var c=0;c=i;b=a[b>>0]|0;if(b<<24>>24<0){i=c;return 1002}else{i=c;return((b&96)==96?1001:1e3)|0}return 0}function yi(b){b=b|0;var c=0;c=i;b=a[b>>0]|0;if(b<<24>>24<0){b=(b&255)>>>5&3;i=c;return((b|0)==0?1101:b+1102|0)|0}if((b&96)==96){b=(b&16)!=0?1105:1104;i=c;return b|0}else{b=((b&255)>>>5&3)+1101|0;i=c;return b|0}return 0}function zi(a){a=a|0;return((a&4)!=0?2:1)|0}function Ai(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;if((h|0)<1){h=-1;i=k;return h|0}do if((d|0)!=0&(e|0)>0&(j|0)==0){l=Bi(c[a+12>>2]|0,d,e)|0;if((l|0)>0){h=(l|0)>(h|0)?h:l;break}else{h=-4;i=k;return h|0}}while(0);n=a+8|0;o=$(h,c[n>>2]|0)|0;l=ta()|0;m=i;i=i+((4*o|0)+15&-16)|0;e=vi(a,d,e,m,h,j,1)|0;a:do if((e|0)>0){j=0;while(1){if((j|0)>=($(e,c[n>>2]|0)|0))break a;b[f+(j<<1)>>1]=Ci(+g[m+(j<<2)>>2])|0;j=j+1|0}}while(0);ja(l|0);o=e;i=k;return o|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;b=Hi(b,c,a)|0;i=d;return b|0}function Ci(a){a=+a;var b=0,c=0;c=i;a=a*32768.0;if(a>-32768.0)if(a<32767.0)b=3;else a=32767.0;else{a=-32768.0;b=3}b=(sa(+a)|0)&65535;i=c;return b|0}function Di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;if((e|0)<1)a=-1;else a=vi(a,b,c,d,e,f,0)|0;i=g;return a|0}function Ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;j=f;g=f+8|0;k=c[b+4>>2]|0;h=b+(c[b>>2]|0)|0;c[g>>2]=e;a:do switch(d|0){case 4009:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if(!h)b=20;else{c[h>>2]=c[b+48>>2];g=0;b=19}break};case 4029:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if(!h)b=20;else{c[h>>2]=c[b+12>>2];g=0;b=19}break};case 4039:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if(!h)b=20;else{c[h>>2]=c[b+68>>2];g=0;b=19}break};case 4031:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if(!h)b=20;else{c[h>>2]=c[b+80>>2];g=0;b=19}break};case 4028:{d=b+k|0;e=b+44|0;k=e+0|0;g=k+44|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(g|0));Cb(h,4028,j);zf(d)|0;c[e>>2]=c[b+8>>2];c[b+60>>2]=(c[b+12>>2]|0)/400|0;g=0;b=19;break};case 4045:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if(!h)b=20;else{c[h>>2]=c[b+40>>2];g=0;b=19}break};case 4033:{k=c[g>>2]|0;d=c[k>>2]|0;c[g>>2]=k+4;if(d)if((c[b+56>>2]|0)==1002){c[j>>2]=d;Cb(h,4033,j);g=0;b=19;break a}else{c[d>>2]=c[b+36>>2];g=0;b=19;break a}else b=20;break};case 4034:{k=c[g>>2]|0;h=c[k>>2]|0;c[g>>2]=k+4;if((h|0)<-32768|(h|0)>32767)b=20;else{c[b+40>>2]=h;g=0;b=19}break};default:{g=-5;b=19}}while(0);if((b|0)==19){k=g;i=f;return k|0}else if((b|0)==20){k=-1;i=f;return k|0}return 0}function Fi(a){a=a|0;var b=0;b=i;ui(a);i=b;return}function Gi(a,b){a=a|0;b=b|0;var c=0,e=0;c=i;if((b|0)>=1){e=(d[a>>0]|0)&3;if(e)if((e|0)==3)if((b|0)<2)b=-4;else b=(d[a+1>>0]|0)&63;else b=2;else b=1}else b=-1;i=c;return b|0}function Hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;b=Gi(a,b)|0;if((b|0)<0){i=d;return b|0}else{b=$(b,mi(a,c)|0)|0;i=d;return((b*25|0)>(c*3|0)?-4:b)|0}return 0}function Ii(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function Ji(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0;j=i;h=48e3/(h|0)|0;k=0;while(1){if((k|0)<(e|0))l=0;else break;while(1){if((l|0)>=(d|0))break;n=+g[f+(($(l,h)|0)<<2)>>2];n=n*n;m=($(l,e)|0)+k|0;g[c+(m<<2)>>2]=n*+g[b+(m<<2)>>2]+(1.0-n)*+g[a+(m<<2)>>2];l=l+1|0}k=k+1|0}i=j;return}function Ki(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;if((a|0)<1|(a|0)>2){d=0;i=b;return d|0}if(Lf(d)|0){d=0;i=b;return d|0}e=Li(c[d>>2]|0)|0;c[d>>2]=e;d=Eb(a)|0;d=(Li(18220)|0)+e+d|0;i=b;return d|0}function Li(a){a=a|0;return a+3&-4|0}function Mi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+16|0;h=j;k=j+4|0;if(!((d|0)==8e3|(d|0)==12e3|(d|0)==16e3|(d|0)==24e3|(d|0)==48e3)){n=-1;i=j;return n|0}if((e+ -1|0)>>>0>=2){n=-1;i=j;return n|0}if(!((f|0)==2051|(f|0)==2049|(f|0)==2048)){n=-1;i=j;return n|0}wj(a|0,0,Ki(e)|0)|0;if(Lf(k)|0){n=-1;i=j;return n|0}l=Li(c[k>>2]|0)|0;c[k>>2]=l;n=Li(18220)|0;c[a+4>>2]=n;k=n+l|0;c[a>>2]=k;k=a+k|0;c[a+100>>2]=e;c[a+168>>2]=e;l=a+132|0;c[l>>2]=d;m=a+18216|0;c[m>>2]=0;if(Mf(a+n|0,0,a+8|0)|0){n=-3;i=j;return n|0}c[a+8>>2]=e;c[a+12>>2]=e;c[a+16>>2]=c[l>>2];c[a+20>>2]=16e3;c[a+24>>2]=8e3;c[a+28>>2]=16e3;c[a+32>>2]=20;c[a+36>>2]=25e3;c[a+40>>2]=0;n=a+44|0;c[n>>2]=9;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+72>>2]=0;if(Gb(k,d,e,c[m>>2]|0)|0){n=-3;i=j;return n|0}c[h>>2]=0;Xb(k,10016,h)|0;c[h>>2]=c[n>>2];Xb(k,4010,h)|0;c[a+136>>2]=1;c[a+140>>2]=1;c[a+152>>2]=-1e3;c[a+148>>2]=($(d,e)|0)+3e3;c[a+96>>2]=f;c[a+112>>2]=-1e3;c[a+116>>2]=-1e3;c[a+120>>2]=1105;c[a+108>>2]=-1e3;c[a+124>>2]=-1e3;c[a+128>>2]=-1;n=c[l>>2]|0;c[a+160>>2]=(n|0)/100|0;c[a+156>>2]=24;c[a+144>>2]=5e3;c[a+104>>2]=(n|0)/250|0;b[a+172>>1]=16384;g[a+180>>2]=1.0;c[a+176>>2]=(oh(60)|0)<<8;c[a+224>>2]=1;c[a+200>>2]=1001;c[a+216>>2]=1105;n=0;i=j;return n|0}function Ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;do if(((a|0)==8e3|(a|0)==12e3|(a|0)==16e3|(a|0)==24e3|(a|0)==48e3?(b+ -1|0)>>>0<2:0)?(d|0)==2051|(d|0)==2049|(d|0)==2048:0){h=Oi(Ki(b)|0)|0;if(!h){if(!e){h=0;break}c[e>>2]=-7;h=0;break}a=Mi(h,a,b,d)|0;if(e)c[e>>2]=a;if(a){Pi(h);h=0}}else f=4;while(0);if((f|0)==4)if(!e)h=0;else{c[e>>2]=-1;h=0}i=g;return h|0}function Oi(a){a=a|0;var b=0;b=i;a=qj(a)|0;i=b;return a|0}function Pi(a){a=a|0;var b=0;b=i;rj(a);i=b;return}function Qi(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0.0;j=i;k=0;while(1){if((k|0)>=(c|0))break;g[b+(k<<2)>>2]=+g[a+(($(k+d|0,h)|0)+e<<2)>>2]*32768.0;k=k+1|0}a:do if((f|0)<=-1){if((f|0)==-2){f=1;while(1){if((f|0)<(h|0))k=0;else break a;while(1){if((k|0)>=(c|0))break;l=+g[a+(($(k+d|0,h)|0)+f<<2)>>2]*32768.0;e=b+(k<<2)|0;g[e>>2]=+g[e>>2]+l;k=k+1|0}f=f+1|0}}}else{k=0;while(1){if((k|0)>=(c|0))break a;l=+g[a+(($(k+d|0,h)|0)+f<<2)>>2]*32768.0;e=b+(k<<2)|0;g[e>>2]=+g[e>>2]+l;k=k+1|0}}while(0);l=(h|0)==-2?-.5:.5;h=0;while(1){if((h|0)>=(c|0))break;e=b+(h<<2)|0;g[e>>2]=+g[e>>2]*l;h=h+1|0}i=j;return}function Ri(a,c,d,e,f,h,j){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0.0;k=i;l=0;while(1){if((l|0)>=(d|0))break;g[c+(l<<2)>>2]=+(b[a+(($(l+e|0,j)|0)+f<<1)>>1]|0);l=l+1|0}a:do if((h|0)<=-1){if((h|0)==-2){h=1;while(1){if((h|0)<(j|0))l=0;else break a;while(1){if((l|0)>=(d|0))break;m=+(b[a+(($(l+e|0,j)|0)+h<<1)>>1]|0);f=c+(l<<2)|0;g[f>>2]=+g[f>>2]+m;l=l+1|0}h=h+1|0}}}else{l=0;while(1){if((l|0)>=(d|0))break a;m=+(b[a+(($(l+e|0,j)|0)+h<<1)>>1]|0);f=c+(l<<2)|0;g[f>>2]=+g[f>>2]+m;l=l+1|0}}while(0);m=(j|0)==-2?-152587890625.0e-16:152587890625.0e-16;j=0;while(1){if((j|0)>=(d|0))break;f=c+(j<<2)|0;g[f>>2]=+g[f>>2]*m;j=j+1|0}i=k;return}function Si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i;f=(c|0)/400|0;if((f|0)>(a|0)){b=-1;i=d;return b|0}do if((b|0)==5010){f=(c|0)/50|0;e=6}else if((b|0)!=5e3)if((b|0)>5e3&(b|0)<5007){e=(c*3|0)/50|0;f=f<(a|0)){b=-1;i=d;return b|0}else a=f;if(!((a*400|0)==(c|0)|(a*200|0)==(c|0)|(a*100|0)==(c|0))?(b=a*50|0,!((b|0)==(c|0)|(a*25|0)==(c|0)|(b|0)==(c*3|0))):0){b=-1;i=d;return b|0}b=a;i=d;return b|0}function Ti(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;a:do if((c|0)==5010?((e|0)/200|0|0)<=(b|0):0){c=(e|0)/400|0;a=Ui(a,b,d,e,f,j,g,h)|0;while(1){d=c<>2];g[l>>2]=t;g[m>>2]=1.0/(t+1.0000000036274937e-15);d=(h|0)==0;if(d){p=0;h=1}else{p=(o<<1)-h|0;t=+g[f+4>>2];g[l+4>>2]=t;g[m+4>>2]=1.0/(t+1.0000000036274937e-15);t=+g[f+8>>2];g[l+8>>2]=t;g[m+8>>2]=1.0/(t+1.0000000036274937e-15);b=b-p|0;h=3}b=(b|0)/(o|0)|0;b=(b|0)<24?b:24;t=0.0;q=0;while(1){if((q|0)>=(b|0))break;s=($(q,o)|0)+p|0;Ca[j&3](a,n,o,s,0,-2,c);t=(q|0)==0?+g[n>>2]:t;s=0;r=1.0000000036274937e-15;while(1){if((s|0)>=(o|0))break;v=+g[n+(s<<2)>>2];u=v-t;t=v;s=s+1|0;r=r+u*u}s=q+h|0;g[l+(s<<2)>>2]=r;g[m+(s<<2)>>2]=1.0/r;q=q+1|0}s=q+h|0;g[l+(s<<2)>>2]=+g[l+(s+ -1<<2)>>2];if(!d){b=b+2|0;b=(b|0)>24?24:b}c=jj(l,m,b,~~+((c*60|0)+40|0),(e|0)/400|0)|0;e=1< >2]=+g[l+(e<<2)>>2];if(d){i=k;return c|0}g[f+4>>2]=+g[l+(e+1<<2)>>2];g[f+8>>2]=+g[l+(e+2<<2)>>2];i=k;return c|0}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0;e=i;c=(c|0)/(b|0)|0;if((c|0)<50)f=50.0;else f=+(c|0);f=1.0-25.0/f;k=0;l=0.0;h=0.0;j=0.0;while(1){if((k|0)>=(b|0))break;u=k<<1;t=+g[a+(u<<2)>>2];p=+g[a+((u|1)<<2)>>2];s=+g[a+((u|2)<<2)>>2];o=+g[a+((u|3)<<2)>>2];r=+g[a+((u|4)<<2)>>2];n=+g[a+((u|5)<<2)>>2];q=+g[a+((u|6)<<2)>>2];m=+g[a+((u|7)<<2)>>2];k=k+4|0;l=l+(t*t+s*s+r*r+q*q);h=h+(t*p+s*o+r*n+q*m);j=j+(p*p+o*o+n*n+m*m)}s=+g[d>>2];s=s+f*(l-s);g[d>>2]=s;b=d+4|0;t=+g[b>>2];t=t+f*(h-t);g[b>>2]=t;u=d+8|0;h=+g[u>>2];h=h+f*(j-h);g[u>>2]=h;j=s<0.0?0.0:s;g[d>>2]=j;f=t<0.0?0.0:t;g[b>>2]=f;h=h<0.0?0.0:h;g[u>>2]=h;if((j>h?j:h)>.0007999999797903001){q=+P(+j);s=+P(+h);t=+P(+q);r=+P(+s);s=q*s;q=f >2]=q;s=q/(s+1.0000000036274937e-15);r=+P(+(1.0-s*s))*(+O(+(t-r))/(t+1.0000000036274937e-15+r));u=d+12|0;t=+g[u>>2];s=+(c|0);t=t+(r-t)/s;g[u>>2]=t;u=d+16|0;s=+g[u>>2]-.019999999552965164/s;t=s>t?s:t;g[u>>2]=t;t=t*20.0;u=t>1.0;t=u?1.0:t;i=e;return+t}else{t=+g[d+16>>2];t=t*20.0;u=t>1.0;t=u?1.0:t;i=e;return+t}return 0.0}function Wi(d,e,f,h,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0,ra=0,sa=0.0,ua=0.0,va=0.0;s=i;i=i+528|0;A=s;O=s+520|0;x=s+472|0;y=s+464|0;F=s+460|0;C=s+432|0;ka=s+344|0;ha=s+312|0;U=s+8|0;P=s+4|0;B=s+526|0;z=s+524|0;c[y>>2]=0;E=(j|0)>1276?1276:j;w=d+18212|0;c[w>>2]=0;K=d+144|0;do if(!(c[K>>2]|0)){D=f*400|0;u=c[d+132>>2]|0;if((D|0)==(u|0)){u=d+132|0;break}if(!((f*200|0)==(u|0)|(f*100|0)==(u|0))?(ra=f*50|0,!((ra|0)==(u|0)|(f*25|0)==(u|0)|(ra|0)==(u*3|0))):0){ra=-1;i=s;return ra|0}else t=7}else{D=f*400|0;u=c[d+132>>2]|0;t=7}while(0);if((t|0)==7)if((D|0)<(u|0)){ra=-1;i=s;return ra|0}else u=d+132|0;if((E|0)<1){ra=-1;i=s;return ra|0}ba=c[d+4>>2]|0;Q=d+ba|0;D=d+(c[d>>2]|0)|0;_=d+96|0;if((c[_>>2]|0)==2051)G=0;else G=c[d+104>>2]|0;Z=c[d+156>>2]|0;Z=(Z|0)>(k|0)?k:Z;c[C>>2]=0;c[A>>2]=F;Xb(D,10015,A)|0;ia=d+44|0;if((c[ia>>2]|0)>6?(c[u>>2]|0)==48e3:0){fa=c[d+12596>>2]|0;ea=c[d+12600>>2]|0;fi(d+4092|0,c[F>>2]|0,l,m,f,n,o,p,48e3,Z,q,C)}else{fa=-1;ea=-1}I=d+128|0;c[I>>2]=-1;ga=d+18204|0;c[ga>>2]=0;do if(c[C>>2]|0){if((c[d+112>>2]|0)==-1e3)c[I>>2]=~~+N(+((1.0- +g[C+20>>2])*100.0+.5));m=c[C+24>>2]|0;if((m|0)<13){c[ga>>2]=1101;break}if((m|0)<15){c[ga>>2]=1102;break}if((m|0)<17){c[ga>>2]=1103;break}if((m|0)<19){c[ga>>2]=1104;break}else{c[ga>>2]=1105;break}}while(0);m=d+100|0;if((c[m>>2]|0)==2?(c[d+108>>2]|0)!=1:0)pa=+Vi(e,f,c[u>>2]|0,d+232|0);else pa=0.0;na=Xi(d,f,E)|0;l=d+148|0;c[l>>2]=na;T=c[u>>2]|0;Y=(T|0)/(f|0)|0;do if((E|0)>=3?(na|0)>=(Y*24|0):0){if((Y|0)<50?($(E,Y)|0)<300|(na|0)<2400:0)break;v=d+136|0;ma=(c[v>>2]|0)==0;if(ma){ra=Y<<3;na=(na+(Y<<2)|0)/(ra|0)|0;E=(na|0)<(E|0)?na:E;na=$(E,ra)|0;c[l>>2]=na}R=$(Y,E)|0;S=R<<3;L=c[m>>2]|0;J=Y+ -50|0;k=na-($((L*40|0)+20|0,J)|0)|0;M=c[d+112>>2]|0;do if((M|0)!=3001)if((M|0)!=3002){I=c[I>>2]|0;if((I|0)<=-1){la=(c[_>>2]|0)==2048?115:48;break}la=I*327>>8;if((c[_>>2]|0)==2049)la=(la|0)<115?la:115}else la=0;else la=127;while(0);aa=d+108|0;I=c[aa>>2]|0;M=(L|0)==2;if((I|0)==-1e3)if(M){ra=d+168|0;I=(k|0)>(((c[ra>>2]|0)==2?29e3:31e3)|0)?2:1;c[ra>>2]=I}else t=55;else if(M)c[d+168>>2]=I;else t=55;if((t|0)==55){c[d+168>>2]=L;I=L}k=d+168|0;J=na-($((I*40|0)+20|0,J)|0)|0;L=c[_>>2]|0;do if((L|0)!=2051){qa=c[d+124>>2]|0;if((qa|0)==-1e3){va=1.0-pa;M=~~(va*16.0e3+pa*16.0e3);M=M+(($($(la,la)|0,~~(va*64.0e3+pa*36.0e3)-M|0)|0)>>14)|0;L=(L|0)==2048?M+8e3|0:M;M=c[d+204>>2]|0;if((M|0)==1002)L=L+ -4e3|0;else L=(M|0)>0?L+4e3|0:L;qa=(J|0)>=(L|0)?1002:1e3;L=d+200|0;c[L>>2]=qa;do if(c[d+48>>2]|0){if((c[d+40>>2]|0)<=(128-la>>4|0))break;c[L>>2]=1e3;qa=1e3}while(0);if((c[d+52>>2]|0)!=0&(la|0)>100){c[L>>2]=1e3;M=d+200|0;qa=1e3}else t=68}else{c[d+200>>2]=qa;t=68}if((t|0)==68){M=d+200|0;if((qa|0)==1002){qa=1002;break}}if(((T|0)/100|0|0)>(f|0)){c[M>>2]=1002;qa=1002}}else{c[d+200>>2]=1002;M=d+200|0;qa=1002}while(0);da=d+164|0;if(c[da>>2]|0){c[M>>2]=1002;qa=1002}V=(Y|0)>50;if((E|0)<(($(V?12e3:8e3,f)|0)/(T<<3|0)|0|0)){c[M>>2]=1002;qa=1002}do if(((I|0)==1?(c[d+208>>2]|0)==2:0)?(H=d+64|0,!((c[H>>2]|0)!=0|(qa|0)==1002)):0){oa=c[d+204>>2]|0;if((oa|0)==1002){t=80;break}c[H>>2]=1;c[k>>2]=2}else t=80;while(0);if((t|0)==80){c[d+64>>2]=0;oa=c[d+204>>2]|0}I=d+204|0;do if((oa|0)>0){H=(oa|0)==1002;if((qa|0)!=1002){if(H)H=1002;else{X=0;W=0;H=0;break}ra=(qa|0)!=1002;X=ra&1;if(ra){W=1;H=0;break}}else{if(H){qa=1002;X=0;W=0;H=0;break}H=oa;X=(qa|0)!=1002&1}if(((T|0)/100|0|0)>(f|0)){qa=1002;W=0;H=0;break}c[M>>2]=H;qa=H;W=1;H=1}else{X=0;W=0;H=0}while(0);L=d+220|0;if(!(c[L>>2]|0)){ra=0;if(!W){ma=ra;T=0}else t=92}else{c[L>>2]=0;X=1;ra=1;W=1;t=92}do if((t|0)==92){T=(T|0)/200|0;T=($(E,T)|0)/(T+f|0)|0;T=(T|0)>257?257:T;if(ma){ma=ra;break}na=(na|0)/1600|0;ma=ra;T=(T|0)<(na|0)?T:na}while(0);a:do if((qa|0)==1002){ia=1;ka=J;t=103}else{if((oa|0)==1002){Mf(Q,c[d+18216>>2]|0,ka)|0;qa=c[M>>2]|0;ma=1}ka=(qa|0)==1002;if(ka){ia=ka;ka=J;t=103;break}do if(!(c[d+224>>2]|0))if(c[d+80>>2]|0){t=ka;if(t){ia=t;ka=J;t=103;break a}else break}else{oa=c[d+216>>2]|0;la=ka;ha=ma;break a}else t=ka;while(0);ka=($(J,(c[ia>>2]|0)+45|0)|0)/50|0;ia=t;ka=(c[v>>2]|0)==0?ka+ -1e3|0:ka;t=103}while(0);do if((t|0)==103){if((c[m>>2]|0)==2?(c[aa>>2]|0)!=1:0){na=30520;oa=30488}else{na=30584;oa=30552}qa=$(la,la)|0;la=0;while(1){if((la|0)>=8)break;ra=c[na+(la<<2)>>2]|0;c[ha+(la<<2)>>2]=ra+(($(qa,(c[oa+(la<<2)>>2]|0)-ra|0)|0)>>14);la=la+1|0}la=(c[d+224>>2]|0)==0;na=d+216|0;oa=1105;do{ra=oa<<1;qa=c[ha+(ra+ -2204<<2)>>2]|0;ra=c[ha+(ra+ -2203<<2)>>2]|0;do if(la)if((c[na>>2]|0)<(oa|0)){qa=qa+ra|0;break}else{qa=qa-ra|0;break}while(0);if((ka|0)>=(qa|0))break;oa=oa+ -1|0}while((oa|0)>1101);c[na>>2]=oa;if(la^1|ia){la=ia;ha=ma;break}if(!((c[d+84>>2]|0)==0&(oa|0)>1103)){la=ia;ha=ma;break}c[na>>2]=1103;oa=1103;la=ia;ha=ma}while(0);ia=d+216|0;ka=c[d+120>>2]|0;if((oa|0)>(ka|0)){c[ia>>2]=ka;oa=ka}ka=d+116|0;ma=c[ka>>2]|0;if((ma|0)==-1e3)ma=-1e3;else{c[ia>>2]=ma;oa=ma}if((la^1)&(S|0)<15e3){oa=(oa|0)<1103?oa:1103;c[ia>>2]=oa}na=c[u>>2]|0;do if((na|0)<24001){if((oa|0)>1104){c[ia>>2]=1104;oa=1104}if((na|0)>=16001)break;if((oa|0)>1103){c[ia>>2]=1103;oa=1103}if((na|0)>=12001)break;if((oa|0)>1102){c[ia>>2]=1102;oa=1102}if(!((na|0)<8001&(oa|0)>1101))break;c[ia>>2]=1101;oa=1101}while(0);na=c[ga>>2]|0;if((na|0)!=0&(ma|0)==-1e3){ma=c[k>>2]|0;do if((J|0)>(ma*18e3|0)|la^1){if(!((J|0)>(ma*24e3|0)|la^1)){la=1102;break}if((J|0)<=(ma*3e4|0)){la=1103;break}la=(J|0)>(ma*44e3|0)?1105:1104}else la=1101;while(0);ra=(na|0)>(la|0)?na:la;c[ga>>2]=ra;c[ia>>2]=(oa|0)<(ra|0)?oa:ra}c[A>>2]=Z;Xb(D,4036,A)|0;la=c[M>>2]|0;ma=(la|0)==1002;do if(ma){if((c[ia>>2]|0)!=1102)break;c[ia>>2]=1103}while(0);if(c[da>>2]|0)c[ia>>2]=1101;ga=c[u>>2]|0;do if(((ga|0)/50|0|0)<(f|0)){if(!ma?(ca=c[ia>>2]|0,(ca|0)<=1103):0)break;if((fa|0)!=-1){c[d+12596>>2]=fa;c[d+12600>>2]=ea}A=((ga|0)/25|0|0)<(f|0)?3:2;D=(j+ -3|0)/(A|0)|0;D=(D|0)>1276?1276:D;f=$(A,D)|0;w=ta()|0;E=i;i=i+((1*f|0)+15&-16)|0;lj(U);f=d+124|0;z=c[f>>2]|0;y=c[ka>>2]|0;x=c[aa>>2]|0;c[f>>2]=c[M>>2];c[ka>>2]=c[ia>>2];k=c[k>>2]|0;c[aa>>2]=k;C=d+64|0;B=c[C>>2]|0;if(!B)c[d+208>>2]=k;else c[aa>>2]=1;F=(H|0)!=0;k=A+ -1|0;H=0;while(1){if((H|0)>=(A|0)){t=163;break}c[C>>2]=0;if(F&(H|0)==(k|0))c[f>>2]=1002;G=c[u>>2]|0;I=E+($(H,D)|0)|0;G=Wi(d,e+(($(H,($(c[m>>2]|0,G)|0)/50|0)|0)<<2)|0,(G|0)/50|0,I,D,Z,0,0,n,o,p,q,r)|0;if((G|0)<0){h=-3;break}if((mj(U,I,G)|0)<0){h=-3;break}H=H+1|0}do if((t|0)==163){d=(c[v>>2]|0)==0;if(d){ra=((c[l>>2]|0)*3|0)/(1200/(A>>>0)|0|0)|0;j=(ra|0)<(j|0)?ra:j}h=oj(U,A,h,j,d&1)|0;if((h|0)<0){h=-3;break}c[f>>2]=z;c[ka>>2]=y;c[aa>>2]=x;c[C>>2]=B}while(0);ja(w|0);ra=h;i=s;return ra|0}else ca=c[ia>>2]|0;while(0);do if((la|0)==1e3){if((ca|0)<=1103)break;c[M>>2]=1001;if((ca|0)<1104)t=172}else if((la|0)==1001&(ca|0)<1104)t=172;while(0);if((t|0)==172)c[M>>2]=1e3;n=E-T|0;Z=($(c[l>>2]|0,f)|0)/(ga<<3|0)|0;Z=((n|0)<(Z|0)?n:Z)+ -1|0;n=E+ -1|0;wc(x,h+1|0,n);p=G+f|0;q=$(p,c[m>>2]|0)|0;U=ta()|0;j=i;i=i+((4*q|0)+15&-16)|0;q=d+160|0;ra=c[m>>2]|0;yj(j|0,d+(($((c[q>>2]|0)-G|0,ra)|0)<<2)+252|0,($(G,ra)|0)<<2|0)|0;if((c[M>>2]|0)==1002)o=(oh(60)|0)<<8;else o=c[d+(ba+8)>>2]|0;ra=d+176|0;qa=c[ra>>2]|0;o=o-qa|0;o=qa+(((o>>16)*983|0)+(((o&65535)*983|0)>>>16))|0;c[ra>>2]=o;if((c[_>>2]|0)==2048){oa=sh(o>>8)|0;ra=c[m>>2]|0;qa=j+(($(G,ra)|0)<<2)|0;Zi(e,oa,qa,d+184|0,f,ra,c[u>>2]|0)}else{ra=c[m>>2]|0;qa=j+(($(G,ra)|0)<<2)|0;_i(e,qa,d+184|0,f,ra,c[u>>2]|0)}do if(r){e=c[m>>2]|0;r=j+(($(G,e)|0)<<2)|0;e=$(e,f)|0;va=+$i(r,r,e);if(!(!(va<1.0e9)|(va!=va|0.0!=0.0)))break;wj(r|0,0,e<<2|0)|0}while(0);b:do if((c[M>>2]|0)==1002){pa=1.0;O=0;t=244}else{aa=$(c[m>>2]|0,f)|0;e=ta()|0;r=i;i=i+((2*aa|0)+15&-16)|0;aa=$(Z<<3,Y)|0;Y=c[M>>2]|0;o=(Y|0)==1001;do if(!o){c[d+36>>2]=aa;_=c[d+228>>2]|0;if(!_)pa=1.0;else{pa=1.0;t=191}}else{ba=c[k>>2]|0;fa=$(ba,(c[u>>2]|0)==(f*100|0)?6e3:5e3)|0;_=d+36|0;c[_>>2]=fa;ea=(ca|0)==1104;ga=aa-fa|0;if(ea)ga=(ga<<1|0)/3|0;else ga=(ga*3|0)/5|0;ra=fa+ga|0;qa=(aa<<2|0)/5|0;oa=(ra|0)>(qa|0);fa=oa?qa:ra;c[_>>2]=oa?qa:ra;_=c[d+228>>2]|0;if(_){aa=fa;pa=1.0;t=191;break}pa=+(aa-fa|0);pa=pa/(pa+ +($(ba,ea?3e3:3600)|0));if(!(pa<.8571428656578064)){aa=fa;pa=1.0;break}aa=fa;pa=pa+.1428571492433548}while(0);do if((t|0)==191){if(!(c[v>>2]|0))break;if(c[da>>2]|0)break;ba=c[ia>>2]|0;if((ba|0)==1101){ga=13;sa=8.0e3}else{ra=(ba|0)==1102;ga=ra?15:17;sa=ra?12.0e3:16.0e3}ea=c[m>>2]|0;ua=0.0;fa=0;while(1){if((fa|0)>=(ea|0))break;da=fa*21|0;ia=0;while(1){if((ia|0)>=(ga|0))break;va=+g[_+(da+ia<<2)>>2];do if(va<.5){if(!(va>-2.0)){va=-2.0;break}if(va>0.0)t=202}else{va=.5;t=202}while(0);if((t|0)==202){t=0;va=va*.5}ua=ua+va;ia=ia+1|0}fa=fa+1|0}ra=~~(sa*(ua/+(ga|0)*+(ea|0)+.20000000298023224));_=($(aa,-2)|0)/3|0;_=(ra|0)>(_|0)?ra:_;if((ba+ -1104|0)>>>0<2)ba=(_*3|0)/5|0;else ba=_;aa=aa+ba|0;c[d+36>>2]=aa;ra=$(_,f)|0;Z=Z+((ra|0)/(c[u>>2]<<3|0)|0)|0}while(0);ba=c[u>>2]|0;c[d+32>>2]=(f*1e3|0)/(ba|0)|0;_=c[m>>2]|0;c[d+8>>2]=_;c[d+12>>2]=c[k>>2];if((ca|0)==1101){c[d+28>>2]=8e3;da=8e3}else if((ca|0)==1102){c[d+28>>2]=12e3;da=12e3}else{c[d+28>>2]=16e3;da=16e3}ea=d+24|0;do if(o){c[ea>>2]=16e3;t=221}else{c[ea>>2]=8e3;if((Y|0)!=1e3){t=221;break}Y=d+20|0;c[Y>>2]=16e3;if(V)S=(R<<4|0)/3|0;if((S|0)<13e3){c[Y>>2]=12e3;da=da>>>0>12e3?12e3:da;c[d+28>>2]=da}if((S|0)>=9600)break;c[Y>>2]=8e3;c[d+28>>2]=(da|0)>8e3?8e3:da}while(0);if((t|0)==221)c[d+20>>2]=16e3;S=(c[v>>2]|0)==0;c[d+56>>2]=S&1;V=n-T|0;V=(V|0)>1275?1275:V;c[O>>2]=V;R=d+60|0;if(o)V=(V*72|0)/10|0;else V=V<<3;c[R>>2]=V;if(S){c[R>>2]=(($(aa,f)|0)/(ba<<3|0)|0)<<3;ra=aa+ -2e3|0;c[d+36>>2]=(ra|0)<1?1:ra}if(!ha)P=0;else{c[P>>2]=0;qa=(ba|0)/400|0;S=$(_,(c[q>>2]|0)-(c[d+104>>2]|0)-qa|0)|0;oa=d+(S<<2)+252|0;ra=c[F>>2]|0;aj(oa,oa,0.0,1.0,c[ra+4>>2]|0,qa,_,c[ra+60>>2]|0,ba);wj(d+252|0,0,S<<2|0)|0;S=0;while(1){R=c[q>>2]|0;if((S|0)>=($(R,c[m>>2]|0)|0))break;b[r+(S<<1)>>1]=bj(+g[d+(S<<2)+252>>2])|0;S=S+1|0}Of(Q,d+8|0,r,R,0,P,1)|0;P=0}while(1){R=c[m>>2]|0;if((P|0)>=($(R,f)|0))break;b[r+(P<<1)>>1]=bj(+g[j+(($(G,R)|0)+P<<2)>>2])|0;P=P+1|0}P=Of(Q,d+8|0,r,f,x,O,0)|0;do if(!P){if(!(c[O>>2]|0)){c[w>>2]=0;a[h>>0]=Yi(c[M>>2]|0,(c[u>>2]|0)/(f|0)|0,ca,c[k>>2]|0)|0;E=1;break}do if((c[M>>2]|0)==1e3){t=c[d+76>>2]|0;if((t|0)==8e3){ca=1101;break}if((t|0)==12e3){ca=1102;break}ca=(t|0)==16e3?1103:ca}while(0);ra=c[d+92>>2]|0;c[d+68>>2]=ra;if(ra){c[L>>2]=1;X=0;W=1}ja(e|0);O=P;t=244;break b}else E=-3;while(0);ja(e|0)}while(0);c:do if((t|0)==244){if((ca|0)==1101)P=13;else if((ca|0)==1103|(ca|0)==1102)P=17;else if((ca|0)==1104)P=19;else P=21;c[A>>2]=P;Xb(D,10012,A)|0;c[A>>2]=c[k>>2];Xb(D,10008,A)|0;c[A>>2]=-1;Xb(D,4002,A)|0;do if((c[M>>2]|0)==1e3){R=c[m>>2]|0;Z=($(R,c[u>>2]|0)|0)/400|0;K=i;i=i+((4*Z|0)+15&-16)|0;Z=0}else{c[A>>2]=0;Xb(D,4006,A)|0;c[A>>2]=(c[d+72>>2]|0)==0?2:0;Xb(D,10002,A)|0;P=c[M>>2]|0;if((P|0)!=1001){if(c[v>>2]|0){do if((c[K>>2]|0)==5010){K=c[u>>2]|0;if(((K|0)/50|0|0)==(f|0)){K=0;break}K=$(((c[k>>2]|0)*60|0)+40|0,((K|0)/(f|0)|0)+ -50|0)|0;if(!(c[C>>2]|0))break;K=~~(+(K|0)*(+g[C+4>>2]*.5+1.0))}else K=0;while(0);c[A>>2]=1;Xb(D,4006,A)|0;c[A>>2]=c[d+140>>2];Xb(D,4020,A)|0;c[A>>2]=(c[l>>2]|0)+K;Xb(D,4002,A)|0;P=c[M>>2]|0;Z=n-T|0}R=c[m>>2]|0;Q=c[u>>2]|0;S=($(R,Q)|0)/400|0;K=i;i=i+((4*S|0)+15&-16)|0;if((P|0)==1e3)break}else{K=(cj(c[x+20>>2]|0,c[x+28>>2]|0)|0)+7>>3;K=(W|0)==0?K:K+3|0;if(!(c[v>>2]|0))Z=(K|0)>(Z|0)?K:Z;else{ra=$(c[d+36>>2]|0,f)|0;Z=K+Z-((ra|0)/(c[u>>2]<<3|0)|0)|0}R=c[m>>2]|0;Q=c[u>>2]|0;S=($(R,Q)|0)/400|0;K=i;i=i+((4*S|0)+15&-16)|0;P=1001}ra=c[I>>2]|0;if(!((P|0)!=(ra|0)&(ra|0)>0))break;yj(K|0,d+(($((c[q>>2]|0)-G-((Q|0)/400|0)|0,R)|0)<<2)+252|0,S<<2|0)|0}while(0);Q=c[q>>2]|0;P=d+252|0;if(($(R,Q-p|0)|0)>0){ra=$(R,Q-f-G|0)|0;zj(P|0,d+(($(R,f)|0)<<2)+252|0,ra<<2|0)|0;yj(d+(ra<<2)+252|0,j|0,($(p,R)|0)<<2|0)|0}else yj(P|0,j+(($(p-Q|0,R)|0)<<2)|0,($(Q,R)|0)<<2|0)|0;G=d+180|0;sa=+g[G>>2];if(sa<1.0|pa<1.0){ra=c[F>>2]|0;aj(j,j,sa,pa,c[ra+4>>2]|0,f,c[m>>2]|0,c[ra+60>>2]|0,c[u>>2]|0)}g[G>>2]=pa;G=c[M>>2]|0;if(!((G|0)==1001?(c[k>>2]|0)!=1:0)){if((J+ -3e4|0)<0)J=0;else{J=(J<<1)+ -6e4|0;J=(J|0)>16384?16384:J}c[d+88>>2]=J}do if(!(c[d+228>>2]|0)){if((c[m>>2]|0)!=2)break;P=d+172|0;Q=b[P>>1]|0;J=c[d+88>>2]|0;if(!(Q<<16>>16<16384|(J|0)<16384))break;G=c[F>>2]|0;dj(j,j,+(Q<<16>>16)*6103515625.0e-14,+(J|0)*6103515625.0e-14,c[G+4>>2]|0,f,2,c[G+60>>2]|0,c[u>>2]|0);b[P>>1]=c[d+88>>2];G=c[M>>2]|0}while(0);do if((G|0)==1002)t=291;else{J=x+20|0;F=x+28|0;P=cj(c[J>>2]|0,c[F>>2]|0)|0;G=(G|0)==1001;if((P+17+(G?20:0)|0)>((E<<3)+ -8|0)){t=291;break}if(G){if((W|0)==0?(P+37|0)>(Z<<3|0):0){t=291;break}Bc(x,W,12)}if(!W){t=291;break}Bc(x,X,1);G=(c[M>>2]|0)==1001;if(G)F=Z;else F=(cj(c[J>>2]|0,c[F>>2]|0)|0)+7>>3;ra=n-F|0;l=(c[l>>2]|0)/1600|0;l=(ra|0)<(l|0)?ra:l;if((l|0)<2)l=2;else l=(l|0)>257?257:l;if(!G)break;Dc(x,l+ -2|0,256)}while(0);if((t|0)==291){c[L>>2]=0;W=0;l=0}F=c[M>>2]|0;do if((F|0)==1002){G=0;t=295}else{if((F|0)!=1e3){G=17;t=295;break}O=(cj(c[x+20>>2]|0,c[x+28>>2]|0)|0)+7>>3;Ic(x);F=O;G=17}while(0);if((t|0)==295){F=n-l|0;F=(F|0)<(Z|0)?F:Z;Hc(x,F)}t=(W|0)==0;do if(t){if((c[M>>2]|0)==1e3)break;c[A>>2]=C;Xb(D,10022,A)|0}else{c[A>>2]=C;Xb(D,10022,A)|0;if(!X)break;c[A>>2]=0;Xb(D,10010,A)|0;c[A>>2]=0;Xb(D,4006,A)|0;if((Kb(D,j,(c[u>>2]|0)/200|0,h+(F+1)|0,l,0)|0)<0){E=-3;break c}c[A>>2]=y;Xb(D,4031,A)|0;Xb(D,4028,A)|0}while(0);c[A>>2]=G;Xb(D,10010,A)|0;C=c[M>>2]|0;do if((C|0)!=1e3){ra=c[I>>2]|0;if((C|0)!=(ra|0)&(ra|0)>0){Xb(D,4028,A)|0;Kb(D,K,(c[u>>2]|0)/400|0,B,2,0)|0;c[A>>2]=0;Xb(D,10002,A)|0}if((cj(c[x+20>>2]|0,c[x+28>>2]|0)|0)>(F<<3|0))break;O=Kb(D,j,f,0,F,x)|0;if((O|0)<0){E=-3;break c}}while(0);if((t^1)&(X|0)==0){oa=c[u>>2]|0;ra=(oa|0)/200|0;oa=(oa|0)/400|0;Xb(D,4028,A)|0;c[A>>2]=0;Xb(D,10010,A)|0;c[A>>2]=0;Xb(D,10002,A)|0;qa=f-ra|0;Kb(D,j+(($(c[m>>2]|0,qa-oa|0)|0)<<2)|0,oa,z,2,0)|0;if((Kb(D,j+(($(c[m>>2]|0,qa)|0)<<2)|0,ra,h+(F+1)|0,l,0)|0)<0){E=-3;break}c[A>>2]=y;Xb(D,4031,A)|0}a[h>>0]=Yi(c[M>>2]|0,(c[u>>2]|0)/(f|0)|0,ca,c[k>>2]|0)|0;u=c[x+28>>2]|0;c[w>>2]=u^c[y>>2];if(!H)m=c[M>>2]|0;else m=1002;c[I>>2]=m;c[d+208>>2]=c[k>>2];c[d+212>>2]=f;c[d+224>>2]=0;d:do if((cj(c[x+20>>2]|0,u)|0)>((E<<3)+ -8|0)){if((E|0)<2){E=-2;break c}a[h+1>>0]=0;c[w>>2]=0;O=1}else{if((c[M>>2]|0)==1e3^1|t^1)break;while(1){if((O|0)<=2)break d;if(a[h+O>>0]|0)break d;O=O+ -1|0}}while(0);d=O+(l+1)|0;if(!(c[v>>2]|0)){if(pj(h,d,E)|0){E=-3;break}}else E=d}while(0);ja(U|0);ra=E;i=s;return ra|0}while(0);m=c[d+200>>2]|0;u=c[d+216>>2]|0;u=(u|0)==0?1101:u;do if((Y|0)<=100){if((Y|0)>=50?(v=(m|0)==0?1e3:m,(v|0)!=1e3):0)if((v|0)==1002){t=38;break}else{t=39;break}if((u|0)>1103){u=1103;v=1e3}else{v=1e3;t=40}}else{v=1002;t=38}while(0);if((t|0)==38)if((u|0)==1102)u=1101;else t=39;if((t|0)==39)if((u|0)<1105)t=40;if((t|0)==40)u=1104;a[h>>0]=Yi(v,Y,u,c[d+168>>2]|0)|0;ra=1;i=s;return ra|0}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if(!b)b=(c[a+132>>2]|0)/400|0;f=c[a+152>>2]|0;if((f|0)==-1){f=($(d<<3,c[a+132>>2]|0)|0)/(b|0)|0;i=e;return f|0}else if((f|0)==-1e3){f=c[a+132>>2]|0;f=((f*60|0)/(b|0)|0)+($(f,c[a+100>>2]|0)|0)|0;i=e;return f|0}else{i=e;return f|0}return 0}function Yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=i;f=0;while(1){if((b|0)>=400)break;b=b<<1;f=f+1|0}if((a|0)==1e3)c=(c<<5)+96&224|(f<<3)+ -16;else if((a|0)==1002){c=c+ -1102|0;c=((c|0)<0?0:c)<<5&96|f<<3|128}else c=c<<4|(f<<3)+240|96;i=e;return(c|((d|0)==2&1)<<2)&255|0}function Zi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+8|0;l=j;m=((b<<16>>16)*2471|0)/((h|0)/1e3|0|0)|0;h=$(m,-471)|0;b=h+268435456|0;c[k>>2]=b;c[k+4>>2]=-268435456-h<<1;c[k+8>>2]=b;h=b>>6;o=m<<16>>16;p=$(m>>16,o)|0;o=$(m&65535,o)|0;m=$(m,(m>>15)+1>>1)|0;q=p+(o>>>16)+m<<16>>16;n=h&65535;c[l>>2]=($(b>>22,q)|0)+(($(n,q)|0)>>16)+($(h,(p+(o>>16)+m+ -8388608>>15)+1>>1)|0);m=h<<16>>16;c[l+4>>2]=($(b>>22,m)|0)+(($(n,m)|0)>>16)+($(h,(b>>21)+1>>1)|0);ij(a,k,l,e,d,f,g);if((g|0)!=2){i=j;return}ij(a+4|0,k,l,e+8|0,d+4|0,f,2);i=j;return}function _i(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;h=i;j=12.0/+(f|0);f=0;while(1){if((f|0)>=(e|0))break;l=f<<1;k=c+(l<<2)|0;l=c+((l|1)<<2)|0;m=0;while(1){if((m|0)>=(d|0))break;n=($(m,e)|0)+f|0;p=+g[k>>2];o=+g[a+(n<<2)>>2]-p;g[k>>2]=p+j*o+1.0000000031710769e-30;p=+g[l>>2];o=o-p;g[l>>2]=p+j*o+1.0000000031710769e-30;g[b+(n<<2)>>2]=o;m=m+1|0}f=f+1|0}i=h;return}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0;d=i;f=0;e=0.0;while(1){if((f|0)>=(c|0))break;h=e+ +g[a+(f<<2)>>2]*+g[b+(f<<2)>>2];f=f+1|0;e=h}i=d;return+e}function aj(a,b,c,d,e,f,h,j,k){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0;l=i;k=48e3/(k|0)|0;e=(e|0)/(k|0)|0;a:do if((h|0)==1){m=0;while(1){if((m|0)>=(e|0)){j=0;break a}n=+g[j+(($(m,k)|0)<<2)>>2];n=n*n;g[b+(m<<2)>>2]=(n*d+(1.0-n)*c)*+g[a+(m<<2)>>2];m=m+1|0}}else{m=0;while(1){if((m|0)>=(e|0)){j=0;break a}n=+g[j+(($(m,k)|0)<<2)>>2];n=n*n;n=n*d+(1.0-n)*c;o=m<<1;g[b+(o<<2)>>2]=n*+g[a+(o<<2)>>2];o=o|1;g[b+(o<<2)>>2]=n*+g[a+(o<<2)>>2];m=m+1|0}}while(0);do{k=e;while(1){if((k|0)>=(f|0))break;o=($(k,h)|0)+j|0;g[b+(o<<2)>>2]=+g[a+(o<<2)>>2]*d;k=k+1|0}j=j+1|0}while((j|0)<(h|0));i=l;return}function bj(a){a=+a;var b=0,c=0;c=i;a=a*32768.0;if(a>-32768.0)if(a<32767.0)b=3;else a=32767.0;else{a=-32768.0;b=3}b=(sa(+a)|0)&65535;i=c;return b|0}function cj(a,b){a=a|0;b=b|0;var c=0;c=i;b=(vj(b|0)|0)+ -32+a|0;i=c;return b|0}function dj(a,b,c,d,e,f,h,j,k){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0.0,p=0;l=i;k=48e3/(k|0)|0;e=(e|0)/(k|0)|0;c=1.0-c;d=1.0-d;m=0;while(1){if((m|0)>=(e|0))break;o=+g[j+(($(m,k)|0)<<2)>>2];o=o*o;p=$(m,h)|0;n=p+1|0;o=(o*d+(1.0-o)*c)*(+g[a+(p<<2)>>2]- +g[a+(n<<2)>>2])*.5;p=b+(p<<2)|0;g[p>>2]=+g[p>>2]-o;n=b+(n<<2)|0;g[n>>2]=+g[n>>2]+o;m=m+1|0}while(1){if((m|0)>=(f|0))break;n=$(m,h)|0;p=n+1|0;o=d*(+g[a+(n<<2)>>2]- +g[a+(p<<2)>>2])*.5;n=b+(n<<2)|0;g[n>>2]=+g[n>>2]-o;p=b+(p<<2)|0;g[p>>2]=+g[p>>2]+o;m=m+1|0}i=l;return}function ej(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;if((c[a+96>>2]|0)==2051)k=0;else k=c[a+104>>2]|0;n=a+100|0;m=Ti(d,e,c[a+144>>2]|0,c[n>>2]|0,c[a+132>>2]|0,c[a+148>>2]|0,k,1,a+10960|0)|0;n=c[n>>2]|0;o=$(m,n)|0;l=i;i=i+((4*o|0)+15&-16)|0;k=0;while(1){if((k|0)>=(o|0))break;g[l+(k<<2)>>2]=+(b[d+(k<<1)>>1]|0)*30517578125.0e-15;k=k+1|0}o=Wi(a,l,m,f,h,16,d,e,0,-2,n,1,0)|0;i=j;return o|0}function fj(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,j=0;g=i;if((c[a+96>>2]|0)==2051)h=0;else h=c[a+104>>2]|0;j=a+100|0;h=Ti(b,d,c[a+144>>2]|0,c[j>>2]|0,c[a+132>>2]|0,c[a+148>>2]|0,h,2,a+10960|0)|0;h=Wi(a,b,h,e,f,24,b,d,0,-2,c[j>>2]|0,2,1)|0;i=g;return h|0}function gj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;f=i;i=i+112|0;j=f;h=f+96|0;k=f+8|0;c[h>>2]=e;e=a+(c[a>>2]|0)|0;a:do switch(d|0){case 4013:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+48>>2];h=0;a=99}break};case 4008:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;do if((j|0)>=1101){if((j|0)>1105){a=100;break a}c[a+116>>2]=j;if((j|0)==1101){c[a+20>>2]=8e3;h=0;a=99;break a}else if((j|0)==1102){c[a+20>>2]=12e3;h=0;a=99;break a}else break}else{if((j|0)!=-1e3){a=100;break a}c[a+116>>2]=j}while(0);c[a+20>>2]=16e3;h=0;a=99;break};case 4004:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!((j|0)<1101|(j|0)>1105)){c[a+120>>2]=j;if((j|0)==1102){c[a+20>>2]=12e3;h=0;a=99;break a}else if((j|0)==1101){c[a+20>>2]=8e3;h=0;a=99;break a}else{c[a+20>>2]=16e3;h=0;a=99;break a}}else a=100;break};case 4009:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+216>>2];h=0;a=99}break};case 4010:{d=c[h>>2]|0;k=c[d>>2]|0;c[h>>2]=d+4;if((k|0)<0|(k|0)>10)a=100;else{c[a+44>>2]=k;c[j>>2]=k;Xb(e,4010,j)|0;h=0;a=99}break};case 4002:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)!=-1e3)if((j|0)!=-1){if((j|0)<1){a=100;break a}if((j|0)<501)h=500;else{h=(c[a+100>>2]|0)*3e5|0;h=(j|0)>(h|0)?h:j}}else h=-1;else h=-1e3;c[a+152>>2]=h;h=0;a=99;break};case 10024:{k=c[h>>2]|0;d=c[k>>2]|0;c[h>>2]=k+4;c[a+164>>2]=d;c[j>>2]=d;h=Xb(e,10024,j)|0;a=99;break};case 4015:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+40>>2];h=0;a=99}break};case 4017:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+52>>2];h=0;a=99}break};case 4023:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+108>>2];h=0;a=99}break};case 4011:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+44>>2];h=0;a=99}break};case 4036:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<8|(j|0)>24)a=100;else{c[a+156>>2]=j;h=0;a=99}break};case 4037:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+156>>2];h=0;a=99}break};case 4007:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+136>>2];h=0;a=99}break};case 11002:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<1e3){if((j|0)!=-1e3){a=100;break a}}else if((j|0)>1002){a=100;break a}c[a+124>>2]=j;h=0;a=99;break};case 4028:{d=a+(c[a+4>>2]|0)|0;h=a+168|0;wj(h|0,0,18052)|0;Xb(e,4028,j)|0;Mf(d,c[a+18216>>2]|0,k)|0;c[h>>2]=c[a+100>>2];b[a+172>>1]=16384;g[a+180>>2]=1.0;c[a+224>>2]=1;c[a+200>>2]=1001;c[a+216>>2]=1105;c[a+176>>2]=(oh(60)|0)<<8;h=0;a=99;break};case 11019:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+128>>2];h=0;a=99}break};case 4e3:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)==2051|(j|0)==2049|(j|0)==2048){h=a+96|0;if((c[a+224>>2]|0)==0?(c[h>>2]|0)!=(j|0):0){h=-1;a=99;break a}c[h>>2]=j;h=0;a=99}else{h=-1;a=99}break};case 4003:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=Xi(a,c[a+212>>2]|0,1276)|0;h=0;a=99}break};case 4014:{d=c[h>>2]|0;k=c[d>>2]|0;c[h>>2]=d+4;if((k|0)<0|(k|0)>100)a=100;else{c[a+40>>2]=k;c[j>>2]=k;Xb(e,4014,j)|0;h=0;a=99}break};case 4027:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(j){h=(c[a+132>>2]|0)/400|0;c[j>>2]=h;if((c[a+96>>2]|0)==2051){h=0;a=99}else{c[j>>2]=h+(c[a+104>>2]|0);h=0;a=99}}else a=100;break};case 4022:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<1){if((j|0)!=-1e3){a=100;break a}}else if((j|0)>(c[a+100>>2]|0)){a=100;break a}c[a+108>>2]=j;h=0;a=99;break};case 4040:{d=c[h>>2]|0;k=c[d>>2]|0;c[h>>2]=d+4;switch(k|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{a=100;break a}}c[a+144>>2]=k;c[j>>2]=k;Xb(e,4040,j)|0;h=0;a=99;break};case 4041:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+144>>2];h=0;a=99}break};case 4006:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<0|(j|0)>1)a=100;else{c[a+136>>2]=j;c[a+56>>2]=1-j;h=0;a=99}break};case 4001:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+96>>2];h=0;a=99}break};case 4021:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+140>>2];h=0;a=99}break};case 4031:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+18212>>2];h=0;a=99}break};case 4016:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<0|(j|0)>1)a=100;else{c[a+52>>2]=j;h=0;a=99}break};case 11018:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<-1|(j|0)>100)a=100;else{c[a+128>>2]=j;h=0;a=99}break};case 4005:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+120>>2];h=0;a=99}break};case 4042:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)>1|(j|0)<0)a=100;else{c[a+72>>2]=j;h=0;a=99}break};case 4043:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+72>>2];h=0;a=99}break};case 4012:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<0|(j|0)>1)a=100;else{c[a+48>>2]=j;h=0;a=99}break};case 4029:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+132>>2];h=0;a=99}break};case 4024:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)==3002|(j|0)==3001|(j|0)==-1e3){c[a+112>>2]=j;h=0;a=99}else a=100;break};case 4025:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if(!j)a=100;else{c[j>>2]=c[a+112>>2];h=0;a=99}break};case 10026:{k=c[h>>2]|0;d=c[k>>2]|0;c[h>>2]=k+4;c[a+228>>2]=d;c[j>>2]=d;h=Xb(e,10026,j)|0;a=99;break};case 10015:{d=c[h>>2]|0;a=c[d>>2]|0;c[h>>2]=d+4;if(!a)a=100;else{c[j>>2]=a;h=Xb(e,10015,j)|0;a=99}break};case 4020:{d=c[h>>2]|0;j=c[d>>2]|0;c[h>>2]=d+4;if((j|0)<0|(j|0)>1)a=100;else{c[a+140>>2]=j;h=0;a=99}break};default:{h=-5;a=99}}while(0);if((a|0)==99){d=h;i=f;return d|0}else if((a|0)==100){d=-1;i=f;return d|0}return 0}function hj(a){a=a|0;var b=0;b=i;Pi(a);i=b;return}function ij(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0;l=i;k=+(c[d>>2]|0)*3.725290298461914e-9;o=+(c[d+4>>2]|0)*3.725290298461914e-9;m=+(c[b>>2]|0)*3.725290298461914e-9;n=+(c[b+4>>2]|0)*3.725290298461914e-9;p=+(c[b+8>>2]|0)*3.725290298461914e-9;b=e+4|0;d=0;while(1){if((d|0)>=(h|0))break;q=$(d,j)|0;s=+g[a+(q<<2)>>2];r=+g[e>>2]+m*s;g[e>>2]=+g[b>>2]-r*k+n*s;g[b>>2]=p*s-r*o+1.0000000031710769e-30;g[f+(q<<2)>>2]=r;d=d+1|0}i=l;return}function jj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0;h=i;i=i+3072|0;k=h+1536|0;j=h;if((f|0)>=80)if((f|0)>160)l=1.0;else l=(+(f|0)+-80.0)/80.0;else l=0.0;m=0;while(1){if((m|0)>=16)break;c[j+(m<<2)>>2]=-1;g[k+(m<<2)>>2]=1.0e10;m=m+1|0}m=d+1|0;n=0;while(1){if((n|0)>=4){m=1;break}A=1<>2]=+((f< >2]=n;n=n+1|0}while(1){if((m|0)>=(d|0))break;n=m+ -1|0;o=2;while(1){if((o|0)>=16)break;A=o+ -1|0;g[k+(m<<6)+(o<<2)>>2]=+g[k+(n<<6)+(A<<2)>>2];c[j+(m<<6)+(o<<2)>>2]=A;o=o+1|0}o=k+(n<<6)+4|0;t=a+(m<<2)|0;s=b+(m<<2)|0;q=d-m|0;r=q+1|0;p=+(q|0);v=0;while(1){if((v|0)>=4)break;w=1< >2]=1;u=+g[o>>2];A=1;while(1){if((A|0)>=4)break;A=A+1|0;z=(1<>2];if(!(y>2]=z;u=y}y=+((f< >2]=u;if((q|0)<(w|0))y=y*p/+(w|0);g[x>>2]=u+y;v=v+1|0}m=m+1|0}b=d+ -1|0;l=+g[k+(b<<6)+4>>2];a=1;e=2;while(1){if((e|0)>=16)break;y=+g[k+(b<<6)+(e<<2)>>2];A=y >2]|0;d=k}i=h;return a|0}function kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0;e=i;c=1< =(d|0))break;k=h+ +g[a+(c<<2)>>2];j=f+ +g[b+(c<<2)>>2];c=c+1|0;h=k;f=j}f=(h*f/+($(d,d)|0)+-2.0)*.05000000074505806;b=f<0.0;if(b)h=0.0;else h=f;if(+P(+h)>1.0){k=1.0;i=e;return+k}if(b)f=0.0;k=+P(+f);i=e;return+k}function lj(a){a=a|0;c[a+4>>2]=0;return}function mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=nj(a,b,c)|0;i=d;return a|0}function nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f;if((e|0)<1){k=-4;i=f;return k|0}g=b+4|0;k=c[g>>2]|0;if(k){if(((a[b>>0]^a[d>>0])&255)>=4){k=-4;i=f;return k|0}}else{a[b>>0]=a[d>>0]|0;c[b+296>>2]=mi(d,8e3)|0}h=Gi(d,e)|0;if((h|0)<1){k=-4;i=f;return k|0}if(($(h+k|0,c[b+296>>2]|0)|0)>960){k=-4;i=f;return k|0}b=ni(d,e,0,j,b+(k<<2)+8|0,b+(k<<1)+200|0,0,0)|0;if((b|0)<1){k=b;i=f;return k|0}c[g>>2]=(c[g>>2]|0)+h;k=0;i=f;return k|0}function oj(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;if((f|0)<=0){p=-1;i=k;return p|0}if((c[e+4>>2]|0)<(f|0)){p=-1;i=k;return p|0}n=e+200|0;do if((f|0)==1){p=b[n>>1]|0;if((p|0)<(h|0)){a[g>>0]=d[e>>0]&252;o=g+1|0;p=p+1|0;break}else{p=-2;i=k;return p|0}}else if((f|0)==2){p=b[e+202>>1]|0;o=b[n>>1]|0;if(p<<16>>16==o<<16>>16){p=p<<16>>16<<1|1;if((p|0)>(h|0)){p=-2;i=k;return p|0}else{a[g>>0]=d[e>>0]&252|1;o=g+1|0;break}}else{p=(o<<16>>16)+(p<<16>>16)+2+(o<<16>>16>251&1)|0;if((p|0)>(h|0)){p=-2;i=k;return p|0}else{a[g>>0]=d[e>>0]&252|2;o=g+((li(b[n>>1]|0,g+1|0)|0)+1)|0;break}}}else{o=g;p=0}while(0);if(!((f|0)<=2?!((j|0)!=0&(p|0)<(h|0)):0)){o=1;m=13}a:do if((m|0)==13){while(1){if((o|0)>=(f|0)){m=21;break}if((b[e+(o<<1)+200>>1]|0)!=(b[n>>1]|0)){m=16;break}o=o+1|0;m=13}do if((m|0)==16){n=f+ -1|0;o=0;m=2;while(1){if((o|0)>=(n|0))break;p=b[e+(o<<1)+200>>1]|0;o=o+1|0;m=m+((p<<16>>16>251?2:1)+(p<<16>>16))|0}p=m+(b[e+(n<<1)+200>>1]|0)|0;if((p|0)>(h|0)){p=-2;i=k;return p|0}else{a[g>>0]=d[e>>0]|3;o=f|128;a[g+1>>0]=o;n=1;break}}else if((m|0)==21){p=($(b[n>>1]|0,f)|0)+2|0;if((p|0)>(h|0)){p=-2;i=k;return p|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f;o=f;n=0;break}}while(0);m=g+2|0;if((j|0)!=0?(l=h-p|0,(p|0)!=(h|0)):0){a[g+1>>0]=o|64;o=(l+ -1|0)/255|0;p=0;while(1){if((p|0)>=(o|0))break;a[m>>0]=-1;m=m+1|0;p=p+1|0}a[m>>0]=l+($(o,-255)|0)+255;o=m+1|0;p=h}else o=m;if(n){l=f+ -1|0;m=0;while(1){if((m|0)>=(l|0))break a;o=o+(li(b[e+(m<<1)+200>>1]|0,o)|0)|0;m=m+1|0}}}while(0);l=0;while(1){if((l|0)>=(f|0))break;n=e+(l<<1)+200|0;zj(o|0,c[e+(l<<2)+8>>2]|0,b[n>>1]|0)|0;o=o+(b[n>>1]|0)|0;l=l+1|0}if(!j){i=k;return p|0}g=g+h|0;while(1){if(o>>>0>=g>>>0)break;a[o>>0]=0;o=o+1|0}i=k;return p|0}function pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+304|0;f=e;if((b|0)<1){b=-1;i=e;return b|0}if((b|0)==(d|0)){b=0;i=e;return b|0}if((b|0)>(d|0)){b=-1;i=e;return b|0}else{lj(f);g=a+(d-b)|0;zj(g|0,a|0,b|0)|0;mj(f,g,b)|0;b=oj(f,c[f+4>>2]|0,a,d,1)|0;i=e;return((b|0)>0?0:b)|0}return 0} function qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;do if(a>>>0<245){if(a>>>0<11)a=16;else a=a+11&-8;v=a>>>3;p=c[7654]|0;w=p>>>v;if(w&3){h=(w&1^1)+v|0;g=h<<1;e=30656+(g<<2)|0;g=30656+(g+2<<2)|0;j=c[g>>2]|0;d=j+8|0;f=c[d>>2]|0;do if((e|0)!=(f|0)){if(f>>>0<(c[7658]|0)>>>0)xa();k=f+12|0;if((c[k>>2]|0)==(j|0)){c[k>>2]=e;c[g>>2]=f;break}else xa()}else c[7654]=p&~(1< >2]=H|3;H=j+(H|4)|0;c[H>>2]=c[H>>2]|1;H=d;i=b;return H|0}if(a>>>0>(c[7656]|0)>>>0){if(w){h=2< >>12&16;h=h>>>d;f=h>>>5&8;h=h>>>f;g=h>>>2&4;h=h>>>g;e=h>>>1&2;h=h>>>e;j=h>>>1&1;j=(f|d|g|e|j)+(h>>>j)|0;h=j<<1;e=30656+(h<<2)|0;h=30656+(h+2<<2)|0;g=c[h>>2]|0;d=g+8|0;f=c[d>>2]|0;do if((e|0)!=(f|0)){if(f>>>0<(c[7658]|0)>>>0)xa();k=f+12|0;if((c[k>>2]|0)==(g|0)){c[k>>2]=e;c[h>>2]=f;break}else xa()}else c[7654]=p&~(1< >2]=a|3;e=g+a|0;c[g+(a|4)>>2]=f|1;c[g+h>>2]=f;h=c[7656]|0;if(h){g=c[7659]|0;k=h>>>3;j=k<<1;h=30656+(j<<2)|0;l=c[7654]|0;k=1< >2]|0;if(k>>>0<(c[7658]|0)>>>0)xa();else{D=j;C=k}}else{c[7654]=l|k;D=30656+(j+2<<2)|0;C=h}c[D>>2]=g;c[C+12>>2]=g;c[g+8>>2]=C;c[g+12>>2]=h}c[7656]=f;c[7659]=e;H=d;i=b;return H|0}p=c[7655]|0;if(p){e=(p&0-p)+ -1|0;G=e>>>12&16;e=e>>>G;F=e>>>5&8;e=e>>>F;H=e>>>2&4;e=e>>>H;f=e>>>1&2;e=e>>>f;d=e>>>1&1;d=c[30920+((F|G|H|f|d)+(e>>>d)<<2)>>2]|0;e=(c[d+4>>2]&-8)-a|0;f=d;while(1){g=c[f+16>>2]|0;if(!g){g=c[f+20>>2]|0;if(!g)break}f=(c[g+4>>2]&-8)-a|0;H=f>>>0 >>0;e=H?f:e;f=g;d=H?g:d}h=c[7658]|0;if(d>>>0 >>0)xa();f=d+a|0;if(d>>>0>=f>>>0)xa();g=c[d+24>>2]|0;k=c[d+12>>2]|0;do if((k|0)==(d|0)){k=d+20|0;j=c[k>>2]|0;if(!j){k=d+16|0;j=c[k>>2]|0;if(!j){B=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if(m){j=m;k=l;continue}m=j+16|0;l=c[m>>2]|0;if(!l)break;else{j=l;k=m}}if(k>>>0 >>0)xa();else{c[k>>2]=0;B=j;break}}else{j=c[d+8>>2]|0;if(j>>>0 >>0)xa();h=j+12|0;if((c[h>>2]|0)!=(d|0))xa();l=k+8|0;if((c[l>>2]|0)==(d|0)){c[h>>2]=k;c[l>>2]=j;B=k;break}else xa()}while(0);do if(g){h=c[d+28>>2]|0;j=30920+(h<<2)|0;if((d|0)==(c[j>>2]|0)){c[j>>2]=B;if(!B){c[7655]=c[7655]&~(1< >>0<(c[7658]|0)>>>0)xa();h=g+16|0;if((c[h>>2]|0)==(d|0))c[h>>2]=B;else c[g+20>>2]=B;if(!B)break}if(B>>>0<(c[7658]|0)>>>0)xa();c[B+24>>2]=g;g=c[d+16>>2]|0;do if(g)if(g>>>0<(c[7658]|0)>>>0)xa();else{c[B+16>>2]=g;c[g+24>>2]=B;break}while(0);g=c[d+20>>2]|0;if(g)if(g>>>0<(c[7658]|0)>>>0)xa();else{c[B+20>>2]=g;c[g+24>>2]=B;break}}while(0);if(e>>>0<16){H=e+a|0;c[d+4>>2]=H|3;H=d+(H+4)|0;c[H>>2]=c[H>>2]|1}else{c[d+4>>2]=a|3;c[d+(a|4)>>2]=e|1;c[d+(e+a)>>2]=e;h=c[7656]|0;if(h){g=c[7659]|0;l=h>>>3;j=l<<1;h=30656+(j<<2)|0;k=c[7654]|0;l=1< >2]|0;if(k>>>0<(c[7658]|0)>>>0)xa();else{A=j;z=k}}else{c[7654]=k|l;A=30656+(j+2<<2)|0;z=h}c[A>>2]=g;c[z+12>>2]=g;c[g+8>>2]=z;c[g+12>>2]=h}c[7656]=e;c[7659]=f}H=d+8|0;i=b;return H|0}}}else if(a>>>0<=4294967231){z=a+11|0;a=z&-8;B=c[7655]|0;if(B){A=0-a|0;z=z>>>8;if(z)if(a>>>0>16777215)C=31;else{G=(z+1048320|0)>>>16&8;H=z< >>16&4;H=H< >>16&2;C=14-(F|G|C)+(H< >>15)|0;C=a>>>(C+7|0)&1|C<<1}else C=0;D=c[30920+(C<<2)>>2]|0;a:do if(!D){F=0;z=0}else{if((C|0)==31)z=0;else z=25-(C>>>1)|0;F=0;E=a< >2]&-8;G=H-a|0;if(G>>>0>>0)if((H|0)==(a|0)){A=G;F=D;z=D;break a}else{A=G;z=D}H=c[D+20>>2]|0;D=c[D+(E>>>31<<2)+16>>2]|0;F=(H|0)==0|(H|0)==(D|0)?F:H;if(!D)break;else E=E<<1}}while(0);if((F|0)==0&(z|0)==0){H=2< >>12&16;H=H>>>D;C=H>>>5&8;H=H>>>C;E=H>>>2&4;H=H>>>E;G=H>>>1&2;H=H>>>G;F=H>>>1&1;F=c[30920+((C|D|E|G|F)+(H>>>F)<<2)>>2]|0}if(F)while(1){H=(c[F+4>>2]&-8)-a|0;B=H>>>0>>0;A=B?H:A;z=B?F:z;B=c[F+16>>2]|0;if(B){F=B;continue}F=c[F+20>>2]|0;if(!F)break}if((z|0)!=0?A>>>0<((c[7656]|0)-a|0)>>>0:0){f=c[7658]|0;if(z>>>0 >>0)xa();d=z+a|0;if(z>>>0>=d>>>0)xa();e=c[z+24>>2]|0;h=c[z+12>>2]|0;do if((h|0)==(z|0)){h=z+20|0;g=c[h>>2]|0;if(!g){h=z+16|0;g=c[h>>2]|0;if(!g){x=0;break}}while(1){j=g+20|0;k=c[j>>2]|0;if(k){g=k;h=j;continue}j=g+16|0;k=c[j>>2]|0;if(!k)break;else{g=k;h=j}}if(h>>>0 >>0)xa();else{c[h>>2]=0;x=g;break}}else{g=c[z+8>>2]|0;if(g>>>0 >>0)xa();f=g+12|0;if((c[f>>2]|0)!=(z|0))xa();j=h+8|0;if((c[j>>2]|0)==(z|0)){c[f>>2]=h;c[j>>2]=g;x=h;break}else xa()}while(0);do if(e){g=c[z+28>>2]|0;f=30920+(g<<2)|0;if((z|0)==(c[f>>2]|0)){c[f>>2]=x;if(!x){c[7655]=c[7655]&~(1< >>0<(c[7658]|0)>>>0)xa();f=e+16|0;if((c[f>>2]|0)==(z|0))c[f>>2]=x;else c[e+20>>2]=x;if(!x)break}if(x>>>0<(c[7658]|0)>>>0)xa();c[x+24>>2]=e;e=c[z+16>>2]|0;do if(e)if(e>>>0<(c[7658]|0)>>>0)xa();else{c[x+16>>2]=e;c[e+24>>2]=x;break}while(0);e=c[z+20>>2]|0;if(e)if(e>>>0<(c[7658]|0)>>>0)xa();else{c[x+20>>2]=e;c[e+24>>2]=x;break}}while(0);b:do if(A>>>0>=16){c[z+4>>2]=a|3;c[z+(a|4)>>2]=A|1;c[z+(A+a)>>2]=A;f=A>>>3;if(A>>>0<256){h=f<<1;e=30656+(h<<2)|0;g=c[7654]|0;f=1< >2]|0;if(g>>>0>=(c[7658]|0)>>>0){w=f;v=g;break}xa()}while(0);c[w>>2]=d;c[v+12>>2]=d;c[z+(a+8)>>2]=v;c[z+(a+12)>>2]=e;break}e=A>>>8;if(e)if(A>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e< >>16&4;H=H< >>16&2;e=14-(F|G|e)+(H< >>15)|0;e=A>>>(e+7|0)&1|e<<1}else e=0;f=30920+(e<<2)|0;c[z+(a+28)>>2]=e;c[z+(a+20)>>2]=0;c[z+(a+16)>>2]=0;h=c[7655]|0;g=1< >2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break}f=c[f>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;c:do if((c[f+4>>2]&-8|0)!=(A|0)){e=A< >>31<<2)+16|0;h=c[g>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(A|0)){p=h;break c}else{e=e<<1;f=h}}if(g>>>0<(c[7658]|0)>>>0)xa();else{c[g>>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else p=f;while(0);f=p+8|0;e=c[f>>2]|0;g=c[7658]|0;if(p>>>0 >>0)xa();if(e>>>0 >>0)xa();else{c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}}else{H=A+a|0;c[z+4>>2]=H|3;H=z+(H+4)|0;c[H>>2]=c[H>>2]|1}while(0);H=z+8|0;i=b;return H|0}}}else a=-1;while(0);p=c[7656]|0;if(a>>>0<=p>>>0){e=p-a|0;d=c[7659]|0;if(e>>>0>15){c[7659]=d+a;c[7656]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[7656]=0;c[7659]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[7657]|0;if(a>>>0 >>0){G=p-a|0;c[7657]=G;H=c[7660]|0;c[7660]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}do if(!(c[7772]|0)){p=qa(30)|0;if(!(p+ -1&p)){c[7774]=p;c[7773]=p;c[7775]=-1;c[7776]=-1;c[7777]=0;c[7765]=0;c[7772]=(ya(0)|0)&-16^1431655768;break}else xa()}while(0);w=a+48|0;p=c[7774]|0;x=a+47|0;z=p+x|0;p=0-p|0;v=z&p;if(v>>>0<=a>>>0){H=0;i=b;return H|0}A=c[7764]|0;if((A|0)!=0?(G=c[7762]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>A>>>0):0){H=0;i=b;return H|0}d:do if(!(c[7765]&4)){B=c[7660]|0;e:do if(B){A=31064|0;while(1){C=c[A>>2]|0;if(C>>>0<=B>>>0?(y=A+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;A=c[A+8>>2]|0;if(!A){o=182;break e}}if(A){B=z-(c[7657]|0)&p;if(B>>>0<2147483647){p=na(B|0)|0;A=(p|0)==((c[A>>2]|0)+(c[y>>2]|0)|0);y=p;z=B;p=A?p:-1;A=A?B:0;o=191}else A=0}else o=182}else o=182;while(0);do if((o|0)==182){p=na(0)|0;if((p|0)!=(-1|0)){z=p;A=c[7773]|0;y=A+ -1|0;if(!(y&z))A=v;else A=v-z+(y+z&0-A)|0;y=c[7762]|0;z=y+A|0;if(A>>>0>a>>>0&A>>>0<2147483647){H=c[7764]|0;if((H|0)!=0?z>>>0<=y>>>0|z>>>0>H>>>0:0){A=0;break}y=na(A|0)|0;o=(y|0)==(p|0);z=A;p=o?p:-1;A=o?A:0;o=191}else A=0}else A=0}while(0);f:do if((o|0)==191){o=0-z|0;if((p|0)!=(-1|0)){q=A;o=202;break d}do if((y|0)!=(-1|0)&z>>>0<2147483647&z>>>0
>>0?(u=c[7774]|0,u=x-z+u&0-u,u>>>0<2147483647):0)if((na(u|0)|0)==(-1|0)){na(o|0)|0;break f}else{z=u+z|0;break}while(0);if((y|0)!=(-1|0)){p=y;q=z;o=202;break d}}while(0);c[7765]=c[7765]|4;o=199}else{A=0;o=199}while(0);if((((o|0)==199?v>>>0<2147483647:0)?(t=na(v|0)|0,s=na(0)|0,(s|0)!=(-1|0)&(t|0)!=(-1|0)&t>>>0 >>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:A;o=202}if((o|0)==202){r=(c[7762]|0)+q|0;c[7762]=r;if(r>>>0>(c[7763]|0)>>>0)c[7763]=r;r=c[7660]|0;g:do if(r){v=31064|0;while(1){t=c[v>>2]|0;u=v+4|0;s=c[u>>2]|0;if((p|0)==(t+s|0)){o=214;break}w=c[v+8>>2]|0;if(!w)break;else v=w}if(((o|0)==214?(c[v+12>>2]&8|0)==0:0)?r>>>0>=t>>>0&r>>>0>>0:0){c[u>>2]=s+q;d=(c[7657]|0)+q|0;e=r+8|0;if(!(e&7))e=0;else e=0-e&7;H=d-e|0;c[7660]=r+e;c[7657]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[7661]=c[7776];break}if(p>>>0<(c[7658]|0)>>>0)c[7658]=p;t=p+q|0;s=31064|0;while(1){if((c[s>>2]|0)==(t|0)){o=224;break}u=c[s+8>>2]|0;if(!u)break;else s=u}if((o|0)==224?(c[s+12>>2]&8|0)==0:0){c[s>>2]=p;h=s+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if(!(h&7))h=0;else h=0-h&7;j=p+(q+8)|0;if(!(j&7))n=0;else n=0-j&7;o=p+(n+q)|0;j=h+a|0;k=p+j|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(c[7660]|0)){if((o|0)==(c[7659]|0)){H=(c[7656]|0)+m|0;c[7656]=H;c[7659]=k;c[p+(j+4)>>2]=H|1;c[p+(H+j)>>2]=H;break}r=q+4|0;t=c[p+(r+n)>>2]|0;if((t&3|0)==1){a=t&-8;s=t>>>3;i:do if(t>>>0>=256){l=c[p+((n|24)+q)>>2]|0;u=c[p+(q+12+n)>>2]|0;do if((u|0)==(o|0)){u=n|16;t=p+(r+u)|0;s=c[t>>2]|0;if(!s){t=p+(u+q)|0;s=c[t>>2]|0;if(!s){g=0;break}}while(1){u=s+20|0;v=c[u>>2]|0;if(v){s=v;t=u;continue}u=s+16|0;v=c[u>>2]|0;if(!v)break;else{s=v;t=u}}if(t>>>0<(c[7658]|0)>>>0)xa();else{c[t>>2]=0;g=s;break}}else{t=c[p+((n|8)+q)>>2]|0;if(t>>>0<(c[7658]|0)>>>0)xa();v=t+12|0;if((c[v>>2]|0)!=(o|0))xa();s=u+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=u;c[s>>2]=t;g=u;break}else xa()}while(0);if(!l)break;t=c[p+(q+28+n)>>2]|0;s=30920+(t<<2)|0;do if((o|0)!=(c[s>>2]|0)){if(l>>>0<(c[7658]|0)>>>0)xa();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if(!g)break i}else{c[s>>2]=g;if(g)break;c[7655]=c[7655]&~(1<
>>0<(c[7658]|0)>>>0)xa();c[g+24>>2]=l;l=n|16;o=c[p+(l+q)>>2]|0;do if(o)if(o>>>0<(c[7658]|0)>>>0)xa();else{c[g+16>>2]=o;c[o+24>>2]=g;break}while(0);l=c[p+(r+l)>>2]|0;if(!l)break;if(l>>>0<(c[7658]|0)>>>0)xa();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{r=c[p+((n|8)+q)>>2]|0;g=c[p+(q+12+n)>>2]|0;t=30656+(s<<1<<2)|0;do if((r|0)!=(t|0)){if(r>>>0<(c[7658]|0)>>>0)xa();if((c[r+12>>2]|0)==(o|0))break;xa()}while(0);if((g|0)==(r|0)){c[7654]=c[7654]&~(1< >>0<(c[7658]|0)>>>0)xa();s=g+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}xa()}while(0);c[r+12>>2]=g;c[l>>2]=r}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(j+4)>>2]=m|1;c[p+(m+j)>>2]=m;g=m>>>3;if(m>>>0<256){m=g<<1;d=30656+(m<<2)|0;l=c[7654]|0;g=1<>2]|0;if(g>>>0>=(c[7658]|0)>>>0){f=l;e=g;break}xa()}while(0);c[f>>2]=k;c[e+12>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;break}e=m>>>8;do if(!e)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e< >>16&4;H=H< >>16&2;e=14-(F|G|e)+(H< >>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=30920+(e<<2)|0;c[p+(j+28)>>2]=e;c[p+(j+20)>>2]=0;c[p+(j+16)>>2]=0;f=c[7655]|0;g=1< >2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break}l=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[l+4>>2]&-8|0)!=(m|0)){e=m< >>31<<2)+16|0;f=c[g>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(m|0)){d=f;break j}else{e=e<<1;l=f}}if(g>>>0<(c[7658]|0)>>>0)xa();else{c[g>>2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break h}}else d=l;while(0);f=d+8|0;e=c[f>>2]|0;g=c[7658]|0;if(d>>>0 >>0)xa();if(e>>>0 >>0)xa();else{c[e+12>>2]=k;c[f>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;c[p+(j+24)>>2]=0;break}}else{H=(c[7657]|0)+m|0;c[7657]=H;c[7660]=k;c[p+(j+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=31064|0;while(1){d=c[e>>2]|0;if(d>>>0<=r>>>0?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if(!(e&7))e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if(!(f&7))f=0;else f=0-f&7;H=q+ -40-f|0;c[7660]=p+f;c[7657]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[7661]=c[7776];c[d+4>>2]=27;c[e+0>>2]=c[7766];c[e+4>>2]=c[7767];c[e+8>>2]=c[7768];c[e+12>>2]=c[7769];c[7766]=p;c[7767]=q;c[7769]=0;c[7768]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0 >>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0 >>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){g=e<<1;d=30656+(g<<2)|0;f=c[7654]|0;e=1< >2]|0;if(e>>>0>=(c[7658]|0)>>>0){k=f;j=e;break}xa()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if(e)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e< >>16&4;H=H< >>16&2;e=14-(F|G|e)+(H< >>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=30920+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[7655]|0;g=1< >2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d< >>31<<2)+16|0;g=c[j>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;f=g}}if(j>>>0<(c[7658]|0)>>>0)xa();else{c[j>>2]=r;c[r+24>>2]=f;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);f=h+8|0;e=c[f>>2]|0;d=c[7658]|0;if(h>>>0 >>0)xa();if(e>>>0 >>0)xa();else{c[e+12>>2]=r;c[f>>2]=r;c[r+8>>2]=e;c[r+12>>2]=h;c[r+24>>2]=0;break}}}else{H=c[7658]|0;if((H|0)==0|p>>>0 >>0)c[7658]=p;c[7766]=p;c[7767]=q;c[7769]=0;c[7663]=c[7772];c[7662]=-1;d=0;do{H=d<<1;G=30656+(H<<2)|0;c[30656+(H+3<<2)>>2]=G;c[30656+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;if(!(d&7))d=0;else d=0-d&7;H=q+ -40-d|0;c[7660]=p+d;c[7657]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[7661]=c[7776]}while(0);d=c[7657]|0;if(d>>>0>a>>>0){G=d-a|0;c[7657]=G;H=c[7660]|0;c[7660]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}}c[(wa()|0)>>2]=12;H=0;i=b;return H|0}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if(!a){i=b;return}q=a+ -8|0;r=c[7658]|0;if(q>>>0