>2]}h=h+B|0;N[h+4>>2]=q;N[h>>2]=p;h=J[l+24>>2];N[(h+B|0)+8>>2]=n;h=h+u|0;N[h+4>>2]=k;N[h>>2]=f;h=J[l+24>>2];N[(u+h|0)+8>>2]=b;i=i+1|0;if((i|0)>2]){continue}break}}La=d- -64|0;g=1;d=0;if(J[e+32>>2]>0){while(1){h=J[J[e+16>>2]+(d<<2)>>2];g=Na[J[J[h>>2]+44>>2]](h,j+104|0)&g;d=d+1|0;if((d|0) >2]){continue}break}}d=G>=Q(-.014999999664723873)&g;if(!d){c=c+1|0;if((c|0) >2]){continue}}break}h=!d}if(J[e+28>>2]>0){g=0;while(1){u=P(g,12);d=u+J[e+20>>2]|0;n=N[d>>2];c=J[d>>2];w=N[d+4>>2];d=J[d+4>>2];i=J[J[e+8>>2]+(g<<2)>>2];J[i+44>>2]=c;J[i+48>>2]=d;b=N[(u+J[e+20>>2]|0)+8>>2];N[i+56>>2]=b;c=u+J[e+24>>2]|0;B=J[c+4>>2];J[i+64>>2]=J[c>>2];J[i+68>>2]=B;k=N[(u+J[e+24>>2]|0)+8>>2];f=_a(b);N[i+24>>2]=f;b=Za(b);N[i+20>>2]=b;N[i+72>>2]=k;k=N[i+28>>2];x=N[i+32>>2];N[i+16>>2]=w-Q(Q(b*k)+Q(f*x));N[i+12>>2]=n-Q(Q(f*k)-Q(x*b));g=g+1|0;if((g|0) >2]){continue}break}}N[o+32>>2]=0;if(!(!J[e+4>>2]|J[e+36>>2]<=0)){B=J[l+40>>2];g=0;while(1){C=J[J[e+12>>2]+(g<<2)>>2];u=B+P(g,156)|0;i=J[u+148>>2];J[j+156>>2]=i;j:{if((i|0)<=0){break j}d=0;if((i|0)!=1){ga=i&-2;c=0;while(1){da=d<<2;S=j+140|0;ea=u+P(d,36)|0;N[da+S>>2]=N[ea+16>>2];sa=j+148|0;N[da+sa>>2]=N[ea+20>>2];ea=S;da=d|1;S=da<<2;da=u+P(da,36)|0;N[ea+S>>2]=N[da+16>>2];N[S+sa>>2]=N[da+20>>2];d=d+2|0;c=c+2|0;if((ga|0)!=(c|0)){continue}break}}if(!(i&1)){break j}c=(j+140|0)+(d<<2)|0;d=u+P(d,36)|0;N[c>>2]=N[d+16>>2];N[c+8>>2]=N[d+20>>2]}c=J[e+4>>2];Na[J[J[c>>2]+20>>2]](c,C,j+140|0);g=g+1|0;if((g|0) >2]){continue}break}}k:{if(!ja){break k}g=J[e+28>>2];if((g|0)<=0){break k}i=J[e+8>>2];b=Q(34028234663852886e22);d=0;while(1){c=J[i+(d<<2)>>2];l:{if(!J[c>>2]){break l}m:{n:{if(!(K[c+4|0]&4)){break n}f=N[c+72>>2];if(Q(f*f)>Q(.001218469929881394)){break n}f=N[c+64>>2];k=Q(f*f);f=N[c+68>>2];if(!(Q(k+Q(f*f))>Q(9999999747378752e-20))){break m}}J[c+144>>2]=0;b=Q(0);break l}f=Q(m+N[c+144>>2]);N[c+144>>2]=f;b=b =Q(.5))|h){break k}c=J[e+28>>2];if((c|0)<=0){break k}g=0;while(1){d=J[J[e+8>>2]+(g<<2)>>2];if(J[d>>2]){J[d+144>>2]=0;J[d+64>>2]=0;J[d+68>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;I[d+4>>1]=L[d+4>>1]&65533;c=J[e+28>>2]}g=g+1|0;if((c|0)>(g|0)){continue}break}}kd(l);La=j+160|0;N[a+103008>>2]=N[o+24>>2]+N[a+103008>>2];N[a+103012>>2]=N[o+28>>2]+N[a+103012>>2];N[a+103016>>2]=N[o+32>>2]+N[a+103016>>2];c=J[e+28>>2];if((c|0)<=0){break e}h=J[e+8>>2];d=0;if((c|0)!=1){j=c&-2;i=0;while(1){l=d<<2;g=J[l+h>>2];if(!J[g>>2]){I[g+4>>1]=L[g+4>>1]&65534}g=J[h+(l|4)>>2];if(!J[g>>2]){I[g+4>>1]=L[g+4>>1]&65534}d=d+2|0;i=i+2|0;if((j|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=J[h+(d<<2)>>2];if(J[c>>2]){break e}I[c+4>>1]=L[c+4>>1]&65534}t=J[t+96>>2];if(t){continue}break}}Eb($,F);d=J[a+102948>>2];if(d){while(1){if(!(!(H[d+4|0]&1)|!J[d>>2])){Pd(d)}d=J[d+96>>2];if(d){continue}break}}fc(a+102868|0);N[a+103020>>2]=0;fd(e);La=o+96|0;N[a+103004>>2]=0;b=N[D+4>>2]}if(!(!K[a+102992|0]|!(b>Q(0)))){g=La-272|0;La=g;l=gd(g+220|0,64,32,0,a+68|0,J[a+102940>>2]);o:{if(!K[a+102994|0]){break o}j=J[a+102948>>2];if(j){while(1){J[j+60>>2]=0;I[j+4>>1]=L[j+4>>1]&65534;j=J[j+96>>2];if(j){continue}break}}j=J[a+102928>>2];if(!j){break o}while(1){J[j+128>>2]=0;J[j+132>>2]=1065353216;J[j+4>>2]=J[j+4>>2]&-34;j=J[j+12>>2];if(j){continue}break}}ja=a+102868|0;ga=g+116|0;while(1){p:{h=0;A=Q(1);q:{j=J[a+102928>>2];r:{if(!j){break r}while(1){c=J[j+4>>2];s:{if(!(c&4)|J[j+128>>2]>8){break s}t:{if(c&32){f=N[j+132>>2];break t}i=J[j+48>>2];if(K[i+38|0]){break s}o=J[j+52>>2];if(K[o+38|0]){break s}d=J[o+8>>2];c=J[d>>2];e=J[i+8>>2];t=L[e+4>>1];F=J[e>>2];u=L[d+4>>1];if(!(t>>>1&(F|0)!=0|u>>>1&(c|0)!=0)){break s}if(!(u&8|(t&8|(F|0)!=2))){if((c|0)==2){break s}}b=N[d+60>>2];f=N[e+60>>2];u:{if(b>f){N[e+60>>2]=b;k=N[e+40>>2];f=Q(Q(b-f)/Q(Q(1)-f));N[e+40>>2]=k+Q(f*Q(N[e+48>>2]-k));k=N[e+36>>2];N[e+36>>2]=k+Q(f*Q(N[e+44>>2]-k));k=f;f=N[e+52>>2];N[e+52>>2]=Q(k*Q(N[e+56>>2]-f))+f;break u}if(b >2]=f;k=N[d+40>>2];b=Q(Q(f-b)/Q(Q(1)-b));N[d+40>>2]=k+Q(b*Q(N[d+48>>2]-k));k=N[d+36>>2];N[d+36>>2]=k+Q(b*Q(N[d+44>>2]-k));k=b;b=N[d+52>>2];N[d+52>>2]=Q(k*Q(N[d+56>>2]-b))+b}b=f}t=J[j+60>>2];F=J[j+56>>2];J[g+140>>2]=0;J[g+132>>2]=0;J[g+136>>2]=0;J[g+112>>2]=0;J[g+104>>2]=0;J[g+108>>2]=0;c=g+88|0;gc(c,J[i+12>>2],F);gc(ga,J[o+12>>2],t);J[g+176>>2]=J[e+60>>2];i=J[e+56>>2];J[g+168>>2]=J[e+52>>2];J[g+172>>2]=i;i=J[e+48>>2];J[g+160>>2]=J[e+44>>2];J[g+164>>2]=i;i=J[e+40>>2];J[g+152>>2]=J[e+36>>2];J[g+156>>2]=i;i=J[e+32>>2];J[g+144>>2]=J[e+28>>2];J[g+148>>2]=i;J[g+212>>2]=J[d+60>>2];e=J[d+56>>2];J[g+204>>2]=J[d+52>>2];J[g+208>>2]=e;e=J[d+48>>2];J[g+196>>2]=J[d+44>>2];J[g+200>>2]=e;e=J[d+40>>2];J[g+188>>2]=J[d+36>>2];J[g+192>>2]=e;e=J[d+32>>2];J[g+180>>2]=J[d+28>>2];J[g+184>>2]=e;J[g+216>>2]=1065353216;i=0;G=Q(0);e=La-320|0;La=e;J[6219]=J[6219]+1;J[g+48>>2]=0;x=N[c+128>>2];N[g+52>>2]=x;J[e+312>>2]=J[c+88>>2];d=J[c+84>>2];J[e+304>>2]=J[c+80>>2];J[e+308>>2]=d;d=J[c+76>>2];J[e+296>>2]=J[c+72>>2];J[e+300>>2]=d;d=c- -64|0;o=J[d+4>>2];J[e+288>>2]=J[d>>2];J[e+292>>2]=o;d=J[c+60>>2];J[e+280>>2]=J[c+56>>2];J[e+284>>2]=d;J[e+272>>2]=J[c+124>>2];d=J[c+120>>2];J[e+264>>2]=J[c+116>>2];J[e+268>>2]=d;d=J[c+112>>2];J[e+256>>2]=J[c+108>>2];J[e+260>>2]=d;d=J[c+104>>2];J[e+248>>2]=J[c+100>>2];J[e+252>>2]=d;d=J[c+96>>2];J[e+240>>2]=J[c+92>>2];J[e+244>>2]=d;k=N[e+304>>2];f=Q(Q(V(Q(k/Q(6.2831854820251465))))*Q(6.2831854820251465));n=Q(k-f);N[e+304>>2]=n;m=N[e+264>>2];k=Q(Q(V(Q(m/Q(6.2831854820251465))))*Q(6.2831854820251465));p=Q(m-k);N[e+264>>2]=p;r=Q(N[e+268>>2]-k);N[e+268>>2]=r;q=Q(N[e+308>>2]-f);N[e+308>>2]=q;f=N[c+52>>2];k=N[c+24>>2];I[e+232>>1]=0;J[e+160>>2]=J[c+24>>2];d=J[c+20>>2];J[e+152>>2]=J[c+16>>2];J[e+156>>2]=d;d=J[c+12>>2];J[e+144>>2]=J[c+8>>2];J[e+148>>2]=d;d=J[c+4>>2];J[e+136>>2]=J[c>>2];J[e+140>>2]=d;d=J[c+40>>2];J[e+172>>2]=J[c+36>>2];J[e+176>>2]=d;d=J[c+48>>2];J[e+180>>2]=J[c+44>>2];J[e+184>>2]=d;J[e+188>>2]=J[c+52>>2];d=J[c+32>>2];J[e+164>>2]=J[c+28>>2];J[e+168>>2]=d;H[e+224|0]=0;f=Q(Q(k+f)+Q(-.014999999664723873));U=f >2]=f;m=Za(m);N[e+216>>2]=m;q=Q(Q(k*Q(q-n))+n);n=_a(q);N[e+204>>2]=n;q=Za(q);N[e+200>>2]=q;p=N[e+252>>2];w=Q(p+Q(k*Q(N[e+260>>2]-p)));p=N[e+240>>2];r=N[e+244>>2];N[e+212>>2]=w-Q(Q(m*p)+Q(f*r));v=N[e+248>>2];N[e+208>>2]=Q(v+Q(k*Q(N[e+256>>2]-v)))-Q(Q(f*p)-Q(r*m));f=N[e+292>>2];w=Q(f+Q(k*Q(N[e+300>>2]-f)));f=N[e+280>>2];m=N[e+284>>2];N[e+196>>2]=w-Q(Q(q*f)+Q(n*m));p=N[e+288>>2];N[e+192>>2]=Q(p+Q(k*Q(N[e+296>>2]-p)))-Q(Q(n*f)-Q(m*q));Xd(e+112|0,e+228|0,e+136|0);f=N[e+128>>2];if(f<=Q(0)){d=2;break w}if(f>2]=da;J[d>>2]=c;o=L[e+232>>1];J[d+40>>2]=J[e+312>>2];t=J[e+308>>2];J[d+32>>2]=J[e+304>>2];J[d+36>>2]=t;t=J[e+300>>2];J[d+24>>2]=J[e+296>>2];J[d+28>>2]=t;t=J[e+292>>2];J[d+16>>2]=J[e+288>>2];J[d+20>>2]=t;t=J[e+284>>2];J[d+8>>2]=J[e+280>>2];J[d+12>>2]=t;t=J[e+244>>2];J[d+44>>2]=J[e+240>>2];J[d+48>>2]=t;t=J[e+252>>2];J[d+52>>2]=J[e+248>>2];J[d+56>>2]=t;t=J[e+260>>2];J[d+60>>2]=J[e+256>>2];J[d+64>>2]=t;t=J[e+268>>2];J[d+68>>2]=J[e+264>>2];J[d+72>>2]=t;J[d+76>>2]=J[e+272>>2];f=N[d+48>>2];m=N[d+68>>2];q=Q(Q(k*Q(N[d+72>>2]-m))+m);m=_a(q);n=N[d+44>>2];p=Za(q);q=N[d+56>>2];M=Q(Q(q+Q(Q(N[d- -64>>2]-q)*k))-Q(Q(p*n)+Q(f*m)));q=N[d+52>>2];w=Q(Q(q+Q(Q(N[d+60>>2]-q)*k))-Q(Q(m*n)-Q(f*p)));f=N[d+12>>2];n=N[d+32>>2];r=Q(Q(k*Q(N[d+36>>2]-n))+n);q=_a(r);n=N[d+8>>2];r=Za(r);v=N[d+20>>2];R=Q(Q(v+Q(Q(N[d+28>>2]-v)*k))-Q(Q(r*n)+Q(f*q)));v=N[d+16>>2];O=Q(Q(v+Q(Q(N[d+24>>2]-v)*k))-Q(Q(q*n)-Q(f*r)));v=Q(-p);z=Q(-r);x:{if((o|0)==1){J[d+80>>2]=0;o=J[c+44>>2]+(K[e+237|0]<<3)|0;n=N[o>>2];f=Q(p*n);p=N[o+4>>2];s=Q(M+Q(f+Q(m*p)));f=r;o=J[c+16>>2]+(K[e+234|0]<<3)|0;r=N[o>>2];M=N[o+4>>2];f=Q(s-Q(R+Q(Q(f*r)+Q(q*M))));N[d+96>>2]=f;m=Q(Q(w+Q(Q(m*n)+Q(p*v)))-Q(O+Q(Q(q*r)+Q(M*z))));N[d+92>>2]=m;n=Q(Y(Q(Q(m*m)+Q(f*f))));if(n >2]=w*f;N[d+92>>2]=m*f;break x}y:{if(K[e+234|0]==K[e+235|0]){J[d+80>>2]=2;o=J[c+44>>2];t=o+(K[e+238|0]<<3)|0;s=N[t>>2];o=o+(K[e+237|0]<<3)|0;T=N[o>>2];W=N[t+4>>2];X=N[o+4>>2];f=Q(W-X);N[d+92>>2]=f;y=Q(s-T);n=Q(-y);N[d+96>>2]=n;y=Q(Y(Q(Q(f*f)+Q(y*y))));if(!(y>2]=n;f=Q(f*y);N[d+92>>2]=f}y=Q(Q(X+W)*Q(.5));N[d+88>>2]=y;s=Q(Q(T+s)*Q(.5));N[d+84>>2]=s;E=O;o=J[c+16>>2]+(K[e+234|0]<<3)|0;O=N[o>>2];T=N[o+4>>2];if(!(Q(Q(Q(Q(E+Q(Q(q*O)+Q(T*z)))-Q(w+Q(Q(m*s)+Q(y*v))))*Q(Q(m*f)+Q(n*v)))+Q(Q(Q(p*f)+Q(m*n))*Q(Q(R+Q(Q(r*O)+Q(q*T)))-Q(M+Q(Q(p*s)+Q(m*y))))))>2]=1;o=J[c+16>>2];t=o+(K[e+235|0]<<3)|0;s=N[t>>2];o=o+(K[e+234|0]<<3)|0;T=N[o>>2];W=N[t+4>>2];X=N[o+4>>2];f=Q(W-X);N[d+92>>2]=f;y=Q(s-T);n=Q(-y);N[d+96>>2]=n;y=Q(Y(Q(Q(f*f)+Q(y*y))));if(!(y>2]=n;f=Q(f*y);N[d+92>>2]=f}y=Q(Q(X+W)*Q(.5));N[d+88>>2]=y;s=Q(Q(T+s)*Q(.5));N[d+84>>2]=s;E=w;o=J[c+44>>2]+(K[e+237|0]<<3)|0;w=N[o>>2];T=N[o+4>>2];if(!(Q(Q(Q(Q(E+Q(Q(m*w)+Q(T*v)))-Q(O+Q(Q(q*s)+Q(y*z))))*Q(Q(q*f)+Q(n*z)))+Q(Q(Q(r*f)+Q(q*n))*Q(Q(M+Q(Q(p*w)+Q(m*T)))-Q(R+Q(Q(r*s)+Q(q*y))))))>2]=-n;N[d+92>>2]=-f}$=0;t=4;z:{f=x;R=ed(d,e+8|0,e+4|0,f);A:{if(!(fata)){T=N[e+60>>2];ka=N[e+80>>2];ua=Q(N[e+84>>2]-ka);n=Q(Q(k*ua)+ka);m=_a(n);y=N[e+56>>2];q=Za(n);la=N[e+68>>2];va=Q(N[e+76>>2]-la);M=Q(Q(la+Q(k*va))-Q(Q(q*y)+Q(T*m)));ma=N[e+64>>2];wa=Q(N[e+72>>2]-ma);w=Q(Q(ma+Q(k*wa))-Q(Q(m*y)-Q(T*q)));W=N[e+24>>2];na=N[e+44>>2];xa=Q(N[e+48>>2]-na);p=Q(Q(k*xa)+na);n=_a(p);X=N[e+20>>2];p=Za(p);oa=N[e+32>>2];ya=Q(N[e+40>>2]-oa);O=Q(Q(oa+Q(k*ya))-Q(Q(p*X)+Q(W*n)));pa=N[e+28>>2];za=Q(N[e+36>>2]-pa);s=Q(Q(pa+Q(k*za))-Q(Q(n*X)-Q(W*p)));r=Q(-q);v=Q(-p);z=Q(0);o=J[e+4>>2];F=J[e+8>>2];C:{D:{E:{F:{S=J[e+92>>2];switch(S|0){case 2:break D;case 1:break E;case 0:break F;default:break C}}E=w;d=J[J[e+16>>2]+16>>2]+(o<<3)|0;z=N[d>>2];w=N[d+4>>2];ba=Q(E+Q(Q(m*z)+Q(w*r)));E=s;d=J[J[e+12>>2]+16>>2]+(F<<3)|0;r=N[d>>2];s=N[d+4>>2];z=Q(Q(Q(ba-Q(E+Q(Q(n*r)+Q(s*v))))*N[e+104>>2])+Q(N[e+108>>2]*Q(Q(M+Q(Q(q*z)+Q(m*w)))-Q(O+Q(Q(p*r)+Q(n*s))))));break C}E=w;d=J[J[e+16>>2]+16>>2]+(o<<3)|0;z=N[d>>2];w=N[d+4>>2];ba=Q(E+Q(Q(m*z)+Q(w*r)));E=s;r=N[e+96>>2];s=N[e+100>>2];Z=N[e+104>>2];aa=N[e+108>>2];z=Q(Q(Q(ba-Q(E+Q(Q(n*r)+Q(s*v))))*Q(Q(n*Z)+Q(aa*v)))+Q(Q(Q(p*Z)+Q(n*aa))*Q(Q(M+Q(Q(q*z)+Q(m*w)))-Q(O+Q(Q(p*r)+Q(n*s))))));break C}E=s;d=J[J[e+12>>2]+16>>2]+(F<<3)|0;z=N[d>>2];s=N[d+4>>2];ba=Q(E+Q(Q(n*z)+Q(s*v)));E=w;v=N[e+96>>2];w=N[e+100>>2];Z=N[e+104>>2];aa=N[e+108>>2];z=Q(Q(Q(ba-Q(E+Q(Q(m*v)+Q(w*r))))*Q(Q(m*Z)+Q(aa*r)))+Q(Q(Q(q*Z)+Q(m*aa))*Q(Q(O+Q(Q(p*z)+Q(n*s)))-Q(M+Q(Q(q*v)+Q(m*w))))))}if(z >2];C=J[e+12>>2];Z=N[e+100>>2];aa=N[e+96>>2];O=N[e+108>>2];s=N[e+104>>2];n=k;q=f;G:{while(1){_=_+1|0;J[6222]=_;m=d&1?Q(n+Q(Q(Q(U-z)*Q(q-n))/Q(R-z))):Q(Q(n+q)*Q(.5));r=Q(Q(m*ua)+ka);p=_a(r);M=Za(r);qa=Q(Q(la+Q(va*m))-Q(Q(M*y)+Q(T*p)));E=Q(Q(ma+Q(wa*m))-Q(Q(p*y)-Q(T*M)));r=Q(Q(m*xa)+na);v=_a(r);w=Za(r);ra=Q(Q(oa+Q(ya*m))-Q(Q(w*X)+Q(W*v)));ba=Q(Q(pa+Q(za*m))-Q(Q(v*X)-Q(W*w)));ca=Q(-M);ha=Q(-w);r=Q(0);H:{I:{switch(S|0){case 0:ia=E;u=J[B+16>>2]+(o<<3)|0;r=N[u>>2];E=N[u+4>>2];Aa=Q(ia+Q(Q(p*r)+Q(E*ca)));ia=ba;u=J[C+16>>2]+(F<<3)|0;ca=N[u>>2];ba=N[u+4>>2];r=Q(Q(Q(Aa-Q(ia+Q(Q(v*ca)+Q(ba*ha))))*s)+Q(O*Q(Q(qa+Q(Q(M*r)+Q(p*E)))-Q(ra+Q(Q(w*ca)+Q(v*ba))))));break H;case 1:ia=E;u=J[B+16>>2]+(o<<3)|0;r=N[u>>2];E=N[u+4>>2];r=Q(Q(Q(Q(ia+Q(Q(p*r)+Q(E*ca)))-Q(ba+Q(Q(v*aa)+Q(Z*ha))))*Q(Q(v*s)+Q(O*ha)))+Q(Q(Q(w*s)+Q(v*O))*Q(Q(qa+Q(Q(M*r)+Q(p*E)))-Q(ra+Q(Q(w*aa)+Q(v*Z))))));break H;case 2:break I;default:break H}}ia=ba;u=J[C+16>>2]+(F<<3)|0;r=N[u>>2];ba=N[u+4>>2];r=Q(Q(Q(Q(ia+Q(Q(v*r)+Q(ba*ha)))-Q(E+Q(Q(p*aa)+Q(Z*ca))))*Q(Q(p*s)+Q(O*ca)))+Q(Q(Q(M*s)+Q(p*O))*Q(Q(ra+Q(Q(w*r)+Q(v*ba)))-Q(qa+Q(Q(M*aa)+Q(p*Z))))))}d=d+1|0;p=Q(r-U);if((p>Q(0)?p:Q(-p)) U;q=u?q:m;n=u?m:n;z=u?r:z;R=u?R:r;if((d|0)!=50){continue}break}d=50}o=J[6223];J[6223]=(d|0)<(o|0)?o:d;$=$+1|0;if(($|0)!=8){break B}f=k}J[6220]=J[6220]+1;i=i+1|0;if((i|0)!=20){break z}N[g+52>>2]=f;J[g+48>>2]=1;i=20;break v}R=ed(e+12|0,e+8|0,e+4|0,f);if(!(fa>2]=k;J[g+48>>2]=t;J[6220]=J[6220]+1;i=i+1|0;break v}r=N[e+268>>2];p=N[e+264>>2];q=N[e+308>>2];n=N[e+304>>2];k=f;continue}break}N[g+52>>2]=G;J[g+48>>2]=d}c=J[6221];J[6221]=(c|0)>(i|0)?c:i;N[6217]=N[6217]+Q(0);f=N[6218];N[6218]=f>Q(0)?f:Q(0);La=e+320|0;f=Q(1);if(J[g+48>>2]==3){b=Q(Q(Q(Q(1)-b)*N[g+52>>2])+b);f=b >2]=f;J[j+4>>2]=J[j+4>>2]|32}c=f>2];if(j){continue}break}if(!h){break r}if(!(A>Q(.9999988079071045))){break q}}H[a+102994|0]=1;break p}e=J[J[h+52>>2]+8>>2];i=J[J[h+48>>2]+8>>2];d=i;J[g+120>>2]=J[d+60>>2];c=J[d+56>>2];J[g+112>>2]=J[d+52>>2];J[g+116>>2]=c;c=J[d+48>>2];J[g+104>>2]=J[d+44>>2];J[g+108>>2]=c;c=J[d+40>>2];J[g+96>>2]=J[d+36>>2];J[g+100>>2]=c;c=J[d+32>>2];J[g+88>>2]=J[d+28>>2];J[g+92>>2]=c;J[g+80>>2]=J[e+60>>2];c=J[e+56>>2];J[g+72>>2]=J[e+52>>2];J[g+76>>2]=c;o=J[e+48>>2];j=g- -64|0;c=j;J[c>>2]=J[e+44>>2];J[c+4>>2]=o;c=J[e+40>>2];J[g+56>>2]=J[e+36>>2];J[g+60>>2]=c;c=J[e+32>>2];J[g+48>>2]=J[e+28>>2];J[g+52>>2]=c;f=N[d+36>>2];b=N[d+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[d+36>>2]=f+Q(b*Q(N[d+44>>2]-f));f=N[d+40>>2];N[d+40>>2]=f+Q(b*Q(N[d+48>>2]-f));N[d+60>>2]=A;f=b;b=N[d+52>>2];b=Q(Q(f*Q(N[d+56>>2]-b))+b);N[d+56>>2]=b;N[d+52>>2]=b;f=_a(b);N[d+24>>2]=f;b=Za(b);N[d+20>>2]=b;w=N[d+40>>2];o=J[d+40>>2];x=N[d+36>>2];J[d+44>>2]=J[d+36>>2];J[d+48>>2]=o;k=N[d+28>>2];m=N[d+32>>2];N[d+16>>2]=w-Q(Q(b*k)+Q(f*m));N[d+12>>2]=x-Q(Q(f*k)-Q(m*b));f=N[e+40>>2];b=N[e+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[e+40>>2]=f+Q(b*Q(N[e+48>>2]-f));f=N[e+36>>2];N[e+36>>2]=f+Q(b*Q(N[e+44>>2]-f));N[e+60>>2]=A;f=b;b=N[e+52>>2];b=Q(Q(f*Q(N[e+56>>2]-b))+b);N[e+56>>2]=b;N[e+52>>2]=b;f=_a(b);N[e+24>>2]=f;b=Za(b);N[e+20>>2]=b;s=N[e+40>>2];d=J[e+40>>2];k=N[e+36>>2];J[e+44>>2]=J[e+36>>2];J[e+48>>2]=d;w=k;k=N[e+28>>2];m=N[e+32>>2];N[e+12>>2]=w-Q(Q(f*k)-Q(b*m));N[e+16>>2]=s-Q(Q(b*k)+Q(f*m));zc(h,J[a+102940>>2]);J[h+128>>2]=J[h+128>>2]+1;d=J[h+4>>2];J:{if((d&6)!=6){J[h+4>>2]=d&-37;J[i+60>>2]=J[g+120>>2];c=J[g+116>>2];J[i+52>>2]=J[g+112>>2];J[i+56>>2]=c;c=J[g+108>>2];J[i+44>>2]=J[g+104>>2];J[i+48>>2]=c;c=J[g+100>>2];J[i+36>>2]=J[g+96>>2];J[i+40>>2]=c;c=J[g+92>>2];J[i+28>>2]=J[g+88>>2];J[i+32>>2]=c;J[e+60>>2]=J[g+80>>2];c=J[g+76>>2];J[e+52>>2]=J[g+72>>2];J[e+56>>2]=c;c=J[j+4>>2];J[e+44>>2]=J[j>>2];J[e+48>>2]=c;c=J[g+60>>2];J[e+36>>2]=J[g+56>>2];J[e+40>>2]=c;c=J[g+52>>2];J[e+28>>2]=J[g+48>>2];J[e+32>>2]=c;f=N[i+56>>2];b=_a(f);N[i+24>>2]=b;f=Za(f);N[i+20>>2]=f;k=N[i+28>>2];m=N[i+32>>2];N[i+16>>2]=N[i+48>>2]-Q(Q(f*k)+Q(b*m));N[i+12>>2]=N[i+44>>2]-Q(Q(b*k)-Q(m*f));f=N[e+56>>2];b=Za(f);N[e+20>>2]=b;f=_a(f);N[e+24>>2]=f;k=N[e+28>>2];m=N[e+32>>2];N[e+16>>2]=N[e+48>>2]-Q(Q(b*k)+Q(f*m));N[e+12>>2]=N[e+44>>2]-Q(Q(f*k)-Q(m*b));c=9;break J}if(J[i>>2]){J[i+144>>2]=0;I[i+4>>1]=L[i+4>>1]|2}if(J[e>>2]){J[e+144>>2]=0;I[e+4>>1]=L[e+4>>1]|2}j=0;J[l+32>>2]=0;J[i+8>>2]=0;J[J[l+8>>2]>>2]=i;c=1;J[e+8>>2]=1;J[J[l+8>>2]+4>>2]=e;J[l+28>>2]=2;J[l+36>>2]=1;J[J[l+12>>2]>>2]=h;I[i+4>>1]=L[i+4>>1]|1;I[e+4>>1]=L[e+4>>1]|1;J[h+4>>2]=d&-34|1;J[g+44>>2]=e;J[g+40>>2]=i;while(1){t=J[(g+40|0)+(j<<2)>>2];K:{if(J[t>>2]!=2){break K}j=J[t+112>>2];if(!j){break K}while(1){if(J[l+28>>2]==J[l+40>>2]|J[l+36>>2]==J[l+44>>2]){break K}o=J[j+4>>2];L:{if(H[o+4|0]&1){break L}h=J[j>>2];if(!(K[t+4|0]&8|J[h>>2]!=2|K[h+4|0]&8)|(K[J[o+48>>2]+38|0]|K[J[o+52>>2]+38|0])){break L}J[g+32>>2]=J[h+60>>2];d=J[h+56>>2];J[g+24>>2]=J[h+52>>2];J[g+28>>2]=d;d=J[h+48>>2];J[g+16>>2]=J[h+44>>2];J[g+20>>2]=d;d=J[h+40>>2];J[g+8>>2]=J[h+36>>2];J[g+12>>2]=d;d=J[h+32>>2];J[g>>2]=J[h+28>>2];J[g+4>>2]=d;if(!(H[h+4|0]&1)){f=N[h+40>>2];b=N[h+60>>2];b=Q(Q(A-b)/Q(Q(1)-b));N[h+40>>2]=f+Q(b*Q(N[h+48>>2]-f));f=N[h+36>>2];N[h+36>>2]=f+Q(b*Q(N[h+44>>2]-f));N[h+60>>2]=A;f=b;b=N[h+52>>2];b=Q(Q(f*Q(N[h+56>>2]-b))+b);N[h+56>>2]=b;N[h+52>>2]=b;f=_a(b);N[h+24>>2]=f;b=Za(b);N[h+20>>2]=b;s=N[h+40>>2];F=J[h+40>>2];k=N[h+36>>2];J[h+44>>2]=J[h+36>>2];J[h+48>>2]=F;w=k;k=N[h+28>>2];m=N[h+32>>2];N[h+12>>2]=w-Q(Q(f*k)-Q(b*m));N[h+16>>2]=s-Q(Q(b*k)+Q(f*m))}zc(o,J[a+102940>>2]);d=J[o+4>>2];if(!(d&4)){d=J[g+4>>2];J[h+28>>2]=J[g>>2];J[h+32>>2]=d;J[h+60>>2]=J[g+32>>2];d=J[g+28>>2];J[h+52>>2]=J[g+24>>2];J[h+56>>2]=d;d=J[g+20>>2];J[h+44>>2]=J[g+16>>2];J[h+48>>2]=d;d=J[g+12>>2];J[h+36>>2]=J[g+8>>2];J[h+40>>2]=d;f=N[h+56>>2];b=_a(f);N[h+24>>2]=b;f=Za(f);N[h+20>>2]=f;k=N[h+28>>2];m=N[h+32>>2];N[h+16>>2]=N[h+48>>2]-Q(Q(f*k)+Q(b*m));N[h+12>>2]=N[h+44>>2]-Q(Q(b*k)-Q(m*f));break L}if(!(d&2)){d=J[g+4>>2];J[h+28>>2]=J[g>>2];J[h+32>>2]=d;J[h+60>>2]=J[g+32>>2];d=J[g+28>>2];J[h+52>>2]=J[g+24>>2];J[h+56>>2]=d;d=J[g+20>>2];J[h+44>>2]=J[g+16>>2];J[h+48>>2]=d;d=J[g+12>>2];J[h+36>>2]=J[g+8>>2];J[h+40>>2]=d;f=N[h+56>>2];b=_a(f);N[h+24>>2]=b;f=Za(f);N[h+20>>2]=f;k=N[h+28>>2];m=N[h+32>>2];N[h+16>>2]=N[h+48>>2]-Q(Q(f*k)+Q(b*m));N[h+12>>2]=N[h+44>>2]-Q(Q(b*k)-Q(m*f));break L}J[o+4>>2]=d|1;d=J[l+36>>2];J[l+36>>2]=d+1;J[J[l+12>>2]+(d<<2)>>2]=o;d=L[h+4>>1];if(d&1){break L}I[h+4>>1]=d|1;if(J[h>>2]){J[h+144>>2]=0;I[h+4>>1]=d|3}d=J[l+28>>2];J[h+8>>2]=d;J[J[l+8>>2]+(d<<2)>>2]=h;J[l+28>>2]=d+1}j=J[j+12>>2];if(j){continue}break}}j=1;d=c;c=0;if(d){continue}break}b=N[D+4>>2];J[g+16>>2]=20;J[g+8>>2]=1065353216;b=Q(b*Q(Q(1)-A));N[g>>2]=b;N[g+4>>2]=Q(1)/b;c=J[D+16>>2];h=0;H[g+20|0]=0;J[g+12>>2]=c;F=J[i+8>>2];u=J[e+8>>2];j=0;e=La-128|0;La=e;M:{if(J[l+28>>2]<=0){d=J[l+24>>2];break M}while(1){c=J[J[l+8>>2]+(j<<2)>>2];o=J[c+48>>2];i=P(j,12);d=i+J[l+20>>2]|0;J[d>>2]=J[c+44>>2];J[d+4>>2]=o;N[(i+J[l+20>>2]|0)+8>>2]=N[c+56>>2];o=J[c+68>>2];d=i+J[l+24>>2]|0;J[d>>2]=J[c+64>>2];J[d+4>>2]=o;d=J[l+24>>2];N[(i+d|0)+8>>2]=N[c+72>>2];j=j+1|0;if((j|0)>2]){continue}break}}J[e+88>>2]=J[l+12>>2];J[e+92>>2]=J[l+36>>2];J[e+104>>2]=J[l>>2];c=J[g+12>>2];J[e+72>>2]=J[g+8>>2];J[e+76>>2]=c;c=J[g+20>>2];J[e+80>>2]=J[g+16>>2];J[e+84>>2]=c;c=J[g+4>>2];J[e+64>>2]=J[g>>2];J[e+68>>2]=c;c=J[l+20>>2];J[e+100>>2]=d;J[e+96>>2]=c;o=ld(e+12|0,e- -64|0);j=0;N:{if(J[g+16>>2]<=0){break N}while(1){f=Q(0);t=0;d=La+-64|0;La=d;if(J[o+48>>2]>0){while(1){i=J[o+36>>2]+P(t,88)|0;$=J[i+36>>2];_=J[i+32>>2];O:{if((_|0)!=(F|0)){A=Q(0);m=Q(0);if((u|0)!=(_|0)){break O}}A=N[i+64>>2];m=N[i+40>>2]}B=J[i+84>>2];P:{if((F|0)!=($|0)){n=Q(0);x=Q(0);if((u|0)!=($|0)){break P}}n=N[i+68>>2];x=N[i+44>>2]}c=J[o+24>>2];$=P($,12);C=c+$|0;b=N[C+8>>2];k=N[C+4>>2];r=N[C>>2];_=P(_,12);C=_+c|0;q=N[C+8>>2];p=N[C+4>>2];G=N[C>>2];if((B|0)>0){M=N[i+56>>2];w=N[i+48>>2];R=N[i+60>>2];O=N[i+52>>2];fa=Q(m+x);T=Q(-A);c=0;while(1){v=_a(q);N[d+60>>2]=v;z=Za(q);N[d+56>>2]=z;s=_a(b);N[d+44>>2]=s;U=Za(b);N[d+40>>2]=U;N[d+52>>2]=p-Q(Q(z*w)+Q(O*v));N[d+48>>2]=G-Q(Q(v*w)-Q(O*z));N[d+36>>2]=k-Q(Q(U*M)+Q(R*s));N[d+32>>2]=r-Q(Q(s*M)-Q(R*U));hd(d+8|0,i,d+48|0,d+32|0,c);v=Q(0);z=N[d+24>>2];C=z>f;s=N[d+20>>2];y=Q(s-k);W=Q(-y);X=Q(s-p);Z=Q(-X);aa=N[d+16>>2];ca=Q(aa-r);s=N[d+12>>2];U=N[d+8>>2];y=Q(Q(ca*s)-Q(U*y));E=Q(Q(n*y)*y);y=Q(aa-G);X=Q(Q(y*s)-Q(U*X));X=Q(E+Q(Q(Q(A*X)*X)+fa));if(X>Q(0)){v=Q(Q(z+Q(.004999999888241291))*Q(.75));v=v >2]}c=c+_|0;N[c+4>>2]=p;N[c>>2]=G;c=J[o+24>>2];N[(c+_|0)+8>>2]=q;c=c+$|0;N[c+4>>2]=k;N[c>>2]=r;N[($+J[o+24>>2]|0)+8>>2]=b;t=t+1|0;if((t|0)>2]){continue}break}}La=d- -64|0;if(f>=Q(-.007499999832361937)){break N}j=j+1|0;if((j|0) >2]){continue}break}}j=P(F,12);i=j+J[l+20>>2]|0;t=J[i+4>>2];c=F<<2;d=J[c+J[l+8>>2]>>2];J[d+36>>2]=J[i>>2];J[d+40>>2]=t;i=c;c=J[l+8>>2];d=J[l+20>>2];N[J[i+c>>2]+52>>2]=N[(d+j|0)+8>>2];i=d;d=P(u,12);i=i+d|0;t=J[i+4>>2];j=c;c=u<<2;j=J[j+c>>2];J[j+36>>2]=J[i>>2];J[j+40>>2]=t;N[J[c+J[l+8>>2]>>2]+52>>2]=N[(d+J[l+20>>2]|0)+8>>2];jd(o);j=0;if(J[g+12>>2]>0){while(1){id(o);j=j+1|0;if((j|0) >2]){continue}break}}i=0;if(J[l+28>>2]>0){b=N[g>>2];while(1){c=P(i,12);j=c+J[l+24>>2]|0;n=N[j>>2];f=Q(b*n);k=Q(f*f);p=N[j+4>>2];f=Q(b*p);f=Q(k+Q(f*f));if(f>Q(4)){f=Q(Q(2)/Q(Y(f)));p=Q(p*f);n=Q(n*f)}d=c+J[l+20>>2]|0;x=N[d+8>>2];k=N[d+4>>2];m=N[d>>2];q=N[j+8>>2];f=Q(b*q);if(Q(f*f)>Q(2.4674012660980225)){q=Q(q*Q(Q(1.5707963705062866)/(f>Q(0)?f:Q(-f))))}k=Q(k+Q(b*p));N[d+4>>2]=k;m=Q(m+Q(b*n));N[d>>2]=m;f=Q(Q(b*q)+x);N[(c+J[l+20>>2]|0)+8>>2]=f;d=c+J[l+24>>2]|0;N[d+4>>2]=p;N[d>>2]=n;N[(c+J[l+24>>2]|0)+8>>2]=q;c=J[J[l+8>>2]+(i<<2)>>2];N[c+72>>2]=q;N[c+64>>2]=n;N[c+68>>2]=p;N[c+56>>2]=f;N[c+48>>2]=k;N[c+44>>2]=m;x=_a(f);N[c+24>>2]=x;f=Za(f);N[c+20>>2]=f;w=k;k=N[c+28>>2];n=N[c+32>>2];N[c+16>>2]=w-Q(Q(f*k)+Q(x*n));N[c+12>>2]=m-Q(Q(x*k)-Q(n*f));i=i+1|0;if((i|0) >2]){continue}break}}if(!(!J[l+4>>2]|J[l+36>>2]<=0)){F=J[o+40>>2];c=0;while(1){u=J[J[l+12>>2]+(c<<2)>>2];t=F+P(c,156)|0;d=J[t+148>>2];J[e+124>>2]=d;Q:{if((d|0)<=0){break Q}j=0;if((d|0)!=1){$=d&-2;i=0;while(1){_=j<<2;B=e+108|0;C=t+P(j,36)|0;N[_+B>>2]=N[C+16>>2];S=_;_=e+116|0;N[S+_>>2]=N[C+20>>2];S=B;B=j|1;C=B<<2;B=t+P(B,36)|0;N[S+C>>2]=N[B+16>>2];N[C+_>>2]=N[B+20>>2];j=j+2|0;i=i+2|0;if(($|0)!=(i|0)){continue}break}}if(!(d&1)){break Q}d=(e+108|0)+(j<<2)|0;j=t+P(j,36)|0;N[d>>2]=N[j+16>>2];N[d+8>>2]=N[j+20>>2]}d=J[l+4>>2];Na[J[J[d>>2]+20>>2]](d,u,e+108|0);c=c+1|0;if((c|0) >2]){continue}break}}kd(o);La=e+128|0;if(J[l+28>>2]>0){while(1){c=J[J[l+8>>2]+(h<<2)>>2];I[c+4>>1]=L[c+4>>1]&65534;R:{if(J[c>>2]!=2){break R}Pd(c);j=J[c+112>>2];if(!j){break R}while(1){c=J[j+4>>2];J[c+4>>2]=J[c+4>>2]&-34;j=J[j+12>>2];if(j){continue}break}}h=h+1|0;if((h|0) >2]){continue}break}}fc(ja);c=0;if(!K[a+102993|0]){break J}H[a+102994|0]=0;c=8}if((c|0)!=8){continue}}break}fd(l);La=g+272|0;N[a+103024>>2]=0;b=N[D+4>>2]}if(b>Q(0)){N[a+102984>>2]=N[D+8>>2]}S:{if(!K[a+102990|0]){break S}d=J[a+102948>>2];if(!d){break S}while(1){J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;d=J[d+96>>2];if(d){continue}break}}H[a+102989|0]=0;N[a+102996>>2]=0;La=D+32|0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=La-16|0;La=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=J[6539];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+26196|0;d=J[a+26204>>2];a=J[d+8>>2];o:{if((b|0)==(a|0)){m=26156,n=nl(c)&g,J[m>>2]=n;break o}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[6541];if(k>>>0>=h>>>0){break n}if(b){a=2< >2];a=J[e+8>>2];p:{if((b|0)==(a|0)){g=nl(d)&g;J[6539]=g;break p}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+26196|0;f=J[6544];a=1<<(k>>>3);q:{if(!(a&g)){J[6539]=a|g;a=b;break q}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[6544]=c;J[6541]=d;break a}j=J[6540];if(!j){break n}c=J[(kl(0-j&j)<<2)+26460>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break r}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0 >>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=J[6540];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+26460>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2< >2]}if(!a){break t}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0 >>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[6541]-h>>>0<=f>>>0){break n}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[6541];if(a>>>0>=h>>>0){d=J[6544];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break x}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[6541]=b;J[6544]=c;a=d+8|0;break a}i=J[6542];if(i>>>0>h>>>0){b=i-h|0;J[6542]=b;c=J[6545];a=c+h|0;J[6545]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[6657]){c=J[6659]}else{J[6660]=-1;J[6661]=-1;J[6658]=4096;J[6659]=4096;J[6657]=l+12&-16^1431655768;J[6662]=0;J[6650]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[6649];if(d){c=J[6647];g=c+b|0;if(d>>>0 >>0|c>>>0>=g>>>0){break a}}y:{if(!(K[26600]&4)){z:{A:{B:{C:{d=J[6545];if(d){a=26604;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0 >2]>>>0){break C}a=J[a+8>>2];if(a){continue}break}}c=Jb(0);if((c|0)==-1){break z}g=b;d=J[6658];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=J[6649];if(d){a=J[6647];f=a+g|0;if(d>>>0 >>0|a>>>0>=f>>>0){break z}}a=Jb(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=Jb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=J[6659];c=c+(j-g|0)&0-c;if((Jb(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}J[6650]=J[6650]|4}c=Jb(b);a=Jb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=J[6647]+g|0;J[6647]=a;if(a>>>0>M[6648]){J[6648]=a}D:{e=J[6545];if(e){a=26604;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break D}a=J[a+8>>2];if(a){continue}break}break k}a=J[6543];if(!(a>>>0<=c>>>0?a:0)){J[6543]=c}a=0;J[6652]=g;J[6651]=c;J[6547]=-1;J[6548]=J[6657];J[6654]=0;while(1){d=a<<3;b=d+26196|0;J[d+26204>>2]=b;J[d+26208>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[6542]=b;a=a+c|0;J[6545]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[6546]=J[6661];break j}if(J[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[6545]=c;b=J[6542]+g|0;a=b-a|0;J[6542]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[6546]=J[6661];break j}d=0;break b}c=0;break c}if(M[6543]>c>>>0){J[6543]=c}b=c+g|0;a=26604;E:{F:{G:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break G}break}if(!(K[a+12|0]&8)){break F}}a=26604;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[6545]=i;a=J[6542]+a|0;J[6542]=a;J[i+4>>2]=a|1;break d}if(J[6544]==(g|0)){J[6544]=i;a=J[6541]+a|0;J[6541]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break d}f=J[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=J[g+12>>2];b=J[g+8>>2];if((c|0)==(b|0)){m=26156,n=J[6539]&nl(f>>>3|0),J[m>>2]=n;break f}J[b+12>>2]=c;J[c+8>>2]=b;break f}h=J[g+24>>2];c=J[g+12>>2];if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break g}b=g+20|0;f=J[b>>2];if(!f){f=J[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=J[b>>2];if(f){continue}b=c+16|0;f=J[c+16>>2];if(f){continue}break}J[d>>2]=0;break g}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[6542]=b;a=a+c|0;J[6545]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[6546]=J[6661];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0 >>0?e:a;J[d+4>>2]=27;a=J[6654];J[d+16>>2]=J[6653];J[d+20>>2]=a;a=J[6652];J[d+8>>2]=J[6651];J[d+12>>2]=a;J[6653]=d+8;J[6652]=g;J[6651]=c;J[6654]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0 >>0){continue}break}if((d|0)==(e|0)){break j}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+26196|0;c=J[6539];a=1<<(f>>>3);H:{if(!(c&a)){J[6539]=a|c;a=b;break H}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+26460|0;I:{d=J[6540];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break j}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[6542];if(a>>>0<=h>>>0){break i}b=a-h|0;J[6542]=b;c=J[6545];a=c+h|0;J[6545]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[6228]=48;a=0;break a}c=0}if(!h){break f}d=J[g+28>>2];b=(d<<2)+26460|0;K:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break K}m=26160,n=J[6540]&nl(d),J[m>>2]=n;break f}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break f}J[c+20>>2]=b;J[b+24>>2]=c}a=a+e|0;g=e+g|0;f=J[g+4>>2]}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+26196|0;c=J[6539];a=1<<(a>>>3);L:{if(!(c&a)){J[6539]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+26460|0;M:{d=J[6540];c=1< >2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break d}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=J[d+28>>2];a=(b<<2)+26460|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=nl(b)&j;J[6540]=j;break O}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break O}J[c+20>>2]=a;J[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break Q}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+26196|0;c=J[6539];a=1<<(f>>>3);R:{if(!(c&a)){J[6539]=a|c;a=b;break R}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+26460|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break Q}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=J[c+28>>2];a=(b<<2)+26460|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=26160,n=nl(b)&j,J[m>>2]=n;break U}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break U}J[d+20>>2]=a;J[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break W}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+26196|0;e=J[6544];a=1<<(k>>>3);X:{if(!(a&g)){J[6539]=a|g;a=b;break X}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[6544]=d;J[6541]=f}a=c+8|0}La=l+16|0;return a|0}function Xd(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0,p=0,q=0,r=0,s=0,t=Q(0),u=0,v=Q(0),w=0,x=0,y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=Q(0),F=Q(0),G=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=Q(0),W=0,X=Q(0),Z=Q(0),_=Q(0),$=Q(0);d=La-176|0;La=d;J[6002]=J[6002]+1;r=c- -64|0;w=J[r+4>>2];J[d+168>>2]=J[r>>2];J[d+172>>2]=w;r=J[c+60>>2];J[d+160>>2]=J[c+56>>2];J[d+164>>2]=r;r=J[c+84>>2];J[d+152>>2]=J[c+80>>2];J[d+156>>2]=r;r=J[c+76>>2];J[d+144>>2]=J[c+72>>2];J[d+148>>2]=r;r=c;w=b;c=d+32|0;b=L[b+4>>1];J[c+108>>2]=b;a:{b:{if(!b){break b}while(1){b=c+P(o,36)|0;l=o+w|0;p=K[l+6|0];J[b+28>>2]=p;l=K[l+9|0];J[b+32>>2]=l;l=J[r+44>>2]+(l<<3)|0;e=N[l>>2];f=N[l+4>>2];m=N[d+160>>2];j=N[d+168>>2];l=J[r+16>>2]+(p<<3)|0;g=N[l>>2];h=N[l+4>>2];i=N[d+172>>2];k=Q(Q(Q(j*g)+Q(h*i))+N[d+164>>2]);N[b+4>>2]=k;g=Q(m+Q(Q(i*g)-Q(h*j)));N[b>>2]=g;h=N[d+144>>2];i=N[d+148>>2];m=N[d+152>>2];j=N[d+156>>2];J[b+24>>2]=0;i=Q(i+Q(Q(m*e)+Q(f*j)));N[b+12>>2]=i;e=Q(h+Q(Q(j*e)-Q(f*m)));N[b+8>>2]=e;N[b+20>>2]=i-k;N[b+16>>2]=e-g;o=o+1|0;b=J[c+108>>2];if((o|0)<(b|0)){continue}break}if((b|0)>1){f=N[w>>2];e=Q(0);c:{d:{switch(b-2|0){case 0:e=Q(N[c+16>>2]-N[c+52>>2]);j=Q(e*e);e=Q(N[c+20>>2]-N[c+56>>2]);e=Q(Y(Q(j+Q(e*e))));break c;case 1:break d;default:break c}}e=N[c+16>>2];m=N[c+20>>2];e=Q(Q(Q(N[c+52>>2]-e)*Q(N[c+92>>2]-m))-Q(Q(N[c+88>>2]-e)*Q(N[c+56>>2]-m)))}if(!(Q(f+f) e|e >2]=0;break b}if(b){break a}}J[c+28>>2]=0;J[c+32>>2]=0;b=J[r+44>>2];e=N[b>>2];f=N[b+4>>2];m=N[d+160>>2];j=N[d+168>>2];b=J[r+16>>2];g=N[b>>2];h=N[b+4>>2];i=N[d+172>>2];k=Q(Q(Q(j*g)+Q(h*i))+N[d+164>>2]);N[c+4>>2]=k;g=Q(m+Q(Q(i*g)-Q(h*j)));N[c>>2]=g;m=N[d+156>>2];h=N[d+144>>2];i=N[d+148>>2];j=N[d+152>>2];J[c+108>>2]=1;J[c+24>>2]=1065353216;i=Q(i+Q(Q(j*e)+Q(f*m)));N[c+12>>2]=i;e=Q(h+Q(Q(m*e)-Q(f*j)));N[c+8>>2]=e;N[c+20>>2]=i-k;N[c+16>>2]=e-g}v=N[d+156>>2];E=N[d+172>>2];m=N[3070];j=N[3069];C=J[6003];M=N[d+152>>2];V=Q(-M);F=N[d+168>>2];X=Q(-F);c=J[d+140>>2];Z=N[d+148>>2];_=N[d+144>>2];$=N[d+164>>2];O=N[d+160>>2];e:{f:{g:{h:{i:{j:{k:{l:{while(1){W=(c|0)<=0;m:{if(W){break m}b=0;if((c|0)!=1){l=c&-2;o=0;while(1){p=b<<2;n=d+20|0;s=d+32|0;q=s+P(b,36)|0;J[p+n>>2]=J[q+28>>2];x=p;p=d+8|0;J[x+p>>2]=J[q+32>>2];x=n;n=b|1;q=n<<2;n=s+P(n,36)|0;J[x+q>>2]=J[n+28>>2];J[p+q>>2]=J[n+32>>2];b=b+2|0;o=o+2|0;if((l|0)!=(o|0)){continue}break}}if(!(c&1)){break m}o=b<<2;b=(d+32|0)+P(b,36)|0;J[o+(d+20|0)>>2]=J[b+28>>2];J[o+(d+8|0)>>2]=J[b+32>>2]}n:{o:{p:{q:{r:{s:{t:{u:{b=c;switch(b-2|0){case 1:break t;case 0:break u;default:break s}}k=N[d+84>>2];g=N[d+48>>2];e=Q(k-g);t=N[d+88>>2];h=N[d+52>>2];f=Q(t-h);i=Q(Q(g*e)+Q(h*f));if(i>=Q(0)){J[d+140>>2]=1;J[d+56>>2]=1065353216;break o}k=Q(Q(k*e)+Q(t*f));if(!(k<=Q(0))){break r}J[d+140>>2]=1;J[d+92>>2]=1065353216;b=J[d+80>>2];J[d+40>>2]=J[d+76>>2];J[d+44>>2]=b;b=J[d+88>>2];J[d+48>>2]=J[d+84>>2];J[d+52>>2]=b;b=J[d+96>>2];J[d+56>>2]=J[d+92>>2];J[d+60>>2]=b;J[d- -64>>2]=J[d+100>>2];b=J[d+72>>2];J[d+32>>2]=J[d+68>>2];J[d+36>>2]=b;break o}e=N[d+120>>2];f=N[d+48>>2];z=Q(e-f);g=N[d+124>>2];h=N[d+52>>2];B=Q(g-h);i=N[d+84>>2];A=Q(i-f);k=N[d+88>>2];R=Q(k-h);G=Q(Q(f*A)+Q(h*R));t=Q(Q(f*z)+Q(h*B));v:{if(!(!(G>=Q(0))|!(t>=Q(0)))){J[d+140>>2]=1;J[d+56>>2]=1065353216;break v}S=Q(Q(A*B)-Q(z*R));T=Q(Q(Q(f*k)-Q(i*h))*S);A=Q(Q(i*A)+Q(k*R));if(!(!(T<=Q(0))|(!(A>Q(0))|!(G>2]=2;e=Q(Q(1)/Q(A-G));N[d+92>>2]=e*Q(-G);N[d+56>>2]=A*e;break v}z=Q(Q(e*z)+Q(g*B));B=Q(S*Q(Q(e*h)-Q(f*g)));if(!(!(tQ(0))))){J[d+140>>2]=2;e=Q(Q(1)/Q(z-t));N[d+128>>2]=e*Q(-t);N[d+56>>2]=z*e;J[d+100>>2]=J[d+136>>2];b=J[d+132>>2];J[d+92>>2]=J[d+128>>2];J[d+96>>2]=b;b=J[d+124>>2];J[d+84>>2]=J[d+120>>2];J[d+88>>2]=b;b=J[d+116>>2];J[d+76>>2]=J[d+112>>2];J[d+80>>2]=b;b=J[d+108>>2];J[d+68>>2]=J[d+104>>2];J[d+72>>2]=b;break v}h=Q(e-i);t=Q(g-k);f=Q(Q(i*h)+Q(k*t));if(!(!(A<=Q(0))|!(f>=Q(0)))){J[d+140>>2]=1;J[d+92>>2]=1065353216;b=J[d+72>>2];J[d+32>>2]=J[d+68>>2];J[d+36>>2]=b;b=J[d+80>>2];J[d+40>>2]=J[d+76>>2];J[d+44>>2]=b;b=J[d+88>>2];J[d+48>>2]=J[d+84>>2];J[d+52>>2]=b;b=J[d+96>>2];J[d+56>>2]=J[d+92>>2];J[d+60>>2]=b;J[d+64>>2]=J[d+100>>2];break v}w:{h=Q(Q(e*h)+Q(g*t));if(!(!(z<=Q(0))|!(h<=Q(0)))){J[d+140>>2]=1;J[d+128>>2]=1065353216;break w}e=Q(Q(Q(i*g)-Q(e*k))*S);if(!(!(fQ(0))))){J[d+140>>2]=2;e=Q(Q(1)/Q(h-f));N[d+128>>2]=e*Q(-f);N[d+92>>2]=h*e;break w}J[d+140>>2]=3;f=Q(Q(1)/Q(T+Q(e+B)));N[d+128>>2]=T*f;N[d+92>>2]=B*f;N[d+56>>2]=e*f;break v}b=J[d+108>>2];J[d+32>>2]=J[d+104>>2];J[d+36>>2]=b;b=J[d+116>>2];J[d+40>>2]=J[d+112>>2];J[d+44>>2]=b;b=J[d+124>>2];J[d+48>>2]=J[d+120>>2];J[d+52>>2]=b;b=J[d+132>>2];J[d+56>>2]=J[d+128>>2];J[d+60>>2]=b;J[d+64>>2]=J[d+136>>2]}b=J[d+140>>2]}f=j;e=m;x:{switch(b-1|0){case 0:break o;case 2:break p;case 1:break x;default:break n}}h=N[d+52>>2];f=Q(N[d+88>>2]-h);g=N[d+48>>2];e=Q(N[d+84>>2]-g);break q}J[d+140>>2]=2;t=Q(Q(1)/Q(k-i));N[d+92>>2]=t*Q(-i);N[d+56>>2]=k*t}y:{if(Q(Q(g*f)-Q(e*h))>Q(0)){f=Q(-f);break y}e=Q(-e)}b=2;break n}b=J[6004];J[6004]=(b|0)>(u|0)?b:u;b=u;break j}e=Q(-N[d+52>>2]);f=Q(-N[d+48>>2]);b=1}if(Q(Q(f*f)+Q(e*e))>2];p=0;o=0;s=J[r+20>>2];z:{if((s|0)<2){break z}h=Q(Q(E*Q(-f))-Q(F*e));i=Q(Q(F*f)-Q(E*e));g=Q(Q(N[n>>2]*h)+Q(i*N[n+4>>2]));b=1;q=s-1|0;U=q&1;if((s|0)!=2){x=q&-2;s=0;while(1){q=n+(b<<3)|0;k=Q(Q(N[q>>2]*h)+Q(i*N[q+4>>2]));q=k>g;D=b+1|0;y=n+(D<<3)|0;t=Q(Q(N[y>>2]*h)+Q(i*N[y+4>>2]));g=q?k:g;y=t>g;g=y?t:g;o=y?D:q?b:o;b=b+2|0;s=s+2|0;if((x|0)!=(s|0)){continue}break}}if(!U){break z}x=b;b=n+(b<<3)|0;o=Q(Q(N[b>>2]*h)+Q(i*N[b+4>>2]))>g?x:o}J[l+28>>2]=o;b=n+(o<<3)|0;g=N[b>>2];h=N[b+4>>2];i=Q(Q(Q(F*g)+Q(E*h))+$);N[l+4>>2]=i;k=Q(O+Q(Q(E*g)+Q(h*X)));N[l>>2]=k;n=J[r+44>>2];s=J[r+48>>2];A:{if((s|0)<2){break A}h=Q(Q(v*f)+Q(e*M));e=Q(Q(V*f)+Q(e*v));g=Q(Q(N[n>>2]*h)+Q(e*N[n+4>>2]));b=1;q=s-1|0;U=q&1;if((s|0)!=2){x=q&-2;s=0;while(1){q=n+(b<<3)|0;f=Q(Q(N[q>>2]*h)+Q(e*N[q+4>>2]));q=f>g;D=b+1|0;y=n+(D<<3)|0;t=Q(Q(N[y>>2]*h)+Q(e*N[y+4>>2]));f=q?f:g;y=t>f;g=y?t:f;p=y?D:q?b:p;b=b+2|0;s=s+2|0;if((x|0)!=(s|0)){continue}break}}if(!U){break A}x=b;b=n+(b<<3)|0;p=Q(Q(N[b>>2]*h)+Q(e*N[b+4>>2]))>g?x:p}J[l+32>>2]=p;b=n+(p<<3)|0;e=N[b>>2];f=N[b+4>>2];g=Q(Q(Q(M*e)+Q(v*f))+Z);N[l+12>>2]=g;e=Q(_+Q(Q(v*e)+Q(f*V)));N[l+8>>2]=e;N[l+20>>2]=g-i;N[l+16>>2]=e-k;b=0;C=C+1|0;J[6003]=C;u=u+1|0;B:{if(!W){while(1){l=b<<2;if(J[l+(d+20|0)>>2]==(o|0)&J[l+(d+8|0)>>2]==(p|0)){break B}b=b+1|0;if((c|0)!=(b|0)){continue}break}}c=J[d+140>>2]+1|0;J[d+140>>2]=c;b=20;if((u|0)!=20){continue}break k}break}b=J[d+140>>2]}c=b;b=u}u=J[6004];J[6004]=(b|0)<(u|0)?u:b;C:{switch(c-1|0){case 0:break h;case 2:break j;case 1:break C;default:break i}}m=N[d+72>>2];j=N[d+36>>2];e=N[d+56>>2];f=N[d+92>>2];g=Q(Q(e*N[d+32>>2])+Q(f*N[d+68>>2]));N[a>>2]=g;m=Q(Q(e*j)+Q(f*m));N[a+4>>2]=m;j=N[d+76>>2];h=N[d+44>>2];i=N[d+80>>2];k=N[d+40>>2];J[a+20>>2]=b;h=Q(Q(e*h)+Q(f*i));N[a+12>>2]=h;e=Q(Q(e*k)+Q(f*j));N[a+8>>2]=e;e=Q(g-e);j=Q(e*e);e=Q(m-h);N[a+16>>2]=Y(Q(j+Q(e*e)));e=Q(N[d+48>>2]-N[d+84>>2]);j=Q(e*e);e=Q(N[d+52>>2]-N[d+88>>2]);g=Q(Y(Q(j+Q(e*e))));u=a+16|0;b=2;c=2;break g}g=N[d+108>>2];h=N[d+72>>2];f=N[d+128>>2];i=N[d+36>>2];e=N[d+104>>2];k=N[d+32>>2];m=N[d+56>>2];v=N[d+68>>2];j=N[d+92>>2];J[a+20>>2]=b;e=Q(Q(Q(m*k)+Q(j*v))+Q(f*e));N[a+8>>2]=e;N[a>>2]=e;f=Q(Q(Q(m*i)+Q(j*h))+Q(f*g));N[a+12>>2]=f;N[a+4>>2]=f;e=Q(e-e);j=Q(e*e);e=Q(f-f);N[a+16>>2]=Y(Q(j+Q(e*e)));e=N[d+48>>2];f=N[d+52>>2];g=Q(Q(Q(N[d+84>>2]-e)*Q(N[d+124>>2]-f))-Q(Q(N[d+120>>2]-e)*Q(N[d+88>>2]-f)));u=a+16|0;b=3;c=3;break g}J[a+20>>2]=b;e=Q(N[a>>2]-N[a+8>>2]);j=Q(e*e);e=Q(N[a+4>>2]-N[a+12>>2]);N[a+16>>2]=Y(Q(j+Q(e*e)));I[w+4>>1]=c;J[w>>2]=0;u=a+16|0;if((c|0)>0){break f}break e}O=N[d+36>>2];o=J[d+36>>2];e=N[d+32>>2];J[a>>2]=J[d+32>>2];J[a+4>>2]=o;f=N[d+40>>2];u=J[d+40>>2];m=N[d+44>>2];l=J[d+44>>2];J[a+20>>2]=b;J[a+8>>2]=u;J[a+12>>2]=l;e=Q(e-f);j=Q(e*e);e=Q(O-m);N[a+16>>2]=Y(Q(j+Q(e*e)));u=a+16|0;g=Q(0);b=c;c=1}I[w+4>>1]=b;N[w>>2]=g}s=c&1;b=0;if((c|0)!=1){C=c&-2;o=w+6|0;l=w+9|0;c=0;while(1){n=d+32|0;p=n+P(b,36)|0;H[b+o|0]=J[p+28>>2];H[b+l|0]=J[p+32>>2];p=b|1;n=n+P(p,36)|0;H[o+p|0]=J[n+28>>2];H[l+p|0]=J[n+32>>2];b=b+2|0;c=c+2|0;if((C|0)!=(c|0)){continue}break}}if(!s){break e}c=b+w|0;b=(d+32|0)+P(b,36)|0;H[c+6|0]=J[b+28>>2];H[c+9|0]=J[b+32>>2]}D:{if(!K[r+88|0]){break D}e=N[u>>2];f=N[r+24>>2];m=N[r+52>>2];j=Q(f+m);if(!(!(e>j)|!(e>Q(1.1920928955078125e-7)))){N[a+16>>2]=e-j;e=N[a+8>>2];j=N[a>>2];g=Q(e-j);i=N[a+12>>2];k=N[a+4>>2];h=Q(i-k);v=Q(Y(Q(Q(g*g)+Q(h*h))));if(!(v>2]=i-Q(m*h);N[a+8>>2]=e-Q(m*g);N[a+4>>2]=k+Q(f*h);N[a>>2]=j+Q(f*g);break D}J[a+16>>2]=0;e=Q(Q(N[a+4>>2]+N[a+12>>2])*Q(.5));N[a+12>>2]=e;f=Q(Q(N[a>>2]+N[a+8>>2])*Q(.5));N[a+8>>2]=f;N[a+4>>2]=e;N[a>>2]=f}La=d+176|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0);a:{k=a;j=J[b>>2];b:{if((c|0)<=2){break b}a=J[j+4>>2];f=La-96|0;J[f+32>>2]=J[j>>2];J[f+36>>2]=a;g=1;h=(c|0)>=8?8:c;c:{if((h|0)==1){break c}o=J[j+12>>2];i=N[j+12>>2];c=J[j+8>>2];e=N[j+8>>2];a=0;d:{while(1){b=(f+32|0)+(a<<3)|0;d=Q(e-N[b>>2]);p=Q(d*d);d=Q(i-N[b+4>>2]);if(Q(p+Q(d*d))>2]=o;J[f+40>>2]=c;g=2}if((h|0)==2){break c}o=J[j+20>>2];i=N[j+20>>2];c=J[j+16>>2];e=N[j+16>>2];a=0;e:{while(1){b=(f+32|0)+(a<<3)|0;d=Q(e-N[b>>2]);p=Q(d*d);d=Q(i-N[b+4>>2]);if(Q(p+Q(d*d))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==3){break c}e=N[j+28>>2];o=J[j+28>>2];d=N[j+24>>2];c=J[j+24>>2];f:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==4){break c}e=N[j+36>>2];o=J[j+36>>2];d=N[j+32>>2];c=J[j+32>>2];g:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==5){break c}e=N[j+44>>2];o=J[j+44>>2];d=N[j+40>>2];c=J[j+40>>2];h:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==6){break c}e=N[j+52>>2];o=J[j+52>>2];d=N[j+48>>2];c=J[j+48>>2];i:{if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((h|0)==7){break c}e=N[j+60>>2];o=J[j+60>>2];d=N[j+56>>2];c=J[j+56>>2];if((g|0)>0){a=0;while(1){b=(f+32|0)+(a<<3)|0;i=Q(d-N[b>>2]);p=Q(i*i);i=Q(e-N[b+4>>2]);if(Q(p+Q(i*i))>2]=o;J[a>>2]=c;g=g+1|0}if((g|0)<3){break b}d=N[f+32>>2];e=N[f+40>>2];j:{if(!(d>2] >2])|d!=e){break j}}d=e;h=1}k:{if((g|0)==2){break k}e=N[f+48>>2];if(!(!(e>d)&(!(N[f+52>>2] >2])|d!=e))){h=2;d=e}if((g|0)==3){break k}e=N[f+56>>2];if(!(!(e>d)&(!(N[f+60>>2] >2])|d!=e))){h=3;d=e}if((g|0)==4){break k}e=N[f+64>>2];if(!(!(e>d)&(!(N[f+68>>2] >2])|d!=e))){h=4;d=e}if((g|0)==5){break k}e=N[f+72>>2];if(!(!(e>d)&(!(N[f+76>>2] >2])|d!=e))){h=5;d=e}if((g|0)==6){break k}e=N[f+80>>2];if(!(!(e>d)&(!(N[f+84>>2] >2])|d!=e))){h=6;d=e}if((g|0)==7){break k}e=N[f+88>>2];if(!(e>d)&(!(N[f+92>>2] >2])|d!=e)){break k}h=7}l:{m:{n:{if((g|0)>=2){D=N[f+92>>2];E=N[f+84>>2];F=N[f+76>>2];G=N[f+68>>2];H=N[f+60>>2];C=N[f+52>>2];b=0;t=N[f+88>>2];u=N[f+80>>2];v=N[f+72>>2];w=N[f+64>>2];x=N[f+56>>2];z=N[f+48>>2];A=N[f+44>>2];B=N[f+40>>2];p=N[f+36>>2];i=N[f+32>>2];y=(g|0)==5;s=(g|0)==6;j=(g|0)==7;a=h;while(1){o=b;c=a;J[(b<<2)+f>>2]=a;q=(f+32|0)+(a<<3)|0;r=q|4;a=1;o:{if(!c){break o}e=N[q>>2];l=Q(i-e);d=N[r>>2];m=Q(A-d);n=Q(B-e);e=Q(p-d);d=Q(Q(l*m)-Q(n*e));a=d Q(Q(l*l)+Q(e*e)))|d!=Q(0)){break o}a=1}p:{if((g|0)==2){break p}b=2;q:{if((a|0)==(c|0)){break q}b=a;a=f+32|a<<3;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(C-d);n=Q(z-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break q}b=2}if((g|0)==3){a=b;break p}a=3;r:{if((b|0)==(c|0)){break r}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(H-d);n=Q(x-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break r}a=3}if((g|0)==4){break p}b=4;s:{if((a|0)==(c|0)){break s}b=a;a=(f+32|0)+(a<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(G-d);n=Q(w-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break s}b=4}if(y){a=b;break p}a=5;t:{if((b|0)==(c|0)){break t}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(F-d);n=Q(v-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break t}a=5}if(s){break p}b=6;u:{if((a|0)==(c|0)){break u}b=a;a=(f+32|0)+(a<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(E-d);n=Q(u-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));b=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break u}b=6}if(j){a=b;break p}a=7;if((b|0)==(c|0)){break p}a=(f+32|0)+(b<<3)|0;e=N[q>>2];l=Q(N[a>>2]-e);d=N[r>>2];m=Q(D-d);n=Q(t-e);e=Q(N[a+4>>2]-d);d=Q(Q(l*m)-Q(n*e));a=dQ(Q(l*l)+Q(e*e)))|d!=Q(0)){break p}a=7}b=o+1|0;if((a|0)!=(h|0)){continue}break}if(o>>>0>1){break n}break m}if(!h){break m}a=1;while(1){J[(a<<2)+f>>2]=0;a=a+1|0;continue}}J[k+148>>2]=b;b=o+1|0;r=b&3;g=0;a=0;if((o|0)!=2){j=b&-4;q=k+20|0;y=0;while(1){s=f+32|0;c=s+(J[(a<<2)+f>>2]<<3)|0;b=J[c+4>>2];h=q+(a<<3)|0;J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|1;h=q+(b<<3)|0;c=s+(J[(b<<2)+f>>2]<<3)|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|2;h=q+(b<<3)|0;c=s+(J[(b<<2)+f>>2]<<3)|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;b=a|3;h=q+(b<<3)|0;c=(J[(b<<2)+f>>2]<<3)+s|0;b=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=b;a=a+4|0;y=y+4|0;if((j|0)!=(y|0)){continue}break}}if(r){while(1){c=(f+32|0)+(J[(a<<2)+f>>2]<<3)|0;b=J[c+4>>2];h=(a<<3)+k|0;J[h+20>>2]=J[c>>2];J[h+24>>2]=b;a=a+1|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}}s=k+20|0;a=0;while(1){j=a<<3;h=j+s|0;e=N[h>>2];b=a+1|0;c=s+((a>>>0>>0?b:0)<<3)|0;d=N[c>>2];j=j+k|0;i=Q(N[c+4>>2]-N[h+4>>2]);N[j+84>>2]=i;d=Q(d-e);e=Q(-d);N[j+88>>2]=e;d=Q(Y(Q(Q(i*i)+Q(d*d))));if(!(d >2]=i*d;N[j+88>>2]=d*e}c=(a|0)==(o|0);a=b;if(!c){continue}break}h=k+20|0;t=N[k+24>>2];i=Q(t-t);u=N[k+20>>2];e=Q(u-u);a=0;v=Q(0);w=Q(0);x=Q(0);while(1){b=a+1|0;c=h+(a<<3)|0;z=Q(N[c+4>>2]-t);A=Q(N[c>>2]-u);p=e;d=i;if(a>>>0>>0){c=h+(b<<3)|0;d=Q(N[c+4>>2]-t);p=Q(N[c>>2]-u)}B=Q(Q(Q(Q(A-e)*Q(d-i))-Q(Q(p-e)*Q(z-i)))*Q(.5));x=Q(x+B);C=Q(Q(i+z)+d);d=Q(B*Q(.3333333432674408));v=Q(v+Q(C*d));w=Q(w+Q(Q(Q(e+A)+p)*d));c=(a|0)!=(o|0);a=b;if(c){continue}break}d=Q(Q(1)/x);p=Q(t+Q(d*v));e=Q(u+Q(d*w));break l}a=k;J[a+84>>2]=0;J[a+88>>2]=-1082130432;J[a+20>>2]=-1082130432;J[a+24>>2]=-1082130432;J[a+148>>2]=4;J[a+108>>2]=-1082130432;J[a+112>>2]=0;J[a+100>>2]=0;J[a+104>>2]=1065353216;J[a+92>>2]=1065353216;J[a+96>>2]=0;J[a+44>>2]=-1082130432;J[a+48>>2]=1065353216;J[a+36>>2]=1065353216;J[a+40>>2]=1065353216;J[a+28>>2]=1065353216;J[a+32>>2]=-1082130432;p=Q(0);e=Q(0)}N[k+12>>2]=e;N[k+16>>2]=p;break a}J[k+84>>2]=0;J[k+88>>2]=-1082130432;J[k+20>>2]=-1082130432;J[k+24>>2]=-1082130432;J[k+148>>2]=4;J[k+12>>2]=0;J[k+16>>2]=0;J[k+108>>2]=-1082130432;J[k+112>>2]=0;J[k+100>>2]=0;J[k+104>>2]=1065353216;J[k+92>>2]=1065353216;J[k+96>>2]=0;J[k+44>>2]=-1082130432;J[k+48>>2]=1065353216;J[k+36>>2]=1065353216;J[k+40>>2]=1065353216;J[k+28>>2]=1065353216;J[k+32>>2]=-1082130432}}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),w=Q(0),x=0,y=Q(0);a:{if(K[a+102989|0]){break a}b:{c:{switch(J[b>>2]-1|0){case 2:c=xb(eb(a,176),b);J[c>>2]=12536;d=J[b+24>>2];J[c+80>>2]=J[b+20>>2];J[c+84>>2]=d;d=J[b+32>>2];J[c+88>>2]=J[b+28>>2];J[c+92>>2]=d;N[c+104>>2]=N[b+36>>2];N[c+68>>2]=N[b+40>>2];N[c+72>>2]=N[b+44>>2];J[c+96>>2]=0;J[c+100>>2]=0;J[c+76>>2]=0;break b;case 4:c=xb(eb(a,168),b);J[c>>2]=13120;j=N[b+24>>2];f=J[b+24>>2];g=N[b+20>>2];J[c+76>>2]=J[b+20>>2];J[c+80>>2]=f;d=J[c+52>>2];h=N[d+24>>2];i=Q(j-N[d+16>>2]);l=N[d+20>>2];g=Q(g-N[d+12>>2]);N[c+72>>2]=Q(h*i)-Q(l*g);N[c+68>>2]=Q(h*g)+Q(i*l);N[c+104>>2]=N[b+28>>2];J[c+96>>2]=0;J[c+100>>2]=0;N[c+84>>2]=N[b+32>>2];N[c+88>>2]=N[b+36>>2];J[c+108>>2]=0;J[c+92>>2]=0;break b;case 1:c=xb(eb(a,240),b);J[c>>2]=13316;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;h=N[b+40>>2];f=J[b+40>>2];g=N[b+36>>2];d=J[b+36>>2];J[c+84>>2]=d;J[c+88>>2]=f;i=Q(Y(Q(Q(g*g)+Q(h*h))));if(!(i >2]=h;g=Q(i*g);N[c+84>>2]=g;d=(C(g),v(2))}J[c+96>>2]=d;N[c+92>>2]=-h;g=N[b+44>>2];J[c+236>>2]=0;N[c+100>>2]=g;J[c+104>>2]=0;J[c+108>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;N[c+124>>2]=N[b+52>>2];N[c+128>>2]=N[b+56>>2];N[c+132>>2]=N[b+64>>2];N[c+136>>2]=N[b+68>>2];H[c+140|0]=K[b+48|0];d=K[b+60|0];J[c+232>>2]=0;H[c+141|0]=d;J[c+184>>2]=0;J[c+188>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;break b;case 0:c=xb(eb(a,212),b);J[c>>2]=13488;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;g=N[b+36>>2];J[c+208>>2]=0;N[c+120>>2]=g;J[c+84>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;N[c+124>>2]=N[b+44>>2];N[c+128>>2]=N[b+48>>2];N[c+108>>2]=N[b+60>>2];N[c+112>>2]=N[b+56>>2];H[c+116|0]=K[b+40|0];d=K[b+52|0];J[c+204>>2]=0;H[c+104|0]=d;break b;case 3:c=xb(eb(a,196),b);J[c>>2]=13404;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;d=J[b+40>>2];J[c+92>>2]=J[b+36>>2];J[c+96>>2]=d;d=J[b+48>>2];J[c+100>>2]=J[b+44>>2];J[c+104>>2]=d;h=N[b+52>>2];N[c+84>>2]=h;i=N[b+56>>2];N[c+88>>2]=i;g=N[b+60>>2];J[c+116>>2]=0;N[c+112>>2]=g;N[c+108>>2]=h+Q(g*i);break b;case 5:c=xb(eb(a,276),b);J[c>>2]=12744;e=J[b+20>>2];J[c+68>>2]=e;p=J[b+24>>2];J[c+72>>2]=p;k=J[e+4>>2];J[c+76>>2]=k;x=J[p+4>>2];J[c+80>>2]=x;d=J[e+48>>2];J[c+84>>2]=d;f=J[e+52>>2];J[c+48>>2]=f;d:{if((k|0)==1){h=N[d+56>>2];i=N[f+56>>2];d=J[e+72>>2];J[c+108>>2]=J[e+68>>2];J[c+112>>2]=d;d=J[e+80>>2];J[c+92>>2]=J[e+76>>2];J[c+96>>2]=d;g=N[e+120>>2];J[c+124>>2]=0;J[c+128>>2]=0;N[c+140>>2]=g;g=Q(Q(i-h)-g);break d}h=N[d+20>>2];i=N[d+24>>2];l=N[f+20>>2];o=N[f+24>>2];q=N[f+16>>2];r=N[d+16>>2];n=N[f+12>>2];j=N[d+12>>2];s=N[e+72>>2];f=J[e+72>>2];m=N[e+68>>2];J[c+108>>2]=J[e+68>>2];J[c+112>>2]=f;t=N[e+80>>2];d=J[e+80>>2];g=N[e+76>>2];k=J[e+76>>2];J[c+92>>2]=k;J[c+96>>2]=d;N[c+140>>2]=N[e+100>>2];u=N[e+84>>2];k=J[e+84>>2];w=N[e+88>>2];e=J[e+88>>2];J[c+124>>2]=k;J[c+128>>2]=e;j=Q(n-j);n=t;j=Q(j+Q(Q(o*g)-Q(l*n)));g=Q(Q(q-r)+Q(Q(l*g)+Q(o*n)));g=Q(Q(Q(Q(Q(i*j)+Q(h*g))-m)*u)+Q(Q(Q(Q(i*g)-Q(h*j))-s)*w))}d=J[p+48>>2];J[c+88>>2]=d;f=J[p+52>>2];J[c+52>>2]=f;e:{if((x|0)==1){i=N[d+56>>2];l=N[f+56>>2];d=J[b+24>>2];f=J[d+72>>2];J[c+116>>2]=J[d+68>>2];J[c+120>>2]=f;f=J[d+80>>2];J[c+100>>2]=J[d+76>>2];J[c+104>>2]=f;h=N[d+120>>2];J[c+132>>2]=0;J[c+136>>2]=0;N[c+144>>2]=h;h=Q(Q(l-i)-h);break e}i=N[d+20>>2];l=N[d+24>>2];o=N[f+20>>2];q=N[f+24>>2];r=N[f+16>>2];n=N[d+16>>2];j=N[f+12>>2];m=N[d+12>>2];e=J[b+24>>2];d=e;u=N[d+68>>2];d=J[d+68>>2];s=N[e+72>>2];f=J[e+72>>2];J[c+116>>2]=d;J[c+120>>2]=f;t=N[e+80>>2];d=J[e+80>>2];h=N[e+76>>2];k=J[e+76>>2];J[c+100>>2]=k;J[c+104>>2]=d;N[c+144>>2]=N[e+100>>2];w=N[e+84>>2];k=J[e+84>>2];y=N[e+88>>2];e=J[e+88>>2];J[c+132>>2]=k;J[c+136>>2]=e;m=Q(j-m);j=t;m=Q(m+Q(Q(q*h)-Q(o*j)));h=Q(Q(r-n)+Q(Q(o*h)+Q(q*j)));h=Q(Q(Q(Q(Q(l*m)+Q(i*h))-u)*w)+Q(Q(Q(Q(l*h)-Q(i*m))-s)*y))}i=N[b+28>>2];J[c+156>>2]=0;N[c+152>>2]=i;N[c+148>>2]=Q(i*h)+g;break b;case 6:c=xb(eb(a,248),b);J[c>>2]=13744;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;f=J[b+36>>2];d=J[b+40>>2];J[c+100>>2]=0;J[c+104>>2]=0;J[c+96>>2]=f;J[c+84>>2]=f;J[c+88>>2]=d;J[c+108>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+92>>2]=d^-2147483648;N[c+124>>2]=N[b+48>>2];N[c+128>>2]=N[b+52>>2];H[c+140|0]=K[b+44|0];N[c+132>>2]=N[b+60>>2];N[c+136>>2]=N[b+64>>2];d=K[b+56|0];J[c+240>>2]=0;J[c+244>>2]=0;H[c+141|0]=d;J[c+192>>2]=0;J[c+196>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;N[c+144>>2]=N[b+68>>2];N[c+148>>2]=N[b+72>>2];break b;case 7:c=xb(eb(a,208),b);J[c>>2]=13660;d=J[b+24>>2];J[c+80>>2]=J[b+20>>2];J[c+84>>2]=d;d=J[b+32>>2];J[c+88>>2]=J[b+28>>2];J[c+92>>2]=d;N[c+96>>2]=N[b+36>>2];N[c+68>>2]=N[b+40>>2];g=N[b+44>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;N[c+72>>2]=g;break b;case 8:c=xb(eb(a,180),b);J[c>>2]=12828;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+28>>2];f=J[b+32>>2];J[c+92>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+76>>2]=d;J[c+80>>2]=f;N[c+96>>2]=N[b+36>>2];N[c+100>>2]=N[b+40>>2];break b;case 9:c=xb(eb(a,164),b);J[c>>2]=13576;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;d=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=d;g=N[b+36>>2];J[c+160>>2]=0;N[c+84>>2]=g;J[c+88>>2]=0;J[c+92>>2]=0;break b;case 10:break c;default:break b}}c=xb(eb(a,192),b);J[c>>2]=13036;d=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=d;g=N[b+28>>2];J[c+88>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;N[c+76>>2]=g;N[c+92>>2]=N[b+32>>2];N[c+96>>2]=N[b+36>>2];N[c+100>>2]=N[b+40>>2]}J[c+8>>2]=0;d=J[a+102952>>2];J[c+12>>2]=d;if(d){J[d+8>>2]=c}J[a+102952>>2]=c;J[a+102960>>2]=J[a+102960>>2]+1;J[c+24>>2]=0;J[c+20>>2]=c;a=J[c+52>>2];J[c+16>>2]=a;d=J[c+48>>2];f=J[d+108>>2];J[c+28>>2]=f;k=c+16|0;if(f){J[f+8>>2]=k}J[d+108>>2]=k;J[c+40>>2]=0;J[c+32>>2]=d;J[c+36>>2]=c;d=J[a+108>>2];J[c+44>>2]=d;f=c+32|0;if(d){J[d+8>>2]=f}J[a+108>>2]=f;if(K[b+16|0]){break a}a=J[J[b+12>>2]+112>>2];if(!a){break a}b=J[b+8>>2];while(1){if((b|0)==J[a>>2]){d=J[a+4>>2];J[d+4>>2]=J[d+4>>2]|8}a=J[a+12>>2];if(a){continue}break}}return c|0}function Kd(a,b,c,d,e){var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=0,E=Q(0),F=Q(0),G=0,L=0,M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=0,W=0,X=0,Z=Q(0),_=Q(0),$=0;f=La-272|0;La=f;J[a+60>>2]=0;g=N[c+12>>2];i=N[e+12>>2];l=Q(g*i);o=N[e+8>>2];h=N[c+8>>2];y=Q(o*h);z=Q(N[e+4>>2]-N[c+4>>2]);j=Q(g*z);n=Q(N[e>>2]-N[c>>2]);q=Q(h*n);U=J[b+20>>2];V=J[b+12>>2];W=J[b+24>>2];X=J[b+16>>2];M=N[b+20>>2];u=N[b+12>>2];r=Q(M-u);O=N[b+24>>2];v=N[b+16>>2];k=Q(O-v);w=Q(Y(Q(Q(r*r)+Q(k*k))));if(!(w>2];h=N[d+16>>2];if(Q(Q(k*Q(Q(S+Q(Q(w*g)-Q(h*F)))-u))-Q(Q(Q(R+Q(Q(F*g)+Q(w*h)))-v)*r))>2];J[f+268>>2]=m;b:{c:{d:{e:{if((m|0)>0){while(1){e=p<<3;c=e+(f+140|0)|0;e=d+e|0;g=N[e+20>>2];h=N[e+24>>2];N[c+4>>2]=R+Q(Q(F*g)+Q(w*h));N[c>>2]=S+Q(Q(w*g)+Q(h*T));g=N[e+84>>2];h=N[e+88>>2];N[c+68>>2]=Q(F*g)+Q(w*h);N[c- -64>>2]=Q(w*g)+Q(h*T);p=p+1|0;if((m|0)!=(p|0)){continue}break}E=Q(N[d+8>>2]+N[b+8>>2]);y=Q(-k);m=J[f+268>>2];if((m|0)<=0){break e}p=m&1;s=m-1|0;f:{if(!s){j=Q(34028234663852886e22);e=0;break f}A=m&-2;j=Q(34028234663852886e22);e=0;c=0;while(1){G=f+140|0;t=e<<3;L=G+(t|8)|0;g=Q(Q(k*Q(N[L>>2]-u))+Q(Q(N[L+4>>2]-v)*z));t=t+G|0;h=Q(Q(k*Q(N[t>>2]-u))+Q(Q(N[t+4>>2]-v)*z));h=h>2]-u))+Q(Q(N[c+4>>2]-v)*z));j=g Q(-34028234663852886e22)){break d}A=-1;j=Q(-34028234663852886e22);h=Q(0);g=Q(0);break c}E=Q(N[d+8>>2]+N[b+8>>2]);y=Q(-k)}j=Q(34028234663852886e22);if(E >2]-u))+Q(r*Q(N[L+4>>2]-v)));t=t+G|0;o=Q(Q(y*Q(N[t>>2]-u))+Q(r*Q(N[t+4>>2]-v)));i=i>o?o:i;i=i>l?l:i;e=e+2|0;c=c+2|0;if((s|0)!=(c|0)){continue}break}}if(p){c=(f+140|0)+(e<<3)|0;l=Q(Q(y*Q(N[c>>2]-u))+Q(r*Q(N[c+4>>2]-v)));i=i>l?l:i}if(i>j){A=1;j=i;h=y;g=r}if(j>E){break a}i=Q(-34028234663852886e22);p=-1;e=0;l=Q(0);o=Q(0);c=0;while(1){s=(f+140|0)+(c<<3)|0;n=Q(-N[s- -64>>2]);q=N[s>>2];Z=N[s+4>>2];B=N[s+68>>2];_=Q(Q(n*Q(q-u))-Q(Q(Z-v)*B));q=Q(Q(n*Q(q-M))-Q(Q(Z-O)*B));q=q>_?_:q;if(q>i){o=Q(-B);l=n;p=c;i=q;e=2}c=c+1|0;if((m|0)!=(c|0)){continue}break}}if(i>E){break a}if(!(Q(Q(Q(j-E)*Q(.9800000190734863))+Q(.0010000000474974513))>2]);i=Q(v-N[b+32>>2]);n=Q(Y(Q(Q(j*j)+Q(i*i))));if(!(n>2]-M);q=Q(N[b+40>>2]-O);B=Q(Y(Q(Q(n*n)+Q(q*q))));if(!(B=Q(0))){break j}if(!(Q(Q(l*Q(-j))-Q(i*o))>Q(.10000000149011612))){break k}break a}if(!(Q(Q(r*q)+Q(n*y))>=Q(0))){break j}if(Q(Q(q*o)+Q(l*n))>Q(.10000000149011612)){break a}}if((e|0)==1){break i}J[a+56>>2]=2;A=0;H[f+132|0]=0;J[f+128>>2]=X;I[f+134>>1]=256;H[f+133|0]=p;J[f+124>>2]=V;I[f+122>>1]=256;H[f+121|0]=p;J[f+116>>2]=W;J[f+112>>2]=U;J[f+56>>2]=p;s=f+140|0;c=s+(p<<3)|0;u=N[c>>2];b=J[c>>2];v=N[c+4>>2];e=J[c+4>>2];J[f+64>>2]=b;J[f+68>>2]=e;H[f+120|0]=1;b=p+1|0;b=(b|0)<(m|0)?b:0;J[f+60>>2]=b;m=s+(b<<3)|0;b=m;M=N[b>>2];b=J[b>>2];O=N[m+4>>2];m=J[m+4>>2];J[f+72>>2]=b;J[f+76>>2]=m;c=c- -64|0;k=N[c>>2];b=J[c>>2];z=N[c+4>>2];c=J[c+4>>2];J[f+104>>2]=b;y=Q(-k);N[f+92>>2]=y;J[f+80>>2]=b;J[f+84>>2]=c;J[f+88>>2]=c;r=Q(-z);N[f+100>>2]=r;break h}l=h;o=g}A=1;J[a+56>>2]=1;p=0;c=0;l:{if((m|0)<2){break l}j=Q(Q(l*N[f+204>>2])+Q(o*N[f+208>>2]));e=1;b=m-1|0;G=b&1;if((m|0)!=2){L=b&-2;s=f+204|0;b=0;while(1){C=s+(e<<3)|0;g=Q(Q(l*N[C>>2])+Q(o*N[C+4>>2]));C=g>2])+Q(o*N[t+4>>2]));g=C?g:j;t=h >2])+Q(o*N[b+68>>2])) >2]=k;N[f+92>>2]=y;N[f+84>>2]=o;J[f+76>>2]=W;J[f+68>>2]=X;I[f+122>>1]=1;H[f+120|0]=0;I[f+134>>1]=1;N[f+100>>2]=r;N[f+88>>2]=z;N[f+80>>2]=l;J[f+72>>2]=U;J[f+64>>2]=V;J[f+56>>2]=0;J[f+60>>2]=1;H[f+121|0]=c;b=f+140|0;e=b+(c<<3)|0;s=J[e+4>>2];J[f+112>>2]=J[e>>2];J[f+116>>2]=s;c=c+1|0;c=(c|0)<(m|0)?c:0;H[f+133|0]=c;b=b+(c<<3)|0;c=J[b+4>>2];J[f+124>>2]=J[b>>2];J[f+128>>2]=c}N[f+108>>2]=Q(r*M)+Q(k*O);g=Q(Q(z*u)+Q(y*v));N[f+96>>2]=g;if((hc(f+32|0,f+112|0,f+88|0,g,p)|0)<2){break a}if((hc(f,f+32|0,f+100|0,N[f+108>>2],J[f+60>>2])|0)<2){break a}m:{if(A){u=N[f+84>>2];c=J[f+84>>2];g=N[f+80>>2];J[a+40>>2]=J[f+80>>2];J[a+44>>2]=c;b=J[f+64>>2];c=J[f+68>>2];v=(x(2,c),D());i=N[f+64>>2];break m}c=(J[f+56>>2]<<3)+d|0;b=J[c+88>>2];J[a+40>>2]=J[c+84>>2];J[a+44>>2]=b;b=J[c+20>>2];c=J[c+24>>2];u=N[f+84>>2];v=N[f+68>>2];g=N[f+80>>2];i=N[f+64>>2]}J[a+48>>2]=b;J[a+52>>2]=c;e=0;h=N[f>>2];k=N[f+4>>2];if(Q(Q(g*Q(h-i))+Q(Q(k-v)*u))<=E){n:{if(A){h=Q(h-S);k=Q(k-R);N[a+4>>2]=Q(T*h)+Q(w*k);N[a>>2]=Q(w*h)+Q(F*k);J[a+16>>2]=J[f+8>>2];break n}b=J[f+4>>2];J[a>>2]=J[f>>2];J[a+4>>2]=b;H[a+18|0]=K[f+11|0];H[a+19|0]=K[f+10|0];H[a+16|0]=K[f+9|0];H[a+17|0]=K[f+8|0]}e=1}b=a;l=g;g=N[f+12>>2];h=N[f+16>>2];if(Q(Q(l*Q(g-i))+Q(Q(h-v)*u))<=E){a=P(e,20)+a|0;o:{if(!A){c=J[f+16>>2];J[a>>2]=J[f+12>>2];J[a+4>>2]=c;H[a+18|0]=K[f+23|0];H[a+19|0]=K[f+22|0];H[a+16|0]=K[f+21|0];H[a+17|0]=K[f+20|0];break o}g=Q(g-S);h=Q(h-R);N[a+4>>2]=Q(T*g)+Q(w*h);N[a>>2]=Q(w*g)+Q(F*h);J[a+16>>2]=J[f+20>>2]}e=e+1|0}J[b+60>>2]=e}La=f+272|0}function Uc(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=La-560|0;La=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1326;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1329;break a}s=e&1;y=s?1332:1327;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;kb(a,32,c,g,e&-65537);jb(a,y,s);d=f&32;jb(a,b!=b?d?3270:5644:d?3772:5650,3);kb(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=_c(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j< >>32-d;d=j< >>0>x>>>0?j+1|0:j,1e9);B=g,C=x-ll(d,Ma,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0 >>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1< >2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0 >>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Kb((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;kb(a,32,c,p,e);jb(a,y,s);kb(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Kb(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0 >>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}jb(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){jb(a,6577,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Kb(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0 >>0){continue}break}}jb(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0 >>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Kb(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0 >>0){continue}break}break t}jb(a,g,1);g=g+1|0;if(!(k|l)){break t}jb(a,6577,1)}f=j-g|0;jb(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}kb(a,48,l+18|0,18,0);jb(a,t,u-t|0);break o}g=l}kb(a,48,g+9|0,9,0)}kb(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Kb((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+18e3|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}j=f;f=m+16|0;i=h-f|0;d=d?(i-2|0)<(d|0)?d+2|0:i:i;h=j+d|0;kb(a,32,c,h,e);jb(a,k,q);kb(a,48,c,h,e^65536);jb(a,f,i);kb(a,48,d-i|0,0,0);jb(a,l,g);kb(a,32,c,h,e^8192);n=(c|0)<(h|0)?h:c}La=m+560|0;return n|0}function Zc(a,b,c,d,e){var 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;h=La-80|0;La=h;J[h+76>>2]=b;w=h+55|0;r=h+56|0;a:{b:{c:{d:{e:while(1){i=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=i;g=K[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(K[g+1|0]!=37){b=g;break j}f=f+1|0;k=K[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-i|0;v=o^2147483647;if((f|0)>(v|0)){break d}if(a){jb(a,i,f)}if(f){continue e}J[h+76>>2]=b;f=b+1|0;p=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){p=H[b+1|0]-48|0;s=1;f=b+3|0}J[h+76>>2]=f;m=0;g=H[f|0];b=g-32|0;k:{if(b>>>0>31){l=f;break k}l=f;b=1<>2]=l;m=b|m;g=H[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=l;b=1<>>0>=10)){J[((H[l+1|0]<<2)+e|0)-192>>2]=10;g=l+3|0;s=1;b=J[((H[l+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=l+1|0;if(!a){J[h+76>>2]=g;s=0;q=0;break l}b=J[c>>2];J[c>>2]=b+4;s=0;b=J[b>>2]}J[h+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;m=m|8192;break l}q=Yc(h+76|0);if((q|0)<0){break d}g=J[h+76>>2]}f=0;j=-1;n:{if(K[g|0]!=46){b=g;u=0;break n}if(K[g+1|0]==42){o:{if(!(K[g+3|0]!=36|H[g+2|0]-48>>>0>=10)){J[((H[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;j=J[((H[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;j=0;if(!a){break o}g=J[c>>2];J[c>>2]=g+4;j=J[g>>2]}J[h+76>>2]=b;u=(j^-1)>>>31|0;break n}J[h+76>>2]=g+1;j=Yc(h+76|0);b=J[h+76>>2];u=1}while(1){n=f;l=28;k=b;f=H[b|0];if(f-123>>>0<4294967238){break c}b=k+1|0;f=K[(f+P(n,58)|0)+17471|0];if(f-1>>>0<8){continue}break}J[h+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){J[(p<<2)+e>>2]=f;g=(p<<3)+d|0;f=J[g+4>>2];J[h+64>>2]=J[g>>2];J[h+68>>2]=f;break q}if(!a){break f}Xc(h- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}g=m&-65537;m=m&8192?g:m;p=0;t=1316;l=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=H[k|0];f=n?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}g=J[h+64>>2];k=J[h+68>>2];t=1316;break z}f=0;I:{switch(n&255){case 0:J[J[h+64>>2]>>2]=o;continue e;case 1:J[J[h+64>>2]>>2]=o;continue e;case 2:i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e;case 3:I[J[h+64>>2]>>1]=o;continue e;case 4:H[J[h+64>>2]]=o;continue e;case 6:J[J[h+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e}j=j>>>0<=8?8:j;m=m|8;f=120}i=r;g=J[h+64>>2];k=J[h+68>>2];if(g|k){x=f&32;while(1){i=i-1|0;H[i|0]=x|K[(g&15)+18e3|0];y=!k&g>>>0>15|(k|0)!=0;n=k;k=k>>>4|0;g=(n&15)<<28|g>>>4;if(y){continue}break}}if(!(J[h+64>>2]|J[h+68>>2])|!(m&8)){break y}t=(f>>>4|0)+1316|0;p=2;break y}f=r;i=J[h+68>>2];k=i;g=J[h+64>>2];if(i|g){while(1){f=f-1|0;H[f|0]=g&7|48;n=!k&g>>>0>7|(k|0)!=0;i=k;k=i>>>3|0;g=(i&7)<<29|g>>>3;if(n){continue}break}}i=f;if(!(m&8)){break y}f=r-i|0;j=(f|0)<(j|0)?j:f+1|0;break y}g=J[h+64>>2];f=J[h+68>>2];k=f;if((f|0)<0){i=0-(k+((g|0)!=0)|0)|0;k=i;g=0-g|0;J[h+64>>2]=g;J[h+68>>2]=i;p=1;t=1316;break z}if(m&2048){p=1;t=1317;break z}p=m&1;t=p?1318:1316}i=Kb(g,k,r)}if((j|0)<0?u:0){break d}m=u?m&-65537:m;f=J[h+64>>2];g=J[h+68>>2];if(!(j|(f|g)!=0)){i=r;j=0;break g}f=!(f|g)+(r-i|0)|0;j=(f|0)<(j|0)?j:f;break g}l=j>>>0>=2147483647?2147483647:j;n=l;m=(l|0)!=0;f=J[h+64>>2];i=f?f:6579;f=i;J:{K:{L:{M:{if(!(f&3)|!l){break M}while(1){if(!K[f|0]){break L}n=n-1|0;m=(n|0)!=0;f=f+1|0;if(!(f&3)){break M}if(n){continue}break}}if(!m){break K}if(!(!K[f|0]|n>>>0<4)){while(1){k=J[f>>2];if((k^-1)&k-16843009&-2139062144){break L}f=f+4|0;n=n-4|0;if(n>>>0>3){continue}break}}if(!n){break K}}while(1){if(!K[f|0]){break J}f=f+1|0;n=n-1|0;if(n){continue}break}}f=0}f=f?f-i|0:l;l=f+i|0;if((j|0)>=0){m=g;j=f;break g}m=g;j=f;if(K[l|0]){break d}break g}if(j){g=J[h+64>>2];break u}f=0;kb(a,32,q,0,m);break t}J[h+12>>2]=0;J[h+8>>2]=J[h+64>>2];g=h+8|0;J[h+64>>2]=g;j=-1}f=0;N:{while(1){i=J[g>>2];if(!i){break N}k=Sc(h+4|0,i);i=(k|0)<0;if(!(i|k>>>0>j-f>>>0)){g=g+4|0;f=f+k|0;if(j>>>0>f>>>0){continue}break N}break}if(i){break b}}l=61;if((f|0)<0){break c}kb(a,32,q,f,m);if(!f){f=0;break t}l=0;g=J[h+64>>2];while(1){i=J[g>>2];if(!i){break t}i=Sc(h+4|0,i);l=i+l|0;if(l>>>0>f>>>0){break t}jb(a,h+4|0,i);g=g+4|0;if(f>>>0>l>>>0){continue}break}}kb(a,32,q,f,m^8192);f=(f|0)<(q|0)?q:f;continue e}if((j|0)<0?u:0){break d}l=61;f=Uc(a,O[h+64>>3],q,j,m,f);if((f|0)>=0){continue e}break c}H[h+55|0]=J[h+64>>2];j=1;i=w;m=g;break g}g=K[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=J[(f<<2)+e>>2];if(a){Xc((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(J[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}l=28;break c}k=l-i|0;g=(j|0)>(k|0)?j:k;if((g|0)>(p^2147483647)){break d}l=61;j=g+p|0;f=(j|0)<(q|0)?q:j;if((v|0)<(f|0)){break c}kb(a,32,f,j,m);jb(a,t,p);kb(a,48,f,j,m^65536);kb(a,48,g,k,0);jb(a,i,k);kb(a,32,f,j,m^8192);continue}break}o=0;break a}l=61}J[6228]=l}o=-1}La=h+80|0;return o}function Bf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=0,o=0,p=0,q=Q(0),r=0,s=Q(0);b=La+-64|0;La=b;d=J[a+102980>>2];a:{if(!d){break a}p=J[d+4>>2];b:{if(!(p&1)){break b}j=J[a+102948>>2];if(!j){break b}while(1){d=J[j+100>>2];if(d){f=j+12|0;while(1){c:{d:{e:{e=J[j>>2];if((e|0)==2){if(N[j+116>>2]==Q(0)){J[b+8>>2]=0;J[b+12>>2]=1065353216;J[b>>2]=1065353216;J[b+4>>2]=0;break c}c=L[j+4>>1];if(c&32){break e}break d}c=L[j+4>>1];if(!(c&32)){break d}f:{switch(e|0){case 0:J[b+8>>2]=1056964608;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1063675494;break c;case 1:break f;default:break e}}J[b+8>>2]=1063675494;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1056964608;break c}if(!(c&2)){J[b+8>>2]=1058642330;J[b+12>>2]=1065353216;J[b>>2]=1058642330;J[b+4>>2]=1058642330;break c}J[b+8>>2]=1060320051;J[b+12>>2]=1065353216;J[b>>2]=1063675494;J[b+4>>2]=1060320051;break c}J[b+8>>2]=1050253722;J[b+12>>2]=1065353216;J[b>>2]=1056964608;J[b+4>>2]=1056964608}c=La-80|0;La=c;g:{h:{i:{j:{k:{e=J[d+12>>2];switch(J[e+4>>2]){case 0:break h;case 2:break i;case 3:break j;case 1:break k;default:break g}}k=N[f>>2];h=N[f+8>>2];i=N[e+12>>2];g=N[f+12>>2];l=N[e+16>>2];q=N[f+4>>2];N[c+4>>2]=Q(Q(h*i)+Q(g*l))+q;N[c>>2]=k+Q(Q(g*i)-Q(l*h));i=N[e+20>>2];l=N[e+24>>2];N[c+76>>2]=q+Q(Q(h*i)+Q(g*l));N[c+72>>2]=k+Q(Q(g*i)-Q(l*h));n=J[a+102980>>2];Na[J[J[n>>2]+24>>2]](n,c,c+72|0,b);if(K[e+44|0]){break g}e=J[a+102980>>2];Na[J[J[e>>2]+32>>2]](e,c,Q(4),b);e=J[a+102980>>2];Na[J[J[e>>2]+32>>2]](e,c+72|0,Q(4),b);break g}n=J[e+16>>2];h=N[f>>2];g=N[f+8>>2];o=J[e+12>>2];k=N[o>>2];i=N[f+12>>2];l=N[o+4>>2];N[c+4>>2]=Q(Q(g*k)+Q(i*l))+N[f+4>>2];N[c>>2]=h+Q(Q(i*k)-Q(l*g));if((n|0)<2){break g}e=1;while(1){h=N[f>>2];g=N[f+8>>2];m=o+(e<<3)|0;k=N[m>>2];i=N[f+12>>2];l=N[m+4>>2];N[c+76>>2]=Q(Q(g*k)+Q(i*l))+N[f+4>>2];N[c+72>>2]=h+Q(Q(i*k)-Q(l*g));m=J[a+102980>>2];Na[J[J[m>>2]+24>>2]](m,c,c+72|0,b);m=J[c+76>>2];J[c>>2]=J[c+72>>2];J[c+4>>2]=m;e=e+1|0;if((n|0)!=(e|0)){continue}break}break g}o=J[e+148>>2];if((o|0)>0){h=N[f+12>>2];g=N[f+4>>2];k=N[f>>2];i=N[f+8>>2];l=Q(-i);n=0;while(1){m=n<<3;r=m+c|0;m=e+m|0;q=N[m+20>>2];s=N[m+24>>2];N[r+4>>2]=Q(Q(i*q)+Q(h*s))+g;N[r>>2]=k+Q(Q(h*q)+Q(s*l));n=n+1|0;if((o|0)!=(n|0)){continue}break}}e=J[a+102980>>2];Na[J[J[e>>2]+12>>2]](e,c,o,b);break g}k=N[f>>2];h=N[f+8>>2];i=N[e+12>>2];g=N[f+12>>2];l=N[e+16>>2];N[c+4>>2]=Q(Q(h*i)+Q(g*l))+N[f+4>>2];N[c>>2]=k+Q(Q(g*i)-Q(l*h));k=N[e+8>>2];N[c+76>>2]=h+Q(g*Q(0));N[c+72>>2]=g-Q(h*Q(0));e=J[a+102980>>2];Na[J[J[e>>2]+20>>2]](e,c,k,c+72|0,b)}La=c+80|0;d=J[d+4>>2];if(d){continue}break}}j=J[j+96>>2];if(j){continue}break}}l:{if(!(p&2)){break l}d=J[a+102952>>2];if(!d){break l}while(1){Na[J[J[d>>2]+24>>2]](d,J[a+102980>>2]);d=J[d+12>>2];if(d){continue}break}}m:{if(!(p&8)){break m}J[b+8>>2]=1063675494;J[b+12>>2]=1065353216;J[b>>2]=1050253722;J[b+4>>2]=1063675494;d=J[a+102928>>2];if(!d){break m}while(1){f=J[d+52>>2];j=J[d+60>>2];c=J[J[d+48>>2]+24>>2]+P(J[d+56>>2],28)|0;h=N[c+4>>2];g=N[c+12>>2];N[b+40>>2]=Q(N[c>>2]+N[c+8>>2])*Q(.5);N[b+44>>2]=Q(h+g)*Q(.5);c=J[f+24>>2]+P(j,28)|0;h=N[c+4>>2];g=N[c+12>>2];N[b+56>>2]=Q(N[c>>2]+N[c+8>>2])*Q(.5);N[b+60>>2]=Q(h+g)*Q(.5);c=J[a+102980>>2];Na[J[J[c>>2]+24>>2]](c,b+40|0,b+56|0,b);d=J[d+12>>2];if(d){continue}break}}n:{if(!(p&4)){break n}J[b+48>>2]=1063675494;J[b+52>>2]=1065353216;J[b+40>>2]=1063675494;J[b+44>>2]=1050253722;c=J[a+102948>>2];if(!c){break n}while(1){o:{if(!(K[c+4|0]&32)){break o}d=J[c+100>>2];if(!d){break o}while(1){if(J[d+28>>2]>0){j=0;while(1){f=J[a+102872>>2]+P(J[(J[d+24>>2]+P(j,28)|0)+24>>2],40)|0;h=N[f+4>>2];g=N[f+8>>2];k=N[f>>2];i=N[f+12>>2];N[b+28>>2]=i;N[b+24>>2]=k;N[b+20>>2]=i;N[b+16>>2]=g;N[b+12>>2]=h;N[b+8>>2]=g;N[b+4>>2]=h;N[b>>2]=k;f=J[a+102980>>2];Na[J[J[f>>2]+8>>2]](f,b,4,b+40|0);j=j+1|0;if((j|0) >2]){continue}break}}d=J[d+4>>2];if(d){continue}break}}c=J[c+96>>2];if(c){continue}break}}if(!(p&16)){break a}d=J[a+102948>>2];if(!d){break a}while(1){c=J[d+24>>2];J[b+8>>2]=J[d+20>>2];J[b+12>>2]=c;c=J[d+16>>2];J[b>>2]=J[d+12>>2];J[b+4>>2]=c;c=J[d+48>>2];J[b>>2]=J[d+44>>2];J[b+4>>2]=c;c=J[a+102980>>2];Na[J[J[c>>2]+28>>2]](c,b);d=J[d+96>>2];if(d){continue}break}}La=b- -64|0}function fc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+52>>2]=0;b=J[a+40>>2];a:{if((b|0)<=0){break a}while(1){f=J[J[a+32>>2]+(i<<2)>>2];J[a+56>>2]=f;if((f|0)!=-1){h=J[a+4>>2]+P(f,40)|0;d=La-1040|0;La=d;J[d+1036>>2]=256;f=d+8|0;J[d+4>>2]=f;J[d+8>>2]=J[a>>2];b=f;c=1;while(1){b:{c=c-1|0;J[d+1032>>2]=c;g=J[(c<<2)+b>>2];c:{if((g|0)==-1){break c}e=J[a+4>>2]+P(g,40)|0;if(Q(N[h>>2]-N[e+8>>2])>Q(0)|Q(N[h+4>>2]-N[e+12>>2])>Q(0)|(Q(N[e>>2]-N[h+8>>2])>Q(0)|Q(N[e+4>>2]-N[h+12>>2])>Q(0))){break c}if(J[e+24>>2]==-1){c=J[a+56>>2];if(!((g|0)==(c|0)|(K[(J[a+4>>2]+P(g,40)|0)+36|0]?(c|0)<(g|0):0))){b=J[a+52>>2];if((b|0)==J[a+48>>2]){c=(b>>1)+b|0;J[a+48>>2]=c;b=J[a+44>>2];c=fb(c<<3);J[a+44>>2]=c;rb(c,b,J[a+52>>2]<<3);ab(b);c=J[a+56>>2];b=J[a+52>>2]}e=J[a+44>>2]+(b<<3)|0;J[e+4>>2]=(c|0)<(g|0)?g:c;J[e>>2]=(c|0)>(g|0)?g:c;J[a+52>>2]=b+1}b=J[d+4>>2];c=J[d+1032>>2];if((c|0)>0){continue}break b}d:{if(J[d+1036>>2]!=(c|0)){break d}J[d+1036>>2]=c<<1;c=fb(c<<3);J[d+4>>2]=c;rb(c,b,J[d+1032>>2]<<2);if((b|0)==(f|0)){break d}ab(b)}b=J[d+4>>2];J[b+(J[d+1032>>2]<<2)>>2]=J[e+24>>2];c=J[d+1032>>2]+1|0;J[d+1032>>2]=c;e:{if((c|0)!=J[d+1036>>2]){break e}J[d+1036>>2]=c<<1;c=fb(c<<3);J[d+4>>2]=c;rb(c,b,J[d+1032>>2]<<2);if((b|0)==(f|0)){break e}ab(b)}b=J[d+4>>2];J[b+(J[d+1032>>2]<<2)>>2]=J[e+28>>2];c=J[d+1032>>2]+1|0;J[d+1032>>2]=c}if((c|0)>0){continue}}break}if((b|0)!=(f|0)){ab(b)}La=d+1040|0;b=J[a+40>>2]}i=i+1|0;if((i|0)<(b|0)){continue}break}if(J[a+52>>2]>0){i=0;while(1){d=J[a+4>>2];f=J[a+44>>2]+(i<<3)|0;c=J[(d+P(J[f>>2],40)|0)+16>>2];b=J[c+16>>2];j=J[b+8>>2];d=J[(d+P(J[f+4>>2],40)|0)+16>>2];f=J[d+16>>2];e=J[f+8>>2];f:{if((j|0)==(e|0)){break f}d=J[d+20>>2];g=J[c+20>>2];c=J[e+112>>2];if(c){while(1){g:{if((j|0)!=J[c>>2]){break g}e=J[c+4>>2];h=J[e+60>>2];k=J[e+56>>2];l=J[e+52>>2];e=J[e+48>>2];if(!((e|0)!=(b|0)|(f|0)!=(l|0)|(g|0)!=(k|0))){if((d|0)==(h|0)){break f}}if((f|0)!=(e|0)|(b|0)!=(l|0)|(d|0)!=(k|0)){break g}if((g|0)==(h|0)){break f}}c=J[c+12>>2];if(c){continue}break}}c=J[a+68>>2];if(c){if(!(Na[J[J[c>>2]+8>>2]](c,b,f)|0)){break f}}c=J[a+76>>2];if(!K[24864]){J[6192]=790;H[24680]=1;J[6169]=791;J[6168]=792;J[6174]=790;J[6180]=793;J[6204]=794;J[6171]=793;H[24776]=1;J[6193]=795;H[24800]=1;J[6199]=796;J[6198]=797;H[24704]=0;J[6175]=795;H[24728]=1;J[6181]=798;H[24824]=1;J[6205]=799;H[24788]=0;J[6196]=800;J[6195]=801;H[24752]=1;J[6187]=800;J[6186]=801;H[24692]=0;J[6172]=798;H[24848]=1;J[6211]=802;J[6210]=803;H[24716]=0;J[6178]=799;J[6177]=794;J[6201]=803;J[6202]=802;H[24812]=0;H[24864]=1}h=(P(J[J[b+12>>2]+4>>2],48)+24672|0)+P(J[J[f+12>>2]+4>>2],12)|0;e=J[h>>2];h:{if(e){if(K[h+8|0]){b=Na[e|0](b,g,f,d,c)|0;break h}b=Na[e|0](f,d,b,g,c)|0}else{b=0}}if(!b){break f}e=J[b+52>>2];f=J[e+8>>2];h=J[b+48>>2];d=J[h+8>>2];J[b+8>>2]=0;c=J[a+60>>2];J[b+12>>2]=c;if(c){J[c+8>>2]=b}J[a+60>>2]=b;J[b+24>>2]=0;J[b+16>>2]=f;J[b+20>>2]=b;c=J[d+112>>2];J[b+28>>2]=c;g=b+16|0;if(c){J[c+8>>2]=g}J[d+112>>2]=g;J[b+40>>2]=0;J[b+32>>2]=d;J[b+36>>2]=b;c=J[f+112>>2];J[b+44>>2]=c;b=b+32|0;if(c){J[c+8>>2]=b}J[f+112>>2]=b;i:{if(K[h+38|0]|K[e+38|0]){break i}if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}if(!J[f>>2]){break i}J[f+144>>2]=0;I[f+4>>1]=L[f+4>>1]|2}J[a+64>>2]=J[a+64>>2]+1}i=i+1|0;if((i|0) >2]){continue}break}b=J[a+40>>2]}if((b|0)<=0){break a}c=b&1;f=J[a+4>>2];d=J[a+32>>2];i=0;if((b|0)!=1){g=b&-2;b=0;while(1){e=i<<2;h=J[e+d>>2];if((h|0)!=-1){H[(f+P(h,40)|0)+36|0]=0}e=J[d+(e|4)>>2];if((e|0)!=-1){H[(f+P(e,40)|0)+36|0]=0}i=i+2|0;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!c){break a}b=J[d+(i<<2)>>2];if((b|0)==-1){break a}H[(f+P(b,40)|0)+36|0]=0}J[a+40>>2]=0}function bd(a,b){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,s=0,t=0,u=0,w=0,y=0,z=0,A=0;o=La-16|0;La=o;s=(C(a),v(2));e=s&2147483647;a:{if(e>>>0<=1305022426){j=+a;d=j*.6366197723675814+6755399441055744+-6755399441055744;r=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;O[b>>3]=r;c=r<-.7853981852531433;if(R(d)<2147483648){e=~~d}else{e=-2147483648}if(c){d=d+-1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e-1|0;break a}if(!(r>.7853981852531433)){break a}d=d+1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e+1|0;break a}if(e>>>0>=2139095040){O[b>>3]=Q(a-a);e=0;break a}c=e;e=(e>>>23|0)-150|0;O[o+8>>3]=(x(2,c-(e<<23)|0),D());t=o+8|0;g=La-560|0;La=g;c=(e-3|0)/24|0;p=(c|0)>0?c:0;i=e+P(p,-24)|0;l=J[3672];if((l|0)>=0){e=l+1|0;c=p;while(1){O[(g+320|0)+(f<<3)>>3]=(c|0)<0?0:+J[(c<<2)+14704>>2];c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}k=i-24|0;e=0;f=(l|0)>0?l:0;while(1){c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;c=(e|0)==(f|0);e=e+1|0;if(!c){continue}break}z=47-i|0;u=48-i|0;A=i-25|0;e=l;b:{while(1){d=O[(e<<3)+g>>3];c=0;f=e;n=(e|0)<=0;if(!n){while(1){m=(g+480|0)+(c<<2)|0;j=d*5.960464477539063e-8;c:{if(R(j)<2147483648){h=~~j;break c}h=-2147483648}j=+(h|0);d=j*-16777216+d;d:{if(R(d)<2147483648){h=~~d;break d}h=-2147483648}J[m>>2]=h;f=f-1|0;d=O[(f<<3)+g>>3]+j;c=c+1|0;if((e|0)!=(c|0)){continue}break}}d=cc(d,k);d=d+V(d*.125)*-8;e:{if(R(d)<2147483648){m=~~d;break e}m=-2147483648}d=d-+(m|0);f:{g:{h:{w=(k|0)<=0;i:{if(!w){f=(e<<2)+g|0;h=J[f+476>>2];c=h>>u;q=f;f=h-(c<>2]=f;m=c+m|0;h=f>>z;break i}if(k){break h}h=J[((e<<2)+g|0)+476>>2]>>23}if((h|0)<=0){break f}break g}h=2;if(d>=.5){break g}h=0;break f}c=0;f=0;if(!n){while(1){q=(g+480|0)+(c<<2)|0;n=J[q>>2];y=16777215;j:{k:{if(f){break k}y=16777216;if(n){break k}f=0;break j}J[q>>2]=y-n;f=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}l:{if(w){break l}c=8388607;m:{switch(A|0){case 1:c=4194303;break;case 0:break m;default:break l}}n=(e<<2)+g|0;J[n+476>>2]=J[n+476>>2]&c}m=m+1|0;if((h|0)!=2){break f}d=1-d;h=2;if(!f){break f}d=d-cc(1,k)}if(d==0){f=0;n:{c=e;if((l|0)>=(e|0)){break n}while(1){c=c-1|0;f=J[(g+480|0)+(c<<2)>>2]|f;if((c|0)>(l|0)){continue}break}if(!f){break n}i=k;while(1){i=i-24|0;e=e-1|0;if(!J[(g+480|0)+(e<<2)>>2]){continue}break}break b}c=1;while(1){f=c;c=c+1|0;if(!J[(g+480|0)+(l-f<<2)>>2]){continue}break}f=e+f|0;while(1){e=e+1|0;O[(g+320|0)+(e<<3)>>3]=J[(e+p<<2)+14704>>2];c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;if((e|0)<(f|0)){continue}break}e=f;continue}break}d=cc(d,24-i|0);o:{if(d>=16777216){k=(g+480|0)+(e<<2)|0;j=d*5.960464477539063e-8;p:{if(R(j)<2147483648){c=~~j;break p}c=-2147483648}d=+(c|0)*-16777216+d;q:{if(R(d)<2147483648){f=~~d;break q}f=-2147483648}J[k>>2]=f;e=e+1|0;break o}if(R(d)<2147483648){c=~~d}else{c=-2147483648}i=k}J[(g+480|0)+(e<<2)>>2]=c}d=cc(1,i);r:{if((e|0)<0){break r}c=e;while(1){f=c;O[(c<<3)+g>>3]=d*+J[(g+480|0)+(c<<2)>>2];c=c-1|0;d=d*5.960464477539063e-8;if(f){continue}break}if((e|0)<0){break r}f=e;while(1){d=0;c=0;i=e-f|0;k=(i|0)>(l|0)?l:i;if((k|0)>=0){while(1){d=O[(c<<3)+17472>>3]*O[(c+f<<3)+g>>3]+d;p=(c|0)!=(k|0);c=c+1|0;if(p){continue}break}}O[(g+160|0)+(i<<3)>>3]=d;c=(f|0)>0;f=f-1|0;if(c){continue}break}}d=0;if((e|0)>=0){while(1){c=e;e=e-1|0;d=d+O[(g+160|0)+(c<<3)>>3];if(c){continue}break}}O[o>>3]=h?-d:d;La=g+560|0;e=m&7;d=O[o>>3];if((s|0)<0){O[b>>3]=-d;e=0-e|0;break a}O[b>>3]=d}La=o+16|0;return e}function ed(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0;g=N[a+48>>2];h=N[a+68>>2];n=Q(Q(d*Q(N[a+72>>2]-h))+h);h=_a(n);m=N[a+44>>2];n=Za(n);q=N[a+56>>2];x=Q(Q(q+Q(Q(N[a- -64>>2]-q)*d))-Q(Q(n*m)+Q(g*h)));q=N[a+52>>2];u=Q(Q(q+Q(Q(N[a+60>>2]-q)*d))-Q(Q(h*m)-Q(g*n)));q=N[a+12>>2];g=N[a+32>>2];m=Q(Q(d*Q(N[a+36>>2]-g))+g);g=_a(m);r=N[a+8>>2];m=Za(m);i=N[a+20>>2];y=Q(Q(i+Q(Q(N[a+28>>2]-i)*d))-Q(Q(m*r)+Q(q*g)));i=N[a+16>>2];v=Q(Q(i+Q(Q(N[a+24>>2]-i)*d))-Q(Q(g*r)-Q(q*m)));w=Q(-n);q=Q(-m);a:{switch(J[a+80>>2]){case 0:r=N[a+92>>2];i=N[a+96>>2];e=J[a>>2];o=J[e+16>>2];j=J[e+20>>2];b:{if((j|0)<2){break b}k=Q(Q(g*r)+Q(m*i));p=Q(Q(q*r)+Q(g*i));d=Q(Q(N[o>>2]*k)+Q(p*N[o+4>>2]));e=1;f=j-1|0;C=f&1;c:{if((j|0)==2){f=0;break c}B=f&-2;f=0;j=0;while(1){s=o+(e<<3)|0;z=Q(Q(N[s>>2]*k)+Q(p*N[s+4>>2]));s=z>d;D=e+1|0;t=o+(D<<3)|0;A=Q(Q(N[t>>2]*k)+Q(p*N[t+4>>2]));d=s?z:d;t=A>d;d=t?A:d;f=t?D:s?e:f;e=e+2|0;j=j+2|0;if((B|0)!=(j|0)){continue}break}}if(!C){break b}j=e;e=o+(e<<3)|0;f=Q(Q(N[e>>2]*k)+Q(p*N[e+4>>2]))>d?j:f}J[b>>2]=f;a=J[a+4>>2];e=J[a+16>>2];f=J[a+20>>2];d:{if((f|0)<2){break d}k=Q(Q(h*Q(-r))-Q(n*i));p=Q(Q(n*r)-Q(h*i));d=Q(Q(N[e>>2]*k)+Q(p*N[e+4>>2]));a=1;l=f-1|0;t=l&1;e:{if((f|0)==2){l=0;break e}C=l&-2;l=0;f=0;while(1){j=e+(a<<3)|0;z=Q(Q(N[j>>2]*k)+Q(p*N[j+4>>2]));j=z>d;B=a+1|0;s=e+(B<<3)|0;A=Q(Q(N[s>>2]*k)+Q(p*N[s+4>>2]));d=j?z:d;s=A>d;d=s?A:d;l=s?B:j?a:l;a=a+2|0;f=f+2|0;if((C|0)!=(f|0)){continue}break}}if(!t){break d}j=a;a=e+(a<<3)|0;l=Q(Q(N[a>>2]*k)+Q(p*N[a+4>>2]))>d?j:l}J[c>>2]=l;k=u;a=e+(l<<3)|0;d=N[a>>2];u=N[a+4>>2];p=Q(k+Q(Q(h*d)+Q(u*w)));k=v;a=o+(J[b>>2]<<3)|0;w=N[a>>2];v=N[a+4>>2];return Q(Q(Q(p-Q(k+Q(Q(g*w)+Q(v*q))))*r)+Q(i*Q(Q(x+Q(Q(n*d)+Q(h*u)))-Q(y+Q(Q(m*w)+Q(g*v))))));case 1:d=N[a+88>>2];i=N[a+96>>2];k=N[a+84>>2];p=N[a+92>>2];J[b>>2]=-1;r=Q(Q(m*p)+Q(g*i));i=Q(Q(g*p)+Q(i*q));y=Q(y+Q(Q(m*k)+Q(g*d)));q=Q(v+Q(Q(g*k)+Q(d*q)));a=J[a+4>>2];b=J[a+16>>2];f=J[a+20>>2];f:{if((f|0)<2){break f}g=Q(Q(h*Q(-i))-Q(n*r));m=Q(Q(n*i)-Q(h*r));d=Q(Q(N[b>>2]*g)+Q(m*N[b+4>>2]));a=1;e=f-1|0;j=e&1;g:{if((f|0)==2){e=0;break g}s=e&-2;e=0;f=0;while(1){l=b+(a<<3)|0;v=Q(Q(N[l>>2]*g)+Q(m*N[l+4>>2]));l=v>d;t=a+1|0;o=b+(t<<3)|0;k=Q(Q(N[o>>2]*g)+Q(m*N[o+4>>2]));d=l?v:d;o=k>d;d=o?k:d;e=o?t:l?a:e;a=a+2|0;f=f+2|0;if((s|0)!=(f|0)){continue}break}}if(!j){break f}j=a;a=b+(a<<3)|0;e=Q(Q(N[a>>2]*g)+Q(m*N[a+4>>2]))>d?j:e}J[c>>2]=e;a=b+(e<<3)|0;d=N[a>>2];g=N[a+4>>2];return Q(Q(Q(Q(u+Q(Q(h*d)+Q(g*w)))-q)*i)+Q(r*Q(Q(x+Q(Q(n*d)+Q(h*g)))-y)));case 2:d=N[a+88>>2];i=N[a+96>>2];k=N[a+84>>2];p=N[a+92>>2];J[c>>2]=-1;r=Q(Q(n*p)+Q(h*i));i=Q(Q(h*p)+Q(i*w));x=Q(x+Q(Q(n*k)+Q(h*d)));w=Q(u+Q(Q(h*k)+Q(d*w)));a=J[a>>2];c=J[a+16>>2];f=J[a+20>>2];h:{if((f|0)<2){break h}h=Q(Q(g*Q(-i))-Q(m*r));n=Q(Q(m*i)-Q(g*r));d=Q(Q(N[c>>2]*h)+Q(n*N[c+4>>2]));a=1;e=f-1|0;j=e&1;i:{if((f|0)==2){e=0;break i}s=e&-2;e=0;f=0;while(1){l=c+(a<<3)|0;u=Q(Q(N[l>>2]*h)+Q(n*N[l+4>>2]));l=u>d;t=a+1|0;o=c+(t<<3)|0;k=Q(Q(N[o>>2]*h)+Q(n*N[o+4>>2]));d=l?u:d;o=k>d;d=o?k:d;e=o?t:l?a:e;a=a+2|0;f=f+2|0;if((s|0)!=(f|0)){continue}break}}if(!j){break h}j=a;a=c+(a<<3)|0;e=Q(Q(N[a>>2]*h)+Q(n*N[a+4>>2]))>d?j:e}J[b>>2]=e;a=c+(e<<3)|0;d=N[a>>2];h=N[a+4>>2];return Q(Q(Q(Q(v+Q(Q(g*d)+Q(h*q)))-w)*i)+Q(r*Q(Q(y+Q(Q(m*d)+Q(g*h)))-x)));default:break a}}J[b>>2]=-1;J[c>>2]=-1;return Q(0)}function id(a){var b=Q(0),c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=0,F=0,G=Q(0),H=0,I=0,L=0,M=0,O=Q(0),R=Q(0);if(J[a+48>>2]>0){q=J[a+28>>2];I=K[23752];while(1){c=J[a+40>>2]+P(F,156)|0;G=N[c+132>>2];A=N[c+124>>2];g=N[c+128>>2];B=N[c+120>>2];l=N[c+72>>2];i=N[c+76>>2];H=P(J[c+116>>2],12);j=H+q|0;o=N[j+8>>2];r=N[j+4>>2];s=N[j>>2];L=P(J[c+112>>2],12);C=L+q|0;b=N[C+8>>2];t=N[C+4>>2];u=N[C>>2];E=J[c+148>>2];M=(E|0)<=0;a:{b:{if(!M){v=N[c+136>>2];d=Q(-l);k=N[c+144>>2];h=Q(-g);q=0;while(1){j=c+P(q,36)|0;e=Q(v*N[j+16>>2]);f=Q(-e);w=N[j+20>>2];n=N[j+12>>2];m=N[j+4>>2];x=N[j+8>>2];y=N[j>>2];z=Q(w-Q(N[j+28>>2]*Q(Q(Q(Q(Q(Q(s-Q(o*n))-u)+Q(b*m))*i)+Q(Q(Q(Q(r+Q(o*x))-t)-Q(b*y))*d))-k)));e=e>z?z:e;e=e >2]=e;f=Q(e-w);e=Q(f*d);f=Q(i*f);o=Q(Q(G*Q(Q(x*e)-Q(n*f)))+o);b=Q(Q(h*Q(Q(y*e)-Q(f*m)))+b);r=Q(r+Q(A*e));s=Q(s+Q(A*f));t=Q(t-Q(B*e));u=Q(u-Q(B*f));q=q+1|0;if((E|0)!=(q|0)){continue}break}if(I?(E|0)!=1:0){break b}if(M){break a}q=0;while(1){j=c+P(q,36)|0;e=N[j+16>>2];f=N[j+12>>2];g=N[j+4>>2];d=N[j+8>>2];v=N[j>>2];k=Q(e-Q(N[j+24>>2]*Q(Q(Q(Q(Q(Q(s-Q(o*f))-u)+Q(b*g))*l)+Q(i*Q(Q(Q(r+Q(o*d))-t)-Q(b*v))))-N[j+32>>2])));k=k>Q(0)?k:Q(0);N[j+16>>2]=k;m=d;d=Q(k-e);e=Q(i*d);p=f;f=Q(l*d);o=Q(Q(G*Q(Q(m*e)-Q(p*f)))+o);b=Q(Q(h*Q(Q(v*e)-Q(f*g)))+b);r=Q(r+Q(A*e));s=Q(s+Q(A*f));t=Q(t-Q(B*e));u=Q(u-Q(B*f));q=q+1|0;if((E|0)!=(q|0)){continue}break}break a}if(!I){break a}}c:{d:{v=N[c+12>>2];k=N[c+4>>2];w=N[c+8>>2];n=N[c>>2];d=N[c+16>>2];h=N[c+52>>2];O=N[c+104>>2];m=Q(Q(Q(Q(Q(Q(Q(s-Q(o*v))-u)+Q(b*k))*l)+Q(i*Q(Q(Q(r+Q(o*w))-t)-Q(b*n))))-N[c+32>>2])-Q(Q(N[c+96>>2]*d)+Q(h*O)));x=N[c+48>>2];y=N[c+40>>2];z=N[c+44>>2];D=N[c+36>>2];f=N[c+100>>2];p=Q(Q(Q(Q(Q(Q(Q(s-Q(o*x))-u)+Q(b*y))*l)+Q(i*Q(Q(Q(r+Q(o*z))-t)-Q(b*D))))-N[c+68>>2])-Q(Q(f*d)+Q(h*N[c+108>>2])));e=Q(Q(N[c+80>>2]*m)+Q(N[c+88>>2]*p));if(!(e<=Q(0))){break d}R=Q(Q(N[c+84>>2]*m)+Q(p*N[c+92>>2]));if(!(R<=Q(0))){break d}m=b;p=g;e=Q(-e);b=Q(e-d);g=Q(i*b);d=Q(l*b);n=Q(Q(n*g)-Q(d*k));f=Q(-R);b=Q(f-h);h=Q(i*b);k=Q(l*b);b=Q(m-Q(p*Q(n+Q(Q(D*h)-Q(k*y)))));i=Q(g+h);l=Q(d+k);g=Q(Q(w*g)-Q(d*v));d=Q(Q(z*h)-Q(k*x));break c}e=Q(m*Q(-N[c+24>>2]));if(!(!(e>=Q(0))|!(Q(Q(f*e)+p)>=Q(0)))){f=Q(0);m=b;p=g;b=Q(Q(0)-h);g=Q(i*b);h=Q(l*b);b=Q(e-d);d=Q(i*b);i=Q(n*d);n=Q(l*b);b=Q(m-Q(p*Q(Q(Q(D*g)-Q(h*y))+Q(i-Q(n*k)))));i=Q(g+d);l=Q(h+n);g=Q(Q(z*g)-Q(h*x));d=Q(Q(w*d)-Q(n*v));break c}f=Q(p*Q(-N[c+60>>2]));if(!(!(f>=Q(0))|!(Q(Q(O*f)+m)>=Q(0)))){e=Q(0);m=b;p=g;b=Q(Q(0)-d);g=Q(i*b);d=Q(l*b);n=Q(Q(n*g)-Q(d*k));b=Q(f-h);h=Q(i*b);k=Q(l*b);b=Q(m-Q(p*Q(n+Q(Q(D*h)-Q(k*y)))));i=Q(g+h);l=Q(d+k);g=Q(Q(w*g)-Q(d*v));d=Q(Q(z*h)-Q(k*x));break c}if(!(m>=Q(0))|!(p>=Q(0))){break a}e=Q(0);m=b;p=g;b=Q(Q(0)-d);f=Q(i*b);g=Q(l*b);b=Q(Q(0)-h);d=Q(i*b);h=Q(l*b);b=Q(m-Q(p*Q(Q(Q(n*f)-Q(g*k))+Q(Q(D*d)-Q(h*y)))));i=Q(f+d);l=Q(g+h);g=Q(Q(w*f)-Q(g*v));f=Q(0);d=Q(Q(z*d)-Q(h*x))}N[c+52>>2]=f;N[c+16>>2]=e;s=Q(s+Q(A*l));r=Q(r+Q(A*i));u=Q(u-Q(B*l));t=Q(t-Q(B*i));o=Q(Q(G*Q(g+d))+o)}N[C+4>>2]=t;N[C>>2]=u;c=J[a+28>>2];N[(c+L|0)+8>>2]=b;c=c+H|0;N[c+4>>2]=r;N[c>>2]=s;q=J[a+28>>2];N[(H+q|0)+8>>2]=o;F=F+1|0;if((F|0) >2]){continue}break}}}function wh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=0,_=0,$=Q(0),aa=Q(0);l=J[a+48>>2];C=J[l+8>>2];J[a+160>>2]=C;m=J[a+52>>2];r=J[m+8>>2];J[a+164>>2]=r;k=J[a+84>>2];Z=J[k+8>>2];J[a+168>>2]=Z;c=J[a+88>>2];_=J[c+8>>2];J[a+172>>2]=_;D=N[l+32>>2];e=J[l+32>>2];i=N[l+28>>2];J[a+176>>2]=J[l+28>>2];J[a+180>>2]=e;e=J[m+32>>2];J[a+184>>2]=J[m+28>>2];J[a+188>>2]=e;w=N[k+32>>2];e=J[k+32>>2];n=N[k+28>>2];J[a+192>>2]=J[k+28>>2];J[a+196>>2]=e;$=N[c+32>>2];e=J[c+32>>2];aa=N[c+28>>2];J[a+200>>2]=J[c+28>>2];J[a+204>>2]=e;E=N[l+120>>2];N[a+208>>2]=E;F=N[m+120>>2];N[a+212>>2]=F;G=N[k+120>>2];N[a+216>>2]=G;H=N[c+120>>2];N[a+220>>2]=H;x=N[l+128>>2];N[a+224>>2]=x;y=N[m+128>>2];N[a+228>>2]=y;z=N[k+128>>2];N[a+232>>2]=z;A=N[c+128>>2];N[a+236>>2]=A;l=J[a+76>>2];c=J[b+28>>2];k=P(_,12);e=c+k|0;I=N[e+8>>2];L=N[e+4>>2];M=N[e>>2];m=P(Z,12);e=m+c|0;O=N[e+8>>2];R=N[e+4>>2];S=N[e>>2];r=P(r,12);e=r+c|0;T=N[e+8>>2];U=N[e+4>>2];V=N[e>>2];e=P(C,12);c=e+c|0;W=N[c+8>>2];X=N[c+4>>2];Y=N[c>>2];c=J[b+24>>2];d=N[(c+r|0)+8>>2];f=N[(c+k|0)+8>>2];h=_a(f);g=Za(f);s=_a(d);t=Za(d);a:{if((l|0)==1){o=Q(1);j=Q(1);d=Q(x+z);break a}p=N[a+96>>2];d=N[(c+e|0)+8>>2];o=_a(d);B=N[a+92>>2];j=Za(d);q=N[a+128>>2];i=Q(B-i);p=Q(p-D);f=N[(c+m|0)+8>>2];d=Za(f);u=N[a+124>>2];f=_a(f);v=Q(Q(d*u)+Q(q*f));q=Q(Q(f*u)-Q(q*d));o=Q(Q(Q(Q(o*i)-Q(j*p))*v)-Q(q*Q(Q(j*i)+Q(o*p))));j=Q(N[a+108>>2]-n);i=Q(N[a+112>>2]-w);j=Q(Q(Q(Q(f*j)-Q(d*i))*v)-Q(q*Q(Q(d*j)+Q(f*i))));d=Q(Q(Q(x*o)*o)+Q(Q(Q(z*j)*j)+Q(E+G)))}N[a+264>>2]=j;N[a+256>>2]=o;N[a+240>>2]=q;N[a+244>>2]=v;i=Q(0);n=Q(d+Q(0));b:{if(J[a+80>>2]==1){J[a+248>>2]=0;d=N[a+152>>2];g=Q(Q(Q(d*d)*Q(y+A))+n);h=d;f=Q(0);break b}d=N[a+132>>2];B=N[a+136>>2];p=Q(Q(h*d)-Q(B*g));f=N[a+152>>2];i=Q(p*f);N[a+248>>2]=i;D=n;u=Q(N[a+100>>2]-N[a+184>>2]);w=Q(N[a+104>>2]-N[a+188>>2]);n=Q(Q(g*d)+Q(h*B));d=Q(f*Q(Q(Q(Q(s*u)-Q(w*t))*n)-Q(p*Q(Q(t*u)+Q(s*w)))));s=Q(N[a+116>>2]-aa);t=Q(N[a+120>>2]-$);h=Q(f*Q(Q(Q(Q(h*s)-Q(t*g))*n)-Q(p*Q(Q(g*s)+Q(h*t)))));g=Q(D+Q(Q(Q(y*d)*d)+Q(Q(Q(f*f)*Q(F+H))+Q(h*Q(A*h)))));f=Q(n*f)}N[a+268>>2]=h;N[a+260>>2]=d;N[a+252>>2]=f;N[a+272>>2]=g>Q(0)?Q(Q(1)/g):Q(0);c:{if(K[b+20|0]){g=N[a+156>>2];I=Q(I-Q(Q(g*A)*h));h=Q(H*g);L=Q(L-Q(h*f));M=Q(M-Q(h*i));O=Q(O-Q(Q(g*z)*j));h=Q(G*g);R=Q(R-Q(h*v));S=Q(S-Q(q*h));T=Q(Q(Q(y*g)*d)+T);d=Q(F*g);U=Q(U+Q(d*f));V=Q(V+Q(d*i));W=Q(Q(Q(x*g)*o)+W);d=Q(E*g);X=Q(X+Q(d*v));Y=Q(Y+Q(q*d));break c}J[a+156>>2]=0}c=J[b+28>>2]+P(C,12)|0;N[c+4>>2]=X;N[c>>2]=Y;c=J[b+28>>2];N[(c+P(J[a+160>>2],12)|0)+8>>2]=W;c=c+P(J[a+164>>2],12)|0;N[c+4>>2]=U;N[c>>2]=V;c=J[b+28>>2];N[(c+P(J[a+164>>2],12)|0)+8>>2]=T;c=c+P(J[a+168>>2],12)|0;N[c+4>>2]=R;N[c>>2]=S;c=J[b+28>>2];N[(c+P(J[a+168>>2],12)|0)+8>>2]=O;c=c+P(J[a+172>>2],12)|0;N[c+4>>2]=L;N[c>>2]=M;N[(J[b+28>>2]+P(J[a+172>>2],12)|0)+8>>2]=I}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0 >>0<=255){e=b>>>3|0;b=J[d+12>>2];c=J[d+8>>2];if((b|0)==(c|0)){i=26156,j=J[6539]&nl(e),J[i>>2]=j;break b}J[c+12>>2]=b;J[b+8>>2]=c;break b}g=J[d+24>>2];b=J[d+12>>2];if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}e=d+20|0;c=J[e>>2];if(!c){c=J[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break c}b=J[f+4>>2];if((b&3)!=3){break b}J[6541]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[f>>2]=a;return}b=0}if(!g){break b}c=J[d+28>>2];e=(c<<2)+26460|0;e:{if(J[e>>2]==(d|0)){J[e>>2]=b;if(b){break e}i=26160,j=J[6540]&nl(c),J[i>>2]=j;break b}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=g;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(J[6545]==(f|0)){J[6545]=d;a=J[6542]+a|0;J[6542]=a;J[d+4>>2]=a|1;if(J[6544]!=(d|0)){break a}J[6541]=0;J[6544]=0;return}if(J[6544]==(f|0)){J[6544]=d;a=J[6541]+a|0;J[6541]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=J[f+12>>2];c=J[f+8>>2];if((b|0)==(c|0)){i=26156,j=J[6539]&nl(e),J[i>>2]=j;break g}J[c+12>>2]=b;J[b+8>>2]=c;break g}g=J[f+24>>2];b=J[f+12>>2];if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}e=f+20|0;c=J[e>>2];if(!c){c=J[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break h}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;break f}b=0}if(!g){break g}c=J[f+28>>2];e=(c<<2)+26460|0;j:{if(J[e>>2]==(f|0)){J[e>>2]=b;if(b){break j}i=26160,j=J[6540]&nl(c),J[i>>2]=j;break g}J[g+(J[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=g;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[6544]!=(d|0)){break f}J[6541]=a;return}if(a>>>0<=255){b=(a&-8)+26196|0;c=J[6539];a=1<<(a>>>3);k:{if(!(c&a)){J[6539]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=S(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=c;J[d+16>>2]=0;J[d+20>>2]=0;b=(c<<2)+26460|0;l:{m:{e=J[6540];h=1< >2]=d;J[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=J[b>>2];while(1){e=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=J[h+16>>2];if(b){continue}break}J[h+16>>2]=d;J[d+24>>2]=e}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[e+8>>2];J[a+12>>2]=d;J[e+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=e;J[d+8>>2]=a}a=J[6547]-1|0;J[6547]=a?a:-1}}function Sf(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0);c=J[a+48>>2];A=J[c+8>>2];J[a+152>>2]=A;m=J[a+52>>2];s=J[m+8>>2];J[a+156>>2]=s;H=N[c+32>>2];h=J[c+32>>2];d=N[c+28>>2];J[a+160>>2]=J[c+28>>2];J[a+164>>2]=h;I=N[m+32>>2];w=J[m+32>>2];o=N[m+28>>2];h=J[m+28>>2];J[a+168>>2]=h;J[a+172>>2]=w;x=N[c+120>>2];N[a+176>>2]=x;y=N[m+120>>2];N[a+180>>2]=y;t=N[c+128>>2];N[a+184>>2]=t;u=N[m+128>>2];N[a+188>>2]=u;k=N[a+96>>2];m=J[b+24>>2];c=P(A,12);h=m+c|0;g=N[h+8>>2];e=_a(g);j=N[a+92>>2];g=Za(g);w=J[b+28>>2];c=c+w|0;B=N[c>>2];C=N[c+4>>2];D=N[c+8>>2];s=P(s,12);c=s+w|0;E=N[c>>2];F=N[c+4>>2];G=N[c+8>>2];l=N[h>>2];c=m+s|0;q=N[c>>2];p=N[h+4>>2];L=N[c+4>>2];M=N[a+72>>2];n=N[c+8>>2];f=N[a+80>>2];O=N[a+68>>2];i=N[a+76>>2];r=Q(Q(g*j)+Q(e*k));N[a+204>>2]=r;z=Q(Q(e*j)-Q(k*g));N[a+200>>2]=z;j=N[a+84>>2];v=N[a+88>>2];k=Q(Q(g*j)+Q(e*v));N[a+196>>2]=k;j=Q(Q(e*j)-Q(v*g));N[a+192>>2]=j;v=_a(n);o=Q(i-o);i=Q(f-I);n=Za(n);f=Q(Q(v*o)-Q(i*n));i=Q(Q(n*o)+Q(v*i));n=Q(Q(f*r)-Q(z*i));N[a+220>>2]=n;o=Q(Q(f*k)-Q(j*i));N[a+212>>2]=o;f=Q(Q(q+f)-l);d=Q(O-d);l=Q(M-H);q=Q(Q(e*d)-Q(g*l));f=Q(f-q);g=Q(Q(g*d)+Q(e*l));e=Q(Q(Q(L+i)-p)-g);i=Q(q+f);d=Q(g+e);g=Q(Q(i*r)-Q(z*d));N[a+216>>2]=g;i=Q(Q(i*k)-Q(j*d));N[a+208>>2]=i;l=Q(x+y);d=Q(Q(Q(u*n)*n)+Q(Q(Q(t*g)*g)+l));N[a+224>>2]=d>Q(0)?Q(Q(1)/d):d;a:{b:{d=Q(Q(Q(u*o)*o)+Q(Q(Q(t*i)*i)+l));if(!(d>Q(0))){J[a+232>>2]=0;J[a+236>>2]=0;J[a+240>>2]=0;J[a+244>>2]=0;break b}J[a+244>>2]=0;J[a+236>>2]=0;J[a+240>>2]=0;N[a+232>>2]=Q(1)/d;l=N[a+144>>2];if(!(l>Q(0))){break b}q=N[b>>2];p=Q(q*Q(Q(q*l)+N[a+148>>2]));p=p>Q(0)?Q(Q(1)/p):p;N[a+244>>2]=p;N[a+240>>2]=Q(l*Q(q*Q(Q(f*j)+Q(e*k))))*p;d=Q(d+p);N[a+236>>2]=d>Q(0)?Q(Q(1)/d):d;break a}J[a+108>>2]=0}c:{if(K[a+140|0]){N[a+120>>2]=Q(j*f)+Q(e*k);break c}J[a+112>>2]=0;J[a+116>>2]=0}d:{if(K[a+141|0]){e=Q(t+u);N[a+228>>2]=e;if(!(e>Q(0))){break d}N[a+228>>2]=Q(1)/e;break d}J[a+104>>2]=0;J[a+228>>2]=0}e:{if(K[b+20|0]){f=N[b+8>>2];e=Q(f*N[a+100>>2]);N[a+100>>2]=e;d=Q(f*N[a+108>>2]);N[a+108>>2]=d;f=Q(f*N[a+104>>2]);N[a+104>>2]=f;l=k;k=Q(Q(d+N[a+112>>2])-N[a+116>>2]);r=Q(Q(r*e)+Q(l*k));F=Q(F+Q(y*r));j=Q(Q(z*e)+Q(j*k));E=Q(E+Q(y*j));C=Q(C-Q(x*r));B=Q(B-Q(x*j));G=Q(Q(u*Q(f+Q(Q(e*n)+Q(o*k))))+G);D=Q(D-Q(t*Q(f+Q(Q(e*g)+Q(i*k)))));break e}J[a+100>>2]=0;J[a+104>>2]=0;J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0}h=J[b+28>>2]+P(A,12)|0;N[h+4>>2]=C;N[h>>2]=B;h=J[b+28>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=D;h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=F;N[h>>2]=E;N[(J[b+28>>2]+P(J[a+156>>2],12)|0)+8>>2]=G}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),K=0,L=0,M=Q(0),O=Q(0),R=0,S=0;g=J[J[a+48>>2]+12>>2];a=J[J[a+52>>2]+12>>2];f=La-96|0;La=f;l=b;J[b+60>>2]=0;e=N[a+8>>2];k=N[g+8>>2];J[f+92>>2]=0;r=Q(k+e);e=wd(f+92|0,g,c,a,d);a:{if(r >2]=0;k=wd(f+88|0,a,d,g,c);if(k>r){break a}B=k>Q(e+Q(.0005000000237487257));b:{if(B){n=2;b=c;c=g;g=f+88|0;break b}n=1;b=d;d=c;c=a;a=g;g=f+92|0}v=N[b>>2];w=N[b+4>>2];F=N[d>>2];G=N[d+4>>2];k=N[b+12>>2];p=N[b+8>>2];h=N[d+12>>2];m=N[d+8>>2];s=J[g>>2];J[l+56>>2]=n;K=s<<3;x=Q(-p);d=0;n=J[c+148>>2];c:{if((n|0)<=0){break c}b=a+K|0;e=N[b+84>>2];i=N[b+88>>2];j=Q(Q(m*e)+Q(h*i));e=Q(Q(h*e)-Q(i*m));i=Q(Q(k*j)-Q(p*e));j=Q(Q(k*e)+Q(p*j));C=c+84|0;R=n&1;d:{if((n|0)==1){e=Q(34028234663852886e22);g=0;break d}S=n&-2;e=Q(34028234663852886e22);g=0;b=0;while(1){t=(g<<3)+C|0;o=Q(Q(j*N[t>>2])+Q(i*N[t+4>>2]));t=o >2])+Q(i*N[u+4>>2]));e=t?o:e;u=q >2])+Q(i*N[b+4>>2])) >2];i=N[c+4>>2];I[f+74>>1]=1;H[f+73|0]=d;H[f+72|0]=s;N[f+68>>2]=w+Q(Q(p*e)+Q(k*i));N[f+64>>2]=v+Q(Q(k*e)+Q(i*x));c=d+1|0;c=(c|0)<(n|0)?c:0;b=b+(c<<3)|0;e=N[b>>2];i=N[b+4>>2];H[f+84|0]=s;N[f+80>>2]=w+Q(Q(p*e)+Q(k*i));I[f+86>>1]=1;H[f+85|0]=c;N[f+76>>2]=v+Q(Q(k*e)+Q(i*x));b=s+1|0;b=(b|0) >2]?b:0;a=a+20|0;c=(b<<3)+a|0;q=N[c>>2];a=a+K|0;y=N[a>>2];e=Q(q-y);z=N[c+4>>2];A=N[a+4>>2];i=Q(z-A);j=Q(Y(Q(Q(e*e)+Q(i*i))));if(!(j >2]=j;D=Q(-m);o=Q(Q(h*e)+Q(i*D));N[f+56>>2]=o;N[f+4>>2]=-j;E=Q(-o);N[f>>2]=E;M=Q(F+Q(Q(h*y)+Q(A*D)));O=Q(G+Q(Q(m*y)+Q(h*A)));if((hc(f+32|0,f- -64|0,f,Q(r-Q(Q(o*M)+Q(O*j))),s)|0)<2){break a}if((hc(f,f+32|0,f+56|0,Q(r+Q(Q(o*Q(F+Q(Q(h*q)+Q(z*D))))+Q(Q(G+Q(Q(m*q)+Q(h*z)))*j))),b)|0)<2){break a}N[l+48>>2]=Q(y+q)*Q(.5);N[l+40>>2]=i;N[l+52>>2]=Q(A+z)*Q(.5);N[l+44>>2]=-e;g=0;e=N[f>>2];h=N[f+4>>2];m=Q(Q(j*M)-Q(O*o));e:{if(!(Q(Q(Q(j*e)+Q(h*E))-m)<=r)){break e}e=Q(e-v);h=Q(h-w);N[l+4>>2]=Q(x*e)+Q(k*h);N[l>>2]=Q(k*e)+Q(p*h);a=J[f+8>>2];J[l+16>>2]=a;g=1;if(!B){break e}H[l+17|0]=a;H[l+19|0]=a>>>16;H[l+18|0]=a>>>24;H[l+16|0]=a>>>8}e=N[f+12>>2];h=N[f+16>>2];if(Q(Q(Q(j*e)+Q(h*E))-m)<=r){a=P(g,20)+l|0;e=Q(e-v);h=Q(h-w);N[a+4>>2]=Q(x*e)+Q(k*h);N[a>>2]=Q(k*e)+Q(p*h);b=J[f+20>>2];J[a+16>>2]=b;if(B){H[a+17|0]=b;H[a+19|0]=b>>>16;H[a+18|0]=b>>>24;H[a+16|0]=b>>>8}g=g+1|0}J[l+60>>2]=g}La=f+96|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:{g=a+16|0;e=J[g>>2];if(!e){break a}c=g;d=e;while(1){f=M[d+16>>2]>>0;c=f?c:d;d=J[(f?d+4|0:d)>>2];if(d){continue}break}if((c|0)==(g|0)|M[c+16>>2]>b>>>0){break a}b=J[c+4>>2];b:{if(!b){b=c;while(1){d=J[b+8>>2];g=J[d>>2]!=(b|0);b=d;if(g){continue}break}break b}while(1){d=b;b=J[b>>2];if(b){continue}break}}if(J[a+12>>2]==(c|0)){J[a+12>>2]=d}J[a+20>>2]=J[a+20>>2]-1;d=e;g=c;c:{d:{b=c;c=J[b>>2];if(c){a=J[g+4>>2];if(!a){break d}while(1){b=a;a=J[a>>2];if(a){continue}break}}c=J[b+4>>2];if(c){break d}c=0;e=1;break c}J[c+8>>2]=J[b+8>>2];e=0}f=J[b+8>>2];a=J[f>>2];e:{if((b|0)==(a|0)){J[f>>2]=c;if((b|0)==(d|0)){a=0;d=c;break e}a=J[f+4>>2];break e}J[f+4>>2]=c}h=!K[b+12|0];if((b|0)!=(g|0)){f=J[g+8>>2];J[b+8>>2]=f;J[f+(((g|0)!=J[J[g+8>>2]>>2])<<2)>>2]=b;f=J[g>>2];J[b>>2]=f;J[f+8>>2]=b;f=J[g+4>>2];J[b+4>>2]=f;if(f){J[f+8>>2]=b}H[b+12|0]=K[g+12|0];d=(d|0)==(g|0)?b:d}f:{if(h|!d){break f}if(e){while(1){b=K[a+12|0];g:{e=J[a+8>>2];if(J[e>>2]!=(a|0)){if(!b){H[a+12|0]=1;H[e+12|0]=0;c=J[e+4>>2];b=J[c>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c>>2]=e;J[e+8>>2]=c;b=a;a=J[a>>2];d=(a|0)==(d|0)?b:d;a=J[a+4>>2]}h:{i:{b=J[a>>2];j:{if(!(K[b+12|0]?0:b)){c=J[a+4>>2];if(K[c+12|0]?0:c){break j}H[a+12|0]=0;a=J[a+8>>2];k:{if((d|0)==(a|0)){a=d;break k}if(K[a+12|0]){break g}}H[a+12|0]=1;break f}c=J[a+4>>2];if(!c){break i}}if(K[c+12|0]){break i}b=a;break h}H[b+12|0]=1;H[a+12|0]=0;c=J[b+4>>2];J[a>>2]=c;if(c){J[c+8>>2]=a}J[b+8>>2]=J[a+8>>2];c=J[a+8>>2];J[((J[c>>2]!=(a|0))<<2)+c>>2]=b;J[b+4>>2]=a;J[a+8>>2]=b;c=a}d=J[b+8>>2];H[b+12|0]=K[d+12|0];H[d+12|0]=1;H[c+12|0]=1;b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d}J[b+8>>2]=J[d+8>>2];a=J[d+8>>2];J[(((d|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;break f}if(!b){H[a+12|0]=1;H[e+12|0]=0;b=J[a+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[a+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=a;J[a+4>>2]=e;J[e+8>>2]=a;d=(d|0)==(e|0)?a:d;a=J[e>>2]}c=J[a>>2];l:{if(!(!c|K[c+12|0])){b=a;break l}b=J[a+4>>2];if(!(K[b+12|0]?0:b)){H[a+12|0]=0;a=J[a+8>>2];if((a|0)!=(d|0)?K[a+12|0]:0){break g}H[a+12|0]=1;break f}if(c){if(!K[c+12|0]){b=a;break l}b=J[a+4>>2]}H[b+12|0]=1;H[a+12|0]=0;c=J[b>>2];J[a+4>>2]=c;if(c){J[c+8>>2]=a}J[b+8>>2]=J[a+8>>2];c=J[a+8>>2];J[((J[c>>2]!=(a|0))<<2)+c>>2]=b;J[b>>2]=a;J[a+8>>2]=b;c=a}d=J[b+8>>2];H[b+12|0]=K[d+12|0];H[d+12|0]=1;H[c+12|0]=1;b=J[d>>2];a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d}J[b+8>>2]=J[d+8>>2];a=J[d+8>>2];J[(((d|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;break f}b=a;a=J[a+8>>2];a=J[(((b|0)==J[a>>2])<<2)+a>>2];continue}}H[c+12|0]=1}ab(g)}}function Yf(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0;g=La-48|0;La=g;n=J[a+48>>2];B=J[n+8>>2];J[a+116>>2]=B;j=J[a+52>>2];C=J[j+8>>2];J[a+120>>2]=C;o=N[n+32>>2];f=J[n+32>>2];c=N[n+28>>2];k=J[n+28>>2];J[a+140>>2]=k;J[a+144>>2]=f;s=N[j+32>>2];f=J[j+32>>2];l=N[j+28>>2];J[a+148>>2]=J[j+28>>2];J[a+152>>2]=f;t=N[n+120>>2];N[a+156>>2]=t;u=N[j+120>>2];N[a+160>>2]=u;q=N[n+128>>2];N[a+164>>2]=q;r=N[j+128>>2];N[a+168>>2]=r;i=N[a+84>>2];n=J[b+24>>2];k=P(B,12);p=N[(n+k|0)+8>>2];e=Za(p);h=N[a+80>>2];d=_a(p);j=J[b+28>>2];k=j+k|0;v=N[k>>2];w=N[k+4>>2];x=N[k+8>>2];f=j;j=P(C,12);k=f+j|0;y=N[k>>2];z=N[k+4>>2];A=N[k+8>>2];m=N[(j+n|0)+8>>2];h=Q(h-c);i=Q(i-o);c=Q(Q(d*h)-Q(e*i));N[a+124>>2]=c;i=Q(Q(e*h)+Q(d*i));N[a+128>>2]=i;e=N[a+92>>2];d=Za(m);h=N[a+88>>2];o=_a(m);l=Q(h-l);h=Q(e-s);e=Q(Q(o*l)-Q(d*h));N[a+132>>2]=e;d=Q(Q(d*l)+Q(o*h));N[a+136>>2]=d;h=Q(Q(c*q)+Q(r*e));N[g+40>>2]=h;l=Q(q+r);N[g+44>>2]=l;N[g+32>>2]=h;h=Q(t+u);N[g+28>>2]=Q(r*Q(e*e))+Q(Q(q*Q(c*c))+h);o=Q(-i);s=Q(Q(q*o)-Q(r*d));N[g+36>>2]=s;N[g+20>>2]=s;c=Q(Q(q*Q(c*o))-Q(r*Q(e*d)));N[g+24>>2]=c;N[g+12>>2]=Q(r*Q(d*d))+Q(Q(q*Q(i*i))+h);N[g+16>>2]=c;a:{if(N[a+68>>2]>Q(0)){Ud(g+12|0,a+172|0);c=N[b>>2];d=N[a+68>>2];e=Q(c*Q(Q(c*d)+N[a+72>>2]));e=e!=Q(0)?Q(Q(1)/e):Q(0);N[a+100>>2]=e;N[a+76>>2]=Q(d*Q(c*Q(Q(m-p)-N[a+96>>2])))*e;c=Q(l+e);N[a+204>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);break a}f=a+172|0;if(l==Q(0)){Ud(g+12|0,f);J[a+76>>2]=0;J[a+100>>2]=0;break a}m=N[g+24>>2];e=N[g+40>>2];p=N[g+28>>2];d=N[g+36>>2];h=Q(Q(m*e)-Q(p*d));i=N[g+12>>2];l=N[g+44>>2];o=Q(p*l);c=N[g+32>>2];s=Q(l*Q(-m));c=Q(Q(N[g+20>>2]*h)+Q(Q(i*Q(o-Q(e*c)))+Q(N[g+16>>2]*Q(Q(c*d)+s))));c=c!=Q(0)?Q(Q(1)/c):c;N[f+32>>2]=Q(Q(i*p)-Q(m*m))*c;m=Q(c*Q(Q(d*m)-Q(e*i)));N[f+28>>2]=m;p=Q(h*c);N[f+24>>2]=p;N[f+20>>2]=m;N[f+16>>2]=c*Q(Q(i*l)-Q(d*d));d=Q(c*Q(Q(d*e)+s));N[f+12>>2]=d;N[f+8>>2]=p;N[f+4>>2]=d;N[f>>2]=c*Q(o-Q(e*e));J[a+76>>2]=0;J[a+100>>2]=0}b:{if(K[b+20|0]){d=N[b+8>>2];c=Q(d*N[a+104>>2]);N[a+104>>2]=c;e=Q(d*N[a+108>>2]);N[a+108>>2]=e;d=Q(d*N[a+112>>2]);N[a+112>>2]=d;A=Q(Q(r*Q(d+Q(Q(N[a+132>>2]*e)-Q(c*N[a+136>>2]))))+A);x=Q(x-Q(q*Q(d+Q(Q(N[a+124>>2]*e)-Q(c*N[a+128>>2])))));y=Q(y+Q(u*c));v=Q(v-Q(t*c));z=Q(z+Q(u*e));w=Q(w-Q(t*e));break b}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0}f=J[b+28>>2]+P(J[a+116>>2],12)|0;N[f+4>>2]=w;N[f>>2]=v;f=J[b+28>>2];N[(f+P(J[a+116>>2],12)|0)+8>>2]=x;f=f+P(J[a+120>>2],12)|0;N[f+4>>2]=z;N[f>>2]=y;N[(J[b+28>>2]+P(J[a+120>>2],12)|0)+8>>2]=A;La=g+48|0}function uh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0);f=J[a+76>>2];k=J[b+24>>2];G=k+P(J[a+172>>2],12)|0;H=N[G+4>>2];I=N[G>>2];o=k+P(J[a+168>>2],12)|0;u=N[o+8>>2];K=N[o+4>>2];L=N[o>>2];o=k+P(J[a+164>>2],12)|0;M=N[o+4>>2];O=N[o>>2];k=k+P(J[a+160>>2],12)|0;v=N[k+8>>2];R=N[k+4>>2];S=N[k>>2];w=N[o+8>>2];x=N[G+8>>2];r=_a(x);s=Za(x);g=_a(w);n=Za(w);a:{if((f|0)==1){y=N[a+224>>2];z=N[a+232>>2];p=Q(y+z);A=Q(1);B=Q(1);c=Q(Q(v-u)-N[a+140>>2]);break a}q=N[a+124>>2];l=_a(u);j=N[a+128>>2];m=Za(u);d=N[a+180>>2];c=N[a+96>>2];i=_a(v);e=Q(N[a+92>>2]-N[a+176>>2]);h=Za(v);c=Q(c-d);d=Q(Q(i*e)-Q(h*c));C=Q(Q(m*q)+Q(l*j));D=Q(Q(l*q)-Q(j*m));c=Q(Q(h*e)+Q(i*c));A=Q(Q(d*C)-Q(D*c));y=N[a+224>>2];e=Q(N[a+108>>2]-N[a+192>>2]);h=Q(N[a+112>>2]-N[a+196>>2]);B=Q(Q(Q(Q(l*e)-Q(m*h))*C)-Q(D*Q(Q(m*e)+Q(l*h))));z=N[a+232>>2];p=Q(Q(Q(y*A)*A)+Q(Q(Q(B*z)*B)+Q(N[a+216>>2]+N[a+208>>2])));d=Q(Q(S-L)+d);c=Q(Q(R-K)+c);c=Q(Q(q*Q(Q(Q(l*d)+Q(m*c))-e))+Q(j*Q(Q(Q(l*c)-Q(m*d))-h)))}j=Q(0);d=Q(p+Q(0));b:{if(J[a+80>>2]==1){i=Q(Q(w-x)-N[a+144>>2]);e=N[a+152>>2];E=N[a+228>>2];F=N[a+236>>2];t=Q(Q(Q(e*e)*Q(E+F))+d);h=e;p=e;d=Q(0);break b}t=d;E=N[a+228>>2];e=N[a+152>>2];h=Q(N[a+100>>2]-N[a+184>>2]);d=Q(N[a+104>>2]-N[a+188>>2]);i=Q(Q(g*h)-Q(d*n));l=N[a+132>>2];m=N[a+136>>2];q=Q(Q(s*l)+Q(r*m));j=Q(Q(r*l)-Q(m*s));d=Q(Q(n*h)+Q(g*d));h=Q(e*Q(Q(i*q)-Q(j*d)));g=Q(N[a+116>>2]-N[a+200>>2]);n=Q(N[a+120>>2]-N[a+204>>2]);p=Q(e*Q(Q(Q(Q(r*g)-Q(n*s))*q)-Q(j*Q(Q(s*g)+Q(r*n)))));F=N[a+236>>2];t=Q(t+Q(Q(Q(E*h)*h)+Q(Q(Q(e*e)*Q(N[a+220>>2]+N[a+212>>2]))+Q(p*Q(p*F)))));i=Q(Q(O-I)+i);d=Q(Q(M-H)+d);i=Q(Q(Q(Q(Q(r*i)+Q(s*d))-g)*l)+Q(m*Q(Q(Q(r*d)-Q(s*i))-n)));j=Q(j*e);d=Q(q*e)}g=Q(0);g=t>Q(0)?Q(Q(-Q(Q(Q(e*i)+c)-N[a+148>>2]))/t):g;n=N[a+220>>2];i=N[a+216>>2];e=N[a+212>>2];c=Q(g*N[a+208>>2]);N[k+4>>2]=R+Q(C*c);N[k>>2]=S+Q(D*c);f=J[b+24>>2];N[(f+P(J[a+160>>2],12)|0)+8>>2]=Q(Q(g*y)*A)+v;f=f+P(J[a+164>>2],12)|0;c=Q(g*e);N[f+4>>2]=M+Q(d*c);N[f>>2]=O+Q(j*c);f=J[b+24>>2];N[(f+P(J[a+164>>2],12)|0)+8>>2]=Q(Q(g*E)*h)+w;f=f+P(J[a+168>>2],12)|0;c=Q(g*i);N[f+4>>2]=K-Q(C*c);N[f>>2]=L-Q(D*c);f=J[b+24>>2];N[(f+P(J[a+168>>2],12)|0)+8>>2]=u-Q(Q(g*z)*B);f=f+P(J[a+172>>2],12)|0;c=Q(g*n);N[f+4>>2]=H-Q(d*c);N[f>>2]=I-Q(j*c);N[(J[b+24>>2]+P(J[a+172>>2],12)|0)+8>>2]=x-Q(Q(g*F)*p);return 1}function Rd(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0,p=0,q=0,r=0,s=Q(0),t=0,u=0,v=0,w=0,x=0;k=J[a+4>>2];h=k+P(b,40)|0;p=J[h+24>>2];if((p|0)==-1){return b}if(J[h+32>>2]<2){return b}j=P(b,40)+k|0;q=J[j+28>>2];g=P(q,40)+k|0;t=J[g+32>>2];l=P(p,40)+k|0;u=J[l+32>>2];i=t-u|0;a:{if((i|0)>=2){o=J[g+24>>2];J[g+24>>2]=b;J[g+20>>2]=J[j+20>>2];r=J[g+28>>2];J[j+20>>2]=q;t=P(r,40);v=t+k|0;p=P(o,40);w=p+k|0;i=J[g+20>>2];if((i|0)!=-1){a=J[a+4>>2]+P(i,40)|0;a=J[a+24>>2]==(b|0)?a+24|0:a+28|0}J[a>>2]=q;t=k+t|0;a=J[t+32>>2];p=k+p|0;i=J[p+32>>2];b:{if((a|0)<(i|0)){x=p+32|0;J[g+28>>2]=o;J[j+28>>2]=r;J[t+20>>2]=b;f=N[v>>2];e=N[l>>2];d=N[l+4>>2];c=N[v+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e>2]=n;s=N[v+8>>2];e=N[l+8>>2];d=N[l+12>>2];c=N[v+12>>2];f=c >2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[w>>2];c=N[w+4>>2];N[g+4>>2]=c>m?m:c;N[g>>2]=d>n?n:d;c=N[w+12>>2];d=c >2];c=c >2]=r;J[j+28>>2]=o;J[p+20>>2]=b;f=N[w>>2];e=N[l>>2];d=N[l+4>>2];c=N[w+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e >2]=n;s=N[w+8>>2];e=N[l+8>>2];d=N[l+12>>2];c=N[w+12>>2];f=c >2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[v>>2];c=N[v+4>>2];N[g+4>>2]=c>m?m:c;N[g>>2]=d>n?n:d;c=N[v+12>>2];d=c >2];c=c >2]=c;a=(a|0)<(u|0)?u:a;break a}if((i|0)>-2){return b}r=P(p,40)+k|0;u=J[r+24>>2];J[r+24>>2]=b;i=P(b,40)+k|0;J[r+20>>2]=J[i+20>>2];q=J[r+28>>2];J[i+20>>2]=p;i=J[r+20>>2];if((i|0)!=-1){a=J[a+4>>2]+P(i,40)|0;a=J[a+24>>2]==(b|0)?a+24|0:a+28|0}J[a>>2]=p;j=P(q,40)+k|0;a=J[j+32>>2];o=P(u,40)+k|0;i=J[o+32>>2];c:{if((a|0)<(i|0)){x=o+32|0;J[r+28>>2]=u;J[h+24>>2]=q;J[(P(q,40)+k|0)+20>>2]=b;f=N[j>>2];e=N[g>>2];d=N[g+4>>2];c=N[j+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e >2]=n;s=N[j+8>>2];e=N[g+8>>2];d=N[g+12>>2];c=N[j+12>>2];f=c >2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[o>>2];c=N[o+4>>2];N[l+4>>2]=c>m?m:c;N[l>>2]=d>n?n:d;c=N[o+12>>2];d=c >2];c=c >2]=q;J[h+24>>2]=u;J[(P(u,40)+k|0)+20>>2]=b;f=N[o>>2];e=N[g>>2];d=N[g+4>>2];c=N[o+4>>2];m=c>d?d:c;N[h+4>>2]=m;n=e >2]=n;s=N[o+8>>2];e=N[g+8>>2];d=N[g+12>>2];c=N[o+12>>2];f=c >2]=f;e=e>s?e:s;N[h+8>>2]=e;d=N[j>>2];c=N[j+4>>2];N[l+4>>2]=c>m?m:c;N[l>>2]=d>n?n:d;c=N[j+12>>2];d=c >2];c=c >2]=c;q=p;a=(a|0)<(t|0)?t:a}b=a+1|0;J[h+32>>2]=b;a=J[x>>2];N[(P(q,40)+k|0)+12>>2]=d;J[i>>2]=((a|0)<(b|0)?b:a)+1;return q}function Jg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),H=Q(0),I=0,L=Q(0),M=Q(0),O=Q(0);f=J[a+48>>2];y=J[f+8>>2];J[a+144>>2]=y;h=J[a+52>>2];F=J[h+8>>2];J[a+148>>2]=F;G=N[f+32>>2];d=J[f+32>>2];n=N[f+28>>2];J[a+152>>2]=J[f+28>>2];J[a+156>>2]=d;H=N[h+32>>2];I=J[h+32>>2];m=N[h+28>>2];d=J[h+28>>2];J[a+160>>2]=d;J[a+164>>2]=I;v=N[f+120>>2];N[a+168>>2]=v;w=N[h+120>>2];N[a+172>>2]=w;o=N[f+128>>2];N[a+176>>2]=o;t=N[h+128>>2];N[a+180>>2]=t;f=P(y,12);h=J[b+28>>2];d=f+h|0;z=N[d>>2];A=N[d+4>>2];B=N[d+8>>2];d=h;h=P(F,12);d=d+h|0;C=N[d>>2];D=N[d+4>>2];E=N[d+8>>2];d=f;f=J[b+24>>2];d=d+f|0;k=N[d>>2];f=f+h|0;j=N[f>>2];x=N[d+4>>2];L=N[f+4>>2];M=N[a+72>>2];l=N[f+8>>2];i=N[a+80>>2];p=N[a+88>>2];c=N[d+8>>2];O=N[a+68>>2];g=N[a+76>>2];q=N[a+84>>2];e=Q(o+t);N[a+228>>2]=e==Q(0)?Q(1):e;e=_a(c);c=Za(c);u=Q(Q(q*c)+Q(e*p));N[a+188>>2]=u;p=Q(Q(e*q)-Q(p*c));N[a+184>>2]=p;r=N[a+92>>2];s=N[a+96>>2];q=Q(Q(c*r)+Q(e*s));N[a+196>>2]=q;r=Q(Q(e*r)-Q(s*c));N[a+192>>2]=r;s=_a(l);m=Q(g-m);g=Q(i-H);l=Za(l);i=Q(Q(s*m)-Q(g*l));g=Q(Q(l*m)+Q(s*g));l=Q(Q(i*u)-Q(p*g));N[a+212>>2]=l;m=Q(Q(i*q)-Q(r*g));N[a+204>>2]=m;s=Q(Q(j-k)+i);i=Q(O-n);k=Q(M-G);j=Q(Q(e*i)-Q(c*k));n=Q(s-j);c=Q(Q(c*i)+Q(e*k));e=Q(Q(Q(L-x)+g)-c);g=Q(j+n);c=Q(c+e);i=Q(Q(g*u)-Q(p*c));N[a+208>>2]=i;g=Q(Q(g*q)-Q(r*c));N[a+200>>2]=g;c=Q(o*g);k=Q(t*m);j=Q(c+k);N[a+224>>2]=j;N[a+220>>2]=j;j=Q(c*g);c=Q(v+w);N[a+216>>2]=Q(k*m)+Q(j+c);c=Q(Q(Q(t*l)*l)+Q(Q(Q(o*i)*i)+c));N[a+236>>2]=c>Q(0)?Q(Q(1)/c):c;a:{if(K[a+140|0]){N[a+232>>2]=Q(p*n)+Q(u*e);break a}J[a+116>>2]=0;J[a+120>>2]=0}if(!K[a+141|0]){J[a+112>>2]=0}b:{if(K[b+20|0]){e=N[b+8>>2];c=Q(e*N[a+104>>2]);N[a+104>>2]=c;k=Q(e*N[a+112>>2]);N[a+112>>2]=k;j=Q(e*N[a+116>>2]);N[a+116>>2]=j;x=Q(e*N[a+120>>2]);N[a+120>>2]=x;n=Q(e*N[a+108>>2]);N[a+108>>2]=n;e=Q(Q(k+j)-x);E=Q(Q(t*Q(Q(e*l)+Q(Q(c*m)+n)))+E);B=Q(B-Q(o*Q(Q(e*i)+Q(Q(c*g)+n))));o=Q(Q(q*c)+Q(u*e));D=Q(D+Q(w*o));e=Q(Q(r*c)+Q(p*e));C=Q(C+Q(w*e));A=Q(A-Q(v*o));z=Q(z-Q(v*e));break b}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0}d=J[b+28>>2]+P(y,12)|0;N[d+4>>2]=A;N[d>>2]=z;d=J[b+28>>2];N[(d+P(J[a+144>>2],12)|0)+8>>2]=B;d=d+P(J[a+148>>2],12)|0;N[d+4>>2]=D;N[d>>2]=C;N[(J[b+28>>2]+P(J[a+148>>2],12)|0)+8>>2]=E}function Hg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0);e=La+-64|0;La=e;h=N[a+156>>2];u=N[a+72>>2];v=J[b+24>>2];m=v+P(J[a+144>>2],12)|0;x=N[m+8>>2];c=_a(x);n=N[a+152>>2];o=N[a+68>>2];k=Za(x);r=N[a+164>>2];j=N[a+80>>2];v=v+P(J[a+148>>2],12)|0;y=N[v+8>>2];l=_a(y);s=N[a+160>>2];f=N[a+76>>2];p=Za(y);w=N[a+92>>2];t=N[a+96>>2];z=Q(Q(c*w)-Q(k*t));D=N[v>>2];f=Q(f-s);j=Q(j-r);r=Q(Q(l*f)-Q(p*j));E=N[m>>2];n=Q(o-n);h=Q(u-h);o=Q(Q(c*n)-Q(k*h));d=Q(Q(Q(D+r)-E)-o);s=Q(Q(k*w)+Q(c*t));F=N[v+4>>2];l=Q(Q(p*f)+Q(l*j));G=N[m+4>>2];p=Q(Q(k*n)+Q(c*h));g=Q(Q(Q(F+l)-G)-p);f=Q(Q(z*d)+Q(s*g));w=Q(-f);u=f>Q(0)?f:w;h=Q(o+d);n=Q(p+g);p=Q(Q(h*s)-Q(z*n));j=h;h=N[a+84>>2];o=N[a+88>>2];t=Q(Q(k*h)+Q(c*o));A=Q(Q(c*h)-Q(o*k));n=Q(Q(j*t)-Q(A*n));h=Q(Q(r*s)-Q(z*l));r=Q(Q(r*t)-Q(A*l));B=Q(Q(y-x)-N[a+100>>2]);C=Q(-B);k=N[a+180>>2];l=N[a+176>>2];o=N[a+172>>2];j=N[a+168>>2];a:{b:{if(!K[a+140|0]){break b}c=Q(Q(A*d)+Q(t*g));g=N[a+128>>2];d=N[a+124>>2];i=Q(g-d);c:{if((i>Q(0)?i:Q(-i)) Q(0)?c:Q(-c);break c}if(c<=d){q=Q(d-c);c=Q(c-d);c=c=g)){break b}q=Q(c-g);c=q>Q(0)?q:Q(0)}f=Q(l*n);d=Q(k*r);g=Q(f+d);N[e+56>>2]=g;N[e+48>>2]=g;g=Q(l+k);N[e+44>>2]=g==Q(0)?Q(1):g;g=Q(j+o);N[e+60>>2]=Q(d*r)+Q(Q(f*n)+g);f=Q(l*p);d=Q(k*h);i=Q(f+d);N[e+40>>2]=i;N[e+32>>2]=i;i=Q(Q(f*n)+Q(r*d));N[e+52>>2]=i;N[e+36>>2]=i;N[e+28>>2]=Q(d*h)+Q(Q(f*p)+g);N[e+12>>2]=-c;N[e+8>>2]=C;N[e+4>>2]=w;u=q>2];f=N[e+20>>2];c=N[e+16>>2];break a}c=Q(k*h);d=Q(l*p);g=Q(Q(c*h)+Q(Q(d*p)+Q(j+o)));i=Q(l+k);i=i==Q(0)?Q(1):i;c=Q(d+c);d=Q(Q(g*i)-Q(c*c));d=d!=Q(0)?Q(Q(1)/d):d;f=Q(Q(Q(g*C)+Q(f*c))*d);c=Q(Q(Q(i*w)+Q(B*c))*d)}m=J[b+24>>2]+P(J[a+144>>2],12)|0;s=Q(Q(s*c)+Q(t*q));N[m+4>>2]=G-Q(j*s);d=j;j=Q(Q(z*c)+Q(A*q));N[m>>2]=E-Q(d*j);m=J[b+24>>2];N[(m+P(J[a+144>>2],12)|0)+8>>2]=x-Q(l*Q(Q(q*n)+Q(Q(c*p)+f)));m=m+P(J[a+148>>2],12)|0;N[m+4>>2]=F+Q(o*s);N[m>>2]=D+Q(o*j);N[(J[b+24>>2]+P(J[a+148>>2],12)|0)+8>>2]=Q(k*Q(Q(q*r)+Q(Q(c*h)+f)))+y;La=e- -64|0;return(B>Q(0)?B:C)<=Q(.03490658849477768)&u<=Q(.004999999888241291)}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0);f=La-32|0;La=f;J[f+28>>2]=b;p=a+102868|0;J[f+24>>2]=p;J[f+16>>2]=1065353216;a=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=a;a=J[d+4>>2];J[f+8>>2]=J[d>>2];J[f+12>>2]=a;a=La-1088|0;La=a;i=N[f>>2];m=Q(N[f+8>>2]-i);n=m;j=N[f+4>>2];o=Q(N[f+12>>2]-j);e=o;g=Q(Y(Q(Q(m*m)+Q(e*e))));if(!(g>2];J[a+1064>>2]=256;d=a+36|0;J[a+32>>2]=d;J[a+36>>2]=J[p>>2];k=Q(j+Q(o*g));t=j>k?j:k;l=Q(i+Q(m*g));u=i>l?i:l;v=jQ(0)?n:Q(-n);w=Q(-e);z=e >2]=c;h=J[a+32>>2];b=J[h+(c<<2)>>2];b:{if((b|0)==-1){break b}x=P(b,40);b=x+J[p+4>>2]|0;e=N[b+8>>2];if(Q(k-e)>Q(0)){break b}l=N[b+12>>2];if(Q(v-l)>Q(0)){break b}q=N[b>>2];if(Q(q-u)>Q(0)){break b}r=N[b+4>>2];if(Q(r-t)>Q(0)){break b}s=Q(Q(w*Q(i-Q(Q(e+q)*Q(.5))))+Q(n*Q(j-Q(Q(l+r)*Q(.5)))));if(Q((s>Q(0)?s:Q(-s))-Q(Q(z*Q(Q(e-q)*Q(.5)))+Q(y*Q(Q(l-r)*Q(.5)))))>Q(0)){break b}if(J[b+24>>2]==-1){b=J[f+4>>2];J[a+8>>2]=J[f>>2];J[a+12>>2]=b;b=J[f+12>>2];c=J[f+8>>2];N[a+24>>2]=g;J[a+16>>2]=c;J[a+20>>2]=b;c=J[(J[J[f+24>>2]+4>>2]+x|0)+16>>2];b=J[c+16>>2];h=J[b+12>>2];c:{if(Na[J[J[h>>2]+20>>2]](h,a+1076|0,a+8|0,J[b+8>>2]+12|0,J[c+20>>2])|0){e=N[a+1084>>2];l=Q(Q(1)-e);N[a+1072>>2]=Q(l*N[a+12>>2])+Q(e*N[a+20>>2]);N[a+1068>>2]=Q(l*N[a+8>>2])+Q(e*N[a+16>>2]);c=J[f+28>>2];e=Q(Na[J[J[c>>2]+8>>2]](c,b,a+1068|0,a+1076|0,e));break c}e=N[a+24>>2]}if(e>Q(0)){g=Q(j+Q(o*e));t=gk?i:k;v=g>j?j:g;k=i >2];break b}d:{if(J[a+1064>>2]!=(c|0)){break d}J[a+1064>>2]=c<<1;c=fb(c<<3);J[a+32>>2]=c;rb(c,h,J[a+1060>>2]<<2);if((d|0)==(h|0)){break d}ab(h)}c=J[a+32>>2];J[c+(J[a+1060>>2]<<2)>>2]=J[b+24>>2];h=J[a+1060>>2]+1|0;J[a+1060>>2]=h;e:{if((h|0)!=J[a+1064>>2]){break e}J[a+1064>>2]=h<<1;h=fb(h<<3);J[a+32>>2]=h;rb(h,c,J[a+1060>>2]<<2);if((c|0)==(d|0)){break e}ab(c)}J[J[a+32>>2]+(J[a+1060>>2]<<2)>>2]=J[b+28>>2];c=J[a+1060>>2]+1|0;J[a+1060>>2]=c}if((c|0)>0){continue}}break}b=J[a+32>>2];if((b|0)!=(d|0)){ab(b)}La=a+1088|0;La=f+32|0}function jd(a){var b=0,c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0;h=La+-64|0;La=h;if(J[a+48>>2]>0){while(1){b=J[a+40>>2]+P(s,156)|0;o=N[b+132>>2];p=N[b+128>>2];q=N[b+124>>2];z=N[b+120>>2];i=J[a+28>>2];j=P(J[b+116>>2],12);d=i+j|0;t=N[d+8>>2];A=N[d+4>>2];B=N[d>>2];r=P(J[b+112>>2],12);d=r+i|0;u=N[d+8>>2];C=N[d+4>>2];D=N[d>>2];d=J[a+36>>2]+P(s,88)|0;E=N[d+80>>2];F=N[d+76>>2];G=J[J[a+44>>2]+(J[b+152>>2]<<2)>>2];i=j;j=J[a+24>>2];i=i+j|0;v=N[i>>2];w=N[i+4>>2];c=N[d+56>>2];g=N[d+60>>2];j=j+r|0;x=N[j>>2];y=N[j+4>>2];f=N[d+48>>2];l=N[d+52>>2];k=N[i+8>>2];m=N[j+8>>2];n=_a(m);N[h+60>>2]=n;m=Za(m);N[h+56>>2]=m;e=_a(k);N[h+44>>2]=e;k=Za(k);N[h+40>>2]=k;N[h+52>>2]=y-Q(Q(m*f)+Q(l*n));N[h+48>>2]=x-Q(Q(n*f)-Q(l*m));N[h+36>>2]=w-Q(Q(k*c)+Q(g*e));N[h+32>>2]=v-Q(Q(e*c)-Q(g*k));Yd(h,G- -64|0,h+48|0,F,h+32|0,E);d=J[h+4>>2];J[b+72>>2]=J[h>>2];J[b+76>>2]=d;r=J[b+148>>2];a:{if((r|0)<=0){break a}g=Q(z+q);i=0;while(1){j=(i<<3)+h|0;c=N[j+8>>2];d=P(i,36)+b|0;l=Q(N[j+12>>2]-y);N[d+4>>2]=l;k=Q(c-x);N[d>>2]=k;c=N[j+8>>2];n=Q(N[j+12>>2]-w);N[d+12>>2]=n;m=Q(c-v);N[d+8>>2]=m;f=N[b+76>>2];c=N[b+72>>2];J[d+32>>2]=0;e=Q(Q(m*f)-Q(c*n));q=Q(Q(o*e)*e);e=Q(Q(k*f)-Q(c*l));e=Q(q+Q(Q(Q(p*e)*e)+g));N[d+24>>2]=e>Q(0)?Q(Q(1)/e):Q(0);e=Q(-c);q=Q(Q(m*e)-Q(f*n));e=Q(Q(k*e)-Q(f*l));e=Q(Q(Q(o*q)*q)+Q(Q(Q(p*e)*e)+g));N[d+28>>2]=e>Q(0)?Q(Q(1)/e):Q(0);f=Q(Q(c*Q(Q(u*l)+Q(Q(B-Q(t*n))-D)))+Q(f*Q(Q(Q(A+Q(t*m))-C)-Q(u*k))));if(f >2]=f*Q(-N[b+140>>2])}i=i+1|0;if((r|0)!=(i|0)){continue}break}if(!K[23752]|J[b+148>>2]!=2){break a}l=N[b+76>>2];f=Q(Q(N[b+8>>2]*l)-Q(c*N[b+12>>2]));k=Q(o*f);e=Q(k*f);f=Q(Q(N[b>>2]*l)-Q(c*N[b+4>>2]));n=Q(p*f);f=Q(e+Q(Q(n*f)+g));e=o;o=Q(Q(N[b+44>>2]*l)-Q(c*N[b+48>>2]));c=Q(Q(N[b+36>>2]*l)-Q(c*N[b+40>>2]));p=Q(Q(Q(e*o)*o)+Q(Q(Q(p*c)*c)+g));c=Q(Q(k*o)+Q(Q(n*c)+g));g=Q(Q(f*p)-Q(c*c));if(Q(f*f)>2]=f;N[b+108>>2]=p;N[b+104>>2]=c;N[b+100>>2]=c;g=g!=Q(0)?Q(Q(1)/g):g;N[b+92>>2]=f*g;N[b+80>>2]=p*g;c=Q(c*Q(-g));N[b+88>>2]=c;N[b+84>>2]=c;break a}J[b+148>>2]=1}s=s+1|0;if((s|0)>2]){continue}break}}La=h- -64|0}function Yd(a,b,c,d,e,f){var g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0);a:{if(!J[b+60>>2]){break a}b:{switch(J[b+56>>2]){case 0:J[a>>2]=1065353216;J[a+4>>2]=0;h=N[c+12>>2];g=N[b+48>>2];j=N[b+52>>2];k=N[c+8>>2];i=Q(N[c>>2]+Q(Q(h*g)-Q(j*k)));o=N[e+12>>2];m=N[b>>2];n=N[b+4>>2];q=N[e+8>>2];l=Q(N[e>>2]+Q(Q(o*m)-Q(n*q)));r=Q(i-l);j=Q(Q(Q(k*g)+Q(h*j))+N[c+4>>2]);k=Q(Q(Q(q*m)+Q(o*n))+N[e+4>>2]);h=Q(j-k);c:{if(!(Q(Q(r*r)+Q(h*h))>Q(14210854715202004e-30))){h=Q(1);g=Q(0);break c}g=Q(k-j);N[a+4>>2]=g;h=Q(l-i);N[a>>2]=h;o=Q(Y(Q(Q(h*h)+Q(g*g))));if(o >2]=g;h=Q(h*o);N[a>>2]=h}j=Q(j+Q(g*d));k=Q(k-Q(g*f));N[a+12>>2]=Q(j+k)*Q(.5);d=Q(i+Q(h*d));f=Q(l-Q(h*f));N[a+8>>2]=Q(d+f)*Q(.5);N[a+24>>2]=Q(Q(f-d)*h)+Q(g*Q(k-j));return;case 1:g=N[c+8>>2];i=N[b+40>>2];l=N[c+12>>2];j=N[b+44>>2];h=Q(Q(g*i)+Q(l*j));N[a+4>>2]=h;g=Q(Q(l*i)-Q(j*g));N[a>>2]=g;if(J[b+60>>2]<=0){break a}i=N[c+8>>2];l=N[b+48>>2];j=N[c+12>>2];k=N[b+52>>2];o=Q(Q(Q(i*l)+Q(j*k))+N[c+4>>2]);l=Q(N[c>>2]+Q(Q(j*l)-Q(k*i)));j=Q(h*f);k=Q(g*f);while(1){c=(p<<3)+a|0;i=N[e+8>>2];s=P(p,20)+b|0;m=N[s>>2];n=N[e+12>>2];q=N[s+4>>2];f=Q(Q(Q(i*m)+Q(n*q))+N[e+4>>2]);r=Q(f-j);t=f;i=Q(N[e>>2]+Q(Q(n*m)-Q(q*i)));f=Q(d-Q(Q(Q(i-l)*g)+Q(Q(f-o)*h)));m=Q(t+Q(h*f));N[c+12>>2]=Q(r+m)*Q(.5);n=Q(i-k);f=Q(i+Q(g*f));N[c+8>>2]=Q(n+f)*Q(.5);N[((p<<2)+a|0)+24>>2]=Q(Q(n-f)*g)+Q(h*Q(r-m));p=p+1|0;if((p|0)>2]){continue}break};break a;case 2:break b;default:break a}}g=N[e+8>>2];i=N[b+40>>2];l=N[e+12>>2];j=N[b+44>>2];h=Q(Q(g*i)+Q(l*j));N[a+4>>2]=h;g=Q(Q(l*i)-Q(j*g));N[a>>2]=g;if(J[b+60>>2]>0){i=N[e+8>>2];l=N[b+48>>2];j=N[e+12>>2];k=N[b+52>>2];o=Q(Q(Q(i*l)+Q(j*k))+N[e+4>>2]);l=Q(N[e>>2]+Q(Q(j*l)-Q(k*i)));j=Q(h*d);k=Q(g*d);while(1){e=(p<<3)+a|0;i=N[c+8>>2];s=P(p,20)+b|0;m=N[s>>2];n=N[c+12>>2];q=N[s+4>>2];d=Q(Q(Q(i*m)+Q(n*q))+N[c+4>>2]);r=Q(d-j);t=d;i=Q(N[c>>2]+Q(Q(n*m)-Q(q*i)));d=Q(f-Q(Q(Q(i-l)*g)+Q(Q(d-o)*h)));m=Q(t+Q(h*d));N[e+12>>2]=Q(r+m)*Q(.5);n=Q(i-k);d=Q(i+Q(g*d));N[e+8>>2]=Q(n+d)*Q(.5);N[((p<<2)+a|0)+24>>2]=Q(Q(n-d)*g)+Q(h*Q(r-m));p=p+1|0;if((p|0) >2]){continue}break}}N[a+4>>2]=-h;N[a>>2]=-g}}function zc(a,b){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;e=La+-64|0;La=e;c=J[a+124>>2];J[e+56>>2]=J[a+120>>2];J[e+60>>2]=c;c=J[a+116>>2];J[e+48>>2]=J[a+112>>2];J[e+52>>2]=c;c=J[a+108>>2];J[e+40>>2]=J[a+104>>2];J[e+44>>2]=c;c=J[a+100>>2];J[e+32>>2]=J[a+96>>2];J[e+36>>2]=c;c=J[a+92>>2];J[e+24>>2]=J[a+88>>2];J[e+28>>2]=c;c=J[a+84>>2];J[e+16>>2]=J[a+80>>2];J[e+20>>2]=c;c=J[a+76>>2];J[e+8>>2]=J[a+72>>2];J[e+12>>2]=c;c=J[a+68>>2];J[e>>2]=J[a+64>>2];J[e+4>>2]=c;c=J[a+4>>2];J[a+4>>2]=c|4;n=c&2;h=J[a+52>>2];l=J[h+8>>2];g=l+12|0;j=J[a+48>>2];m=J[j+8>>2];c=m+12|0;o=K[h+38|0]|K[j+38|0];a:{if(o){l=J[j+12>>2];m=J[a+56>>2];h=J[h+12>>2];i=J[a+60>>2];d=La-128|0;La=d;J[d+88>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+60>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;j=d+36|0;gc(j,l,m);gc(d- -64|0,h,i);i=J[c+12>>2];J[d+100>>2]=J[c+8>>2];J[d+104>>2]=i;i=J[c+4>>2];J[d+92>>2]=J[c>>2];J[d+96>>2]=i;c=J[g+12>>2];J[d+116>>2]=J[g+8>>2];J[d+120>>2]=c;c=J[g+4>>2];J[d+108>>2]=J[g>>2];J[d+112>>2]=c;H[d+124|0]=1;I[d+28>>1]=0;Xd(d,d+24|0,j);La=d+128|0;f=N[d+16>>2] >2]=0;break a}d=a- -64|0;Na[J[J[a>>2]>>2]](a,d,c,g);h=J[a+124>>2];b:{if((h|0)<=0){break b}g=J[e+60>>2];if((g|0)>0){while(1){j=d+P(k,20)|0;c=j;J[c+8>>2]=0;J[c+12>>2]=0;c=J[c+16>>2];f=0;c:{while(1){i=P(f,20)+e|0;if(J[i+16>>2]!=(c|0)){f=f+1|0;if((g|0)!=(f|0)){continue}break c}break}N[j+8>>2]=N[i+8>>2];N[j+12>>2]=N[i+12>>2]}k=k+1|0;if((h|0)!=(k|0)){continue}break}break b}if(h>>>0>=4){g=h&-4;while(1){c=d+P(f,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|1,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|2,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+P(f|3,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;f=f+4|0;k=k+4|0;if((g|0)!=(k|0)){continue}break}}g=h&3;if(!g){break b}while(1){c=d+P(f,20)|0;J[c+8>>2]=0;J[c+12>>2]=0;f=f+1|0;i=i+1|0;if((g|0)!=(i|0)){continue}break}}f=(h|0)>0;if((f|0)==(n>>>1|0)){break a}if(J[m>>2]){J[m+144>>2]=0;I[m+4>>1]=L[m+4>>1]|2}if(!J[l>>2]){break a}J[l+144>>2]=0;I[l+4>>1]=L[l+4>>1]|2}k=2;J[a+4>>2]=J[a+4>>2]&-3|(f?2:0);c=(b|0)!=0&f;d:{if(!(c&!n)){if(!n){break d}k=3;if(!b|f){break d}}Na[J[J[b>>2]+(k<<2)>>2]](b,a)}if(!(!c|(o|0)!=0)){Na[J[J[b>>2]+16>>2]](b,a,e)}La=e- -64|0}function Qf(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0);A=J[b+24>>2];h=A+P(J[a+156>>2],12)|0;s=N[h+8>>2];u=N[h+4>>2];v=N[h>>2];h=P(J[a+152>>2],12)+A|0;t=N[h+8>>2];p=N[h+4>>2];w=N[h>>2];a:{if(!K[a+140|0]){m=Q(N[a+80>>2]-N[a+172>>2]);n=Q(N[a+72>>2]-N[a+164>>2]);o=Q(N[a+76>>2]-N[a+168>>2]);l=Q(N[a+68>>2]-N[a+160>>2]);break a}n=N[a+164>>2];e=N[a+72>>2];c=_a(t);l=N[a+160>>2];f=N[a+68>>2];d=Za(t);m=N[a+172>>2];i=N[a+80>>2];g=_a(s);o=N[a+168>>2];k=N[a+76>>2];j=Za(s);q=N[a+84>>2];r=N[a+88>>2];x=Q(Q(c*q)-Q(d*r));o=Q(k-o);m=Q(i-m);i=Q(Q(g*o)-Q(j*m));l=Q(f-l);n=Q(e-n);k=Q(Q(c*l)-Q(d*n));y=Q(Q(Q(v-w)+i)-k);q=Q(Q(d*q)+Q(c*r));r=Q(Q(j*o)+Q(g*m));z=Q(Q(d*l)+Q(c*n));B=Q(Q(Q(u-p)+r)-z);c=Q(Q(x*y)+Q(q*B));g=N[a+192>>2];j=N[a+196>>2];e=N[a+128>>2];f=N[a+124>>2];d=Q(e-f);b:{if((d>Q(0)?d:Q(-d))=e)){break a}c=Q(c-e);if(!(c>Q(0))){break a}}if(c==Q(0)){d=Q(0);break a}C=Q(-c);e=Q(Q(i*j)-Q(g*r));i=N[a+188>>2];g=Q(Q(Q(k+y)*j)-Q(g*Q(z+B)));k=N[a+184>>2];j=N[a+176>>2];f=N[a+180>>2];d=Q(Q(e*Q(e*i))+Q(Q(Q(g*k)*g)+Q(j+f)));d=d!=Q(0)?Q(C/d):Q(0);s=Q(Q(i*Q(e*d))+s);e=Q(q*d);u=Q(u+Q(f*e));i=f;f=Q(x*d);v=Q(v+Q(i*f));t=Q(t-Q(k*Q(g*d)));p=Q(p-Q(j*e));w=Q(w-Q(j*f));d=c>Q(0)?c:C}c=_a(t);g=Za(t);f=_a(s);i=Za(s);e=N[a+92>>2];k=N[a+96>>2];j=Q(Q(g*e)+Q(c*k));q=Q(Q(f*o)-Q(m*i));r=Q(Q(c*l)-Q(n*g));x=Q(Q(Q(v-w)+q)-r);e=Q(Q(c*e)-Q(k*g));f=Q(Q(i*o)+Q(f*m));g=Q(Q(g*l)+Q(c*n));i=Q(Q(Q(u-p)+f)-g);m=Q(Q(x*e)+Q(j*i));k=Q(-m);y=N[a+188>>2];c=N[a+220>>2];l=Q(Q(y*c)*c);z=N[a+184>>2];c=N[a+216>>2];n=N[a+176>>2];o=N[a+180>>2];c=Q(l+Q(Q(Q(z*c)*c)+Q(n+o)));c=c!=Q(0)?Q(k/c):Q(0);l=Q(j*c);N[h+4>>2]=p-Q(n*l);p=Q(e*c);N[h>>2]=w-Q(n*p);h=J[b+24>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=t-Q(z*Q(Q(Q(Q(r+x)*j)-Q(e*Q(g+i)))*c));h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=u+Q(o*l);N[h>>2]=v+Q(o*p);N[(J[b+24>>2]+P(J[a+156>>2],12)|0)+8>>2]=Q(y*Q(Q(Q(q*j)-Q(e*f))*c))+s;c=m>Q(0)?m:k;return(c>2]+7&-8;J[c>>2]=b+16;o=a;i=J[b>>2];d=J[b+4>>2];a=J[b+12>>2];m=a;g=La-32|0;La=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=J[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0 >>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;n=h>>>16|0;if(n>>>0<15249){break a}b=i;a=d;e=m&65535|65536;h=e;l=c;f=c;j=n-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k< >>32-f|e< >>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1< >>f}f=p|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;J[g+20>>2]=a;J[g+24>>2]=f;J[g+28>>2]=e;b=15361-n|0;c:{if(b&64){d=l;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;l=0;h=0;break c}if(!b){break c}e=l;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e< >>32-c|h< >>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=l;c=b&31;if((b&63)>>>0>=32){a=0;l=h>>>c|0}else{a=h>>>c|0;l=((1< >>c}h=a}J[g>>2]=i;J[g+4>>2]=d;J[g+8>>2]=l;J[g+12>>2]=h;b=J[g+8>>2];a=J[g+12>>2]<<4|b>>>28;b=b<<4;c=J[g>>2];h=J[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}La=g+32|0;x(0,b|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Sd(a,b){var c=0,d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0);J[a+24>>2]=J[a+24>>2]+1;c=J[a>>2];if((c|0)==-1){J[a>>2]=b;J[(J[a+4>>2]+P(b,40)|0)+20>>2]=-1;return}i=J[a+4>>2];g=i+P(b,40)|0;n=N[g+12>>2];o=N[g+8>>2];p=N[g+4>>2];q=N[g>>2];while(1){k=c;c=i+P(c,40)|0;g=J[c+24>>2];if((g|0)!=-1){m=N[c+8>>2];j=N[c>>2];h=N[c+12>>2];d=N[c+4>>2];e=Q(Q((o n?h:n)-(d >2];t=o>s?o:s;u=N[f+4>>2];v=p>2];j=q
>2];d=h >2];a:{if(J[f+24>>2]==-1){d=Q(Q(t-j)+Q(d-v));h=Q(d+d);break a}d=Q(Q(t-j)+Q(d-v));w=Q(d+d);d=Q(Q(s-m)+Q(h-u));h=Q(w-Q(d+d))}y=Q(r+r);f=i+P(c,40)|0;r=N[f+8>>2];s=o>r?o:r;t=N[f+4>>2];u=p >2];m=q >2];d=j >2]==-1){d=Q(Q(s-m)+Q(d-u));w=Q(d+d);break b}d=Q(Q(s-m)+Q(d-u));w=Q(d+d);d=Q(Q(r-v)+Q(j-t));w=Q(w-Q(d+d))}e=Q(e+w);c=h y)|!(e>y)){continue}}break}f=P(k,40);i=J[(f+i|0)+20>>2];x=Td(a);g=P(x,40);J[(g+J[a+4>>2]|0)+20>>2]=i;c=J[a+4>>2];l=c+g|0;J[l+16>>2]=0;c=c+f|0;d=N[c>>2];e=N[c+4>>2];N[l+4>>2]=e>p?p:e;N[l>>2]=d>q?q:d;d=N[c+8>>2];e=N[c+12>>2];N[l+12>>2]=e >2]=d >2];l=c+g|0;g=c+f|0;J[l+32>>2]=J[g+32>>2]+1;c:{if((i|0)!=-1){c=c+P(i,40)|0;J[((k|0)==J[c+24>>2]?c+24|0:c+28|0)>>2]=x;J[l+28>>2]=b;J[l+24>>2]=k;J[g+20>>2]=x;c=(J[a+4>>2]+P(b,40)|0)+20|0;break c}J[l+28>>2]=b;J[l+24>>2]=k;J[g+20>>2]=x;J[(J[a+4>>2]+P(b,40)|0)+20>>2]=x;c=a}J[c>>2]=x;c=J[(J[a+4>>2]+P(b,40)|0)+20>>2];if((c|0)!=-1){while(1){b=Rd(a,c);k=J[a+4>>2];c=P(b,40);i=k+c|0;f=P(J[i+24>>2],40)+k|0;g=J[f+32>>2];k=k+P(J[i+28>>2],40)|0;b=J[k+32>>2];J[i+32>>2]=((b|0)<(g|0)?g:b)+1;j=N[k>>2];h=N[f>>2];d=N[f+4>>2];e=N[k+4>>2];N[i+4>>2]=d >2]=h >2];h=N[k+8>>2];d=N[f+12>>2];e=N[k+12>>2];N[i+12>>2]=d>e?d:e;N[i+8>>2]=h >2]|0)+20>>2];if((c|0)!=-1){continue}break}}}function Ig(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0;y=J[b+28>>2];i=y+P(J[a+148>>2],12)|0;l=N[i+8>>2];m=N[i+4>>2];n=N[i>>2];i=P(J[a+144>>2],12)+y|0;d=N[i+8>>2];g=N[i+4>>2];f=N[i>>2];w=N[a+180>>2];x=N[a+176>>2];r=N[a+172>>2];s=N[a+168>>2];if(K[a+141|0]){c=Q(N[b>>2]*N[a+132>>2]);h=Q(-c);j=N[a+112>>2];k=N[a+212>>2];o=N[a+184>>2];e=N[a+188>>2];p=N[a+208>>2];t=Q(j+Q(N[a+236>>2]*Q(N[a+136>>2]-Q(Q(Q(k*l)+Q(Q(o*Q(n-f))+Q(Q(m-g)*e)))-Q(p*d)))));c=c>t?t:c;c=c >2]=c;c=Q(c-j);l=Q(Q(w*Q(k*c))+l);h=Q(e*c);m=Q(m+Q(r*h));j=Q(o*c);n=Q(n+Q(r*j));g=Q(g-Q(s*h));f=Q(f-Q(s*j));d=Q(d-Q(x*Q(p*c)))}if(K[a+140|0]){o=N[a+116>>2];e=N[a+236>>2];p=N[a+232>>2];c=Q(p-N[a+124>>2]);t=N[b+4>>2];q=Q((c>Q(0)?c:Q(0))*t);c=N[a+212>>2];h=N[a+184>>2];j=N[a+188>>2];k=N[a+208>>2];u=Q(o-Q(e*Q(q+Q(Q(Q(c*l)+Q(Q(h*Q(n-f))+Q(Q(m-g)*j)))-Q(k*d)))));u=u>Q(0)?u:Q(0);N[a+116>>2]=u;v=N[a+120>>2];q=e;e=Q(N[a+128>>2]-p);p=Q(t*(e>Q(0)?e:Q(0)));e=d;d=Q(u-o);o=Q(e-Q(x*Q(k*d)));e=f;f=Q(h*d);e=Q(e-Q(s*f));n=Q(n+Q(r*f));f=g;g=Q(j*d);f=Q(f-Q(s*g));m=Q(m+Q(r*g));l=Q(Q(w*Q(c*d))+l);d=Q(v-Q(q*Q(p+Q(Q(Q(k*o)+Q(Q(h*Q(e-n))+Q(j*Q(f-m))))-Q(c*l)))));d=d>Q(0)?d:Q(0);N[a+120>>2]=d;d=Q(d-v);l=Q(l-Q(w*Q(c*d)));g=Q(j*d);m=Q(m-Q(r*g));c=Q(h*d);n=Q(n-Q(r*c));g=Q(f+Q(s*g));f=Q(e+Q(s*c));d=Q(Q(x*Q(k*d))+o)}j=N[a+216>>2];k=N[a+228>>2];o=N[a+220>>2];e=N[a+224>>2];c=Q(Q(j*k)-Q(o*e));h=c!=Q(0)?Q(Q(1)/c):c;p=Q(l-d);c=Q(p*e);q=k;k=N[a+204>>2];e=N[a+192>>2];t=N[a+196>>2];u=N[a+200>>2];v=Q(Q(Q(k*l)+Q(Q(e*Q(n-f))+Q(Q(m-g)*t)))-Q(u*d));c=Q(Q(c-Q(q*v))*h);N[a+104>>2]=N[a+104>>2]+c;h=Q(Q(Q(v*o)-Q(j*p))*h);N[a+108>>2]=N[a+108>>2]+h;q=g;g=Q(t*c);N[i+4>>2]=q-Q(s*g);q=f;f=Q(e*c);N[i>>2]=q-Q(s*f);i=J[b+28>>2];N[(i+P(J[a+144>>2],12)|0)+8>>2]=Q(Q(-x)*Q(Q(c*u)+h))+d;i=i+P(J[a+148>>2],12)|0;N[i+4>>2]=m+Q(r*g);N[i>>2]=n+Q(r*f);N[(J[b+28>>2]+P(J[a+148>>2],12)|0)+8>>2]=Q(w*Q(Q(c*k)+h))+l}function xg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);d=J[a+48>>2];w=J[d+8>>2];J[a+120>>2]=w;k=J[a+52>>2];q=J[k+8>>2];J[a+124>>2]=q;o=N[d+32>>2];h=J[d+32>>2];c=N[d+28>>2];r=J[d+28>>2];J[a+160>>2]=r;J[a+164>>2]=h;s=N[k+32>>2];h=J[k+32>>2];j=N[k+28>>2];J[a+168>>2]=J[k+28>>2];J[a+172>>2]=h;t=N[d+120>>2];N[a+176>>2]=t;u=N[k+120>>2];N[a+180>>2]=u;x=N[d+128>>2];N[a+184>>2]=x;y=N[k+128>>2];N[a+188>>2]=y;p=N[a+96>>2];k=J[b+24>>2];d=P(w,12);r=k+d|0;e=N[r+8>>2];g=Za(e);l=N[a+92>>2];e=_a(e);h=J[b+28>>2];d=d+h|0;z=N[d>>2];A=N[d+4>>2];B=N[d+8>>2];q=P(q,12);d=q+h|0;C=N[d>>2];D=N[d+4>>2];E=N[d+8>>2];d=k+q|0;m=N[d>>2];f=N[d+4>>2];n=N[r>>2];v=N[r+4>>2];i=N[d+8>>2];c=Q(l-c);l=Q(p-o);p=Q(Q(e*c)-Q(g*l));N[a+144>>2]=p;l=Q(Q(g*c)+Q(e*l));N[a+148>>2]=l;e=N[a+104>>2];g=Za(i);c=N[a+100>>2];i=_a(i);c=Q(c-j);e=Q(e-s);j=Q(Q(i*c)-Q(g*e));N[a+152>>2]=j;o=Q(Q(g*c)+Q(i*e));N[a+156>>2]=o;m=Q(Q(m+j)-N[a+76>>2]);f=Q(Q(f+o)-N[a+80>>2]);s=Q(Y(Q(Q(m*m)+Q(f*f))));g=Q(0);e=Q(0);i=Q(0);c=Q(Q(n+p)-N[a+68>>2]);n=Q(Q(v+l)-N[a+72>>2]);v=Q(Y(Q(Q(c*c)+Q(n*n))));if(v>Q(.04999999701976776)){e=Q(Q(1)/v);i=Q(n*e);e=Q(c*e)}N[a+132>>2]=i;N[a+128>>2]=e;c=Q(0);if(s>Q(.04999999701976776)){g=Q(Q(1)/s);c=Q(f*g);g=Q(m*g)}N[a+140>>2]=c;N[a+136>>2]=g;m=N[a+112>>2];f=Q(Q(j*c)-Q(g*o));n=Q(Q(m*m)*Q(Q(Q(y*f)*f)+u));f=Q(Q(p*i)-Q(e*l));f=Q(n+Q(Q(Q(x*f)*f)+t));N[a+192>>2]=f>Q(0)?Q(Q(1)/f):f;a:{if(K[b+20|0]){f=Q(N[b+8>>2]*N[a+116>>2]);N[a+116>>2]=f;n=j;j=c;c=Q(f*Q(-m));j=Q(j*c);g=Q(g*c);E=Q(Q(y*Q(Q(n*j)+Q(g*Q(-o))))+E);c=i;i=Q(-f);c=Q(c*i);e=Q(e*i);B=Q(Q(x*Q(Q(p*c)+Q(e*Q(-l))))+B);D=Q(D+Q(u*j));C=Q(C+Q(u*g));A=Q(A+Q(t*c));z=Q(z+Q(t*e));break a}J[a+116>>2]=0}h=J[b+28>>2]+P(w,12)|0;N[h+4>>2]=A;N[h>>2]=z;h=J[b+28>>2];N[(h+P(J[a+120>>2],12)|0)+8>>2]=B;h=h+P(J[a+124>>2],12)|0;N[h+4>>2]=D;N[h>>2]=C;N[(J[b+28>>2]+P(J[a+124>>2],12)|0)+8>>2]=E}function Af(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);g=La-48|0;La=g;if(!K[a+102989|0]){h=La-16|0;La=h;a:{b:{if(!Lb(5234,H[1373])){J[6228]=28;break b}b=2;if(!Lb(1373,43)){b=K[1373]!=114}b=Lb(1373,120)?b|128:b;b=Lb(1373,101)?b|524288:b;e=b;d=b|64;b=K[1373];d=(b|0)==114?e:d;d=(b|0)==119?d|512:d;J[h>>2]=438;J[h+4>>2]=0;b=Ga(-100,3319,((b|0)==97?d|1024:d)|32768,h|0)|0;if(b>>>0>=4294963201){J[6228]=0-b;b=-1}if((b|0)<0){break a}d=La-32|0;La=d;c:{d:{e:{if(!Lb(5234,H[1373])){J[6228]=28;break e}c=fb(1176);if(c){break d}}c=0;break c}Db(c,0,144);if(!Lb(1373,43)){J[c>>2]=K[1373]==114?8:4}f:{if(K[1373]!=97){e=J[c>>2];break f}e=sa(b|0,3,0)|0;if(!(e&1024)){e=e|1024;J[d+16>>2]=e;J[d+20>>2]=e>>31;sa(b|0,4,d+16|0)|0}e=J[c>>2]|128;J[c>>2]=e}J[c+80>>2]=-1;J[c+48>>2]=1024;J[c+60>>2]=b;J[c+44>>2]=c+152;g:{if(e&8){break g}J[d>>2]=d+24;J[d+4>>2]=0;if(Fa(b|0,21523,d|0)|0){break g}J[c+80>>2]=10}J[c+40>>2]=928;J[c+36>>2]=929;J[c+32>>2]=930;J[c+12>>2]=931;if(!K[24917]){J[c+76>>2]=-1}J[c+56>>2]=J[6244];e=J[6244];if(e){J[e+52>>2]=c}J[6244]=c}La=d+32|0;if(c){break a}qa(b|0)|0}c=0}La=h+16|0;J[6166]=c;i=N[a+102964>>2];O[g+40>>3]=N[a+102968>>2];O[g+32>>3]=i;Ya(8534,g+32|0);Ya(8557,0);J[g+16>>2]=J[a+102956>>2];Ya(9202,g+16|0);J[g>>2]=J[a+102960>>2];Ya(9262,g);b=J[a+102948>>2];if(b){while(1){J[b+8>>2]=f;Nd(b);f=f+1|0;b=J[b+96>>2];if(b){continue}break}}c=J[a+102952>>2];h:{if(!c){break h}b=0;f=c;while(1){J[f+56>>2]=b;b=b+1|0;f=J[f+12>>2];if(f){continue}break}if(!c){break h}while(1){if(J[c+4>>2]!=6){Ya(6623,0);Na[J[J[c>>2]+16>>2]](c);Ya(6618,0)}c=J[c+12>>2];if(c){continue}break}b=J[a+102952>>2];if(!b){break h}while(1){if(J[b+4>>2]==6){Ya(6623,0);Na[J[J[b>>2]+16>>2]](b);Ya(6618,0)}b=J[b+12>>2];if(b){continue}break}}Ya(7919,0);Ya(7936,0);Ya(6626,0);Ya(6645,0);a=J[6166];dc(a);Na[J[a+12>>2]](a)|0;if(!(H[a|0]&1)){c=J[a+52>>2];if(c){J[c+56>>2]=J[a+56>>2]}f=J[a+56>>2];if(f){J[f+52>>2]=c}if((a|0)==J[6244]){J[6244]=f}ab(J[a+96>>2]);ab(a)}J[6166]=0}La=g+48|0}function Jh(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0);d=J[a+48>>2];u=J[d+8>>2];J[a+108>>2]=u;i=J[a+52>>2];o=J[i+8>>2];J[a+112>>2]=o;E=N[d+32>>2];g=J[d+32>>2];m=N[d+28>>2];p=J[d+28>>2];J[a+140>>2]=p;J[a+144>>2]=g;F=N[i+32>>2];g=J[i+32>>2];n=N[i+28>>2];J[a+148>>2]=J[i+28>>2];J[a+152>>2]=g;s=N[d+120>>2];N[a+156>>2]=s;t=N[i+120>>2];N[a+160>>2]=t;v=N[d+128>>2];N[a+164>>2]=v;w=N[i+128>>2];N[a+168>>2]=w;j=N[a+84>>2];i=J[b+24>>2];d=P(u,12);p=i+d|0;e=N[p+8>>2];f=Za(e);h=N[a+80>>2];e=_a(e);g=J[b+28>>2];d=d+g|0;x=N[d>>2];y=N[d+4>>2];z=N[d+8>>2];o=P(o,12);d=o+g|0;A=N[d>>2];B=N[d+4>>2];C=N[d+8>>2];k=N[p>>2];d=i+o|0;q=N[d>>2];r=N[p+4>>2];l=N[d+4>>2];c=N[d+8>>2];h=Q(h-m);j=Q(j-E);m=Q(Q(e*h)-Q(f*j));N[a+124>>2]=m;j=Q(Q(f*h)+Q(e*j));N[a+128>>2]=j;e=N[a+92>>2];f=Za(c);h=N[a+88>>2];c=_a(c);h=Q(h-n);e=Q(e-F);n=Q(Q(c*h)-Q(f*e));N[a+132>>2]=n;h=Q(Q(f*h)+Q(c*e));N[a+136>>2]=h;f=Q(0);e=Q(0);c=Q(Q(Q(q+n)-k)-m);k=Q(Q(Q(l+h)-r)-j);q=Q(Y(Q(Q(c*c)+Q(k*k))));if(q>Q(.004999999888241291)){f=Q(Q(1)/q);e=Q(k*f);f=Q(c*f)}N[a+120>>2]=e;N[a+116>>2]=f;c=Q(Q(n*e)-Q(f*h));l=Q(Q(w*c)*c);c=Q(Q(m*e)-Q(f*j));c=Q(l+Q(t+Q(Q(Q(v*c)*c)+s)));k=N[a+68>>2];if(k>Q(0)){l=c;r=N[b>>2];c=Q(r*Q(Q(r*k)+N[a+72>>2]));D=c!=Q(0)?Q(Q(1)/c):Q(0);c=Q(l+D);l=Q(Q(k*Q(Q(q-N[a+104>>2])*r))*D)}else{l=Q(0)}N[a+76>>2]=l;N[a+96>>2]=D;N[a+172>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);a:{if(K[b+20|0]){c=Q(N[b+8>>2]*N[a+100>>2]);N[a+100>>2]=c;e=Q(e*c);f=Q(f*c);C=Q(Q(w*Q(Q(n*e)+Q(f*Q(-h))))+C);z=Q(z-Q(v*Q(Q(m*e)+Q(f*Q(-j)))));B=Q(B+Q(t*e));A=Q(A+Q(t*f));y=Q(y-Q(s*e));x=Q(x-Q(s*f));break a}J[a+100>>2]=0}g=J[b+28>>2]+P(u,12)|0;N[g+4>>2]=y;N[g>>2]=x;g=J[b+28>>2];N[(g+P(J[a+108>>2],12)|0)+8>>2]=z;g=g+P(J[a+112>>2],12)|0;N[g+4>>2]=B;N[g>>2]=A;N[(J[b+28>>2]+P(J[a+112>>2],12)|0)+8>>2]=C}function rg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=0,C=Q(0);f=J[a+48>>2];t=J[f+8>>2];J[a+132>>2]=t;c=J[a+52>>2];A=J[c+8>>2];J[a+136>>2]=A;n=N[f+32>>2];B=J[f+32>>2];l=N[f+28>>2];o=J[f+28>>2];J[a+156>>2]=o;J[a+160>>2]=B;C=N[c+32>>2];o=J[c+32>>2];i=N[c+28>>2];J[a+164>>2]=J[c+28>>2];J[a+168>>2]=o;r=N[f+120>>2];N[a+172>>2]=r;s=N[c+120>>2];N[a+176>>2]=s;p=N[f+128>>2];N[a+180>>2]=p;k=N[c+128>>2];N[a+184>>2]=k;d=N[a+72>>2];o=J[b+24>>2];c=P(t,12);q=N[(o+c|0)+8>>2];j=Za(q);g=N[a+68>>2];h=_a(q);f=J[b+28>>2];c=c+f|0;u=N[c>>2];v=N[c+4>>2];w=N[c+8>>2];c=f;f=P(A,12);c=c+f|0;x=N[c>>2];y=N[c+4>>2];z=N[c+8>>2];e=N[(f+o|0)+8>>2];g=Q(g-l);d=Q(d-n);l=Q(Q(h*g)-Q(j*d));N[a+140>>2]=l;d=Q(Q(j*g)+Q(h*d));N[a+144>>2]=d;g=Q(p+k);c=g>Q(0);N[a+208>>2]=c?Q(Q(1)/g):g;j=N[a+80>>2];h=Za(e);m=N[a+76>>2];n=_a(e);i=Q(m-i);m=Q(j-C);j=Q(Q(n*i)-Q(h*m));N[a+148>>2]=j;h=Q(Q(h*i)+Q(n*m));N[a+152>>2]=h;i=Q(r+s);N[a+188>>2]=Q(k*Q(h*h))+Q(Q(p*Q(d*d))+i);m=Q(-d);d=Q(Q(p*Q(l*m))-Q(k*Q(j*h)));N[a+196>>2]=d;N[a+192>>2]=d;N[a+200>>2]=Q(k*Q(j*j))+Q(Q(p*Q(l*l))+i);N[a+204>>2]=Q(e-q)-N[a+120>>2];if(!(K[a+116|0]?c:0)){J[a+96>>2]=0;J[a+100>>2]=0}if(!(K[a+104|0]?g>Q(0):0)){J[a+92>>2]=0}a:{if(K[b+20|0]){e=N[b+8>>2];d=Q(e*N[a+84>>2]);N[a+84>>2]=d;g=Q(e*N[a+92>>2]);N[a+92>>2]=g;q=Q(e*N[a+96>>2]);N[a+96>>2]=q;i=Q(e*N[a+100>>2]);N[a+100>>2]=i;e=Q(e*N[a+88>>2]);N[a+88>>2]=e;n=k;k=Q(Q(g+q)-i);z=Q(Q(n*Q(k+Q(Q(j*e)+Q(d*Q(-h)))))+z);w=Q(w-Q(p*Q(k+Q(Q(l*e)+Q(d*m)))));x=Q(x+Q(s*d));u=Q(u-Q(r*d));y=Q(y+Q(s*e));v=Q(v-Q(r*e));break a}J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0}c=J[b+28>>2]+P(t,12)|0;N[c+4>>2]=v;N[c>>2]=u;c=J[b+28>>2];N[(c+P(J[a+132>>2],12)|0)+8>>2]=w;c=c+P(J[a+136>>2],12)|0;N[c+4>>2]=y;N[c>>2]=x;N[(J[b+28>>2]+P(J[a+136>>2],12)|0)+8>>2]=z}function Vf(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0);c=La-80|0;La=c;h=J[b+24>>2];o=h+P(J[a+116>>2],12)|0;w=N[o>>2];h=h+P(J[a+120>>2],12)|0;x=N[h>>2];y=N[o+4>>2];z=N[h+4>>2];q=N[o+8>>2];j=N[a+144>>2];l=N[a+84>>2];r=N[h+8>>2];i=N[a+152>>2];s=N[a+92>>2];u=N[a+160>>2];v=N[a+156>>2];m=N[a+140>>2];p=N[a+80>>2];n=N[a+148>>2];t=N[a+88>>2];k=N[a+164>>2];e=N[a+168>>2];A=Q(k+e);N[c+76>>2]=A;g=Za(r);f=_a(r);d=Za(q);B=_a(q);m=Q(p-m);p=Q(l-j);l=Q(Q(B*m)-Q(d*p));n=Q(t-n);t=Q(s-i);j=Q(Q(f*n)-Q(g*t));i=Q(Q(k*l)+Q(e*j));N[c+72>>2]=i;N[c- -64>>2]=i;C=Q(v+u);N[c+60>>2]=Q(e*Q(j*j))+Q(Q(k*Q(l*l))+C);i=Q(Q(d*m)+Q(B*p));s=Q(-i);d=Q(Q(g*n)+Q(f*t));g=Q(Q(k*s)-Q(e*d));N[c+68>>2]=g;N[c+52>>2]=g;g=Q(Q(k*Q(l*s))-Q(e*Q(j*d)));N[c+56>>2]=g;N[c+44>>2]=Q(e*Q(d*d))+Q(Q(k*Q(i*i))+C);N[c+48>>2]=g;g=Q(Q(Q(z+d)-y)-i);f=Q(Q(Q(x+j)-w)-l);a:{if(N[a+68>>2]>Q(0)){N[c+24>>2]=f;N[c+28>>2]=g;Vd(c+12|0,c+44|0,c+24|0);n=e;m=d;d=N[c+12>>2];e=N[c+16>>2];j=Q(Q(n*Q(Q(m*d)-Q(j*e)))+r);k=Q(q-Q(k*Q(Q(i*d)-Q(l*e))));i=Q(Y(Q(Q(f*f)+Q(g*g))));e=Q(-e);f=Q(-d);o=1;break a}m=Q(-d);N[c+40>>2]=g;N[c+36>>2]=f;d=N[a+96>>2];N[c+28>>2]=g;N[c+24>>2]=f;d=Q(Q(r-q)-d);N[c+32>>2]=d;p=d>Q(0)?d:Q(-d);i=Q(Y(Q(Q(f*f)+Q(g*g))));n=e;b:{if(A>Q(0)){Wd(c+12|0,c+44|0,c+24|0);d=Q(-N[c+20>>2]);f=Q(-N[c+12>>2]);e=Q(-N[c+16>>2]);break b}Vd(c+12|0,c+44|0,c+36|0);f=Q(-N[c+12>>2]);d=Q(0);e=Q(-N[c+16>>2])}j=Q(Q(n*Q(Q(Q(j*e)+Q(f*m))+d))+r);k=Q(q-Q(k*Q(Q(Q(l*e)+Q(f*s))+d)));o=p<=Q(.03490658849477768)}h=J[b+24>>2]+P(J[a+116>>2],12)|0;N[h+4>>2]=y-Q(v*e);N[h>>2]=w-Q(v*f);h=J[b+24>>2];N[(h+P(J[a+116>>2],12)|0)+8>>2]=k;h=h+P(J[a+120>>2],12)|0;N[h+4>>2]=z+Q(u*e);N[h>>2]=x+Q(u*f);N[(J[b+24>>2]+P(J[a+120>>2],12)|0)+8>>2]=j;La=c+80|0;return o&i<=Q(.004999999888241291)}function Rf(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0);n=N[a+176>>2];s=N[a+180>>2];u=N[a+188>>2];t=N[a+184>>2];c=N[a+108>>2];f=N[a+212>>2];h=J[b+28>>2];y=h+P(J[a+156>>2],12)|0;i=N[y+8>>2];k=N[a+192>>2];d=N[y>>2];h=h+P(J[a+152>>2],12)|0;g=N[h>>2];o=N[y+4>>2];q=N[h+4>>2];l=N[a+196>>2];m=N[a+208>>2];p=N[h+8>>2];j=Q(Q(Q(c*N[a+244>>2])+Q(Q(Q(Q(f*i)+Q(Q(k*Q(d-g))+Q(Q(o-q)*l)))-Q(m*p))+N[a+240>>2]))*Q(-N[a+236>>2]));N[a+108>>2]=c+j;c=Q(N[b>>2]*N[a+132>>2]);e=Q(-c);v=N[a+104>>2];i=Q(i+Q(u*Q(f*j)));p=Q(p-Q(t*Q(m*j)));r=Q(v-Q(N[a+228>>2]*Q(Q(i-p)-N[a+136>>2])));c=c>r?r:c;c=c >2]=c;e=Q(c-v);c=Q(Q(u*e)+i);i=Q(p-Q(t*e));p=Q(l*j);o=Q(o+Q(s*p));e=Q(k*j);j=Q(d+Q(s*e));d=Q(q-Q(n*p));g=Q(g-Q(n*e));p=Q(-t);if(K[a+140|0]){q=N[a+112>>2];e=N[a+232>>2];v=N[a+120>>2];r=Q(v-N[a+124>>2]);w=r>Q(0)?r:Q(0);r=N[b+4>>2];x=Q(q-Q(e*Q(Q(w*r)+Q(Q(Q(-m)*i)+Q(Q(f*c)+Q(Q(k*Q(j-g))+Q(l*Q(o-d))))))));x=x>Q(0)?x:Q(0);N[a+112>>2]=x;z=N[a+116>>2];w=e;e=Q(N[a+128>>2]-v);r=Q(r*(e>Q(0)?e:Q(0)));q=Q(x-q);i=Q(Q(p*Q(m*q))+i);e=g;g=Q(k*q);e=Q(e-Q(n*g));j=Q(j+Q(s*g));g=d;d=Q(l*q);g=Q(g-Q(n*d));o=Q(o+Q(s*d));c=Q(Q(u*Q(f*q))+c);d=Q(z-Q(w*Q(r+Q(Q(Q(m*i)+Q(Q(k*Q(e-j))+Q(l*Q(g-o))))-Q(f*c)))));d=d>Q(0)?d:Q(0);N[a+116>>2]=d;w=f;f=Q(d-z);c=Q(c-Q(u*Q(w*f)));l=Q(l*f);o=Q(o-Q(s*l));k=Q(k*f);j=Q(j-Q(s*k));d=Q(g+Q(n*l));g=Q(e+Q(n*k));i=Q(Q(t*Q(m*f))+i)}k=N[a+220>>2];l=N[a+200>>2];m=N[a+204>>2];t=N[a+216>>2];f=Q(Q(Q(Q(k*c)+Q(Q(l*Q(j-g))+Q(Q(o-d)*m)))-Q(t*i))*Q(-N[a+224>>2]));N[a+100>>2]=N[a+100>>2]+f;m=Q(m*f);N[h+4>>2]=d-Q(n*m);d=n;n=Q(l*f);N[h>>2]=g-Q(d*n);h=J[b+28>>2];N[(h+P(J[a+152>>2],12)|0)+8>>2]=Q(p*Q(t*f))+i;h=h+P(J[a+156>>2],12)|0;N[h+4>>2]=o+Q(s*m);N[h>>2]=j+Q(s*n);N[(J[b+28>>2]+P(J[a+156>>2],12)|0)+8>>2]=Q(u*Q(k*f))+c}function lh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=Q(0);e=J[a+48>>2];v=J[e+8>>2];J[a+104>>2]=v;j=J[a+52>>2];p=J[j+8>>2];J[a+108>>2]=p;D=N[e+32>>2];c=J[e+32>>2];f=N[e+28>>2];J[a+128>>2]=J[e+28>>2];J[a+132>>2]=c;k=N[j+32>>2];E=J[j+32>>2];i=N[j+28>>2];c=J[j+28>>2];J[a+136>>2]=c;J[a+140>>2]=E;r=N[e+120>>2];N[a+156>>2]=r;s=N[j+120>>2];N[a+160>>2]=s;d=N[e+128>>2];N[a+164>>2]=d;q=N[j+128>>2];N[a+168>>2]=q;e=J[b+28>>2];j=P(p,12);c=e+j|0;w=N[c+8>>2];x=N[c+4>>2];y=N[c>>2];p=P(v,12);c=e+p|0;z=N[c+8>>2];A=N[c+4>>2];B=N[c>>2];e=J[b+24>>2];c=e+p|0;o=N[c>>2];e=e+j|0;t=N[e>>2];u=N[c+4>>2];F=N[e+4>>2];g=N[c+8>>2];n=N[e+8>>2];l=Q(d+q);N[a+188>>2]=l>Q(0)?Q(Q(1)/l):l;h=_a(n);m=Za(n);l=Q(Q(m*Q(-i))-Q(h*k));N[a+124>>2]=l;m=Q(Q(m*k)-Q(h*i));N[a+120>>2]=m;i=N[a+72>>2];h=_a(g);k=N[a+68>>2];C=Za(g);f=Q(k-f);k=Q(i-D);i=Q(Q(C*f)+Q(h*k));N[a+116>>2]=i;h=Q(Q(h*f)-Q(k*C));N[a+112>>2]=h;N[a+148>>2]=Q(Q(F+l)-u)-i;N[a+144>>2]=Q(Q(t+m)-o)-h;f=Q(r+s);o=Q(Q(Q(q*l)*l)+Q(Q(Q(d*i)*i)+f));k=o;o=Q(q*m);t=Q(Q(o*m)+Q(Q(Q(d*h)*h)+f));u=Q(-d);d=Q(Q(Q(h*u)*i)-Q(l*o));f=Q(Q(k*t)-Q(d*d));f=f!=Q(0)?Q(Q(1)/f):f;N[a+184>>2]=k*f;N[a+172>>2]=t*f;d=Q(d*Q(-f));N[a+180>>2]=d;N[a+176>>2]=d;N[a+152>>2]=Q(n-g)-N[a+76>>2];a:{if(K[b+20|0]){g=N[b+8>>2];d=Q(g*N[a+80>>2]);N[a+80>>2]=d;n=Q(g*N[a+88>>2]);N[a+88>>2]=n;g=Q(g*N[a+84>>2]);N[a+84>>2]=g;w=Q(Q(q*Q(Q(Q(m*g)-Q(d*l))+n))+w);z=Q(Q(u*Q(Q(Q(h*g)-Q(d*i))+n))+z);y=Q(y+Q(s*d));B=Q(B-Q(r*d));x=Q(x+Q(s*g));A=Q(A-Q(r*g));break a}J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0}c=J[b+28>>2]+P(v,12)|0;N[c+4>>2]=A;N[c>>2]=B;c=J[b+28>>2];N[(c+P(J[a+104>>2],12)|0)+8>>2]=z;c=c+P(J[a+108>>2],12)|0;N[c+4>>2]=x;N[c>>2]=y;N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=w}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=Q(0),r=0,s=0,t=0;g=J[J[a+48>>2]+12>>2];p=J[J[a+52>>2]+12>>2];J[b+60>>2]=0;e=N[c+12>>2];f=N[d+8>>2];h=N[p+12>>2];l=N[d+12>>2];m=N[p+16>>2];n=Q(Q(Q(Q(f*h)+Q(l*m))+N[d+4>>2])-N[c+4>>2]);i=N[c+8>>2];f=Q(Q(N[d>>2]+Q(Q(l*h)-Q(m*f)))-N[c>>2]);q=Q(Q(e*n)-Q(i*f));n=Q(Q(e*f)+Q(n*i));d=g+84|0;o=g+20|0;e=Q(N[g+8>>2]+N[p+8>>2]);a=1;c=0;g=J[g+148>>2];a:{if((g|0)>0){f=Q(-34028234663852886e22);a=0;while(1){j=a<<3;r=j+d|0;j=j+o|0;h=Q(Q(N[r>>2]*Q(n-N[j>>2]))+Q(Q(q-N[j+4>>2])*N[r+4>>2]));if(h>e){break a}j=f (j|0)?j:0)<<3)|0;j=J[g+4>>2];f=N[g+4>>2];r=J[g>>2];h=N[g>>2];g=o;o=c<<3;g=g+o|0;s=J[g+4>>2];l=N[g+4>>2];t=J[g>>2];m=N[g>>2];b:{if(a){J[b+56>>2]=1;J[b+60>>2]=1;a=d+o|0;c=J[a>>2];a=J[a+4>>2];N[b+52>>2]=Q(l+f)*Q(.5);N[b+48>>2]=Q(m+h)*Q(.5);J[b+40>>2]=c;J[b+44>>2]=a;break b}i=Q(n-m);k=Q(q-l);if(Q(Q(i*Q(h-m))+Q(k*Q(f-l)))<=Q(0)){f=Q(e*e);e=Q(Q(i*i)+Q(k*k));if(f >2]=1;J[b+60>>2]=1;N[b+40>>2]=i;N[b+44>>2]=k;e=Q(Y(e));if(!(e >2]=k*e;N[b+40>>2]=i*e}J[b+48>>2]=t;J[b+52>>2]=s;break b}i=Q(n-h);k=Q(q-f);if(Q(Q(i*Q(m-h))+Q(k*Q(l-f)))<=Q(0)){f=Q(e*e);e=Q(Q(i*i)+Q(k*k));if(f>2]=1;J[b+60>>2]=1;N[b+40>>2]=i;N[b+44>>2]=k;e=Q(Y(e));if(!(e >2]=k*e;N[b+40>>2]=i*e}J[b+48>>2]=r;J[b+52>>2]=j;break b}h=Q(Q(m+h)*Q(.5));a=d+(c<<3)|0;f=Q(Q(l+f)*Q(.5));if(e>2])+Q(Q(q-f)*N[a+4>>2]))){break a}J[b+56>>2]=1;J[b+60>>2]=1;c=J[a+4>>2];a=J[a>>2];N[b+52>>2]=f;N[b+48>>2]=h;J[b+40>>2]=a;J[b+44>>2]=c}a=J[p+16>>2];c=J[p+12>>2];J[b+16>>2]=0;J[b>>2]=c;J[b+4>>2]=a}}function ld(a,b){var c=0,d=0,e=0,f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=Q(0),m=0,n=0,o=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+40>>2];J[a+32>>2]=c;d=J[b+28>>2];J[a+48>>2]=d;n=a,o=Fb(c,P(d,88)),J[n+36>>2]=o;n=a,o=Fb(J[a+32>>2],P(J[a+48>>2],156)),J[n+40>>2]=o;J[a+24>>2]=J[b+32>>2];J[a+28>>2]=J[b+36>>2];J[a+44>>2]=J[b+24>>2];if(J[a+48>>2]>0){while(1){b=J[J[a+44>>2]+(h<<2)>>2];c=J[b+48>>2];j=N[J[c+12>>2]+8>>2];d=J[b+52>>2];g=N[J[d+12>>2]+8>>2];k=J[b+124>>2];e=J[d+8>>2];f=J[c+8>>2];c=J[a+40>>2]+P(h,156)|0;N[c+136>>2]=N[b+136>>2];N[c+140>>2]=N[b+140>>2];N[c+144>>2]=N[b+144>>2];J[c+112>>2]=J[f+8>>2];J[c+116>>2]=J[e+8>>2];N[c+120>>2]=N[f+120>>2];N[c+124>>2]=N[e+120>>2];N[c+128>>2]=N[f+128>>2];l=N[e+128>>2];J[c+152>>2]=h;N[c+132>>2]=l;J[c+148>>2]=k;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;d=J[a+36>>2]+P(h,88)|0;J[d+32>>2]=J[f+8>>2];J[d+36>>2]=J[e+8>>2];N[d+40>>2]=N[f+120>>2];N[d+44>>2]=N[e+120>>2];i=J[f+32>>2];J[d+48>>2]=J[f+28>>2];J[d+52>>2]=i;i=J[e+32>>2];J[d+56>>2]=J[e+28>>2];J[d+60>>2]=i;N[d+64>>2]=N[f+128>>2];N[d+68>>2]=N[e+128>>2];e=J[b+108>>2];J[d+16>>2]=J[b+104>>2];J[d+20>>2]=e;e=J[b+116>>2];f=J[b+112>>2];J[d+84>>2]=k;J[d+24>>2]=f;J[d+28>>2]=e;N[d+80>>2]=g;N[d+76>>2]=j;J[d+72>>2]=J[b+120>>2];if((k|0)>0){i=b- -64|0;e=0;while(1){b=c+P(e,36)|0;f=P(e,20)+i|0;a:{if(!K[a+20|0]){j=Q(0);g=Q(0);break a}g=N[a+8>>2];j=Q(g*N[f+12>>2]);g=Q(g*N[f+8>>2])}J[b+32>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;N[b+20>>2]=j;N[b+16>>2]=g;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;m=J[f+4>>2];b=d+(e<<3)|0;J[b>>2]=J[f>>2];J[b+4>>2]=m;e=e+1|0;if((k|0)!=(e|0)){continue}break}}h=h+1|0;if((h|0)>2]){continue}break}}return a}function bg(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);d=J[a+48>>2];s=J[d+8>>2];J[a+96>>2]=s;i=J[a+52>>2];n=J[i+8>>2];J[a+100>>2]=n;o=N[d+32>>2];f=J[d+32>>2];l=N[d+28>>2];p=J[d+28>>2];J[a+128>>2]=p;J[a+132>>2]=f;A=N[i+32>>2];f=J[i+32>>2];h=N[i+28>>2];J[a+136>>2]=J[i+28>>2];J[a+140>>2]=f;q=N[d+120>>2];N[a+144>>2]=q;r=N[i+120>>2];N[a+148>>2]=r;t=N[d+128>>2];N[a+152>>2]=t;u=N[i+128>>2];N[a+156>>2]=u;e=N[a+72>>2];i=J[b+24>>2];d=P(s,12);p=i+d|0;m=N[p+8>>2];k=Za(m);c=N[a+68>>2];g=_a(m);f=J[b+28>>2];d=d+f|0;m=N[d>>2];v=N[d+4>>2];w=N[d+8>>2];n=P(n,12);d=n+f|0;x=N[d>>2];y=N[d+4>>2];z=N[d+8>>2];B=N[p>>2];d=i+n|0;C=N[d>>2];D=N[p+4>>2];E=N[d+4>>2];j=N[d+8>>2];c=Q(c-l);e=Q(e-o);l=Q(Q(g*c)-Q(k*e));N[a+112>>2]=l;k=Q(Q(k*c)+Q(g*e));N[a+116>>2]=k;g=N[a+80>>2];e=Za(j);c=N[a+76>>2];j=_a(j);h=Q(c-h);c=Q(g-A);g=Q(Q(j*h)-Q(e*c));N[a+120>>2]=g;j=Q(Q(e*h)+Q(j*c));N[a+124>>2]=j;h=Q(Q(Q(C+g)-B)-l);e=Q(Q(Q(E+j)-D)-k);c=Q(Y(Q(Q(h*h)+Q(e*e))));N[a+88>>2]=c;if(c>Q(.004999999888241291)){c=Q(Q(1)/c);e=Q(e*c);N[a+108>>2]=e;h=Q(h*c);N[a+104>>2]=h;c=Q(Q(g*e)-Q(h*j));o=Q(Q(u*c)*c);c=Q(Q(l*e)-Q(h*k));c=Q(o+Q(r+Q(Q(Q(t*c)*c)+q)));N[a+160>>2]=c!=Q(0)?Q(Q(1)/c):Q(0);a:{if(K[b+20|0]){c=Q(N[b+8>>2]*N[a+92>>2]);N[a+92>>2]=c;o=g;g=Q(e*c);e=Q(h*c);z=Q(Q(u*Q(Q(o*g)+Q(e*Q(-j))))+z);w=Q(w-Q(t*Q(Q(l*g)+Q(e*Q(-k)))));y=Q(y+Q(r*g));x=Q(x+Q(r*e));v=Q(v-Q(q*g));m=Q(m-Q(q*e));break a}J[a+92>>2]=0}f=J[b+28>>2]+P(s,12)|0;N[f+4>>2]=v;N[f>>2]=m;f=J[b+28>>2];N[(f+P(J[a+96>>2],12)|0)+8>>2]=w;f=f+P(J[a+100>>2],12)|0;N[f+4>>2]=y;N[f>>2]=x;N[(J[b+28>>2]+P(J[a+100>>2],12)|0)+8>>2]=z;return}J[a+160>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+92>>2]=0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a>>2];g=J[a+4>>2]-d>>3;if(g>>>0>>0){d=b-g|0;g=a;a:{e=J[a+8>>2];b=J[a+4>>2];if(d>>>0<=e-b>>3>>>0){b:{if(!d){break b}a=b;f=d&7;if(f){e=0;while(1){i=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=i;a=a+8|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}b=(d<<3)+b|0;if((d-1&536870911)>>>0<7){break b}while(1){d=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=d;d=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=d;d=J[c+4>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=d;d=J[c+4>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=d;d=J[c+4>>2];J[a+32>>2]=J[c>>2];J[a+36>>2]=d;d=J[c+4>>2];J[a+40>>2]=J[c>>2];J[a+44>>2]=d;d=J[c+4>>2];J[a+48>>2]=J[c>>2];J[a+52>>2]=d;d=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=d;a=a- -64|0;if((b|0)!=(a|0)){continue}break}}J[g+4>>2]=b;break a}c:{f=J[g>>2];h=b-f>>3;a=h+d|0;if(a>>>0<536870912){e=e-f|0;f=e>>2;f=e>>>0>=2147483640?536870911:a>>>0 >>0?f:a;if(f){if(f>>>0>=536870912){break c}i=Xa(f<<3)}e=(h<<3)+i|0;a=e;h=d&7;if(h){while(1){j=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=j;a=a+8|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}h=(d<<3)+e|0;if((d-1&536870911)>>>0>=7){while(1){d=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=d;d=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=d;d=J[c+4>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=d;d=J[c+4>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=d;d=J[c+4>>2];J[a+32>>2]=J[c>>2];J[a+36>>2]=d;d=J[c+4>>2];J[a+40>>2]=J[c>>2];J[a+44>>2]=d;d=J[c+4>>2];J[a+48>>2]=J[c>>2];J[a+52>>2]=d;d=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=d;a=a- -64|0;if((h|0)!=(a|0)){continue}break}}c=J[g>>2];if((c|0)!=(b|0)){while(1){b=b-8|0;a=b;j=J[a+4>>2];e=e-8|0;d=e;J[d>>2]=J[a>>2];J[d+4>>2]=j;if((a|0)!=(c|0)){continue}break}b=J[g>>2]}J[g+8>>2]=(f<<3)+i;J[g+4>>2]=h;J[g>>2]=e;if(b){ab(b)}break a}ma();B()}Ub();B()}return}if(b>>>0 >>0){J[a+4>>2]=d+(b<<3)}}function og(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);e=J[b+24>>2];l=e+P(J[a+136>>2],12)|0;m=N[l+8>>2];u=N[l+4>>2];v=N[l>>2];e=e+P(J[a+132>>2],12)|0;n=N[e+8>>2];k=N[e+4>>2];w=N[e>>2];l=1;o=N[a+180>>2];p=N[a+184>>2];if(!(!K[a+116|0]|Q(o+p)==Q(0))){d=Q(Q(m-n)-N[a+120>>2]);g=N[a+128>>2];f=N[a+124>>2];c=Q(g-f);a:{if((c>Q(0)?c:Q(-c)) =g)){break a}c=Q(Q(d-g)+Q(-.03490658849477768));c=cQ(0)?c:Q(-c))<=Q(.03490658849477768);c=Q(c*Q(-N[a+208>>2]));m=Q(Q(p*c)+m);n=Q(n-Q(o*c))}h=N[a+168>>2];i=N[a+80>>2];x=Za(m);d=N[a+164>>2];f=N[a+76>>2];y=_a(m);g=N[a+160>>2];c=N[a+72>>2];j=Q(f-d);h=Q(i-h);q=Q(Q(x*j)+Q(y*h));i=Za(n);d=Q(N[a+68>>2]-N[a+156>>2]);f=_a(n);c=Q(c-g);r=Q(Q(i*d)+Q(f*c));s=N[a+172>>2];t=N[a+176>>2];g=Q(s+t);z=Q(Q(Q(q*p)*q)+Q(Q(Q(r*o)*r)+g));A=k;k=Q(Q(Q(u+q)-k)-r);h=Q(Q(y*j)-Q(h*x));j=Q(Q(f*d)-Q(c*i));i=Q(Q(Q(v+h)-w)-j);c=Q(h*p);d=Q(Q(Q(j*Q(-o))*r)-Q(q*c));g=Q(Q(c*h)+Q(Q(Q(j*o)*j)+g));c=Q(Q(z*g)-Q(d*d));c=Q(-(c!=Q(0)?Q(Q(1)/c):c));f=Q(Q(Q(z*k)-Q(i*d))*c);N[e+4>>2]=A-Q(s*f);c=Q(Q(Q(g*i)-Q(k*d))*c);N[e>>2]=w-Q(s*c);e=J[b+24>>2];N[(e+P(J[a+132>>2],12)|0)+8>>2]=n-Q(o*Q(Q(j*f)-Q(c*r)));e=e+P(J[a+136>>2],12)|0;N[e+4>>2]=u+Q(t*f);N[e>>2]=v+Q(t*c);N[(J[b+24>>2]+P(J[a+136>>2],12)|0)+8>>2]=Q(p*Q(Q(h*f)-Q(c*q)))+m;return Q(Y(Q(Q(i*i)+Q(k*k))))<=Q(.004999999888241291)&l}function nd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0;c=La-128|0;La=c;l=J[a+52>>2];i=J[a+48>>2];g=N[i+12>>2];f=N[i+20>>2];d=N[a+68>>2];e=N[i+24>>2];h=N[a+72>>2];N[c+124>>2]=Q(Q(f*d)+Q(e*h))+N[i+16>>2];N[c+120>>2]=g+Q(Q(e*d)-Q(h*f));g=N[l+12>>2];d=N[l+20>>2];h=N[a+76>>2];j=N[l+24>>2];k=N[a+80>>2];N[c+116>>2]=Q(Q(d*h)+Q(j*k))+N[l+16>>2];N[c+112>>2]=g+Q(Q(j*h)-Q(k*d));d=N[a+88>>2];h=N[a+84>>2];J[c+104>>2]=1060320051;J[c+108>>2]=1065353216;J[c+96>>2]=1060320051;J[c+100>>2]=1060320051;J[c+88>>2]=1050253722;J[c+92>>2]=1065353216;J[c+80>>2]=1050253722;J[c+84>>2]=1063675494;J[c+72>>2]=1050253722;J[c+76>>2]=1065353216;J[c+64>>2]=1063675494;J[c+68>>2]=1050253722;J[c+56>>2]=1063675494;J[c+60>>2]=1065353216;J[c+48>>2]=1050253722;J[c+52>>2]=1050253722;J[c+40>>2]=1053609165;J[c+44>>2]=1065353216;J[c+32>>2]=1053609165;J[c+36>>2]=1053609165;Na[J[J[b>>2]+24>>2]](b,c+120|0,c+112|0,c+32|0);g=Q(Q(f*h)+Q(e*d));f=Q(Q(e*h)-Q(d*f));a:{if(K[a+140|0]){e=N[a+124>>2];d=N[c+124>>2];N[c+28>>2]=Q(g*e)+d;h=N[c+120>>2];N[c+24>>2]=h+Q(f*e);e=g;g=N[a+128>>2];N[c+20>>2]=d+Q(e*g);N[c+16>>2]=h+Q(f*g);f=N[a+96>>2];e=N[i+20>>2];d=N[a+92>>2];h=N[i+24>>2];Na[J[J[b>>2]+24>>2]](b,c+24|0,c+16|0,c+96|0);j=N[c+28>>2];g=Q(Q(Q(e*d)+Q(h*f))*Q(.5));N[c+12>>2]=j-g;k=N[c+24>>2];f=Q(Q(Q(h*d)-Q(f*e))*Q(.5));N[c+8>>2]=k-f;N[c+4>>2]=g+j;N[c>>2]=f+k;a=c+8|0;Na[J[J[b>>2]+24>>2]](b,a,c,c+80|0);e=N[c+20>>2];N[c+12>>2]=e-g;d=N[c+16>>2];N[c+8>>2]=d-f;N[c+4>>2]=g+e;N[c>>2]=f+d;Na[J[J[b>>2]+24>>2]](b,a,c,c- -64|0);break a}e=N[c+124>>2];N[c+28>>2]=e-g;d=N[c+120>>2];N[c+24>>2]=d-f;N[c+20>>2]=g+e;N[c+16>>2]=f+d;Na[J[J[b>>2]+24>>2]](b,c+24|0,c+16|0,c+96|0)}Na[J[J[b>>2]+32>>2]](b,c+120|0,Q(5),c+96|0);Na[J[J[b>>2]+32>>2]](b,c+112|0,Q(5),c+48|0);La=c+128|0}function qh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=0,l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);j=J[a+48>>2];u=J[j+8>>2];J[a+104>>2]=u;k=J[a+52>>2];o=J[k+8>>2];J[a+108>>2]=o;q=N[j+32>>2];f=J[j+32>>2];n=N[j+28>>2];l=J[j+28>>2];J[a+128>>2]=l;J[a+132>>2]=f;r=N[k+32>>2];f=J[k+32>>2];g=N[k+28>>2];J[a+136>>2]=J[k+28>>2];J[a+140>>2]=f;s=N[j+120>>2];N[a+144>>2]=s;t=N[k+120>>2];N[a+148>>2]=t;d=N[j+128>>2];N[a+152>>2]=d;p=N[k+128>>2];N[a+156>>2]=p;h=N[a+72>>2];j=P(u,12);k=J[b+24>>2];e=N[(j+k|0)+8>>2];m=_a(e);i=N[a+68>>2];e=Za(e);f=J[b+28>>2];o=P(o,12);l=f+o|0;v=N[l+8>>2];w=N[l+4>>2];x=N[l>>2];l=j+f|0;y=N[l+8>>2];z=N[l+4>>2];A=N[l>>2];c=N[(k+o|0)+8>>2];i=Q(i-n);h=Q(h-q);n=Q(Q(e*i)+Q(m*h));N[a+116>>2]=n;m=Q(Q(m*i)-Q(h*e));N[a+112>>2]=m;e=Q(d+p);N[a+176>>2]=e>Q(0)?Q(Q(1)/e):e;e=N[a+80>>2];h=_a(c);i=N[a+76>>2];c=Za(c);g=Q(i-g);i=Q(e-r);e=Q(Q(c*g)+Q(h*i));N[a+124>>2]=e;h=Q(Q(h*g)-Q(i*c));N[a+120>>2]=h;c=Q(s+t);g=Q(Q(Q(p*e)*e)+Q(Q(Q(d*n)*n)+c));q=g;g=Q(p*h);i=Q(Q(g*h)+Q(Q(Q(d*m)*m)+c));r=Q(-d);d=Q(Q(Q(m*r)*n)-Q(e*g));c=Q(Q(q*i)-Q(d*d));c=c!=Q(0)?Q(Q(1)/c):c;N[a+172>>2]=q*c;N[a+160>>2]=i*c;d=Q(d*Q(-c));N[a+168>>2]=d;N[a+164>>2]=d;a:{if(K[b+20|0]){c=N[b+8>>2];d=Q(c*N[a+84>>2]);N[a+84>>2]=d;g=Q(c*N[a+92>>2]);N[a+92>>2]=g;c=Q(c*N[a+88>>2]);N[a+88>>2]=c;v=Q(Q(p*Q(g+Q(Q(h*c)-Q(d*e))))+v);y=Q(Q(r*Q(g+Q(Q(m*c)-Q(d*n))))+y);x=Q(x+Q(t*d));A=Q(A-Q(s*d));w=Q(w+Q(t*c));z=Q(z-Q(s*c));break a}J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0}f=J[b+28>>2]+P(u,12)|0;N[f+4>>2]=z;N[f>>2]=A;f=J[b+28>>2];N[(f+P(J[a+104>>2],12)|0)+8>>2]=y;f=f+P(J[a+108>>2],12)|0;N[f+4>>2]=w;N[f>>2]=x;N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=v}function Gd(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=0;c=La-416|0;La=c;Ya(7754,0);O[c+400>>3]=N[a+16>>2];Ya(6877,c+400|0);O[c+384>>3]=N[a+20>>2];Ya(6849,c+384|0);O[c+368>>3]=N[a>>2];Ya(6664,c+368|0);J[c+352>>2]=K[a+38|0];Ya(8789,c+352|0);J[c+336>>2]=L[a+32>>1];Ya(9027,c+336|0);J[c+320>>2]=L[a+34>>1];Ya(9069,c+320|0);J[c+304>>2]=I[a+36>>1];Ya(9107,c+304|0);a:{b:{c:{d:{e:{f:{a=J[a+12>>2];switch(J[a+4>>2]){case 0:break c;case 3:break d;case 2:break e;case 1:break f;default:break a}}Ya(7489,0);O[c+128>>3]=N[a+8>>2];Ya(6746,c+128|0);d=N[a+28>>2];O[c+120>>3]=N[a+32>>2];O[c+112>>3]=d;Ya(8496,c+112|0);d=N[a+12>>2];O[c+104>>3]=N[a+16>>2];O[c+96>>3]=d;Ya(8458,c+96|0);d=N[a+20>>2];O[c+88>>3]=N[a+24>>2];O[c+80>>3]=d;Ya(8420,c+80|0);d=N[a+36>>2];O[c+72>>3]=N[a+40>>2];O[c+64>>3]=d;Ya(8382,c- -64|0);J[c+48>>2]=K[a+44|0];Ya(8964,c+48|0);break b}Ya(7411,0);J[c+192>>2]=8;Ya(7793,c+192|0);e=J[a+148>>2];if((e|0)>0){while(1){e=a+(f<<3)|0;d=N[e+20>>2];O[c+176>>3]=N[e+24>>2];J[c+160>>2]=f;O[c+168>>3]=d;Ya(8173,c+160|0);f=f+1|0;e=J[a+148>>2];if((f|0)<(e|0)){continue}break}}J[c+144>>2]=e;Ya(9146,c+144|0);break b}Ya(7438,0);J[c+288>>2]=J[a+16>>2];Ya(7793,c+288|0);e=J[a+16>>2];if((e|0)>0){while(1){e=J[a+12>>2]+(f<<3)|0;d=N[e>>2];O[c+272>>3]=N[e+4>>2];J[c+256>>2]=f;O[c+264>>3]=d;Ya(8173,c+256|0);f=f+1|0;e=J[a+16>>2];if((f|0)<(e|0)){continue}break}}J[c+240>>2]=e;Ya(9170,c+240|0);d=N[a+20>>2];O[c+232>>3]=N[a+24>>2];O[c+224>>3]=d;Ya(7991,c+224|0);d=N[a+28>>2];O[c+216>>3]=N[a+32>>2];O[c+208>>3]=d;Ya(8032,c+208|0);break b}Ya(7463,0);O[c+32>>3]=N[a+8>>2];Ya(6746,c+32|0);d=N[a+12>>2];O[c+24>>3]=N[a+16>>2];O[c+16>>3]=d;Ya(8109,c+16|0)}Ya(9409,0);Ya(7387,0);Ya(9409,0);J[c>>2]=b;Ya(8625,c)}La=c+416|0}function cg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0);c=La-112|0;La=c;h=J[a+52>>2];f=J[a+48>>2];d=N[f+12>>2];e=N[f+20>>2];g=N[a+68>>2];i=N[f+24>>2];j=N[a+72>>2];N[c+108>>2]=Q(Q(e*g)+Q(i*j))+N[f+16>>2];N[c+104>>2]=d+Q(Q(i*g)-Q(j*e));d=N[h+12>>2];e=N[h+20>>2];g=N[a+76>>2];i=N[h+24>>2];j=N[a+80>>2];N[c+100>>2]=Q(Q(e*g)+Q(i*j))+N[h+16>>2];N[c+96>>2]=d+Q(Q(i*g)-Q(j*e));J[c+88>>2]=1060320051;J[c+92>>2]=1065353216;J[c+80>>2]=1060320051;J[c+84>>2]=1060320051;J[c+72>>2]=1050253722;J[c+76>>2]=1065353216;J[c+64>>2]=1050253722;J[c+68>>2]=1063675494;J[c+56>>2]=1050253722;J[c+60>>2]=1065353216;J[c+48>>2]=1063675494;J[c+52>>2]=1050253722;J[c+40>>2]=1063675494;J[c+44>>2]=1065353216;J[c+32>>2]=1050253722;J[c+36>>2]=1050253722;J[c+24>>2]=1053609165;J[c+28>>2]=1065353216;J[c+16>>2]=1053609165;J[c+20>>2]=1053609165;Na[J[J[b>>2]+32>>2]](b,c+104|0,Q(5),c+32|0);k=c+96|0;Na[J[J[b>>2]+32>>2]](b,k,Q(5),c+16|0);d=Q(Q(N[J[a+52>>2]+56>>2]-N[J[a+48>>2]+56>>2])-N[a+120>>2]);m=c,n=Q(Q(Za(d)*Q(.5))+N[c+100>>2]),N[m+4>>2]=n;d=_a(d);N[c>>2]=N[c+96>>2]+Q(d*Q(.5));l=c+80|0;Na[J[J[b>>2]+24>>2]](b,k,c,l);Na[J[J[b>>2]+16>>2]](b,k,Q(.5),l);if(K[a+116|0]){e=N[a+124>>2];g=Za(e);d=N[a+128>>2];N[c+4>>2]=Q(g*Q(.5))+N[c+100>>2];m=c,n=Q(Q(_a(e)*Q(.5))+N[c+96>>2]),N[m>>2]=n;a=c+96|0;Na[J[J[b>>2]+24>>2]](b,a,c,c- -64|0);m=c,n=Q(Q(Za(d)*Q(.5))+N[c+100>>2]),N[m+4>>2]=n;m=c,n=Q(Q(_a(d)*Q(.5))+N[c+96>>2]),N[m>>2]=n;Na[J[J[b>>2]+24>>2]](b,a,c,c+48|0)}J[c+8>>2]=1061997773;J[c+12>>2]=1065353216;J[c>>2]=1056964608;J[c+4>>2]=1061997773;a=c+104|0;Na[J[J[b>>2]+24>>2]](b,f+12|0,a,c);f=a;a=c+96|0;Na[J[J[b>>2]+24>>2]](b,f,a,c);Na[J[J[b>>2]+24>>2]](b,h+12|0,a,c);La=c+112|0}function hd(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);a:{switch(J[b+72>>2]){case 0:g=N[d>>2];f=N[c>>2];h=N[d+8>>2];i=N[b>>2];k=N[d+12>>2];m=N[b+4>>2];n=Q(Q(Q(h*i)+Q(k*m))+N[d+4>>2]);o=N[c+8>>2];p=N[b+24>>2];l=N[c+12>>2];q=N[b+28>>2];r=Q(Q(Q(o*p)+Q(l*q))+N[c+4>>2]);j=Q(n-r);N[a+4>>2]=j;h=Q(g+Q(Q(k*i)-Q(m*h)));i=Q(f+Q(Q(l*p)-Q(q*o)));g=Q(h-i);N[a>>2]=g;f=Q(Q(g*g)+Q(j*j));k=Q(Y(f));if(!(k>2]=k;f=Q(g*f);N[a>>2]=f;f=Q(Q(g*f)+Q(j*k))}N[a+12>>2]=Q(r+n)*Q(.5);N[a+8>>2]=Q(i+h)*Q(.5);N[a+16>>2]=Q(f-N[b+76>>2])-N[b+80>>2];return;case 1:j=N[c+8>>2];g=N[b+16>>2];f=N[c+12>>2];h=N[b+20>>2];i=Q(Q(j*g)+Q(f*h));N[a+4>>2]=i;k=Q(Q(f*g)-Q(h*j));N[a>>2]=k;j=N[b+28>>2];g=N[c+12>>2];m=N[b+80>>2];n=N[b+76>>2];o=N[c>>2];p=N[c+4>>2];f=N[c+8>>2];h=N[b+24>>2];l=N[d>>2];q=N[d+8>>2];b=(e<<3)+b|0;r=N[b>>2];t=N[d+12>>2];u=N[b+4>>2];s=Q(Q(Q(q*r)+Q(t*u))+N[d+4>>2]);N[a+12>>2]=s;l=Q(l+Q(Q(t*r)-Q(u*q)));N[a+8>>2]=l;N[a+16>>2]=Q(Q(Q(Q(l-Q(o+Q(Q(g*h)-Q(j*f))))*k)+Q(Q(s-Q(p+Q(Q(f*h)+Q(g*j))))*i))-n)-m;return;case 2:g=N[d+8>>2];f=N[b+16>>2];h=N[d+12>>2];i=N[b+20>>2];j=Q(Q(g*f)+Q(h*i));N[a+4>>2]=j;g=Q(Q(h*f)-Q(i*g));N[a>>2]=g;f=N[b+28>>2];h=N[d+12>>2];e=(e<<3)+b|0;i=N[e>>2];k=N[e+4>>2];m=N[c+12>>2];l=N[b+80>>2];q=N[b+76>>2];r=N[d>>2];t=N[d+4>>2];n=N[d+8>>2];o=N[b+24>>2];u=N[c>>2];s=N[c+4>>2];p=N[c+8>>2];N[a+4>>2]=-j;N[a>>2]=-g;s=Q(s+Q(Q(p*i)+Q(m*k)));N[a+12>>2]=s;i=Q(u+Q(Q(m*i)-Q(k*p)));N[a+8>>2]=i;N[a+16>>2]=Q(Q(Q(Q(i-Q(r+Q(Q(h*o)-Q(f*n))))*g)+Q(Q(s-Q(t+Q(Q(n*o)+Q(h*f))))*j))-q)-l;break;default:break a}}}function ec(a,b,c,d){var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0);f=La-48|0;La=f;if(J[a+28>>2]>0){while(1){g=J[a+12>>2];e=J[a+24>>2]+P(q,28)|0;Na[J[J[g>>2]+24>>2]](g,f+32|0,c,J[e+20>>2]);g=J[a+12>>2];Na[J[J[g>>2]+24>>2]](g,f+16|0,d,J[e+20>>2]);h=N[f+16>>2];j=N[f+32>>2];i=N[f+36>>2];k=N[f+20>>2];N[e+4>>2]=i>2]=h>j?j:h;h=N[f+24>>2];j=N[f+40>>2];i=N[f+44>>2];k=N[f+28>>2];N[e+12>>2]=i>k?i:k;N[e+8>>2]=h >2]=Q(Q(N[f+20>>2]+N[f+28>>2])*Q(.5))-Q(Q(N[f+36>>2]+N[f+44>>2])*Q(.5));N[f+8>>2]=Q(Q(N[f+16>>2]+N[f+24>>2])*Q(.5))-Q(Q(N[f+32>>2]+N[f+40>>2])*Q(.5));h=Q(N[f+12>>2]*Q(4));g=h >2];j=Q(Q(n+Q(.10000000149011612))+(g?Q(-0):h));o=N[e+4>>2];h=Q(Q(o+Q(-.10000000149011612))+(g?h:Q(-0)));i=Q(N[f+8>>2]*Q(4));g=i>2];k=Q(Q(p+Q(.10000000149011612))+(g?Q(-0):i));l=N[e>>2];i=Q(Q(l+Q(-.10000000149011612))+(g?i:Q(-0)));g=J[e+24>>2];m=P(g,40);e=m+J[b+4>>2]|0;r=N[e>>2];a:{b:{if(!(l>=r)){break b}l=o;o=N[e+4>>2];if(!(l>=o)){break b}l=p;p=N[e+8>>2];if(!(l<=p)){break b}l=n;n=N[e+12>>2];if(!(l<=n)|!(Q(i+Q(-.4000000059604645))<=r)|(!(o>=Q(h+Q(-.4000000059604645)))|!(p<=Q(k+Q(.4000000059604645))))){break b}e=0;if(n<=Q(j+Q(.4000000059604645))){break a}}Qd(b,g);e=m+J[b+4>>2]|0;N[e+12>>2]=j;N[e+8>>2]=k;N[e+4>>2]=h;N[e>>2]=i;Sd(b,g);H[(m+J[b+4>>2]|0)+36|0]=1;e=1}if(e){e=J[b+40>>2];if((e|0)==J[b+36>>2]){J[b+36>>2]=e<<1;m=J[b+32>>2];e=fb(e<<3);J[b+32>>2]=e;rb(e,m,J[b+40>>2]<<2);ab(m);e=J[b+40>>2]}J[J[b+32>>2]+(e<<2)>>2]=g;J[b+40>>2]=J[b+40>>2]+1}q=q+1|0;if((q|0)>2]){continue}break}}La=f+48|0}function pg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);q=J[b+28>>2];f=q+P(J[a+136>>2],12)|0;g=N[f+8>>2];r=N[f+4>>2];s=N[f>>2];f=P(J[a+132>>2],12)+q|0;d=N[f+8>>2];t=N[f+4>>2];u=N[f>>2];l=N[a+180>>2];m=N[a+184>>2];e=Q(l+m);if(!(!K[a+104|0]|e==Q(0))){c=Q(N[b>>2]*N[a+108>>2]);n=Q(-c);o=N[a+92>>2];i=Q(o-Q(N[a+208>>2]*Q(Q(g-d)-N[a+112>>2])));c=c>i?i:c;c=c >2]=c;c=Q(c-o);g=Q(Q(m*c)+g);d=Q(d-Q(l*c))}n=N[a+176>>2];o=N[a+172>>2];if(!(!K[a+116|0]|e==Q(0))){e=N[a+96>>2];c=N[a+208>>2];i=N[a+204>>2];h=Q(i-N[a+124>>2]);p=h>Q(0)?h:Q(0);h=N[b+4>>2];j=Q(e-Q(c*Q(Q(p*h)+Q(g-d))));j=j>Q(0)?j:Q(0);N[a+96>>2]=j;k=N[a+100>>2];p=c;c=Q(N[a+128>>2]-i);i=d;d=Q(j-e);e=Q(i-Q(l*d));g=Q(Q(m*d)+g);d=Q(k-Q(p*Q(Q(h*(c>Q(0)?c:Q(0)))+Q(e-g))));d=d>Q(0)?d:Q(0);N[a+100>>2]=d;d=Q(d-k);g=Q(g-Q(m*d));d=Q(Q(l*d)+e)}i=N[a+188>>2];h=N[a+200>>2];j=N[a+192>>2];k=N[a+196>>2];e=Q(Q(i*h)-Q(j*k));c=e!=Q(0)?Q(Q(1)/e):e;v=N[a+148>>2];w=N[a+140>>2];x=Q(Q(Q(r+Q(g*v))-t)-Q(d*w));e=Q(x*k);p=h;h=N[a+152>>2];k=N[a+144>>2];y=Q(Q(Q(s-Q(g*h))-u)+Q(d*k));e=Q(Q(e-Q(p*y))*c);N[a+84>>2]=N[a+84>>2]+e;c=Q(Q(Q(y*j)-Q(i*x))*c);N[a+88>>2]=N[a+88>>2]+c;N[f+4>>2]=t-Q(o*c);N[f>>2]=u-Q(o*e);f=J[b+28>>2];N[(f+P(J[a+132>>2],12)|0)+8>>2]=Q(Q(-l)*Q(Q(w*c)-Q(e*k)))+d;f=f+P(J[a+136>>2],12)|0;N[f+4>>2]=r+Q(n*c);N[f>>2]=s+Q(n*e);N[(J[b+28>>2]+P(J[a+136>>2],12)|0)+8>>2]=Q(m*Q(Q(v*c)-Q(e*h)))+g}function wd(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=0,z=0,A=0;j=J[b+148>>2];if((j|0)<=0){J[a>>2]=0;return Q(-34028234663852886e22)}a:{b:{c:{o=J[d+148>>2];if((o|0)<=0){c=j&3;if(j>>>0>=4){break c}g=Q(-34028234663852886e22);b=0;break b}g=N[e+12>>2];k=Q(N[c+4>>2]-N[e+4>>2]);f=N[e+8>>2];h=Q(N[c>>2]-N[e>>2]);v=Q(Q(g*k)-Q(f*h));w=Q(Q(g*h)+Q(f*k));h=N[c+12>>2];i=N[c+8>>2];k=Q(Q(g*h)+Q(i*f));d=d+20|0;x=b+20|0;y=b+84|0;p=Q(Q(g*i)-Q(h*f));r=Q(-p);z=o&-2;A=o&1;g=Q(-34028234663852886e22);c=0;while(1){b=c<<3;e=b+y|0;f=N[e>>2];i=N[e+4>>2];h=Q(Q(p*f)+Q(k*i));i=Q(Q(k*f)+Q(i*r));b=b+x|0;f=N[b>>2];l=N[b+4>>2];q=Q(v+Q(Q(p*f)+Q(k*l)));l=Q(w+Q(Q(k*f)+Q(l*r)));f=Q(34028234663852886e22);b=0;e=0;if((o|0)!=1){while(1){n=b<<3;s=d+(n|8)|0;t=Q(Q(i*Q(N[s>>2]-l))+Q(h*Q(N[s+4>>2]-q)));n=d+n|0;u=Q(Q(i*Q(N[n>>2]-l))+Q(h*Q(N[n+4>>2]-q)));f=f>u?u:f;f=f>t?t:f;b=b+2|0;e=e+2|0;if((z|0)!=(e|0)){continue}break}}if(A){b=d+(b<<3)|0;h=Q(Q(i*Q(N[b>>2]-l))+Q(h*Q(N[b+4>>2]-q)));f=f>h?h:f}b=f>g;m=b?c:m;g=b?f:g;c=c+1|0;if((j|0)!=(c|0)){continue}break}break a}d=j&-4;g=Q(-34028234663852886e22);b=0;e=0;while(1){j=g >2]=m;return g}function vg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);r=N[a+164>>2];k=N[a+96>>2];p=J[b+24>>2];g=p+P(J[a+120>>2],12)|0;u=N[g+8>>2];j=_a(u);l=N[a+160>>2];n=N[a+92>>2];h=Za(u);w=N[g+4>>2];t=N[a+72>>2];x=N[g>>2];m=N[a+68>>2];d=N[a+172>>2];c=N[a+104>>2];p=p+P(J[a+124>>2],12)|0;v=N[p+8>>2];i=_a(v);s=N[a+168>>2];e=N[a+100>>2];f=Za(v);y=N[p>>2];q=Q(e-s);d=Q(c-d);s=Q(Q(i*q)-Q(f*d));e=Q(Q(y+s)-N[a+76>>2]);z=N[p+4>>2];q=Q(Q(f*q)+Q(i*d));o=Q(Q(z+q)-N[a+80>>2]);i=Q(Y(Q(Q(e*e)+Q(o*o))));f=Q(0);d=Q(0);c=Q(0);l=Q(n-l);n=Q(k-r);r=Q(Q(j*l)-Q(h*n));k=Q(Q(x+r)-m);l=Q(Q(h*l)+Q(j*n));j=Q(Q(w+l)-t);h=Q(Y(Q(Q(k*k)+Q(j*j))));if(h>Q(.04999999701976776)){d=Q(Q(1)/h);c=Q(j*d);d=Q(k*d)}j=Q(0);if(i>Q(.04999999701976776)){f=Q(Q(1)/i);j=Q(o*f);f=Q(e*f)}A=c;m=Q(N[a+108>>2]-h);h=N[a+112>>2];i=Q(m-Q(h*i));e=Q(Q(s*j)-Q(f*q));k=N[a+188>>2];m=Q(Q(e*k)*e);e=N[a+180>>2];o=N[a+176>>2];c=Q(Q(r*c)-Q(d*l));n=N[a+184>>2];c=Q(Q(Q(h*h)*Q(m+e))+Q(o+Q(Q(c*n)*c)));t=Q(i*Q(-(c>Q(0)?Q(Q(1)/c):c)));m=Q(-t);c=Q(A*m);N[g+4>>2]=w+Q(o*c);d=Q(d*m);N[g>>2]=x+Q(o*d);g=J[b+24>>2];N[(g+P(J[a+120>>2],12)|0)+8>>2]=Q(n*Q(Q(r*c)-Q(d*l)))+u;g=g+P(J[a+124>>2],12)|0;d=Q(t*Q(-h));c=Q(j*d);N[g+4>>2]=z+Q(e*c);f=Q(f*d);N[g>>2]=y+Q(e*f);N[(J[b+24>>2]+P(J[a+124>>2],12)|0)+8>>2]=Q(k*Q(Q(s*c)-Q(f*q)))+v;return(i>Q(0)?i:Q(-i))>2];c=s+P(J[a+120>>2],12)|0;e=N[c+8>>2];m=N[c+4>>2];n=N[c>>2];c=P(J[a+116>>2],12)+s|0;f=N[c+8>>2];o=N[c+4>>2];p=N[c>>2];q=N[a+168>>2];r=N[a+164>>2];t=N[a+160>>2];u=N[a+156>>2];a:{if(N[a+68>>2]>Q(0)){d=N[a+112>>2];g=Q(Q(Q(d*N[a+100>>2])+Q(Q(e-f)+N[a+76>>2]))*Q(-N[a+204>>2]));N[a+112>>2]=d+g;f=Q(f-Q(r*g));h=N[a+128>>2];i=N[a+136>>2];e=Q(Q(q*g)+e);d=Q(Q(f*h)+Q(Q(n-Q(i*e))-p));j=N[a+132>>2];k=N[a+124>>2];l=Q(Q(Q(m+Q(j*e))-o)-Q(f*k));g=Q(Q(N[a+172>>2]*d)+Q(N[a+184>>2]*l));N[a+104>>2]=N[a+104>>2]-g;d=Q(Q(N[a+176>>2]*d)+Q(l*N[a+188>>2]));N[a+108>>2]=N[a+108>>2]-d;f=Q(f-Q(r*Q(Q(h*g)-Q(k*d))));e=Q(Q(q*Q(Q(i*g)-Q(j*d)))+e);break a}k=N[a+136>>2];l=N[a+128>>2];h=Q(Q(Q(n-Q(e*k))-p)+Q(f*l));v=N[a+132>>2];w=N[a+124>>2];i=Q(Q(Q(m+Q(e*v))-o)-Q(f*w));j=Q(e-f);g=Q(Q(Q(h*N[a+172>>2])+Q(i*N[a+184>>2]))+Q(j*N[a+196>>2]));N[a+104>>2]=N[a+104>>2]-g;d=Q(Q(Q(h*N[a+176>>2])+Q(i*N[a+188>>2]))+Q(j*N[a+200>>2]));N[a+108>>2]=N[a+108>>2]-d;h=Q(Q(Q(h*N[a+180>>2])+Q(i*N[a+192>>2]))+Q(j*N[a+204>>2]));N[a+112>>2]=N[a+112>>2]-h;f=Q(f-Q(r*Q(Q(Q(l*g)-Q(w*d))-h)));e=Q(Q(q*Q(Q(Q(k*g)-Q(v*d))-h))+e)}N[c+4>>2]=o+Q(u*d);N[c>>2]=p+Q(u*g);c=J[b+28>>2];N[(c+P(J[a+116>>2],12)|0)+8>>2]=f;c=c+P(J[a+120>>2],12)|0;N[c+4>>2]=m-Q(t*d);N[c>>2]=n-Q(t*g);N[(J[b+28>>2]+P(J[a+120>>2],12)|0)+8>>2]=e}function el(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Xa(103028);b=c;J[b+4>>2]=0;J[b+8>>2]=128;d=fb(1024);J[b>>2]=d;Db(d,0,J[b+8>>2]<<3);J[b+60>>2]=0;J[b+64>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;b=b+68|0;J[b+102796>>2]=0;J[b+102408>>2]=0;J[b+102400>>2]=0;J[b+102404>>2]=0;b=c+102868|0;J[b>>2]=-1;J[b+8>>2]=0;J[b+12>>2]=16;d=fb(640);J[b+4>>2]=d;Db(d,0,P(J[b+12>>2],40));d=J[b+12>>2];a:{if((d|0)<=1){e=d-1|0;d=J[b+4>>2];break a}d=J[b+4>>2];while(1){e=P(f,40);f=f+1|0;J[(e+d|0)+20>>2]=f;d=J[b+4>>2];J[(e+d|0)+32>>2]=-1;e=J[b+12>>2]-1|0;if((e|0)>(f|0)){continue}break}}J[(P(e,40)+d|0)+20>>2]=-1;J[(J[b+4>>2]+P(J[b+12>>2],40)|0)-8>>2]=-1;J[b+24>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+48>>2]=16;J[b+52>>2]=0;J[b+28>>2]=0;d=fb(128);J[b+36>>2]=16;J[b+40>>2]=0;J[b+44>>2]=d;g=b,h=fb(64),J[g+32>>2]=h;J[b+76>>2]=0;J[b+72>>2]=23748;J[b+68>>2]=23744;J[b+60>>2]=0;J[b+64>>2]=0;J[c+102948>>2]=0;J[c+102952>>2]=0;J[c+102976>>2]=0;J[c+102980>>2]=0;b=c+102956|0;J[b>>2]=0;J[b+4>>2]=0;H[c+102991|0]=1;H[c+102992|0]=1;H[c+102993|0]=0;H[c+102994|0]=1;H[c+102972|0]=1;b=J[a+4>>2];a=J[a>>2];H[c+102990|0]=1;I[c+102988>>1]=0;J[c+102964>>2]=a;J[c+102968>>2]=b;J[c+102984>>2]=0;J[c+102996>>2]=0;J[c+103e3>>2]=0;J[c+102944>>2]=c;a=c+103004|0;J[a>>2]=0;J[a+4>>2]=0;a=c+103012|0;J[a>>2]=0;J[a+4>>2]=0;a=c+103020|0;J[a>>2]=0;J[a+4>>2]=0;return c|0}function Ld(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=0,u=Q(0),v=0,w=0;J[a+60>>2]=0;t=J[b+24>>2];q=J[b+16>>2];f=N[c+12>>2];g=N[e+12>>2];h=N[d+12>>2];i=N[d+16>>2];k=N[e+8>>2];l=Q(Q(N[e>>2]+Q(Q(g*h)-Q(i*k)))-N[c>>2]);h=Q(Q(Q(Q(k*h)+Q(g*i))+N[e+4>>2])-N[c+4>>2]);m=N[c+8>>2];i=Q(Q(f*l)+Q(h*m));e=J[b+12>>2];c=J[b+20>>2];r=K[b+44|0];k=N[b+24>>2];j=N[b+16>>2];g=Q(k-j);n=N[b+12>>2];o=Q(i-n);l=Q(Q(f*h)-Q(m*l));p=Q(l-j);m=N[b+20>>2];f=Q(m-n);u=Q(Q(g*o)-Q(p*f));a:{if(u>2]+N[d+8>>2]);s=Q(Q(f*o)+Q(p*g));b:{if(s<=Q(0)){if(Q(Q(o*o)+Q(p*p))>Q(h*h)){break a}if(!r){g=Q(0);f=Q(0);break b}g=Q(0);f=Q(0);if(!(Q(Q(Q(n-N[b+28>>2])*Q(n-i))+Q(Q(j-l)*Q(j-N[b+32>>2])))>Q(0))){break b}break a}o=Q(Q(f*Q(m-i))+Q(g*Q(k-l)));if(o<=Q(0)){i=Q(i-m);j=Q(l-k);if(Q(Q(i*i)+Q(j*j))>Q(h*h)){break a}v=1;if(!r){g=Q(0);f=Q(0);e=c;q=t;break b}g=Q(0);f=Q(0);e=c;q=t;if(!(Q(Q(Q(N[b+36>>2]-m)*i)+Q(j*Q(N[b+40>>2]-k)))>Q(0))){break b}break a}p=i;i=Q(Q(1)/Q(Q(f*f)+Q(g*g)));n=Q(p-Q(i*Q(Q(o*n)+Q(s*m))));i=Q(l-Q(i*Q(Q(o*j)+Q(s*k))));if(Q(Q(n*n)+Q(i*i))>Q(h*h)){break a}v=65536;w=1;b=u>2]=w;J[a+60>>2]=1;J[a+48>>2]=e;N[a+40>>2]=g;J[a+16>>2]=v;J[a+52>>2]=q;N[a+44>>2]=f;b=J[d+16>>2];J[a>>2]=J[d+12>>2];J[a+4>>2]=b}}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=a+16|0;d=e;c=J[a+16>>2];a:{b:{if(!c){break b}while(1){d=c;c=J[c+16>>2];if(c>>>0>b>>>0){e=d;c=J[d>>2];if(c){continue}break b}if(b>>>0<=c>>>0){break a}c=J[d+4>>2];if(c){continue}break}e=d+4|0}c=Xa(20);J[c+8>>2]=d;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=b;J[e>>2]=c;b=J[J[a+12>>2]>>2];if(b){J[a+12>>2]=b;b=J[e>>2]}else{b=c}f=J[a+16>>2];d=(f|0)==(b|0);H[b+12|0]=d;c:{if(d){break c}while(1){c=J[b+8>>2];if(K[c+12|0]){break c}d:{d=J[c+8>>2];e=J[d>>2];if((e|0)==(c|0)){e=J[d+4>>2];if(!(!e|K[e+12|0])){break d}e:{if(J[c>>2]==(b|0)){b=c;break e}b=J[c+4>>2];e=J[b>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c;d=J[c+8>>2]}J[b+8>>2]=d;d=J[c+8>>2];J[((J[d>>2]!=(c|0))<<2)+d>>2]=b;J[b>>2]=c;J[c+8>>2]=b;d=J[b+8>>2];c=J[d>>2]}H[b+12|0]=1;H[d+12|0]=0;b=J[c+4>>2];J[d>>2]=b;if(b){J[b+8>>2]=d}J[c+8>>2]=J[d+8>>2];b=J[d+8>>2];J[((J[b>>2]!=(d|0))<<2)+b>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;break c}if(!(K[e+12|0]|!e)){break d}f:{if(J[c>>2]!=(b|0)){b=c;break f}e=J[b+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c;d=J[c+8>>2]}J[b+8>>2]=d;d=J[c+8>>2];J[((J[d>>2]!=(c|0))<<2)+d>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;d=J[b+8>>2]}H[b+12|0]=1;H[d+12|0]=0;b=J[d+4>>2];c=J[b>>2];J[d+4>>2]=c;if(c){J[c+8>>2]=d}J[b+8>>2]=J[d+8>>2];c=J[d+8>>2];J[((J[c>>2]!=(d|0))<<2)+c>>2]=b;J[b>>2]=d;J[d+8>>2]=b;break c}H[c+12|0]=1;H[d+12|0]=(d|0)==(f|0);H[e+12|0]=1;b=d;if((f|0)!=(d|0)){continue}break}}J[a+20>>2]=J[a+20>>2]+1}}function vh(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);g=N[a+240>>2];e=J[b+28>>2];c=e+P(J[a+160>>2],12)|0;i=N[c>>2];j=e+P(J[a+168>>2],12)|0;n=N[j>>2];f=N[c+4>>2];o=N[j+4>>2];h=N[a+244>>2];k=N[a+248>>2];l=e+P(J[a+164>>2],12)|0;p=N[l>>2];e=e+P(J[a+172>>2],12)|0;q=N[e>>2];r=N[l+4>>2];s=N[e+4>>2];m=N[a+252>>2];t=N[a+256>>2];u=N[c+8>>2];v=N[j+8>>2];w=N[a+264>>2];x=N[a+260>>2];y=N[l+8>>2];z=N[e+8>>2];A=N[a+268>>2];d=Q(Q(Q(Q(Q(g*Q(i-n))+Q(Q(f-o)*h))+Q(Q(k*Q(p-q))+Q(Q(r-s)*m)))+Q(Q(Q(t*u)-Q(v*w))+Q(Q(x*y)-Q(z*A))))*Q(-N[a+272>>2]));N[a+156>>2]=N[a+156>>2]+d;B=N[a+236>>2];C=N[a+220>>2];D=N[a+232>>2];E=N[a+216>>2];F=N[a+228>>2];G=N[a+212>>2];H=N[a+224>>2];I=f;f=Q(N[a+208>>2]*d);N[c+4>>2]=I+Q(h*f);N[c>>2]=i+Q(g*f);c=J[b+28>>2];N[(c+P(J[a+160>>2],12)|0)+8>>2]=u+Q(t*Q(H*d));c=c+P(J[a+164>>2],12)|0;i=Q(d*G);N[c+4>>2]=r+Q(m*i);N[c>>2]=p+Q(k*i);c=J[b+28>>2];N[(c+P(J[a+164>>2],12)|0)+8>>2]=y+Q(x*Q(d*F));c=c+P(J[a+168>>2],12)|0;f=h;h=Q(d*E);N[c+4>>2]=o-Q(f*h);N[c>>2]=n-Q(g*h);c=J[b+28>>2];N[(c+P(J[a+168>>2],12)|0)+8>>2]=v-Q(w*Q(d*D));c=c+P(J[a+172>>2],12)|0;g=Q(d*C);N[c+4>>2]=s-Q(m*g);N[c>>2]=q-Q(k*g);N[(J[b+28>>2]+P(J[a+172>>2],12)|0)+8>>2]=z-Q(A*Q(d*B))}function Wg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);j=J[a+52>>2];o=J[j+8>>2];J[a+116>>2]=o;s=N[j+32>>2];m=J[j+32>>2];e=N[j+28>>2];f=J[j+28>>2];J[a+128>>2]=f;J[a+132>>2]=m;k=N[j+120>>2];N[a+136>>2]=k;l=N[j+128>>2];N[a+140>>2]=l;m=P(o,12);f=m+J[b+28>>2]|0;p=N[f+4>>2];q=N[f>>2];t=N[f+8>>2];f=J[b+24>>2]+m|0;u=N[f>>2];v=N[f+4>>2];i=N[f+8>>2];g=N[b>>2];d=N[j+116>>2];c=Q(N[a+84>>2]*Q(6.2831854820251465));h=Q(g*Q(d*Q(c*c)));d=Q(g*Q(h+Q(c*Q(Q(d+d)*N[a+88>>2]))));c=d!=Q(0)?Q(Q(1)/d):d;N[a+108>>2]=c;h=Q(h*c);N[a+92>>2]=h;g=N[a+72>>2];d=Za(i);n=N[a+68>>2];r=_a(i);e=Q(n-e);g=Q(g-s);i=Q(Q(r*e)-Q(d*g));N[a+120>>2]=i;d=Q(Q(d*e)+Q(r*g));N[a+124>>2]=d;g=Q(c+Q(k+Q(Q(l*i)*i)));n=Q(c+Q(k+Q(Q(l*d)*d)));e=Q(d*Q(i*Q(-l)));c=Q(Q(g*n)-Q(e*e));c=c!=Q(0)?Q(Q(1)/c):c;N[a+144>>2]=g*c;N[a+156>>2]=n*c;c=Q(e*Q(-c));N[a+148>>2]=c;N[a+152>>2]=c;N[a+164>>2]=h*Q(Q(v+d)-N[a+80>>2]);N[a+160>>2]=h*Q(Q(u+i)-N[a+76>>2]);c=Q(t*Q(.9800000190734863));a:{if(K[b+20|0]){e=N[b+8>>2];h=Q(e*N[a+96>>2]);N[a+96>>2]=h;e=Q(e*N[a+100>>2]);N[a+100>>2]=e;c=Q(Q(l*Q(Q(i*e)-Q(h*d)))+c);q=Q(q+Q(k*h));p=Q(p+Q(k*e));break a}J[a+96>>2]=0;J[a+100>>2]=0}f=J[b+28>>2]+P(o,12)|0;N[f+4>>2]=p;N[f>>2]=q;N[(J[b+28>>2]+P(J[a+116>>2],12)|0)+8>>2]=c}function kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=La+-64|0;La=f;a:{if(gb(b,18416,0)){J[c>>2]=0;d=1;break a}b:{if(K[a+8|0]&24){e=1}else{if(!b){break b}e=sb(b,18148);if(!e){break b}e=(K[e+8|0]&24)!=0}g=gb(a,b,e)}if(g){d=1;a=J[c>>2];if(!a){break a}J[c>>2]=J[a>>2];break a}c:{if(!b){break c}e=sb(b,18196);if(!e){break a}b=J[c>>2];if(b){J[c>>2]=J[b>>2]}g=J[e+8>>2];b=J[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(gb(J[a+12>>2],J[e+12>>2],0)){break a}if(gb(J[a+12>>2],18404,0)){a=J[e+12>>2];if(!a){break a}d=!sb(a,18248);break a}g=J[a+12>>2];if(!g){break c}d=0;b=sb(g,18196);if(b){if(!(H[a+8|0]&1)){break a}a=J[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=sb(a,18196);if(!a|J[a+8>>2]&(J[b+8>>2]^-1)){break e}d=1;if(gb(J[b+12>>2],J[a+12>>2],0)){break d}if(!(H[b+8|0]&1)){break e}d=J[b+12>>2];if(!d){break e}b=sb(d,18196);if(b){a=J[a+12>>2];continue}break}b=sb(d,18308);if(!b){break e}c=Pc(b,J[a+12>>2])}d=c}break a}b=sb(g,18308);if(b){if(!(H[a+8|0]&1)){break a}d=Pc(b,J[e+12>>2]);break a}b=sb(g,18100);if(!b){break a}a=J[e+12>>2];if(!a){break a}a=sb(a,18100);if(!a){break a}Db(f+12|0,0,52);J[f+56>>2]=1;J[f+20>>2]=-1;J[f+16>>2]=b;J[f+8>>2]=a;Na[J[J[a>>2]+28>>2]](a,f+8|0,J[c>>2],1);a=J[f+32>>2];if(!(!J[c>>2]|(a|0)!=1)){J[c>>2]=J[f+24>>2]}d=(a|0)==1;break a}d=0}La=f- -64|0;return d|0}function kh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0);h=J[b+28>>2];f=h+P(J[a+104>>2],12)|0;m=N[f>>2];h=h+P(J[a+108>>2],12)|0;n=N[h>>2];o=N[f+4>>2];p=N[h+4>>2];q=N[a+160>>2];r=N[a+156>>2];s=N[a+168>>2];t=N[a+164>>2];g=N[b>>2];c=Q(g*N[a+96>>2]);i=Q(-c);j=N[a+88>>2];d=Q(N[b+4>>2]*N[a+100>>2]);e=N[h+8>>2];k=N[f+8>>2];l=Q(j-Q(N[a+188>>2]*Q(Q(d*N[a+152>>2])+Q(e-k))));c=c>l?l:c;c=c>2]=c;l=N[a+80>>2];u=N[a+116>>2];c=Q(c-j);i=Q(k-Q(t*c));k=N[a+124>>2];j=Q(e+Q(s*c));e=Q(Q(d*N[a+144>>2])+Q(Q(u*i)+Q(Q(n-Q(k*j))-m)));v=N[a+120>>2];w=N[a+112>>2];d=Q(Q(d*N[a+148>>2])+Q(Q(Q(p+Q(v*j))-o)-Q(w*i)));c=Q(l-Q(Q(N[a+172>>2]*e)+Q(N[a+180>>2]*d)));N[a+80>>2]=c;x=N[a+84>>2];d=Q(x-Q(Q(N[a+176>>2]*e)+Q(N[a+184>>2]*d)));N[a+84>>2]=d;e=Q(Q(c*c)+Q(d*d));g=Q(g*N[a+92>>2]);if(e>Q(g*g)){e=Q(Y(e));if(!(e>2]=d;c=Q(g*c);N[a+80>>2]=c}d=Q(d-x);N[f+4>>2]=o-Q(r*d);c=Q(c-l);N[f>>2]=m-Q(r*c);f=J[b+28>>2];N[(f+P(J[a+104>>2],12)|0)+8>>2]=Q(Q(-t)*Q(Q(w*d)-Q(c*u)))+i;f=f+P(J[a+108>>2],12)|0;N[f+4>>2]=p+Q(q*d);N[f>>2]=n+Q(q*c);N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=Q(s*Q(Q(v*d)-Q(c*k)))+j}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=J[a>>2];f=J[a+4>>2]-e>>2;if(f>>>0>>0){e=b-f|0;f=a;a:{d=J[a+8>>2];b=J[a+4>>2];if(e>>>0<=d-b>>2>>>0){b:{if(!e){break b}a=b;g=e&7;if(g){d=0;while(1){J[a>>2]=J[c>>2];a=a+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=(e<<2)+b|0;if((e-1&1073741823)>>>0<7){break b}while(1){J[a>>2]=J[c>>2];J[a+4>>2]=J[c>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=J[c>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=J[c>>2];a=a+32|0;if((b|0)!=(a|0)){continue}break}}J[f+4>>2]=b;break a}c:{g=J[f>>2];h=b-g>>2;a=h+e|0;if(a>>>0<1073741824){d=d-g|0;i=d>>1;i=d>>>0>=2147483644?1073741823:a>>>0>>0?i:a;if(i){if(i>>>0>=1073741824){break c}j=Xa(i<<2)}d=(h<<2)+j|0;a=d;h=e&7;if(h){while(1){J[a>>2]=J[c>>2];a=a+4|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}h=(e<<2)+d|0;if((e-1&1073741823)>>>0>=7){while(1){J[a>>2]=J[c>>2];J[a+4>>2]=J[c>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=J[c>>2];J[a+16>>2]=J[c>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=J[c>>2];J[a+28>>2]=J[c>>2];a=a+32|0;if((h|0)!=(a|0)){continue}break}}if((b|0)!=(g|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[f+8>>2]=(i<<2)+j;J[f+4>>2]=h;J[f>>2]=d;if(g){ab(g)}break a}ma();B()}Ub();B()}return}if(b>>>0>>0){J[a+4>>2]=e+(b<<2)}}function Hh(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0);if(N[a+68>>2]>Q(0)){a=1}else{d=N[a+144>>2];i=N[a+84>>2];j=J[b+24>>2];f=j+P(J[a+108>>2],12)|0;q=N[f+8>>2];c=_a(q);k=N[a+140>>2];n=N[a+80>>2];e=Za(q);g=N[a+152>>2];o=N[a+92>>2];j=j+P(J[a+112>>2],12)|0;r=N[j+8>>2];h=_a(r);l=N[a+148>>2];p=N[a+88>>2];m=Za(r);s=N[j>>2];l=Q(p-l);g=Q(o-g);o=Q(Q(h*l)-Q(m*g));p=N[f>>2];k=Q(n-k);i=Q(i-d);n=Q(Q(c*k)-Q(e*i));d=Q(Q(Q(s+o)-p)-n);t=N[j+4>>2];m=Q(Q(m*l)+Q(h*g));g=N[f+4>>2];i=Q(Q(e*k)+Q(c*i));c=Q(Q(Q(t+m)-g)-i);e=Q(Y(Q(Q(d*d)+Q(c*c))));a:{if(e >2];h=N[a+160>>2];l=N[a+164>>2];v=g;g=N[a+156>>2];w=c;c=Q(e-N[a+104>>2]);c=c>2]));e=Q(w*u);N[f+4>>2]=v-Q(g*e);d=Q(d*u);N[f>>2]=p-Q(g*d);f=J[b+24>>2];N[(f+P(J[a+108>>2],12)|0)+8>>2]=q-Q(l*Q(Q(n*e)-Q(d*i)));f=f+P(J[a+112>>2],12)|0;N[f+4>>2]=t+Q(h*e);N[f>>2]=s+Q(h*d);N[(J[b+24>>2]+P(J[a+112>>2],12)|0)+8>>2]=Q(k*Q(Q(o*e)-Q(d*m)))+r;a=(c>Q(0)?c:Q(-c))>2];e=h+P(J[a+104>>2],12)|0;m=N[e>>2];h=h+P(J[a+108>>2],12)|0;n=N[h>>2];o=N[e+4>>2];p=N[h+4>>2];q=N[a+148>>2];r=N[a+144>>2];s=N[a+156>>2];t=N[a+152>>2];g=N[b>>2];c=Q(g*N[a+100>>2]);d=Q(-c);i=N[a+92>>2];j=N[h+8>>2];k=N[e+8>>2];l=Q(i-Q(Q(j-k)*N[a+176>>2]));c=c>l?l:c;c=c>2]=c;l=N[a+84>>2];u=N[a+116>>2];c=Q(c-i);i=Q(k-Q(t*c));k=N[a+124>>2];j=Q(j+Q(s*c));d=Q(Q(u*i)+Q(Q(n-Q(k*j))-m));v=N[a+120>>2];w=N[a+112>>2];f=Q(Q(Q(p+Q(v*j))-o)-Q(w*i));c=Q(l-Q(Q(N[a+160>>2]*d)+Q(N[a+168>>2]*f)));N[a+84>>2]=c;x=N[a+88>>2];d=Q(x-Q(Q(N[a+164>>2]*d)+Q(N[a+172>>2]*f)));N[a+88>>2]=d;f=Q(Q(c*c)+Q(d*d));g=Q(g*N[a+96>>2]);if(f>Q(g*g)){f=Q(Y(f));if(!(f >2]=d;c=Q(g*c);N[a+84>>2]=c}d=Q(d-x);N[e+4>>2]=o-Q(r*d);c=Q(c-l);N[e>>2]=m-Q(r*c);e=J[b+28>>2];N[(e+P(J[a+104>>2],12)|0)+8>>2]=Q(Q(-t)*Q(Q(w*d)-Q(c*u)))+i;e=e+P(J[a+108>>2],12)|0;N[e+4>>2]=p+Q(q*d);N[e>>2]=n+Q(q*c);N[(J[b+28>>2]+P(J[a+108>>2],12)|0)+8>>2]=Q(s*Q(Q(v*d)-Q(c*k)))+j}function $f(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);d=N[a+132>>2];i=N[a+72>>2];j=J[b+24>>2];e=j+P(J[a+96>>2],12)|0;q=N[e+8>>2];c=_a(q);k=N[a+128>>2];n=N[a+68>>2];f=Za(q);g=N[a+140>>2];o=N[a+80>>2];j=j+P(J[a+100>>2],12)|0;r=N[j+8>>2];h=_a(r);l=N[a+136>>2];p=N[a+76>>2];m=Za(r);s=N[j>>2];l=Q(p-l);g=Q(o-g);o=Q(Q(h*l)-Q(m*g));p=N[e>>2];k=Q(n-k);i=Q(i-d);n=Q(Q(c*k)-Q(f*i));d=Q(Q(Q(s+o)-p)-n);t=N[j+4>>2];m=Q(Q(m*l)+Q(h*g));g=N[e+4>>2];i=Q(Q(f*k)+Q(c*i));c=Q(Q(Q(t+m)-g)-i);f=Q(Y(Q(Q(d*d)+Q(c*c))));a:{if(f>2]=f;k=N[a+156>>2];h=N[a+148>>2];l=N[a+152>>2];u=g;g=N[a+144>>2];v=c;c=Q(f-N[a+84>>2]);c=c>2]));c=Q(v*f);N[e+4>>2]=u-Q(g*c);d=Q(d*f);N[e>>2]=p-Q(g*d);e=J[b+24>>2];N[(e+P(J[a+96>>2],12)|0)+8>>2]=q-Q(l*Q(Q(n*c)-Q(d*i)));e=e+P(J[a+100>>2],12)|0;N[e+4>>2]=t+Q(h*c);N[e>>2]=s+Q(h*d);N[(J[b+24>>2]+P(J[a+100>>2],12)|0)+8>>2]=Q(k*Q(Q(o*c)-Q(d*m)))+r;return Q(N[a+88>>2]-N[a+84>>2])>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(gb(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;if(J[b+44>>2]!=4){f=a+16|0;h=f+(J[a+12>>2]<<3)|0;d=0;b:{c:{while(1){d:{if(f>>>0>=h>>>0){break d}I[b+52>>1]=0;oc(f,b,c,c,1,e);if(K[b+54|0]){break d}e:{if(!K[b+53|0]){break e}if(K[b+52|0]){d=1;if(J[b+24>>2]==1){break c}g=1;if(K[a+8|0]&2){break e}break c}g=1;if(!(H[a+8|0]&1)){break c}}f=f+8|0;continue}break}a=4;if(!g){break b}}a=3}J[b+44>>2]=a;if(d&1){break a}}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}g=J[a+12>>2];h=a+16|0;bc(h,b,c,d,e);f=a+24|0;g=h+(g<<3)|0;if(f>>>0>=g>>>0){break a}a=J[a+8>>2];if(!(!(a&2)&J[b+36>>2]!=1)){while(1){if(K[b+54|0]){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(K[b+54|0]|J[b+36>>2]==1){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(K[b+54|0]|J[b+36>>2]==1&J[b+24>>2]==1){break a}bc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=Q(0);e=J[a+88>>2];if(!K[e+102989|0]){c=eb(e,44);J[c+40>>2]=0;J[c+32>>2]=-65535;J[c+24>>2]=0;J[c+28>>2]=0;J[c>>2]=0;J[c+4>>2]=0;I[c+36>>1]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+40>>2]=J[b+4>>2];N[c+16>>2]=N[b+8>>2];j=N[b+12>>2];J[c+8>>2]=a;N[c+20>>2]=j;J[c+4>>2]=0;d=L[b+22>>1]|L[b+24>>1]<<16;I[c+32>>1]=d;I[c+34>>1]=d>>>16;I[c+36>>1]=L[b+26>>1];H[c+38|0]=K[b+20|0];d=J[b>>2];d=Na[J[J[d>>2]+8>>2]](d,e)|0;J[c+12>>2]=d;g=Na[J[J[d>>2]+12>>2]](d)|0;d=eb(e,P(g,28));J[c+24>>2]=d;a:{if((g|0)<=0){break a}e=0;if(g>>>0>=4){i=g&-4;while(1){f=d+P(e,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|1,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|2,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;f=d+P(e|3,28)|0;J[f+24>>2]=-1;J[f+16>>2]=0;e=e+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}g=g&3;if(!g){break a}h=0;while(1){i=d+P(e,28)|0;J[i+24>>2]=-1;J[i+16>>2]=0;e=e+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}J[c+28>>2]=0;N[c>>2]=N[b+16>>2];if(K[a+4|0]&32){Hd(c,J[a+88>>2]+102868|0,a+12|0)}J[c+4>>2]=J[a+100>>2];J[a+100>>2]=c;J[a+104>>2]=J[a+104>>2]+1;J[c+8>>2]=a;if(N[c>>2]>Q(0)){Tb(a)}H[J[a+88>>2]+102988|0]=1}return c|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=La-80|0;La=c;d=J[a+52>>2];e=J[a+48>>2];f=J[e+16>>2];J[c+72>>2]=J[e+12>>2];J[c+76>>2]=f;e=J[d+16>>2];J[c+64>>2]=J[d+12>>2];J[c+68>>2]=e;Na[J[J[a>>2]>>2]](c+56|0,a);Na[J[J[a>>2]+4>>2]](c+48|0,a);J[c+40>>2]=1061997773;J[c+44>>2]=1065353216;J[c+32>>2]=1056964608;J[c+36>>2]=1061997773;a:{b:{switch(J[a+4>>2]-3|0){case 0:Na[J[J[b>>2]+24>>2]](b,c+56|0,c+48|0,c+32|0);break a;case 1:f=J[a+72>>2];e=c+8|0;d=e;J[d>>2]=J[a+68>>2];J[d+4>>2]=f;f=J[a+80>>2];d=c+24|0;J[d>>2]=J[a+76>>2];J[d+4>>2]=f;a=c+32|0;Na[J[J[b>>2]+24>>2]](b,e,c+56|0,a);Na[J[J[b>>2]+24>>2]](b,d,c+48|0,a);Na[J[J[b>>2]+24>>2]](b,e,d,a);break a;case 2:J[c+16>>2]=0;J[c+20>>2]=1065353216;J[c+8>>2]=0;J[c+12>>2]=1065353216;d=c+56|0;a=c+8|0;Na[J[J[b>>2]+32>>2]](b,d,Q(4),a);e=c+48|0;Na[J[J[b>>2]+32>>2]](b,e,Q(4),a);J[c+16>>2]=1061997773;J[c+20>>2]=1065353216;J[c+8>>2]=1061997773;J[c+12>>2]=1061997773;Na[J[J[b>>2]+24>>2]](b,d,e,a);break a;default:break b}}d=c+56|0;a=c+32|0;Na[J[J[b>>2]+24>>2]](b,c+72|0,d,a);e=d;d=c+48|0;Na[J[J[b>>2]+24>>2]](b,e,d,a);Na[J[J[b>>2]+24>>2]](b,c- -64|0,d,a)}La=c+80|0}function rb(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Ha(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0 >>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0 >>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=La-16|0;La=g;J[g+12>>2]=b;h=a+102868|0;J[g+8>>2]=h;d=La-1040|0;La=d;J[d+1036>>2]=256;b=d+8|0;J[d+4>>2]=b;J[d+8>>2]=J[h>>2];a=b;e=1;while(1){a:{e=e-1|0;J[d+1032>>2]=e;f=J[(e<<2)+a>>2];b:{if((f|0)==-1){break b}i=P(f,40);f=i+J[h+4>>2]|0;if(Q(N[c>>2]-N[f+8>>2])>Q(0)|Q(N[c+4>>2]-N[f+12>>2])>Q(0)|(Q(N[f>>2]-N[c+8>>2])>Q(0)|Q(N[f+4>>2]-N[c+12>>2])>Q(0))){break b}if(J[f+24>>2]==-1){a=J[g+12>>2];e=Na[J[J[a>>2]+8>>2]](a,J[J[(J[J[g+8>>2]+4>>2]+i|0)+16>>2]+16>>2])|0;a=J[d+4>>2];if(!e){break a}e=J[d+1032>>2];if((e|0)>0){continue}break a}c:{if(J[d+1036>>2]!=(e|0)){break c}J[d+1036>>2]=e<<1;e=fb(e<<3);J[d+4>>2]=e;rb(e,a,J[d+1032>>2]<<2);if((a|0)==(b|0)){break c}ab(a)}a=J[d+4>>2];J[a+(J[d+1032>>2]<<2)>>2]=J[f+24>>2];e=J[d+1032>>2]+1|0;J[d+1032>>2]=e;d:{if((e|0)!=J[d+1036>>2]){break d}J[d+1036>>2]=e<<1;e=fb(e<<3);J[d+4>>2]=e;rb(e,a,J[d+1032>>2]<<2);if((a|0)==(b|0)){break d}ab(a)}a=J[d+4>>2];J[a+(J[d+1032>>2]<<2)>>2]=J[f+28>>2];e=J[d+1032>>2]+1|0;J[d+1032>>2]=e}if((e|0)>0){continue}}break}if((a|0)!=(b|0)){ab(a)}La=d+1040|0;La=g+16|0} -function Tb(a){a=a|0;var b=Q(0),c=Q(0),d=Q(0),e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=Q(0);g=La-16|0;La=g;J[a+116>>2]=0;J[a+120>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;a:{if(M[a>>2]<=1){f=J[a+16>>2];i=J[a+12>>2];J[a+44>>2]=i;J[a+48>>2]=f;J[a+36>>2]=i;J[a+40>>2]=f;N[a+52>>2]=N[a+56>>2];break a}c=N[3070];d=N[3069];b:{c:{f=J[a+100>>2];if(!f){break c}while(1){b=N[f>>2];if(b!=Q(0)){i=J[f+12>>2];Na[J[J[i>>2]+28>>2]](i,g,b);b=N[g>>2];e=Q(b+N[a+116>>2]);N[a+116>>2]=e;j=N[g+4>>2];k=N[g+8>>2];h=Q(N[g+12>>2]+N[a+124>>2]);N[a+124>>2]=h;d=Q(d+Q(b*j));c=Q(c+Q(b*k))}f=J[f+4>>2];if(f){continue}break}if(e>Q(0)){b=Q(Q(1)/e);N[a+120>>2]=b;d=Q(d*b);c=Q(c*b)}if(!(h>Q(0))|K[a+4|0]&16){break c}e=Q(h-Q(e*Q(Q(d*d)+Q(c*c))));N[a+124>>2]=e;b=Q(Q(1)/e);break b}J[a+124>>2]=0;b=Q(0)}N[a+128>>2]=b;N[a+32>>2]=c;N[a+28>>2]=d;b=N[a+44>>2];h=N[a+24>>2];j=N[a+20>>2];e=Q(N[a+12>>2]+Q(Q(h*d)-Q(c*j)));N[a+44>>2]=e;k=N[a+48>>2];c=Q(Q(Q(j*d)+Q(h*c))+N[a+16>>2]);N[a+48>>2]=c;N[a+40>>2]=c;N[a+36>>2]=e;d=N[a+72>>2];N[a+64>>2]=N[a+64>>2]-Q(d*Q(c-k));N[a+68>>2]=Q(d*Q(e-b))+N[a+68>>2]}La=g+16|0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0,g=0,h=Q(0);if(!K[a+102989|0]){c=eb(a,152);d=K[b+39|0];I[c+4>>1]=((d|0)!=0)<<3;d=d<<3;if(K[b+38|0]){d=d|16;I[c+4>>1]=d}if(K[b+36|0]){d=d|4;I[c+4>>1]=d}if(!(!K[b+37|0]|!J[b>>2])){d=d|2;I[c+4>>1]=d}if(K[b+40|0]){I[c+4>>1]=d|32}J[c+88>>2]=a;f=J[b+8>>2];d=J[b+4>>2];J[c+12>>2]=d;J[c+16>>2]=f;e=N[b+12>>2];J[c+44>>2]=d;J[c+48>>2]=f;J[c+36>>2]=d;J[c+40>>2]=f;J[c+28>>2]=0;J[c+32>>2]=0;g=c,h=_a(e),N[g+24>>2]=h;g=c,h=Za(e),N[g+20>>2]=h;e=N[b+12>>2];J[c+108>>2]=0;J[c+112>>2]=0;J[c+60>>2]=0;N[c+56>>2]=e;N[c+52>>2]=e;J[c+92>>2]=0;J[c+96>>2]=0;d=J[b+20>>2];J[c+64>>2]=J[b+16>>2];J[c+68>>2]=d;N[c+72>>2]=N[b+24>>2];N[c+132>>2]=N[b+28>>2];N[c+136>>2]=N[b+32>>2];e=N[b+48>>2];J[c+144>>2]=0;J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;N[c+140>>2]=e;d=J[b>>2];J[c+124>>2]=0;J[c+128>>2]=0;J[c>>2]=d;e=(d|0)==2?Q(1):Q(0);N[c+120>>2]=e;N[c+116>>2]=e;b=J[b+44>>2];J[c+100>>2]=0;J[c+104>>2]=0;J[c+148>>2]=b;d=c;J[c+92>>2]=0;b=J[a+102948>>2];J[c+96>>2]=b;if(b){J[b+92>>2]=d}J[a+102948>>2]=d;J[a+102956>>2]=J[a+102956>>2]+1}return d|0}function Qd(a,b){var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;if(J[a>>2]==(b|0)){J[a>>2]=-1;return}f=J[a+4>>2];d=J[(f+P(b,40)|0)+20>>2];e=P(d,40)+f|0;c=J[e+20>>2];k=b;b=J[e+24>>2];if((k|0)==(b|0)){b=J[e+28>>2]}a:{if((c|0)!=-1){e=f+P(c,40)|0;J[((d|0)==J[e+24>>2]?e+24|0:e+28|0)>>2]=b;J[(f+P(b,40)|0)+20>>2]=c;b=P(d,40);J[(b+J[a+4>>2]|0)+20>>2]=J[a+16>>2];J[(b+J[a+4>>2]|0)+32>>2]=-1;J[a+16>>2]=d;J[a+8>>2]=J[a+8>>2]-1;while(1){b=Rd(a,c);c=J[a+4>>2];e=P(b,40);b=c+e|0;f=P(J[b+28>>2],40);d=c+f|0;g=N[d>>2];k=P(J[b+24>>2],40);c=k+c|0;h=N[c>>2];i=N[c+4>>2];j=N[d+4>>2];N[b+4>>2]=i >2]=g>h?h:g;g=N[c+8>>2];h=N[d+8>>2];i=N[c+12>>2];j=N[d+12>>2];N[b+12>>2]=i>j?i:j;N[b+8>>2]=g>h?g:h;b=J[a+4>>2];d=b+e|0;c=J[(b+k|0)+32>>2];b=J[(b+f|0)+32>>2];J[d+32>>2]=((b|0)<(c|0)?c:b)+1;c=J[d+20>>2];if((c|0)!=-1){continue}break}break a}J[a>>2]=b;J[(f+P(b,40)|0)+20>>2]=-1;b=P(d,40);J[(b+J[a+4>>2]|0)+20>>2]=J[a+16>>2];J[(b+J[a+4>>2]|0)+32>>2]=-1;J[a+16>>2]=d;J[a+8>>2]=J[a+8>>2]-1}}function wg(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);k=Q(-N[a+112>>2]);l=N[a+136>>2];m=J[b+28>>2];c=m+P(J[a+124>>2],12)|0;n=N[c>>2];j=N[c+8>>2];o=N[a+156>>2];p=N[c+4>>2];q=N[a+152>>2];r=N[a+140>>2];f=N[a+128>>2];c=P(J[a+120>>2],12)+m|0;s=N[c>>2];d=N[c+8>>2];t=N[a+148>>2];g=N[c+4>>2];u=N[a+144>>2];h=N[a+132>>2];e=Q(Q(Q(k*Q(Q(l*Q(n-Q(j*o)))+Q(Q(p+Q(j*q))*r)))-Q(Q(f*Q(s-Q(d*t)))+Q(Q(g+Q(d*u))*h)))*Q(-N[a+192>>2]));N[a+116>>2]=N[a+116>>2]+e;w=N[a+188>>2];v=N[a+180>>2];x=N[a+184>>2];y=g;g=N[a+176>>2];i=h;h=Q(-e);i=Q(i*h);N[c+4>>2]=y+Q(g*i);f=Q(f*h);N[c>>2]=s+Q(g*f);c=J[b+28>>2];N[(c+P(J[a+120>>2],12)|0)+8>>2]=d+Q(x*Q(Q(u*i)-Q(f*t)));c=c+P(J[a+124>>2],12)|0;d=Q(e*k);e=Q(r*d);N[c+4>>2]=p+Q(v*e);d=Q(l*d);N[c>>2]=n+Q(v*d);N[(J[b+28>>2]+P(J[a+124>>2],12)|0)+8>>2]=j+Q(w*Q(Q(q*e)-Q(d*o)))}function ni(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);j=N[d+12>>2];g=N[d+4>>2];f=Q(N[c+4>>2]-g);k=N[d+8>>2];i=N[d>>2];h=Q(N[c>>2]-i);o=Q(Q(j*f)-Q(k*h));p=Q(Q(j*h)+Q(f*k));q=N[a+12>>2];m=Q(N[a+20>>2]-q);l=Q(-m);n=N[c+12>>2];u=N[c+8>>2];d=0;e=K[a+44|0];r=N[a+16>>2];h=Q(N[a+24>>2]-r);s=Q(Q(h*h)+Q(m*m));f=Q(Y(s));a:{if(f Q(0)?e:0){break b}i=Q(u-i);g=Q(n-g);n=Q(Q(Q(j*i)+Q(k*g))-p);i=Q(Q(Q(j*g)-Q(k*i))-o);g=Q(Q(f*n)+Q(i*l));if(g==Q(0)){break b}g=Q(t/g);if(gN[c+16>>2]|s==Q(0)){break b}h=Q(Q(Q(Q(Q(p+Q(n*g))-q)*m)+Q(h*Q(Q(o+Q(i*g))-r)))/s);if(hQ(1)){break b}N[b+8>>2]=g;h=Q(Q(k*f)+Q(j*l));a=t>Q(0);N[b+4>>2]=a?Q(-h):h;f=Q(Q(j*f)+Q(l*Q(-k)));N[b>>2]=a?Q(-f):f;d=1}return d|0}function ag(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);e=N[a+92>>2];c=Q(N[a+88>>2]-N[a+84>>2]);k=N[a+104>>2];d=J[b+28>>2];h=d+P(J[a+100>>2],12)|0;l=N[h>>2];i=N[h+8>>2];m=N[a+124>>2];d=d+P(J[a+96>>2],12)|0;n=N[d>>2];j=N[d+8>>2];o=N[a+116>>2];p=N[h+4>>2];q=N[a+120>>2];f=N[d+4>>2];r=N[a+112>>2];s=N[a+108>>2];g=Q(Q(k*Q(Q(l-Q(i*m))-Q(n-Q(j*o))))+Q(Q(Q(p+Q(i*q))-Q(f+Q(j*r)))*s));c=Q(e-Q(N[a+160>>2]*(c>2]*c)+g):g)));c=c>Q(0)?Q(0):c;N[a+92>>2]=c;t=N[a+156>>2];g=N[a+148>>2];u=N[a+152>>2];v=f;f=N[a+144>>2];c=Q(c-e);e=Q(s*c);N[d+4>>2]=v-Q(f*e);c=Q(k*c);N[d>>2]=n-Q(f*c);d=J[b+28>>2];N[(d+P(J[a+96>>2],12)|0)+8>>2]=j-Q(u*Q(Q(r*e)-Q(c*o)));d=d+P(J[a+100>>2],12)|0;N[d+4>>2]=p+Q(g*e);N[d>>2]=l+Q(g*c);N[(J[b+28>>2]+P(J[a+100>>2],12)|0)+8>>2]=i+Q(t*Q(Q(q*e)-Q(c*m)))}function ei(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);l=J[a+148>>2];if((l|0)<=0){return 0}g=N[d+4>>2];f=Q(N[c+12>>2]-g);h=N[d>>2];i=Q(N[c+8>>2]-h);j=N[d+12>>2];k=Q(N[c+4>>2]-g);g=N[d+8>>2];h=Q(N[c>>2]-h);m=Q(Q(j*k)-Q(g*h));p=Q(Q(Q(j*f)-Q(g*i))-m);n=Q(Q(j*h)+Q(k*g));q=Q(Q(Q(j*i)+Q(g*f))-n);r=Q(-g);k=N[c+16>>2];e=-1;d=0;h=Q(0);a:{while(1){c=(d<<3)+a|0;f=N[c+84>>2];o=N[c+88>>2];i=Q(Q(f*Q(N[c+20>>2]-n))+Q(Q(N[c+24>>2]-m)*o));f=Q(Q(f*q)+Q(p*o));b:{if(f==Q(0)){if(!(iQ(0))|!(ik)){d=d+1|0;if((l|0)==(d|0)){break a}continue}break}return 0}if((e|0)>=0){N[b+8>>2]=h;a=(e<<3)+a|0;f=N[a+84>>2];h=Q(g*f);g=N[a+88>>2];N[b+4>>2]=h+Q(j*g);N[b>>2]=Q(j*f)+Q(g*r);a=1}else{a=0}return a|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=0;g=N[c+12>>2];f=N[c+4>>2];d=N[c>>2];e=Q(N[c+8>>2]-d);a:{b:{if((e>Q(0)?e:Q(-e))>2]|d>N[a+8>>2]){break a}e=Q(34028234663852886e22);d=Q(-34028234663852886e22);break b}e=Q(Q(1)/e);h=Q(e*Q(N[a+8>>2]-d));d=Q(e*Q(N[a>>2]-d));i=hQ(34028234663852886e22)?Q(34028234663852886e22):e;d=i?h:d;d=d>Q(-34028234663852886e22)?d:Q(-34028234663852886e22);if(e Q(0)?g:Q(-g)) >2]-f));f=Q(j*Q(N[a+4>>2]-f));a=gd;d=i?j:d;f=a?f:g;if(d>(e >2]){break a}e=Q(0);if(f>N[a+12>>2]){break a}}if(d >2]>2]=e;N[b>>2]=h;N[b+8>>2]=d;k=1}return k|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;a:{if(K[a+102989|0]){break a}g=K[b+61|0];c=J[b+8>>2];if(c){J[c+12>>2]=J[b+12>>2]}d=J[b+12>>2];if(d){J[d+8>>2]=c}if(J[a+102952>>2]==(b|0)){J[a+102952>>2]=d}c=J[b+52>>2];d=J[b+48>>2];if(J[d>>2]){J[d+144>>2]=0;I[d+4>>1]=L[d+4>>1]|2}if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}e=J[b+24>>2];if(e){J[e+12>>2]=J[b+28>>2]}f=J[b+28>>2];if(f){J[f+8>>2]=e}if(J[d+108>>2]==(b+16|0)){J[d+108>>2]=f}J[b+24>>2]=0;J[b+28>>2]=0;e=J[b+40>>2];if(e){J[e+12>>2]=J[b+44>>2]}f=J[b+44>>2];if(f){J[f+8>>2]=e}if(J[c+108>>2]==(b+32|0)){J[c+108>>2]=f}J[b+40>>2]=0;J[b+44>>2]=0;Na[J[J[b>>2]+28>>2]](b)|0;e=J[b+4>>2]-1|0;if(e>>>0<=10){Ib(a,b,J[(e<<2)+12984>>2])}J[a+102960>>2]=J[a+102960>>2]-1;if(g){break a}b=J[c+112>>2];if(!b){break a}while(1){if((d|0)==J[b>>2]){a=J[b+4>>2];J[a+4>>2]=J[a+4>>2]|8}b=J[b+12>>2];if(b){continue}break}}}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){return 0}if((b|0)>=641){return fb(b)}d=K[b+24020|0];g=(d<<2)+a|0;b=J[g+12>>2];if(b){J[g+12>>2]=J[b>>2];return b}b=J[a+4>>2];if((b|0)==J[a+8>>2]){c=b+128|0;J[a+8>>2]=c;b=J[a>>2];c=fb(c<<3);J[a>>2]=c;rb(c,b,J[a+4>>2]<<3);Db(J[a>>2]+(J[a+4>>2]<<3)|0,0,1024);ab(b);b=J[a+4>>2]}h=J[a>>2]+(b<<3)|0;c=fb(16384);J[h+4>>2]=c;d=J[(d<<2)+12176>>2];J[h>>2]=d;e=16384/(d|0)|0;i=e-1|0;a:{if((e|0)<2){break a}b=0;if(e-2>>>0>=3){l=i&-4;e=0;while(1){f=c+P(d,b|1)|0;J[c+P(b,d)>>2]=f;j=f;f=c+P(d,b|2)|0;J[j>>2]=f;j=f;f=c+P(d,b|3)|0;J[j>>2]=f;b=b+4|0;J[f>>2]=c+P(d,b);e=e+4|0;if((l|0)!=(e|0)){continue}break}}e=i&3;if(!e){break a}while(1){f=c+P(b,d)|0;b=b+1|0;J[f>>2]=c+P(d,b);k=k+1|0;if((e|0)!=(k|0)){continue}break}}J[c+P(d,i)>>2]=0;J[g+12>>2]=J[c>>2];J[a+4>>2]=J[a+4>>2]+1;return J[h+4>>2]}function ml(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{if(b){if(!c){break j}break i}Ma=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}break g}if(!(c-1&c)){break f}f=(S(c)+33|0)-S(b)|0;g=0-f|0;break d}Ma=0;a=(b>>>0)/0|0;break a}d=32-S(b)|0;if(d>>>0<31){break e}break c}if((c|0)==1){break b}f=kl(c);c=f&31;if((f&63)>>>0>=32){a=b>>>c|0}else{d=b>>>c|0;a=((1< >>c}Ma=d;break a}f=d+1|0;g=63-d|0}d=f&63;e=d&31;if(d>>>0>=32){d=0;h=b>>>e|0}else{d=b>>>e|0;h=((1< >>e}g=g&63;e=g&31;if(g>>>0>=32){b=a< >>32-e|b< >>31;d=h<<1|b>>>31;e=l-(i+(d>>>0>g>>>0)|0)>>31;j=c&e;h=d-j|0;d=i-(d>>>0 >>0)|0;b=b<<1|a>>>31;a=k|a<<1;k=e&1;f=f-1|0;if(f){continue}break}}Ma=b<<1|a>>>31;a=k|a<<1;break a}a=0;b=0}Ma=b}return a}function Ih(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);f=N[a+100>>2];l=N[a+116>>2];c=J[b+28>>2];g=c+P(J[a+112>>2],12)|0;m=N[g>>2];h=N[g+8>>2];n=N[a+136>>2];c=c+P(J[a+108>>2],12)|0;o=N[c>>2];i=N[c+8>>2];p=N[a+128>>2];e=N[a+120>>2];q=N[g+4>>2];r=N[a+132>>2];d=N[c+4>>2];s=N[a+124>>2];j=Q(Q(Q(f*N[a+96>>2])+Q(N[a+76>>2]+Q(Q(l*Q(Q(m-Q(h*n))-Q(o-Q(i*p))))+Q(e*Q(Q(q+Q(h*r))-Q(d+Q(i*s)))))))*Q(-N[a+172>>2]));N[a+100>>2]=f+j;u=N[a+168>>2];t=N[a+160>>2];f=N[a+164>>2];k=d;d=N[a+156>>2];e=Q(e*j);N[c+4>>2]=k-Q(d*e);k=d;d=Q(l*j);N[c>>2]=o-Q(k*d);c=J[b+28>>2];N[(c+P(J[a+108>>2],12)|0)+8>>2]=i-Q(f*Q(Q(s*e)-Q(d*p)));c=c+P(J[a+112>>2],12)|0;N[c+4>>2]=q+Q(e*t);N[c>>2]=m+Q(d*t);N[(J[b+28>>2]+P(J[a+112>>2],12)|0)+8>>2]=h+Q(u*Q(Q(r*e)-Q(d*n)))}function Nd(a){a=a|0;var b=0,c=Q(0),d=0;b=La-224|0;La=b;d=J[a+8>>2];Ya(6623,0);Ya(7776,0);J[b+208>>2]=J[a>>2];Ya(8998,b+208|0);c=N[a+12>>2];O[b+200>>3]=N[a+16>>2];O[b+192>>3]=c;Ya(8141,b+192|0);O[b+176>>3]=N[a+56>>2];Ya(7141,b+176|0);c=N[a+64>>2];O[b+168>>3]=N[a+68>>2];O[b+160>>3]=c;Ya(7953,b+160|0);O[b+144>>3]=N[a+72>>2];Ya(6688,b+144|0);O[b+128>>3]=N[a+132>>2];Ya(7060,b+128|0);O[b+112>>3]=N[a+136>>2];Ya(7031,b+112|0);J[b+96>>2]=L[a+4>>1]&4;Ya(8818,b+96|0);J[b+80>>2]=L[a+4>>1]&2;Ya(8879,b+80|0);J[b+64>>2]=L[a+4>>1]&16;Ya(8847,b- -64|0);J[b+48>>2]=L[a+4>>1]&8;Ya(8734,b+48|0);J[b+32>>2]=L[a+4>>1]&32;Ya(8938,b+32|0);O[b+16>>3]=N[a+140>>2];Ya(7240,b+16|0);J[b>>2]=J[a+8>>2];Ya(8662,b);Ya(9409,0);a=J[a+100>>2];if(a){while(1){Ya(6621,0);Gd(a,d);Ya(6616,0);a=J[a+4>>2];if(a){continue}break}}Ya(6618,0);La=b+224|0}function cd(){Ka(18404,4986);Ja(18428,3314,1,1,0);ha(18440,2790,1,-128,127);ha(18464,2783,1,-128,127);ha(18452,2781,1,0,255);ha(18476,1481,2,-32768,32767);ha(18488,1472,2,0,65535);ha(18500,1867,4,-2147483648,2147483647);ha(18512,1858,4,0,-1);ha(18524,3531,4,-2147483648,2147483647);ha(18536,3522,4,0,-1);Nc(18548,2137,-2147483648,2147483647);Nc(18560,2136,0,-1);ua(18572,2130,4);ua(18584,4700,8);ta(19640,3549);ta(13932,6367);pa(14004,4,3536);pa(14080,2,3561);pa(14156,4,3576);Ia(19220,3334);ea(14196,0,6298);ea(14236,0,6400);ea(14276,1,6328);ea(14316,2,5863);ea(14356,3,5894);ea(14396,4,5934);ea(14436,5,5963);ea(14476,4,6437);ea(14516,5,6467);ea(14236,0,6065);ea(14276,1,6032);ea(14316,2,6131);ea(14356,3,6097);ea(14396,4,6265);ea(14436,5,6231);ea(14556,8,6198);ea(14596,9,6164);ea(14636,6,6001);ea(14676,7,6506)}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0;a:{if(K[J[a+88>>2]+102989|0]|J[a>>2]==(b|0)){break a}J[a>>2]=b;Tb(a);b:{if(!J[a>>2]){J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;N[a+52>>2]=N[a+56>>2];b=J[a+48>>2];J[a+36>>2]=J[a+44>>2];J[a+40>>2]=b;I[a+4>>1]=L[a+4>>1]&65533;b=J[a+100>>2];if(!b){break b}d=J[a+88>>2]+102868|0;c=a+12|0;while(1){ec(b,d,c,c);b=J[b+4>>2];if(b){continue}break}if(!J[a>>2]){break b}}J[a+144>>2]=0;I[a+4>>1]=L[a+4>>1]|2}J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+112>>2];if(b){while(1){c=J[b+12>>2];Sb(J[a+88>>2]+102868|0,J[b+4>>2]);b=c;if(b){continue}break}}J[a+112>>2]=0;c=J[a+100>>2];if(!c){break a}a=J[a+88>>2]+102868|0;while(1){d=J[c+28>>2];if((d|0)>0){b=0;while(1){Ac(a,J[(J[c+24>>2]+P(b,28)|0)+24>>2]);b=b+1|0;if((d|0)!=(b|0)){continue}break}}c=J[c+4>>2];if(c){continue}break}}}function Sb(a,b){var c=0,d=0,e=0,f=0;f=J[J[b+52>>2]+8>>2];d=J[J[b+48>>2]+8>>2];c=J[a+72>>2];if(!(!c|!(K[b+4|0]&2))){Na[J[J[c>>2]+12>>2]](c,b)}c=J[b+8>>2];if(c){J[c+12>>2]=J[b+12>>2]}e=J[b+12>>2];if(e){J[e+8>>2]=c}if(J[a+60>>2]==(b|0)){J[a+60>>2]=e}c=J[b+24>>2];if(c){J[c+12>>2]=J[b+28>>2]}e=J[b+28>>2];if(e){J[e+8>>2]=c}if(J[d+112>>2]==(b+16|0)){J[d+112>>2]=e}d=J[b+40>>2];if(d){J[d+12>>2]=J[b+44>>2]}c=J[b+44>>2];if(c){J[c+8>>2]=d}if(J[f+112>>2]==(b+32|0)){J[f+112>>2]=c}e=J[a+76>>2];f=J[b+52>>2];d=J[b+48>>2];a:{if(K[f+38|0]|(K[d+38|0]|J[b+124>>2]<=0)){break a}c=J[d+8>>2];if(J[c>>2]){J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}c=J[f+8>>2];if(!J[c>>2]){break a}J[c+144>>2]=0;I[c+4>>1]=L[c+4>>1]|2}Na[J[((P(J[J[d+12>>2]+4>>2],48)+24672|0)+P(J[J[f+12>>2]+4>>2],12)|0)+4>>2]](b,e);J[a+64>>2]=J[a+64>>2]-1}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=La-32|0;La=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ra(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[6228]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0 >>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ra(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[6228]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}La=f+32|0;return a|0}function _a(a){var b=Q(0),c=0,d=0,e=0,f=0;c=La-16|0;La=c;e=(C(a),v(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=Q(1);if(d>>>0<964689920){break a}b=wb(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=Q(-wb(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=vb(f+1.5707963267948966);break a}b=vb(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=wb(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=vb(-4.71238898038469-+a);break a}b=vb(+a+-4.71238898038469);break a}b=Q(a-a);if(d>>>0>=2139095040){break a}b:{switch(bd(a,c+8|0)&3){case 0:b=wb(O[c+8>>3]);break a;case 1:b=vb(-O[c+8>>3]);break a;case 2:b=Q(-wb(O[c+8>>3]));break a;default:break b}}b=vb(O[c+8>>3])}a=b;La=c+16|0;return a}function Hd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=Q(0);e=J[a+12>>2];e=Na[J[J[e>>2]+12>>2]](e)|0;J[a+28>>2]=e;if((e|0)>0){while(1){g=J[a+12>>2];e=J[a+24>>2]+P(h,28)|0;Na[J[J[g>>2]+24>>2]](g,e,c,h);g=Td(b);i=N[e>>2];d=P(g,40);f=d+J[b+4>>2]|0;N[f+4>>2]=N[e+4>>2]+Q(-.10000000149011612);N[f>>2]=i+Q(-.10000000149011612);i=N[e+12>>2];f=d+J[b+4>>2]|0;N[f+8>>2]=N[e+8>>2]+Q(.10000000149011612);N[f+12>>2]=i+Q(.10000000149011612);d=d+J[b+4>>2]|0;H[d+36|0]=1;J[d+32>>2]=0;J[d+16>>2]=e;Sd(b,g);J[b+28>>2]=J[b+28>>2]+1;d=J[b+40>>2];if((d|0)==J[b+36>>2]){J[b+36>>2]=d<<1;f=J[b+32>>2];d=fb(d<<3);J[b+32>>2]=d;rb(d,f,J[b+40>>2]<<2);ab(f);d=J[b+40>>2]}J[J[b+32>>2]+(d<<2)>>2]=g;J[b+40>>2]=J[b+40>>2]+1;J[e+20>>2]=h;J[e+16>>2]=a;J[e+24>>2]=g;h=h+1|0;if((h|0) >2]){continue}break}}}function Za(a){var b=0,c=0,d=0,e=0;b=La-16|0;La=b;e=(C(a),v(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=vb(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=Q(-wb(d+1.5707963267948966));break a}a=wb(d+-1.5707963267948966);break a}a=vb(-(((e|0)>=0?-3.141592653589793:3.141592653589793)+d));break a}if(c>>>0<=1088565717){if(c>>>0<=1085271519){d=+a;if((e|0)<0){a=wb(d+4.71238898038469);break a}a=Q(-wb(d+-4.71238898038469));break a}a=vb(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=Q(a-a);break a}b:{switch(bd(a,b+8|0)&3){case 0:a=vb(O[b+8>>3]);break a;case 1:a=wb(O[b+8>>3]);break a;case 2:a=vb(-O[b+8>>3]);break a;default:break b}}a=Q(-wb(O[b+8>>3]))}La=b+16|0;return a}function ci(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0),t=Q(0);n=a+24|0;j=N[n>>2];k=N[a+20>>2];l=J[a+148>>2];if((l|0)>0){a=a+20|0;while(1){o=a+(i<<3)|0;g=Q(N[o>>2]-k);i=i+1|0;p=a+(i<<3)|0;q=(i|0)<(l|0);d=Q(N[(q?p+4|0:n)>>2]-j);e=Q(N[(q?p:a)>>2]-k);f=Q(N[o+4>>2]-j);h=Q(Q(g*d)-Q(e*f));r=Q(Q(Q(h*Q(.0833333358168602))*Q(Q(Q(d*d)+Q(Q(f*f)+Q(f*d)))+Q(Q(e*e)+Q(Q(g*g)+Q(g*e)))))+r);h=Q(h*Q(.5));m=Q(m+h);f=Q(f+d);d=Q(h*Q(.3333333432674408));s=Q(s+Q(f*d));t=Q(t+Q(Q(g+e)*d));if((i|0)!=(l|0)){continue}break}}h=Q(m*c);N[b>>2]=h;e=Q(Q(1)/m);g=Q(s*e);d=Q(j+g);N[b+8>>2]=d;e=Q(t*e);f=Q(k+e);N[b+4>>2]=f;N[b+12>>2]=Q(h*Q(Q(Q(f*f)+Q(d*d))-Q(Q(e*e)+Q(g*g))))+Q(r*c)}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if(!K[a+102989|0]){c=J[b+108>>2];if(c){while(1){d=J[c+12>>2];e=J[a+102976>>2];if(e){Na[J[J[e>>2]+8>>2]](e,J[c+4>>2])}dd(a,J[c+4>>2]);J[b+108>>2]=d;c=d;if(c){continue}break}}J[b+108>>2]=0;c=J[b+112>>2];if(c){e=a+102868|0;while(1){d=J[c+12>>2];Sb(e,J[c+4>>2]);c=d;if(c){continue}break}}J[b+112>>2]=0;c=J[b+100>>2];if(c){f=a+102868|0;while(1){d=J[c+4>>2];e=J[a+102976>>2];if(e){Na[J[J[e>>2]+12>>2]](e,c)}wc(c,f);xc(c,a);Ib(a,c,44);J[b+100>>2]=d;J[b+104>>2]=J[b+104>>2]-1;c=d;if(c){continue}break}}J[b+100>>2]=0;J[b+104>>2]=0;c=J[b+92>>2];if(c){J[c+96>>2]=J[b+96>>2]}d=J[b+96>>2];if(d){J[d+92>>2]=c}if(J[a+102948>>2]==(b|0)){J[a+102948>>2]=d}J[a+102956>>2]=J[a+102956>>2]-1;Ib(a,b,152)}}function yg(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-224|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7727,0);J[b+208>>2]=e;Ya(7893,b+208|0);J[b+192>>2]=d;Ya(7867,b+192|0);J[b+176>>2]=K[a+61|0];Ya(8903,b+176|0);c=N[a+68>>2];O[b+168>>3]=N[a+72>>2];O[b+160>>3]=c;Ya(8309,b+160|0);c=N[a+76>>2];O[b+152>>3]=N[a+80>>2];O[b+144>>3]=c;Ya(8202,b+144|0);c=N[a+84>>2];O[b+136>>3]=N[a+88>>2];O[b+128>>3]=c;Ya(8275,b+128|0);O[b+112>>3]=N[a+100>>2];Ya(7211,b+112|0);J[b+96>>2]=K[a+140|0];Ya(8704,b+96|0);O[b+80>>3]=N[a+124>>2];Ya(6902,b+80|0);O[b+64>>3]=N[a+128>>2];Ya(6933,b- -64|0);J[b+48>>2]=K[a+141|0];Ya(8759,b+48|0);O[b+32>>3]=N[a+136>>2];Ya(7318,b+32|0);O[b+16>>3]=N[a+132>>2];Ya(7290,b+16|0);J[b>>2]=J[a+56>>2];Ya(8582,b);La=b+224|0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);e=0;k=N[c>>2];i=Q(N[c+8>>2]-k);l=N[c+4>>2];f=Q(N[c+12>>2]-l);h=Q(Q(i*i)+Q(f*f));a:{if(h >2];j=N[a+12>>2];n=N[a+16>>2];m=N[d+8>>2];k=Q(k-Q(N[d>>2]+Q(Q(g*j)-Q(n*m))));l=Q(l-Q(N[d+4>>2]+Q(Q(m*j)+Q(g*n))));g=Q(Q(k*i)+Q(l*f));j=N[a+8>>2];j=Q(Q(g*g)-Q(Q(Q(Q(k*k)+Q(l*l))-Q(j*j))*h));if(j>2]))){break a}h=Q(g/h);N[b+8>>2]=h;f=Q(l+Q(f*h));N[b+4>>2]=f;i=Q(k+Q(i*h));N[b>>2]=i;e=1;h=Q(Y(Q(Q(i*i)+Q(f*f))));if(h>2]=m*f;N[b>>2]=i*f}return e|0}function Xc(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Tc(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function sb(a,b){var c=0,d=0,e=0;c=La+-64|0;La=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=18052;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(gb(e,b,0)){J[c+56>>2]=1;Na[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}Na[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}La=c- -64|0;return d}function Vg(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);g=J[b+28>>2]+P(J[a+116>>2],12)|0;j=N[g>>2];h=N[g+8>>2];k=N[a+124>>2];c=N[a+108>>2];i=N[a+96>>2];d=Q(-Q(Q(Q(j-Q(h*k))+N[a+160>>2])+Q(c*i)));l=N[g+4>>2];m=N[a+120>>2];f=N[a+100>>2];e=Q(Q(Q(l+Q(h*m))+N[a+164>>2])+Q(c*f));c=Q(f+Q(Q(N[a+148>>2]*d)-Q(N[a+156>>2]*e)));N[a+100>>2]=c;d=Q(i+Q(Q(N[a+144>>2]*d)-Q(N[a+152>>2]*e)));N[a+96>>2]=d;n=Q(Q(d*d)+Q(c*c));e=Q(N[b>>2]*N[a+104>>2]);if(n>Q(e*e)){e=Q(e/Q(Y(n)));c=Q(c*e);N[a+100>>2]=c;d=Q(d*e);N[a+96>>2]=d}e=N[a+140>>2];c=Q(c-f);f=N[a+136>>2];N[g+4>>2]=l+Q(c*f);d=Q(d-i);N[g>>2]=j+Q(f*d);N[(J[b+28>>2]+P(J[a+116>>2],12)|0)+8>>2]=Q(e*Q(Q(m*c)-Q(d*k)))+h}function gi(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=d|0;e=Q(e);var f=Q(0),g=Q(0),h=0,i=0,j=Q(0),k=Q(0);J[a+84>>2]=0;J[a+88>>2]=-1082130432;J[a+148>>2]=4;J[a+108>>2]=-1082130432;J[a+112>>2]=0;J[a+100>>2]=0;J[a+104>>2]=1065353216;J[a+92>>2]=1065353216;J[a+96>>2]=0;N[a+48>>2]=c;f=Q(-b);N[a+44>>2]=f;N[a+40>>2]=c;N[a+36>>2]=b;c=Q(-c);N[a+32>>2]=c;N[a+28>>2]=b;N[a+24>>2]=c;N[a+20>>2]=f;i=J[d+4>>2];J[a+12>>2]=J[d>>2];J[a+16>>2]=i;c=Za(e);f=Q(-c);j=N[d+4>>2];k=N[d>>2];b=_a(e);while(1){d=(h<<3)+a|0;e=N[d+84>>2];g=N[d+88>>2];N[d+84>>2]=Q(b*e)+Q(g*f);N[d+88>>2]=Q(c*e)+Q(b*g);e=N[d+20>>2];g=N[d+24>>2];N[d+24>>2]=j+Q(Q(c*e)+Q(b*g));N[d+20>>2]=k+Q(Q(b*e)+Q(g*f));h=h+1|0;if((h|0)>2]){continue}break}}function Db(a,b,c){var d=0,e=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;a=P(b&255,16843009);J[e>>2]=a;c=c-d&-4;b=c+e|0;J[b-4>>2]=a;if(c>>>0<9){break a}J[e+8>>2]=a;J[e+4>>2]=a;J[b-8>>2]=a;J[b-12>>2]=a;if(c>>>0<25){break a}J[e+24>>2]=a;J[e+20>>2]=a;J[e+16>>2]=a;J[e+12>>2]=a;J[b-16>>2]=a;J[b-20>>2]=a;J[b-24>>2]=a;J[b-28>>2]=a;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}a=ll(a,0,1,1);d=Ma;b=b+e|0;while(1){J[b+24>>2]=a;J[b+28>>2]=d;J[b+16>>2]=a;J[b+20>>2]=d;J[b+8>>2]=a;J[b+12>>2]=d;J[b>>2]=a;J[b+4>>2]=d;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}}function Dg(a){a=a|0;var b=0,c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);b=J[a+52>>2];f=N[b+20>>2];g=Q(N[a+76>>2]-N[b+28>>2]);i=N[b+24>>2];j=Q(N[a+80>>2]-N[b+32>>2]);k=Q(Q(f*g)+Q(i*j));c=J[a+48>>2];d=N[c+20>>2];l=Q(N[a+68>>2]-N[c+28>>2]);e=N[c+24>>2];m=Q(N[a+72>>2]-N[c+32>>2]);n=Q(Q(d*l)+Q(e*m));o=N[a+84>>2];p=N[a+88>>2];q=Q(Q(e*o)-Q(p*d));h=N[c+72>>2];f=Q(Q(i*g)-Q(j*f));g=Q(Q(e*l)-Q(m*d));d=Q(Q(d*o)+Q(e*p));e=N[b+72>>2];return Q(Q(Q(Q(Q(Q(k+N[b+48>>2])-Q(n+N[c+48>>2]))*Q(q*h))-Q(Q(Q(f+N[b+44>>2])-Q(g+N[c+44>>2]))*Q(d*h)))+Q(Q(q*Q(Q(n*h)+Q(Q(N[b+64>>2]-Q(k*e))-N[c+64>>2])))+Q(d*Q(Q(Q(N[b+68>>2]+Q(f*e))-N[c+68>>2])-Q(g*h))))))}function ck(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);if(!(K[J[a+88>>2]+102989|0]|J[a>>2]!=2)){J[a+124>>2]=0;J[a+128>>2]=0;c=N[b>>2];c=c<=Q(0)?Q(1):c;N[a+116>>2]=c;N[a+120>>2]=Q(1)/c;e=N[b+12>>2];if(!(!(e>Q(0))|K[a+4|0]&16)){f=c;c=N[b+4>>2];d=Q(c*c);c=N[b+8>>2];c=Q(e-Q(f*Q(d+Q(c*c))));N[a+124>>2]=c;N[a+128>>2]=Q(1)/c}f=N[b+8>>2];h=J[b+8>>2];c=N[b+4>>2];b=J[b+4>>2];J[a+28>>2]=b;J[a+32>>2]=h;i=N[a+48>>2];d=N[a+20>>2];g=N[a+24>>2];e=Q(Q(Q(d*c)+Q(g*f))+N[a+16>>2]);N[a+48>>2]=e;j=N[a+44>>2];c=Q(N[a+12>>2]+Q(Q(g*c)-Q(f*d)));N[a+44>>2]=c;N[a+40>>2]=e;N[a+36>>2]=c;d=N[a+72>>2];N[a+64>>2]=N[a+64>>2]-Q(d*Q(e-i));N[a+68>>2]=Q(d*Q(c-j))+N[a+68>>2]}}function dg(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-208|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7631,0);J[b+192>>2]=e;Ya(7893,b+192|0);J[b+176>>2]=d;Ya(7867,b+176|0);J[b+160>>2]=K[a+61|0];Ya(8903,b+160|0);c=N[a+68>>2];O[b+152>>3]=N[a+72>>2];O[b+144>>3]=c;Ya(8309,b+144|0);c=N[a+76>>2];O[b+136>>3]=N[a+80>>2];O[b+128>>3]=c;Ya(8202,b+128|0);O[b+112>>3]=N[a+120>>2];Ya(7211,b+112|0);J[b+96>>2]=K[a+116|0];Ya(8704,b+96|0);O[b+80>>3]=N[a+124>>2];Ya(7161,b+80|0);O[b+64>>3]=N[a+128>>2];Ya(7186,b- -64|0);J[b+48>>2]=K[a+104|0];Ya(8759,b+48|0);O[b+32>>3]=N[a+112>>2];Ya(7318,b+32|0);O[b+16>>3]=N[a+108>>2];Ya(7112,b+16|0);J[b>>2]=J[a+56>>2];Ya(8582,b);La=b+208|0}function Lf(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-192|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7608,0);J[b+176>>2]=e;Ya(7893,b+176|0);J[b+160>>2]=d;Ya(7867,b+160|0);J[b+144>>2]=K[a+61|0];Ya(8903,b+144|0);c=N[a+68>>2];O[b+136>>3]=N[a+72>>2];O[b+128>>3]=c;Ya(8309,b+128|0);c=N[a+76>>2];O[b+120>>3]=N[a+80>>2];O[b+112>>3]=c;Ya(8202,b+112|0);c=N[a+84>>2];O[b+104>>3]=N[a+88>>2];O[b+96>>3]=c;Ya(8275,b+96|0);J[b+80>>2]=K[a+141|0];Ya(8759,b+80|0);O[b+64>>3]=N[a+136>>2];Ya(7318,b- -64|0);O[b+48>>3]=N[a+132>>2];Ya(7112,b+48|0);O[b+32>>3]=N[a+144>>2];Ya(6774,b+32|0);O[b+16>>3]=N[a+148>>2];Ya(7009,b+16|0);J[b>>2]=J[a+56>>2];Ya(8582,b);La=b+192|0}function tg(a){a=a|0;var b=0,c=Q(0),d=0,e=0;b=La-176|0;La=b;d=J[J[a+52>>2]+8>>2];e=J[J[a+48>>2]+8>>2];Ya(7513,0);J[b+160>>2]=e;Ya(7893,b+160|0);J[b+144>>2]=d;Ya(7867,b+144|0);J[b+128>>2]=K[a+61|0];Ya(8903,b+128|0);c=N[a+68>>2];O[b+120>>3]=N[a+72>>2];O[b+112>>3]=c;Ya(8345,b+112|0);c=N[a+76>>2];O[b+104>>3]=N[a+80>>2];O[b+96>>3]=c;Ya(8238,b+96|0);c=N[a+92>>2];O[b+88>>3]=N[a+96>>2];O[b+80>>3]=c;Ya(8309,b+80|0);c=N[a+100>>2];O[b+72>>3]=N[a+104>>2];O[b+64>>3]=c;Ya(8202,b- -64|0);O[b+48>>3]=N[a+84>>2];Ya(7365,b+48|0);O[b+32>>3]=N[a+88>>2];Ya(7343,b+32|0);O[b+16>>3]=N[a+112>>2];Ya(6829,b+16|0);J[b>>2]=J[a+56>>2];Ya(8582,b);La=b+176|0}function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);f=J[J[a+48>>2]+12>>2];a=J[J[a+52>>2]+12>>2];J[b+60>>2]=0;e=N[d+12>>2];g=N[a+12>>2];h=N[a+16>>2];i=N[d+8>>2];j=N[c+12>>2];k=N[f+12>>2];l=N[f+16>>2];m=N[c+8>>2];n=Q(Q(N[d>>2]+Q(Q(e*g)-Q(h*i)))-Q(N[c>>2]+Q(Q(j*k)-Q(l*m))));e=Q(Q(Q(Q(i*g)+Q(e*h))+N[d+4>>2])-Q(Q(Q(m*k)+Q(j*l))+N[c+4>>2]));g=Q(Q(n*n)+Q(e*e));e=Q(N[f+8>>2]+N[a+8>>2]);if(!(g>Q(e*e))){J[b+56>>2]=0;c=J[f+12>>2];d=J[f+16>>2];J[b+60>>2]=1;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=c;J[b+52>>2]=d;c=J[a+12>>2];a=J[a+16>>2];J[b+16>>2]=0;J[b>>2]=c;J[b+4>>2]=a}}function Wd(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0);l=N[b+8>>2];g=N[b+12>>2];h=N[b+28>>2];i=N[b+24>>2];d=N[b+16>>2];p=Q(Q(g*h)-Q(i*d));m=N[b>>2];j=N[b+32>>2];k=N[b+20>>2];q=Q(Q(d*j)-Q(h*k));n=N[b+4>>2];r=Q(Q(k*i)-Q(j*g));e=Q(Q(l*p)+Q(Q(m*q)+Q(n*r)));o=e!=Q(0)?Q(Q(1)/e):e;e=N[c+4>>2];f=N[c>>2];s=Q(l*Q(Q(g*e)-Q(f*d)));t=d;d=N[c+8>>2];N[a+8>>2]=o*Q(s+Q(Q(m*Q(Q(t*d)-Q(e*k)))+Q(n*Q(Q(k*f)-Q(d*g)))));N[a+4>>2]=o*Q(Q(l*Q(Q(f*h)-Q(i*e)))+Q(Q(m*Q(Q(e*j)-Q(h*d)))+Q(n*Q(Q(d*i)-Q(j*f)))));N[a>>2]=o*Q(Q(d*p)+Q(Q(f*q)+Q(r*e)))}function Td(a){var b=0,c=0,d=0;b=J[a+4>>2];c=J[a+16>>2];if((c|0)==-1){c=J[a+12>>2];J[a+12>>2]=c<<1;c=fb(P(c,80));J[a+4>>2]=c;rb(c,b,P(J[a+8>>2],40));ab(b);c=J[a+4>>2];b=J[a+8>>2];d=J[a+12>>2]-1|0;if((b|0)<(d|0)){while(1){d=P(b,40);b=b+1|0;J[(d+c|0)+20>>2]=b;c=J[a+4>>2];J[(d+c|0)+32>>2]=-1;d=J[a+12>>2]-1|0;if((d|0)>(b|0)){continue}break}}J[(P(d,40)+c|0)+20>>2]=-1;b=J[a+4>>2];J[(b+P(J[a+12>>2],40)|0)-8>>2]=-1;c=J[a+8>>2];J[a+16>>2]=c}d=b;b=P(c,40);d=d+b|0;J[a+16>>2]=J[d+20>>2];J[d+20>>2]=-1;b=b+J[a+4>>2]|0;J[b+32>>2]=0;J[b+24>>2]=-1;J[b+28>>2]=-1;H[b+36|0]=0;J[b+16>>2]=0;J[a+8>>2]=J[a+8>>2]+1;return c}function ff(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(gb(a,J[b+8>>2],f)){pc(b,c,d,e);return}g=K[b+53|0];j=J[a+12>>2];H[b+53|0]=0;h=K[b+52|0];H[b+52|0]=0;m=a+16|0;oc(m,b,c,d,e,f);k=K[b+53|0];g=g|k;l=K[b+52|0];h=h|l;i=a+24|0;j=(j<<3)+m|0;a:{if(i>>>0>=j>>>0){break a}while(1){if(K[b+54|0]){break a}b:{if(l){if(J[b+24>>2]==1){break a}if(K[a+8|0]&2){break b}break a}if(!k){break b}if(!(H[a+8|0]&1)){break a}}I[b+52>>1]=0;oc(i,b,c,d,e,f);k=K[b+53|0];g=k|g;l=K[b+52|0];h=l|h;i=i+8|0;if(j>>>0>i>>>0){continue}break}}H[b+53|0]=(g&255)!=0;H[b+52|0]=(h&255)!=0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){e=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=e;J[a+4>>2]=c+8;return}a:{h=J[a>>2];e=c-h|0;g=e>>3;d=g+1|0;if(d>>>0<536870912){f=e>>2;f=e>>>0>=2147483640?536870911:d>>>0