MCPcopy
hub / github.com/regl-project/regl / pc

Function pc

example/util/ammo.js:14–14  ·  view source on GitHub ↗
(d)

Source from the content-addressed store, hash-verified

12function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0;s=i;i=i+240|0;n=c[b+48>>2]|0;k=c[b+52>>2]|0;if((k|0?(h=c[k+20>>2]|0,h|0):0)?(Eb[c[(c[h>>2]|0)+48>>2]&127](h)|0)&1|0:0){c[s+144>>2]=1065353216;c[s+144+4>>2]=1065353216;c[s+144+8>>2]=0;g[s+144+12>>2]=0.0;l=c[b+8>>2]|0;r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d>>2];u=+g[d+4>>2];v=+g[d+8>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+128>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+128+4>>2]=w;g[s+128+8>>2]=x;g[s+128+12>>2]=0.0;x=+g[d+16>>2];w=+g[d+20>>2];v=+g[d+24>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+88>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+88+4>>2]=u;g[s+88+8>>2]=t;g[s+88+12>>2]=0.0;mc[q&127](r,s+128|0,s+88|0,s+144|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d+16>>2];u=+g[d+20>>2];v=+g[d+24>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+72>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+72+4>>2]=w;g[s+72+8>>2]=x;g[s+72+12>>2]=0.0;x=+g[d+32>>2];w=+g[d+36>>2];v=+g[d+40>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+56>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+56+4>>2]=u;g[s+56+8>>2]=t;g[s+56+12>>2]=0.0;mc[q&127](r,s+72|0,s+56|0,s+144|0);r=c[(c[b+52>>2]|0)+20>>2]|0;q=c[(c[r>>2]|0)+8>>2]|0;t=+g[d+32>>2];u=+g[d+36>>2];v=+g[d+40>>2];w=t*+g[l+20>>2]+u*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];x=t*+g[l+36>>2]+u*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s+16>>2]=t*+g[l+4>>2]+u*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+16+4>>2]=w;g[s+16+8>>2]=x;g[s+16+12>>2]=0.0;x=+g[d>>2];w=+g[d+4>>2];v=+g[d+8>>2];u=x*+g[l+20>>2]+w*+g[l+24>>2]+v*+g[l+28>>2]+ +g[l+56>>2];t=x*+g[l+36>>2]+w*+g[l+40>>2]+v*+g[l+44>>2]+ +g[l+60>>2];g[s>>2]=x*+g[l+4>>2]+w*+g[l+8>>2]+v*+g[l+12>>2]+ +g[l+52>>2];g[s+4>>2]=u;g[s+8>>2]=t;g[s+12>>2]=0.0;mc[q&127](r,s+16|0,s,s+144|0)}h=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;h=(c[b+108>>2]|0)+-1&((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11));a:do if(h>>>0<(c[b+64>>2]|0)>>>0?(m=c[(c[b+72>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0){l=c[b+132>>2]|0;k=m;while(1){if((e<<21|f|0)==(c[l+(k<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(k<<2)>>2]|0;if((h|0)==-1)break a;else k=h}h=c[b+112>>2]|0;if(h+(k<<3)|0){q=c[h+(k<<3)+4>>2]|0;r=c[b+8>>2]|0;c[q+8>>2]=c[(c[r+192>>2]|0)+8>>2];p=c[b+4>>2]|0;o=c[p+192>>2]|0;c[s+144>>2]=0;c[s+144+4>>2]=o;c[s+144+8>>2]=p;c[s+144+12>>2]=p+4;c[s+144+16>>2]=-1;c[s+144+20>>2]=-1;c[s+104>>2]=0;c[s+104+4>>2]=q;c[s+104+8>>2]=r;c[s+104+12>>2]=r+4;c[s+104+16>>2]=e;c[s+104+20>>2]=f;r=Ib[c[(c[n>>2]|0)+8>>2]&31](n,s+144|0,s+104|0,0)|0;yb[c[(c[r>>2]|0)+8>>2]&31](r,s+144|0,s+104|0,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&255](r);Cb[c[(c[n>>2]|0)+60>>2]&127](n,r);i=s;return}}while(0);C=+g[d+16>>2];F=+g[d>>2];B=+g[d+20>>2];E=+g[d+4>>2];A=+g[d+24>>2];D=+g[d+8>>2];z=+g[d+32>>2];t=+g[d+36>>2];v=+g[d+40>>2];y=(B-E)*(v-D)-(A-D)*(t-E);u=(A-D)*(z-F)-(C-F)*(v-D);x=(C-F)*(t-E)-(B-E)*(z-F);w=1.0/+O(+(x*x+(y*y+u*u)));g[s+144>>2]=F+w*y*.05999999865889549;g[s+144+4>>2]=E+w*u*.05999999865889549;g[s+144+8>>2]=w*x*.05999999865889549+D;g[s+144+12>>2]=0.0;g[s+144+16>>2]=w*y*.05999999865889549+C;g[s+144+20>>2]=w*u*.05999999865889549+B;g[s+144+24>>2]=w*x*.05999999865889549+A;g[s+144+28>>2]=0.0;g[s+144+32>>2]=w*y*.05999999865889549+z;g[s+144+36>>2]=w*u*.05999999865889549+t;g[s+144+40>>2]=w*x*.05999999865889549+v;g[s+144+44>>2]=0.0;g[s+144+48>>2]=F-w*y*.05999999865889549;g[s+144+52>>2]=E-w*u*.05999999865889549;g[s+144+56>>2]=D-w*x*.05999999865889549;g[s+144+60>>2]=0.0;g[s+144+64>>2]=C-w*y*.05999999865889549;g[s+144+68>>2]=B-w*u*.05999999865889549;g[s+144+72>>2]=A-w*x*.05999999865889549;g[s+144+76>>2]=0.0;g[s+144+80>>2]=z-w*y*.05999999865889549;g[s+144+84>>2]=t-w*u*.05999999865889549;g[s+144+88>>2]=v-w*x*.05999999865889549;g[s+144+92>>2]=0.0;c[6435]=(c[6435]|0)+1;h=yc(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}kg(h,s+144|0,6,16);r=c[b+8>>2]|0;c[h+8>>2]=c[(c[r+192>>2]|0)+8>>2];q=c[b+4>>2]|0;d=c[q+192>>2]|0;c[s+104>>2]=0;c[s+104+4>>2]=d;c[s+104+8>>2]=q;c[s+104+12>>2]=q+4;c[s+104+16>>2]=-1;c[s+104+20>>2]=-1;c[s+32>>2]=0;c[s+32+4>>2]=h;c[s+32+8>>2]=r;c[s+32+12>>2]=r+4;c[s+32+16>>2]=e;c[s+32+20>>2]=f;r=Ib[c[(c[n>>2]|0)+8>>2]&31](n,s+104|0,s+32|0,0)|0;yb[c[(c[r>>2]|0)+8>>2]&31](r,s+104|0,s+32|0,c[b+52>>2]|0,c[b+44>>2]|0);Ab[c[c[r>>2]>>2]&255](r);Cb[c[(c[n>>2]|0)+60>>2]&127](n,r);r=((e<<21|f)+~(f<<15)>>10^(e<<21|f)+~(f<<15))*9|0;r=(r>>6^r)+~((r>>6^r)<<11)>>16^(r>>6^r)+~((r>>6^r)<<11);n=c[b+108>>2]|0;b:do if((r&n+-1)>>>0<(c[b+64>>2]|0)>>>0?(j=c[(c[b+72>>2]|0)+((r&n+-1)<<2)>>2]|0,(j|0)!=-1):0){k=c[b+132>>2]|0;while(1){if((e<<21|f|0)==(c[k+(j<<2)>>2]|0))break;j=c[(c[b+92>>2]|0)+(j<<2)>>2]|0;if((j|0)==-1){o=20;break b}}b=c[b+112>>2]|0;c[b+(j<<3)>>2]=e<<21|f;c[b+(j<<3)+4>>2]=h}else o=20;while(0);if((o|0)==20){q=c[b+104>>2]|0;if((q|0)==(n|0)){m=n|0?n<<1:1;if((n|0)<(m|0)){if(!m){j=0;k=n}else{c[6435]=(c[6435]|0)+1;j=yc((m<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[b+104>>2]|0}if((k|0)>0){l=0;do{H=(c[b+112>>2]|0)+(l<<3)|0;G=c[H+4>>2]|0;d=j+(l<<3)|0;c[d>>2]=c[H>>2];c[d+4>>2]=G;l=l+1|0}while((l|0)!=(k|0))}k=c[b+112>>2]|0;if(k|0){if(a[b+116>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=j;c[b+108>>2]=m;j=c[b+104>>2]|0}else j=n}else j=q;H=c[b+112>>2]|0;c[H+(j<<3)>>2]=e<<21|f;c[H+(j<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(p=h|0?h<<1:1,(h|0)<(p|0)):0){if(!p)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=h;h=c[b+124>>2]|0}k=c[b+132>>2]|0;if((h|0)<=0)if(!k)h=b+136|0;else o=43;else{j=0;do{c[l+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));o=43}if((o|0)==43){if(a[b+136>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+132>>2]=0;h=b+136|0}a[h>>0]=1;c[b+132>>2]=l;c[b+128>>2]=p;h=c[b+124>>2]|0}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|f;c[b+124>>2]=(c[b+124>>2]|0)+1;d=c[b+108>>2]|0;if((n|0)<(d|0)){n=c[b+64>>2]|0;if((d|0)>(n|0)){if((d|0)>=(n|0)){do if((c[b+68>>2]|0)<(d|0)){if(!d){h=0;j=n}else{c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+64>>2]|0}k=c[b+72>>2]|0;if((j|0)<=0){if(!k){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d;break}}else{l=0;do{c[h+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}if(a[b+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=d}else h=c[b+72>>2]|0;while(0);Qn(h+(n<<2)|0,0,d-n<<2|0)|0}c[b+64>>2]=d;m=c[b+84>>2]|0;if((d|0)>(m|0)){do if((c[b+88>>2]|0)<(d|0)){if(!d){h=0;j=m}else{c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+84>>2]|0}k=c[b+92>>2]|0;if((j|0)<=0){if(!k){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d;break}}else{l=0;do{c[h+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}if(a[b+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=d}else h=c[b+92>>2]|0;while(0);Qn(h+(m<<2)|0,0,d-m<<2|0)|0}c[b+84>>2]=d;if((d|0)>0){Qn(c[b+72>>2]|0,-1,d<<2|0)|0;Qn(c[b+92>>2]|0,-1,d<<2|0)|0}if((n|0)>0){h=c[b+132>>2]|0;j=c[b+72>>2]|0;k=c[b+92>>2]|0;l=0;do{H=c[h+(l<<2)>>2]|0;H=(H+~(H<<15)>>10^H+~(H<<15))*9|0;H=j+((((H>>6^H)+~((H>>6^H)<<11)>>16^(H>>6^H)+~((H>>6^H)<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[k+(l<<2)>>2]=c[H>>2];c[H>>2]=l;l=l+1|0}while((l|0)!=(n|0))}}h=r&(c[b+108>>2]|0)+-1}else h=r&n+-1;H=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(q<<2)>>2]=c[H>>2];c[H>>2]=q}i=s;return}function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+16|0;li(12170);k=c[b+212>>2]|0;j=c[b+180>>2]|0;if((j|0)<(k|0)){if((c[b+184>>2]|0)<(k|0)){if(!k){e=0;f=j}else{c[6435]=(c[6435]|0)+1;e=yc((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+180>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[b+188>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+188>>2]|0;if(f|0){if(a[b+192>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=e;c[b+184>>2]=k;f=b+188|0}else f=b+188|0;e=j;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(k|0))}else f=b+188|0;c[b+180>>2]=k;e=0;while(1){if((e|0)>=(Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)bh(b+176|0,0,e+-1|0);if(!(Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+196>>2]|0;t=c[b+180>>2]|0;u=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=t;c[h+20>>2]=u;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;u=c[b+200>>2]|0;e=c[(c[u>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;t=c[b+24>>2]|0;t=Eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;ic[e&127](u,s,t);t=c[b+204>>2]|0;s=c[b+24>>2]|0;u=c[b+196>>2]|0;li(13882);e=c[t+28>>2]|0;if((e|0)<0){if((c[t+32>>2]|0)<0){f=c[t+36>>2]|0;if(f|0){if(a[t+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=0;c[t+32>>2]=0}do{c[(c[t+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+28>>2]=0;j=c[t+8>>2]|0;if((j|0)>0){k=c[t+16>>2]|0;m=0;do{l=k+(m<<3)|0;e=c[l>>2]|0;if((e|0)==(m|0))e=m;else{f=e;h=l;do{e=k+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=k+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}c[l>>2]=e;m=m+1|0}while((m|0)!=(j|0));if((j|0)>1){yj(t+4|0,0,j+-1|0);j=c[t+8>>2]|0}if((j|0)>0){m=c[t+16>>2]|0;f=0;while(1){n=c[m+(f<<3)>>2]|0;q=f;while(1){p=q+1|0;if((p|0)>=(j|0)){l=0;break}if((c[m+(p<<3)>>2]|0)==(n|0))q=p;else{l=1;break}}a:do if((f|0)<=(q|0)){o=c[b+16>>2]|0;e=1;k=f;while(1){h=c[o+(c[m+(k<<3)+4>>2]<<2)>>2]|0;if((c[h+208>>2]|0)==(n|0)){h=c[h+216>>2]|0;e=(h|0)!=4&(e&(h|0)!=1)}if((k|0)<(q|0))k=k+1|0;else break}if(e){e=m;while(1){e=c[o+(c[e+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]&-2|0)!=4:0)c[e+216>>2]=2;if((f|0)>=(q|0))break a;e=c[t+16>>2]|0;f=f+1|0}}else{e=m;while(1){e=c[o+(c[e+(f<<3)+4>>2]<<2)>>2]|0;if((c[e+208>>2]|0)==(n|0)?(c[e+216>>2]|0)==2:0){c[e+216>>2]=3;g[e+220>>2]=0.0}if((f|0)>=(q|0))break a;e=c[t+16>>2]|0;f=f+1|0}}}while(0);if(l)f=p;else break}}}j=Eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((j|0)>0){l=0;do{k=Zb[c[(c[s>>2]|0)+40>>2]&31](s,l)|0;f=c[k+740>>2]|0;h=c[k+744>>2]|0;if((f|0)!=0?(c[f+216>>2]|0)!=2:0)e=92;else e=90;if(((e|0)==90?(e=0,h|0):0)?(c[h+216>>2]|0)!=2:0)e=92;if((e|0)==92){e=c[f+204>>2]|0;if((e&2|0?((e&4|0)==0?(c[f+216>>2]|0)!=2:0):0)?(c[h+204>>2]&3|0)==0:0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;g[h+220>>2]=0.0}q=c[h+204>>2]|0;if(q&2|0?((q&4|e&3|0)==0?(c[h+216>>2]|0)!=2:0):0){if((c[f+216>>2]&-2|0)!=4)c[f+216>>2]=1;g[f+220>>2]=0.0}if(a[t+64>>0]|0?Ob[c[(c[s>>2]|0)+28>>2]&63](s,f,h)|0:0){e=c[t+28>>2]|0;if((e|0)==(c[t+32>>2]|0)?(r=e|0?e<<1:1,(e|0)<(r|0)):0){if(!r)h=0;else{c[6435]=(c[6435]|0)+1;e=yc((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=e;e=c[t+28>>2]|0}if((e|0)>0){f=0;do{c[h+(f<<2)>>2]=c[(c[t+36>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[t+36>>2]|0;if(f){if(a[t+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[t+28>>2]|0}c[t+36>>2]=0}a[t+40>>0]=1;c[t+36>>2]=h;c[t+32>>2]=r}c[(c[t+36>>2]|0)+(e<<2)>>2]=k;c[t+28>>2]=e+1}}l=l+1|0}while((l|0)<(j|0))}e=c[2357]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;do if(!r){if(c[e+4>>2]|0){tb(v|0,0)|0;r=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[r+4>>2]|0)+(((c[v>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);r=c[t+8>>2]|0;li(13910);if(a[t+64>>0]|0){p=c[t+28>>2]|0;if((p|0)>1)$g(t+24|0,0,p+-1|0);if((r|0)>0){n=1;f=0;q=0;while(1){e=c[t+16>>2]|0;o=c[e+(f<<3)>>2]|0;b:do if((f|0)<(r|0)){k=c[t+48>>2]|0;h=c[t+52>>2]|0;m=1;while(1){l=c[(c[b+16>>2]|0)+(c[e+(f<<3)+4>>2]<<2)>>2]|0;do if((k|0)==(h|0)){k=h|0?h<<1:1;if((h|0)>=(k|0)){e=h;break}if(!k)e=0;else{c[6435]=(c[6435]|0)+1;e=yc((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[t+48>>2]|0}if((h|0)>0){j=0;do{c[e+(j<<2)>>2]=c[(c[t+56>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[t+56>>2]|0;if(j){if(a[t+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[t+48>>2]|0}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=e;c[t+52>>2]=k;e=h;h=k}else e=k;while(0);c[(c[t+56>>2]|0)+(e<<2)>>2]=l;k=e+1|0;c[t+48>>2]=k;j=c[l+216>>2]|0;j=m&((j|0)==2|(j|0)==5);f=f+1|0;if((f|0)>=(r|0)){m=f;break b}e=c[t+16>>2]|0;if((c[e+(f<<3)>>2]|0)!=(o|0)){m=f;break}else m=j}}else{m=f;j=1}while(0);if((q|0)<(p|0)){l=c[t+36>>2]|0;e=l+(q<<2)|0;h=c[e>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0;if((f|0)==(o|0)){k=q;do{k=k+1|0;if((k|0)>=(p|0))break;h=c[l+(k<<2)>>2]|0;f=c[(c[h+740>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+744>>2]|0)+208>>2]|0}while((o|0)==(f|0));h=k;f=k-q|0}else{h=n;f=0;e=0}}else{h=n;f=0;e=0}if(!j)Qb[c[(c[u>>2]|0)+8>>2]&7](u,c[t+56>>2]|0,c[t+48>>2]|0,e,f,o);q=(f|0)==0?q:h;e=c[t+48>>2]|0;if((e|0)<0){if((c[t+52>>2]|0)<0){f=c[t+56>>2]|0;if(f|0){if(a[t+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[t+56>>2]=0}a[t+60>>0]=1;c[t+56>>2]=0;c[t+52>>2]=0}do{c[(c[t+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[t+48>>2]=0;if((m|0)>=(r|0))break;else{n=h;f=m}}}}else{r=Eb[c[(c[s>>2]|0)+44>>2]&127](s)|0;t=Eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Qb[c[(c[u>>2]|0)+8>>2]&7](u,c[b+16>>2]|0,c[b+8>>2]|0,r,t,-1)}e=c[2357]|0;u=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=u;do if(!u){if(c[e+4>>2]|0){tb(v|0,0)|0;u=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[u+4>>2]|0)+(((c[v>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);nh(c[b+196>>2]|0);e=c[b+200>>2]|0;ic[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[2357]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){i=v;return}do if(c[e+4>>2]|0){tb(v|0,0)|0;b=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[v+4>>2]|0)-(c[b+4>>2]|0)+(((c[v>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2357]|0;break}else{i=v;return}}while(0);c[2357]=c[e+20>>2];i=v;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;A=i;i=i+176|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;x=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=x;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];x=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=x;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];h=+g[a+132>>2];j=+g[a+136>>2];if(e*e+h*h+j*j>0.0){d=(g[k>>2]=-e,c[k>>2]|0);b=(g[k>>2]=-h,c[k>>2]|0);f=(g[k>>2]=-j,c[k>>2]|0)}else{d=1065353216;b=0;f=0}g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;t=(c[k>>2]=d,+g[k>>2]);v=(c[k>>2]=b,+g[k>>2]);Nh(a,t,v,(c[k>>2]=f,+g[k>>2]),a+316|0);g[a+164>>2]=1.0;w=(c[a+148>>2]|0)+16|0;c[a+128>>2]=c[w>>2];c[a+128+4>>2]=c[w+4>>2];c[a+128+8>>2]=c[w+8>>2];c[a+128+12>>2]=c[w+12>>2];c[A+24+48>>2]=c[w>>2];c[A+24+48+4>>2]=c[w+4>>2];c[A+24+48+8>>2]=c[w+8>>2];c[A+24+48+12>>2]=c[w+12>>2];c[A+24+32>>2]=c[w>>2];c[A+24+32+4>>2]=c[w+4>>2];c[A+24+32+8>>2]=c[w+8>>2];c[A+24+32+12>>2]=c[w+12>>2];c[A+24+16>>2]=c[w>>2];c[A+24+16+4>>2]=c[w+4>>2];c[A+24+16+8>>2]=c[w+8>>2];c[A+24+16+12>>2]=c[w+12>>2];c[A+24>>2]=c[w>>2];c[A+24+4>>2]=c[w+4>>2];c[A+24+8>>2]=c[w+8>>2];c[A+24+12>>2]=c[w+12>>2];v=0.0;w=0;x=0;e=e*e+h*h+j*j;a:do{u=c[a+368>>2]|0;l=+g[a+128>>2];h=+g[a+132>>2];j=+g[a+136>>2];o=+O(+(l*l+h*h+j*j));if(o<9.999999747378752e-05){z=5;break}g[a+148+(u*36|0)+16+(c[a+148+(u*36|0)+32>>2]<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[a+148+(u*36|0)+(c[a+148+(u*36|0)+32>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[a+148+(u*36|0)+32>>2]|0;c[a+148+(u*36|0)+32>>2]=d+1;Nh(a,-l,-h,-j,c[a+148+(u*36|0)+(d<<2)>>2]|0);d=c[a+148+(u*36|0)+32>>2]|0;b=c[a+148+(u*36|0)+(d+-1<<2)>>2]|0;h=+g[b+16>>2];j=+g[b+20>>2];l=+g[b+24>>2];q=h-+g[A+24>>2];r=j-+g[A+24+4>>2];t=l-+g[A+24+8>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+16>>2];r=j-+g[A+24+20>>2];t=l-+g[A+24+24>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+32>>2];r=j-+g[A+24+36>>2];t=l-+g[A+24+40>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}q=h-+g[A+24+48>>2];r=j-+g[A+24+52>>2];t=l-+g[A+24+56>>2];if(q*q+r*r+t*t<9.999999747378752e-05){z=8;break}w=w+1&3;s=A+24+(w<<4)|0;c[s>>2]=c[b+16>>2];c[s+4>>2]=c[b+16+4>>2];c[s+8>>2]=c[b+16+8>>2];c[s+12>>2]=c[b+16+12>>2];t=(+g[a+128>>2]*h+ +g[a+132>>2]*j+ +g[a+136>>2]*l)/o;v=t>v?t:v;if(o-v-o*9.999999747378752e-05<=0.0){z=9;break}c[A>>2]=0;b:do switch(d|0){case 2:{s=c[a+148+(u*36|0)>>2]|0;n=c[a+148+(u*36|0)+4>>2]|0;e=+g[n+16>>2];h=+g[s+16>>2];j=+g[n+20>>2];l=+g[s+20>>2];o=+g[n+24>>2];p=+g[s+24>>2];if(!((e-h)*(e-h)+(j-l)*(j-l)+(o-p)*(o-p)>0.0)){z=39;break a}q=-(h*(e-h)+l*(j-l)+p*(o-p))/((e-h)*(e-h)+(j-l)*(j-l)+(o-p)*(o-p));if(q>=1.0){g[A+8>>2]=0.0;g[A+8+4>>2]=1.0;c[A>>2]=2;e=e*e+j*j+o*o;break b}if(!(q<=0.0)){g[A+8+4>>2]=q;g[A+8>>2]=1.0-q;c[A>>2]=3;e=((e-h)*q+h)*((e-h)*q+h)+((j-l)*q+l)*((j-l)*q+l)+((o-p)*q+p)*((o-p)*q+p);break b}else{g[A+8>>2]=1.0;g[A+8+4>>2]=0.0;c[A>>2]=1;e=h*h+l*l+p*p;break b}}case 3:{e=+Oe((c[a+148+(u*36|0)>>2]|0)+16|0,(c[a+148+(u*36|0)+4>>2]|0)+16|0,(c[a+148+(u*36|0)+8>>2]|0)+16|0,A+8|0,A);break}case 4:{f=c[a+148+(u*36|0)>>2]|0;m=c[a+148+(u*36|0)+4>>2]|0;n=c[a+148+(u*36|0)+8>>2]|0;s=c[a+148+(u*36|0)+12>>2]|0;c[A+152>>2]=f+16;c[A+152+4>>2]=m+16;c[A+152+8>>2]=n+16;c[A+152+12>>2]=s+16;j=+g[f+16>>2];l=+g[s+16>>2];e=+g[f+20>>2];o=+g[s+20>>2];h=+g[f+24>>2];p=+g[s+24>>2];g[A+104>>2]=j-l;g[A+104+4>>2]=e-o;g[A+104+8>>2]=h-p;g[A+104+12>>2]=0.0;B=+g[m+16>>2];D=+g[m+20>>2];r=+g[m+24>>2];g[A+104+16>>2]=B-l;g[A+104+20>>2]=D-o;g[A+104+24>>2]=r-p;g[A+104+28>>2]=0.0;q=+g[n+16>>2];E=+g[n+20>>2];C=+g[n+24>>2];g[A+104+32>>2]=q-l;g[A+104+36>>2]=E-o;g[A+104+40>>2]=C-p;g[A+104+44>>2]=0.0;t=(e-o)*(r-p)*(q-l)+(h-p)*(B-l)*(E-o)-(E-o)*(r-p)*(j-l)-(e-o)*(B-l)*(C-p)+(C-p)*(j-l)*(D-o)-(q-l)*(h-p)*(D-o);if(t!=t|0.0!=0.0|t==0.0|!(t*(h*((B-q)*(e-D)-(D-E)*(j-B))+(j*((D-E)*(h-r)-(r-C)*(e-D))+e*((r-C)*(j-B)-(B-q)*(h-r))))<=0.0))e=-1.0;else{c[A+92>>2]=0;c[A+92+4>>2]=0;c[A+92+8>>2]=0;c[A+88>>2]=0;r=e-o;q=h-p;h=j-l;d=0;e=-1.0;while(1){b=c[4976+(d<<2)>>2]|0;C=+g[A+104+(b<<4)+8>>2];D=+g[A+104+(b<<4)+4>>2];E=+g[A+104+(b<<4)>>2];if(t*((r*C-q*D)*l+o*(q*E-C*h)+(D*h-r*E)*p)>0.0?(y=+Oe(c[A+152+(d<<2)>>2]|0,c[A+152+(b<<2)>>2]|0,s+16|0,A+92|0,A+88|0),e<0.0|y<e):0){F=c[A+88>>2]|0;c[A>>2]=(F&2|0?1<<b:0)+(F<<1&8)+(F&1|0?1<<d:0);c[A+8+(d<<2)>>2]=c[A+92>>2];c[A+8+(b<<2)>>2]=c[A+92+4>>2];g[A+8+(c[4976+(b<<2)>>2]<<2)>>2]=0.0;c[A+8+12>>2]=c[A+92+8>>2];e=y}d=d+1|0;if((d|0)==3)break;r=+g[A+104+(d<<4)+4>>2];q=+g[A+104+(d<<4)+8>>2];h=+g[A+104+(d<<4)>>2];l=+g[s+16>>2];o=+g[s+20>>2];p=+g[s+24>>2]}if(e<0.0){c[A>>2]=15;l=+g[n+20>>2];E=+g[m+24>>2];D=+g[s+16>>2];h=+g[n+24>>2];C=+g[m+16>>2];o=+g[s+20>>2];j=+g[n+16>>2];B=+g[s+24>>2];q=+g[m+20>>2];g[A+8>>2]=(l*E*D+h*C*o-o*E*j-l*C*B+B*j*q-D*h*q)/t;e=+g[f+20>>2];p=+g[f+24>>2];r=+g[f+16>>2];g[A+8+4>>2]=(e*h*D+p*j*o-o*h*r-e*j*B+B*r*l-D*p*l)/t;g[A+8+8>>2]=(q*p*D+E*r*o-o*p*C-q*r*B+B*C*e-D*E*e)/t;g[A+8+12>>2]=1.0-((l*E*D+h*C*o-o*E*j-l*C*B+B*j*q-D*h*q)/t+(e*h*D+p*j*o-o*h*r-e*j*B+B*r*l-D*p*l)/t+(q*p*D+E*r*o-o*p*C-q*r*B+B*C*e-D*E*e)/t);e=0.0}}break}default:{}}while(0);if(!(e>=0.0)){z=39;break}c[a+148+((1-u|0)*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=1-u;d=c[a+148+(u*36|0)+32>>2]|0;b=c[A>>2]|0;if(d|0){n=0;do{f=a+148+(u*36|0)+(n<<2)|0;m=c[f>>2]|0;if(!(b&1<<n)){F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=m}else{c[a+148+((1-u|0)*36|0)+(c[a+148+((1-u|0)*36|0)+32>>2]<<2)>>2]=m;s=c[A+8+(n<<2)>>2]|0;F=c[a+148+((1-u|0)*36|0)+32>>2]|0;c[a+148+((1-u|0)*36|0)+32>>2]=F+1;c[a+148+((1-u|0)*36|0)+16+(F<<2)>>2]=s;F=c[f>>2]|0;C=(c[k>>2]=s,+g[k>>2]);D=C*+g[F+20>>2];E=C*+g[F+24>>2];g[a+128>>2]=+g[F+16>>2]*C+ +g[a+128>>2];g[a+132>>2]=D+ +g[a+132>>2];g[a+136>>2]=E+ +g[a+136>>2]}n=n+1|0}while((n|0)!=(d|0))}if((b|0)==15)c[a+376>>2]=1;x=x+1|0;if(x>>>0>=128){z=38;break}}while(!(c[a+376>>2]|0));if((z|0)==5)c[a+376>>2]=1;else if((z|0)==8){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}else if((z|0)==9){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}else if((z|0)==38)c[a+376>>2]=2;else if((z|0)==39){F=c[a+368>>2]|0;z=(c[a+148+(F*36|0)+32>>2]|0)+-1|0;c[a+148+(F*36|0)+32>>2]=z;z=c[a+148+(F*36|0)+(z<<2)>>2]|0;F=c[a+364>>2]|0;c[a+364>>2]=F+1;c[a+348+(F<<2)>>2]=z}c[a+372>>2]=a+148+((c[a+368>>2]|0)*36|0);d=c[a+376>>2]|0;switch(d|0){case 0:{C=+g[a+128>>2];D=+g[a+132>>2];E=+g[a+136>>2];g[a+144>>2]=+O(+(C*C+D*D+E*E));i=A;return d|0}case 1:{g[a+144>>2]=0.0;i=A;return d|0}default:{i=A;return d|0}}return 0}function Vc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,P=0,Q=0.0,R=0.0,S=0.0,T=0;P=i;i=i+224|0;g[b+56>>2]=0.0;I=P+208+4|0;N=P+208+8|0;c[P+208>>2]=0;c[P+208+4>>2]=0;c[P+208+8>>2]=0;c[P+208+12>>2]=0;c[P+144>>2]=c[d>>2];c[P+144+4>>2]=c[d+4>>2];c[P+144+8>>2]=c[d+8>>2];c[P+144+12>>2]=c[d+12>>2];c[P+144+16>>2]=c[d+16>>2];c[P+144+16+4>>2]=c[d+16+4>>2];c[P+144+16+8>>2]=c[d+16+8>>2];c[P+144+16+12>>2]=c[d+16+12>>2];c[P+144+32>>2]=c[d+32>>2];c[P+144+32+4>>2]=c[d+32+4>>2];c[P+144+32+8>>2]=c[d+32+8>>2];c[P+144+32+12>>2]=c[d+32+12>>2];A=P+144+48|0;c[A>>2]=c[d+48>>2];c[A+4>>2]=c[d+48+4>>2];c[A+8>>2]=c[d+48+8>>2];c[A+12>>2]=c[d+48+12>>2];c[P+80>>2]=c[d+64>>2];c[P+80+4>>2]=c[d+64+4>>2];c[P+80+8>>2]=c[d+64+8>>2];c[P+80+12>>2]=c[d+64+12>>2];c[P+80+16>>2]=c[d+80>>2];c[P+80+16+4>>2]=c[d+80+4>>2];c[P+80+16+8>>2]=c[d+80+8>>2];c[P+80+16+12>>2]=c[d+80+12>>2];c[P+80+32>>2]=c[d+96>>2];c[P+80+32+4>>2]=c[d+96+4>>2];c[P+80+32+8>>2]=c[d+96+8>>2];c[P+80+32+12>>2]=c[d+96+12>>2];B=P+80+48|0;c[B>>2]=c[d+112>>2];c[B+4>>2]=c[d+112+4>>2];c[B+8>>2]=c[d+112+8>>2];c[B+12>>2]=c[d+112+12>>2];G=+g[A>>2];H=+g[B>>2];J=+g[P+144+52>>2];K=+g[P+80+52>>2];L=+g[P+144+56>>2];M=+g[P+80+56>>2];g[A>>2]=G-(G+H)*.5;g[P+144+52>>2]=J-(J+K)*.5;g[P+144+56>>2]=L-(L+M)*.5;g[B>>2]=H-(G+H)*.5;g[P+80+52>>2]=K-(J+K)*.5;g[P+80+56>>2]=M-(L+M)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)A=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else A=0;v=+g[b+44>>2];u=+g[b+48>>2];c[6420]=(c[6420]|0)+1;B=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;p=c[b+24>>2]|0;a[p+312>>0]=0;c[p>>2]=0;a[p+356>>0]=1;c[p+292>>2]=1566444395;c[p+296>>2]=1566444395;c[p+300>>2]=1566444395;g[p+304>>2]=0.0;c[p+336>>2]=0;c[p+336+4>>2]=0;c[p+336+8>>2]=0;c[p+336+12>>2]=0;a[p+336+16>>0]=0;a[p+332>>0]=a[p+332>>0]&-16;p=0;q=999999984306749440.0;do{o=+g[b+4>>2];n=+g[b+8>>2];k=+g[b+12>>2];l=+g[d+4>>2]*-o+ +g[d+20>>2]*-n+ +g[d+36>>2]*-k;m=+g[d+8>>2]*-o+ +g[d+24>>2]*-n+ +g[d+40>>2]*-k;g[P+64>>2]=+g[d>>2]*-o+ +g[d+16>>2]*-n+ +g[d+32>>2]*-k;g[P+64+4>>2]=l;g[P+64+8>>2]=m;g[P+64+12>>2]=0.0;m=o*+g[d+68>>2]+n*+g[d+84>>2]+k*+g[d+100>>2];l=o*+g[d+72>>2]+n*+g[d+88>>2]+k*+g[d+104>>2];g[P+48>>2]=+g[d+64>>2]*o+ +g[d+80>>2]*n+ +g[d+96>>2]*k;g[P+48+4>>2]=m;g[P+48+8>>2]=l;g[P+48+12>>2]=0.0;Gd(P+32|0,c[b+28>>2]|0,P+64|0);Gd(P+16|0,c[b+32>>2]|0,P+48|0);l=+g[P+32>>2];m=+g[P+32+4>>2];k=+g[P+32+8>>2];n=l*+g[P+144>>2]+m*+g[P+144+4>>2]+k*+g[P+144+8>>2]+ +g[P+144+48>>2];o=l*+g[P+144+16>>2]+m*+g[P+144+20>>2]+k*+g[P+144+24>>2]+ +g[P+144+52>>2];k=l*+g[P+144+32>>2]+m*+g[P+144+36>>2]+k*+g[P+144+40>>2]+ +g[P+144+56>>2];m=+g[P+16>>2];l=+g[P+16+4>>2];t=+g[P+16+8>>2];r=m*+g[P+80>>2]+l*+g[P+80+4>>2]+t*+g[P+80+8>>2]+ +g[P+80+48>>2];s=m*+g[P+80+16>>2]+l*+g[P+80+20>>2]+t*+g[P+80+24>>2]+ +g[P+80+52>>2];t=m*+g[P+80+32>>2]+l*+g[P+80+36>>2]+t*+g[P+80+40>>2]+ +g[P+80+56>>2];l=A?0.0:t;m=A?0.0:k;t=(A?0.0:k)-(A?0.0:t);k=+g[b+4>>2]*(n-r)+ +g[b+8>>2]*(o-s)+ +g[b+12>>2]*t;if(k>0.0?k*k>q*+g[d+128>>2]:0){c[b+68>>2]=10;h=0;p=1}else T=7;do if((T|0)==7){T=0;y=c[b+24>>2]|0;z=c[y>>2]|0;if((z|0)>0){j=+g[y+308>>2];x=0;h=0;do{C=n-r-+g[y+4+(h<<4)>>2];D=o-s-+g[y+4+(h<<4)+4>>2];E=t-+g[y+4+(h<<4)+8>>2];x=x|C*C+D*D+E*E<=j;h=h+1|0}while((h|0)!=(z|0))}else x=0;if((+g[y+304>>2]==0.0?t==+g[y+300>>2]:0)?o-s==+g[y+296>>2]:0)h=n-r==+g[y+292>>2];else h=0;if(x|h){c[b+68>>2]=1;h=0;p=1;break}j=q-k;if(j<=q*9.999999974752427e-07){c[b+68>>2]=!(j<=0.0)?11:2;h=0;p=1;break}g[y+292>>2]=n-r;g[y+296>>2]=o-s;g[y+300>>2]=t;g[y+304>>2]=0.0;a[y+356>>0]=1;g[y+4+(z<<4)>>2]=n-r;g[y+4+(z<<4)+4>>2]=o-s;g[y+4+(z<<4)+8>>2]=t;g[y+4+(z<<4)+12>>2]=0.0;h=c[y>>2]|0;g[y+84+(h<<4)>>2]=n;g[y+84+(h<<4)+4>>2]=o;g[y+84+(h<<4)+8>>2]=m;g[y+84+(h<<4)+12>>2]=0.0;h=c[y>>2]|0;g[y+164+(h<<4)>>2]=r;g[y+164+(h<<4)+4>>2]=s;g[y+164+(h<<4)+8>>2]=l;g[y+164+(h<<4)+12>>2]=0.0;c[y>>2]=(c[y>>2]|0)+1;h=c[b+24>>2]|0;z=Ec(h)|0;j=+g[h+276>>2];k=+g[h+280>>2];l=+g[h+284>>2];h=c[h+288>>2]|0;if(!z){c[b+68>>2]=3;h=0;p=1;break}if(j*j+k*k+l*l<9.999999974752427e-07){g[b+4>>2]=j;g[b+8>>2]=k;g[b+12>>2]=l;c[b+16>>2]=h;c[b+68>>2]=6;h=0;p=1;break}if(q-(j*j+k*k+l*l)<=q*1.1920928955078125e-07){c[b+68>>2]=12;h=0;p=1;q=j*j+k*k+l*l;break}g[b+4>>2]=j;g[b+8>>2]=k;g[b+12>>2]=l;c[b+16>>2]=h;z=c[b+64>>2]|0;c[b+64>>2]=z+1;if((z|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;h=0;q=j*j+k*k+l*l}else{h=1;q=j*j+k*k+l*l}else{h=0;q=j*j+k*k+l*l}}while(0)}while(h);u=B<<24>>24==0?u:0.0;t=(B<<24>>24==0?v:0.0)+u;do if(p){B=c[b+24>>2]|0;Ec(B)|0;j=+g[B+260>>2];l=+g[B+264>>2];n=+g[B+268>>2];c[P+208>>2]=c[b+4>>2];c[P+208+4>>2]=c[b+4+4>>2];c[P+208+8>>2]=c[b+4+8>>2];c[P+208+12>>2]=c[b+4+12>>2];k=+g[b+4>>2];m=+g[b+8>>2];o=+g[b+12>>2];if(k*k+m*m+o*o<.0001)c[b+68>>2]=5;if(k*k+m*m+o*o>1.4210854715202004e-14){E=1.0/+O(+(k*k+m*m+o*o));g[P+208>>2]=E*+g[P+208>>2];g[I>>2]=E*+g[I>>2];g[N>>2]=E*+g[N>>2];w=u/+O(+q);c[b+60>>2]=1;E=1.0/E-t;x=1;D=w*k+j;C=w*m+l;n=w*o+n;break}else{c[b+60>>2]=2;E=0.0;x=0;D=j;C=l;break}}else{E=0.0;x=0;D=0.0;C=0.0;n=0.0}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=t+E<.01;else h=0;p=x^1;do if(h|p?(F=c[b+20>>2]|0,(F|0)!=0):0){c[6419]=(c[6419]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(Db[c[(c[F>>2]|0)+8>>2]&3](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,P+144|0,P+80|0,b+4|0,P+64|0,P+48|0,f)|0){l=+g[P+48>>2];o=+g[P+64>>2];k=+g[P+48+4>>2];q=+g[P+64+4>>2];j=+g[P+48+8>>2];r=+g[P+64+8>>2];if(!((l-o)*(l-o)+(k-q)*(k-q)+(j-r)*(j-r)<=1.4210854715202004e-14)){m=(l-o)*(l-o)+(k-q)*(k-q)+(j-r)*(j-r);t=l-o;u=j-r;v=0.0;w=k-q}else{t=+g[b+4>>2];w=+g[b+8>>2];u=+g[b+12>>2];m=t*t+w*w+u*u;v=+g[b+16>>2]}if(m>1.4210854715202004e-14){s=1.0/+O(+m);m=-+O(+((o-l)*(o-l)+(q-k)*(q-k)+(r-j)*(r-j)));if(E>m|p){g[P+208>>2]=t*s;g[I>>2]=w*s;g[N>>2]=u*s;g[P+208+12>>2]=v;c[b+60>>2]=3;break}else h=8}else h=9;c[b+60>>2]=h;if(x){m=E;l=D;k=C;j=n;break}i=P;return}else{k=+g[b+4>>2];o=+g[b+8>>2];r=+g[b+12>>2];if(!(k*k+o*o+r*r>0.0)){if(x){m=E;l=D;k=C;j=n;break}i=P;return}l=+g[P+48>>2];v=+g[P+64>>2]-l;q=+g[P+48+4>>2];w=+g[P+64+4>>2]-q;s=+g[P+48+8>>2];j=+g[P+64+8>>2]-s;j=+O(+(v*v+w*w+j*j))-t;if(j<E|p){c[P+208>>2]=c[b+4>>2];c[P+208+4>>2]=c[b+4+4>>2];c[P+208+8>>2]=c[b+4+8>>2];c[P+208+12>>2]=c[b+4+12>>2];C=+g[P+208>>2];D=+g[I>>2];E=+g[N>>2];m=1.0/+O(+(C*C+D*D+E*E));g[P+208>>2]=C*m;g[I>>2]=D*m;g[N>>2]=E*m;c[b+60>>2]=6;m=j;l=u*k+l;k=u*o+q;j=u*r+s;break}c[b+60>>2]=5;if(x){m=E;l=D;k=C;j=n;break}i=P;return}}else T=52;while(0);if((T|0)==52)if(x){m=E;l=D;k=C;j=n}else{i=P;return}if(!(m<0.0)?!(m*m<+g[d+128>>2]):0){i=P;return}if(c[b+76>>2]|0?(T=c[b+28>>2]|0,mc[c[(c[T>>2]|0)+8>>2]&127](T,P+144|0,P+64|0,P+48|0),C=(+g[P+48>>2]+ +g[P+64>>2])*.5,D=(+g[P+48+4>>2]+ +g[P+64+4>>2])*.5,E=(+g[P+48+8>>2]+ +g[P+64+8>>2])*.5,T=c[b+32>>2]|0,mc[c[(c[T>>2]|0)+8>>2]&127](T,P+80|0,P+64|0,P+48|0),Q=+g[P+208>>2],R=+g[I>>2],S=+g[N>>2],(C-(+g[P+64>>2]+ +g[P+48>>2])*.5)*Q+(D-(+g[P+64+4>>2]+ +g[P+48+4>>2])*.5)*R+(E-(+g[P+64+8>>2]+ +g[P+48+8>>2])*.5)*S<0.0):0){g[P+208>>2]=-Q;g[I>>2]=-R;g[N>>2]=-S}c[b+4>>2]=c[P+208>>2];c[b+4+4>>2]=c[P+208+4>>2];c[b+4+8>>2]=c[P+208+8>>2];c[b+4+12>>2]=c[P+208+12>>2];g[b+56>>2]=m;T=c[(c[e>>2]|0)+16>>2]|0;g[P>>2]=(G+H)*.5+l;g[P+4>>2]=(J+K)*.5+k;g[P+8>>2]=(L+M)*.5+j;g[P+12>>2]=0.0;hc[T&15](e,P+208|0,P,m);i=P;return}function Wc(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;var l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.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.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0;X=i;i=i+64|0;a[X+32+16>>0]=1;W=X+32+12|0;c[W>>2]=0;c[X+32+4>>2]=0;c[X+32+8>>2]=0;q=c[f+4>>2]|0;if((q|0)>0){c[6435]=(c[6435]|0)+1;l=yc((q<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[X+32+4>>2]|0;if((l|0)>0){m=0;do{V=o+(m<<4)|0;U=(c[W>>2]|0)+(m<<4)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[W>>2]|0;if(l|0){if(a[X+32+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[W>>2]=0}a[X+32+16>>0]=1;c[W>>2]=o;c[X+32+8>>2]=q}l=c[d+28>>2]|0;if((l|0)>0){U=c[d+36>>2]|0;A=+g[e>>2];B=+g[e+4>>2];E=+g[e+8>>2];F=+g[e+16>>2];G=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];t=+g[b>>2];u=+g[b+4>>2];v=+g[b+8>>2];V=-1;z=3402823466385288598117041.0e14;o=0;while(1){w=+g[U+(o*36|0)+20>>2];x=+g[U+(o*36|0)+24>>2];y=+g[U+(o*36|0)+28>>2];m=(w*A+x*B+y*E)*t+(w*F+x*G+y*s)*u+(w*r+x*p+y*n)*v<z;V=m?o:V;o=o+1|0;if((o|0)==(l|0))break;else z=m?(w*A+x*B+y*E)*t+(w*F+x*G+y*s)*u+(w*r+x*p+y*n)*v:z}if((V|0)>=0){L=c[U+(V*36|0)+4>>2]|0;if((L|0)>0){M=U+(V*36|0)+12|0;N=U+(V*36|0)+20|0;O=U+(V*36|0)+24|0;P=U+(V*36|0)+28|0;t=A;x=B;w=E;v=F;u=G;K=0;J=f;f=X+32|0;while(1){I=c[M>>2]|0;l=c[I+(K<<2)>>2]|0;H=c[d+16>>2]|0;K=K+1|0;I=c[I+(((K|0)==(L|0)?0:K)<<2)>>2]|0;Z=+g[H+(l<<4)>>2];_=Z-+g[H+(I<<4)>>2];Y=+g[H+(l<<4)+4>>2];$=Y-+g[H+(I<<4)+4>>2];y=+g[H+(l<<4)+8>>2];B=y-+g[H+(I<<4)+8>>2];z=_*t+$*x+B*w;A=_*v+$*u+B*s;B=_*r+$*p+B*n;$=+g[N>>2];_=+g[O>>2];G=+g[P>>2];E=t*$+x*_+w*G;F=v*$+u*_+s*G;G=r*$+p*_+n*G;u=(Z*t+Y*x+y*w+ +g[e+48>>2])*-(A*G-B*F)+(Z*v+Y*u+y*s+ +g[e+52>>2])*-(B*E-z*G)+(Z*r+Y*p+y*n+ +g[e+56>>2])*-(z*F-A*E);I=J;H=f;l=c[I+4>>2]|0;if((l|0)>=2){o=c[I+12>>2]|0;p=+g[o+(l+-1<<4)>>2];r=+g[o+(l+-1<<4)+4>>2];s=+g[o+(l+-1<<4)+8>>2];n=p*-(A*G-B*F)+r*-(B*E-z*G)+s*-(z*F-A*E)-u;D=0;while(1){v=+g[o+(D<<4)>>2];w=+g[o+(D<<4)+4>>2];x=+g[o+(D<<4)+8>>2];C=c[o+(D<<4)+12>>2]|0;y=v*-(A*G-B*F)+w*-(B*E-z*G)+x*-(z*F-A*E)-u;do if(n<0.0)if(y<0.0){m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(Q=m|0?m<<1:1,(m|0)<(Q|0)):0){if(!Q)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((Q<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{aa=q+(o<<4)|0;ba=(c[H+12>>2]|0)+(o<<4)|0;c[aa>>2]=c[ba>>2];c[aa+4>>2]=c[ba+4>>2];c[aa+8>>2]=c[ba+8>>2];c[aa+12>>2]=c[ba+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=Q;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=v;g[ba+(m<<4)+4>>2]=w;g[ba+(m<<4)+8>>2]=x;c[ba+(m<<4)+12>>2]=C;c[H+4>>2]=(c[H+4>>2]|0)+1;break}else{n=n/(n-y);t=p+(v-p)*n;p=r+(w-r)*n;n=s+(x-s)*n;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(R=m|0?m<<1:1,(m|0)<(R|0)):0){if(!R)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((R<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=R;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;c[H+4>>2]=(c[H+4>>2]|0)+1;break}else if(y<0.0){n=n/(n-y);t=p+(v-p)*n;p=r+(w-r)*n;n=s+(x-s)*n;m=c[H+4>>2]|0;if((m|0)==(c[H+8>>2]|0)?(S=m|0?m<<1:1,(m|0)<(S|0)):0){if(!S)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((S<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=S;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=t;g[ba+(m<<4)+4>>2]=p;g[ba+(m<<4)+8>>2]=n;g[ba+(m<<4)+12>>2]=0.0;m=(c[H+4>>2]|0)+1|0;c[H+4>>2]=m;if((m|0)==(c[H+8>>2]|0)?(T=m|0?m<<1:1,(m|0)<(T|0)):0){if(!T)q=0;else{c[6435]=(c[6435]|0)+1;m=yc((T<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}q=m;m=c[H+4>>2]|0}if((m|0)>0){o=0;do{ba=q+(o<<4)|0;aa=(c[H+12>>2]|0)+(o<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];o=o+1|0}while((o|0)!=(m|0))}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=q;c[H+8>>2]=T;m=c[H+4>>2]|0}ba=c[H+12>>2]|0;g[ba+(m<<4)>>2]=v;g[ba+(m<<4)+4>>2]=w;g[ba+(m<<4)+8>>2]=x;c[ba+(m<<4)+12>>2]=C;c[H+4>>2]=(c[H+4>>2]|0)+1}while(0);m=D+1|0;if((m|0)==(l|0))break;o=c[I+12>>2]|0;n=y;p=v;s=x;r=w;D=m}l=c[I+4>>2]|0}if((l|0)<0){if((c[I+8>>2]|0)<0){m=c[I+12>>2]|0;if(m|0){if(a[I+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[I+12>>2]=0}a[I+16>>0]=1;c[I+12>>2]=0;c[I+8>>2]=0}do{ba=(c[I+12>>2]|0)+(l<<4)|0;c[ba>>2]=c[X>>2];c[ba+4>>2]=c[X+4>>2];c[ba+8>>2]=c[X+8>>2];c[ba+12>>2]=c[X+12>>2];l=l+1|0}while((l|0)!=0)}c[I+4>>2]=0;t=+g[e>>2];x=+g[e+4>>2];w=+g[e+8>>2];v=+g[e+16>>2];u=+g[e+20>>2];s=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];if((K|0)>=(L|0)){o=N;m=O;l=P;C=e+48|0;D=e+52|0;q=e+56|0;break}else{ba=f;f=J;J=ba}}}else{o=U+(V*36|0)+20|0;m=U+(V*36|0)+24|0;l=U+(V*36|0)+28|0;C=e+48|0;D=e+52|0;q=e+56|0;t=A;x=B;w=E;v=F;u=G}Z=+g[o>>2];_=+g[m>>2];$=+g[l>>2];t=Z*t+_*x+$*w;s=Z*v+_*u+$*s;r=Z*r+_*p+$*n;p=+g[U+(V*36|0)+32>>2]-(t*+g[C>>2]+s*+g[D>>2]+r*+g[q>>2]);l=c[f+4>>2]|0;if((l|0)>0){o=0;do{m=c[f+12>>2]|0;n=p+(t*+g[m+(o<<4)>>2]+s*+g[m+(o<<4)+4>>2]+r*+g[m+(o<<4)+8>>2]);n=n<=h?h:n;if(n<=j){l=m+(o<<4)|0;c[X+16>>2]=c[l>>2];c[X+16+4>>2]=c[l+4>>2];c[X+16+8>>2]=c[l+8>>2];c[X+16+12>>2]=c[l+12>>2];hc[c[(c[k>>2]|0)+16>>2]&15](k,b,X+16|0,n);l=c[f+4>>2]|0}o=o+1|0}while((o|0)<(l|0))}}}l=c[W>>2]|0;if(!l){i=X;return}if(a[X+32+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[W>>2]=0;i=X;return}function Xc(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;w=i;i=i+176|0;if(!(a[b+738>>0]|0)){i=w;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;l=+g[b+600>>2];m=+g[b+604>>2];r=+g[b+608>>2];t=l*+g[e+20>>2]+m*+g[e+24>>2]+r*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;n=+g[b+664>>2];o=+g[b+668>>2];s=+g[b+672>>2];p=+g[f+52>>2];d=+g[f+56>>2];u=n*+g[f+20>>2]+o*+g[f+24>>2]+s*+g[f+28>>2]+d;v=n*+g[f+36>>2]+o*+g[f+40>>2]+s*+g[f+44>>2]+ +g[f+60>>2];q=l*+g[e+4>>2]+m*+g[e+8>>2]+r*+g[e+12>>2]+ +g[e+52>>2];r=l*+g[e+36>>2]+m*+g[e+40>>2]+r*+g[e+44>>2]+ +g[e+60>>2];s=n*+g[f+4>>2]+o*+g[f+8>>2]+s*+g[f+12>>2]+p;if((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)>1.1920928955078125e-07){j=1.0/+O(+((s-q)*(s-q)+(u-t)*(u-t)+(v-r)*(v-r)));g[w+128>>2]=(s-q)*j;g[w+128+4>>2]=(u-t)*j;g[w+128+8>>2]=(v-r)*j;c[w+128+12>>2]=0;n=(v-r)*j;h=(u-t)*j;j=(s-q)*j}else{c[w+128>>2]=1065353216;c[w+128+4>>2]=0;c[w+128+8>>2]=0;g[w+128+12>>2]=0.0;n=0.0;h=0.0;j=1.0}if(+N(+n)>.7071067690849304){y=n*n+h*h;x=1.0/+O(+y);l=-(x*n);n=x*h;o=-(n*j);k=j*l;m=0.0;h=y*x;j=n}else{l=j*j+h*h;k=1.0/+O(+l);m=-(h*k);h=k*j;o=n*m;k=l*k;l=h;h=-(h*n);j=0.0}g[w+128+16>>2]=m;g[w+128+20>>2]=l;g[w+128+24>>2]=j;g[w+128+32>>2]=h;g[w+128+36>>2]=o;g[w+128+40>>2]=k;h=p;e=0;while(1){z=c[b+28>>2]|0;c[w+80>>2]=c[z+4>>2];c[w+80+4>>2]=c[z+20>>2];c[w+80+8>>2]=c[z+36>>2];g[w+80+12>>2]=0.0;c[w+80+16>>2]=c[z+8>>2];c[w+80+20>>2]=c[z+24>>2];c[w+80+24>>2]=c[z+40>>2];g[w+80+28>>2]=0.0;c[w+80+32>>2]=c[z+12>>2];c[w+80+36>>2]=c[z+28>>2];c[w+80+40>>2]=c[z+44>>2];g[w+80+44>>2]=0.0;c[w+32>>2]=c[f+4>>2];c[w+32+4>>2]=c[f+20>>2];c[w+32+8>>2]=c[f+36>>2];g[w+32+12>>2]=0.0;c[w+32+16>>2]=c[f+8>>2];c[w+32+20>>2]=c[f+24>>2];c[w+32+24>>2]=c[f+40>>2];g[w+32+28>>2]=0.0;c[w+32+32>>2]=c[f+12>>2];c[w+32+36>>2]=c[f+28>>2];c[w+32+40>>2]=c[f+44>>2];g[w+32+44>>2]=0.0;x=t-+g[z+56>>2];y=r-+g[z+60>>2];g[w+16>>2]=q-+g[z+52>>2];g[w+16+4>>2]=x;g[w+16+8>>2]=y;g[w+16+12>>2]=0.0;y=v-+g[f+60>>2];g[w>>2]=s-h;g[w+4>>2]=u-d;g[w+8>>2]=y;g[w+12>>2]=0.0;z=c[b+28>>2]|0;f=c[b+32>>2]|0;Rg(b+48+(e*84|0)|0,w+80|0,w+32|0,w+16|0,w,w+128+(e<<4)|0,z+396|0,+g[z+344>>2],f+396|0,+g[f+344>>2]);e=e+1|0;if((e|0)==3)break;z=c[b+32>>2]|0;f=z;h=+g[z+52>>2];d=+g[z+56>>2]}}h=+g[b+560>>2];j=+g[b+576>>2];k=+g[b+592>>2];if(+N(+k)>.7071067690849304){p=1.0/+O(+(k*k+j*j));d=h*-(k*p);l=0.0;m=j*p;n=-(k*p);o=(k*k+j*j)*p;p=-(h*j*p)}else{p=1.0/+O(+(h*h+j*j));d=(h*h+j*j)*p;l=-(j*p);m=0.0;n=h*p;o=-(k*h*p);p=k*-(j*p)}f=c[b+28>>2]|0;I=+g[f+4>>2];H=+g[f+8>>2];u=+g[f+12>>2];R=l*I+n*H+m*u;G=+g[f+20>>2];F=+g[f+24>>2];x=+g[f+28>>2];T=l*G+n*F+m*x;E=+g[f+36>>2];s=+g[f+40>>2];C=+g[f+44>>2];W=l*E+n*s+m*C;B=o*I+p*H+d*u;K=o*G+p*F+d*x;L=o*E+p*s+d*C;e=c[b+32>>2]|0;A=+g[e+4>>2];l=+g[e+20>>2];m=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];v=+g[e+40>>2];P=+g[e+12>>2];S=+g[e+28>>2];V=+g[e+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=R*I+T*G+W*E;g[b+320>>2]=R*H+T*F+W*s;g[b+324>>2]=R*u+T*x+W*C;g[b+328>>2]=0.0;g[b+332>>2]=A*-R+l*-T+m*-W;g[b+336>>2]=q*-R+r*-T+v*-W;g[b+340>>2]=P*-R+S*-T+V*-W;g[b+344>>2]=0.0;D=(R*I+T*G+W*E)*+g[f+396>>2];J=(R*H+T*F+W*s)*+g[f+400>>2];d=(R*u+T*x+W*C)*+g[f+404>>2];g[b+348>>2]=D;g[b+352>>2]=J;g[b+356>>2]=d;g[b+360>>2]=0.0;p=(A*-R+l*-T+m*-W)*+g[e+396>>2];y=(q*-R+r*-T+v*-W)*+g[e+400>>2];X=(P*-R+S*-T+V*-W)*+g[e+404>>2];g[b+364>>2]=p;g[b+368>>2]=y;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(R*I+T*G+W*E)*D+(R*H+T*F+W*s)*J+(R*u+T*x+W*C)*d+((A*-R+l*-T+m*-W)*p+(q*-R+r*-T+v*-W)*y+(P*-R+S*-T+V*-W)*X);e=c[b+28>>2]|0;X=+g[e+4>>2];W=+g[e+20>>2];V=+g[e+36>>2];T=+g[e+8>>2];S=+g[e+24>>2];R=+g[e+40>>2];P=+g[e+12>>2];y=+g[e+28>>2];v=+g[e+44>>2];f=c[b+32>>2]|0;r=+g[f+4>>2];q=+g[f+20>>2];p=+g[f+36>>2];m=+g[f+8>>2];l=+g[f+24>>2];A=+g[f+40>>2];d=+g[f+12>>2];J=+g[f+28>>2];D=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=B*X+K*W+L*V;g[b+404>>2]=B*T+K*S+L*R;g[b+408>>2]=B*P+K*y+L*v;g[b+412>>2]=0.0;g[b+416>>2]=r*-B+q*-K+p*-L;g[b+420>>2]=m*-B+l*-K+A*-L;g[b+424>>2]=d*-B+J*-K+D*-L;g[b+428>>2]=0.0;U=(B*X+K*W+L*V)*+g[e+396>>2];Q=(B*T+K*S+L*R)*+g[e+400>>2];t=(B*P+K*y+L*v)*+g[e+404>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=t;g[b+444>>2]=0.0;n=(r*-B+q*-K+p*-L)*+g[f+396>>2];o=(m*-B+l*-K+A*-L)*+g[f+400>>2];M=(d*-B+J*-K+D*-L)*+g[f+404>>2];g[b+448>>2]=n;g[b+452>>2]=o;g[b+456>>2]=M;g[b+460>>2]=0.0;g[b+464>>2]=(B*X+K*W+L*V)*U+(B*T+K*S+L*R)*Q+(B*P+K*y+L*v)*t+((r*-B+q*-K+p*-L)*n+(m*-B+l*-K+A*-L)*o+(d*-B+J*-K+D*-L)*M);f=c[b+28>>2]|0;M=+g[f+4>>2];L=+g[f+20>>2];D=+g[f+36>>2];K=+g[f+8>>2];J=+g[f+24>>2];B=+g[f+40>>2];d=+g[f+12>>2];o=+g[f+28>>2];A=+g[f+44>>2];e=c[b+32>>2]|0;l=+g[e+4>>2];m=+g[e+20>>2];n=+g[e+36>>2];p=+g[e+8>>2];q=+g[e+24>>2];r=+g[e+40>>2];t=+g[e+12>>2];v=+g[e+28>>2];y=+g[e+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;D=(I*h+H*j+u*k)*M+(G*h+F*j+x*k)*L+(E*h+s*j+C*k)*D;B=(I*h+H*j+u*k)*K+(G*h+F*j+x*k)*J+(E*h+s*j+C*k)*B;A=(I*h+H*j+u*k)*d+(G*h+F*j+x*k)*o+(E*h+s*j+C*k)*A;g[b+484>>2]=D;g[b+488>>2]=B;g[b+492>>2]=A;g[b+496>>2]=0.0;u=-(I*h+H*j+u*k);x=-(G*h+F*j+x*k);h=-(E*h+s*j+C*k);g[b+500>>2]=l*u+m*x+n*h;g[b+504>>2]=p*u+q*x+r*h;g[b+508>>2]=t*u+v*x+y*h;g[b+512>>2]=0.0;C=D*+g[f+396>>2];j=B*+g[f+400>>2];k=A*+g[f+404>>2];g[b+516>>2]=C;g[b+520>>2]=j;g[b+524>>2]=k;g[b+528>>2]=0.0;o=(l*u+m*x+n*h)*+g[e+396>>2];s=(p*u+q*x+r*h)*+g[e+400>>2];d=(t*u+v*x+y*h)*+g[e+404>>2];g[b+532>>2]=o;g[b+536>>2]=s;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=D*C+B*j+A*k+((l*u+m*x+n*h)*o+(p*u+q*x+r*h)*s+(t*u+v*x+y*h)*d);g[b+724>>2]=0.0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;d=+kj(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=+eh(d-+g[b+688>>2],6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(d+h);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[e+4>>2]+U*+g[e+8>>2]+X*+g[e+12>>2];W=T*+g[e+20>>2]+U*+g[e+24>>2]+X*+g[e+28>>2];X=T*+g[e+36>>2]+U*+g[e+40>>2]+X*+g[e+44>>2];g[b+720>>2]=1.0/(V*(V*+g[e+264>>2]+W*+g[e+280>>2]+X*+g[e+296>>2])+W*(V*+g[e+268>>2]+W*+g[e+284>>2]+X*+g[e+300>>2])+X*(V*+g[e+272>>2]+W*+g[e+288>>2]+X*+g[e+304>>2])+(V*(V*+g[f+264>>2]+W*+g[f+280>>2]+X*+g[f+296>>2])+W*(V*+g[f+268>>2]+W*+g[f+284>>2]+X*+g[f+300>>2])+X*(V*+g[f+272>>2]+W*+g[f+288>>2]+X*+g[f+304>>2])));i=w;return}function Yc(b,d,e,f,h,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=i;i=i+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{Ue();t=+g[24672+(b<<4)>>2];u=+g[24672+(b<<4)+4>>2];v=+g[24672+(b<<4)+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(b<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(b<<4)+4>>2]=y;g[B+1248+(b<<4)+8>>2]=w;g[B+1248+(b<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(b<<4)>>2]=t*+g[j>>2]+u*+g[j+16>>2]+v*+g[j+32>>2];g[B+256+(b<<4)+4>>2]=w;g[B+256+(b<<4)+8>>2]=y;g[B+256+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=Eb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((b|0)>0){q=0;r=42;while(1){ic[c[(c[e>>2]|0)+88>>2]&127](e,q,B+176|0);w=+g[B+176>>2];y=+g[B+176+4>>2];v=+g[B+176+8>>2];u=w*+g[h+16>>2]+y*+g[h+20>>2]+v*+g[h+24>>2];t=w*+g[h+32>>2]+y*+g[h+36>>2]+v*+g[h+40>>2];g[B+176>>2]=+g[h>>2]*w+ +g[h+4>>2]*y+ +g[h+8>>2]*v;g[B+176+4>>2]=u;g[B+176+8>>2]=t;g[B+176+12>>2]=0.0;Ue();z=24672+(r<<4)|0;c[z>>2]=c[B+176>>2];c[z+4>>2]=c[B+176+4>>2];c[z+8>>2]=c[B+176+8>>2];c[z+12>>2]=c[B+176+12>>2];t=+g[B+176>>2];u=+g[B+176+4>>2];v=+g[B+176+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(r<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(r<<4)+4>>2]=y;g[B+1248+(r<<4)+8>>2]=w;g[B+1248+(r<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(r<<4)>>2]=+g[j>>2]*t+ +g[j+16>>2]*u+ +g[j+32>>2]*v;g[B+256+(r<<4)+4>>2]=w;g[B+256+(r<<4)+8>>2]=y;g[B+256+(r<<4)+12>>2]=0.0;q=q+1|0;if((q|0)==(b|0))break;else r=r+1|0}r=b+42|0}else r=42;b=Eb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((b|0)>0){q=0;s=r;while(1){ic[c[(c[f>>2]|0)+88>>2]&127](f,q,B+176|0);w=+g[B+176>>2];y=+g[B+176+4>>2];v=+g[B+176+8>>2];u=w*+g[j+16>>2]+y*+g[j+20>>2]+v*+g[j+24>>2];t=w*+g[j+32>>2]+y*+g[j+36>>2]+v*+g[j+40>>2];g[B+176>>2]=+g[j>>2]*w+ +g[j+4>>2]*y+ +g[j+8>>2]*v;g[B+176+4>>2]=u;g[B+176+8>>2]=t;g[B+176+12>>2]=0.0;Ue();z=24672+(s<<4)|0;c[z>>2]=c[B+176>>2];c[z+4>>2]=c[B+176+4>>2];c[z+8>>2]=c[B+176+8>>2];c[z+12>>2]=c[B+176+12>>2];t=+g[B+176>>2];u=+g[B+176+4>>2];v=+g[B+176+8>>2];y=+g[h+4>>2]*-t+ +g[h+20>>2]*-u+ +g[h+36>>2]*-v;w=+g[h+8>>2]*-t+ +g[h+24>>2]*-u+ +g[h+40>>2]*-v;g[B+1248+(s<<4)>>2]=+g[h>>2]*-t+ +g[h+16>>2]*-u+ +g[h+32>>2]*-v;g[B+1248+(s<<4)+4>>2]=y;g[B+1248+(s<<4)+8>>2]=w;g[B+1248+(s<<4)+12>>2]=0.0;w=t*+g[j+4>>2]+u*+g[j+20>>2]+v*+g[j+36>>2];y=t*+g[j+8>>2]+u*+g[j+24>>2]+v*+g[j+40>>2];g[B+256+(s<<4)>>2]=+g[j>>2]*t+ +g[j+16>>2]*u+ +g[j+32>>2]*v;g[B+256+(s<<4)+4>>2]=w;g[B+256+(s<<4)+8>>2]=y;g[B+256+(s<<4)+12>>2]=0.0;q=q+1|0;if((q|0)==(b|0))break;else s=s+1|0}r=b+r|0}mc[c[(c[e>>2]|0)+76>>2]&127](e,B+1248|0,B+3232|0,r);mc[c[(c[f>>2]|0)+76>>2]&127](f,B+256|0,B+2240|0,r);if((r|0)>0){z=0;b=0;q=0;s=0;w=0.0;u=999999984306749440.0;while(1){Ue();p=+g[24672+(z<<4)>>2];t=+g[24672+(z<<4)+4>>2];y=+g[24672+(z<<4)+12>>2];v=A?0.0:+g[24672+(z<<4)+8>>2];if(p*p+t*t+v*v>.01?(D=+g[B+3232+(z<<4)>>2],C=+g[B+3232+(z<<4)+4>>2],x=+g[B+3232+(z<<4)+8>>2],G=+g[B+2240+(z<<4)>>2],F=+g[B+2240+(z<<4)+4>>2],E=+g[B+2240+(z<<4)+8>>2],x=p*(G*+g[j>>2]+F*+g[j+4>>2]+E*+g[j+8>>2]+ +g[j+48>>2]-(D*+g[h>>2]+C*+g[h+4>>2]+x*+g[h+8>>2]+ +g[h+48>>2]))+t*(G*+g[j+16>>2]+F*+g[j+20>>2]+E*+g[j+24>>2]+ +g[j+52>>2]-(D*+g[h+16>>2]+C*+g[h+20>>2]+x*+g[h+24>>2]+ +g[h+52>>2]))+v*((A?0.0:G*+g[j+32>>2]+F*+g[j+36>>2]+E*+g[j+40>>2]+ +g[j+56>>2])-(A?0.0:D*+g[h+32>>2]+C*+g[h+36>>2]+x*+g[h+40>>2]+ +g[h+56>>2])),x<u):0){b=(g[k>>2]=p,c[k>>2]|0);q=(g[k>>2]=t,c[k>>2]|0);s=(g[k>>2]=v,c[k>>2]|0);u=x}else y=w;z=z+1|0;if((z|0)==(r|0)){z=b;r=s;break}else w=y}}else{z=0;q=0;r=0;y=0.0;u=999999984306749440.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Sb[c[(c[e>>2]|0)+48>>2]&15](e)}v=(c[k>>2]=z,+g[k>>2]);w=(c[k>>2]=q,+g[k>>2]);x=(c[k>>2]=r,+g[k>>2]);switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Sb[c[(c[f>>2]|0)+48>>2]&15](f)}if(u<0.0){l=0;i=B;return l|0}switch(c[e+4>>2]|0){case 8:{p=+g[e+28>>2]*+g[e+12>>2];break}case 0:{p=+g[e+44>>2];break}case 1:{p=+g[e+44>>2];break}case 13:{p=+g[e+44>>2];break}case 11:{p=+g[e+44>>2];break}case 10:{p=+g[e+44>>2];break}case 4:case 5:{p=+g[e+44>>2];break}default:p=+Sb[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{t=+g[f+28>>2]*+g[f+12>>2];b=8;break}case 0:{t=+g[f+44>>2];b=0;break}case 1:{t=+g[f+44>>2];b=1;break}case 13:{t=+g[f+44>>2];b=13;break}case 11:{t=+g[f+44>>2];b=11;break}case 10:{t=+g[f+44>>2];b=10;break}case 4:case 5:{t=+g[f+44>>2];break}default:{t=+Sb[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}p=u+(p+t+.5);c[B+176>>2]=9208;c[B+176+4>>2]=0;c[B+176+8>>2]=1065353216;c[B+176+12>>2]=0;g[B+176+16>>2]=0.0;c[B+176+20>>2]=0;c[B+176+24>>2]=d;c[B+176+28>>2]=e;c[B+176+32>>2]=f;c[B+176+36>>2]=c[e+4>>2];c[B+176+40>>2]=b;g[B+176+44>>2]=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);g[B+176+48>>2]=+Sb[c[(c[f>>2]|0)+48>>2]&15](f);a[B+176+52>>0]=0;c[B+176+60>>2]=-1;c[B+176+72>>2]=1;c[B+176+76>>2]=1;E=v*p+ +g[h+48>>2];F=w*p+ +g[h+52>>2];G=x*p+ +g[h+56>>2];c[B+44>>2]=c[h>>2];c[B+44+4>>2]=c[h+4>>2];c[B+44+8>>2]=c[h+8>>2];c[B+44+12>>2]=c[h+12>>2];c[B+44+16>>2]=c[h+16>>2];c[B+44+16+4>>2]=c[h+16+4>>2];c[B+44+16+8>>2]=c[h+16+8>>2];c[B+44+16+12>>2]=c[h+16+12>>2];c[B+44+32>>2]=c[h+32>>2];c[B+44+32+4>>2]=c[h+32+4>>2];c[B+44+32+8>>2]=c[h+32+8>>2];c[B+44+32+12>>2]=c[h+32+12>>2];g[B+44+48>>2]=E;g[B+44+52>>2]=F;g[B+44+56>>2]=G;g[B+44+60>>2]=0.0;c[B+44+64>>2]=c[j>>2];c[B+44+64+4>>2]=c[j+4>>2];c[B+44+64+8>>2]=c[j+8>>2];c[B+44+64+12>>2]=c[j+12>>2];c[B+44+80>>2]=c[j+16>>2];c[B+44+80+4>>2]=c[j+16+4>>2];c[B+44+80+8>>2]=c[j+16+8>>2];c[B+44+80+12>>2]=c[j+16+12>>2];c[B+44+96>>2]=c[j+32>>2];c[B+44+96+4>>2]=c[j+32+4>>2];c[B+44+96+8>>2]=c[j+32+8>>2];c[B+44+96+12>>2]=c[j+32+12>>2];c[B+44+112>>2]=c[j+48>>2];c[B+44+112+4>>2]=c[j+48+4>>2];c[B+44+112+8>>2]=c[j+48+8>>2];c[B+44+112+12>>2]=c[j+48+12>>2];g[B+44+128>>2]=999999984306749440.0;c[B>>2]=9092;a[B+40>>0]=0;g[B+176+4>>2]=-v;g[B+176+8>>2]=-w;g[B+176+12>>2]=-x;g[B+176+16>>2]=0.0;Vc(B+176|0,B+44|0,B,o,0);p=p-+g[B+36>>2];b=a[B+40>>0]|0;if(b<<24>>24){F=+g[B+24>>2]-w*p;G=+g[B+28>>2]-x*p;g[m>>2]=+g[B+20>>2]-v*p;g[m+4>>2]=F;g[m+8>>2]=G;g[m+12>>2]=0.0;c[n>>2]=c[B+20>>2];c[n+4>>2]=c[B+20+4>>2];c[n+8>>2]=c[B+20+8>>2];c[n+12>>2]=c[B+20+12>>2];c[l>>2]=z;c[l+4>>2]=q;c[l+8>>2]=r;g[l+12>>2]=y}l=b<<24>>24!=0;i=B;return l|0}function Zc(d,f,h,i){d=d|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;c[d+168>>2]=c[d+152>>2];c[f>>2]=9012;c[f+52>>2]=282;a[f+60>>0]=0;a[f+80>>0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;a[f+100>>0]=1;c[f+96>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;a[f+120>>0]=1;c[f+116>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;a[f+140>>0]=1;c[f+136>>2]=0;c[f+128>>2]=0;c[f+132>>2]=0;c[f+144>>2]=0;a[f+164>>0]=1;c[f+160>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+168>>2]=0;c[f+4>>2]=-8388609;c[f+8>>2]=-8388609;c[f+12>>2]=-8388609;g[f+16>>2]=0.0;c[f+20>>2]=2139095039;c[f+24>>2]=2139095039;c[f+28>>2]=2139095039;g[f+32>>2]=0.0;h=c[d+56>>2]|0;if(i){c[f+56>>2]=ow(h|0)|0;a[f+4>>0]=a[d+4+3>>0]|0;a[f+5>>0]=a[d+4+2>>0]|0;a[f+6>>0]=a[d+4+1>>0]|0;a[f+7>>0]=a[d+4>>0]|0;a[f+8>>0]=a[d+8+3>>0]|0;a[f+9>>0]=a[d+8+2>>0]|0;a[f+10>>0]=a[d+8+1>>0]|0;a[f+11>>0]=a[d+8>>0]|0;a[f+12>>0]=a[d+12+3>>0]|0;a[f+13>>0]=a[d+12+2>>0]|0;a[f+14>>0]=a[d+12+1>>0]|0;a[f+15>>0]=a[d+12>>0]|0;a[f+16>>0]=a[d+16+3>>0]|0;a[f+17>>0]=a[d+16+2>>0]|0;a[f+18>>0]=a[d+16+1>>0]|0;a[f+19>>0]=a[d+16>>0]|0;a[f+20>>0]=a[d+20+3>>0]|0;a[f+21>>0]=a[d+20+2>>0]|0;a[f+22>>0]=a[d+20+1>>0]|0;a[f+23>>0]=a[d+20>>0]|0;a[f+24>>0]=a[d+24+3>>0]|0;a[f+25>>0]=a[d+24+2>>0]|0;a[f+26>>0]=a[d+24+1>>0]|0;a[f+27>>0]=a[d+24>>0]|0;a[f+28>>0]=a[d+28+3>>0]|0;a[f+29>>0]=a[d+28+2>>0]|0;a[f+30>>0]=a[d+28+1>>0]|0;a[f+31>>0]=a[d+28>>0]|0;a[f+32>>0]=a[d+32+3>>0]|0;a[f+33>>0]=a[d+32+2>>0]|0;a[f+34>>0]=a[d+32+1>>0]|0;a[f+35>>0]=a[d+32>>0]|0;a[f+36>>0]=a[d+36+3>>0]|0;a[f+37>>0]=a[d+36+2>>0]|0;a[f+38>>0]=a[d+36+1>>0]|0;a[f+39>>0]=a[d+36>>0]|0;a[f+40>>0]=a[d+40+3>>0]|0;a[f+41>>0]=a[d+40+2>>0]|0;a[f+42>>0]=a[d+40+1>>0]|0;a[f+43>>0]=a[d+40>>0]|0;a[f+44>>0]=a[d+44+3>>0]|0;a[f+45>>0]=a[d+44+2>>0]|0;a[f+46>>0]=a[d+44+1>>0]|0;a[f+47>>0]=a[d+44>>0]|0;a[f+48>>0]=a[d+48+3>>0]|0;a[f+49>>0]=a[d+48+2>>0]|0;a[f+50>>0]=a[d+48+1>>0]|0;a[f+51>>0]=a[d+48>>0]|0;c[f+144>>2]=ow(c[d+144>>2]|0)|0;h=ow(c[d+168>>2]|0)|0}else{c[f+56>>2]=h;c[f+4>>2]=c[d+4>>2];c[f+4+4>>2]=c[d+4+4>>2];c[f+4+8>>2]=c[d+4+8>>2];c[f+4+12>>2]=c[d+4+12>>2];c[f+20>>2]=c[d+20>>2];c[f+20+4>>2]=c[d+20+4>>2];c[f+20+8>>2]=c[d+20+8>>2];c[f+20+12>>2]=c[d+20+12>>2];c[f+36>>2]=c[d+36>>2];c[f+36+4>>2]=c[d+36+4>>2];c[f+36+8>>2]=c[d+36+8>>2];c[f+36+12>>2]=c[d+36+12>>2];c[f+144>>2]=c[d+144>>2];h=c[d+168>>2]|0}c[f+168>>2]=h;a[f+60>>0]=a[d+60>>0]|0;l=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){h=c[f+96>>2]|0;if(h|0){if(a[f+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+88+4>>2]=0;c[f+88+8>>2]=0;a[f+88+12>>0]=0;c[f+96>>2]=f+172;c[f+88>>2]=l;c[f+92>>2]=l;if(i)if((l|0)>0){j=c[d+96>>2]|0;h=f+172|0;k=0;do{m=j+(k<<6)|0;o=h+(k<<6)|0;a[o>>0]=a[m+3>>0]|0;a[o+1>>0]=a[m+2>>0]|0;a[o+2>>0]=a[m+1>>0]|0;a[o+3>>0]=a[m>>0]|0;o=j+(k<<6)+4|0;m=h+(k<<6)+4|0;a[m>>0]=a[o+3>>0]|0;a[m+1>>0]=a[o+2>>0]|0;a[m+2>>0]=a[o+1>>0]|0;a[m+3>>0]=a[o>>0]|0;m=j+(k<<6)+8|0;o=h+(k<<6)+8|0;a[o>>0]=a[m+3>>0]|0;a[o+1>>0]=a[m+2>>0]|0;a[o+2>>0]=a[m+1>>0]|0;a[o+3>>0]=a[m>>0]|0;o=j+(k<<6)+12|0;h=h+(k<<6)+12|0;a[h>>0]=a[o+3>>0]|0;a[h+1>>0]=a[o+2>>0]|0;a[h+2>>0]=a[o+1>>0]|0;a[h+3>>0]=a[o>>0]|0;h=c[d+96>>2]|0;o=h+(k<<6)+16|0;m=c[f+96>>2]|0;n=m+(k<<6)+16|0;a[n>>0]=a[o+3>>0]|0;a[n+1>>0]=a[o+2>>0]|0;a[n+2>>0]=a[o+1>>0]|0;a[n+3>>0]=a[o>>0]|0;n=h+(k<<6)+20|0;o=m+(k<<6)+20|0;a[o>>0]=a[n+3>>0]|0;a[o+1>>0]=a[n+2>>0]|0;a[o+2>>0]=a[n+1>>0]|0;a[o+3>>0]=a[n>>0]|0;o=h+(k<<6)+24|0;n=m+(k<<6)+24|0;a[n>>0]=a[o+3>>0]|0;a[n+1>>0]=a[o+2>>0]|0;a[n+2>>0]=a[o+1>>0]|0;a[n+3>>0]=a[o>>0]|0;h=h+(k<<6)+28|0;m=m+(k<<6)+28|0;a[m>>0]=a[h+3>>0]|0;a[m+1>>0]=a[h+2>>0]|0;a[m+2>>0]=a[h+1>>0]|0;a[m+3>>0]=a[h>>0]|0;j=c[d+96>>2]|0;m=ow(c[j+(k<<6)+32>>2]|0)|0;h=c[f+96>>2]|0;c[h+(k<<6)+32>>2]=m;c[h+(k<<6)+36>>2]=ow(c[j+(k<<6)+36>>2]|0)|0;c[h+(k<<6)+40>>2]=ow(c[j+(k<<6)+40>>2]|0)|0;k=k+1|0}while((k|0)!=(l|0))}else h=f+172|0;else if((l|0)>0){h=f+172|0;j=c[d+96>>2]|0;k=0;do{h=h+(k<<6)|0;o=j+(k<<6)|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];h=(c[f+96>>2]|0)+(k<<6)+16|0;o=(c[d+96>>2]|0)+(k<<6)+16|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];j=c[d+96>>2]|0;h=c[f+96>>2]|0;c[h+(k<<6)+32>>2]=c[j+(k<<6)+32>>2];c[h+(k<<6)+36>>2]=c[j+(k<<6)+36>>2];c[h+(k<<6)+40>>2]=c[j+(k<<6)+40>>2];k=k+1|0}while((k|0)!=(l|0))}else h=f+172|0;if(h|0){if(a[f+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+88+4>>2]=0;c[f+88+8>>2]=0;a[f+88+12>>0]=0;h=l<<6}else{h=c[f+136>>2]|0;if(h|0){if(a[f+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[f+136>>2]=0}c[f+128>>2]=0;c[f+128+4>>2]=0;c[f+128+8>>2]=0;a[f+128+12>>0]=0;c[f+136>>2]=f+172;c[f+128>>2]=l;c[f+132>>2]=l;if(i){if((l|0)>0){h=c[d+136>>2]|0;j=0;do{o=e[h+(j<<4)>>1]|0;b[f+172+(j<<4)>>1]=o>>>8|o<<8;o=e[h+(j<<4)+2>>1]|0;b[f+172+(j<<4)+2>>1]=o>>>8|o<<8;o=e[h+(j<<4)+4>>1]|0;b[f+172+(j<<4)+4>>1]=o>>>8|o<<8;o=e[h+(j<<4)+6>>1]|0;b[f+172+(j<<4)+6>>1]=o>>>8|o<<8;o=e[h+(j<<4)+8>>1]|0;b[f+172+(j<<4)+8>>1]=o>>>8|o<<8;o=e[h+(j<<4)+10>>1]|0;b[f+172+(j<<4)+10>>1]=o>>>8|o<<8;c[f+172+(j<<4)+12>>2]=ow(c[h+(j<<4)+12>>2]|0)|0;j=j+1|0}while((j|0)!=(l|0))}}else if((l|0)>0){h=c[d+136>>2]|0;j=0;do{b[f+172+(j<<4)>>1]=b[h+(j<<4)>>1]|0;b[f+172+(j<<4)+2>>1]=b[h+(j<<4)+2>>1]|0;b[f+172+(j<<4)+4>>1]=b[h+(j<<4)+4>>1]|0;b[f+172+(j<<4)+6>>1]=b[h+(j<<4)+6>>1]|0;b[f+172+(j<<4)+8>>1]=b[h+(j<<4)+8>>1]|0;b[f+172+(j<<4)+10>>1]=b[h+(j<<4)+10>>1]|0;c[f+172+(j<<4)+12>>2]=c[h+(j<<4)+12>>2];j=j+1|0}while((j|0)!=(l|0))}if(c[f+136>>2]|0)c[f+136>>2]=0;c[f+128>>2]=0;c[f+128+4>>2]=0;c[f+128+8>>2]=0;a[f+128+12>>0]=0;h=l<<4}l=f+172+h|0;h=c[d+168>>2]|0;j=c[f+160>>2]|0;if(j|0){if(a[f+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[f+160>>2]=0}c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;c[f+160>>2]=l;c[f+152>>2]=h;c[f+156>>2]=h;k=c[d+168>>2]|0;if(i){if((k|0)>0){h=c[d+160>>2]|0;j=0;do{o=e[h+(j<<5)>>1]|0;b[l+(j<<5)>>1]=o>>>8|o<<8;o=e[h+(j<<5)+2>>1]|0;b[l+(j<<5)+2>>1]=o>>>8|o<<8;o=e[h+(j<<5)+4>>1]|0;b[l+(j<<5)+4>>1]=o>>>8|o<<8;o=e[h+(j<<5)+6>>1]|0;b[l+(j<<5)+6>>1]=o>>>8|o<<8;o=e[h+(j<<5)+8>>1]|0;b[l+(j<<5)+8>>1]=o>>>8|o<<8;o=e[h+(j<<5)+10>>1]|0;b[l+(j<<5)+10>>1]=o>>>8|o<<8;c[l+(j<<5)+12>>2]=ow(c[h+(j<<5)+12>>2]|0)|0;c[l+(j<<5)+16>>2]=ow(c[h+(j<<5)+16>>2]|0)|0;j=j+1|0}while((j|0)!=(k|0))}}else if((k|0)>0){h=c[d+160>>2]|0;j=0;do{b[l+(j<<5)>>1]=b[h+(j<<5)>>1]|0;b[l+(j<<5)+2>>1]=b[h+(j<<5)+2>>1]|0;b[l+(j<<5)+4>>1]=b[h+(j<<5)+4>>1]|0;b[l+(j<<5)+6>>1]=b[h+(j<<5)+6>>1]|0;b[l+(j<<5)+8>>1]=b[h+(j<<5)+8>>1]|0;b[l+(j<<5)+10>>1]=b[h+(j<<5)+10>>1]|0;c[l+(j<<5)+12>>2]=c[h+(j<<5)+12>>2];c[l+(j<<5)+16>>2]=c[h+(j<<5)+16>>2];c[l+(j<<5)+20>>2]=0;c[l+(j<<5)+24>>2]=0;c[l+(j<<5)+28>>2]=0;j=j+1|0}while((j|0)<(c[d+168>>2]|0))}if(!(c[f+160>>2]|0)){c[f>>2]=0;c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;return 1}c[f+160>>2]=0;c[f>>2]=0;c[f+152>>2]=0;c[f+152+4>>2]=0;c[f+152+8>>2]=0;a[f+152+12>>0]=0;return 1}function _c(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0;I=i;i=i+96|0;if(!(c[b+12>>2]|0)){i=I;return}f=(a[b+16>>0]|0)!=0;L=f?e:d;f=f?d:e;j=c[L+4>>2]|0;k=c[f+4>>2]|0;L=c[L+12>>2]|0;aa=+g[L>>2];$=+g[L+16>>2];_=+g[L+32>>2];Z=+g[L+4>>2];Y=+g[L+20>>2];o=+g[L+36>>2];l=+g[L+8>>2];r=+g[L+24>>2];y=+g[L+40>>2];T=+g[L+48>>2];S=+g[L+52>>2];P=+g[L+56>>2];K=c[f+12>>2]|0;X=+g[K>>2];W=+g[K+16>>2];p=+g[K+32>>2];V=+g[K+4>>2];U=+g[K+20>>2];q=+g[K+36>>2];x=+g[K+8>>2];v=+g[K+24>>2];t=+g[K+40>>2];M=-+g[K+48>>2];E=-+g[K+52>>2];F=-+g[K+56>>2];G=+g[L>>2];H=+g[L+16>>2];D=+g[L+32>>2];B=+g[L+4>>2];A=+g[L+20>>2];z=+g[L+36>>2];w=+g[L+8>>2];u=+g[L+24>>2];s=+g[L+40>>2];L=c[(c[j>>2]|0)+64>>2]|0;n=-+g[k+48>>2];m=-+g[k+52>>2];C=-+g[k+56>>2];g[I>>2]=(aa*X+$*W+_*p)*n+(aa*V+$*U+_*q)*m+(aa*x+$*v+_*t)*C;g[I+4>>2]=(Z*X+Y*W+o*p)*n+(Z*V+Y*U+o*q)*m+(Z*x+Y*v+o*t)*C;g[I+8>>2]=(l*X+r*W+y*p)*n+(l*V+r*U+y*q)*m+(l*x+r*v+y*t)*C;g[I+12>>2]=0.0;ic[L&127](I+16|0,j,I);C=+g[I+16>>2];y=+g[I+16+4>>2];r=+g[I+16+8>>2];l=+g[k+48>>2];m=+g[k+52>>2];n=+g[k+56>>2];o=n*(T*x+S*v+P*t+(x*M+v*E+t*F)+((x*G+v*H+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r))+(l*(T*X+S*W+P*p+(X*M+W*E+p*F)+((X*G+W*H+p*D)*C+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r))+m*(T*V+S*U+P*q+(V*M+U*E+q*F)+((V*G+U*H+q*D)*C+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)))-+g[k+64>>2];p=T*X+S*W+P*p+(X*M+W*E+p*F)+((X*G+W*H+p*D)*C+(X*B+W*A+p*z)*y+(X*w+W*u+p*s)*r)-l*o;q=T*V+S*U+P*q+(V*M+U*E+q*F)+((V*G+U*H+q*D)*C+(V*B+U*A+q*z)*y+(V*w+U*u+q*s)*r)-m*o;r=T*x+S*v+P*t+(x*M+v*E+t*F)+((x*G+v*H+t*D)*C+(x*B+v*A+t*z)*y+(x*w+v*u+t*s)*r)-n*o;L=c[f+12>>2]|0;s=+g[L>>2];t=+g[L+4>>2];u=+g[L+8>>2];v=+g[L+16>>2];w=+g[L+20>>2];x=+g[L+24>>2];y=+g[L+32>>2];z=+g[L+36>>2];A=+g[L+40>>2];B=+g[L+48>>2];C=+g[L+52>>2];D=+g[L+56>>2];L=c[b+12>>2]|0;K=o<+g[L+752>>2];c[h+4>>2]=L;if(K){L=c[f+12>>2]|0;$=l*+g[L+16>>2]+m*+g[L+20>>2]+n*+g[L+24>>2];aa=l*+g[L+32>>2]+m*+g[L+36>>2]+n*+g[L+40>>2];g[I+80>>2]=+g[L>>2]*l+ +g[L+4>>2]*m+ +g[L+8>>2]*n;g[I+80+4>>2]=$;g[I+80+8>>2]=aa;g[I+80+12>>2]=0.0;g[I+64>>2]=u*r+(s*p+t*q)+B;g[I+64+4>>2]=p*v+q*w+r*x+C;g[I+64+8>>2]=p*y+q*z+r*A+D;g[I+64+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,I+80|0,I+64|0,o)}if((c[j+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){l=+g[k+56>>2];if(+N(+l)>.7071067690849304){n=+g[k+52>>2];aa=1.0/+O(+(l*l+n*n));m=0.0;n=n*aa;l=-(l*aa)}else{aa=+g[k+48>>2];m=+g[k+52>>2];l=1.0/+O(+(aa*aa+m*m));m=-(m*l);n=0.0;l=aa*l}F=.019999999552965164/+Sb[c[(c[j>>2]|0)+16>>2]&15](j);F=(F>.39269909262657166?.39269909262657166:F)*.5;E=+R(+F)/+O(+(m*m+l*l+n*n));H=m*E;G=l*E;E=n*E;F=+Q(+F);f=c[b+20>>2]|0;if((f|0)>0){j=0;do{v=+g[k+48>>2];aa=+g[k+52>>2];B=+g[k+56>>2];z=+(j|0)*(6.2831854820251465/+(f|0))*.5;$=+R(+z)/+O(+(v*v+aa*aa+B*B));z=+Q(+z);A=E*-(aa*$)+(H*z+F*-(v*$))-G*-(B*$);x=H*-(B*$)+(G*z+F*-(aa*$))-E*-(v*$);da=G*-(v*$)+(E*z+F*-(B*$))-H*-(aa*$);D=F*z-H*-(v*$)-G*-(aa*$)-E*-(B*$);ia=B*$*x+(v*$*D+z*A)-aa*$*da;ha=v*$*da+(z*x+aa*$*D)-B*$*A;la=aa*$*A+(B*$*D+z*da)-v*$*x;da=z*D-v*$*A-aa*$*x-B*$*da;f=(a[b+16>>0]|0)!=0;ba=f?e:d;f=f?d:e;L=c[ba+4>>2]|0;K=c[f+4>>2]|0;ba=c[ba+12>>2]|0;$=+g[ba>>2];B=+g[ba+4>>2];x=+g[ba+8>>2];aa=+g[ba+16>>2];A=+g[ba+20>>2];v=+g[ba+24>>2];D=+g[ba+32>>2];z=+g[ba+36>>2];t=+g[ba+40>>2];V=+g[ba+48>>2];W=+g[ba+52>>2];X=+g[ba+56>>2];ba=c[f+12>>2]|0;P=+g[ba>>2];S=+g[ba+16>>2];p=+g[ba+32>>2];T=+g[ba+4>>2];U=+g[ba+20>>2];q=+g[ba+36>>2];w=+g[ba+8>>2];u=+g[ba+24>>2];s=+g[ba+40>>2];Y=-+g[ba+48>>2];Z=-+g[ba+52>>2];_=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));n=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=x*(ia*ca-da*n)+(B*(ia*n+da*ca)+$*(1.0-(ha*n+la*ca)));ka=x*(ha*ca+da*ga)+($*(ia*n-da*ca)+B*(1.0-(ia*ga+la*ca)));l=$*(ia*ca+da*n)+B*(ha*ca-da*ga)+x*(1.0-(ia*ga+ha*n));ma=v*(ia*ca-da*n)+(A*(ia*n+da*ca)+aa*(1.0-(ha*n+la*ca)));ja=v*(ha*ca+da*ga)+(aa*(ia*n-da*ca)+A*(1.0-(ia*ga+la*ca)));y=aa*(ia*ca+da*n)+A*(ha*ca-da*ga)+v*(1.0-(ia*ga+ha*n));oa=t*(ia*ca-da*n)+(z*(ia*n+da*ca)+D*(1.0-(ha*n+la*ca)));la=t*(ha*ca+da*ga)+(D*(ia*n-da*ca)+z*(1.0-(ia*ga+la*ca)));n=D*(ia*ca+da*n)+z*(ha*ca-da*ga)+t*(1.0-(ia*ga+ha*n));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];m=+g[ba+8>>2];r=+g[ba+24>>2];o=+g[ba+40>>2];ba=c[(c[L>>2]|0)+64>>2]|0;fa=-+g[K+48>>2];M=-+g[K+52>>2];C=-+g[K+56>>2];g[I+64>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*M+(o*oa+(m*na+r*ma))*C;g[I+64+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*M+(o*la+(m*ka+r*ja))*C;g[I+64+8>>2]=(ia*n+(ha*l+ga*y))*fa+(ea*n+(da*l+ca*y))*M+(o*n+(m*l+r*y))*C;g[I+64+12>>2]=0.0;ic[ba&127](I+80|0,L,I+64|0);C=+g[I+80>>2];y=+g[I+80+4>>2];r=+g[I+80+8>>2];l=+g[K+48>>2];m=+g[K+52>>2];n=+g[K+56>>2];o=n*(V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r))+(l*(V*P+W*S+X*p+(P*Y+S*Z+p*_)+(($*P+aa*S+D*p)*C+(B*P+A*S+z*p)*y+(x*P+v*S+t*p)*r))+m*(V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+D*q)*C+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)))-+g[K+64>>2];p=V*P+W*S+X*p+(P*Y+S*Z+p*_)+(($*P+aa*S+D*p)*C+(B*P+A*S+z*p)*y+(x*P+v*S+t*p)*r)-l*o;q=V*T+W*U+X*q+(T*Y+U*Z+q*_)+(($*T+aa*U+D*q)*C+(B*T+A*U+z*q)*y+(x*T+v*U+t*q)*r)-m*o;r=V*w+W*u+X*s+(w*Y+u*Z+s*_)+(($*w+aa*u+D*s)*C+(B*w+A*u+z*s)*y+(x*w+v*u+t*s)*r)-n*o;K=c[f+12>>2]|0;s=+g[K>>2];t=+g[K+4>>2];u=+g[K+8>>2];v=+g[K+16>>2];w=+g[K+20>>2];x=+g[K+24>>2];y=+g[K+32>>2];z=+g[K+36>>2];A=+g[K+40>>2];B=+g[K+48>>2];C=+g[K+52>>2];D=+g[K+56>>2];K=c[b+12>>2]|0;L=o<+g[K+752>>2];c[h+4>>2]=K;if(L){ba=c[f+12>>2]|0;na=l*+g[ba+16>>2]+m*+g[ba+20>>2]+n*+g[ba+24>>2];oa=l*+g[ba+32>>2]+m*+g[ba+36>>2]+n*+g[ba+40>>2];g[I+48>>2]=+g[ba>>2]*l+ +g[ba+4>>2]*m+ +g[ba+8>>2]*n;g[I+48+4>>2]=na;g[I+48+8>>2]=oa;g[I+48+12>>2]=0.0;g[I+32>>2]=u*r+(s*p+t*q)+B;g[I+32+4>>2]=p*v+q*w+r*x+C;g[I+32+8>>2]=p*y+q*z+r*A+D;g[I+32+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,I+48|0,I+32|0,o)}j=j+1|0;f=c[b+20>>2]|0}while((j|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(J=c[h+4>>2]|0,c[J+748>>2]|0):0){j=c[J+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0)){ef(J,j+4|0,f+4|0);break}else{ef(J,f+4|0,k+4|0);break}}while(0);i=I;return}function $c(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;H=i;i=i+192|0;li(11018);d=c[b+1112>>2]|0;if((d|0)>0){G=0;do{F=c[(c[b+1120>>2]|0)+(G<<2)>>2]|0;E=c[F+24>>2]|0;if(E){j=H+144|0;k=j+48|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));g[H+144>>2]=9.999999747378752e-05;g[H+144+20>>2]=1.9999999494757503e-04;g[H+144+40>>2]=2.9999998514540493e-04;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+12>>2]|0;f=0.0;h=0.0;e=0.0;k=0;do{D=c[d+(k<<2)>>2]|0;C=+g[j+(k<<2)>>2];f=f+ +g[D+8>>2]*C;e=e+C*+g[D+12>>2];h=h+C*+g[D+16>>2];k=k+1|0}while((k|0)!=(E|0))}else{f=0.0;h=0.0;e=0.0}r=+g[F+128>>2];t=f*r;s=e*r;r=h*r;g[F+228>>2]=t;g[F+232>>2]=s;g[F+236>>2]=r;g[F+240>>2]=0.0;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+52>>2]|0;e=9.999999747378752e-05;f=+g[H+144+4>>2];h=+g[H+144+8>>2];l=+g[H+144+16>>2];m=1.9999999494757503e-04;n=+g[H+144+24>>2];o=0.0;p=0.0;q=2.9999998514540493e-04;k=0;while(1){D=c[d+(k<<2)>>2]|0;x=+g[D+8>>2]-t;y=+g[D+12>>2]-s;B=+g[D+16>>2]-r;z=+g[j+(k<<4)>>2];A=+g[j+(k<<4)+4>>2];C=+g[j+(k<<4)+8>>2];e=x*z+e;f=x*A+f;h=x*C+h;l=y*z+l;m=y*A+m;n=y*C+n;o=B*z+o;p=B*A+p;q=B*C+q;if((k|0)==(E+-1|0))break;k=k+1|0}g[H+144>>2]=e;g[H+144+4>>2]=f;g[H+144+8>>2]=h;g[H+144+16>>2]=l;g[H+144+20>>2]=m;g[H+144+24>>2]=n;g[H+144+32>>2]=o;g[H+144+36>>2]=p;g[H+144+40>>2]=q}if((a[22520]|0)==0?Wa(22520)|0:0){g[5787]=9.999999747378752e-05;c[5788]=16;_a(22520)}md(H+144|0,H+96|0,H+48|0);c[F+108>>2]=c[F+228>>2];c[F+108+4>>2]=c[F+228+4>>2];c[F+108+8>>2]=c[F+228+8>>2];c[F+108+12>>2]=c[F+228+12>>2];c[F+60>>2]=c[H+96>>2];c[F+60+4>>2]=c[H+96+4>>2];c[F+60+8>>2]=c[H+96+8>>2];c[F+60+12>>2]=c[H+96+12>>2];c[F+76>>2]=c[H+96+16>>2];c[F+76+4>>2]=c[H+96+16+4>>2];c[F+76+8>>2]=c[H+96+16+8>>2];c[F+76+12>>2]=c[H+96+16+12>>2];c[F+92>>2]=c[H+96+32>>2];c[F+92+4>>2]=c[H+96+32+4>>2];c[F+92+8>>2]=c[H+96+32+8>>2];c[F+92+12>>2]=c[H+96+32+12>>2];m=+g[F+132>>2];K=+g[F+60>>2];n=+g[F+148>>2];J=+g[F+64>>2];o=+g[F+164>>2];A=+g[F+68>>2];p=+g[F+136>>2];q=+g[F+152>>2];r=+g[F+168>>2];s=+g[F+140>>2];t=+g[F+156>>2];C=+g[F+172>>2];I=+g[F+76>>2];e=+g[F+80>>2];B=+g[F+84>>2];l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];u=(m*K+n*J+o*A)*K+(K*p+J*q+A*r)*J+(K*s+J*t+A*C)*A;v=(m*K+n*J+o*A)*I+(K*p+J*q+A*r)*e+(K*s+J*t+A*C)*B;w=(m*K+n*J+o*A)*l+(K*p+J*q+A*r)*h+(K*s+J*t+A*C)*f;x=(m*I+n*e+o*B)*K+(p*I+q*e+r*B)*J+(s*I+t*e+C*B)*A;y=(m*I+n*e+o*B)*I+(p*I+q*e+r*B)*e+(s*I+t*e+C*B)*B;z=(m*I+n*e+o*B)*l+(p*I+q*e+r*B)*h+(s*I+t*e+C*B)*f;A=K*(m*l+n*h+o*f)+(p*l+q*h+r*f)*J+(s*l+t*h+C*f)*A;B=I*(m*l+n*h+o*f)+(p*l+q*h+r*f)*e+(s*l+t*h+C*f)*B;C=(m*l+n*h+o*f)*l+(p*l+q*h+r*f)*h+(s*l+t*h+C*f)*f;g[F+180>>2]=u;g[F+184>>2]=v;g[F+188>>2]=w;g[F+192>>2]=0.0;g[F+196>>2]=x;g[F+200>>2]=y;g[F+204>>2]=z;g[F+208>>2]=0.0;g[F+212>>2]=A;g[F+216>>2]=B;g[F+220>>2]=C;g[F+224>>2]=0.0;c[F+316>>2]=0;c[F+316+4>>2]=0;c[F+316+8>>2]=0;c[F+316+12>>2]=0;c[F+316+16>>2]=0;c[F+316+20>>2]=0;c[F+316+24>>2]=0;c[F+316+28>>2]=0;if((E|0)>0){d=c[F+32>>2]|0;j=c[F+12>>2]|0;r=+g[F+228>>2];s=+g[F+232>>2];t=+g[F+236>>2];q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0;k=0;do{D=c[d+(k<<2)>>2]|0;M=+g[j+(k<<2)>>2];J=+g[D+40>>2]*M;L=M*+g[D+44>>2];M=M*+g[D+48>>2];q=J+q;g[F+316>>2]=q;p=L+p;g[F+320>>2]=p;o=M+o;g[F+324>>2]=o;I=+g[D+8>>2]-r;K=+g[D+12>>2]-s;N=+g[D+16>>2]-t;n=n+(M*K-L*N);g[F+332>>2]=n;m=J*N-M*I+m;g[F+336>>2]=m;e=L*I-J*K+e;g[F+340>>2]=e;k=k+1|0}while((k|0)!=(E|0));d=F+332|0;D=F+316|0}else{d=F+332|0;D=F+316|0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;e=0.0}M=+g[F+128>>2];N=1.0-+g[F+356>>2];g[F+316>>2]=q*M*N;g[F+320>>2]=M*p*N;g[F+324>>2]=M*o*N;g[F+328>>2]=0.0;N=1.0-+g[F+360>>2];g[d>>2]=(u*n+v*m+w*e)*N;g[F+336>>2]=(n*x+m*y+e*z)*N;g[F+340>>2]=N*(n*A+m*B+e*C);g[F+344>>2]=0.0;j=F+244|0;k=j+72|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));e=+g[F+364>>2];a:do if(e>0.0?(c[F+24>>2]|0)>0:0){d=0;while(1){k=c[(c[F+32>>2]|0)+(d<<2)>>2]|0;j=c[F+52>>2]|0;I=+g[j+(d<<4)>>2];J=+g[j+(d<<4)+4>>2];K=+g[j+(d<<4)+8>>2];L=+g[k+8>>2];M=+g[k+12>>2];N=+g[k+16>>2];M=M+e*(I*+g[F+76>>2]+J*+g[F+80>>2]+K*+g[F+84>>2]+ +g[F+112>>2]-M);N=N+e*(I*l+J*h+K*f+ +g[F+116>>2]-N);g[k+8>>2]=L+e*(I*+g[F+60>>2]+J*+g[F+64>>2]+K*+g[F+68>>2]+ +g[F+108>>2]-L);g[k+12>>2]=M;g[k+16>>2]=N;g[k+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[F+24>>2]|0))break a;l=+g[F+92>>2];h=+g[F+96>>2];f=+g[F+100>>2];e=+g[F+364>>2]}}while(0);if(a[F+377>>0]|0){d=c[F+32>>2]|0;k=c[d>>2]|0;e=+g[k+8>>2];q=+g[k+12>>2];r=+g[k+16>>2];f=+g[k+20>>2];if((E|0)>1){j=1;o=e;p=r;n=f;m=q;l=e;h=f;f=q;e=r;do{k=c[d+(j<<2)>>2]|0;K=+g[k+8>>2];o=K<o?K:o;L=+g[k+12>>2];m=L<m?L:m;M=+g[k+16>>2];p=M<p?M:p;N=+g[k+20>>2];n=N<n?N:n;l=l<K?K:l;f=f<L?L:f;e=e<M?M:e;h=h<N?N:h;j=j+1|0}while((j|0)!=(E|0))}else{o=e;p=r;n=f;m=q;l=e;h=f;f=q;e=r}g[H>>2]=o;g[H+4>>2]=m;g[H+8>>2]=p;g[H+12>>2]=n;g[H+16>>2]=l;g[H+20>>2]=f;g[H+24>>2]=e;g[H+28>>2]=h;d=c[F+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=F;c[d+40>>2]=0;c[d>>2]=c[H>>2];c[d+4>>2]=c[H+4>>2];c[d+8>>2]=c[H+8>>2];c[d+12>>2]=c[H+12>>2];c[d+16>>2]=c[H+16>>2];c[d+20>>2]=c[H+20>>2];c[d+24>>2]=c[H+24>>2];c[d+28>>2]=c[H+28>>2];lf(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[F+348>>2]=d}else{L=+g[b+452>>2];M=L*+g[F+320>>2]*3.0;N=L*+g[F+324>>2]*3.0;g[H+32>>2]=+g[D>>2]*L*3.0;g[H+32+4>>2]=M;g[H+32+8>>2]=N;g[H+32+12>>2]=0.0;jh(b+1048|0,d,H,H+32|0,+g[b+464>>2])|0}}d=c[b+1112>>2]|0}G=G+1|0}while((G|0)<(d|0))}d=c[2357]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){i=H;return}do if(c[d+4>>2]|0){tb(H+144|0,0)|0;b=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[H+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[H+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=H;return}}while(0);c[2357]=c[d+20>>2];i=H;return}function ad(d,e){d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;B=i;i=i+464|0;li(12209);f=c[d+84>>2]|0;if(f|0)zb[f&31](d,e);zb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0;li(12238);li(12263);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{s=c[d+24>>2]|0;Cb[c[(c[s>>2]|0)+16>>2]&127](s,c[f+(h<<2)>>2]|0);h=h+1|0;f=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(f|0){if(a[d+320>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;f=c[2357]|0;s=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=s;do if(!s){if(c[f+4>>2]|0){tb(B+368|0,0)|0;s=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[s+4>>2]|0)+(((c[B+368>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){q=B+304+48|0;r=B+368+44|0;s=0;while(1){k=c[(c[d+240>>2]|0)+(s<<2)>>2]|0;g[k+244>>2]=1.0;b:do switch(c[k+216>>2]|0){case 2:case 5:break;default:if(((c[k+204>>2]&3|0)==0?(Zg(k+4|0,+g[k+312>>2],+g[k+316>>2],+g[k+320>>2],k+328|0,e,B+304|0),t=+g[q>>2],u=t-+g[k+52>>2],v=+g[B+304+52>>2],w=v-+g[k+56>>2],x=+g[B+304+56>>2],y=x-+g[k+60>>2],a[d+44>>0]|0):0)?(o=+g[k+252>>2],o*o!=0.0?o*o<u*u+w*w+y*y:0):0){li(12300);if((c[(c[k+192>>2]|0)+4>>2]|0)<20?(c[5816]=(c[5816]|0)+1,j=c[d+68>>2]|0,j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0,p=c[d+24>>2]|0,g[B+368+4>>2]=1.0,b[B+368+8>>1]=1,b[B+368+10>>1]=-1,c[B+368>>2]=2872,c[B+368+12>>2]=c[k+52>>2],c[B+368+12+4>>2]=c[k+52+4>>2],c[B+368+12+8>>2]=c[k+52+8>>2],c[B+368+12+12>>2]=c[k+52+12>>2],c[B+368+28>>2]=c[q>>2],c[B+368+28+4>>2]=c[q+4>>2],c[B+368+28+8>>2]=c[q+8>>2],c[B+368+28+12>>2]=c[q+12>>2],c[B+368+76>>2]=0,c[B+368>>2]=4332,c[B+368+80>>2]=k,c[B+368+88>>2]=j,c[B+368+92>>2]=p,p=c[k+248>>2]|0,c[B+248+8>>2]=0,c[B+248+12>>2]=1065353216,c[B+248+16>>2]=1065353216,c[B+248+20>>2]=1065353216,g[B+248+24>>2]=0.0,c[B+248>>2]=6672,c[B+248+4>>2]=8,c[B+248+28>>2]=p,c[B+248+44>>2]=p,c[B+368+84>>2]=c[d+56>>2],p=c[(c[k+188>>2]|0)+4>>2]|0,b[B+368+8>>1]=p,b[B+368+10>>1]=p>>>16,c[B+184+48>>2]=c[q>>2],c[B+184+48+4>>2]=c[q+4>>2],c[B+184+48+8>>2]=c[q+8>>2],c[B+184+48+12>>2]=c[q+12>>2],c[B+184>>2]=c[k+4>>2],c[B+184+4>>2]=c[k+4+4>>2],c[B+184+8>>2]=c[k+4+8>>2],c[B+184+12>>2]=c[k+4+12>>2],c[B+184+16>>2]=c[k+20>>2],c[B+184+16+4>>2]=c[k+20+4>>2],c[B+184+16+8>>2]=c[k+20+8>>2],c[B+184+16+12>>2]=c[k+20+12>>2],c[B+184+32>>2]=c[k+36>>2],c[B+184+32+4>>2]=c[k+36+4>>2],c[B+184+32+8>>2]=c[k+36+8>>2],c[B+184+32+12>>2]=c[k+36+12>>2],Kd(d,B+248|0,k+4|0,B+184|0,B+368|0,0.0),z=+g[B+368+4>>2],z<1.0):0){l=z*(t-+g[k+52>>2]);m=z*(v-+g[k+56>>2]);n=z*(x-+g[k+60>>2]);o=-(m*+g[B+368+48>>2])-l*+g[r>>2]-n*+g[B+368+52>>2];p=c[d+24>>2]|0;p=Ob[c[(c[p>>2]|0)+12>>2]&63](p,k,c[B+368+76>>2]|0)|0;f=c[d+308>>2]|0;if((f|0)==(c[d+312>>2]|0)?(A=f|0?f<<1:1,(f|0)<(A|0)):0){if(!A)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((A<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[d+308>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[d+316>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[d+316>>2]|0;if(h){if(a[d+320>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=j;c[d+312>>2]=A}c[(c[d+316>>2]|0)+(f<<2)>>2]=p;c[d+308>>2]=f+1;l=l+ +g[k+52>>2];m=m+ +g[k+56>>2];n=n+ +g[k+60>>2];j=c[B+368+76>>2]|0;N=+g[j+4>>2];M=+g[j+20>>2];L=+g[j+36>>2];K=+g[j+8>>2];J=+g[j+24>>2];I=+g[j+40>>2];H=+g[j+12>>2];F=+g[j+28>>2];D=+g[j+44>>2];G=-+g[j+52>>2];E=-+g[j+56>>2];C=-+g[j+60>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;g[B+16>>2]=l*N+m*M+n*L+(N*G+M*E+L*C);g[B+20>>2]=l*K+m*J+n*I+(K*G+J*E+I*C);g[B+24>>2]=l*H+m*F+n*D+(H*G+F*E+D*C);g[B+28>>2]=0.0;c[B+64>>2]=c[r>>2];c[B+64+4>>2]=c[r+4>>2];c[B+64+8>>2]=c[r+8>>2];c[B+64+12>>2]=c[r+12>>2];g[B+80>>2]=o;g[B+84>>2]=0.0;g[B+88>>2]=0.0;g[B+92>>2]=0.0;c[B+112>>2]=0;a[B+116>>0]=0;c[B+120>>2]=0;c[B+120+4>>2]=0;c[B+120+8>>2]=0;c[B+120+12>>2]=0;c[B+120+16>>2]=0;c[B+120+20>>2]=0;c[B+120+24>>2]=0;c[B+120+28>>2]=0;j=_e(p,B)|0;g[p+4+(j*184|0)+92>>2]=0.0;o=+g[k+224>>2]*+g[(c[B+368+76>>2]|0)+224>>2];o=o<-10.0?-10.0:o;g[p+4+(j*184|0)+84>>2]=o>10.0?10.0:o;c[p+4+(j*184|0)+48>>2]=c[k+52>>2];c[p+4+(j*184|0)+48+4>>2]=c[k+52+4>>2];c[p+4+(j*184|0)+48+8>>2]=c[k+52+8>>2];c[p+4+(j*184|0)+48+12>>2]=c[k+52+12>>2];g[p+4+(j*184|0)+32>>2]=l;g[p+4+(j*184|0)+36>>2]=m;g[p+4+(j*184|0)+40>>2]=n;g[p+4+(j*184|0)+44>>2]=0.0}f=c[2357]|0;p=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=p;if(!p){if(c[f+4>>2]|0){tb(B+368|0,0)|0;p=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[p+4>>2]|0)+(((c[B+368>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break b;f=c[2357]|0}c[2357]=c[f+20>>2]}}}while(0);s=s+1|0;if((s|0)>=(c[d+232>>2]|0))break a}}while(0);f=c[2357]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){tb(B+368|0,0)|0;A=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);Ab[c[(c[d>>2]|0)+44>>2]&255](d);Ab[c[(c[d>>2]|0)+148>>2]&255](d);g[d+104>>2]=e;Cb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);zb[c[(c[d>>2]|0)+144>>2]&31](d,e);li(12327);if((c[d+280>>2]|0)>0){f=0;do{A=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;kc[c[(c[A>>2]|0)+8>>2]&7](A,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[2357]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){tb(B+368|0,0)|0;A=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[A+4>>2]|0)+(((c[B+368>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}while(0);zb[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f|0)zb[f&31](d,e);f=c[2357]|0;d=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=d;if(d|0){i=B;return}do if(c[f+4>>2]|0){tb(B+368|0,0)|0;d=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[B+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[B+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2357]|0;break}else{i=B;return}}while(0);c[2357]=c[f+20>>2];i=B;return}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;x=i;i=i+784|0;c[x+168+8>>2]=0;c[x+168+12>>2]=1065353216;c[x+168+16>>2]=1065353216;c[x+168+20>>2]=1065353216;g[x+168+24>>2]=0.0;c[x+168>>2]=6672;c[x+168+4>>2]=8;g[x+168+28>>2]=0.0;g[x+168+44>>2]=0.0;v=c[e+4>>2]|0;w=c[e+12>>2]|0;h=c[v+4>>2]|0;if((h|0)<20){c[x+600>>2]=3708;c[x+600+168>>2]=0;g[x+600+172>>2]=0.0;c[x+600+164>>2]=c[f+4>>2];g[x+240+308>>2]=9.999999747378752e-05;a[x+240+332>>0]=0;c[x+224>>2]=4960;c[x+224+4>>2]=x+240;c[x+224+8>>2]=x+168;c[x+224+12>>2]=v;c[x+152>>2]=9140;c[x+152+4>>2]=x+240;c[x+152+8>>2]=x+168;c[x+152+12>>2]=v;v=(c[f+16>>2]&4|0)==0?x+152|0:x+224|0;if((Tb[c[(c[v>>2]|0)+8>>2]&3](v,b,d,w,w,x+600|0)|0?(j=x+600+132|0,k=+g[j>>2],l=+g[x+600+136>>2],m=+g[x+600+140>>2],k*k+l*l+m*m>9.999999747378752e-05):0)?(n=+g[x+600+164>>2],n<+g[f+4>>2]):0){u=1.0/+O(+(k*k+l*l+m*m));g[j>>2]=k*u;g[x+600+136>>2]=l*u;g[x+600+140>>2]=m*u;c[x+120>>2]=c[e+8>>2];c[x+120+4>>2]=0;c[x+120+8>>2]=c[j>>2];c[x+120+8+4>>2]=c[j+4>>2];c[x+120+8+8>>2]=c[j+8>>2];c[x+120+8+12>>2]=c[j+12>>2];g[x+120+24>>2]=n;+_b[c[(c[f>>2]|0)+12>>2]&15](f,x+120|0,1)}i=x;return}if((h+-21|0)>>>0>=9){if((h|0)!=31){i=x;return}h=c[v+64>>2]|0;e=c[e+8>>2]|0;c[x+600>>2]=5804;c[x+600+4>>2]=e;c[x+600+8>>2]=v;c[x+600+12>>2]=w;c[x+600+16>>2]=b;c[x+600+20>>2]=d;c[x+600+24>>2]=f;if(!h){h=c[v+16>>2]|0;if((h|0)>0){j=0;do{Vf(x+600|0,j);j=j+1|0}while((j|0)<(h|0))}}else{p=+g[w+48>>2];B=+g[b+48>>2]-p;r=+g[w+52>>2];A=+g[b+52>>2]-r;t=+g[w+56>>2];z=+g[b+56>>2]-t;y=+g[w>>2];k=+g[w+16>>2];l=+g[w+32>>2];m=+g[w+4>>2];n=+g[w+20>>2];o=+g[w+36>>2];q=+g[w+8>>2];s=+g[w+24>>2];u=+g[w+40>>2];g[x+240>>2]=B*y+A*k+z*l;g[x+240+4>>2]=B*m+A*n+z*o;g[x+240+8>>2]=B*q+A*s+z*u;g[x+240+12>>2]=0.0;p=+g[d+48>>2]-p;r=+g[d+52>>2]-r;t=+g[d+56>>2]-t;g[x+224>>2]=p*y+r*k+t*l;g[x+224+4>>2]=p*m+r*n+t*o;g[x+224+8>>2]=p*q+r*s+t*u;g[x+224+12>>2]=0.0;ff(c[h>>2]|0,x+240|0,x+224|0,x+600|0)}i=x;return}E=+g[w>>2];D=+g[w+16>>2];k=+g[w+32>>2];C=+g[w+4>>2];o=+g[w+20>>2];l=+g[w+36>>2];A=+g[w+8>>2];B=+g[w+24>>2];m=+g[w+40>>2];p=-+g[w+48>>2];y=-+g[w+52>>2];z=-+g[w+56>>2];q=+g[b+48>>2];r=+g[b+52>>2];n=+g[b+56>>2];g[x+152>>2]=E*p+D*y+k*z+(E*q+D*r+k*n);g[x+152+4>>2]=C*p+o*y+l*z+(C*q+o*r+l*n);g[x+152+8>>2]=A*p+B*y+m*z+(A*q+B*r+m*n);g[x+152+12>>2]=0.0;t=+g[d+48>>2];u=+g[d+52>>2];s=+g[d+56>>2];k=E*p+D*y+k*z+(E*t+D*u+k*s);l=C*p+o*y+l*z+(C*t+o*u+l*s);m=A*p+B*y+m*z+(A*t+B*u+m*s);g[x+120>>2]=k;g[x+120+4>>2]=l;g[x+120+8>>2]=m;g[x+120+12>>2]=0.0;switch(c[v+4>>2]|0){case 21:{h=c[e+8>>2]|0;e=c[f+16>>2]|0;c[x+4>>2]=c[x+152>>2];c[x+4+4>>2]=c[x+152+4>>2];c[x+4+8>>2]=c[x+152+8>>2];c[x+4+12>>2]=c[x+152+12>>2];c[x+20>>2]=c[x+120>>2];c[x+20+4>>2]=c[x+120+4>>2];c[x+20+8>>2]=c[x+120+8>>2];c[x+20+12>>2]=c[x+120+12>>2];c[x+36>>2]=e;g[x+40>>2]=1.0;c[x>>2]=5756;c[x+44>>2]=f;c[x+48>>2]=h;c[x+52>>2]=v;c[x+56>>2]=c[w>>2];c[x+56+4>>2]=c[w+4>>2];c[x+56+8>>2]=c[w+8>>2];c[x+56+12>>2]=c[w+12>>2];c[x+72>>2]=c[w+16>>2];c[x+72+4>>2]=c[w+16+4>>2];c[x+72+8>>2]=c[w+16+8>>2];c[x+72+12>>2]=c[w+16+12>>2];c[x+88>>2]=c[w+32>>2];c[x+88+4>>2]=c[w+32+4>>2];c[x+88+8>>2]=c[w+32+8>>2];c[x+88+12>>2]=c[w+32+12>>2];c[x+104>>2]=c[w+48>>2];c[x+104+4>>2]=c[w+48+4>>2];c[x+104+8>>2]=c[w+48+8>>2];c[x+104+12>>2]=c[w+48+12>>2];c[x+40>>2]=c[f+4>>2];h=c[v+48>>2]|0;c[x+224>>2]=6884;c[x+224+4>>2]=h;c[x+224+8>>2]=x;h=c[v+52>>2]|0;c[x+600>>2]=0;c[x+600+4>>2]=0;c[x+600+8>>2]=0;c[x+600+12>>2]=0;c[x+240>>2]=0;c[x+240+4>>2]=0;c[x+240+8>>2]=0;c[x+240+12>>2]=0;if(!(a[h+60>>0]|0))Re(h,x+224|0,x+152|0,k,l,m,x+600|0,x+240|0);else ze(h,x+224|0,x+152|0,k,l,m,x+600|0,x+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;d=c[f+16>>2]|0;c[x+600+4>>2]=c[x+152>>2];c[x+600+4+4>>2]=c[x+152+4>>2];c[x+600+4+8>>2]=c[x+152+8>>2];c[x+600+4+12>>2]=c[x+152+12>>2];c[x+600+20>>2]=c[x+120>>2];c[x+600+20+4>>2]=c[x+120+4>>2];c[x+600+20+8>>2]=c[x+120+8>>2];c[x+600+20+12>>2]=c[x+120+12>>2];c[x+600+36>>2]=d;g[x+600+40>>2]=1.0;c[x+600>>2]=5756;c[x+600+44>>2]=f;c[x+600+48>>2]=e;c[x+600+52>>2]=v;c[x+600+56>>2]=c[w>>2];c[x+600+56+4>>2]=c[w+4>>2];c[x+600+56+8>>2]=c[w+8>>2];c[x+600+56+12>>2]=c[w+12>>2];c[x+600+72>>2]=c[w+16>>2];c[x+600+72+4>>2]=c[w+16+4>>2];c[x+600+72+8>>2]=c[w+16+8>>2];c[x+600+72+12>>2]=c[w+16+12>>2];c[x+600+88>>2]=c[w+32>>2];c[x+600+88+4>>2]=c[w+32+4>>2];c[x+600+88+8>>2]=c[w+32+8>>2];c[x+600+88+12>>2]=c[w+32+12>>2];c[x+600+104>>2]=c[w+48>>2];c[x+600+104+4>>2]=c[w+48+4>>2];c[x+600+104+8>>2]=c[w+48+8>>2];c[x+600+104+12>>2]=c[w+48+12>>2];c[x+600+40>>2]=c[f+4>>2];mc[c[(c[v>>2]|0)+144>>2]&127](v,x+600|0,x+152|0,x+120|0);break}default:{H=+g[w>>2];G=+g[w+16>>2];m=+g[w+32>>2];F=+g[w+4>>2];y=+g[w+20>>2];z=+g[w+36>>2];D=+g[w+8>>2];E=+g[w+24>>2];k=+g[w+40>>2];A=-+g[w+48>>2];B=-+g[w+52>>2];C=-+g[w+56>>2];o=H*A+G*B+m*C+(H*q+G*r+m*n);p=F*A+y*B+z*C+(F*q+y*r+z*n);l=D*A+E*B+k*C+(D*q+E*r+k*n);m=H*A+G*B+m*C+(H*t+G*u+m*s);n=F*A+y*B+z*C+(F*t+y*u+z*s);k=D*A+E*B+k*C+(D*t+E*u+k*s);e=c[e+8>>2]|0;d=c[f+16>>2]|0;g[x+600+4>>2]=o;g[x+600+8>>2]=p;g[x+600+12>>2]=l;g[x+600+16>>2]=0.0;g[x+600+20>>2]=m;g[x+600+24>>2]=n;g[x+600+28>>2]=k;g[x+600+32>>2]=0.0;c[x+600+36>>2]=d;g[x+600+40>>2]=1.0;c[x+600>>2]=5780;c[x+600+44>>2]=f;c[x+600+48>>2]=e;c[x+600+52>>2]=v;c[x+600+56>>2]=c[w>>2];c[x+600+56+4>>2]=c[w+4>>2];c[x+600+56+8>>2]=c[w+8>>2];c[x+600+56+12>>2]=c[w+12>>2];c[x+600+72>>2]=c[w+16>>2];c[x+600+72+4>>2]=c[w+16+4>>2];c[x+600+72+8>>2]=c[w+16+8>>2];c[x+600+72+12>>2]=c[w+16+12>>2];c[x+600+88>>2]=c[w+32>>2];c[x+600+88+4>>2]=c[w+32+4>>2];c[x+600+88+8>>2]=c[w+32+8>>2];c[x+600+88+12>>2]=c[w+32+12>>2];c[x+600+104>>2]=c[w+48>>2];c[x+600+104+4>>2]=c[w+48+4>>2];c[x+600+104+8>>2]=c[w+48+8>>2];c[x+600+104+12>>2]=c[w+48+12>>2];c[x+600+40>>2]=c[f+4>>2];g[x+240>>2]=o;g[x+240+4>>2]=p;g[x+240+8>>2]=l;g[x+240+12>>2]=0.0;if(m<o)g[x+240>>2]=m;if(n<p)g[x+240+4>>2]=n;if(k<l)g[x+240+8>>2]=k;g[x+224>>2]=o;g[x+224+4>>2]=p;g[x+224+8>>2]=l;g[x+224+12>>2]=0.0;if(o<m)g[x+224>>2]=m;if(p<n)g[x+224+4>>2]=n;if(l<k)g[x+224+8>>2]=k;mc[c[(c[v>>2]|0)+64>>2]&127](v,x+600|0,x+240|0,x+224|0)}}i=x;return}function cd(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;o=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((o|0)>0){f=c[b+136>>2]|0;m=c[b+192>>2]|0;p=0;do{h=f+(p<<2)|0;i=c[h>>2]|0;p=p+1|0;m=(_(m,1664525)|0)+1013904223|0;if(p>>>0<65537){e=m>>>16^m;if(p>>>0<257)if(p>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(p>>>0<5)if(p>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;e=f+(((e>>>0)%(p>>>0)|0)<<2)|0;c[h>>2]=c[e>>2];c[e>>2]=i}while((p|0)!=(o|0));c[b+192>>2]=m}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){f=c[b+116>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(_(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;p=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[p>>2];c[p>>2]=i}while((o|0)!=(q|0));c[b+192>>2]=m}if((r|0)>0){f=c[b+156>>2]|0;m=c[b+192>>2]|0;o=0;do{h=f+(o<<2)|0;i=c[h>>2]|0;o=o+1|0;m=(_(m,1664525)|0)+1013904223|0;if(o>>>0<65537){e=m>>>16^m;if(o>>>0<257)if(o>>>0<17){e=(e>>>8^e)>>>4^(e>>>8^e);if(o>>>0<5)if(o>>>0<3)e=(e>>>2^e)>>>1^(e>>>2^e);else e=e>>>2^e}else e=e>>>8^e}else e=m;q=f+(((e>>>0)%(o>>>0)|0)<<2)|0;c[h>>2]=c[q>>2];c[q>>2]=i}while((o|0)!=(r|0));c[b+192>>2]=m}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;zg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){d=bk(b,c[f+28>>2]|0,+g[l+12>>2])|0;t=bk(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;s=c[b+16>>2]|0;r=c[e>>2]|0;hc[c[(c[r>>2]|0)+24>>2]&15](r,s+(d*244|0)|0,s+(t*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[b+28>>2]|0;if((e|0)>0){f=0;do{l=c[(c[b+116>>2]|0)+(f<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;Mg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);f=f+1|0}while((f|0)!=(e|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-n;g[h+(f*152|0)+124>>2]=n;l=c[b+16>>2]|0;zg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];n=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-n;g[f+(h*152|0)+124>>2]=n;l=c[b+16>>2]|0;zg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}if((e|0)>0){i=0;do{f=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(f*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;zg(e+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{e=j+(h<<2)|0;f=c[e>>2]|0;if(a[f+20>>0]|0){q=bk(b,c[f+28>>2]|0,+g[l+12>>2])|0;d=bk(b,c[(c[e>>2]|0)+32>>2]|0,+g[l+12>>2])|0;r=c[b+16>>2]|0;p=c[e>>2]|0;hc[c[(c[p>>2]|0)+24>>2]&15](p,r+(q*244|0)|0,r+(d*244|0)|0,+g[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){if((o|0)<=0)return 0.0;m=0;do{f=c[(c[b+116>>2]|0)+(m<<2)>>2]|0;h=c[b+36>>2]|0;i=c[b+16>>2]|0;Mg(i+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,i+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);n=+g[h+(f*152|0)+100>>2];f=_(m,(e>>>4&1)+1|0)|0;h=c[(c[b+156>>2]|0)+(f<<2)>>2]|0;i=c[b+76>>2]|0;if(n>0.0){u=n*+g[i+(h*152|0)+104>>2];g[i+(h*152|0)+120>>2]=-u;g[i+(h*152|0)+124>>2]=u;k=c[b+16>>2]|0;zg(k+((c[i+(h*152|0)+144>>2]|0)*244|0)|0,k+((c[i+(h*152|0)+148>>2]|0)*244|0)|0,i+(h*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(f+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){u=n*+g[t+(s*152|0)+104>>2];g[t+(s*152|0)+120>>2]=-u;g[t+(s*152|0)+124>>2]=u;k=c[b+16>>2]|0;zg(k+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,k+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}m=m+1|0}while((m|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{l=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;k=c[b+36>>2]|0;j=c[b+16>>2]|0;Mg(j+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,j+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{f=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+g[(c[b+36>>2]|0)+((c[h+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=n*+g[h+(f*152|0)+104>>2];g[h+(f*152|0)+120>>2]=-u;g[h+(f*152|0)+124>>2]=u;l=c[b+16>>2]|0;zg(l+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,l+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{f=c[b+96>>2]|0;n=+g[(c[b+36>>2]|0)+((c[f+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){u=+g[f+(h*152|0)+104>>2];u=n*u>u?u:n*u;g[f+(h*152|0)+120>>2]=-u;g[f+(h*152|0)+124>>2]=u;l=c[b+16>>2]|0;zg(l+((c[f+(h*152|0)+144>>2]|0)*244|0)|0,l+((c[f+(h*152|0)+148>>2]|0)*244|0)|0,f+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}function dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0;r=i;i=i+80|0;j=c[b+28>>2]|0;d=c[f+64>>2]|0;a:do if((d&4|0)!=0&(j|0)>0){l=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;while(1){m=c[l+(d*152|0)+132>>2]|0;c[m+120>>2]=c[l+(d*152|0)+100>>2];c[m+124>>2]=c[h+((c[l+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0;if((d|0)==(j|0))break a}}else{e=h;d=0}while(1){m=c[l+(d*152|0)+132>>2]|0;c[m+120>>2]=c[l+(d*152|0)+100>>2];s=c[l+(d*152|0)+140>>2]|0;c[m+124>>2]=c[h+(s*152|0)+100>>2];c[m+128>>2]=c[e+((s+1|0)*152|0)+100>>2];d=d+1|0;if((d|0)==(j|0))break a;e=c[b+76>>2]|0}}while(0);e=c[b+48>>2]|0;if((e|0)>0){m=0;do{h=c[b+56>>2]|0;j=c[h+(m*152|0)+132>>2]|0;l=c[j+44>>2]|0;d=h+(m*152|0)+100|0;if(l|0){q=+g[d>>2];s=c[j+28>>2]|0;p=1.0/+g[f+12>>2];o=q*+g[h+(m*152|0)+20>>2]*+g[s+352>>2]*p;n=q*+g[h+(m*152|0)+24>>2]*+g[s+356>>2]*p;g[l>>2]=+g[l>>2]+ +g[h+(m*152|0)+16>>2]*q*+g[s+348>>2]*p;g[l+4>>2]=o+ +g[l+4>>2];g[l+8>>2]=n+ +g[l+8>>2];n=+g[d>>2];s=c[j+32>>2]|0;o=1.0/+g[f+12>>2];p=n*+g[h+(m*152|0)+52>>2]*+g[s+352>>2]*o;q=n*+g[h+(m*152|0)+56>>2]*+g[s+356>>2]*o;g[l+32>>2]=+g[l+32>>2]+ +g[h+(m*152|0)+48>>2]*n*+g[s+348>>2]*o;g[l+36>>2]=p+ +g[l+36>>2];g[l+40>>2]=q+ +g[l+40>>2];s=c[j+28>>2]|0;q=+g[d>>2];p=1.0/+g[f+12>>2];o=+g[h+(m*152|0)+4>>2]*+g[s+548>>2]*q*p;n=q*+g[h+(m*152|0)+8>>2]*+g[s+552>>2]*p;g[l+16>>2]=+g[l+16>>2]+ +g[h+(m*152|0)>>2]*+g[s+544>>2]*q*p;g[l+20>>2]=o+ +g[l+20>>2];g[l+24>>2]=n+ +g[l+24>>2];s=c[j+32>>2]|0;n=+g[d>>2];o=1.0/+g[f+12>>2];p=+g[h+(m*152|0)+36>>2]*+g[s+548>>2]*n*o;q=n*+g[h+(m*152|0)+40>>2]*+g[s+552>>2]*o;g[l+48>>2]=+g[l+48>>2]+ +g[h+(m*152|0)+32>>2]*+g[s+544>>2]*n*o;g[l+52>>2]=p+ +g[l+52>>2];g[l+56>>2]=q+ +g[l+56>>2]}s=c[d>>2]|0;c[j+36>>2]=s;q=+N(+(c[k>>2]=s,+g[k>>2]));if(q>=+g[j+16>>2])a[j+20>>0]=0;m=m+1|0}while((m|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){l=0;do{e=c[b+16>>2]|0;h=e+(l*244|0)|0;j=c[e+(l*244|0)+240>>2]|0;if(j){if(!(c[f+44>>2]|0)){h=e+(l*244|0)+176|0;o=+g[e+(l*244|0)+64>>2]+ +g[h>>2];g[h>>2]=o;h=e+(l*244|0)+180|0;p=+g[e+(l*244|0)+68>>2]+ +g[h>>2];g[h>>2]=p;h=e+(l*244|0)+184|0;n=+g[e+(l*244|0)+72>>2]+ +g[h>>2];g[h>>2]=n;h=e+(l*244|0)+192|0;g[h>>2]=+g[e+(l*244|0)+80>>2]+ +g[h>>2];h=e+(l*244|0)+196|0;g[h>>2]=+g[e+(l*244|0)+84>>2]+ +g[h>>2];h=e+(l*244|0)+200|0;g[h>>2]=+g[e+(l*244|0)+88>>2]+ +g[h>>2];h=e;d=j}else{o=+g[f+12>>2];p=+g[f+52>>2];s=e+(l*244|0)+176|0;g[s>>2]=+g[e+(l*244|0)+64>>2]+ +g[s>>2];s=e+(l*244|0)+180|0;g[s>>2]=+g[e+(l*244|0)+68>>2]+ +g[s>>2];s=e+(l*244|0)+184|0;g[s>>2]=+g[e+(l*244|0)+72>>2]+ +g[s>>2];s=e+(l*244|0)+192|0;g[s>>2]=+g[e+(l*244|0)+80>>2]+ +g[s>>2];s=e+(l*244|0)+196|0;g[s>>2]=+g[e+(l*244|0)+84>>2]+ +g[s>>2];s=e+(l*244|0)+200|0;g[s>>2]=+g[e+(l*244|0)+88>>2]+ +g[s>>2];q=+g[e+(l*244|0)+144>>2];n=+g[e+(l*244|0)+148>>2];if((((!(q!=0.0|n!=0.0)?!(+g[e+(l*244|0)+152>>2]!=0.0):0)?!(+g[e+(l*244|0)+160>>2]!=0.0):0)?!(+g[e+(l*244|0)+164>>2]!=0.0):0)?!(+g[e+(l*244|0)+168>>2]!=0.0):0)d=j;else{u=+g[e+(l*244|0)+164>>2]*p;t=+g[e+(l*244|0)+168>>2]*p;g[r>>2]=+g[e+(l*244|0)+160>>2]*p;g[r+4>>2]=u;g[r+8>>2]=t;g[r+12>>2]=0.0;Zg(h,q,n,+g[e+(l*244|0)+152>>2],r,o,r+16|0);c[h>>2]=c[r+16>>2];c[h+4>>2]=c[r+16+4>>2];c[h+8>>2]=c[r+16+8>>2];c[h+12>>2]=c[r+16+12>>2];d=e+(l*244|0)+16|0;c[d>>2]=c[r+16+16>>2];c[d+4>>2]=c[r+16+16+4>>2];c[d+8>>2]=c[r+16+16+8>>2];c[d+12>>2]=c[r+16+16+12>>2];d=e+(l*244|0)+32|0;c[d>>2]=c[r+16+32>>2];c[d+4>>2]=c[r+16+32+4>>2];c[d+8>>2]=c[r+16+32+8>>2];c[d+12>>2]=c[r+16+32+12>>2];d=e+(l*244|0)+48|0;c[d>>2]=c[r+16+48>>2];c[d+4>>2]=c[r+16+48+4>>2];c[d+8>>2]=c[r+16+48+8>>2];c[d+12>>2]=c[r+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(l*244|0)+240>>2]|0}h=e;o=+g[e+(l*244|0)+176>>2];p=+g[e+(l*244|0)+180>>2];n=+g[e+(l*244|0)+184>>2]}u=o+ +g[h+(l*244|0)+208>>2];t=p+ +g[h+(l*244|0)+212>>2];q=n+ +g[h+(l*244|0)+216>>2];m=d+260|0;c[m>>2]=(c[m>>2]|0)+1;g[d+312>>2]=u;g[d+316>>2]=t;g[d+320>>2]=q;g[d+324>>2]=0.0;m=c[b+16>>2]|0;s=c[m+(l*244|0)+240>>2]|0;q=+g[m+(l*244|0)+192>>2]+ +g[m+(l*244|0)+224>>2];t=+g[m+(l*244|0)+196>>2]+ +g[m+(l*244|0)+228>>2];u=+g[m+(l*244|0)+200>>2]+ +g[m+(l*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=q;g[s+332>>2]=t;g[s+336>>2]=u;g[s+340>>2]=0.0;if(c[f+44>>2]|0){m=c[b+16>>2]|0;s=c[m+(l*244|0)+240>>2]|0;j=m+(l*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[j>>2];c[s+4+4>>2]=c[j+4>>2];c[s+4+8>>2]=c[j+8>>2];c[s+4+12>>2]=c[j+12>>2];j=m+(l*244|0)+16|0;c[s+20>>2]=c[j>>2];c[s+20+4>>2]=c[j+4>>2];c[s+20+8>>2]=c[j+8>>2];c[s+20+12>>2]=c[j+12>>2];j=m+(l*244|0)+32|0;c[s+36>>2]=c[j>>2];c[s+36+4>>2]=c[j+4>>2];c[s+36+8>>2]=c[j+8>>2];c[s+36+12>>2]=c[j+12>>2];m=m+(l*244|0)+48|0;c[s+52>>2]=c[m>>2];c[s+52+4>>2]=c[m+4>>2];c[s+52+8>>2]=c[m+8>>2];c[s+52+12>>2]=c[m+12>>2]}c[(c[(c[b+16>>2]|0)+(l*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}l=l+1|0}while((l|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;i=r;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;i=r;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;i=r;return 0.0}function ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0;u=i;i=i+704|0;c[u+480+8>>2]=0;c[u+480+12>>2]=1065353216;c[u+480+16>>2]=1065353216;c[u+480+20>>2]=1065353216;g[u+480+24>>2]=0.0;c[u+480>>2]=6672;c[u+480+4>>2]=8;g[u+480+28>>2]=0.0;g[u+480+44>>2]=0.0;g[u+416>>2]=1.0;m=u+416+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;g[u+416+20>>2]=1.0;n=u+416+24|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[u+416+40>>2]=1.0;g[u+416+44>>2]=0.0;c[u+416+48>>2]=c[a>>2];c[u+416+48+4>>2]=c[a+4>>2];c[u+416+48+8>>2]=c[a+8>>2];c[u+416+48+12>>2]=c[a+12>>2];a=e;l=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(l|0));c[u+536>>2]=b;c[u+536+4>>2]=u+480;H=+g[d>>2];G=+g[d+16>>2];F=+g[d+32>>2];E=+g[d+4>>2];D=+g[d+20>>2];C=+g[d+36>>2];s=+g[d+8>>2];q=+g[d+24>>2];o=+g[d+40>>2];g[u+536+8>>2]=H+G*0.0+F*0.0;g[u+536+12>>2]=E+D*0.0+C*0.0;g[u+536+16>>2]=s+q*0.0+o*0.0;g[u+536+20>>2]=0.0;g[u+536+24>>2]=H*0.0+G+F*0.0;g[u+536+28>>2]=E*0.0+D+C*0.0;g[u+536+32>>2]=s*0.0+q+o*0.0;g[u+536+36>>2]=0.0;g[u+536+40>>2]=H*0.0+G*0.0+F;g[u+536+44>>2]=E*0.0+D*0.0+C;g[u+536+48>>2]=s*0.0+q*0.0+o;g[u+536+52>>2]=0.0;o=+g[u+416+48>>2]-+g[d+48>>2];q=+g[u+416+52>>2]-+g[d+52>>2];s=+g[u+416+56>>2]-+g[d+56>>2];B=+g[u+416>>2];A=+g[u+416+16>>2];z=+g[u+416+32>>2];y=+g[m>>2];x=+g[u+416+20>>2];w=+g[u+416+36>>2];v=+g[u+416+8>>2];f=+g[n>>2];h=+g[u+416+40>>2];p=+g[d+8>>2];r=+g[d+24>>2];t=+g[d+40>>2];j=o*+g[d>>2]+q*+g[d+16>>2]+s*+g[d+32>>2];k=o*+g[d+4>>2]+q*+g[d+20>>2]+s*+g[d+36>>2];g[u+536+56>>2]=H*B+G*A+F*z;g[u+536+60>>2]=H*y+G*x+F*w;g[u+536+64>>2]=H*v+G*f+F*h;g[u+536+68>>2]=0.0;g[u+536+72>>2]=B*E+A*D+z*C;g[u+536+76>>2]=y*E+x*D+w*C;g[u+536+80>>2]=v*E+f*D+h*C;g[u+536+84>>2]=0.0;g[u+536+88>>2]=B*p+A*r+z*t;g[u+536+92>>2]=y*p+x*r+w*t;g[u+536+96>>2]=v*p+f*r+h*t;g[u+536+100>>2]=0.0;g[u+536+104>>2]=j;g[u+536+108>>2]=k;g[u+536+112>>2]=o*p+q*r+s*t;g[u+536+116>>2]=0.0;c[u+536+120>>2]=80;c[u+536+124>>2]=0;a=u+32+128|0;c[u+32+364>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[u+32+376>>2]=2;c[u+32+368>>2]=0;g[u+32+144>>2]=0.0;c[u+16>>2]=1065353216;c[u+16+4>>2]=1065353216;c[u+16+8>>2]=1065353216;g[u+16+12>>2]=0.0;switch(Uc(u+32|0,u+536|0,u+16|0)|0){case 0:{a=c[u+32+372>>2]|0;if(!(c[a+32>>2]|0)){k=0.0;j=0.0;f=0.0;r=0.0;q=0.0;h=0.0}else{n=0;k=0.0;j=0.0;f=0.0;r=0.0;q=0.0;h=0.0;do{t=+g[a+16+(n<<2)>>2];l=c[u+536+120>>2]|0;I=c[u+536+124>>2]|0;m=(c[u+536>>2]|0)+(I>>1)|0;if(I&1)l=c[(c[m>>2]|0)+l>>2]|0;ic[l&127](u,m,c[a+(n<<2)>>2]|0);k=k+t*+g[u>>2];f=f+t*+g[u+4>>2];j=j+t*+g[u+8>>2];a=c[(c[u+32+372>>2]|0)+(n<<2)>>2]|0;o=-+g[a>>2];p=-+g[a+4>>2];s=-+g[a+8>>2];a=c[u+536+120>>2]|0;I=c[u+536+124>>2]|0;l=(c[u+536+4>>2]|0)+(I>>1)|0;if(I&1)a=c[(c[l>>2]|0)+a>>2]|0;G=+g[u+536+24>>2]*o+ +g[u+536+28>>2]*p+ +g[u+536+32>>2]*s;F=+g[u+536+40>>2]*o+ +g[u+536+44>>2]*p+ +g[u+536+48>>2]*s;g[u+664>>2]=+g[u+536+8>>2]*o+ +g[u+536+12>>2]*p+ +g[u+536+16>>2]*s;g[u+664+4>>2]=G;g[u+664+8>>2]=F;g[u+664+12>>2]=0.0;ic[a&127](u+680|0,l,u+664|0);F=+g[u+680>>2];G=+g[u+680+4>>2];H=+g[u+680+8>>2];r=r+t*(F*+g[u+536+56>>2]+G*+g[u+536+60>>2]+H*+g[u+536+64>>2]+ +g[u+536+104>>2]);h=h+t*(F*+g[u+536+72>>2]+G*+g[u+536+76>>2]+H*+g[u+536+80>>2]+ +g[u+536+108>>2]);q=q+t*(F*+g[u+536+88>>2]+G*+g[u+536+92>>2]+H*+g[u+536+96>>2]+ +g[u+536+112>>2]);n=n+1|0;a=c[u+32+372>>2]|0}while(n>>>0<(c[a+32>>2]|0)>>>0)}s=k*+g[d>>2]+f*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];t=k*+g[d+16>>2]+f*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];k=k*+g[d+32>>2]+f*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[e+4>>2]=s;g[e+8>>2]=t;g[e+12>>2]=k;g[e+16>>2]=0.0;o=r*+g[d>>2]+h*+g[d+4>>2]+q*+g[d+8>>2]+ +g[d+48>>2];p=r*+g[d+16>>2]+h*+g[d+20>>2]+q*+g[d+24>>2]+ +g[d+52>>2];j=r*+g[d+32>>2]+h*+g[d+36>>2]+q*+g[d+40>>2]+ +g[d+56>>2];g[e+20>>2]=o;g[e+24>>2]=p;g[e+28>>2]=j;g[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{f=+g[b+28>>2]*+g[b+12>>2];break}case 0:{f=+g[b+44>>2];break}case 1:{f=+g[b+44>>2];break}case 13:{f=+g[b+44>>2];break}case 11:{f=+g[b+44>>2];break}case 10:{f=+g[b+44>>2];break}case 4:case 5:{f=+g[b+44>>2];break}default:f=+Sb[c[(c[b>>2]|0)+48>>2]&15](b)}switch(c[u+480+4>>2]|0){case 8:{h=+g[u+480+28>>2]*+g[u+480+12>>2];break}case 0:{h=+g[u+480+44>>2];break}case 1:{h=+g[u+480+44>>2];break}case 13:{h=+g[u+480+44>>2];break}case 11:{h=+g[u+480+44>>2];break}case 10:{h=+g[u+480+44>>2];break}case 4:case 5:{h=+g[u+480+44>>2];break}default:h=+Sb[c[(c[u+480>>2]|0)+48>>2]&15](u+480|0)}H=f+h;G=+O(+((o-s)*(o-s)+(p-t)*(p-t)+(j-k)*(j-k)));g[e+36>>2]=(o-s)*(1.0/G);g[e+40>>2]=(p-t)*(1.0/G);g[e+44>>2]=(j-k)*(1.0/G);g[e+48>>2]=0.0;g[e+4>>2]=H*(o-s)*(1.0/G)+ +g[e+4>>2];g[e+8>>2]=H*(p-t)*(1.0/G)+ +g[e+8>>2];g[e+12>>2]=H*(j-k)*(1.0/G)+ +g[e+12>>2];H=G-H;i=u;return +H}case 1:{if(!(Pc(b,d,u+480|0,u+416|0,a,e,1)|0)){H=3402823466385288598117041.0e14;i=u;return +H}f=+g[e+4>>2]-+g[e+20>>2];h=+g[e+8>>2]-+g[e+24>>2];j=+g[e+12>>2]-+g[e+28>>2];k=+O(+(f*f+h*h+j*j));if(k>=1.1920928955078125e-07){g[e+36>>2]=f*(1.0/k);g[e+40>>2]=h*(1.0/k);g[e+44>>2]=j*(1.0/k);g[e+48>>2]=0.0}H=-k;i=u;return +H}default:{H=3402823466385288598117041.0e14;i=u;return +H}}return 0.0}function fd(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;o=i;i=i+48|0;d=c[a+24>>2]|0;if((d|0)<=0){i=o;return}n=0;do{m=c[(c[a+32>>2]|0)+(n<<2)>>2]|0;switch(c[m+216>>2]|0){case 2:case 5:break;default:{Wd(m,0);d=c[m+732>>2]|0;if((d|0)>0){e=0;do{l=c[m+740>>2]|0;j=c[l+(e*52|0)+12>>2]|0;k=c[l+(e*52|0)+8>>2]|0;y=+g[j+24>>2]-+g[k+24>>2];x=+g[j+28>>2]-+g[k+28>>2];b=+g[j+32>>2]-+g[k+32>>2];g[l+(e*52|0)+36>>2]=y;g[l+(e*52|0)+40>>2]=x;g[l+(e*52|0)+44>>2]=b;g[l+(e*52|0)+48>>2]=0.0;g[l+(e*52|0)+32>>2]=1.0/(+g[l+(e*52|0)+24>>2]*(y*y+x*x+b*b));e=e+1|0}while((e|0)!=(d|0))}e=c[m+792>>2]|0;if((e|0)>0){b=+g[m+452>>2];f=0;do{l=c[m+800>>2]|0;d=l+(f*96|0)+20|0;h=c[d>>2]|0;B=+g[l+(f*96|0)+4>>2];A=+g[l+(f*96|0)+8>>2];y=+g[l+(f*96|0)+12>>2];z=+g[h+4>>2]*B+ +g[h+8>>2]*A+ +g[h+12>>2]*y;x=B*+g[h+20>>2]+A*+g[h+24>>2]+y*+g[h+28>>2];y=B*+g[h+36>>2]+A*+g[h+40>>2]+y*+g[h+44>>2];j=l+(f*96|0)+28|0;k=l+(f*96|0)|0;Pf(o,b,+g[(c[k>>2]|0)+88>>2],+g[h+344>>2],h+264|0,z,x,y);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];j=l+(f*96|0)+44|0;c[j>>2]=c[o+16>>2];c[j+4>>2]=c[o+16+4>>2];c[j+8>>2]=c[o+16+8>>2];c[j+12>>2]=c[o+16+12>>2];j=l+(f*96|0)+60|0;c[j>>2]=c[o+32>>2];c[j+4>>2]=c[o+32+4>>2];c[j+8>>2]=c[o+32+8>>2];c[j+12>>2]=c[o+32+12>>2];g[l+(f*96|0)+76>>2]=z;g[l+(f*96|0)+80>>2]=x;g[l+(f*96|0)+84>>2]=y;g[l+(f*96|0)+88>>2]=0.0;b=+g[m+452>>2];g[l+(f*96|0)+92>>2]=b*+g[(c[k>>2]|0)+88>>2];d=c[d>>2]|0;if(!(c[d+204>>2]&3)){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0}f=f+1|0}while((f|0)!=(e|0))}d=c[m+372>>2]|0;if((d|0)>0){e=c[m+396>>2]|0;f=0;do{if((e|0)>0){d=0;do{zb[((c[(c[m+404>>2]|0)+(d<<2)>>2]|0)==0?23:0)&31](m,1.0);d=d+1|0;e=c[m+396>>2]|0}while((d|0)<(e|0));d=c[m+372>>2]|0}f=f+1|0}while((f|0)<(d|0));d=c[m+712>>2]|0;if((d|0)>0){e=0;do{l=c[m+720>>2]|0;z=+g[m+452>>2];A=z*+g[l+(e*104|0)+44>>2]+ +g[l+(e*104|0)+28>>2];B=z*+g[l+(e*104|0)+48>>2]+ +g[l+(e*104|0)+32>>2];g[l+(e*104|0)+8>>2]=+g[l+(e*104|0)+40>>2]*z+ +g[l+(e*104|0)+24>>2];g[l+(e*104|0)+12>>2]=A;g[l+(e*104|0)+16>>2]=B;g[l+(e*104|0)+20>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}}d=c[m+376>>2]|0;if((d|0)>0){e=c[m+416>>2]|0;h=0;do{b=+(h|0)/+(d|0);if((e|0)>0){f=0;do{switch(c[(c[m+424>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:d=0}Nb[d&7](m,1.0,b);f=f+1|0;e=c[m+416>>2]|0}while((f|0)<(e|0));d=c[m+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+g[m+456>>2]*(1.0-+g[m+296>>2]);d=c[m+712>>2]|0;if((d|0)>0){e=0;do{l=c[m+720>>2]|0;A=b*(+g[l+(e*104|0)+12>>2]-+g[l+(e*104|0)+28>>2]);B=b*(+g[l+(e*104|0)+16>>2]-+g[l+(e*104|0)+32>>2]);g[l+(e*104|0)+40>>2]=b*(+g[l+(e*104|0)+8>>2]-+g[l+(e*104|0)+24>>2]);g[l+(e*104|0)+44>>2]=A;g[l+(e*104|0)+48>>2]=B;l=l+(e*104|0)+52|0;e=e+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0}while((e|0)!=(d|0))}}d=c[m+380>>2]|0;if((d|0)>0){b=+g[m+292>>2]*+g[m+456>>2];e=c[m+712>>2]|0;if((e|0)>0){d=0;do{k=c[m+720>>2]|0;l=k+(d*104|0)+24|0;k=k+(d*104|0)+8|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[m+380>>2]|0;if((d|0)>0)w=42}else w=42;if((w|0)==42){w=0;e=c[m+436>>2]|0;h=0;do{if((e|0)>0){f=0;do{switch(c[(c[m+444>>2]|0)+(f<<2)>>2]|0){case 1:{d=2;break}case 0:{d=3;break}case 2:{d=4;break}case 3:{d=5;break}default:d=0}Nb[d&7](m,1.0,0.0);f=f+1|0;e=c[m+436>>2]|0}while((f|0)<(e|0));d=c[m+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}d=c[m+712>>2]|0;if((d|0)>0){e=c[m+720>>2]|0;f=0;do{A=b*(+g[e+(f*104|0)+12>>2]-+g[e+(f*104|0)+28>>2]);B=b*(+g[e+(f*104|0)+16>>2]-+g[e+(f*104|0)+32>>2]);l=e+(f*104|0)+40|0;g[l>>2]=b*(+g[e+(f*104|0)+8>>2]-+g[e+(f*104|0)+24>>2])+ +g[l>>2];l=e+(f*104|0)+44|0;g[l>>2]=A+ +g[l>>2];l=e+(f*104|0)+48|0;g[l>>2]=B+ +g[l>>2];f=f+1|0}while((f|0)!=(d|0))}}d=c[m+1112>>2]|0;if((d|0)>0){e=c[m+1120>>2]|0;k=0;do{f=c[e+(k<<2)>>2]|0;if(+g[f+352>>2]>0.0?(p=c[f+24>>2]|0,(p|0)>0):0){h=c[f+32>>2]|0;l=0;do{j=c[h+(l<<2)>>2]|0;if(+g[j+88>>2]>0.0?(t=+g[j+24>>2]-+g[f+228>>2],v=+g[j+28>>2]-+g[f+232>>2],r=+g[j+32>>2]-+g[f+236>>2],s=+g[f+336>>2],B=+g[f+340>>2],u=+g[f+332>>2],q=+g[f+316>>2]+(s*r-v*B),r=+g[f+320>>2]+(t*B-r*u),s=v*u-t*s+ +g[f+324>>2],t=+g[j+40>>2],u=+g[j+44>>2],v=+g[j+48>>2],q*q+r*r+s*s<=t*t+u*u+v*v):0){B=+g[f+352>>2];g[j+40>>2]=t+(q-t)*B;g[j+44>>2]=(r-u)*B+u;g[j+48>>2]=(s-v)*B+v}l=l+1|0}while((l|0)!=(p|0))}k=k+1|0}while((k|0)!=(d|0))}Wd(m,1);d=c[a+24>>2]|0}}n=n+1|0}while((n|0)<(d|0));i=o;return}function gd(d,e){d=d|0;e=+e;var f=0,h=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0;s=i;i=i+304|0;li(12028);a:do if((c[d+232>>2]|0)>0){n=s+136+48|0;o=0;while(1){m=c[(c[d+240>>2]|0)+(o<<2)>>2]|0;g[m+244>>2]=1.0;b:do switch(c[m+216>>2]|0){case 2:case 5:break;default:if(!(c[m+204>>2]&3)){Zg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,e,s+136|0);h=+g[n>>2]-+g[m+52>>2];k=+g[s+136+52>>2]-+g[m+56>>2];l=+g[s+136+56>>2]-+g[m+60>>2];if(a[d+44>>0]|0?(t=+g[m+252>>2],t*t!=0.0?t*t<h*h+k*k+l*l:0):0){li(12048);if((c[(c[m+192>>2]|0)+4>>2]|0)<20){c[5816]=(c[5816]|0)+1;f=c[d+68>>2]|0;f=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;j=c[d+24>>2]|0;g[s+200+4>>2]=1.0;b[s+200+8>>1]=1;b[s+200+10>>1]=-1;c[s+200>>2]=2872;c[s+200+12>>2]=c[m+52>>2];c[s+200+12+4>>2]=c[m+52+4>>2];c[s+200+12+8>>2]=c[m+52+8>>2];c[s+200+12+12>>2]=c[m+52+12>>2];c[s+200+28>>2]=c[n>>2];c[s+200+28+4>>2]=c[n+4>>2];c[s+200+28+8>>2]=c[n+8>>2];c[s+200+28+12>>2]=c[n+12>>2];c[s+200+76>>2]=0;c[s+200>>2]=4332;c[s+200+80>>2]=m;c[s+200+88>>2]=f;c[s+200+92>>2]=j;j=c[m+248>>2]|0;c[s+64+8>>2]=0;c[s+64+12>>2]=1065353216;c[s+64+16>>2]=1065353216;c[s+64+20>>2]=1065353216;g[s+64+24>>2]=0.0;c[s+64>>2]=6672;c[s+64+4>>2]=8;c[s+64+28>>2]=j;c[s+64+44>>2]=j;c[s+200+84>>2]=c[d+56>>2];j=c[(c[m+188>>2]|0)+4>>2]|0;b[s+200+8>>1]=j;b[s+200+10>>1]=j>>>16;c[s+48>>2]=c[n>>2];c[s+48+4>>2]=c[n+4>>2];c[s+48+8>>2]=c[n+8>>2];c[s+48+12>>2]=c[n+12>>2];c[s>>2]=c[m+4>>2];c[s+4>>2]=c[m+4+4>>2];c[s+8>>2]=c[m+4+8>>2];c[s+12>>2]=c[m+4+12>>2];c[s+16>>2]=c[m+20>>2];c[s+16+4>>2]=c[m+20+4>>2];c[s+16+8>>2]=c[m+20+8>>2];c[s+16+12>>2]=c[m+20+12>>2];c[s+32>>2]=c[m+36>>2];c[s+32+4>>2]=c[m+36+4>>2];c[s+32+8>>2]=c[m+36+8>>2];c[s+32+12>>2]=c[m+36+12>>2];Kd(d,s+64|0,m+4|0,s,s+200|0,0.0);h=+g[s+200+4>>2];if(h<1.0){g[m+244>>2]=h;Zg(m+4|0,+g[m+312>>2],+g[m+316>>2],+g[m+320>>2],m+328|0,h*e,s+136|0);g[m+244>>2]=0.0;Se(m,s+136|0);f=4}else f=0;if(!f)p=12}else p=12;if((p|0)==12){p=0;f=0}j=c[2357]|0;u=(c[j+16>>2]|0)+-1|0;c[j+16>>2]=u;do if(!u){if(c[j+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[j+8>>2]=+g[j+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[j+12>>2]|0)|0)>>>0)/1.0e3;if(c[j+16>>2]|0)break;j=c[2357]|0}c[2357]=c[j+20>>2]}while(0);if(f|0)break b}Se(m,s+136|0)}}while(0);o=o+1|0;if((o|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){li(12105);if((c[d+308>>2]|0)>0){p=0;do{o=c[(c[d+316>>2]|0)+(p<<2)>>2]|0;m=c[o+740>>2]|0;m=(c[m+236>>2]&2|0)==0?0:m;n=c[o+744>>2]|0;n=(c[n+236>>2]&2|0)==0?0:n;f=c[o+748>>2]|0;if((f|0)>0)if(!m){j=0;do{h=+g[57]*+g[n+228>>2];if(h>0.0?(q=+g[o+4+(j*184|0)+120>>2],q!=0.0):0){l=h*+g[o+4+(j*184|0)+64>>2]*q;e=h*+g[o+4+(j*184|0)+68>>2]*q;t=h*+g[o+4+(j*184|0)+72>>2]*q;h=+g[o+4+(j*184|0)+36>>2]-+g[n+56>>2];k=+g[o+4+(j*184|0)+40>>2]-+g[n+60>>2];g[s>>2]=+g[o+4+(j*184|0)+32>>2]-+g[n+52>>2];g[s+4>>2]=h;g[s+8>>2]=k;g[s+12>>2]=0.0;g[s+120>>2]=l;g[s+120+4>>2]=e;g[s+120+8>>2]=t;g[s+120+12>>2]=0.0;gj(n,s+120|0,s);f=c[o+748>>2]|0}j=j+1|0}while((j|0)<(f|0))}else{j=0;do{h=+g[m+228>>2]*+g[n+228>>2];if(h>0.0?(r=+g[o+4+(j*184|0)+120>>2],r!=0.0):0){l=h*+g[o+4+(j*184|0)+64>>2]*r;e=h*+g[o+4+(j*184|0)+68>>2]*r;t=h*+g[o+4+(j*184|0)+72>>2]*r;g[s+200>>2]=-l;g[s+200+4>>2]=-e;g[s+200+8>>2]=-t;g[s+200+12>>2]=0.0;k=+g[o+4+(j*184|0)+52>>2]-+g[m+56>>2];h=+g[o+4+(j*184|0)+56>>2]-+g[m+60>>2];g[s+64>>2]=+g[o+4+(j*184|0)+48>>2]-+g[m+52>>2];g[s+64+4>>2]=k;g[s+64+8>>2]=h;g[s+64+12>>2]=0.0;h=+g[o+4+(j*184|0)+36>>2]-+g[n+56>>2];k=+g[o+4+(j*184|0)+40>>2]-+g[n+60>>2];g[s>>2]=+g[o+4+(j*184|0)+32>>2]-+g[n+52>>2];g[s+4>>2]=h;g[s+8>>2]=k;g[s+12>>2]=0.0;gj(m,s+200|0,s+64|0);g[s+120>>2]=l;g[s+120+4>>2]=e;g[s+120+8>>2]=t;g[s+120+12>>2]=0.0;gj(n,s+120|0,s);f=c[o+748>>2]|0}j=j+1|0}while((j|0)<(f|0))}p=p+1|0}while((p|0)<(c[d+308>>2]|0))}f=c[2357]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(!u){if(c[f+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(c[f+16>>2]|0)break;f=c[2357]|0}c[2357]=c[f+20>>2]}}while(0);f=c[2357]|0;u=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=u;if(u|0){i=s;return}do if(c[f+4>>2]|0){tb(s+200|0,0)|0;u=c[6434]|0;g[f+8>>2]=+g[f+8>>2]+ +(((c[s+200+4>>2]|0)-(c[u+4>>2]|0)+(((c[s+200>>2]|0)-(c[u>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[f+16>>2]|0)){f=c[2357]|0;break}else{i=s;return}}while(0);c[2357]=c[f+20>>2];i=s;return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;h=c[6442]|0;if((a+-8|0)>>>0<h>>>0)Va();b=c[a+-4>>2]|0;if((b&3|0)==1)Va();n=a+-8+(b&-8)|0;do if(!(b&1)){e=c[a+-8>>2]|0;if(!(b&3))return;k=a+-8+(0-e)|0;j=e+(b&-8)|0;if(k>>>0<h>>>0)Va();if((k|0)==(c[6443]|0)){a=c[n+4>>2]|0;if((a&3|0)!=3){q=k;f=j;break}c[6440]=j;c[n+4>>2]=a&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}if(e>>>0<256){a=c[k+8>>2]|0;b=c[k+12>>2]|0;if((a|0)!=(25792+(e>>>3<<1<<2)|0)){if(a>>>0<h>>>0)Va();if((c[a+12>>2]|0)!=(k|0))Va()}if((b|0)==(a|0)){c[6438]=c[6438]&~(1<<(e>>>3));q=k;f=j;break}if((b|0)!=(25792+(e>>>3<<1<<2)|0)){if(b>>>0<h>>>0)Va();if((c[b+8>>2]|0)!=(k|0))Va();else d=b+8|0}else d=b+8|0;c[a+12>>2]=b;c[d>>2]=a;q=k;f=j;break}g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){i=0;break}else e=k+16|0}else e=k+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}if(e>>>0<h>>>0)Va();else{c[e>>2]=0;i=a;break}}else{b=c[k+8>>2]|0;if(b>>>0<h>>>0)Va();if((c[b+12>>2]|0)!=(k|0))Va();if((c[a+8>>2]|0)==(k|0)){c[b+12>>2]=a;c[a+8>>2]=b;i=a;break}else Va()}while(0);if(g){a=c[k+28>>2]|0;if((k|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=i;if(!i){c[6439]=c[6439]&~(1<<a);q=k;f=j;break}}else{if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(k|0))c[g+16>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}b=c[6442]|0;if(i>>>0<b>>>0)Va();c[i+24>>2]=g;a=c[k+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Va();else{c[i+16>>2]=a;c[a+24>>2]=i;break}while(0);a=c[k+16+4>>2]|0;if(a)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=a+-8|0;f=b&-8}while(0);if(q>>>0>=n>>>0)Va();d=c[n+4>>2]|0;if(!(d&1))Va();if(!(d&2)){if((n|0)==(c[6444]|0)){p=(c[6441]|0)+f|0;c[6441]=p;c[6444]=q;c[q+4>>2]=p|1;if((q|0)!=(c[6443]|0))return;c[6443]=0;c[6440]=0;return}if((n|0)==(c[6443]|0)){p=(c[6440]|0)+f|0;c[6440]=p;c[6443]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(d&-8)+f|0;do if(d>>>0>=256){g=c[n+24>>2]|0;a=c[n+12>>2]|0;do if((a|0)==(n|0)){a=c[n+16+4>>2]|0;if(!a){a=c[n+16>>2]|0;if(!a){m=0;break}else e=n+16|0}else e=n+16+4|0;while(1){b=a+20|0;d=c[b>>2]|0;if(d|0){a=d;e=b;continue}b=a+16|0;d=c[b>>2]|0;if(!d)break;else{a=d;e=b}}if(e>>>0<(c[6442]|0)>>>0)Va();else{c[e>>2]=0;m=a;break}}else{b=c[n+8>>2]|0;if(b>>>0<(c[6442]|0)>>>0)Va();if((c[b+12>>2]|0)!=(n|0))Va();if((c[a+8>>2]|0)==(n|0)){c[b+12>>2]=a;c[a+8>>2]=b;m=a;break}else Va()}while(0);if(g|0){a=c[n+28>>2]|0;if((n|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=m;if(!m){c[6439]=c[6439]&~(1<<a);break}}else{if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(n|0))c[g+16>>2]=m;else c[g+20>>2]=m;if(!m)break}b=c[6442]|0;if(m>>>0<b>>>0)Va();c[m+24>>2]=g;a=c[n+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Va();else{c[m+16>>2]=a;c[a+24>>2]=m;break}while(0);a=c[n+16+4>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}}else{a=c[n+8>>2]|0;b=c[n+12>>2]|0;if((a|0)!=(25792+(d>>>3<<1<<2)|0)){if(a>>>0<(c[6442]|0)>>>0)Va();if((c[a+12>>2]|0)!=(n|0))Va()}if((b|0)==(a|0)){c[6438]=c[6438]&~(1<<(d>>>3));break}if((b|0)!=(25792+(d>>>3<<1<<2)|0)){if(b>>>0<(c[6442]|0)>>>0)Va();if((c[b+8>>2]|0)!=(n|0))Va();else l=b+8|0}else l=b+8|0;c[a+12>>2]=b;c[l>>2]=a}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[6443]|0)){c[6440]=f;return}}else{c[n+4>>2]=d&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}b=f>>>3;if(f>>>0<256){a=c[6438]|0;if(a&1<<b){a=c[25792+(b<<1<<2)+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{o=25792+(b<<1<<2)+8|0;p=a}}else{c[6438]=a|1<<b;o=25792+(b<<1<<2)+8|0;p=25792+(b<<1<<2)|0}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=25792+(b<<1<<2);return}a=f>>>8;if(a)if(f>>>0>16777215)d=31;else{d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[6439]|0;b=1<<d;do if(a&b){d=f<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=127;break}else{d=d<<1;e=a}}if((a|0)==127)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[6442]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else Va()}}else{c[6439]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[6446]|0)+-1|0;c[6446]=q;if(!q)a=26208;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6446]=-1;return}function id(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0;s=i;i=i+112|0;q=c[b+716>>2]|0;if((q|0)==(c[b+712>>2]|0)){a:do if(q){k=c[b+720>>2]|0;if((q|0)>0){h=k;j=0;while(1){f=c[h+(j*104|0)+96>>2]|0;if(f|0)c[f+36>>2]=j;f=j+1|0;if((f|0)==(q|0))break a;h=c[b+720>>2]|0;j=f}}}else k=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){j=0;do{h=(c[b+760>>2]|0)+(j*44|0)+8|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(j*44|0)+12|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(j*44|0)+16|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=c[(c[b+760>>2]|0)+(j*44|0)+40>>2]|0;if(h|0)c[h+36>>2]=j;j=j+1|0}while((j|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;j=0;do{o=h+(j*96|0)|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;j=j+1|0}while((j|0)!=(f|0))}j=c[b+692>>2]|0;if((j|0)>0){f=c[b+700>>2]|0;l=0;do{if((c[f+(l*60|0)+24>>2]|0)>0){h=0;do{f=f+(l*60|0)+28+(h<<2)|0;c[f>>2]=((c[f>>2]|0)-k|0)/104|0;h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(l*60|0)+24>>2]|0))}l=l+1|0}while((l|0)!=(j|0))}if((q|0)<(q<<1|1|0)){c[6435]=(c[6435]|0)+1;f=yc(((q<<1|1)*104|3)+16|0)|0;if(!f)j=0;else{c[(f+4+15&-16)+-4>>2]=f;j=f+4+15&-16}f=c[b+712>>2]|0;if((f|0)>0){h=0;do{l=j+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=l+104|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=q<<1|1;j=c[b+712>>2]|0}else j=q;b:do if(j){k=c[b+720>>2]|0;if((j|0)>0){l=k;f=0;while(1){h=c[l+(f*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=l+(f*104|0);f=f+1|0;if((f|0)==(j|0)){l=k;break b}l=c[b+720>>2]|0}}else l=k}else l=0;while(0);f=c[b+732>>2]|0;if((f|0)>0){h=0;do{q=(c[b+740>>2]|0)+(h*52|0)+8|0;c[q>>2]=l+((c[q>>2]|0)*104|0);q=(c[b+740>>2]|0)+(h*52|0)+12|0;c[q>>2]=l+((c[q>>2]|0)*104|0);h=h+1|0}while((h|0)!=(f|0))}f=c[b+752>>2]|0;if((f|0)>0){k=0;do{h=(c[b+760>>2]|0)+(k*44|0)+8|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(k*44|0)+12|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(k*44|0)+16|0;c[h>>2]=l+((c[h>>2]|0)*104|0);h=c[b+760>>2]|0;j=c[h+(k*44|0)+40>>2]|0;if(j|0)c[j+36>>2]=h+(k*44|0);k=k+1|0}while((k|0)!=(f|0))}f=c[b+792>>2]|0;if((f|0)>0){h=c[b+800>>2]|0;j=0;do{c[h+(j*96|0)>>2]=l+((c[h+(j*96|0)>>2]|0)*104|0);j=j+1|0}while((j|0)!=(f|0))}j=c[b+692>>2]|0;if((j|0)>0){f=c[b+700>>2]|0;k=0;do{if((c[f+(k*60|0)+24>>2]|0)>0){h=0;do{f=f+(k*60|0)+28+(h<<2)|0;c[f>>2]=l+((c[f>>2]|0)*104|0);h=h+1|0;f=c[b+700>>2]|0}while((h|0)<(c[f+(k*60|0)+24>>2]|0))}k=k+1|0}while((k|0)!=(j|0))}}l=c[b+192>>2]|0;p=+Sb[c[(c[l>>2]|0)+48>>2]&15](l);l=s;o=l+100|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));f=c[b+712>>2]|0;if((f|0)==(c[b+716>>2]|0)?(r=f|0?f<<1:1,(f|0)<(r|0)):0){if(!r)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((r*104|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+712>>2]|0}if((f|0)>0){h=0;do{l=j+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=l+104|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=h+1|0}while((h|0)!=(f|0))}f=c[b+720>>2]|0;if(f|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=r;f=c[b+712>>2]|0}l=c[b+720>>2]|0;c[l+(f*104|0)>>2]=0;l=l+(f*104|0)+4|0;k=s;o=l+100|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;j=c[b+720>>2]|0;l=j+(h*104|0)|0;o=l+104|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));c[j+(h*104|0)+8>>2]=c[d>>2];c[j+(h*104|0)+8+4>>2]=c[d+4>>2];c[j+(h*104|0)+8+8>>2]=c[d+8>>2];c[j+(h*104|0)+8+12>>2]=c[d+12>>2];Bp(j+(h*104|0)+24|0,d|0,16)|0;g[j+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[j+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+g[j+(h*104|0)+8>>2];m=+g[j+(h*104|0)+12>>2];n=+g[j+(h*104|0)+16>>2];f=c[b+932>>2]|0;if(f|0){c[b+932>>2]=0;d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=j+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;lf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=j+(h*104|0)+96|0;c[b>>2]=d;i=s;return}c[6435]=(c[6435]|0)+1;f=yc(63)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}l=f;o=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(o|0));d=f;r=d+32|0;c[r>>2]=0;r=d+36|0;c[r>>2]=j+(h*104|0);r=d+40|0;c[r>>2]=0;g[d>>2]=e-p;r=d+4|0;g[r>>2]=m-p;r=d+8|0;g[r>>2]=n-p;r=d+12|0;g[r>>2]=0.0;r=d+16|0;g[r>>2]=p+e;r=d+20|0;g[r>>2]=p+m;r=d+24|0;g[r>>2]=p+n;r=d+28|0;g[r>>2]=0.0;r=c[b+928>>2]|0;lf(b+928|0,r,d);b=b+940|0;r=c[b>>2]|0;r=r+1|0;c[b>>2]=r;b=j+(h*104|0)+96|0;c[b>>2]=d;i=s;return}function jd(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;G=i;i=i+32|0;c[G+16>>2]=j;c[G+16+4>>2]=k;c[G+16+8>>2]=l;c[G>>2]=e;c[G+4>>2]=f;c[G+8>>2]=h;if(!(+g[d+52>>2]<+g[b+12>>2])){m=0;i=G;return m|0}E=+g[d+36>>2];F=+g[d+40>>2];w=+g[d+44>>2];h=c[d+48>>2]|0;x=1.0/+O(+(E*E+F*F+w*w));l=ri(G)|0;y=+g[d+4>>2]-+g[l+48>>2];z=+g[d+8>>2]-+g[l+52>>2];A=+g[d+12>>2]-+g[l+56>>2];l=ri(G+16|0)|0;B=+g[d+20>>2]-+g[l+48>>2];C=+g[d+24>>2]-+g[l+52>>2];D=+g[d+28>>2]-+g[l+56>>2];if(!f)if(!e){n=0.0;o=0.0;r=0.0;s=0.0;p=0.0;q=0.0}else{q=+g[e+336>>2];r=+g[e+340>>2];v=+g[e+332>>2];n=A*q-z*r;o=+g[e+316>>2];r=y*r-A*v;s=+g[e+320>>2];p=+g[e+324>>2];q=z*v-y*q}else{q=+g[f+332>>2];r=+g[f+336>>2];v=+g[f+328>>2];n=A*q-z*r;o=+g[f+312>>2];r=y*r-A*v;s=+g[f+316>>2];p=+g[f+320>>2];q=z*v-y*q}v=o+n;u=s+r;t=p+q;if(!k)if(!j){p=0.0;q=0.0;r=0.0;s=0.0;n=0.0;o=0.0}else{o=+g[j+336>>2];r=+g[j+340>>2];H=+g[j+332>>2];p=D*o-C*r;q=+g[j+316>>2];r=B*r-D*H;s=+g[j+320>>2];n=+g[j+324>>2];o=C*H-B*o}else{o=+g[k+332>>2];r=+g[k+336>>2];H=+g[k+328>>2];p=D*o-C*r;q=+g[k+312>>2];r=B*r-D*H;s=+g[k+316>>2];n=+g[k+320>>2];o=C*H-B*o}q=v-(q+p);u=u-(s+r);t=t-(n+o);v=w*x*t+(F*x*u+E*x*q);H=+g[d+52>>2]-+g[b+12>>2];c[m+4>>2]=c[G>>2];c[m+4+4>>2]=c[G+4>>2];c[m+4+8>>2]=c[G+8>>2];c[m+16>>2]=c[G+16>>2];c[m+16+4>>2]=c[G+16+4>>2];c[m+16+8>>2]=c[G+16+8>>2];d=ri(G)|0;s=y*+g[d+4>>2]+z*+g[d+20>>2]+A*+g[d+36>>2];r=y*+g[d+8>>2]+z*+g[d+24>>2]+A*+g[d+40>>2];g[m+28>>2]=y*+g[d>>2]+z*+g[d+16>>2]+A*+g[d+32>>2];g[m+32>>2]=s;g[m+36>>2]=r;g[m+40>>2]=0.0;d=ri(G+16|0)|0;r=B*+g[d+4>>2]+C*+g[d+20>>2]+D*+g[d+36>>2];s=B*+g[d+8>>2]+C*+g[d+24>>2]+D*+g[d+40>>2];g[m+44>>2]=B*+g[d>>2]+C*+g[d+16>>2]+D*+g[d+32>>2];g[m+48>>2]=r;g[m+52>>2]=s;g[m+56>>2]=0.0;g[m+164>>2]=y;g[m+168>>2]=z;g[m+172>>2]=A;g[m+176>>2]=0.0;g[m+180>>2]=B;g[m+184>>2]=C;g[m+188>>2]=D;g[m+192>>2]=0.0;g[m+60>>2]=1.0;g[m+64>>2]=1.0;c[m+156>>2]=0;c[m+160>>2]=0;g[m+68>>2]=1.0;g[m+72>>2]=E*x*H;g[m+76>>2]=F*x*H;g[m+80>>2]=w*x*H;g[m+84>>2]=0.0;g[m+196>>2]=E*x;g[m+200>>2]=F*x;g[m+204>>2]=w*x;c[m+208>>2]=h;a[m+152>>0]=0;H=+g[b+16>>2];g[m+212>>2]=(t-w*x*v)*(t-w*x*v)+((q-E*x*v)*(q-E*x*v)+(u-F*x*v)*(u-F*x*v))<H*v*v*H?1.0:H;h=c[G+4>>2]|0;if(!h){h=c[G>>2]|0;if(!h)o=0.0;else o=+g[h+128>>2]}else o=+g[h+344>>2];if((a[22504]|0)==0?Wa(22504)|0:0){h=23084;l=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(l|0));_a(22504)}h=c[G+4>>2]|0;if(!h){e=c[G>>2]|0;e=(e|0)==0?23084:e+180|0}else e=h+264|0;h=c[G+16+4>>2]|0;if(!h){h=c[G+16>>2]|0;if(!h)n=0.0;else n=+g[h+128>>2]}else n=+g[h+344>>2];if((a[22504]|0)==0?Wa(22504)|0:0){h=23084;l=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(l|0));_a(22504)}h=c[G+16+4>>2]|0;if(!h){h=c[G+16>>2]|0;h=(h|0)==0?23084:h+180|0}else h=h+264|0;V=+g[m+172>>2];M=+g[m+168>>2];L=+g[m+164>>2];U=+g[e>>2];T=+g[e+16>>2];S=+g[e+32>>2];R=+g[e+4>>2];Q=+g[e+20>>2];P=+g[e+36>>2];N=+g[e+8>>2];K=+g[e+24>>2];J=+g[e+40>>2];B=+g[m+188>>2];v=+g[m+184>>2];w=+g[m+180>>2];I=+g[h>>2];p=+g[h+16>>2];q=+g[h+32>>2];r=+g[h+4>>2];s=+g[h+20>>2];t=+g[h+36>>2];u=+g[h+8>>2];H=+g[h+24>>2];x=+g[h+40>>2];D=o-((U*0.0+T*-V+M*S)*0.0+V*(R*0.0+Q*-V+M*P)+(N*0.0+K*-V+M*J)*-M)+(n-((I*0.0+p*-B+v*q)*0.0+B*(r*0.0+s*-B+v*t)+(u*0.0+H*-B+v*x)*-v));F=0.0-((U*0.0+T*-V+M*S)*-V+(R*0.0+Q*-V+M*P)*0.0+L*(N*0.0+K*-V+M*J))+(0.0-((I*0.0+p*-B+v*q)*-B+(r*0.0+s*-B+v*t)*0.0+w*(u*0.0+H*-B+v*x)));y=0.0-(M*(U*0.0+T*-V+M*S)+(R*0.0+Q*-V+M*P)*-L+(N*0.0+K*-V+M*J)*0.0)+(0.0-(v*(I*0.0+p*-B+v*q)+(r*0.0+s*-B+v*t)*-w+(u*0.0+H*-B+v*x)*0.0));E=0.0-((V*U+T*0.0+S*-L)*0.0+V*(V*R+Q*0.0+P*-L)+(V*N+K*0.0+J*-L)*-M)+(0.0-((B*I+p*0.0+q*-w)*0.0+B*(B*r+s*0.0+t*-w)+(B*u+H*0.0+x*-w)*-v));C=o-((V*U+T*0.0+S*-L)*-V+(V*R+Q*0.0+P*-L)*0.0+L*(V*N+K*0.0+J*-L))+(n-((B*I+p*0.0+q*-w)*-B+(B*r+s*0.0+t*-w)*0.0+w*(B*u+H*0.0+x*-w)));z=0.0-(M*(V*U+T*0.0+S*-L)+(V*R+Q*0.0+P*-L)*-L+(V*N+K*0.0+J*-L)*0.0)+(0.0-(v*(B*I+p*0.0+q*-w)+(B*r+s*0.0+t*-w)*-w+(B*u+H*0.0+x*-w)*0.0));A=0.0-((U*-M+L*T+S*0.0)*0.0+V*(R*-M+L*Q+P*0.0)+(N*-M+L*K+J*0.0)*-M)+(0.0-((I*-v+w*p+q*0.0)*0.0+B*(r*-v+w*s+t*0.0)+(u*-v+w*H+x*0.0)*-v));B=0.0-((U*-M+L*T+S*0.0)*-V+(R*-M+L*Q+P*0.0)*0.0+L*(N*-M+L*K+J*0.0))+(0.0-((I*-v+w*p+q*0.0)*-B+(r*-v+w*s+t*0.0)*0.0+w*(u*-v+w*H+x*0.0)));x=o-(M*(U*-M+L*T+S*0.0)+(R*-M+L*Q+P*0.0)*-L+(N*-M+L*K+J*0.0)*0.0)+(n-(v*(I*-v+w*p+q*0.0)+(r*-v+w*s+t*0.0)*-w+(u*-v+w*H+x*0.0)*0.0));H=1.0/(y*(B*E-C*A)+(D*(C*x-z*B)+F*(z*A-x*E)));g[m+104>>2]=(C*x-z*B)*H;g[m+108>>2]=(B*y-x*F)*H;g[m+112>>2]=(z*F-C*y)*H;g[m+116>>2]=0.0;g[m+120>>2]=(z*A-x*E)*H;g[m+124>>2]=(x*D-A*y)*H;g[m+128>>2]=(E*y-z*D)*H;g[m+132>>2]=0.0;g[m+136>>2]=(B*E-C*A)*H;g[m+140>>2]=(A*F-B*D)*H;g[m+144>>2]=(C*D-E*F)*H;g[m+148>>2]=0.0;m=1;i=G;return m|0}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){w=+g[b+116>>2];i=+g[e>>2];x=+g[b+132>>2];C=+g[e+4>>2];y=+g[b+148>>2];D=+g[e+8>>2];l=+g[b+120>>2];n=+g[b+136>>2];p=+g[b+152>>2];q=+g[b+124>>2];s=+g[b+140>>2];t=+g[b+156>>2];j=+g[e+16>>2];m=+g[e+20>>2];o=+g[e+24>>2];r=+g[e+32>>2];z=+g[e+36>>2];A=+g[e+40>>2];h=+g[b+164>>2];f=+g[b+168>>2];v=+g[b+172>>2];u=+g[e+48>>2]+(i*h+C*f+D*v);B=j*h+m*f+o*v+ +g[e+52>>2];v=r*h+z*f+A*v+ +g[e+56>>2];g[b+824>>2]=w*i+x*C+y*D;g[b+828>>2]=i*l+C*n+D*p;g[b+832>>2]=i*q+C*s+D*t;g[b+836>>2]=0.0;g[b+840>>2]=w*j+x*m+y*o;g[b+844>>2]=l*j+n*m+p*o;g[b+848>>2]=q*j+s*m+t*o;g[b+852>>2]=0.0;g[b+856>>2]=w*r+x*z+y*A;g[b+860>>2]=l*r+n*z+p*A;g[b+864>>2]=q*r+s*z+t*A;g[b+868>>2]=0.0;g[b+872>>2]=u;g[b+876>>2]=B;g[b+880>>2]=v;g[b+884>>2]=0.0;v=+g[b+52>>2];B=+g[d>>2];u=+g[b+68>>2];A=+g[d+4>>2];t=+g[b+84>>2];z=+g[d+8>>2];s=+g[b+56>>2];r=+g[b+72>>2];q=+g[b+88>>2];p=+g[b+60>>2];n=+g[b+76>>2];l=+g[b+92>>2];y=+g[d+16>>2];x=+g[d+20>>2];w=+g[d+24>>2];o=+g[d+32>>2];m=+g[d+36>>2];j=+g[d+40>>2];D=+g[b+100>>2];C=+g[b+104>>2];i=+g[b+108>>2];f=+g[d+48>>2]+(B*D+A*C+z*i);h=y*D+x*C+w*i+ +g[d+52>>2];i=o*D+m*C+j*i+ +g[d+56>>2];g[b+888>>2]=v*B+u*A+t*z;g[b+892>>2]=B*s+A*r+z*q;g[b+896>>2]=B*p+A*n+z*l;g[b+900>>2]=0.0;g[b+904>>2]=v*y+u*x+t*w;g[b+908>>2]=s*y+r*x+q*w;g[b+912>>2]=p*y+n*x+l*w;g[b+916>>2]=0.0;g[b+920>>2]=v*o+u*m+t*j;g[b+924>>2]=s*o+r*m+q*j;g[b+928>>2]=p*o+n*m+l*j;g[b+932>>2]=0.0;g[b+936>>2]=f;g[b+940>>2]=h;g[b+944>>2]=i;g[b+948>>2]=0.0;d=b+856|0;e=b+840|0}else{o=+g[b+52>>2];D=+g[d>>2];n=+g[b+68>>2];h=+g[d+4>>2];m=+g[b+84>>2];f=+g[d+8>>2];z=+g[b+56>>2];x=+g[b+72>>2];v=+g[b+88>>2];u=+g[b+60>>2];s=+g[b+76>>2];r=+g[b+92>>2];A=+g[d+16>>2];y=+g[d+20>>2];w=+g[d+24>>2];t=+g[d+32>>2];l=+g[d+36>>2];j=+g[d+40>>2];C=+g[b+100>>2];B=+g[b+104>>2];p=+g[b+108>>2];q=+g[d+48>>2]+(D*C+h*B+f*p);i=A*C+y*B+w*p+ +g[d+52>>2];p=t*C+l*B+j*p+ +g[d+56>>2];g[b+824>>2]=o*D+n*h+m*f;g[b+828>>2]=D*z+h*x+f*v;g[b+832>>2]=D*u+h*s+f*r;g[b+836>>2]=0.0;g[b+840>>2]=o*A+n*y+m*w;g[b+844>>2]=z*A+x*y+v*w;g[b+848>>2]=u*A+s*y+r*w;g[b+852>>2]=0.0;g[b+856>>2]=o*t+n*l+m*j;g[b+860>>2]=z*t+x*l+v*j;g[b+864>>2]=u*t+s*l+r*j;g[b+868>>2]=0.0;g[b+872>>2]=q;g[b+876>>2]=i;g[b+880>>2]=p;g[b+884>>2]=0.0;p=+g[b+116>>2];i=+g[e>>2];q=+g[b+132>>2];j=+g[e+4>>2];r=+g[b+148>>2];l=+g[e+8>>2];s=+g[b+120>>2];t=+g[b+136>>2];u=+g[b+152>>2];v=+g[b+124>>2];x=+g[b+140>>2];z=+g[b+156>>2];m=+g[e+16>>2];n=+g[e+20>>2];o=+g[e+24>>2];w=+g[e+32>>2];y=+g[e+36>>2];A=+g[e+40>>2];f=+g[b+164>>2];h=+g[b+168>>2];D=+g[b+172>>2];B=+g[e+48>>2]+(i*f+j*h+l*D);C=m*f+n*h+o*D+ +g[e+52>>2];D=w*f+y*h+A*D+ +g[e+56>>2];g[b+888>>2]=p*i+q*j+r*l;g[b+892>>2]=i*s+j*t+l*u;g[b+896>>2]=i*v+j*x+l*z;g[b+900>>2]=0.0;g[b+904>>2]=p*m+q*n+r*o;g[b+908>>2]=s*m+t*n+u*o;g[b+912>>2]=v*m+x*n+z*o;g[b+916>>2]=0.0;g[b+920>>2]=p*w+q*y+r*A;g[b+924>>2]=s*w+t*y+u*A;g[b+928>>2]=v*w+x*y+z*A;g[b+932>>2]=0.0;g[b+936>>2]=B;g[b+940>>2]=C;g[b+944>>2]=D;g[b+948>>2]=0.0;d=b+856|0;e=b+840|0}c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];F=c[b+824>>2]|0;E=c[e>>2]|0;e=c[d>>2]|0;c[b+952>>2]=F;c[b+956>>2]=E;c[b+960>>2]=e;g[b+964>>2]=0.0;f=(c[k>>2]=F,+g[k>>2]);h=(c[k>>2]=E,+g[k>>2]);i=(c[k>>2]=e,+g[k>>2]);if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){u=+g[b+968>>2];A=u-+g[b+984>>2];v=+g[b+972>>2];C=v-+g[b+988>>2];w=+g[b+976>>2];D=w-+g[b+992>>2];g[b+1016>>2]=A;g[b+1020>>2]=C;g[b+1024>>2]=D;g[b+1028>>2]=0.0;B=f*A;x=h*C;x=B+x;B=i*D;B=x+B;x=f*B;y=h*B;z=i*B;x=u+x;y=v+y;z=w+z;F=b+1e3|0;g[F>>2]=x;F=b+1004|0;g[F>>2]=y;F=b+1008|0;g[F>>2]=z;F=b+1012|0;g[F>>2]=0.0;F=b+1032|0;g[F>>2]=B;F=b+828|0;E=b+844|0;e=b+860|0;B=+g[F>>2];z=+g[E>>2];y=+g[e>>2];B=B*A;z=z*C;z=B+z;y=y*D;y=z+y;e=b+1036|0;g[e>>2]=y;e=b+832|0;E=b+848|0;F=b+864|0;y=+g[e>>2];z=+g[E>>2];B=+g[F>>2];A=y*A;C=z*C;C=A+C;D=B*D;D=C+D;F=b+1040|0;g[F>>2]=D;return}u=+g[b+968>>2];A=+g[b+984>>2]-u;v=+g[b+972>>2];C=+g[b+988>>2]-v;w=+g[b+976>>2];D=+g[b+992>>2]-w;g[b+1016>>2]=A;g[b+1020>>2]=C;g[b+1024>>2]=D;g[b+1028>>2]=0.0;B=f*A;x=h*C;x=B+x;B=i*D;B=x+B;x=f*B;y=h*B;z=i*B;x=u+x;y=v+y;z=w+z;F=b+1e3|0;g[F>>2]=x;F=b+1004|0;g[F>>2]=y;F=b+1008|0;g[F>>2]=z;F=b+1012|0;g[F>>2]=0.0;F=b+1032|0;g[F>>2]=B;F=b+828|0;E=b+844|0;e=b+860|0;B=+g[F>>2];z=+g[E>>2];y=+g[e>>2];B=B*A;z=z*C;z=B+z;y=y*D;y=z+y;e=b+1036|0;g[e>>2]=y;e=b+832|0;E=b+848|0;F=b+864|0;y=+g[e>>2];z=+g[E>>2];B=+g[F>>2];A=y*A;C=z*C;C=A+C;D=B*D;D=C+D;F=b+1040|0;g[F>>2]=D;return}function ld(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;s=i;i=i+224|0;q=(a[b+28>>0]|0)!=0;p=q?e:d;q=q?d:e;r=c[p+4>>2]|0;if((c[r+68>>2]|0)!=(c[b+40>>2]|0)){j=c[b+12>>2]|0;if((j|0)>0){l=0;do{k=c[(c[b+20>>2]|0)+(l<<2)>>2]|0;if(k|0){Ab[c[c[k>>2]>>2]&255](k);n=c[b+4>>2]|0;Cb[c[(c[n>>2]|0)+60>>2]&127](n,c[(c[b+20>>2]|0)+(l<<2)>>2]|0)}l=l+1|0}while((l|0)!=(j|0))}lh(b,d,e)}n=c[r+64>>2]|0;j=c[b+4>>2]|0;k=c[b+20>>2]|0;m=c[b+32>>2]|0;c[s+192>>2]=6192;c[s+192+4>>2]=p;c[s+192+8>>2]=q;c[s+192+12>>2]=j;c[s+192+16>>2]=f;c[s+192+20>>2]=h;c[s+192+24>>2]=k;c[s+192+28>>2]=m;a[s+128+16>>0]=1;m=s+128+12|0;c[m>>2]=0;c[s+128+4>>2]=0;c[s+128+8>>2]=0;j=c[b+12>>2]|0;if((j|0)>0){d=k;f=0;while(1){k=c[d+(f<<2)>>2]|0;if(k){Cb[c[(c[k>>2]|0)+16>>2]&127](k,s+128|0);j=c[s+128+4>>2]|0;if((j|0)>0){l=0;do{e=c[(c[m>>2]|0)+(l<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;j=c[e+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;d=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0))ef(e,j+4|0,d+4|0);else ef(e,d+4|0,k+4|0);c[h+4>>2]=0;j=c[s+128+4>>2]|0}l=l+1|0}while((l|0)<(j|0))}if((j|0)<0){if((c[s+128+8>>2]|0)<0){k=c[m>>2]|0;if(k|0){if(a[s+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[m>>2]=0}a[s+128+16>>0]=1;c[m>>2]=0;c[s+128+8>>2]=0}do{c[(c[m>>2]|0)+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=0)}c[s+128+4>>2]=0;j=c[b+12>>2]|0}k=f+1|0;if((k|0)>=(j|0))break;d=c[b+20>>2]|0;f=k}j=c[m>>2]|0;if(j|0){if(a[s+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[m>>2]=0}}if(!n){k=c[b+12>>2]|0;if((k|0)>0){j=0;do{Te(s+192|0,c[(c[r+24>>2]|0)+(j*80|0)+64>>2]|0,j);j=j+1|0}while((j|0)<(k|0));o=38}}else{o=c[p+12>>2]|0;H=+g[o>>2];G=+g[o+16>>2];F=+g[o+32>>2];E=+g[o+4>>2];D=+g[o+20>>2];C=+g[o+36>>2];y=+g[o+8>>2];w=+g[o+24>>2];u=+g[o+40>>2];B=-+g[o+48>>2];A=-+g[o+52>>2];z=-+g[o+56>>2];o=c[q+12>>2]|0;Q=+g[o>>2];P=+g[o+16>>2];O=+g[o+32>>2];N=+g[o+4>>2];M=+g[o+20>>2];L=+g[o+36>>2];K=+g[o+8>>2];J=+g[o+24>>2];I=+g[o+40>>2];x=+g[o+48>>2];v=+g[o+52>>2];t=+g[o+56>>2];g[s+48>>2]=H*Q+G*P+F*O;g[s+48+4>>2]=H*N+G*M+F*L;g[s+48+8>>2]=H*K+G*J+F*I;g[s+48+12>>2]=0.0;g[s+48+16>>2]=E*Q+D*P+C*O;g[s+48+20>>2]=E*N+D*M+C*L;g[s+48+24>>2]=E*K+D*J+C*I;g[s+48+28>>2]=0.0;g[s+48+32>>2]=y*Q+w*P+u*O;g[s+48+36>>2]=y*N+w*M+u*L;g[s+48+40>>2]=y*K+w*J+u*I;g[s+48+44>>2]=0.0;g[s+48+48>>2]=H*B+G*A+F*z+(H*x+G*v+F*t);g[s+48+52>>2]=E*B+D*A+C*z+(E*x+D*v+C*t);g[s+48+56>>2]=y*B+w*A+u*z+(y*x+w*v+u*t);g[s+48+60>>2]=0.0;o=c[q+4>>2]|0;mc[c[(c[o>>2]|0)+8>>2]&127](o,s+48|0,s+128|0,s+112|0);c[s+16>>2]=c[s+128>>2];c[s+16+4>>2]=c[s+128+4>>2];c[s+16+8>>2]=c[s+128+8>>2];c[s+16+12>>2]=c[s+128+12>>2];c[s+16+16>>2]=c[s+112>>2];c[s+16+16+4>>2]=c[s+112+4>>2];c[s+16+16+8>>2]=c[s+112+8>>2];c[s+16+16+12>>2]=c[s+112+12>>2];bg(c[n>>2]|0,s+16|0,s+192|0);o=38}if((o|0)==38)k=c[b+12>>2]|0;if((k|0)<=0){i=s;return}d=0;do{do if(c[(c[b+20>>2]|0)+(d<<2)>>2]|0){n=c[r+24>>2]|0;o=c[n+(d*80|0)+64>>2]|0;h=c[p+12>>2]|0;w=+g[h>>2];x=+g[h+4>>2];y=+g[h+8>>2];z=+g[h+16>>2];A=+g[h+20>>2];B=+g[h+24>>2];I=+g[h+32>>2];K=+g[h+36>>2];M=+g[h+40>>2];C=+g[n+(d*80|0)>>2];D=+g[n+(d*80|0)+16>>2];E=+g[n+(d*80|0)+32>>2];F=+g[n+(d*80|0)+4>>2];G=+g[n+(d*80|0)+20>>2];H=+g[n+(d*80|0)+36>>2];J=+g[n+(d*80|0)+8>>2];L=+g[n+(d*80|0)+24>>2];N=+g[n+(d*80|0)+40>>2];u=+g[n+(d*80|0)+48>>2];v=+g[n+(d*80|0)+52>>2];Q=+g[n+(d*80|0)+56>>2];O=+g[h+48>>2]+(w*u+x*v+y*Q);P=+g[h+52>>2]+(z*u+A*v+B*Q);Q=+g[h+56>>2]+(I*u+K*v+M*Q);g[s+128>>2]=w*C+x*D+y*E;g[s+128+4>>2]=w*F+x*G+y*H;g[s+128+8>>2]=w*J+x*L+y*N;g[s+128+12>>2]=0.0;g[s+128+16>>2]=z*C+A*D+B*E;g[s+128+20>>2]=z*F+A*G+B*H;g[s+128+24>>2]=z*J+A*L+B*N;g[s+128+28>>2]=0.0;g[s+128+32>>2]=I*C+K*D+M*E;g[s+128+36>>2]=I*F+K*G+M*H;g[s+128+40>>2]=I*J+K*L+M*N;g[s+128+44>>2]=0.0;g[s+128+48>>2]=O;g[s+128+52>>2]=P;g[s+128+56>>2]=Q;g[s+128+60>>2]=0.0;mc[c[(c[o>>2]|0)+8>>2]&127](o,s+128|0,s+112|0,s+48|0);o=c[q+4>>2]|0;mc[c[(c[o>>2]|0)+8>>2]&127](o,c[q+12>>2]|0,s+16|0,s);if(!(+g[s+112>>2]>+g[s>>2])?!(+g[s+48>>2]<+g[s+16>>2]):0)j=1;else j=0;if(!(!(+g[s+112+8>>2]>+g[s+8>>2])?!(+g[s+48+8>>2]<+g[s+16+8>>2]):0))j=0;if(!(+g[s+112+4>>2]>+g[s+4>>2])?!(+g[s+48+4>>2]<+g[s+16+4>>2]|j^1):0)break;o=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;Ab[c[c[o>>2]>>2]&255](o);o=c[b+4>>2]|0;Cb[c[(c[o>>2]|0)+60>>2]&127](o,c[(c[b+20>>2]|0)+(d<<2)>>2]|0);c[(c[b+20>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(k|0));i=s;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];o=+g[a+20>>2];v=+g[a+40>>2];m=+g[a+24>>2];p=+g[a+36>>2];r=+g[a+32>>2];n=+g[a+16>>2];s=+g[a>>2];q=+g[a+4>>2];t=+g[a+8>>2];u=1.0/((o*v-m*p)*s+q*(m*r-v*n)+(p*n-o*r)*t);g[d>>2]=(o*v-m*p)*u;g[d+4>>2]=(p*t-v*q)*u;g[d+8>>2]=(m*q-o*t)*u;g[d+12>>2]=0.0;g[d+16>>2]=(m*r-v*n)*u;g[d+20>>2]=(v*s-r*t)*u;g[d+24>>2]=(n*t-m*s)*u;g[d+28>>2]=0.0;g[d+32>>2]=(p*n-o*r)*u;g[d+36>>2]=(r*q-p*s)*u;g[d+40>>2]=(o*s-n*q)*u;g[d+44>>2]=0.0;a:do if(!(c[5788]|0)){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0}else{C=(r*q-p*s)*u;D=(m*q-o*t)*u;E=(n*t-m*s)*u;F=(o*s-n*q)*u;G=(o*v-m*p)*u;B=(m*r-v*n)*u;A=(p*n-o*r)*u;z=(p*t-v*q)*u;y=(v*s-r*t)*u;e=0;while(1){n=+N(+G);m=+N(+B);L=+N(+A);W=+N(+z);M=+N(+y);K=+N(+C);Q=+N(+D);O=+N(+E);w=+N(+F);R=n+m+L>W+M+K?n+m+L:W+M+K;M=n+W+Q>m+M+O?n+W+Q:m+M+O;m=+g[b>>2];W=+N(+m);n=+g[b+16>>2];T=+N(+n);o=+g[b+32>>2];I=+N(+o);p=+g[b+4>>2];V=+N(+p);q=+g[b+20>>2];S=+N(+q);r=+g[b+36>>2];H=+N(+r);s=+g[b+8>>2];U=+N(+s);t=+g[b+24>>2];J=+N(+t);u=+g[b+40>>2];x=+N(+u);v=W+T+I>V+S+H?W+T+I:V+S+H;v=v>U+J+x?v:U+J+x;J=W+V+U>T+S+J?W+V+U:T+S+J;w=(R>Q+O+w?R:Q+O+w)*(M>L+K+w?M:L+K+w);x=v*(J>I+H+x?J:I+H+x);if(+N(+w)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}if(+N(+x)<1.1920928955078125e-07){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}W=+P(+(w/x),.25);M=(m*(W+-2.0)+G*(1.0/W))*.5;Q=(p*(W+-2.0)+1.0/W*B)*.5;S=(s*(W+-2.0)+1.0/W*A)*.5;O=(n*(W+-2.0)+1.0/W*z)*.5;R=(q*(W+-2.0)+1.0/W*y)*.5;T=(t*(W+-2.0)+1.0/W*C)*.5;U=(o*(W+-2.0)+1.0/W*D)*.5;V=(r*(W+-2.0)+1.0/W*E)*.5;W=(u*(W+-2.0)+1.0/W*F)*.5;g[b>>2]=m+M;g[b+4>>2]=p+Q;g[b+8>>2]=s+S;g[b+12>>2]=0.0;g[b+16>>2]=n+O;g[b+20>>2]=q+R;g[b+24>>2]=t+T;g[b+28>>2]=0.0;g[b+32>>2]=o+U;g[b+36>>2]=r+V;g[b+40>>2]=u+W;g[b+44>>2]=0.0;L=1.0/(((u+W)*(q+R)-(t+T)*(r+V))*(m+M)+(p+Q)*((t+T)*(o+U)-(u+W)*(n+O))+((r+V)*(n+O)-(q+R)*(o+U))*(s+S));G=((u+W)*(q+R)-(t+T)*(r+V))*L;z=((r+V)*(s+S)-(u+W)*(p+Q))*L;D=((t+T)*(p+Q)-(q+R)*(s+S))*L;B=((t+T)*(o+U)-(u+W)*(n+O))*L;y=((u+W)*(m+M)-(o+U)*(s+S))*L;E=((n+O)*(s+S)-(t+T)*(m+M))*L;A=((r+V)*(n+O)-(q+R)*(o+U))*L;C=((o+U)*(p+Q)-(r+V)*(m+M))*L;F=((q+R)*(m+M)-(n+O)*(p+Q))*L;g[d>>2]=G;g[d+4>>2]=z;g[d+8>>2]=D;g[d+12>>2]=0.0;g[d+16>>2]=B;g[d+20>>2]=y;g[d+24>>2]=E;g[d+28>>2]=0.0;g[d+32>>2]=A;g[d+36>>2]=C;g[d+40>>2]=F;g[d+44>>2]=0.0;U=+N(+M)+ +N(+O)+ +N(+U);V=+N(+Q)+ +N(+R)+ +N(+V);W=+N(+S)+ +N(+T)+ +N(+W);V=U>V?U:V;if((V>W?V:W)<=v*+g[5787])break;e=e+1|0;if(e>>>0>=(c[5788]|0)>>>0){e=b+20|0;f=b+36|0;h=b+8|0;i=b+24|0;j=b+40|0;k=b;l=b+4|0;break a}}K=+g[b>>2];M=+g[b+16>>2];Q=+g[b+32>>2];F=+g[b+4>>2];H=+g[b+20>>2];J=+g[b+36>>2];A=+g[b+8>>2];C=+g[b+24>>2];E=+g[b+40>>2];L=+g[a>>2];O=+g[a+16>>2];R=+g[a+32>>2];G=+g[a+4>>2];I=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*G+C*I+E*T+(F*B+H*D+J*W);S=F*L+H*O+J*R+(K*G+M*I+Q*T);U=A*L+C*O+E*R+(K*B+M*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=F*G+H*I+J*T+(F*G+H*I+J*T);R=K*L+M*O+Q*R+(K*L+M*O+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}while(0);K=+g[k>>2];M=+g[b+16>>2];Q=+g[b+32>>2];F=+g[l>>2];H=+g[e>>2];J=+g[f>>2];A=+g[h>>2];C=+g[i>>2];E=+g[j>>2];L=+g[a>>2];O=+g[a+16>>2];R=+g[a+32>>2];G=+g[a+4>>2];I=+g[a+20>>2];T=+g[a+36>>2];B=+g[a+8>>2];D=+g[a+24>>2];W=+g[a+40>>2];V=A*G+C*I+E*T+(F*B+H*D+J*W);S=F*L+H*O+J*R+(K*G+M*I+Q*T);U=A*L+C*O+E*R+(K*B+M*D+Q*W);W=A*B+C*D+E*W+(A*B+C*D+E*W);T=F*G+H*I+J*T+(F*G+H*I+J*T);R=K*L+M*O+Q*R+(K*L+M*O+Q*R);S=S*.5;U=U*.5;V=V*.5;R=R*.5;g[d>>2]=R;g[d+4>>2]=S;g[d+8>>2]=U;g[d+12>>2]=0.0;g[d+16>>2]=S;T=T*.5;g[d+20>>2]=T;g[d+24>>2]=V;g[d+28>>2]=0.0;g[d+32>>2]=U;g[d+36>>2]=V;W=W*.5;g[d+40>>2]=W;g[d+44>>2]=0.0;return}function nd(a,b,f,j){a=a|0;b=b|0;f=f|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;o=i;i=i+80|0;f=Eb[c[(c[a>>2]|0)+28>>2]&127](a)|0;k=+g[a+4>>2];l=+g[a+8>>2];m=+g[a+12>>2];if((f|0)<=0){i=o;return}n=0;do{Yb[c[(c[a>>2]|0)+16>>2]&3](a,o+76|0,o+52|0,o+64|0,o+56|0,o+72|0,o+68|0,o+48|0,o+60|0,n);a:do switch(c[o+64>>2]|0){case 0:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)j=0;else break a;do{r=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;t=c[o+76>>2]|0;s=c[o+56>>2]|0;u=t+(_(s,c[r>>2]|0)|0)|0;q=l*+g[u+4>>2];p=m*+g[u+8>>2];g[o>>2]=k*+g[u>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;u=t+(_(s,c[r+4>>2]|0)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+16>>2]=k*+g[u>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=t+(_(s,c[r+8>>2]|0)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+32>>2]=k*+g[r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(e[t>>1]|0,u)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=k*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(e[t+2>>1]|0,u)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=k*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(e[t+4>>1]|0,u)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=k*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(d[t>>0]|0,u)|0)|0;p=l*+g[r+4>>2];q=m*+g[r+8>>2];g[o>>2]=k*+g[r>>2];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(d[t+1>>0]|0,u)|0)|0;q=l*+g[r+4>>2];p=m*+g[r+8>>2];g[o+16>>2]=k*+g[r>>2];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(d[t+2>>0]|0,u)|0)|0;p=l*+g[u+4>>2];q=m*+g[u+8>>2];g[o+32>>2]=k*+g[u>>2];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}default:break a}break}case 1:{switch(c[o+60>>2]|0){case 2:{if((c[o+48>>2]|0)>0)j=0;else break a;do{u=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;t=c[o+56>>2]|0;r=s+(_(t,c[u>>2]|0)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(t,c[u+4>>2]|0)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(t,c[u+8>>2]|0)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 3:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(e[t>>1]|0,u)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(e[t+2>>1]|0,u)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(e[t+4>>1]|0,u)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}case 5:{if((c[o+48>>2]|0)>0)j=0;else break a;do{t=(c[o+72>>2]|0)+(_(c[o+68>>2]|0,j)|0)|0;s=c[o+76>>2]|0;u=c[o+56>>2]|0;r=s+(_(d[t>>0]|0,u)|0)|0;p=l*+h[r+8>>3];q=m*+h[r+16>>3];g[o>>2]=k*+h[r>>3];g[o+4>>2]=p;g[o+8>>2]=q;g[o+12>>2]=0.0;r=s+(_(d[t+1>>0]|0,u)|0)|0;q=l*+h[r+8>>3];p=m*+h[r+16>>3];g[o+16>>2]=k*+h[r>>3];g[o+20>>2]=q;g[o+24>>2]=p;g[o+28>>2]=0.0;u=s+(_(d[t+2>>0]|0,u)|0)|0;p=l*+h[u+8>>3];q=m*+h[u+16>>3];g[o+32>>2]=k*+h[u>>3];g[o+36>>2]=p;g[o+40>>2]=q;g[o+44>>2]=0.0;mc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,j);j=j+1|0}while((j|0)<(c[o+48>>2]|0));break}default:break a}break}default:{}}while(0);Cb[c[(c[a>>2]|0)+24>>2]&127](a,n);n=n+1|0}while((n|0)!=(f|0));i=o;return}function od(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0;fa=i;i=i+128|0;K=c[b+4>>2]|0;a[K+312>>0]=0;c[K>>2]=0;a[K+356>>0]=1;c[K+292>>2]=1566444395;c[K+296>>2]=1566444395;c[K+300>>2]=1566444395;g[K+304>>2]=0.0;c[K+336>>2]=0;c[K+336+4>>2]=0;c[K+336+8>>2]=0;c[K+336+12>>2]=0;a[K+336+16>>0]=0;a[K+332>>0]=a[K+332>>0]&-16;m=+g[d+48>>2];n=+g[d+52>>2];o=+g[d+56>>2];p=+g[f+48>>2];u=+g[f+52>>2];v=+g[f+56>>2];L=+g[d>>2];M=+g[d+4>>2];N=+g[d+8>>2];P=+g[d+16>>2];Q=+g[d+20>>2];R=+g[d+24>>2];S=+g[d+32>>2];T=+g[d+36>>2];U=+g[d+40>>2];V=+g[f>>2];W=+g[f+4>>2];X=+g[f+8>>2];Y=+g[f+16>>2];Z=+g[f+20>>2];_=+g[f+24>>2];$=+g[f+32>>2];aa=+g[f+36>>2];ba=+g[f+40>>2];ca=+g[e+48>>2]-m-(+g[h+48>>2]-p);da=+g[e+52>>2]-n-(+g[h+52>>2]-u);ea=+g[e+56>>2]-o-(+g[h+56>>2]-v);K=c[b+8>>2]|0;B=c[(c[K>>2]|0)+64>>2]|0;g[fa+96>>2]=L*-ca+P*-da+S*-ea;g[fa+96+4>>2]=M*-ca+Q*-da+T*-ea;g[fa+96+8>>2]=N*-ca+R*-da+U*-ea;g[fa+96+12>>2]=0.0;ic[B&127](fa+112|0,K,fa+96|0);I=+g[fa+112>>2];J=+g[fa+112+4>>2];H=+g[fa+112+8>>2];w=I*+g[d>>2]+J*+g[d+4>>2]+H*+g[d+8>>2]+ +g[d+48>>2];z=I*+g[d+16>>2]+J*+g[d+20>>2]+H*+g[d+24>>2]+ +g[d+52>>2];H=I*+g[d+32>>2]+J*+g[d+36>>2]+H*+g[d+40>>2]+ +g[d+56>>2];K=c[b+12>>2]|0;B=c[(c[K>>2]|0)+64>>2]|0;J=ca*+g[f+4>>2]+da*+g[f+20>>2]+ea*+g[f+36>>2];I=ca*+g[f+8>>2]+da*+g[f+24>>2]+ea*+g[f+40>>2];g[fa+64>>2]=ca*+g[f>>2]+da*+g[f+16>>2]+ea*+g[f+32>>2];g[fa+64+4>>2]=J;g[fa+64+8>>2]=I;g[fa+64+12>>2]=0.0;ic[B&127](fa+80|0,K,fa+64|0);I=+g[fa+80>>2];J=+g[fa+80+4>>2];x=+g[fa+80+8>>2];w=w-(I*+g[f>>2]+J*+g[f+4>>2]+x*+g[f+8>>2]+ +g[f+48>>2]);z=z-(I*+g[f+16>>2]+J*+g[f+20>>2]+x*+g[f+24>>2]+ +g[f+52>>2]);x=H-(I*+g[f+32>>2]+J*+g[f+36>>2]+x*+g[f+40>>2]+ +g[f+56>>2]);a:do if(w*w+z*z+x*x>9.999999747378752e-05){D=m;m=0.0;K=32;s=0;t=0;r=0;l=0;A=0;while(1){if(!K)break a;K=K+-1|0;q=c[b+8>>2]|0;y=c[(c[q>>2]|0)+64>>2]|0;G=-w;ga=-z;C=-x;g[fa+32>>2]=L*G+P*ga+S*C;g[fa+32+4>>2]=M*G+Q*ga+T*C;g[fa+32+8>>2]=N*G+R*ga+U*C;g[fa+32+12>>2]=0.0;ic[y&127](fa+48|0,q,fa+32|0);C=+g[fa+48>>2];ga=+g[fa+48+4>>2];G=+g[fa+48+8>>2];E=D+(L*C+M*ga+N*G);F=n+(P*C+Q*ga+R*G);G=o+(S*C+T*ga+U*G);q=c[b+12>>2]|0;y=c[(c[q>>2]|0)+64>>2]|0;g[fa>>2]=V*w+Y*z+$*x;g[fa+4>>2]=W*w+Z*z+aa*x;g[fa+8>>2]=X*w+_*z+ba*x;g[fa+12>>2]=0.0;ic[y&127](fa+16|0,q,fa);ga=+g[fa+16>>2];C=+g[fa+16+4>>2];J=+g[fa+16+8>>2];H=p+(V*ga+W*C+X*J);I=u+(Y*ga+Z*C+_*J);J=v+($*ga+aa*C+ba*J);C=w*(E-H)+z*(F-I)+x*(G-J);q=(g[k>>2]=w,c[k>>2]|0);y=(g[k>>2]=z,c[k>>2]|0);B=(g[k>>2]=x,c[k>>2]|0);if(m>1.0){l=0;q=24;break}if(C>0.0){n=ca*w+da*z+ea*x;if(n>=-1.4210854715202004e-14){l=0;q=24;break}m=m-C/n;C=(1.0-m)*+g[d+48>>2]+m*+g[e+48>>2];n=(1.0-m)*+g[d+52>>2]+m*+g[e+52>>2];o=(1.0-m)*+g[d+56>>2]+m*+g[e+56>>2];p=(1.0-m)*+g[f+48>>2]+m*+g[h+48>>2];u=(1.0-m)*+g[f+52>>2]+m*+g[h+52>>2];v=(1.0-m)*+g[f+56>>2]+m*+g[h+56>>2];s=q;t=A;r=y;l=B}else C=D;A=c[b+4>>2]|0;B=c[A>>2]|0;if((B|0)>0){w=+g[A+308>>2];y=0;q=0;do{z=E-H-+g[A+4+(q<<4)>>2];D=F-I-+g[A+4+(q<<4)+4>>2];ga=G-J-+g[A+4+(q<<4)+8>>2];y=y|z*z+D*D+ga*ga<=w;q=q+1|0}while((q|0)!=(B|0))}else y=0;if((+g[A+304>>2]==0.0?G-J==+g[A+300>>2]:0)?F-I==+g[A+296>>2]:0)q=E-H==+g[A+292>>2];else q=0;if(!(y|q)){g[A+292>>2]=E-H;g[A+296>>2]=F-I;g[A+300>>2]=G-J;g[A+304>>2]=0.0;a[A+356>>0]=1;g[A+4+(B<<4)>>2]=E-H;g[A+4+(B<<4)+4>>2]=F-I;g[A+4+(B<<4)+8>>2]=G-J;g[A+4+(B<<4)+12>>2]=0.0;B=c[A>>2]|0;g[A+84+(B<<4)>>2]=E;g[A+84+(B<<4)+4>>2]=F;g[A+84+(B<<4)+8>>2]=G;g[A+84+(B<<4)+12>>2]=0.0;B=c[A>>2]|0;g[A+164+(B<<4)>>2]=H;g[A+164+(B<<4)+4>>2]=I;g[A+164+(B<<4)+8>>2]=J;g[A+164+(B<<4)+12>>2]=0.0;c[A>>2]=(c[A>>2]|0)+1;A=c[b+4>>2]|0}B=Ec(A)|0;w=+g[A+276>>2];z=+g[A+280>>2];x=+g[A+284>>2];if(!B)break a;if(!(w*w+z*z+x*x>9.999999747378752e-05))break a;else{D=C;A=c[A+288>>2]|0}}if((q|0)==24){i=fa;return l|0}}else{m=0.0;s=0;t=0;r=0;l=0}while(0);g[j+164>>2]=m;m=(c[k>>2]=s,+g[k>>2]);n=(c[k>>2]=r,+g[k>>2]);p=(c[k>>2]=l,+g[k>>2]);if(!(m*m+n*n+p*p>=1.4210854715202004e-14)){c[j+132>>2]=0;c[j+132+4>>2]=0;c[j+132+8>>2]=0;c[j+132+12>>2]=0;o=0.0;n=0.0;m=0.0}else{ga=1.0/+O(+(m*m+n*n+p*p));g[j+132>>2]=m*ga;g[j+136>>2]=n*ga;g[j+140>>2]=p*ga;c[j+144>>2]=t;o=m*ga;n=n*ga;m=p*ga}if(ca*o+da*n+ea*m>=-+g[j+172>>2]){b=0;i=fa;return b|0}b=c[b+4>>2]|0;Ec(b)|0;Bp(j+148|0,b+260|0,16)|0;b=1;i=fa;return b|0}function pd(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;A=i;i=i+160|0;a[d+60>>0]=f&1;if(f){r=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;s=+g[h+8>>2]+-1.0;g[d+4>>2]=r;g[d+8>>2]=u;g[d+12>>2]=s;g[d+16>>2]=0.0;v=+g[j>>2]+1.0;x=+g[j+4>>2]+1.0;y=+g[j+8>>2]+1.0;g[d+20>>2]=v;g[d+24>>2]=x;g[d+28>>2]=y;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(v-r);g[d+40>>2]=65533.0/(x-u);g[d+44>>2]=65533.0/(y-s);g[d+48>>2]=0.0;a[d+60>>0]=1;k=r+ +(~~((r-r)*(65533.0/(v-r)))&65534)/(65533.0/(v-r))+-1.0;l=u+ +(~~((u-u)*(65533.0/(x-u)))&65534)/(65533.0/(x-u))+-1.0;p=s+ +(~~((s-s)*(65533.0/(y-s)))&65534)/(65533.0/(y-s))+-1.0;if(k<r){g[d+4>>2]=k;z=k}else z=r;if(l<u){g[d+8>>2]=l;w=l}else w=u;if(p<s){g[d+12>>2]=p;t=p}else t=s;p=z+ +((~~((v-z)*(65533.0/(v-r))+1.0)&65535|1)&65535)/(65533.0/(v-r))+1.0;l=w+ +((~~((x-w)*(65533.0/(x-u))+1.0)&65535|1)&65535)/(65533.0/(x-u))+1.0;k=t+ +((~~((y-t)*(65533.0/(y-s))+1.0)&65535|1)&65535)/(65533.0/(y-s))+1.0;if(v<p)g[d+20>>2]=p;else p=v;if(x<l)g[d+24>>2]=l;else l=x;if(y<k)g[d+28>>2]=k;else k=y;g[d+36>>2]=65533.0/(p-z);g[d+40>>2]=65533.0/(l-w);g[d+44>>2]=65533.0/(k-t);g[d+48>>2]=0.0;c[A+144>>2]=8020;c[A+144+4>>2]=d+104;c[A+144+8>>2]=d;mc[c[(c[e>>2]|0)+8>>2]&127](e,A+144|0,d+4|0,d+20|0);f=c[d+108>>2]|0;c[A+128>>2]=0;c[A+128+4>>2]=0;c[A+128+8>>2]=0;c[A+128+12>>2]=0;m=c[d+128>>2]|0;if((m|0)<(f<<1|0)){if((c[d+132>>2]|0)<(f<<1|0)){if(!f){h=0;j=m}else{c[6435]=(c[6435]|0)+1;h=yc(f<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){e=0;do{q=h+(e<<4)|0;o=(c[d+136>>2]|0)+(e<<4)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];e=e+1|0}while((e|0)!=(j|0))}j=c[d+136>>2]|0;if(j|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=f<<1;j=d+136|0}else j=d+136|0;h=m;do{q=(c[j>>2]|0)+(h<<4)|0;c[q>>2]=c[A+128>>2];c[q+4>>2]=c[A+128+4>>2];c[q+8>>2]=c[A+128+8>>2];c[q+12>>2]=c[A+128+12>>2];h=h+1|0}while((h|0)!=(f<<1|0))}c[d+128>>2]=f<<1}else{c[A+144>>2]=8040;c[A+144+4>>2]=d+64;c[A+112>>2]=-581039253;c[A+112+4>>2]=-581039253;c[A+112+8>>2]=-581039253;g[A+112+12>>2]=0.0;c[A+96>>2]=1566444395;c[A+96+4>>2]=1566444395;c[A+96+8>>2]=1566444395;g[A+96+12>>2]=0.0;mc[c[(c[e>>2]|0)+8>>2]&127](e,A+144|0,A+112|0,A+96|0);f=c[d+68>>2]|0;m=A+32|0;o=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));q=c[d+88>>2]|0;if((q|0)<(f<<1|0)){if((c[d+92>>2]|0)<(f<<1|0)){if(!f){h=0;j=q}else{c[6435]=(c[6435]|0)+1;h=yc(f<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){e=0;do{m=h+(e<<6)|0;n=(c[d+96>>2]|0)+(e<<6)|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));e=e+1|0}while((e|0)!=(j|0))}j=c[d+96>>2]|0;if(j|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=f<<1;j=d+96|0}else j=d+96|0;h=q;do{m=(c[j>>2]|0)+(h<<6)|0;n=A+32|0;o=m+64|0;do{c[m>>2]=c[n>>2];m=m+4|0;n=n+4|0}while((m|0)<(o|0));h=h+1|0}while((h|0)!=(f<<1|0))}c[d+88>>2]=f<<1}c[d+56>>2]=0;Lc(d,0,f);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6435]=(c[6435]|0)+1;f=yc(51)|0;if(!f)e=0;else{c[(f+4+15&-16)+-4>>2]=f;e=f+4+15&-16}f=c[d+152>>2]|0;if((f|0)>0){h=0;do{q=e+(h<<5)|0;o=(c[d+160>>2]|0)+(h<<5)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;h=d+160|0;j=(c[d+152>>2]|0)+1|0;f=e}else{h=d+160|0;j=1;f=c[d+160>>2]|0}c[d+152>>2]=j;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];c[f+8>>2]=c[A+8>>2];c[f+12>>2]=c[A+12>>2];c[f+16>>2]=c[A+16>>2];c[f+20>>2]=c[A+20>>2];c[f+24>>2]=c[A+24>>2];c[f+28>>2]=c[A+28>>2];q=c[h>>2]|0;o=c[d+136>>2]|0;b[q>>1]=b[o>>1]|0;b[q+2>>1]=b[o+2>>1]|0;b[q+4>>1]=b[o+4>>1]|0;b[q+6>>1]=b[o+6>>1]|0;b[q+8>>1]=b[o+8>>1]|0;b[q+10>>1]=b[o+10>>1]|0;c[q+12>>2]=0;o=c[o+12>>2]|0;c[q+16>>2]=(o|0)>-1?1:0-o|0}c[d+168>>2]=c[d+152>>2];f=c[d+116>>2]|0;if(f|0){if(a[d+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;f=c[d+76>>2]|0;if(!f){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;i=A;return}if(a[d+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;i=A;return}function qd(b,d,e,f,h,i,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=N|0?N<<1:1,(N|0)<(t|0)):0){if(!t){p=0;q=N}else{c[6435]=(c[6435]|0)+1;p=yc((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[b+68>>2]|0}if((q|0)>0){r=0;do{_m(p+(r*152|0)|0,(c[b+76>>2]|0)+(r*152|0)|0,152)|0;r=r+1|0}while((r|0)!=(q|0))}q=c[b+76>>2]|0;if(q|0){if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=p;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=h;r=c[b+16>>2]|0;p=c[r+(e*244|0)+240>>2]|0;t=c[r+(f*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=f;q=c[i+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;g[M+(N*152|0)+100>>2]=0.0;g[M+(N*152|0)+96>>2]=0.0;L=(c[k>>2]=q,+g[k>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];K=+g[j+4>>2];D=+g[M+(N*152|0)+24>>2];H=+g[j+8>>2];I=+g[M+(N*152|0)+20>>2];E=+g[M+(N*152|0)+16>>2];J=+g[j>>2];g[M+(N*152|0)>>2]=K*D-H*I;g[M+(N*152|0)+4>>2]=H*E-D*J;g[M+(N*152|0)+8>>2]=I*J-K*E;g[M+(N*152|0)+12>>2]=0.0;v=((K*D-H*I)*+g[p+264>>2]+(H*E-D*J)*+g[p+268>>2]+(I*J-K*E)*+g[p+272>>2])*+g[p+544>>2];s=((K*D-H*I)*+g[p+280>>2]+(H*E-D*J)*+g[p+284>>2]+(I*J-K*E)*+g[p+288>>2])*+g[p+548>>2];u=((K*D-H*I)*+g[p+296>>2]+(H*E-D*J)*+g[p+300>>2]+(I*J-K*E)*+g[p+304>>2])*+g[p+552>>2];g[M+(N*152|0)+64>>2]=v;g[M+(N*152|0)+68>>2]=s;g[M+(N*152|0)+72>>2]=u;g[M+(N*152|0)+76>>2]=0.0;z=E;A=I;B=D;C=K*D-H*I;D=H*E-D*J;E=I*J-K*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;s=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){K=-+g[d>>2];P=-+g[d+4>>2];J=-+g[d+8>>2];g[M+(N*152|0)+48>>2]=K;g[M+(N*152|0)+52>>2]=P;g[M+(N*152|0)+56>>2]=J;g[M+(N*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[M+(N*152|0)+32>>2]=O*J-R*P;g[M+(N*152|0)+36>>2]=R*K-Q*J;g[M+(N*152|0)+40>>2]=Q*P-O*K;g[M+(N*152|0)+44>>2]=0.0;w=((O*J-R*P)*+g[t+264>>2]+(R*K-Q*J)*+g[t+268>>2]+(Q*P-O*K)*+g[t+272>>2])*+g[t+544>>2];x=((O*J-R*P)*+g[t+280>>2]+(R*K-Q*J)*+g[t+284>>2]+(Q*P-O*K)*+g[t+288>>2])*+g[t+548>>2];y=((O*J-R*P)*+g[t+296>>2]+(R*K-Q*J)*+g[t+300>>2]+(Q*P-O*K)*+g[t+304>>2])*+g[t+552>>2];g[M+(N*152|0)+80>>2]=w;g[M+(N*152|0)+84>>2]=x;g[M+(N*152|0)+88>>2]=y;g[M+(N*152|0)+92>>2]=0.0;F=K;G=P;H=J;I=O*J-R*P;J=R*K-Q*J;K=Q*P-O*K}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;w=0.0;x=0.0;y=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0}if(p|0){P=+g[j+8>>2];Q=+g[j+4>>2];R=+g[j>>2];u=+g[p+344>>2]+((s*P-u*Q)*+g[d>>2]+(u*R-P*v)*+g[d+4>>2]+(Q*v-s*R)*+g[d+8>>2])}else u=0.0;if(t|0){Q=-w;s=-x;y=-y;O=+g[l+8>>2];P=+g[l+4>>2];R=+g[l>>2];s=+g[t+344>>2]+((O*s-P*y)*+g[d>>2]+(R*y-O*Q)*+g[d+4>>2]+(P*Q-R*s)*+g[d+8>>2])}else s=0.0;x=m/(u+s);g[M+(N*152|0)+108>>2]=x;if(p|0){u=+g[r+(e*244|0)+192>>2];v=+g[r+(e*244|0)+196>>2];w=+g[r+(e*244|0)+200>>2];s=(+g[r+(e*244|0)+176>>2]+ +g[r+(e*244|0)+208>>2])*z+(+g[r+(e*244|0)+180>>2]+ +g[r+(e*244|0)+212>>2])*A+(+g[r+(e*244|0)+184>>2]+ +g[r+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;s=z*0.0+A*0.0+B*0.0}s=s+(u*C+v*D+w*E);if(t|0){O=+g[r+(f*244|0)+192>>2];P=+g[r+(f*244|0)+196>>2];R=+g[r+(f*244|0)+200>>2];Q=(+g[r+(f*244|0)+176>>2]+ +g[r+(f*244|0)+208>>2])*F+(+g[r+(f*244|0)+180>>2]+ +g[r+(f*244|0)+212>>2])*G+(+g[r+(f*244|0)+184>>2]+ +g[r+(f*244|0)+216>>2])*H;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}else{O=0.0;P=0.0;R=0.0;Q=F*0.0+G*0.0+H*0.0;O=O*I;P=P*J;P=O+P;R=R*K;R=P+R;R=Q+R;R=s+R;R=n-R;R=x*R;f=M+(N*152|0)+112|0;g[f>>2]=R;f=M+(N*152|0)+116|0;g[f>>2]=o;R=-L;f=M+(N*152|0)+120|0;g[f>>2]=R;f=M+(N*152|0)+124|0;c[f>>2]=q;return}}function rd(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;C=i;i=i+64|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{Ae(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0))}f=c[b+116>>2]|0;t=+g[f+312>>2];u=+g[f+316>>2];h=+g[f+320>>2];h=+O(+(t*t+u*u+h*h))*3.5999999046325684;g[b+112>>2]=h;B=c[b+128>>2]|0;if(+g[f+4+(B<<2)>>2]*+g[f+312>>2]+ +g[f+20+(B<<2)>>2]*+g[f+316>>2]+ +g[f+36+(B<<2)>>2]*+g[f+320>>2]<0.0)g[b+112>>2]=-h;if((e|0)>0){B=0;do{A=c[b+144>>2]|0;p=A+(B*284|0)|0;Tg(f,p,0);o=A+(B*284|0)+204|0;e=A+(B*284|0)+212|0;h=+g[o>>2]+ +g[e>>2];q=A+(B*284|0)+52|0;v=A+(B*284|0)+56|0;w=A+(B*284|0)+60|0;D=A+(B*284|0)+36|0;x=A+(B*284|0)+16|0;t=h*+g[v>>2]+ +g[A+(B*284|0)+40>>2];u=h*+g[w>>2]+ +g[A+(B*284|0)+44>>2];g[A+(B*284|0)+16>>2]=+g[q>>2]*h+ +g[D>>2];y=A+(B*284|0)+20|0;g[y>>2]=t;z=A+(B*284|0)+24|0;g[z>>2]=u;g[A+(B*284|0)+28>>2]=0.0;g[C+32>>2]=-1.0;f=c[b+100>>2]|0;D=Ib[c[(c[f>>2]|0)+8>>2]&31](f,D,x,C)|0;f=A+(B*284|0)+88|0;c[f>>2]=0;do if(D){h=h*+g[C+32>>2];c[p>>2]=c[C+16>>2];c[p+4>>2]=c[C+16+4>>2];c[p+8>>2]=c[C+16+8>>2];c[p+12>>2]=c[C+16+12>>2];a[A+(B*284|0)+84>>0]=1;if((a[22552]|0)==0?Wa(22552)|0:0){c[C+40>>2]=0;c[C+40+4>>2]=0;c[C+40+8>>2]=0;c[C+40+12>>2]=0;og(23888,0.0,0,0,C+40|0);_a(22552)}c[6023]=c[6023]|1;g[6058]=0.0;j=+g[6068]*0.0;k=+g[6069]*0.0;g[6063]=+g[6067]*0.0;g[6064]=j;g[6065]=k;g[6066]=0.0;c[6071]=0;c[6072]=0;c[6073]=0;c[6074]=0;k=+g[6060]*0.0;j=+g[6061]*0.0;g[6112]=+g[6059]*0.0;g[6113]=k;g[6114]=j;g[6115]=0.0;c[f>>2]=23888;h=h-+g[e>>2];e=A+(B*284|0)+32|0;g[e>>2]=h;j=+g[o>>2];k=+g[A+(B*284|0)+208>>2]*.009999999776482582;if(h<j-k){g[e>>2]=j-k;h=j-k}if(h>j+k)g[e>>2]=j+k;c[x>>2]=c[C>>2];c[x+4>>2]=c[C+4>>2];c[x+8>>2]=c[C+8>>2];c[x+12>>2]=c[C+12>>2];s=+g[p>>2];t=+g[A+(B*284|0)+4>>2];u=+g[A+(B*284|0)+8>>2];r=s*+g[q>>2]+t*+g[v>>2]+u*+g[w>>2];e=c[b+116>>2]|0;n=+g[x>>2]-+g[e+52>>2];m=+g[y>>2]-+g[e+56>>2];h=+g[z>>2]-+g[e+60>>2];j=+g[e+332>>2];k=+g[e+336>>2];l=+g[e+328>>2];if(!(r>=-.10000000149011612)){g[A+(B*284|0)+272>>2]=-1.0/r*(s*(j*h-m*k+ +g[e+312>>2])+t*(n*k-h*l+ +g[e+316>>2])+u*(m*l-n*j+ +g[e+320>>2]));g[A+(B*284|0)+268>>2]=-1.0/r;break}else{g[A+(B*284|0)+272>>2]=0.0;g[A+(B*284|0)+268>>2]=10.0;break}}else{c[A+(B*284|0)+32>>2]=c[o>>2];g[A+(B*284|0)+272>>2]=0.0;t=-+g[v>>2];u=-+g[w>>2];g[p>>2]=-+g[q>>2];g[A+(B*284|0)+4>>2]=t;g[A+(B*284|0)+8>>2]=u;g[A+(B*284|0)+12>>2]=0.0;g[A+(B*284|0)+268>>2]=1.0}while(0);B=B+1|0;e=c[b+136>>2]|0;f=c[b+116>>2]|0}while((B|0)<(e|0));j=1.0/+g[f+344>>2];if((e|0)>0){f=0;do{e=c[b+144>>2]|0;if(!(a[e+(f*284|0)+84>>0]|0))h=0.0;else{h=+g[e+(f*284|0)+272>>2];h=j*(+g[e+(f*284|0)+216>>2]*(+g[e+(f*284|0)+204>>2]-+g[e+(f*284|0)+32>>2])*+g[e+(f*284|0)+268>>2]-h*+g[(h<0.0?e+(f*284|0)+220|0:e+(f*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[e+(f*284|0)+276>>2]=h;f=f+1|0;e=c[b+136>>2]|0}while((f|0)<(e|0));if((e|0)>0){e=0;do{B=c[b+144>>2]|0;s=+g[B+(e*284|0)+276>>2];u=+g[B+(e*284|0)+248>>2];s=s>u?u:s;u=s*+g[B+(e*284|0)+4>>2]*d;t=s*+g[B+(e*284|0)+8>>2]*d;g[C+40>>2]=+g[B+(e*284|0)>>2]*s*d;g[C+40+4>>2]=u;g[C+40+8>>2]=t;g[C+40+12>>2]=0.0;D=c[b+116>>2]|0;t=+g[B+(e*284|0)+20>>2]-+g[D+56>>2];u=+g[B+(e*284|0)+24>>2]-+g[D+60>>2];g[C>>2]=+g[B+(e*284|0)+16>>2]-+g[D+52>>2];g[C+4>>2]=t;g[C+8>>2]=u;g[C+12>>2]=0.0;gj(D,C+40|0,C);e=e+1|0}while((e|0)<(c[b+136>>2]|0))}}}zb[c[(c[b>>2]|0)+20>>2]&31](b,d);f=c[b+136>>2]|0;if((f|0)<=0){i=C;return}o=c[b+144>>2]|0;p=c[b+116>>2]|0;q=0;do{h=+g[o+(q*284|0)+36>>2]-+g[p+52>>2];j=+g[o+(q*284|0)+40>>2]-+g[p+56>>2];k=+g[o+(q*284|0)+44>>2]-+g[p+60>>2];l=+g[p+332>>2];m=+g[p+336>>2];n=+g[p+328>>2];if(!(a[o+(q*284|0)+84>>0]|0)){e=o+(q*284|0)+240|0;h=+g[e>>2];D=o+(q*284|0)+236|0;g[D>>2]=h+ +g[D>>2]}else{e=c[b+128>>2]|0;F=+g[p+4+(e<<2)>>2];r=+g[p+20+(e<<2)>>2];t=+g[p+36+(e<<2)>>2];E=+g[o+(q*284|0)>>2];s=+g[o+(q*284|0)+4>>2];u=+g[o+(q*284|0)+8>>2];h=((j*n-h*l+ +g[p+320>>2])*(t-u*(F*E+r*s+t*u))+((l*k-j*m+ +g[p+312>>2])*(F-E*(F*E+r*s+t*u))+(h*m-k*n+ +g[p+316>>2])*(r-s*(F*E+r*s+t*u))))*d/+g[o+(q*284|0)+212>>2];e=o+(q*284|0)+240|0;g[e>>2]=h;D=o+(q*284|0)+236|0;g[D>>2]=+g[D>>2]+h}g[e>>2]=h*.9900000095367432;q=q+1|0}while((q|0)!=(f|0));i=C;return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;C=+g[b+48>>2];i=+g[d>>2];D=+g[b+64>>2];j=+g[d+4>>2];E=+g[b+80>>2];p=+g[d+8>>2];s=+g[b+52>>2];r=+g[b+68>>2];q=+g[b+84>>2];w=+g[b+56>>2];y=+g[b+72>>2];z=+g[b+88>>2];v=+g[d+16>>2];u=+g[d+20>>2];t=+g[d+24>>2];x=+g[d+32>>2];F=+g[d+36>>2];G=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];B=+g[b+104>>2];A=+g[d+48>>2]+(i*k+j*h+p*B);f=v*k+u*h+t*B+ +g[d+52>>2];B=x*k+F*h+G*B+ +g[d+56>>2];g[b+1064>>2]=C*i+D*j+E*p;g[b+1068>>2]=i*s+j*r+p*q;g[b+1072>>2]=i*w+j*y+p*z;g[b+1076>>2]=0.0;g[b+1080>>2]=C*v+D*u+E*t;g[b+1084>>2]=s*v+r*u+q*t;g[b+1088>>2]=w*v+y*u+z*t;g[b+1092>>2]=0.0;g[b+1096>>2]=C*x+D*F+E*G;g[b+1100>>2]=s*x+r*F+q*G;g[b+1104>>2]=w*x+y*F+z*G;g[b+1108>>2]=0.0;g[b+1112>>2]=A;g[b+1116>>2]=f;g[b+1120>>2]=B;g[b+1124>>2]=0.0;B=+g[b+112>>2];f=+g[e>>2];A=+g[b+128>>2];G=+g[e+4>>2];z=+g[b+144>>2];F=+g[e+8>>2];y=+g[b+116>>2];x=+g[b+132>>2];w=+g[b+148>>2];q=+g[b+120>>2];r=+g[b+136>>2];s=+g[b+152>>2];E=+g[e+16>>2];D=+g[e+20>>2];C=+g[e+24>>2];t=+g[e+32>>2];u=+g[e+36>>2];v=+g[e+40>>2];p=+g[b+160>>2];j=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(f*p+G*j+F*i);k=E*p+D*j+C*i+ +g[e+52>>2];i=t*p+u*j+v*i+ +g[e+56>>2];g[b+1128>>2]=B*f+A*G+z*F;g[b+1132>>2]=f*y+G*x+F*w;g[b+1136>>2]=f*q+G*r+F*s;g[b+1140>>2]=0.0;g[b+1144>>2]=B*E+A*D+z*C;g[b+1148>>2]=y*E+x*D+w*C;g[b+1152>>2]=q*E+r*D+s*C;g[b+1156>>2]=0.0;g[b+1160>>2]=B*t+A*u+z*v;g[b+1164>>2]=y*t+x*u+w*v;g[b+1168>>2]=q*t+r*u+s*v;g[b+1172>>2]=0.0;g[b+1176>>2]=h;g[b+1180>>2]=k;g[b+1184>>2]=i;g[b+1188>>2]=0.0;h=h-+g[b+1112>>2];k=k-+g[b+1116>>2];i=i-+g[b+1120>>2];w=+g[b+1084>>2];x=+g[b+1104>>2];y=+g[b+1088>>2];z=+g[b+1100>>2];A=+g[b+1096>>2];B=+g[b+1080>>2];C=+g[b+1064>>2];D=+g[b+1068>>2];E=+g[b+1072>>2];F=1.0/((w*x-y*z)*C+D*(y*A-x*B)+(z*B-w*A)*E);G=(z*B-w*A)*F;f=i*(y*D-w*E)*F+(h*(w*x-y*z)*F+k*(z*E-x*D)*F);j=i*(B*E-y*C)*F+(h*(y*A-x*B)*F+k*(x*C-A*E)*F);k=i*(w*C-B*D)*F+(h*G+k*(A*D-z*C)*F);g[b+1256>>2]=f;g[b+1260>>2]=j;g[b+1264>>2]=k;g[b+1268>>2]=0.0;g[b+840>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];do if(!(h>i)){if(h>f){c[b+856>>2]=2;g[b+824>>2]=f-h;break}if(i<f){c[b+856>>2]=1;g[b+824>>2]=f-i;break}else{c[b+856>>2]=0;g[b+824>>2]=0.0;break}}else{c[b+856>>2]=0;g[b+824>>2]=0.0}while(0);g[b+844>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];do if(!(f>h)){if(f>j){c[b+860>>2]=2;g[b+828>>2]=j-f;break}if(h<j){c[b+860>>2]=1;g[b+828>>2]=j-h;break}else{c[b+860>>2]=0;g[b+828>>2]=0.0;break}}else{c[b+860>>2]=0;g[b+828>>2]=0.0}while(0);g[b+848>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];do if(!(f>h)){if(f>k){c[b+864>>2]=2;g[b+832>>2]=k-f;break}if(h<k){c[b+864>>2]=1;g[b+832>>2]=k-h;break}else{c[b+864>>2]=0;g[b+832>>2]=0.0;break}}else{c[b+864>>2]=0;g[b+832>>2]=0.0}while(0);h=+g[b+1128>>2];i=+g[b+1144>>2];j=+g[b+1160>>2];k=+g[b+1132>>2];l=+g[b+1148>>2];m=+g[b+1164>>2];n=(w*x-y*z)*F*k+(z*E-x*D)*F*l+(y*D-w*E)*F*m;o=k*(y*A-x*B)*F+(x*C-A*E)*F*l+(B*E-y*C)*F*m;p=j*(w*C-B*D)*F+(h*G+i*(A*D-z*C)*F);f=G*+g[b+1136>>2]+(A*D-z*C)*F*+g[b+1152>>2]+(w*C-B*D)*F*(q*t+r*u+s*v);do if(p<1.0)if(p>-1.0){g[b+1192>>2]=+W(+-(k*G+(A*D-z*C)*F*l+(w*C-B*D)*F*m),+f);G=p<-1.0?-1.0:p;g[b+1196>>2]=+U(+(G>1.0?1.0:G));g[b+1200>>2]=+W(+-(j*(B*E-y*C)*F+(h*(y*A-x*B)*F+i*(x*C-A*E)*F)),+(j*(y*D-w*E)*F+(h*(w*x-y*z)*F+i*(z*E-x*D)*F)));break}else{g[b+1192>>2]=-+W(+n,+o);g[b+1196>>2]=-1.5707963705062866;g[b+1200>>2]=0.0;break}else{g[b+1192>>2]=+W(+n,+o);g[b+1196>>2]=1.5707963705062866;g[b+1200>>2]=0.0}while(0);g[b+1236>>2]=0.0;z=x*(h*x-j*E)-y*(i*E-h*y);A=E*(i*E-h*y)-x*(j*y-i*x);B=y*(j*y-i*x)-E*(h*x-j*E);g[b+1220>>2]=0.0;C=i*(i*E-h*y)-j*(h*x-j*E);D=j*(j*y-i*x)-h*(i*E-h*y);F=h*(h*x-j*E)-i*(j*y-i*x);g[b+1252>>2]=0.0;G=1.0/+O(+(z*z+A*A+B*B));g[b+1208>>2]=z*G;g[b+1212>>2]=A*G;g[b+1216>>2]=B*G;G=1.0/+O(+((j*y-i*x)*(j*y-i*x)+(h*x-j*E)*(h*x-j*E)+(i*E-h*y)*(i*E-h*y)));g[b+1224>>2]=(j*y-i*x)*G;g[b+1228>>2]=(h*x-j*E)*G;g[b+1232>>2]=(i*E-h*y)*G;G=1.0/+O(+(C*C+D*D+F*F));g[b+1240>>2]=C*G;g[b+1244>>2]=D*G;g[b+1248>>2]=F*G;if(!(a[b+1301>>0]|0))return;F=+g[(c[b+28>>2]|0)+344>>2];G=+g[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(F<1.1920928955078125e-07|G<1.1920928955078125e-07)&1;G=F+G>0.0?G/(F+G):.5;g[b+1272>>2]=G;g[b+1276>>2]=1.0-G;return}function td(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;e=c[b+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;if((c[f+236>>2]|0)==1){Cb[c[(c[f>>2]|0)+24>>2]&127](f,d);e=c[b+8>>2]|0}g=g+1|0}while((g|0)<(e|0))}a[x+16>>0]=1;c[x+12>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;a[x+36>>0]=1;c[x+32>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;a[x+56>>0]=1;c[x+52>>2]=0;c[x+44>>2]=0;c[x+48>>2]=0;a[x+76>>0]=1;c[x+72>>2]=0;c[x+64>>2]=0;c[x+68>>2]=0;if((e|0)<=0){pj(x);i=x;return}j=0;k=0;g=0;f=0;r=0;while(1){q=c[(c[(c[b+16>>2]|0)+(r<<2)>>2]|0)+192>>2]|0;p=(q+~(q<<15)>>10^q+~(q<<15))*9|0;p=(p>>6^p)+~((p>>6^p)<<11)>>16^(p>>6^p)+~((p>>6^p)<<11);o=p&j+-1;l=o>>>0<k>>>0;a:do if(l){h=c[g+(o<<2)>>2]|0;if((h|0)!=-1){m=c[x+72>>2]|0;while(1){if((q|0)==(c[m+(h<<3)>>2]|0)){n=13;break}k=c[f+(h<<2)>>2]|0;if((k|0)==-1)break;else h=k}if((n|0)==13?(n=0,(c[x+52>>2]|0)+(h<<2)|0):0)break;if(!l){n=20;break}}e=c[g+(o<<2)>>2]|0;if((e|0)!=-1){h=c[x+72>>2]|0;while(1){if((q|0)==(c[h+(e<<3)>>2]|0))break;e=c[f+(e<<2)>>2]|0;if((e|0)==-1){n=20;break a}}c[(c[x+52>>2]|0)+(e<<2)>>2]=q;e=j;n=82}else n=20}else n=20;while(0);if((n|0)==20){l=c[x+44>>2]|0;if((l|0)==(j|0)){e=j|0?j<<1:1;if((j|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,w=yc((e<<2|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;g=w+4+15&-16}else g=0;if((j|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[x+52>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}f=c[x+52>>2]|0;if(f|0){if(a[x+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[x+52>>2]=0}a[x+56>>0]=1;c[x+52>>2]=g;c[x+48>>2]=e;f=j}else{f=j;e=j}}else{f=l;e=j}c[(c[x+52>>2]|0)+(f<<2)>>2]=q;c[x+44>>2]=f+1;f=c[x+64>>2]|0;if((f|0)==(c[x+68>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if((s|0)!=0?(c[6435]=(c[6435]|0)+1,t=yc((s<<3|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;g=t+4+15&-16}else g=0;if((f|0)>0){e=0;do{k=(c[x+72>>2]|0)+(e<<3)|0;m=c[k+4>>2]|0;n=g+(e<<3)|0;c[n>>2]=c[k>>2];c[n+4>>2]=m;e=e+1|0}while((e|0)!=(f|0))}e=c[x+72>>2]|0;if(e|0){if(a[x+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[x+72>>2]=0}a[x+76>>0]=1;c[x+72>>2]=g;c[x+68>>2]=s;f=c[x+64>>2]|0;e=c[x+48>>2]|0}n=(c[x+72>>2]|0)+(f<<3)|0;c[n>>2]=q;c[n+4>>2]=0;c[x+64>>2]=f+1;if((j|0)<(e|0)){k=c[x+4>>2]|0;do if((e|0)>(k|0)){if((e|0)>=(k|0)){do if((c[x+8>>2]|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,u=yc((e<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;f=u+4+15&-16}else f=0;g=c[x+12>>2]|0;if((k|0)<=0){if(!g){a[x+16>>0]=1;c[x+12>>2]=f;c[x+8>>2]=e;break}}else{h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}if(a[x+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}a[x+16>>0]=1;c[x+12>>2]=f;c[x+8>>2]=e}else f=c[x+12>>2]|0;while(0);Qn(f+(k<<2)|0,0,e-k<<2|0)|0}c[x+4>>2]=e;j=c[x+24>>2]|0;if((e|0)>(j|0)){do if((c[x+28>>2]|0)<(e|0)){if((e|0)!=0?(c[6435]=(c[6435]|0)+1,v=yc((e<<2|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;f=v+4+15&-16}else f=0;g=c[x+32>>2]|0;if((j|0)<=0){if(!g){a[x+36>>0]=1;c[x+32>>2]=f;c[x+28>>2]=e;break}}else{h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}if(a[x+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}a[x+36>>0]=1;c[x+32>>2]=f;c[x+28>>2]=e}else f=c[x+32>>2]|0;while(0);Qn(f+(j<<2)|0,0,e-j<<2|0)|0}c[x+24>>2]=e;if((e|0)>0){o=e<<2;Qn(c[x+12>>2]|0,-1,o|0)|0;Qn(c[x+32>>2]|0,-1,o|0)|0}if((k|0)<=0){e=c[x+48>>2]|0;break}f=c[x+72>>2]|0;g=c[x+12>>2]|0;h=c[x+32>>2]|0;e=c[x+48>>2]|0;j=0;do{o=c[f+(j<<3)>>2]|0;o=(o+~(o<<15)>>10^o+~(o<<15))*9|0;o=g+((((o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11))&e+-1)<<2)|0;c[h+(j<<2)>>2]=c[o>>2];c[o>>2]=j;j=j+1|0}while((j|0)!=(k|0))}while(0);f=e;e=p&e+-1}else{f=e;e=o}g=c[x+12>>2]|0;e=g+(e<<2)|0;n=c[x+32>>2]|0;c[n+(l<<2)>>2]=c[e>>2];c[e>>2]=l;e=f;f=n;n=82}if((n|0)==82){n=0;Cb[c[(c[q>>2]|0)+60>>2]&127](q,d);j=e;e=c[b+8>>2]|0}h=r+1|0;if((h|0)>=(e|0))break;k=c[x+4>>2]|0;r=h}pj(x);i=x;return}function ud(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;ig(b+4|0,((_(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){p=((_(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;ig(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)<0?0:p}e=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=e;e=c[b+124+(e<<2)>>2]|0;if(e|0){do{l=e+56|0;m=e;e=c[l>>2]|0;k=c[m+52>>2]|0;j=e;if(!k)c[b+124+(c[m+60>>2]<<2)>>2]=j;else c[k+56>>2]=j;j=c[l>>2]|0;if(j|0)c[j+52>>2]=c[m+52>>2];c[m+52>>2]=0;c[l>>2]=c[b+132>>2];j=c[b+132>>2]|0;if(j|0)c[j+52>>2]=m;c[b+132>>2]=m;j=c[m+48>>2]|0;hh(b+4|0,j)|0;k=c[b+8>>2]|0;if(k|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[b+8>>2]=j;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r>>2]=c[m+16>>2];c[r+4>>2]=c[m+16+4>>2];c[r+8>>2]=c[m+16+8>>2];c[r+12>>2]=c[m+16+12>>2];c[r+16>>2]=c[m+32>>2];c[r+16+4>>2]=c[m+32+4>>2];c[r+16+8>>2]=c[m+32+8>>2];c[r+16+12>>2]=c[m+32+12>>2];j=c[b+68>>2]|0;if(!j){c[6435]=(c[6435]|0)+1;j=yc(63)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j;l=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0))}else c[b+68>>2]=0;c[j+32>>2]=0;c[j+36>>2]=m;c[j+40>>2]=0;c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];lf(b+64|0,c[b+64>>2]|0,j);k=(c[b+76>>2]|0)+1|0;c[b+76>>2]=k;c[m+48>>2]=j;c[m+60>>2]=2}while((e|0)!=0);c[b+164>>2]=k;a[b+194>>0]=1}c[r>>2]=8904;c[r+4>>2]=b;if(a[b+193>>0]|0?(we(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),a[b+193>>0]|0):0){p=c[b+4>>2]|0;we(b+4|0,p,p,r)}if(a[b+194>>0]|0?(n=c[b+136>>2]|0,n=Eb[c[(c[n>>2]|0)+28>>2]&127](n)|0,f=c[n+4>>2]|0,(f|0)>0):0){e=(_(c[b+156>>2]|0,f)|0)/100|0;p=c[b+160>>2]|0;e=(p|0)>(e|0)?p:e;e=(f|0)<(e|0)?f:e;if((e|0)>0){j=0;do{l=((c[b+184>>2]|0)+j|0)%(f|0)|0;o=c[n+12>>2]|0;k=c[o+(l<<4)>>2]|0;l=c[o+(l<<4)+4>>2]|0;o=c[k+48>>2]|0;p=c[l+48>>2]|0;if(!(((((+g[o>>2]<=+g[p+16>>2]?+g[o+16>>2]>=+g[p>>2]:0)?+g[o+4>>2]<=+g[p+20>>2]:0)?+g[o+20>>2]>=+g[p+4>>2]:0)?+g[o+8>>2]<=+g[p+24>>2]:0)?+g[o+24>>2]>=+g[p+8>>2]:0)){f=c[b+136>>2]|0;Ib[c[(c[f>>2]|0)+12>>2]&31](f,k,l,d)|0;f=c[n+4>>2]|0;j=j+-1|0;e=e+-1|0}j=j+1|0}while((j|0)<(e|0));if((f|0)>0)q=37;else e=0}else q=37;if((q|0)==37)e=((c[b+184>>2]|0)+e|0)%(f|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;f=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!f)h=0.0;else h=+(e>>>0)/+(f>>>0);g[b+176>>2]=h;c[b+172>>2]=e>>>1;c[b+168>>2]=f>>>1;p=c[b+136>>2]|0;if(!(Eb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){i=r;return}p=c[b+136>>2]|0;p=Eb[c[(c[p>>2]|0)+28>>2]&127](p)|0;e=c[p+4>>2]|0;if((e|0)>1){Vd(p,0,e+-1|0);j=0;k=0;l=0;f=0;q=44}else{j=0;o=0;n=0;f=0}while(1){if((q|0)==44){q=0;e=c[p+4>>2]|0;o=k;n=l}if((j|0)>=(e|0))break;m=c[p+12>>2]|0;k=m+(j<<4)|0;l=c[k>>2]|0;m=m+(j<<4)+4|0;e=c[m>>2]|0;if(!((l|0)==(n|0)&(e|0)==(f|0))){f=c[l+48>>2]|0;n=c[e+48>>2]|0;if(((((+g[f>>2]<=+g[n+16>>2]?+g[f+16>>2]>=+g[n>>2]:0)?+g[f+4>>2]<=+g[n+20>>2]:0)?+g[f+20>>2]>=+g[n+4>>2]:0)?+g[f+8>>2]<=+g[n+24>>2]:0)?+g[f+24>>2]>=+g[n+8>>2]:0){f=e;e=o}else q=53}else{e=f;q=53}if((q|0)==53){f=c[b+136>>2]|0;ic[c[(c[f>>2]|0)+32>>2]&127](f,k,d);c[k>>2]=0;c[m>>2]=0;f=e;e=o+1|0}j=j+1|0;k=e;q=44}if((e|0)>1){Vd(p,0,e+-1|0);k=c[p+4>>2]|0}else k=e;l=k-o|0;if((o|0)<0){if((c[p+8>>2]|0)<(l|0)){if((k|0)!=(o|0)){c[6435]=(c[6435]|0)+1;e=yc((l<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[p+4>>2]|0;if((f|0)>0){j=0;do{q=c[p+12>>2]|0;c[e+(j<<4)>>2]=c[q+(j<<4)>>2];c[e+(j<<4)+4>>2]=c[q+(j<<4)+4>>2];c[e+(j<<4)+8>>2]=c[q+(j<<4)+8>>2];c[e+(j<<4)+12>>2]=c[q+(j<<4)+12>>2];j=j+1|0}while((j|0)!=(f|0));f=p+12|0}else f=p+12|0}else{e=0;f=p+12|0}j=c[f>>2]|0;if(j|0){if(a[p+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[f>>2]=0}a[p+16>>0]=1;c[f>>2]=e;c[p+8>>2]=l}else f=p+12|0;e=k;do{q=(c[f>>2]|0)+(e<<4)|0;e=e+1|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0}while((e|0)!=(l|0))}c[p+4>>2]=l;i=r;return}function vd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;o=c[b+28>>2]|0;h=c[b+32>>2]|0;Fc(b,o+4|0,h+4|0,o+264|0,h+264|0);q=c[d+8>>2]|0;g[q>>2]=1.0;p=c[d+24>>2]|0;g[q+(p+1<<2)>>2]=1.0;g[q+((p<<1)+2<<2)>>2]=1.0;l=+g[b+348>>2];u=+g[b+352>>2];n=+g[b+356>>2];s=+g[o+4>>2]*l+ +g[o+8>>2]*u+ +g[o+12>>2]*n;m=l*+g[o+20>>2]+u*+g[o+24>>2]+n*+g[o+28>>2];n=l*+g[o+36>>2]+u*+g[o+40>>2]+n*+g[o+44>>2];q=c[d+12>>2]|0;c[q>>2]=0;g[q+4>>2]=n;g[q+8>>2]=-m;g[q+12>>2]=0.0;g[q+(p<<2)>>2]=-n;c[q+(p<<2)+4>>2]=0;g[q+(p<<2)+8>>2]=s;g[q+(p<<2)+12>>2]=0.0;g[q+(p<<1<<2)>>2]=m;g[q+(p<<1<<2)+4>>2]=-s;c[q+(p<<1<<2)+8>>2]=0;g[q+(p<<1<<2)+12>>2]=0.0;q=c[d+16>>2]|0;g[q>>2]=-1.0;g[q+(p+1<<2)>>2]=-1.0;g[q+((p<<1)+2<<2)>>2]=-1.0;u=+g[b+412>>2];l=+g[b+416>>2];k=+g[b+420>>2];t=+g[h+4>>2]*u+ +g[h+8>>2]*l+ +g[h+12>>2]*k;j=u*+g[h+20>>2]+l*+g[h+24>>2]+k*+g[h+28>>2];k=u*+g[h+36>>2]+l*+g[h+40>>2]+k*+g[h+44>>2];p=c[d+20>>2]|0;q=c[d+24>>2]|0;c[p>>2]=0;g[p+4>>2]=-k;g[p+8>>2]=j;g[p+12>>2]=0.0;g[p+(q<<2)>>2]=k;c[p+(q<<2)+4>>2]=0;g[p+(q<<2)+8>>2]=-t;g[p+(q<<2)+12>>2]=0.0;g[p+(q<<1<<2)>>2]=-j;g[p+(q<<1<<2)+4>>2]=t;c[p+(q<<1<<2)+8>>2]=0;g[p+(q<<1<<2)+12>>2]=0.0;q=c[b+592>>2]|0;l=+g[((q&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];r=c[d+24>>2]|0;i=c[d+28>>2]|0;f=c[d+36>>2]|0;e=c[d+40>>2]|0;g[i>>2]=l*(t+ +g[h+52>>2]-s-+g[o+52>>2]);g[f>>2]=-3402823466385288598117041.0e14;g[e>>2]=3402823466385288598117041.0e14;if(!(q&1)){g[i+(r<<2)>>2]=l*(j+ +g[h+56>>2]-m-+g[o+56>>2]);g[f+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;g[i+(r<<1<<2)>>2]=l*(k+ +g[h+60>>2]-n-+g[o+60>>2]);g[f+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14}else{v=c[d+32>>2]|0;c[v>>2]=c[b+596>>2];g[i+(r<<2)>>2]=l*(j+ +g[h+56>>2]-m-+g[o+56>>2]);g[f+(r<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<2)>>2]=c[b+596>>2];g[i+(r<<1<<2)>>2]=l*(k+ +g[h+60>>2]-n-+g[o+60>>2]);g[f+(r<<1<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<1<<2)>>2]=3402823466385288598117041.0e14;c[v+(r<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))h=r*3|0;else{h=c[d+12>>2]|0;u=+g[b+456>>2];if(+g[b+444>>2]<u?+g[b+448>>2]<u:0){z=+g[o+4>>2];y=+g[o+8>>2];x=+g[o+12>>2];D=+g[b+304>>2];C=+g[b+320>>2];B=+g[b+336>>2];l=+g[b+308>>2];n=+g[b+324>>2];t=+g[b+340>>2];w=+g[o+20>>2];j=+g[o+24>>2];k=+g[o+28>>2];m=+g[o+36>>2];s=+g[o+40>>2];u=+g[o+44>>2];g[h+(r*3<<2)>>2]=z*D+y*C+x*B;g[h+((r*3|0)+1<<2)>>2]=D*w+C*j+B*k;g[h+((r*3|0)+2<<2)>>2]=D*m+C*s+B*u;g[h+(r<<2<<2)>>2]=z*l+y*n+x*t;g[h+((r<<2|1)<<2)>>2]=l*w+n*j+t*k;g[h+((r<<2|2)<<2)>>2]=l*m+n*s+t*u;g[p+(r*3<<2)>>2]=-(z*D+y*C+x*B);g[p+((r*3|0)+1<<2)>>2]=-(D*w+C*j+B*k);g[p+((r*3|0)+2<<2)>>2]=-(D*m+C*s+B*u);g[p+(r<<2<<2)>>2]=-(z*l+y*n+x*t);g[p+((r<<2|1)<<2)>>2]=-(l*w+n*j+t*k);g[p+((r<<2|2)<<2)>>2]=-(l*m+n*s+t*u);A=+g[d>>2]*+g[b+436>>2];i=c[d+28>>2]|0;g[i+(r*3<<2)>>2]=A*((z*D+y*C+x*B)*+g[b+460>>2]+(D*w+C*j+B*k)*+g[b+464>>2]+(D*m+C*s+B*u)*+g[b+468>>2]);g[i+(r<<2<<2)>>2]=A*((z*l+y*n+x*t)*+g[b+460>>2]+(l*w+n*j+t*k)*+g[b+464>>2]+(l*m+n*s+t*u)*+g[b+468>>2]);f=c[d+36>>2]|0;g[f+(r*3<<2)>>2]=-3402823466385288598117041.0e14;e=c[d+40>>2]|0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;g[f+(r<<2<<2)>>2]=-3402823466385288598117041.0e14;g[e+(r<<2<<2)>>2]=3402823466385288598117041.0e14;h=(c[d+24>>2]|0)+(r<<2)|0;break}D=+g[b+436>>2];B=D*+g[b+460>>2]*D;C=D*D*+g[b+464>>2];D=D*D*+g[b+468>>2];g[h+(r*3<<2)>>2]=B;g[h+((r*3|0)+1<<2)>>2]=C;g[h+((r*3|0)+2<<2)>>2]=D;g[p+(r*3<<2)>>2]=-B;g[p+((r*3|0)+1<<2)>>2]=-C;g[p+((r*3|0)+2<<2)>>2]=-D;g[i+(r*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(q&4|0)c[(c[d+32>>2]|0)+(r*3<<2)>>2]=c[b+604>>2];g[f+(r*3<<2)>>2]=0.0;g[e+(r*3<<2)>>2]=3402823466385288598117041.0e14;h=r<<2}while(0);if(!(a[b+525>>0]|0))return;D=+g[b+436>>2];B=D*+g[b+476>>2]*D;C=D*D*+g[b+480>>2];D=D*D*+g[b+484>>2];p=c[d+12>>2]|0;r=c[d+20>>2]|0;g[p+(h<<2)>>2]=B;q=h+1|0;g[p+(q<<2)>>2]=C;v=h+2|0;g[p+(v<<2)>>2]=D;g[r+(h<<2)>>2]=-B;g[r+(q<<2)>>2]=-C;g[r+(v<<2)>>2]=-D;g[i+(h<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4|0)c[(c[d+32>>2]|0)+(h<<2)>>2]=c[b+604>>2];if(!(+g[b+452>>2]>0.0)){g[f+(h<<2)>>2]=-3402823466385288598117041.0e14;g[e+(h<<2)>>2]=3402823466385288598117041.0e14;return}f=f+(h<<2)|0;e=c[d+40>>2]|0;if(+g[b+508>>2]>0.0){g[f>>2]=0.0;g[e+(h<<2)>>2]=3402823466385288598117041.0e14;return}else{g[f>>2]=-3402823466385288598117041.0e14;g[e+(h<<2)>>2]=0.0;return}}function wd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var j=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;K=i;i=i+288|0;c[K+144>>2]=c[d>>2];c[K+144+4>>2]=c[d+4>>2];c[K+144+8>>2]=c[d+8>>2];c[K+144+12>>2]=c[d+12>>2];c[K+144+16>>2]=c[d+16>>2];c[K+144+16+4>>2]=c[d+16+4>>2];c[K+144+16+8>>2]=c[d+16+8>>2];c[K+144+16+12>>2]=c[d+16+12>>2];c[K+144+32>>2]=c[d+32>>2];c[K+144+32+4>>2]=c[d+32+4>>2];c[K+144+32+8>>2]=c[d+32+8>>2];c[K+144+32+12>>2]=c[d+32+12>>2];c[K+144+48>>2]=c[d+48>>2];c[K+144+48+4>>2]=c[d+48+4>>2];c[K+144+48+8>>2]=c[d+48+8>>2];c[K+144+48+12>>2]=c[d+48+12>>2];c[K+80>>2]=c[e>>2];c[K+80+4>>2]=c[e+4>>2];c[K+80+8>>2]=c[e+8>>2];c[K+80+12>>2]=c[e+12>>2];c[K+80+16>>2]=c[e+16>>2];c[K+80+16+4>>2]=c[e+16+4>>2];c[K+80+16+8>>2]=c[e+16+8>>2];c[K+80+16+12>>2]=c[e+16+12>>2];c[K+80+32>>2]=c[e+32>>2];c[K+80+32+4>>2]=c[e+32+4>>2];c[K+80+32+8>>2]=c[e+32+8>>2];c[K+80+32+12>>2]=c[e+32+12>>2];c[K+80+48>>2]=c[e+48>>2];c[K+80+48+4>>2]=c[e+48+4>>2];c[K+80+48+8>>2]=c[e+48+8>>2];c[K+80+48+12>>2]=c[e+48+12>>2];m=+g[K+80+52>>2]-+g[K+144+52>>2];O=+g[K+80+56>>2]-+g[K+144+56>>2];g[K+32>>2]=+g[K+80+48>>2]-+g[K+144+48>>2];g[K+32+4>>2]=m;g[K+32+8>>2]=O;g[K+32+12>>2]=0.0;Gf(K+144|0,K+80|0,K+224|0,K+208|0);O=+g[K+208>>2];m=O*+g[K+224+4>>2];L=O*+g[K+224+8>>2];g[K>>2]=+g[K+224>>2]*O;g[K+4>>2]=m;g[K+8>>2]=L;g[K+12>>2]=0.0;c[K+224+4>>2]=0;c[K+224+4+4>>2]=0;c[K+224+24>>2]=0;c[K+224+24+4>>2]=0;J=K+224+44|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;Wg(K+144|0,K+16|0);L=+g[K+16>>2];m=+g[K+16+4>>2];O=+g[K+16+8>>2];M=+g[K+16+12>>2];j=L*(2.0/(L*L+m*m+O*O+M*M));o=m*(2.0/(L*L+m*m+O*O+M*M));N=O*(2.0/(L*L+m*m+O*O+M*M));g[K+224>>2]=1.0-(m*o+O*N);g[K+224+4>>2]=L*o-M*N;g[K+224+8>>2]=L*N+M*o;g[K+224+12>>2]=0.0;g[K+224+16>>2]=L*o+M*N;g[K+224+20>>2]=1.0-(L*j+O*N);g[K+224+24>>2]=m*N-M*j;g[K+224+28>>2]=0.0;g[K+224+32>>2]=L*N-M*o;g[K+224+36>>2]=m*N+M*j;g[K+224+40>>2]=1.0-(L*j+m*o);g[J>>2]=0.0;rh(b,K+224|0,K+32|0,K,K+64|0,K+48|0);if((c[a+268>>2]|0)<=0){i=K;return}I=0;do{p=c[(c[a+276>>2]|0)+(I<<2)>>2]|0;if(Zb[c[(c[f>>2]|0)+8>>2]&31](f,c[p+188>>2]|0)|0?(C=c[p+192>>2]|0,mc[c[(c[C>>2]|0)+8>>2]&127](C,p+4|0,K+208|0,K+32|0),q=+g[K+208>>2]+ +g[K+64>>2],r=+g[K+208+4>>2]+ +g[K+64+4>>2],s=+g[K+208+8>>2]+ +g[K+64+8>>2],g[K+208>>2]=q,g[K+208+4>>2]=r,g[K+208+8>>2]=s,g[K+208+12>>2]=0.0,t=+g[K+32>>2]+ +g[K+48>>2],u=+g[K+32+4>>2]+ +g[K+48+4>>2],v=+g[K+32+8>>2]+ +g[K+48+8>>2],g[K+32>>2]=t,g[K+32+4>>2]=u,g[K+32+8>>2]=v,g[K+32+12>>2]=0.0,w=+g[d+48>>2]-(t+q)*.5,x=+g[d+52>>2]-(u+r)*.5,y=+g[d+56>>2]-(v+s)*.5,z=+g[e+48>>2]-(t+q)*.5,A=+g[e+52>>2]-(u+r)*.5,B=+g[e+56>>2]-(v+s)*.5,C=w<-((t-q)*.5)|(w>(t-q)*.5?8:0)|(x<-((u-r)*.5)?2:0)|(x>(u-r)*.5?16:0)|(y<-((v-s)*.5)?4:0)|(y>(v-s)*.5?32:0),D=z<-((t-q)*.5)|(z>(t-q)*.5?8:0)|(A<-((u-r)*.5)?2:0)|(A>(u-r)*.5?16:0)|(B<-((v-s)*.5)?4:0)|(B>(v-s)*.5?32:0),(C&D|0)==0):0){H=1;J=0;j=0.0;l=1065353216;o=1.0;while(1){if(!(H&C)){if((H&D|0)!=0?(E=(-w-o*(t-q)*.5)/(z-w),E<(c[k>>2]=l,+g[k>>2])):0)l=(g[k>>2]=E,c[k>>2]|0)}else{m=(-w-o*(t-q)*.5)/(z-w);if(j<=m)j=m}n=H<<1;if(!(n&C))if((n&D|0)!=0?(F=(-x-o*(u-r)*.5)/(A-x),F<(c[k>>2]=l,+g[k>>2])):0){m=j;l=(g[k>>2]=F,c[k>>2]|0)}else m=j;else{m=(-x-o*(u-r)*.5)/(A-x);if(!(j<=m))m=j}n=H<<2;if(!(n&C))if((n&D|0)!=0?(G=(-y-o*(v-s)*.5)/(B-y),G<(c[k>>2]=l,+g[k>>2])):0){j=m;l=(g[k>>2]=G,c[k>>2]|0)}else j=m;else{j=(-y-o*(v-s)*.5)/(B-y);if(!(m<=j))j=m}J=J+1|0;if((J|0)==2)break;else{H=H<<3;o=-1.0}}if(j<=(c[k>>2]=l,+g[k>>2])){J=c[p+192>>2]|0;c[K+224>>2]=0;c[K+224+4>>2]=J;c[K+224+8>>2]=p;c[K+224+12>>2]=p+4;c[K+224+16>>2]=-1;c[K+224+20>>2]=-1;Ic(b,K+144|0,K+80|0,K+224|0,f,h)}}I=I+1|0}while((I|0)<(c[a+268>>2]|0));i=K;return}function xd(d,e){d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+112|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;p=c[e+104>>2]|0;l=q+48|0;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){f=0;j=o}else{c[6435]=(c[6435]|0)+1;f=yc(p<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+88>>2]|0}if((j|0)>0){k=0;do{l=f+(k<<6)|0;m=(c[d+96>>2]|0)+(k<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=k+1|0}while((k|0)!=(j|0))}j=c[d+96>>2]|0;if(j|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=p;j=d+96|0}else j=d+96|0;f=o;do{l=(c[j>>2]|0)+(f<<6)|0;m=q+48|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));f=f+1|0}while((f|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){f=c[d+96>>2]|0;j=0;k=c[e+112>>2]|0;while(1){g[f+(j<<6)+16>>2]=+h[k+32>>3];g[f+(j<<6)+20>>2]=+h[k+40>>3];g[f+(j<<6)+24>>2]=+h[k+48>>3];g[f+(j<<6)+28>>2]=+h[k+56>>3];g[f+(j<<6)>>2]=+h[k>>3];g[f+(j<<6)+4>>2]=+h[k+8>>3];g[f+(j<<6)+8>>2]=+h[k+16>>3];g[f+(j<<6)+12>>2]=+h[k+24>>3];c[f+(j<<6)+32>>2]=c[k+64>>2];c[f+(j<<6)+36>>2]=c[k+68>>2];c[f+(j<<6)+40>>2]=c[k+72>>2];j=j+1|0;if((j|0)==(p|0))break;else k=k+80|0}}m=c[e+108>>2]|0;c[q+32>>2]=0;c[q+32+4>>2]=0;c[q+32+8>>2]=0;c[q+32+12>>2]=0;l=c[d+128>>2]|0;if((l|0)<(m|0)){if((c[d+132>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[6435]=(c[6435]|0)+1;f=yc((m<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+128>>2]|0}if((j|0)>0){k=0;do{p=f+(k<<4)|0;o=(c[d+136>>2]|0)+(k<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[d+136>>2]|0;if(j|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=m;j=d+136|0}else j=d+136|0;f=l;do{p=(c[j>>2]|0)+(f<<4)|0;c[p>>2]=c[q+32>>2];c[p+4>>2]=c[q+32+4>>2];c[p+8>>2]=c[q+32+8>>2];c[p+12>>2]=c[q+32+12>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+128>>2]=m;if((m|0)>0){f=c[d+136>>2]|0;j=0;k=c[e+116>>2]|0;while(1){c[f+(j<<4)+12>>2]=c[k+12>>2];b[f+(j<<4)+6>>1]=b[k+6>>1]|0;b[f+(j<<4)+8>>1]=b[k+8>>1]|0;b[f+(j<<4)+10>>1]=b[k+10>>1]|0;b[f+(j<<4)>>1]=b[k>>1]|0;b[f+(j<<4)+2>>1]=b[k+2>>1]|0;b[f+(j<<4)+4>>1]=b[k+4>>1]|0;j=j+1|0;if((j|0)==(m|0))break;else k=k+16|0}}c[d+144>>2]=c[e+120>>2];m=c[e+124>>2]|0;l=c[d+152>>2]|0;if((l|0)<(m|0)){if((c[d+156>>2]|0)<(m|0)){if(!m){f=0;j=l}else{c[6435]=(c[6435]|0)+1;f=yc(m<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=c[d+152>>2]|0}if((j|0)>0){k=0;do{p=f+(k<<5)|0;o=(c[d+160>>2]|0)+(k<<5)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=m;j=d+160|0}else j=d+160|0;f=l;do{p=(c[j>>2]|0)+(f<<5)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[p+16>>2]=c[q+16>>2];c[p+20>>2]=c[q+20>>2];c[p+24>>2]=c[q+24>>2];c[p+28>>2]=c[q+28>>2];f=f+1|0}while((f|0)!=(m|0))}c[d+152>>2]=m;if((m|0)<=0){i=q;return}j=c[d+160>>2]|0;k=0;f=c[e+128>>2]|0;while(1){b[j+(k<<5)+6>>1]=b[f+14>>1]|0;b[j+(k<<5)+8>>1]=b[f+16>>1]|0;b[j+(k<<5)+10>>1]=b[f+18>>1]|0;b[j+(k<<5)>>1]=b[f+8>>1]|0;b[j+(k<<5)+2>>1]=b[f+10>>1]|0;b[j+(k<<5)+4>>1]=b[f+12>>1]|0;c[j+(k<<5)+12>>2]=c[f>>2];c[j+(k<<5)+16>>2]=c[f+4>>2];k=k+1|0;if((k|0)==(m|0))break;else f=f+20|0}i=q;return}function yd(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=i;i=i+16|0;m=c[a+372>>2]|0;a:do switch(c[m+32>>2]|0){case 1:{d=1;b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;o=m+32|0;g[m+16+(d<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;c[m+(c[o>>2]<<2)>>2]=c[a+348+(d<<2)>>2];d=c[o>>2]|0;c[o>>2]=d+1;e=+g[n>>2];f=+g[n+4>>2];h=+g[n+8>>2];Nh(a,e,f,h,c[m+(d<<2)>>2]|0);if(yd(a)|0)break;m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-e,-f,-h,c[m+(o<<2)>>2]|0);if(yd(a)|0)break;o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;b=b+1|0;if(b>>>0>=3)break a;m=c[a+372>>2]|0;d=c[m+32>>2]|0}o=1;i=n;return o|0}case 2:{o=c[m+4>>2]|0;b=c[m>>2]|0;e=+g[o+16>>2]-+g[b+16>>2];f=+g[o+20>>2]-+g[b+20>>2];h=+g[o+24>>2]-+g[b+24>>2];b=0;while(1){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(b<<2)>>2]=1.0;j=+g[n+8>>2];k=+g[n+4>>2];l=+g[n>>2];if((f*j-h*k)*(f*j-h*k)+(h*l-e*j)*(h*l-e*j)+(e*k-f*l)*(e*k-f*l)>0.0){m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,f*j-h*k,h*l-e*j,e*k-f*l,c[m+(o<<2)>>2]|0);if(yd(a)|0)break;m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-(f*j-h*k),-(h*l-e*j),-(e*k-f*l),c[m+(o<<2)>>2]|0);if(yd(a)|0)break;o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m}b=b+1|0;if(b>>>0>=3)break a}o=1;i=n;return o|0}case 3:{o=c[m+4>>2]|0;d=c[m>>2]|0;j=+g[d+16>>2];e=+g[o+16>>2]-j;k=+g[d+20>>2];f=+g[o+20>>2]-k;l=+g[d+24>>2];h=+g[o+24>>2]-l;o=c[m+8>>2]|0;j=+g[o+16>>2]-j;k=+g[o+20>>2]-k;l=+g[o+24>>2]-l;if((f*l-h*k)*(f*l-h*k)+(h*j-e*l)*(h*j-e*l)+(e*k-f*j)*(e*k-f*j)>0.0){g[m+28>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+12>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,f*l-h*k,h*j-e*l,e*k-f*j,c[m+(o<<2)>>2]|0);if(yd(a)|0){o=1;i=n;return o|0}m=c[a+372>>2]|0;o=(c[m+32>>2]|0)+-1|0;c[m+32>>2]=o;o=c[m+(o<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+348+(m<<2)>>2]=o;m=c[a+372>>2]|0;g[m+16+(c[m+32>>2]<<2)>>2]=0.0;o=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=o;c[m+(c[m+32>>2]<<2)>>2]=c[a+348+(o<<2)>>2];o=c[m+32>>2]|0;c[m+32>>2]=o+1;Nh(a,-(f*l-h*k),-(h*j-e*l),-(e*k-f*j),c[m+(o<<2)>>2]|0);if(yd(a)|0){o=1;i=n;return o|0}else{o=c[a+372>>2]|0;m=(c[o+32>>2]|0)+-1|0;c[o+32>>2]=m;m=c[o+(m<<2)>>2]|0;o=c[a+364>>2]|0;c[a+364>>2]=o+1;c[a+348+(o<<2)>>2]=m;break a}}break}case 4:{o=c[m>>2]|0;a=c[m+12>>2]|0;l=+g[a+16>>2];r=+g[o+16>>2]-l;p=+g[a+20>>2];e=+g[o+20>>2]-p;h=+g[a+24>>2];j=+g[o+24>>2]-h;o=c[m+4>>2]|0;f=+g[o+16>>2]-l;k=+g[o+20>>2]-p;q=+g[o+24>>2]-h;o=c[m+8>>2]|0;l=+g[o+16>>2]-l;p=+g[o+20>>2]-p;h=+g[o+24>>2]-h;if(!((0.0!=0.0?1:r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l!=r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l)|r*k*h+(e*q*l+j*f*p-r*q*p-e*f*h)-j*k*l==0.0)){o=1;i=n;return o|0}break}default:{}}while(0);o=0;i=n;return o|0}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0;Y=c[d+36>>2]|0;X=c[e+36>>2]|0;K=+g[Y+8>>2];L=+g[Y+12>>2];M=+g[Y+16>>2];d=c[X+8>>2]|0;R=+g[d+8>>2];S=+g[d+12>>2];T=+g[d+16>>2];e=c[X+12>>2]|0;N=+g[e+8>>2];P=+g[e+12>>2];Q=+g[e+16>>2];h=c[X+16>>2]|0;U=+g[h+8>>2];V=+g[h+12>>2];W=+g[h+16>>2];w=N-K-(R-K);D=P-L-(S-L);B=Q-M-(T-M);x=D*(W-M-(T-M))-B*(V-L-(S-L));E=B*(U-K-(R-K))-w*(W-M-(T-M));C=w*(V-L-(S-L))-D*(U-K-(R-K));do if(C*C+(x*x+E*E)>1.1920928955078125e-07?(G=1.0/+O(+(C*C+(x*x+E*E))),H=(T-M)*C*G+((R-K)*x*G+(S-L)*E*G),H*H<3402823466385288598117041.0e14):0){f=R-K-x*G*H;r=S-L-E*G*H;s=T-M-C*G*H;t=N-K-x*G*H;u=P-L-E*G*H;v=Q-M-C*G*H;if((C*(u*f-r*t)+(x*(r*v-s*u)+E*(s*t-v*f))>0.0?(y=U-K-x*G*H,z=V-L-E*G*H,A=W-M-C*G*H,C*(z*t-u*y)+(x*(u*A-v*z)+E*(v*y-A*t))>0.0):0)?C*(r*y-z*f)+(x*(z*s-A*r)+E*(A*f-s*y))>0.0:0){q=H*H;p=x*G*H;n=C*G*H;m=E*G*H;break}if(w*w+D*D+B*B>1.1920928955078125e-07?(F=-((R-K)*w+(S-L)*D+(T-M)*B)/(w*w+D*D+B*B),F=F<0.0?0.0:F>1.0?1.0:F,q=(T-M+B*F)*(T-M+B*F)+((R-K+w*F)*(R-K+w*F)+(S-L+D*F)*(S-L+D*F)),q<3402823466385288598117041.0e14):0){s=R-K+w*F;t=T-M+B*F;r=S-L+D*F}else{q=3402823466385288598117041.0e14;s=0.0;t=0.0;r=0.0}f=(U-K-(N-K))*(U-K-(N-K))+(V-L-(P-L))*(V-L-(P-L))+(W-M-(Q-M))*(W-M-(Q-M));if(f>1.1920928955078125e-07?(n=-((N-K)*(U-K-(N-K))+(P-L)*(V-L-(P-L))+(Q-M)*(W-M-(Q-M)))/f,n=n<0.0?0.0:n>1.0?1.0:n,p=N-K+(U-K-(N-K))*n,k=P-L+(V-L-(P-L))*n,n=Q-M+(W-M-(Q-M))*n,n*n+(p*p+k*k)<q):0)q=n*n+(p*p+k*k);else{p=s;n=t;k=r}f=(R-K-(U-K))*(R-K-(U-K))+(S-L-(V-L))*(S-L-(V-L))+(T-M-(W-M))*(T-M-(W-M));if(f>1.1920928955078125e-07?(J=-((U-K)*(R-K-(U-K))+(V-L)*(S-L-(V-L))+(W-M)*(T-M-(W-M)))/f,J=J<0.0?0.0:J>1.0?1.0:J,I=U-K+(R-K-(U-K))*J,m=V-L+(S-L-(V-L))*J,J=W-M+(T-M-(W-M))*J,J*J+(I*I+m*m)<q):0){q=J*J+(I*I+m*m);p=I;n=J}else m=k}else{q=3402823466385288598117041.0e14;p=0.0;n=0.0;m=0.0}while(0);I=K-+g[Y+24>>2];J=L-+g[Y+28>>2];u=M-+g[Y+32>>2];u=+g[b+12>>2]+ +O(+(I*I+J*J+u*u))*2.0;if(!(q<u*u))return;r=K+p;f=L+m;k=M+n;t=+O(+(((R-r)*(P-f)-(S-f)*(N-r))*((R-r)*(P-f)-(S-f)*(N-r))+(((S-f)*(Q-k)-(T-k)*(P-f))*((S-f)*(Q-k)-(T-k)*(P-f))+((T-k)*(N-r)-(R-r)*(Q-k))*((T-k)*(N-r)-(R-r)*(Q-k)))));s=+O(+(((N-r)*(V-f)-(P-f)*(U-r))*((N-r)*(V-f)-(P-f)*(U-r))+(((P-f)*(W-k)-(Q-k)*(V-f))*((P-f)*(W-k)-(Q-k)*(V-f))+((Q-k)*(U-r)-(N-r)*(W-k))*((Q-k)*(U-r)-(N-r)*(W-k)))));r=+O(+(((S-f)*(U-r)-(R-r)*(V-f))*((S-f)*(U-r)-(R-r)*(V-f))+(((T-k)*(V-f)-(S-f)*(W-k))*((T-k)*(V-f)-(S-f)*(W-k))+((R-r)*(W-k)-(T-k)*(U-r))*((R-r)*(W-k)-(T-k)*(U-r)))));k=+g[Y+88>>2];V=+g[d+88>>2];W=+g[e+88>>2];f=+g[h+88>>2];f=!(V<=0.0)&!(W<=0.0)&!(f<=0.0)?V*s*(1.0/(t+s+r))+W*r*(1.0/(t+s+r))+t*(1.0/(t+s+r))*f:0.0;if(!(k+f>0.0))return;W=1.0/-+O(+q);q=p*W;p=m*W;n=n*W;o=c[b+4>>2]|0;d=c[b+8>>2]|0;l=c[(+g[o+316>>2]>+g[d+316>>2]?o+316|0:d+316|0)>>2]|0;m=k/(k+f)*+g[o+332>>2];f=f/(k+f)*+g[d+332>>2];d=c[o+832>>2]|0;if((d|0)==(c[o+836>>2]|0)?(Z=d|0?d<<1:1,(d|0)<(Z|0)):0){if(!Z)j=0;else{c[6435]=(c[6435]|0)+1;d=yc((Z*56|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=d;d=c[o+832>>2]|0}if((d|0)>0){e=0;do{h=j+(e*56|0)|0;b=(c[o+840>>2]|0)+(e*56|0)|0;i=h+56|0;do{c[h>>2]=c[b>>2];h=h+4|0;b=b+4|0}while((h|0)<(i|0));e=e+1|0}while((e|0)!=(d|0))}d=c[o+840>>2]|0;if(d|0){if(a[o+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[o+840>>2]=0}a[o+844>>0]=1;c[o+840>>2]=j;c[o+836>>2]=Z;d=c[o+832>>2]|0}Z=c[o+840>>2]|0;c[Z+(d*56|0)>>2]=Y;c[Z+(d*56|0)+4>>2]=X;g[Z+(d*56|0)+8>>2]=s*(1.0/(t+s+r));g[Z+(d*56|0)+12>>2]=r*(1.0/(t+s+r));g[Z+(d*56|0)+16>>2]=t*(1.0/(t+s+r));g[Z+(d*56|0)+20>>2]=0.0;g[Z+(d*56|0)+24>>2]=q;g[Z+(d*56|0)+28>>2]=p;g[Z+(d*56|0)+32>>2]=n;g[Z+(d*56|0)+36>>2]=0.0;g[Z+(d*56|0)+40>>2]=u;c[Z+(d*56|0)+44>>2]=l;g[Z+(d*56|0)+48>>2]=m;g[Z+(d*56|0)+52>>2]=f;c[o+832>>2]=(c[o+832>>2]|0)+1;return}function Ad(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;n=c[e+56>>2]|0;j=o+48|0;l=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));m=c[d+88>>2]|0;if((m|0)<(n|0)){if((c[d+92>>2]|0)<(n|0)){if(!n){f=0;g=m}else{c[6435]=(c[6435]|0)+1;f=yc(n<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+88>>2]|0}if((g|0)>0){h=0;do{j=f+(h<<6)|0;k=(c[d+96>>2]|0)+(h<<6)|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=h+1|0}while((h|0)!=(g|0))}g=c[d+96>>2]|0;if(g|0){if(a[d+100>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=n;g=d+96|0}else g=d+96|0;f=m;do{j=(c[g>>2]|0)+(f<<6)|0;k=o+48|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=f+1|0}while((f|0)!=(n|0))}c[d+88>>2]=n;if((n|0)>0){f=c[d+96>>2]|0;g=0;h=c[e+64>>2]|0;while(1){c[f+(g<<6)+16>>2]=c[h+16>>2];c[f+(g<<6)+20>>2]=c[h+20>>2];c[f+(g<<6)+24>>2]=c[h+24>>2];c[f+(g<<6)+28>>2]=c[h+28>>2];c[f+(g<<6)>>2]=c[h>>2];c[f+(g<<6)+4>>2]=c[h+4>>2];c[f+(g<<6)+8>>2]=c[h+8>>2];c[f+(g<<6)+12>>2]=c[h+12>>2];c[f+(g<<6)+32>>2]=c[h+32>>2];c[f+(g<<6)+36>>2]=c[h+36>>2];c[f+(g<<6)+40>>2]=c[h+40>>2];g=g+1|0;if((g|0)==(n|0))break;else h=h+48|0}}k=c[e+60>>2]|0;c[o+32>>2]=0;c[o+32+4>>2]=0;c[o+32+8>>2]=0;c[o+32+12>>2]=0;j=c[d+128>>2]|0;if((j|0)<(k|0)){if((c[d+132>>2]|0)<(k|0)){if(!k){f=0;g=j}else{c[6435]=(c[6435]|0)+1;f=yc((k<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+128>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<4)|0;m=(c[d+136>>2]|0)+(h<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+136>>2]|0;if(g|0){if(a[d+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=k;g=d+136|0}else g=d+136|0;f=j;do{n=(c[g>>2]|0)+(f<<4)|0;c[n>>2]=c[o+32>>2];c[n+4>>2]=c[o+32+4>>2];c[n+8>>2]=c[o+32+8>>2];c[n+12>>2]=c[o+32+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[d+128>>2]=k;if((k|0)>0){f=c[d+136>>2]|0;g=0;h=c[e+68>>2]|0;while(1){c[f+(g<<4)+12>>2]=c[h+12>>2];b[f+(g<<4)+6>>1]=b[h+6>>1]|0;b[f+(g<<4)+8>>1]=b[h+8>>1]|0;b[f+(g<<4)+10>>1]=b[h+10>>1]|0;b[f+(g<<4)>>1]=b[h>>1]|0;b[f+(g<<4)+2>>1]=b[h+2>>1]|0;b[f+(g<<4)+4>>1]=b[h+4>>1]|0;g=g+1|0;if((g|0)==(k|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];k=c[e+80>>2]|0;j=c[d+152>>2]|0;if((j|0)<(k|0)){if((c[d+156>>2]|0)<(k|0)){if(!k){f=0;g=j}else{c[6435]=(c[6435]|0)+1;f=yc(k<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+152>>2]|0}if((g|0)>0){h=0;do{n=f+(h<<5)|0;m=(c[d+160>>2]|0)+(h<<5)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=k;g=d+160|0}else g=d+160|0;f=j;do{n=(c[g>>2]|0)+(f<<5)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];c[n+28>>2]=c[o+28>>2];f=f+1|0}while((f|0)!=(k|0))}c[d+152>>2]=k;if((k|0)<=0){i=o;return}g=c[d+160>>2]|0;h=0;f=c[e+72>>2]|0;while(1){b[g+(h<<5)+6>>1]=b[f+14>>1]|0;b[g+(h<<5)+8>>1]=b[f+16>>1]|0;b[g+(h<<5)+10>>1]=b[f+18>>1]|0;b[g+(h<<5)>>1]=b[f+8>>1]|0;b[g+(h<<5)+2>>1]=b[f+10>>1]|0;b[g+(h<<5)+4>>1]=b[f+12>>1]|0;c[g+(h<<5)+12>>2]=c[f>>2];c[g+(h<<5)+16>>2]=c[f+4>>2];h=h+1|0;if((h|0)==(k|0))break;else f=f+20|0}i=o;return}function Bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=3180;d=c[b+192>>2]|0;if(d|0)Ab[c[(c[d>>2]|0)+4>>2]&255](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){hh(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(h);if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=18;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==18){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;pi(b+1048|0);pi(b+988|0);pi(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;d=c[b+444>>2]|0;if(d|0){if(!((a[b+448>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+444>>2]=0}a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=c[b+424>>2]|0;if(d|0){if(!((a[b+428>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+404>>2]|0;if(d|0){if(!((a[b+408>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5008;return}if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=5008;return}function Cd(a,d,f,h,j,k,l,m,n){a=a|0;d=d|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;Bj(a,w+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);Bj(a,w,+g[f>>2],+g[f+4>>2],+g[f+8>>2],1);v=b[a+64>>1]|0;u=c[a+60>>2]|0;b[a+64>>1]=b[u+((v&65535)<<6)+48>>1]|0;o=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=o;c[u+((v&65535)<<6)+12>>2]=v&65535;c[u+((v&65535)<<6)>>2]=j;b[u+((v&65535)<<6)+4>>1]=k;b[u+((v&65535)<<6)+6>>1]=l;c[u+((v&65535)<<6)+8>>2]=n;q=(o&65535)<<1&65534;b[u+54>>1]=(e[u+54>>1]|0)+2;p=c[a+68>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+68>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+48>>1]=q+-1;b[u+((v&65535)<<6)+54>>1]=(o&65535)<<1;p=(c[a+60>>2]|0)+56|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+72>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+72>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6+2>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w+2>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+50>>1]=q+-1;b[u+((v&65535)<<6)+56>>1]=(o&65535)<<1;p=(c[a+60>>2]|0)+58|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+76>>2]|0;n=e[p+(q+-1<<2)>>1]|e[p+(q+-1<<2)+2>>1]<<16;b[p+((q|1)<<2)>>1]=n;b[p+((q|1)<<2)+2>>1]=n>>>16;p=c[a+76>>2]|0;b[p+(q+-1<<2)>>1]=b[w+6+4>>1]|0;b[p+(q+-1<<2)+2>>1]=v;b[p+(q<<2)>>1]=b[w+4>>1]|0;b[p+(q<<2)+2>>1]=v;b[u+((v&65535)<<6)+52>>1]=q+-1;b[u+((v&65535)<<6)+58>>1]=(o&65535)<<1;o=c[a+68>>2]|0;q=e[u+((v&65535)<<6)+48>>1]|0;p=c[a+60>>2]|0;n=b[o+(q<<2)+-4>>1]|0;if((e[o+(q<<2)>>1]|0)<(n&65535)){s=p+((e[o+(q<<2)+2>>1]|0)<<6)+48|0;r=o+(q<<2)|0;q=o+(q<<2)+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){t=p+(o<<6)+48|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=p+(o<<6)+54|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[s>>1]=(b[s>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[o>>1]|0)>=(n&65535))break;p=c[a+60>>2]|0;r=o}o=c[a+68>>2]|0}n=e[u+((v&65535)<<6)+54>>1]|0;q=o+(n<<2)|0;p=b[q+-4>>1]|0;a:do if((e[q>>1]|0)<(p&65535)){s=c[a+60>>2]|0;t=s+((e[o+(n<<2)+2>>1]|0)<<6)+54|0;n=p;r=q;p=q+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){s=s+(o<<6)+48|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}else{s=s+(o<<6)+54|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[p>>1]|e[p+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[p>>1]=o;b[p+2>>1]=o>>>16;o=r+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[o>>1]|0)>=(n&65535))break a;s=c[a+60>>2]|0;r=o}}while(0);o=c[a+72>>2]|0;q=e[u+((v&65535)<<6)+50>>1]|0;p=c[a+60>>2]|0;n=b[o+(q<<2)+-4>>1]|0;if((e[o+(q<<2)>>1]|0)<(n&65535)){s=p+((e[o+(q<<2)+2>>1]|0)<<6)+50|0;r=o+(q<<2)|0;q=o+(q<<2)+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){t=p+(o<<6)+50|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=p+(o<<6)+56|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[s>>1]=(b[s>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[o>>1]|0)>=(n&65535))break;p=c[a+60>>2]|0;r=o}o=c[a+72>>2]|0}n=e[u+((v&65535)<<6)+56>>1]|0;q=o+(n<<2)|0;p=b[q+-4>>1]|0;b:do if((e[q>>1]|0)<(p&65535)){s=c[a+60>>2]|0;t=s+((e[o+(n<<2)+2>>1]|0)<<6)+56|0;n=p;r=q;p=q+-4|0;while(1){o=e[r+-2>>1]|0;if(!(n&1)){s=s+(o<<6)+50|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}else{s=s+(o<<6)+56|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[r>>1]|e[r+2>>1]<<16;n=e[p>>1]|e[p+2>>1]<<16;b[r>>1]=n;b[r+2>>1]=n>>>16;b[p>>1]=o;b[p+2>>1]=o>>>16;o=r+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[o>>1]|0)>=(n&65535))break b;s=c[a+60>>2]|0;r=o}}while(0);wh(a,2,b[u+((v&65535)<<6)+52>>1]|0);uh(a,2,b[u+((v&65535)<<6)+58>>1]|0,m);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){j=o+((v&65535)<<6)|0;i=w;return j|0}c[o+((v&65535)<<6)+60>>2]=gc[c[(c[n>>2]|0)+8>>2]&3](n,d,f,h,j,k,l,m,0)|0;j=o+((v&65535)<<6)|0;i=w;return j|0}function Dd(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;A=_(c[l+24>>2]|0,m)|0;m=a[d+44>>0]|0;z=c[d+56>>2]|0;if(!(m<<24>>24!=0|(z|0)!=0)){A=0;return A|0}C=c[(o|0?l+12|0:l+8|0)>>2]|0;B=c[(o|0?l+20|0:l+16|0)>>2]|0;c[C+(A<<2)>>2]=c[n>>2];c[C+(A+1<<2)>>2]=c[n+4>>2];c[C+(A+2<<2)>>2]=c[n+8>>2];g[B+(A<<2)>>2]=-+g[n>>2];g[B+(A+1<<2)>>2]=-+g[n+4>>2];g[B+(A+2<<2)>>2]=-+g[n+8>>2];do if(!o){q=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){t=q-+g[e+48>>2];w=+g[b+1180>>2]-+g[e+52>>2];x=+g[b+1184>>2]-+g[e+56>>2];v=+g[n+8>>2];s=+g[n+4>>2];u=+g[n>>2];C=c[l+12>>2]|0;g[C+(A<<2)>>2]=w*v-x*s;g[C+(A+1<<2)>>2]=x*u-t*v;g[C+(A+2<<2)>>2]=t*s-w*u;u=+g[b+1176>>2]-+g[f+48>>2];w=+g[b+1180>>2]-+g[f+52>>2];s=+g[b+1184>>2]-+g[f+56>>2];t=+g[n+8>>2];v=+g[n+4>>2];x=+g[n>>2];C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-(w*t-s*v);g[C+(A+1<<2)>>2]=-(s*x-u*t);g[C+(A+2<<2)>>2]=-(u*v-w*x);break}I=q-+g[f+48>>2];H=+g[b+1180>>2]-+g[f+52>>2];F=+g[b+1184>>2]-+g[f+56>>2];u=+g[n>>2];G=+g[n+4>>2];E=+g[n+8>>2];K=+g[b+1112>>2]-+g[e+48>>2];t=+g[b+1116>>2]-+g[e+52>>2];q=+g[b+1120>>2]-+g[e+56>>2];v=+g[d+52>>2]-+g[d+48>>2];J=u*(u*K+G*t+E*q)+u*v-u*(I*u+H*G+F*E);D=G*(u*K+G*t+E*q)+G*v-G*(I*u+H*G+F*E);v=E*(u*K+G*t+E*q)+E*v-E*(I*u+H*G+F*E);x=+g[b+1272>>2];w=+g[b+1276>>2];s=E*(t-G*(u*K+G*t+E*q)+x*D)-G*(q-E*(u*K+G*t+E*q)+x*v);r=u*(q-E*(u*K+G*t+E*q)+x*v)-E*(K-u*(u*K+G*t+E*q)+x*J);q=G*(K-u*(u*K+G*t+E*q)+x*J)-u*(t-G*(u*K+G*t+E*q)+x*D);t=(H-G*(I*u+H*G+F*E)-w*D)*E-(F-E*(I*u+H*G+F*E)-w*v)*G;v=(F-E*(I*u+H*G+F*E)-w*v)*u-(I-u*(I*u+H*G+F*E)-w*J)*E;u=(I-u*(I*u+H*G+F*E)-w*J)*G-(H-G*(I*u+H*G+F*E)-w*D)*u;if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){t=w*t;v=w*v;u=w*u;s=x*s;r=x*r;q=x*q}C=(c[l+12>>2]|0)+(A<<2)|0;g[C>>2]=s;g[C+4>>2]=r;g[C+8>>2]=q;C=c[l+20>>2]|0;g[C+(A<<2)>>2]=-t;g[C+(A+1<<2)>>2]=-v;g[C+(A+2<<2)>>2]=-u}while(0);if(z|0?+g[d>>2]==+g[d+4>>2]:0){m=c[l+28>>2]|0;g[m+(A<<2)>>2]=0.0;q=0.0;e=l+28|0}else y=11;do if((y|0)==11){e=c[l+28>>2]|0;g[e+(A<<2)>>2]=0.0;if(!(m<<24>>24)){if(z|0){m=e;q=0.0;e=l+28|0;break}else m=1;return m|0}c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+28>>2];if(z|0){m=e;q=+g[e+(A<<2)>>2];e=l+28|0;break}v=+g[d+8>>2];q=o|0?v:-v;r=+g[d+52>>2];s=+g[d>>2];t=+g[d+4>>2];u=+g[l>>2]*+g[d+32>>2];do if(!(s>t))if(!(s==t)){if(q/u<0.0)if(r>=s?s-q/u>r:0){q=(s-r)/(q/u);break}else{q=r<s?0.0:1.0;break}if(q/u>0.0)if(r<=t?t-q/u<r:0){q=(t-r)/(q/u);break}else{q=r>t?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);g[e+(A<<2)>>2]=q*v+ +g[e+(A<<2)>>2];g[(c[l+36>>2]|0)+(A<<2)>>2]=-+g[d+12>>2];c[(c[l+40>>2]|0)+(A<<2)>>2]=c[d+12>>2];C=1;return C|0}while(0);K=+g[l>>2]*+g[d+32>>2]*+g[d+48>>2];g[m+(A<<2)>>2]=q+(o|0?-K:K);c[(c[l+32>>2]|0)+(A<<2)>>2]=c[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(A<<2)>>2]=-3402823466385288598117041.0e14;g[(c[l+40>>2]|0)+(A<<2)>>2]=3402823466385288598117041.0e14;C=1;return C|0}C=c[l+40>>2]|0;g[(c[l+36>>2]|0)+(A<<2)>>2]=(z|0)==1?0.0:-3402823466385288598117041.0e14;g[C+(A<<2)>>2]=(z|0)==1?3402823466385288598117041.0e14:0.0;r=+g[d+40>>2];if(!(r>0.0)){C=1;return C|0}if(o|0){J=+g[n>>2];K=+g[n+4>>2];q=+g[n+8>>2];q=+g[j>>2]*J+ +g[j+4>>2]*K+ +g[j+8>>2]*q-(J*+g[k>>2]+K*+g[k+4>>2]+q*+g[k+8>>2])}else{J=+g[n>>2];K=+g[n+4>>2];q=+g[n+8>>2];q=+g[h>>2]*J+ +g[h+4>>2]*K+ +g[h+8>>2]*q-(J*+g[i>>2]+K*+g[i+4>>2]+q*+g[i+8>>2])}if((z|0)==1){if(!(q<0.0)){C=1;return C|0}q=-(q*r);m=(c[e>>2]|0)+(A<<2)|0;if(!(+g[m>>2]<q)){C=1;return C|0}g[m>>2]=q;C=1;return C|0}else{if(!(q>0.0)){C=1;return C|0}q=-(q*r);m=(c[e>>2]|0)+(A<<2)|0;if(!(+g[m>>2]>q)){C=1;return C|0}g[m>>2]=q;C=1;return C|0}return 0}function Ed(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0;u=i;i=i+288|0;q=c[b+4>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);s=+g[e+52>>2]-+g[d+52>>2]-(+g[h+52>>2]-+g[f+52>>2]);t=+g[e+56>>2]-+g[d+56>>2]-(+g[h+56>>2]-+g[f+56>>2]);c[u+216>>2]=9160;g[u+216+36>>2]=999999984306749440.0;a[u+216+40>>0]=0;q=c[b+8>>2]|0;p=c[b+12>>2]|0;o=c[b+4>>2]|0;c[u+136>>2]=9208;c[u+136+4>>2]=0;c[u+136+8>>2]=1065353216;c[u+136+12>>2]=0;g[u+136+16>>2]=0.0;c[u+136+20>>2]=0;c[u+136+24>>2]=o;c[u+136+28>>2]=q;c[u+136+32>>2]=p;c[u+136+36>>2]=c[q+4>>2];c[u+136+40>>2]=c[p+4>>2];g[u+136+44>>2]=+Sb[c[(c[q>>2]|0)+48>>2]&15](q);g[u+136+48>>2]=+Sb[c[(c[p>>2]|0)+48>>2]&15](p);a[u+136+52>>0]=0;c[u+136+60>>2]=-1;c[u+136+72>>2]=1;c[u+136+76>>2]=1;g[u+128>>2]=999999984306749440.0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];c[u+16>>2]=c[d+16>>2];c[u+16+4>>2]=c[d+16+4>>2];c[u+16+8>>2]=c[d+16+8>>2];c[u+16+12>>2]=c[d+16+12>>2];c[u+32>>2]=c[d+32>>2];c[u+32+4>>2]=c[d+32+4>>2];c[u+32+8>>2]=c[d+32+8>>2];c[u+32+12>>2]=c[d+32+12>>2];c[u+48>>2]=c[d+48>>2];c[u+48+4>>2]=c[d+48+4>>2];c[u+48+8>>2]=c[d+48+8>>2];c[u+48+12>>2]=c[d+48+12>>2];c[u+64>>2]=c[f>>2];c[u+64+4>>2]=c[f+4>>2];c[u+64+8>>2]=c[f+8>>2];c[u+64+12>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+80+4>>2]=c[f+16+4>>2];c[u+80+8>>2]=c[f+16+8>>2];c[u+80+12>>2]=c[f+16+12>>2];c[u+96>>2]=c[f+32>>2];c[u+96+4>>2]=c[f+32+4>>2];c[u+96+8>>2]=c[f+32+8>>2];c[u+96+12>>2]=c[f+32+12>>2];c[u+112>>2]=c[f+48>>2];c[u+112+4>>2]=c[f+48+4>>2];c[u+112+8>>2]=c[f+48+8>>2];c[u+112+12>>2]=c[f+48+12>>2];Vc(u+136|0,u,u+216|0,0,0);p=(a[u+216+40>>0]|0)==0;q=u+216+20|0;c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];if(p){j=0;i=u;return j|0}n=+g[u+216+36>>2];l=+g[u+216+16>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;do if(n>1.0000000474974513e-03){l=0.0;p=0;while(1){if((p|0)>31){b=0;p=13;break}w=r*(c[k>>2]=o,+g[k>>2]);w=s*(c[k>>2]=m,+g[k>>2])+w;v=l;l=l-n/(t*(c[k>>2]=b,+g[k>>2])+w);if(!(!(l<=v)&(!(l<0.0)&!(l>1.0)))){b=0;p=13;break}zb[c[c[j>>2]>>2]&31](j,l);w=1.0-l;g[u+48>>2]=w*+g[d+48>>2]+l*+g[e+48>>2];g[u+52>>2]=w*+g[d+52>>2]+l*+g[e+52>>2];g[u+56>>2]=w*+g[d+56>>2]+l*+g[e+56>>2];g[u+112>>2]=w*+g[f+48>>2]+l*+g[h+48>>2];g[u+116>>2]=w*+g[f+52>>2]+l*+g[h+52>>2];g[u+120>>2]=w*+g[f+56>>2]+l*+g[h+56>>2];Vc(u+136|0,u,u+216|0,0,0);if(!(a[u+216+40>>0]|0)){b=0;p=13;break}n=+g[u+216+36>>2];if(n<0.0){p=8;break}c[u+264>>2]=c[q>>2];c[u+264+4>>2]=c[q+4>>2];c[u+264+8>>2]=c[q+8>>2];c[u+264+12>>2]=c[q+12>>2];b=c[u+216+12>>2]|0;m=c[u+216+8>>2]|0;o=c[u+216+4>>2]|0;if(!(n>1.0000000474974513e-03)){p=10;break}else p=p+1|0}if((p|0)==8){g[j+164>>2]=l;f=c[u+216+8>>2]|0;e=c[u+216+12>>2]|0;h=c[u+216+16>>2]|0;c[j+132>>2]=c[u+216+4>>2];c[j+136>>2]=f;c[j+140>>2]=e;c[j+144>>2]=h;c[j+148>>2]=c[q>>2];c[j+148+4>>2]=c[q+4>>2];c[j+148+8>>2]=c[q+8>>2];c[j+148+12>>2]=c[q+12>>2];j=1;i=u;return j|0}else if((p|0)==10){n=l;l=+g[u+216+16>>2];break}else if((p|0)==13){i=u;return b|0}}else n=0.0;while(0);w=r*(c[k>>2]=o,+g[k>>2]);w=s*(c[k>>2]=m,+g[k>>2])+w;if(t*(c[k>>2]=b,+g[k>>2])+w>=-+g[j+172>>2]){j=0;i=u;return j|0}g[j+164>>2]=n;c[j+132>>2]=o;c[j+136>>2]=m;c[j+140>>2]=b;g[j+144>>2]=l;c[j+148>>2]=c[u+264>>2];c[j+148+4>>2]=c[u+264+4>>2];c[j+148+8>>2]=c[u+264+8>>2];c[j+148+12>>2]=c[u+264+12>>2];j=1;i=u;return j|0}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0;m=i;i=i+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;k=c[b+36>>2]|0;j=c[d+36>>2]|0;f=c[a+8>>2]|0;K=c[(c[f+4>>2]|0)+24>>2]|0;d=c[K+(k*80|0)+64>>2]|0;b=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(j*80|0)+64>>2]|0;f=c[f+12>>2]|0;n=+g[f>>2];I=+g[f+4>>2];J=+g[f+8>>2];q=+g[f+16>>2];s=+g[f+20>>2];u=+g[f+24>>2];r=+g[f+32>>2];v=+g[f+36>>2];D=+g[f+40>>2];w=+g[K+(k*80|0)>>2];x=+g[K+(k*80|0)+16>>2];y=+g[K+(k*80|0)+32>>2];z=+g[K+(k*80|0)+4>>2];A=+g[K+(k*80|0)+20>>2];B=+g[K+(k*80|0)+36>>2];t=+g[K+(k*80|0)+8>>2];C=+g[K+(k*80|0)+24>>2];E=+g[K+(k*80|0)+40>>2];o=+g[K+(k*80|0)+48>>2];p=+g[K+(k*80|0)+52>>2];H=+g[K+(k*80|0)+56>>2];F=+g[f+48>>2]+(n*o+I*p+J*H);G=+g[f+52>>2]+(q*o+s*p+u*H);H=+g[f+56>>2]+(r*o+v*p+D*H);g[m+176>>2]=n*w+I*x+J*y;g[m+176+4>>2]=n*z+I*A+J*B;g[m+176+8>>2]=n*t+I*C+J*E;g[m+176+12>>2]=0.0;g[m+176+16>>2]=q*w+s*x+u*y;g[m+176+20>>2]=q*z+s*A+u*B;g[m+176+24>>2]=q*t+s*C+u*E;g[m+176+28>>2]=0.0;g[m+176+32>>2]=r*w+v*x+D*y;g[m+176+36>>2]=r*z+v*A+D*B;g[m+176+40>>2]=r*t+v*C+D*E;g[m+176+44>>2]=0.0;g[m+176+48>>2]=F;g[m+176+52>>2]=G;g[m+176+56>>2]=H;g[m+176+60>>2]=0.0;f=c[(c[a+12>>2]|0)+12>>2]|0;H=+g[f>>2];G=+g[f+4>>2];F=+g[f+8>>2];E=+g[f+16>>2];D=+g[f+20>>2];C=+g[f+24>>2];v=+g[f+32>>2];t=+g[f+36>>2];r=+g[f+40>>2];b=c[b>>2]|0;B=+g[b+(j*80|0)>>2];A=+g[b+(j*80|0)+16>>2];z=+g[b+(j*80|0)+32>>2];y=+g[b+(j*80|0)+4>>2];x=+g[b+(j*80|0)+20>>2];w=+g[b+(j*80|0)+36>>2];u=+g[b+(j*80|0)+8>>2];s=+g[b+(j*80|0)+24>>2];q=+g[b+(j*80|0)+40>>2];J=+g[b+(j*80|0)+48>>2];I=+g[b+(j*80|0)+52>>2];n=+g[b+(j*80|0)+56>>2];p=+g[f+48>>2]+(H*J+G*I+F*n);o=+g[f+52>>2]+(E*J+D*I+C*n);n=+g[f+56>>2]+(v*J+t*I+r*n);g[m+112>>2]=H*B+G*A+F*z;g[m+112+4>>2]=H*y+G*x+F*w;g[m+112+8>>2]=H*u+G*s+F*q;g[m+112+12>>2]=0.0;g[m+112+16>>2]=E*B+D*A+C*z;g[m+112+20>>2]=E*y+D*x+C*w;g[m+112+24>>2]=E*u+D*s+C*q;g[m+112+28>>2]=0.0;g[m+112+32>>2]=v*B+t*A+r*z;g[m+112+36>>2]=v*y+t*x+r*w;g[m+112+40>>2]=v*u+t*s+r*q;g[m+112+44>>2]=0.0;g[m+112+48>>2]=p;g[m+112+52>>2]=o;g[m+112+56>>2]=n;g[m+112+60>>2]=0.0;mc[c[(c[d>>2]|0)+8>>2]&127](d,m+176|0,m+96|0,m+80|0);mc[c[(c[e>>2]|0)+8>>2]&127](e,m+112|0,m+64|0,m+48|0);if(!(+g[m+96>>2]>+g[m+48>>2])?!(+g[m+80>>2]<+g[m+64>>2]):0)b=1;else b=0;if(!(!(+g[m+96+8>>2]>+g[m+48+8>>2])?!(+g[m+80+8>>2]<+g[m+64+8>>2]):0))b=0;if(+g[m+96+4>>2]>+g[m+48+4>>2]){i=m;return}if(+g[m+80+4>>2]<+g[m+64+4>>2]|b^1){i=m;return}f=c[a+8>>2]|0;b=c[f+8>>2]|0;c[m+24>>2]=f;c[m+24+4>>2]=d;c[m+24+8>>2]=b;c[m+24+12>>2]=m+176;c[m+24+16>>2]=-1;c[m+24+20>>2]=k;b=c[a+12>>2]|0;f=c[b+8>>2]|0;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=m+112;c[m+16>>2]=-1;c[m+20>>2]=j;f=c[a+28>>2]|0;c[6423]=(c[6423]|0)+1;b=((j<<16|k)+~((j<<16|k)<<15)>>10^(j<<16|k)+~((j<<16|k)<<15))*9|0;b=(c[f+12>>2]|0)+-1&((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11));a:do if((b|0)<(c[f+32>>2]|0)?(h=c[(c[f+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[f+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(k|0)?(c[e+(b*12|0)+4>>2]|0)==(j|0):0)break;b=c[(c[f+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){l=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else l=16}else l=16;while(0);if((l|0)==16){b=c[a+16>>2]|0;b=Ib[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(Ob[c[(c[K>>2]|0)+12>>2]&63](K,k,j)|0)+8>>2]=b}K=c[a+24>>2]|0;h=c[K+8>>2]|0;l=c[K+12>>2]|0;c[K+8>>2]=m+24;c[K+12>>2]=m;ic[c[(c[K>>2]|0)+8>>2]&127](K,-1,k);K=c[a+24>>2]|0;ic[c[(c[K>>2]|0)+12>>2]&127](K,-1,j);yb[c[(c[b>>2]|0)+8>>2]&31](b,m+24|0,m,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=h;c[K+12>>2]=l;i=m;return}function Gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;z=i;i=i+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=z;return}case 0:{w=+g[b+28>>2];x=+g[b+28+4>>2];x=+g[d+4>>2]>=0.0?x:-x;y=+g[b+28+8>>2];y=+g[d+8>>2]>=0.0?y:-y;g[a>>2]=+g[d>>2]>=0.0?w:-w;g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}case 1:{u=+g[d>>2];v=+g[d+4>>2];y=+g[d+8>>2];x=u*+g[b+56>>2]+v*+g[b+56+4>>2]+y*+g[b+56+8>>2];w=u*+g[b+56+16>>2]+v*+g[b+56+20>>2]+y*+g[b+56+24>>2];y=u*+g[b+56+32>>2]+v*+g[b+56+36>>2]+y*+g[b+56+40>>2];d=x<w?(w<y?2:1):x<y?2:0;o=c[b+56+(d<<4)+4>>2]|0;r=c[b+56+(d<<4)+8>>2]|0;c[a>>2]=c[b+56+(d<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=r;g[a+12>>2]=0.0;i=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];f=c[d+4>>2]|0;c[z+16+4>>2]=f;r=c[d+8>>2]|0;c[z+16+8>>2]=r;g[z+16+12>>2]=0.0;d=c[b+52>>2]|0;e=(c[k>>2]=r,+g[k>>2]);switch(d|0){case 2:{e=(c[k>>2]=f,+g[k>>2]);f=0;b=2;o=1;break}case 1:{f=0;b=1;o=2;break}default:{f=1;b=0;o=2}}n=+g[z+32+(f<<2)>>2];l=+g[z+32+(d<<2)>>2];m=+g[z+16+(f<<2)>>2];h=+O(+(m*m+e*e));j=+g[z+16+(b<<2)>>2];if(h!=0.0){g[z+(f<<2)>>2]=m*(n/h);g[z+(b<<2)>>2]=j<0.0?-l:l;g[z+(o<<2)>>2]=n/h*e;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2]}else{g[z+(f<<2)>>2]=n;g[z+(b<<2)>>2]=j<0.0?-l:l;g[z+(o<<2)>>2]=0.0;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2]}g[a+12>>2]=0.0;i=z;return}case 10:{e=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];o=c[b+52>>2]|0;v=+g[b+28+(o<<2)>>2];l=+g[b+28+(((o+2|0)%3|0)<<2)>>2];if(e*e+h*h+j*j<9.999999747378752e-05){y=1.0;x=0.0;w=0.0}else{w=1.0/+O(+(e*e+h*h+j*j));y=e*w;x=h*w;w=j*w}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=v;q=l*y;t=l*x;u=l*w;s=+g[b+44>>2];m=y*s;p=x*s;s=w*s;e=q+ +g[z+32>>2]-m;h=t+ +g[z+32+4>>2]-p;l=u+ +g[z+32+8>>2]-s;j=w*l+(y*e+x*h);if(j>-999999984306749440.0){b=(g[k>>2]=e,c[k>>2]|0);f=(g[k>>2]=h,c[k>>2]|0);n=j;d=(g[k>>2]=l,c[k>>2]|0)}else{n=-999999984306749440.0;b=0;d=0;f=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;g[z+32+(o<<2)>>2]=-v;j=q+ +g[z+32>>2]-m;h=t+ +g[z+32+4>>2]-p;e=u+ +g[z+32+8>>2]-s;if(w*e+(y*j+x*h)>n){b=(g[k>>2]=j,c[k>>2]|0);f=(g[k>>2]=h,c[k>>2]|0);d=(g[k>>2]=e,c[k>>2]|0)}c[a>>2]=b;c[a+4>>2]=f;c[a+8>>2]=d;g[a+12>>2]=0.0;i=z;return}case 5:{r=c[b+92>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*p;m=+g[d+4>>2]*q;e=+g[d+8>>2]*n;if((o|0)>0){b=0;j=-3402823466385288598117041.0e14;f=-1;while(1){h=l*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+e*+g[r+(b<<4)+8>>2];d=h>j;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else j=d?h:j}}else f=-1;x=q*+g[r+(f<<4)+4>>2];y=n*+g[r+(f<<4)+8>>2];g[a>>2]=p*+g[r+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}case 4:{r=c[b+104>>2]|0;o=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];l=+g[d>>2]*p;m=+g[d+4>>2]*q;e=+g[d+8>>2]*n;if((o|0)>0){b=0;j=-3402823466385288598117041.0e14;f=-1;while(1){h=l*+g[r+(b<<4)>>2]+m*+g[r+(b<<4)+4>>2]+e*+g[r+(b<<4)+8>>2];d=h>j;f=d?b:f;b=b+1|0;if((b|0)==(o|0))break;else j=d?h:j}}else f=-1;x=q*+g[r+(f<<4)+4>>2];y=n*+g[r+(f<<4)+8>>2];g[a>>2]=p*+g[r+(f<<4)>>2];g[a+4>>2]=x;g[a+8>>2]=y;g[a+12>>2]=0.0;i=z;return}default:{ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=z;return}}}function Hd(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0.0;j=+g[e>>2];m=(g[k>>2]=j,c[k>>2]|0);r=j<999999984306749440.0?m:1566444395;i=+g[e+4>>2];o=(g[k>>2]=i,c[k>>2]|0);t=i<999999984306749440.0?o:1566444395;y=+g[e+8>>2];q=(g[k>>2]=y,c[k>>2]|0);z=y<999999984306749440.0?q:1566444395;m=j>-999999984306749440.0?m:-581039253;o=i>-999999984306749440.0?o:-581039253;q=y>-999999984306749440.0?q:-581039253;y=+g[e+16>>2];x=y<(c[k>>2]=r,+g[k>>2]);l=(g[k>>2]=y,c[k>>2]|0);r=x?l:r;i=+g[e+20>>2];x=i<(c[k>>2]=t,+g[k>>2]);n=(g[k>>2]=i,c[k>>2]|0);t=x?n:t;j=+g[e+24>>2];x=j<(c[k>>2]=z,+g[k>>2]);p=(g[k>>2]=j,c[k>>2]|0);z=x?p:z;x=(c[k>>2]=m,+g[k>>2])<y?l:m;s=(c[k>>2]=o,+g[k>>2])<i?n:o;q=(c[k>>2]=q,+g[k>>2])<j?p:q;y=+g[e+32>>2];m=y<(c[k>>2]=r,+g[k>>2]);o=(g[k>>2]=y,c[k>>2]|0);r=m?o:r;j=+g[e+36>>2];m=j<(c[k>>2]=t,+g[k>>2]);p=(g[k>>2]=j,c[k>>2]|0);m=m?p:t;i=+g[e+40>>2];l=i<(c[k>>2]=z,+g[k>>2]);n=(g[k>>2]=i,c[k>>2]|0);l=l?n:z;o=(c[k>>2]=x,+g[k>>2])<y?o:x;p=(c[k>>2]=s,+g[k>>2])<j?p:s;q=(c[k>>2]=q,+g[k>>2])<i?n:q;i=(c[k>>2]=o,+g[k>>2]);j=(c[k>>2]=r,+g[k>>2]);if(i-j<2.0000000949949026e-03){o=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);n=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}else n=r;i=(c[k>>2]=p,+g[k>>2]);j=(c[k>>2]=m,+g[k>>2]);if(i-j<2.0000000949949026e-03){p=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);m=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}i=(c[k>>2]=q,+g[k>>2]);j=(c[k>>2]=l,+g[k>>2]);if(i-j<2.0000000949949026e-03){q=(g[k>>2]=i+1.0000000474974513e-03,c[k>>2]|0);l=(g[k>>2]=j+-1.0000000474974513e-03,c[k>>2]|0)}r=c[d+8>>2]|0;j=+g[r+4>>2];y=(c[k>>2]=n,+g[k>>2])-j;i=+g[r+8>>2];u=(c[k>>2]=m,+g[k>>2])-i;B=+g[r+12>>2];v=+g[r+36>>2];w=+g[r+40>>2];A=+g[r+44>>2];r=~~(((c[k>>2]=l,+g[k>>2])-B)*A)&65534;j=(c[k>>2]=o,+g[k>>2])-j;i=(c[k>>2]=p,+g[k>>2])-i;q=(~~(((c[k>>2]=q,+g[k>>2])-B)*A+1.0)&65535|1)&65535;o=c[d+4>>2]|0;m=c[o+4>>2]|0;if((m|0)!=(c[o+8>>2]|0)){d=m;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}p=m|0?m<<1:1;if((m|0)>=(p|0)){d=m;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}if(!p)l=0;else{c[6435]=(c[6435]|0)+1;l=yc((p<<4|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}m=c[o+4>>2]|0}if((m|0)>0){n=0;do{d=l+(n<<4)|0;z=(c[o+12>>2]|0)+(n<<4)|0;c[d>>2]=c[z>>2];c[d+4>>2]=c[z+4>>2];c[d+8>>2]=c[z+8>>2];c[d+12>>2]=c[z+12>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[o+12>>2]|0;if(m|0){if(a[o+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=l;c[o+8>>2]=p;d=c[o+4>>2]|0;z=o+12|0;z=c[z>>2]|0;x=z+(d<<4)|0;b[x>>1]=~~(y*v)&65534;x=z+(d<<4)+2|0;b[x>>1]=~~(u*w)&65534;x=z+(d<<4)+4|0;b[x>>1]=r;x=z+(d<<4)+6|0;b[x>>1]=~~(j*v+1.0)&65535|1;x=z+(d<<4)+8|0;b[x>>1]=~~(i*w+1.0)&65535|1;x=z+(d<<4)+10|0;b[x>>1]=q;d=z+(d<<4)+12|0;c[d>>2]=f<<21|h;h=c[o+4>>2]|0;h=h+1|0;c[o+4>>2]=h;return}function Id(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;i=c[d+8>>2]|0;if(!i){a=0;return a|0}j=i;D=i;i=0;do{if((c[D+20>>2]|0)>(c[a+100>>2]|0)){A=c[D+12>>2]|0;w=c[A+88>>2]|0;x=w-(c[d+88>>2]|0)|0;y=c[A+92>>2]|0;z=y-(c[d+92>>2]|0)|0;A=c[A+96>>2]|0;B=A-(c[d+96>>2]|0)|0;k=vr(c[g>>2]|0,c[g+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;l=C;j=vr(c[g+8>>2]|0,c[g+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;l=Kt(j|0,C|0,k|0,l|0)|0;k=C;j=vr(c[g+16>>2]|0,c[g+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;j=Kt(l|0,k|0,j|0,C|0)|0;k=C;l=vr(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;v=C;m=vr(c[f+8>>2]|0,c[f+8+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;v=Kt(m|0,C|0,l|0,v|0)|0;l=C;m=vr(c[f+16>>2]|0,c[f+16+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;m=Kt(v|0,l|0,m|0,C|0)|0;l=C;if((k|0)>0|(k|0)==0&j>>>0>0){v=k;k=1}else{t=Is(0,0,j|0,k|0)|0;v=C;u=Mr(j|0,k|0,63)|0;j=(k|0)<0?t:0;v=(k|0)<0?v:0;k=u}if(!((l|0)>0|(l|0)==0&m>>>0>0)){u=Is(0,0,m|0,l|0)|0;n=(l|0)<0?0-k|0:k;k=(l|0)<0?u:0;l=(l|0)<0?C:0;if(!((n|0)==0&((k|0)==0&(l|0)==0))){m=k;o=8}}else{n=k;o=8}a:do if((o|0)==8){o=0;if(!i){c[h>>2]=j;c[h+4>>2]=v;c[h+8>>2]=m;c[h+8+4>>2]=l;c[h+16>>2]=n;i=D;break}k=c[h+16>>2]|0;if((n|0)==(k|0)){if(n|0){p=c[h+8>>2]|0;s=c[h+8+4>>2]|0;o=vr(p|0,0,j|0,0)|0;k=C;t=vr(s|0,0,j|0,0)|0;r=C;p=vr(p|0,0,v|0,0)|0;q=C;s=vr(s|0,0,v|0,0)|0;G=C;p=Kt(t|0,0,p|0,0)|0;t=C;G=Kt(r|0,0,s|0,G|0)|0;q=Kt(G|0,C|0,q|0,0)|0;t=Kt(q|0,C|0,t|0,0)|0;q=C;k=Kt(0,p|0,o|0,k|0)|0;o=C;p=Kt(t|0,q|0,(o>>>0<p>>>0|(o|0)==(p|0)&k>>>0<0)&1|0,0)|0;q=C;t=c[h>>2]|0;G=c[h+4>>2]|0;s=vr(t|0,0,m|0,0)|0;r=C;E=vr(G|0,0,m|0,0)|0;H=C;t=vr(t|0,0,l|0,0)|0;u=C;G=vr(G|0,0,l|0,0)|0;F=C;t=Kt(E|0,0,t|0,0)|0;E=C;F=Kt(H|0,0,G|0,F|0)|0;u=Kt(F|0,C|0,u|0,0)|0;E=Kt(u|0,C|0,E|0,0)|0;u=C;r=Kt(0,t|0,s|0,r|0)|0;s=C;t=Kt(E|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=C;if(!(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0))if(!(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0))if(o>>>0<s>>>0|(o|0)==(s|0)&k>>>0<r>>>0)k=-1;else k=(o>>>0>s>>>0|(o|0)==(s|0)&k>>>0>r>>>0)&1;else k=1;else k=-1;k=_(k,n)|0;o=18}}else{k=n-k|0;o=18}do if((o|0)==18){o=0;if((k|0)>=0)if(!k)break;else break a;else{c[h>>2]=j;c[h+4>>2]=v;c[h+8>>2]=m;c[h+8+4>>2]=l;c[h+16>>2]=n;i=D;break a}}while(0);j=(c[i+4>>2]|0)==(D|0);if((c[i>>2]|0)==(D|0))if(j){H=c[e+8>>2]|0;E=_(H,z)|0;u=c[e+4>>2]|0;E=E-(_(u,B)|0)|0;G=c[e>>2]|0;H=(_(G,B)|0)-(_(H,x)|0)|0;G=(_(u,x)|0)-(_(G,z)|0)|0;u=c[i+12>>2]|0;j=c[(c[D+8>>2]|0)+12>>2]|0;z=c[j+88>>2]|0;x=(c[u+88>>2]|0)-z|0;v=c[j+92>>2]|0;B=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;F=(_(A-j|0,B)|0)-(_(y-v|0,u)|0)|0;j=(_(w-z|0,u)|0)-(_(A-j|0,x)|0)|0;B=(_(y-v|0,x)|0)-(_(w-z|0,B)|0)|0;E=vr(F|0,((F|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;F=C;H=vr(j|0,((j|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;j=C;G=vr(B|0,((B|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=Kt(E|0,F|0,G|0,C|0)|0;j=Kt(G|0,C|0,H|0,j|0)|0;H=C;j=(H|0)>0|(H|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:D}while(0);j=c[d+8>>2]|0}D=c[D>>2]|0}while((D|0)!=(j|0));return i|0}function Jd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;v=i;i=i+560|0;k=h;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[v+400>>2]=a;c[v+400+4>>2]=d;o=+g[e>>2];E=+g[b>>2];n=+g[e+16>>2];j=+g[b+16>>2];m=+g[e+32>>2];F=+g[b+32>>2];w=+g[b+4>>2];G=+g[b+20>>2];x=+g[b+36>>2];t=+g[b+8>>2];r=+g[b+24>>2];p=+g[b+40>>2];D=+g[e+4>>2];C=+g[e+20>>2];B=+g[e+36>>2];A=+g[e+8>>2];z=+g[e+24>>2];y=+g[e+40>>2];g[v+400+8>>2]=o*E+n*j+m*F;g[v+400+12>>2]=o*w+n*G+m*x;g[v+400+16>>2]=o*t+n*r+m*p;g[v+400+20>>2]=0.0;g[v+400+24>>2]=E*D+j*C+F*B;g[v+400+28>>2]=w*D+G*C+x*B;g[v+400+32>>2]=t*D+r*C+p*B;g[v+400+36>>2]=0.0;g[v+400+40>>2]=E*A+j*z+F*y;g[v+400+44>>2]=w*A+G*z+x*y;g[v+400+48>>2]=t*A+r*z+p*y;g[v+400+52>>2]=0.0;p=+g[e+48>>2]-+g[b+48>>2];r=+g[e+52>>2]-+g[b+52>>2];t=+g[e+56>>2]-+g[b+56>>2];x=+g[b>>2];G=+g[e>>2];w=+g[b+16>>2];F=+g[e+16>>2];j=+g[b+32>>2];E=+g[e+32>>2];m=+g[b+4>>2];n=+g[b+20>>2];o=+g[b+36>>2];q=+g[b+8>>2];s=+g[b+24>>2];u=+g[b+40>>2];g[v+400+56>>2]=x*G+w*F+j*E;g[v+400+60>>2]=x*D+w*C+j*B;g[v+400+64>>2]=x*A+w*z+j*y;g[v+400+68>>2]=0.0;g[v+400+72>>2]=G*m+F*n+E*o;g[v+400+76>>2]=D*m+C*n+B*o;g[v+400+80>>2]=A*m+z*n+y*o;g[v+400+84>>2]=0.0;g[v+400+88>>2]=G*q+F*s+E*u;g[v+400+92>>2]=D*q+C*s+B*u;g[v+400+96>>2]=A*q+z*s+y*u;g[v+400+100>>2]=0.0;g[v+400+104>>2]=p*x+r*w+t*j;g[v+400+108>>2]=p*m+r*n+t*o;g[v+400+112>>2]=p*q+r*s+t*u;g[v+400+116>>2]=0.0;c[v+400+120>>2]=80;c[v+400+124>>2]=0;c[v+16+364>>2]=0;c[v+16+128>>2]=0;c[v+16+128+4>>2]=0;c[v+16+128+8>>2]=0;c[v+16+128+12>>2]=0;c[v+16+376>>2]=2;c[v+16+368>>2]=0;g[v+16+144>>2]=0.0;f=Uc(v+16|0,v+400|0,f)|0;if(f|0){c[h>>2]=(f|0)==1?1:2;b=0;i=v;return b|0}f=c[v+16+372>>2]|0;if(!(c[f+32>>2]|0)){q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;j=0.0}else{e=0;q=0.0;p=0.0;o=0.0;n=0.0;m=0.0;j=0.0;do{u=+g[f+16+(e<<2)>>2];a=c[v+400+120>>2]|0;l=c[v+400+124>>2]|0;d=(c[v+400>>2]|0)+(l>>1)|0;if(l&1)a=c[(c[d>>2]|0)+a>>2]|0;ic[a&127](v,d,c[f+(e<<2)>>2]|0);q=q+u*+g[v>>2];o=o+u*+g[v+4>>2];p=p+u*+g[v+8>>2];f=c[(c[v+16+372>>2]|0)+(e<<2)>>2]|0;r=-+g[f>>2];s=-+g[f+4>>2];t=-+g[f+8>>2];f=c[v+400+120>>2]|0;l=c[v+400+124>>2]|0;a=(c[v+400+4>>2]|0)+(l>>1)|0;if(l&1)f=c[(c[a>>2]|0)+f>>2]|0;F=+g[v+400+24>>2]*r+ +g[v+400+28>>2]*s+ +g[v+400+32>>2]*t;E=+g[v+400+40>>2]*r+ +g[v+400+44>>2]*s+ +g[v+400+48>>2]*t;g[v+528>>2]=+g[v+400+8>>2]*r+ +g[v+400+12>>2]*s+ +g[v+400+16>>2]*t;g[v+528+4>>2]=F;g[v+528+8>>2]=E;g[v+528+12>>2]=0.0;ic[f&127](v+544|0,a,v+528|0);E=+g[v+544>>2];F=+g[v+544+4>>2];G=+g[v+544+8>>2];n=n+u*(E*+g[v+400+56>>2]+F*+g[v+400+60>>2]+G*+g[v+400+64>>2]+ +g[v+400+104>>2]);j=j+u*(E*+g[v+400+72>>2]+F*+g[v+400+76>>2]+G*+g[v+400+80>>2]+ +g[v+400+108>>2]);m=m+u*(E*+g[v+400+88>>2]+F*+g[v+400+92>>2]+G*+g[v+400+96>>2]+ +g[v+400+112>>2]);e=e+1|0;f=c[v+16+372>>2]|0}while(e>>>0<(c[f+32>>2]|0)>>>0)}D=q*+g[b+16>>2]+o*+g[b+20>>2]+p*+g[b+24>>2]+ +g[b+52>>2];E=q*+g[b+32>>2]+o*+g[b+36>>2]+p*+g[b+40>>2]+ +g[b+56>>2];g[h+4>>2]=q*+g[b>>2]+o*+g[b+4>>2]+p*+g[b+8>>2]+ +g[b+48>>2];g[h+8>>2]=D;g[h+12>>2]=E;g[h+16>>2]=0.0;E=n*+g[b+16>>2]+j*+g[b+20>>2]+m*+g[b+24>>2]+ +g[b+52>>2];D=n*+g[b+32>>2]+j*+g[b+36>>2]+m*+g[b+40>>2]+ +g[b+56>>2];g[h+20>>2]=n*+g[b>>2]+j*+g[b+4>>2]+m*+g[b+8>>2]+ +g[b+48>>2];g[h+24>>2]=E;g[h+28>>2]=D;g[h+32>>2]=0.0;D=q-n;E=o-j;G=p-m;g[h+48>>2]=0.0;F=+O(+(D*D+E*E+G*G));g[h+52>>2]=F;F=F>9.999999747378752e-05?1.0/F:1.0;g[h+36>>2]=F*D;g[h+40>>2]=F*E;g[h+44>>2]=F*G;b=1;i=v;return b|0}function Kd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;j=i;i=i+464|0;li(15711);c[j+128>>2]=c[d>>2];c[j+128+4>>2]=c[d+4>>2];c[j+128+8>>2]=c[d+8>>2];c[j+128+12>>2]=c[d+12>>2];c[j+128+16>>2]=c[d+16>>2];c[j+128+16+4>>2]=c[d+16+4>>2];c[j+128+16+8>>2]=c[d+16+8>>2];c[j+128+16+12>>2]=c[d+16+12>>2];c[j+128+32>>2]=c[d+32>>2];c[j+128+32+4>>2]=c[d+32+4>>2];c[j+128+32+8>>2]=c[d+32+8>>2];c[j+128+32+12>>2]=c[d+32+12>>2];l=j+128+48|0;c[l>>2]=c[d+48>>2];c[l+4>>2]=c[d+48+4>>2];c[l+8>>2]=c[d+48+8>>2];c[l+12>>2]=c[d+48+12>>2];c[j+64>>2]=c[e>>2];c[j+64+4>>2]=c[e+4>>2];c[j+64+8>>2]=c[e+8>>2];c[j+64+12>>2]=c[e+12>>2];c[j+64+16>>2]=c[e+16>>2];c[j+64+16+4>>2]=c[e+16+4>>2];c[j+64+16+8>>2]=c[e+16+8>>2];c[j+64+16+12>>2]=c[e+16+12>>2];c[j+64+32>>2]=c[e+32>>2];c[j+64+32+4>>2]=c[e+32+4>>2];c[j+64+32+8>>2]=c[e+32+8>>2];c[j+64+32+12>>2]=c[e+32+12>>2];k=j+64+48|0;c[k>>2]=c[e+48>>2];c[k+4>>2]=c[e+48+4>>2];c[k+8>>2]=c[e+48+8>>2];c[k+12>>2]=c[e+48+12>>2];Gf(j+128|0,j+64|0,j+256|0,j+192|0);t=+g[j+192>>2];m=t*+g[j+256+4>>2];r=t*+g[j+256+8>>2];g[j>>2]=+g[j+256>>2]*t;g[j+4>>2]=m;g[j+8>>2]=r;g[j+12>>2]=0.0;c[j+256>>2]=0;c[j+256+4>>2]=0;c[j+256+8>>2]=0;c[j+256+12>>2]=0;c[j+192+4>>2]=0;c[j+192+4+4>>2]=0;c[j+192+24>>2]=0;c[j+192+24+4>>2]=0;s=j+192+44|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;Wg(j+128|0,j+16|0);r=+g[j+16>>2];m=+g[j+16+4>>2];t=+g[j+16+8>>2];q=+g[j+16+12>>2];o=r*(2.0/(r*r+m*m+t*t+q*q));n=m*(2.0/(r*r+m*m+t*t+q*q));p=t*(2.0/(r*r+m*m+t*t+q*q));g[j+192>>2]=1.0-(m*n+t*p);g[j+192+4>>2]=r*n-q*p;g[j+192+8>>2]=r*p+q*n;g[j+192+12>>2]=0.0;g[j+192+16>>2]=r*n+q*p;g[j+192+20>>2]=1.0-(r*o+t*p);g[j+192+24>>2]=m*p-q*o;g[j+192+28>>2]=0.0;g[j+192+32>>2]=r*p-q*n;g[j+192+36>>2]=m*p+q*o;g[j+192+40>>2]=1.0-(r*o+m*n);g[s>>2]=0.0;rh(b,j+192|0,j+256|0,j,j+48|0,j+32|0);c[j+256>>2]=5936;c[j+256+36>>2]=c[d>>2];c[j+256+36+4>>2]=c[d+4>>2];c[j+256+36+8>>2]=c[d+8>>2];c[j+256+36+12>>2]=c[d+12>>2];c[j+256+52>>2]=c[d+16>>2];c[j+256+52+4>>2]=c[d+16+4>>2];c[j+256+52+8>>2]=c[d+16+8>>2];c[j+256+52+12>>2]=c[d+16+12>>2];c[j+256+68>>2]=c[d+32>>2];c[j+256+68+4>>2]=c[d+32+4>>2];c[j+256+68+8>>2]=c[d+32+8>>2];c[j+256+68+12>>2]=c[d+32+12>>2];s=j+256+84|0;c[s>>2]=c[d+48>>2];c[s+4>>2]=c[d+48+4>>2];c[s+8>>2]=c[d+48+8>>2];c[s+12>>2]=c[d+48+12>>2];c[j+256+100>>2]=c[e>>2];c[j+256+100+4>>2]=c[e+4>>2];c[j+256+100+8>>2]=c[e+8>>2];c[j+256+100+12>>2]=c[e+12>>2];c[j+256+116>>2]=c[e+16>>2];c[j+256+116+4>>2]=c[e+16+4>>2];c[j+256+116+8>>2]=c[e+16+8>>2];c[j+256+116+12>>2]=c[e+16+12>>2];c[j+256+132>>2]=c[e+32>>2];c[j+256+132+4>>2]=c[e+32+4>>2];c[j+256+132+8>>2]=c[e+32+8>>2];c[j+256+132+12>>2]=c[e+32+12>>2];d=j+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[j+256+180>>2]=a;c[j+256+184>>2]=f;g[j+256+188>>2]=h;c[j+256+192>>2]=b;n=+g[d>>2]-+g[s>>2];m=+g[j+256+152>>2]-+g[j+256+88>>2];o=+g[j+256+156>>2]-+g[j+256+92>>2];h=1.0/+O(+(n*n+m*m+o*o));r=n*h==0.0?999999984306749440.0:1.0/(n*h);g[j+256+4>>2]=r;q=m*h==0.0?999999984306749440.0:1.0/(m*h);g[j+256+8>>2]=q;p=o*h==0.0?999999984306749440.0:1.0/(o*h);g[j+256+12>>2]=p;c[j+256+20>>2]=r<0.0&1;c[j+256+24>>2]=q<0.0&1;c[j+256+28>>2]=p<0.0&1;g[j+256+32>>2]=o*o*h+(n*n*h+m*m*h);b=c[a+68>>2]|0;Qb[c[(c[b>>2]|0)+24>>2]&7](b,l,k,j+256|0,j+48|0,j+32|0);b=c[2357]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){i=j;return}do if(c[b+4>>2]|0){tb(j+256|0,0)|0;s=c[6434]|0;g[b+8>>2]=+g[b+8>>2]+ +(((c[j+256+4>>2]|0)-(c[s+4>>2]|0)+(((c[j+256>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2357]|0;break}else{i=j;return}}while(0);c[2357]=c[b+20>>2];i=j;return}
13function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0,fa=0.0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0;Fa=i;i=i+592|0;c[Fa+48>>2]=c[b>>2];c[Fa>>2]=c[b+64>>2];E=Fa+48+4|0;c[E>>2]=c[b+4>>2];c[Fa+4>>2]=c[b+68>>2];c[Fa+48+8>>2]=c[b+8>>2];c[Fa+8>>2]=c[b+72>>2];c[Fa+48+16>>2]=c[b+16>>2];c[Fa+16>>2]=c[b+80>>2];c[Fa+48+20>>2]=c[b+20>>2];c[Fa+20>>2]=c[b+84>>2];c[Fa+48+24>>2]=c[b+24>>2];c[Fa+24>>2]=c[b+88>>2];c[Fa+48+32>>2]=c[b+32>>2];c[Fa+32>>2]=c[b+96>>2];c[Fa+48+36>>2]=c[b+36>>2];c[Fa+36>>2]=c[b+100>>2];c[Fa+48+40>>2]=c[b+40>>2];c[Fa+40>>2]=c[b+104>>2];Ca=c[a+4>>2]|0;ia=+g[Ca+28>>2];ja=+g[Ca+32>>2];ma=+g[Ca+36>>2];ka=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);la=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);ma=(ma+ +Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca))*2.0;Ca=c[a+8>>2]|0;qa=+g[Ca+28>>2];ra=+g[Ca+32>>2];wa=+g[Ca+36>>2];sa=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);pa=+Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca);wa=(wa+ +Sb[c[(c[Ca>>2]|0)+48>>2]&15](Ca))*2.0;D=+g[b+112>>2]-+g[b+48>>2];M=+g[b+116>>2]-+g[b+52>>2];P=+g[b+120>>2]-+g[b+56>>2];ca=+g[Fa+48>>2];aa=+g[Fa+48+16>>2];ba=+g[Fa+48+32>>2];$=+g[E>>2];X=+g[Fa+48+20>>2];Z=+g[Fa+48+36>>2];fa=+g[Fa+48+8>>2];ha=+g[Fa+48+24>>2];na=+g[Fa+48+40>>2];g[Fa+484>>2]=(ia+ka)*2.0*.5;g[Fa+484+4>>2]=(ja+la)*2.0*.5;g[Fa+484+8>>2]=ma*.5;g[Fa+472>>2]=(qa+sa)*2.0*.5;g[Fa+472+4>>2]=(ra+pa)*2.0*.5;g[Fa+472+8>>2]=wa*.5;za=+g[Fa>>2];ta=+g[Fa+16>>2];va=+g[Fa+32>>2];ya=+g[Fa+4>>2];oa=+g[Fa+20>>2];ua=+g[Fa+36>>2];xa=+g[Fa+8>>2];Da=+g[Fa+24>>2];Ea=+g[Fa+40>>2];y=+N(+(ca*za+aa*ta+ba*va));A=+N(+(ca*ya+aa*oa+ba*ua));R=+N(+(ca*xa+aa*Da+ba*Ea));z=+N(+(za*$+ta*X+va*Z));B=+N(+(ya*$+oa*X+ua*Z));S=+N(+(xa*$+Da*X+Ea*Z));T=+N(+(za*fa+ta*ha+va*na));U=+N(+(ya*fa+oa*ha+ua*na));C=+N(+(xa*fa+Da*ha+Ea*na));h=+N(+(D*ca+M*aa+P*ba))-(wa*.5*R+((ia+ka)*2.0*.5+y*(qa+sa)*2.0*.5+A*(ra+pa)*2.0*.5));if(h>0.0){i=Fa;return}if(h>-3402823466385288598117041.0e14){n=1;l=D*ca+M*aa+P*ba<0.0&1;e=Fa+48|0}else{n=0;l=0;e=0;h=-3402823466385288598117041.0e14}j=+N(+(D*$+M*X+P*Z))-((ja+la)*2.0*.5+z*(qa+sa)*2.0*.5+B*(ra+pa)*2.0*.5+S*wa*.5);if(j>0.0){i=Fa;return}if(j>h){n=2;l=D*$+M*X+P*Z<0.0&1;e=E;h=j}j=+N(+(D*fa+M*ha+P*na))-(ma*.5+T*(qa+sa)*2.0*.5+U*(ra+pa)*2.0*.5+C*wa*.5);if(j>0.0){i=Fa;return}if(j>h){n=3;l=D*fa+M*ha+P*na<0.0&1;e=Fa+48+8|0;h=j}j=+N(+(D*za+M*ta+P*va))-((qa+sa)*2.0*.5+(y*(ia+ka)*2.0*.5+z*(ja+la)*2.0*.5+T*ma*.5));if(j>0.0){i=Fa;return}if(j>h){n=4;l=D*za+M*ta+P*va<0.0&1;e=Fa;h=j}j=+N(+(D*ya+M*oa+P*ua))-((ra+pa)*2.0*.5+(A*(ia+ka)*2.0*.5+B*(ja+la)*2.0*.5+U*ma*.5));if(j>0.0){i=Fa;return}if(j>h){n=5;l=D*ya+M*oa+P*ua<0.0&1;e=Fa+4|0}else j=h;h=+N(+(D*xa+M*Da+P*Ea))-(wa*.5+(R*(ia+ka)*2.0*.5+S*(ja+la)*2.0*.5+C*ma*.5));if(h>0.0){i=Fa;return}if(h>j){n=6;l=D*xa+M*Da+P*Ea<0.0&1;u=Fa+8|0}else{u=e;h=j}j=(D*fa+M*ha+P*na)*(za*$+ta*X+va*Z)-(D*$+M*X+P*Z)*(za*fa+ta*ha+va*na);m=+N(+j)-((T+9.999999747378752e-06)*(ja+la)*2.0*.5+(z+9.999999747378752e-06)*ma*.5+(R+9.999999747378752e-06)*(ra+pa)*2.0*.5+(A+9.999999747378752e-06)*wa*.5);if(m>1.1920928955078125e-07){i=Fa;return}p=(za*fa+ta*ha+va*na)*(za*fa+ta*ha+va*na)+0.0;v=(za*$+ta*X+va*Z)*(za*$+ta*X+va*Z);o=+O(+(v+p));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(za*fa+ta*ha+va*na)/o,c[k>>2]|0);n=7;l=j<0.0&1;e=(g[k>>2]=(za*$+ta*X+va*Z)/o,c[k>>2]|0);u=0;h=m/o}else{a=0;f=0;e=0}j=(D*fa+M*ha+P*na)*(ya*$+oa*X+ua*Z)-(D*$+M*X+P*Z)*(ya*fa+oa*ha+ua*na);m=+N(+j)-((U+9.999999747378752e-06)*(ja+la)*2.0*.5+(B+9.999999747378752e-06)*ma*.5+(R+9.999999747378752e-06)*(qa+sa)*2.0*.5+(y+9.999999747378752e-06)*wa*.5);if(m>1.1920928955078125e-07){i=Fa;return}q=(ya*fa+oa*ha+ua*na)*(ya*fa+oa*ha+ua*na)+0.0;w=(ya*$+oa*X+ua*Z)*(ya*$+oa*X+ua*Z);o=+O(+(w+q));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(ya*fa+oa*ha+ua*na)/o,c[k>>2]|0);n=8;l=j<0.0&1;e=(g[k>>2]=(ya*$+oa*X+ua*Z)/o,c[k>>2]|0);u=0;h=m/o}j=(D*fa+M*ha+P*na)*(xa*$+Da*X+Ea*Z)-(D*$+M*X+P*Z)*(xa*fa+Da*ha+Ea*na);m=+N(+j)-((C+9.999999747378752e-06)*(ja+la)*2.0*.5+(S+9.999999747378752e-06)*ma*.5+(A+9.999999747378752e-06)*(qa+sa)*2.0*.5+(y+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(m>1.1920928955078125e-07){i=Fa;return}s=(xa*fa+Da*ha+Ea*na)*(xa*fa+Da*ha+Ea*na)+0.0;x=(xa*$+Da*X+Ea*Z)*(xa*$+Da*X+Ea*Z);o=+O(+(x+s));if(o>1.1920928955078125e-07?m/o*1.0499999523162842>h:0){a=(g[k>>2]=0.0/o,c[k>>2]|0);f=(g[k>>2]=-(xa*fa+Da*ha+Ea*na)/o,c[k>>2]|0);n=9;l=j<0.0&1;e=(g[k>>2]=(xa*$+Da*X+Ea*Z)/o,c[k>>2]|0);u=0;h=m/o}j=(D*ca+M*aa+P*ba)*(za*fa+ta*ha+va*na)-(D*fa+M*ha+P*na)*(ca*za+aa*ta+ba*va);o=+N(+j)-((T+9.999999747378752e-06)*(ia+ka)*2.0*.5+(y+9.999999747378752e-06)*ma*.5+(S+9.999999747378752e-06)*(ra+pa)*2.0*.5+(B+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}t=(ca*za+aa*ta+ba*va)*(ca*za+aa*ta+ba*va);m=+O(+(t+p));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(za*fa+ta*ha+va*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=10;l=j<0.0&1;e=(g[k>>2]=-(ca*za+aa*ta+ba*va)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*ca+M*aa+P*ba)*(ya*fa+oa*ha+ua*na)-(D*fa+M*ha+P*na)*(ca*ya+aa*oa+ba*ua);o=+N(+j)-((U+9.999999747378752e-06)*(ia+ka)*2.0*.5+(A+9.999999747378752e-06)*ma*.5+(S+9.999999747378752e-06)*(qa+sa)*2.0*.5+(z+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}r=(ca*ya+aa*oa+ba*ua)*(ca*ya+aa*oa+ba*ua);m=+O(+(r+q));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(ya*fa+oa*ha+ua*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=11;l=j<0.0&1;e=(g[k>>2]=-(ca*ya+aa*oa+ba*ua)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*ca+M*aa+P*ba)*(xa*fa+Da*ha+Ea*na)-(D*fa+M*ha+P*na)*(ca*xa+aa*Da+ba*Ea);o=+N(+j)-((C+9.999999747378752e-06)*(ia+ka)*2.0*.5+(R+9.999999747378752e-06)*ma*.5+(B+9.999999747378752e-06)*(qa+sa)*2.0*.5+(z+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(o>1.1920928955078125e-07){i=Fa;return}p=(ca*xa+aa*Da+ba*Ea)*(ca*xa+aa*Da+ba*Ea);m=+O(+(p+s));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=(xa*fa+Da*ha+Ea*na)/m,c[k>>2]|0);f=(g[k>>2]=0.0/m,c[k>>2]|0);n=12;l=j<0.0&1;e=(g[k>>2]=-(ca*xa+aa*Da+ba*Ea)/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*$+M*X+P*Z)*(ca*za+aa*ta+ba*va)-(D*ca+M*aa+P*ba)*(za*$+ta*X+va*Z);o=+N(+j)-((z+9.999999747378752e-06)*(ia+ka)*2.0*.5+(y+9.999999747378752e-06)*(ja+la)*2.0*.5+(C+9.999999747378752e-06)*(ra+pa)*2.0*.5+(U+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}m=+O(+(t+v+0.0));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=-(za*$+ta*X+va*Z)/m,c[k>>2]|0);f=(g[k>>2]=(ca*za+aa*ta+ba*va)/m,c[k>>2]|0);n=13;l=j<0.0&1;e=(g[k>>2]=0.0/m,c[k>>2]|0);u=0;h=o/m}while(0);j=(D*$+M*X+P*Z)*(ca*ya+aa*oa+ba*ua)-(D*ca+M*aa+P*ba)*(ya*$+oa*X+ua*Z);o=+N(+j)-((B+9.999999747378752e-06)*(ia+ka)*2.0*.5+(A+9.999999747378752e-06)*(ja+la)*2.0*.5+(C+9.999999747378752e-06)*(qa+sa)*2.0*.5+(T+9.999999747378752e-06)*wa*.5);if(o>1.1920928955078125e-07){i=Fa;return}m=+O(+(r+w+0.0));do if(m>1.1920928955078125e-07){if(!(o/m*1.0499999523162842>h))break;a=(g[k>>2]=-(ya*$+oa*X+ua*Z)/m,c[k>>2]|0);f=(g[k>>2]=(ca*ya+aa*oa+ba*ua)/m,c[k>>2]|0);n=14;l=j<0.0&1;e=(g[k>>2]=0.0/m,c[k>>2]|0);u=0;h=o/m}while(0);m=(D*$+M*X+P*Z)*(ca*xa+aa*Da+ba*Ea)-(D*ca+M*aa+P*ba)*(xa*$+Da*X+Ea*Z);o=+N(+m)-((S+9.999999747378752e-06)*(ia+ka)*2.0*.5+(R+9.999999747378752e-06)*(ja+la)*2.0*.5+(U+9.999999747378752e-06)*(qa+sa)*2.0*.5+(T+9.999999747378752e-06)*(ra+pa)*2.0*.5);if(o>1.1920928955078125e-07){i=Fa;return}j=+O(+(p+x+0.0));do if(j>1.1920928955078125e-07){if(!(o/j*1.0499999523162842>h)){Aa=55;break}a=(g[k>>2]=-(xa*$+Da*X+Ea*Z)/j,c[k>>2]|0);f=(g[k>>2]=(ca*xa+aa*Da+ba*Ea)/j,c[k>>2]|0);n=15;l=m<0.0&1;e=(g[k>>2]=0.0/j,c[k>>2]|0);h=o/j;Aa=58}else Aa=55;while(0);do if((Aa|0)==55){if(!n){i=Fa;return}if(!u){Aa=58;break}e=c[u>>2]|0;a=c[u+16>>2]|0;Ca=c[u+32>>2]|0;j=(c[k>>2]=e,+g[k>>2]);m=(c[k>>2]=a,+g[k>>2]);o=(c[k>>2]=Ca,+g[k>>2]);f=l;l=Ca;D=h}while(0);if((Aa|0)==58){ca=(c[k>>2]=a,+g[k>>2]);o=(c[k>>2]=f,+g[k>>2]);D=(c[k>>2]=e,+g[k>>2]);j=ca*+g[Fa+48>>2]+o*+g[E>>2]+D*fa;e=(g[k>>2]=j,c[k>>2]|0);m=ca*+g[Fa+48+16>>2]+o*+g[Fa+48+20>>2]+D*ha;a=(g[k>>2]=m,c[k>>2]|0);D=ca*+g[Fa+48+32>>2]+o*+g[Fa+48+36>>2]+D*na;o=D;f=l;l=(g[k>>2]=D,c[k>>2]|0);D=h}if(!f){Ba=a;Ca=l}else{e=(g[k>>2]=-j,c[k>>2]|0);Ba=(g[k>>2]=-m,c[k>>2]|0);Ca=(g[k>>2]=-o,c[k>>2]|0)}if((n|0)>6){C=(c[k>>2]=e,+g[k>>2]);B=(c[k>>2]=Ba,+g[k>>2]);A=(c[k>>2]=Ca,+g[k>>2]);j=+g[Fa+48>>2];t=+g[Fa+48+16>>2];w=+g[Fa+48+32>>2];v=(C*j+B*t+A*w>0.0?1.0:-1.0)*(ia+ka)*2.0*.5;z=+g[E>>2];y=+g[Fa+48+20>>2];h=+g[Fa+48+36>>2];s=(C*z+B*y+A*h>0.0?1.0:-1.0)*(ja+la)*2.0*.5;x=(C*fa+B*ha+A*na>0.0?1.0:-1.0)*ma*.5;z=+g[b+48>>2]+v*j+s*z+x*fa;y=+g[b+52>>2]+v*t+s*y+x*ha;x=+g[b+56>>2]+v*w+s*h+x*na;c[Fa+528>>2]=c[b+112>>2];c[Fa+528+4>>2]=c[b+112+4>>2];c[Fa+528+8>>2]=c[b+112+8>>2];h=(C*za+B*ta+A*va>0.0?-1.0:1.0)*(qa+sa)*2.0*.5;s=(C*ya+B*oa+A*ua>0.0?-1.0:1.0)*(ra+pa)*2.0*.5;w=+g[Fa+528+4>>2]+h*ta+s*oa;v=+g[Fa+528+8>>2]+h*va+s*ua;t=(C*xa+B*Da+A*Ea>0.0?-1.0:1.0)*wa*.5;s=+g[Fa+528>>2]+h*za+s*ya+t*xa;g[Fa+528>>2]=s;g[Fa+528+4>>2]=w+t*Da;g[Fa+528+8>>2]=v+t*Ea;Ca=n+-7|0;h=+g[Fa+48+(((Ca|0)/3|0)<<2)>>2];j=+g[Fa+48+(((Ca|0)/3|0)+4<<2)>>2];m=+g[Fa+48+(((Ca|0)/3|0)+8<<2)>>2];p=+g[Fa+(((Ca|0)%3|0)<<2)>>2];q=+g[Fa+(((Ca|0)%3|0)+4<<2)>>2];r=+g[Fa+(((Ca|0)%3|0)+8<<2)>>2];o=1.0-(h*p+j*q+m*r)*(h*p+j*q+m*r);if(!(o<=9.999999747378752e-05))h=(((s-z)*h+(w+t*Da-y)*j+(v+t*Ea-x)*m)*(h*p+j*q+m*r)-((s-z)*p+(w+t*Da-y)*q+(v+t*Ea-x)*r))*(1.0/o);else h=0.0;g[Fa+528>>2]=s+h*p;g[Fa+528+4>>2]=w+t*Da+h*q;g[Fa+528+8>>2]=v+t*Ea+h*r;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+456>>2]=-C;g[Fa+456+4>>2]=-B;g[Fa+456+8>>2]=-A;g[Fa+456+12>>2]=0.0;hc[Ca&15](d,Fa+456|0,Fa+528|0,D);i=Fa;return}da=(n|0)<4;fa=(c[k>>2]=e,+g[k>>2]);if(da){l=Fa+48|0;_=Fa;Q=Fa+484|0;u=Fa+472|0;ca=fa;f=Ca;e=Ba;ga=b+48|0;a=b+112|0}else{e=(g[k>>2]=-(c[k>>2]=Ba,+g[k>>2]),c[k>>2]|0);l=Fa;_=Fa+48|0;Q=Fa+472|0;u=Fa+484|0;ca=-fa;f=(g[k>>2]=-(c[k>>2]=Ca,+g[k>>2]),c[k>>2]|0);ga=b+112|0;a=b+48|0}ba=(c[k>>2]=e,+g[k>>2]);aa=(c[k>>2]=f,+g[k>>2]);h=ca*+g[_>>2]+ba*+g[_+16>>2]+aa*+g[_+32>>2];g[Fa+440>>2]=h;j=ca*+g[_+4>>2]+ba*+g[_+20>>2]+aa*+g[_+36>>2];g[Fa+440+4>>2]=j;p=ca*+g[_+8>>2]+ba*+g[_+24>>2]+aa*+g[_+40>>2];g[Fa+440+8>>2]=p;h=+N(+h);j=+N(+j);p=+N(+p);e=j>h?(j>p?1:2):h>p?0:2;V=j>h?0:h>p&1;Y=(j>h?j>p:h>p)?2:1;p=+g[u+(e<<2)>>2];h=+g[a>>2]-+g[ga>>2];j=p*+g[_+(e<<2)>>2];m=+g[a+4>>2];ea=ga+4|0;o=+g[ea>>2];if(+g[Fa+440+(e<<2)>>2]<0.0){$=h+j;Z=m-o+p*+g[_+((e|4)<<2)>>2];X=+g[a+8>>2]-+g[ga+8>>2]+p*+g[_+((e|8)<<2)>>2]}else{$=h-j;Z=m-o-p*+g[_+((e|4)<<2)>>2];X=+g[a+8>>2]-+g[ga+8>>2]-p*+g[_+((e|8)<<2)>>2]}K=(da?-1:-4)+n|0;switch(K|0){case 0:{e=1;f=2;break}case 1:{e=0;f=2;break}default:{e=0;f=1}}J=l+(e<<2)|0;T=+g[J>>2];R=+g[J+16>>2];S=+g[J+32>>2];U=$*T+Z*R+X*S;J=l+(f<<2)|0;M=+g[J>>2];A=+g[J+16>>2];B=+g[J+32>>2];P=$*M+Z*A+X*B;J=_+(V<<2)|0;D=+g[J>>2];y=+g[J+16>>2];z=+g[J+32>>2];L=_+(Y<<2)|0;C=+g[L>>2];w=+g[L+16>>2];x=+g[L+32>>2];Da=+g[u+(V<<2)>>2];Ea=+g[u+(Y<<2)>>2];za=(T*C+R*w+S*x)*Ea;Ea=(M*C+A*w+B*x)*Ea;g[Fa+408>>2]=U-(T*D+R*y+S*z)*Da-za;g[Fa+408+4>>2]=P-(M*D+A*y+B*z)*Da-Ea;g[Fa+408+8>>2]=U-(T*D+R*y+S*z)*Da+za;g[Fa+408+12>>2]=P-(M*D+A*y+B*z)*Da+Ea;g[Fa+408+16>>2]=U+(T*D+R*y+S*z)*Da+za;g[Fa+408+20>>2]=P+(M*D+A*y+B*z)*Da+Ea;g[Fa+408+24>>2]=U+(T*D+R*y+S*z)*Da-za;g[Fa+408+28>>2]=P+(M*D+A*y+B*z)*Da-Ea;c[Fa+400>>2]=c[Q+(e<<2)>>2];c[Fa+400+4>>2]=c[Q+(f<<2)>>2];I=0;f=4;b=Fa+408|0;H=Fa+336|0;a:while(1){F=Fa+400+(I<<2)|0;G=1-I|0;do if((f|0)>0){a=0;E=b;e=H;while(1){l=E+(I<<2)|0;h=+g[l>>2];j=+g[F>>2];if(j>-h){c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];a=a+1|0;if(a&8|0){f=a;e=H;break a}h=+g[l>>2];j=+g[F>>2];n=e+8|0}else n=e;u=(f|0)>1;l=E;E=E+8|0;e=u?E:b;m=+g[e+(I<<2)>>2];if(j>-h^j>-m){Ea=+g[l+(G<<2)>>2];g[n+(G<<2)>>2]=Ea+(-j-h)*((+g[e+(G<<2)>>2]-Ea)/(m-h));g[n+(I<<2)>>2]=-+g[F>>2];e=a+1|0;if(!(e&8)){a=e;e=n+8|0}else{f=e;e=H;break a}}else e=n;if(!u)break;else f=f+-1|0}e=(H|0)==(Fa+336|0)?Fa+528|0:Fa+336|0;if((a|0)<=0){f=0;break}E=a;f=0;b=H;a=e;while(1){l=b+(I<<2)|0;j=+g[l>>2];h=+g[F>>2];if(j<h){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];f=f+1|0;if(f&8|0)break a;h=+g[F>>2];j=+g[l>>2];a=a+8|0}u=(E|0)>1;n=b;b=b+8|0;l=u?b:H;m=+g[l+(I<<2)>>2];if(j<h^m<h){Ea=+g[n+(G<<2)>>2];g[a+(G<<2)>>2]=Ea+(h-j)*((+g[l+(G<<2)>>2]-Ea)/(m-j));c[a+(I<<2)>>2]=c[F>>2];f=f+1|0;if(!(f&8))a=a+8|0;else break a}if(!u)break;else E=E+-1|0}}else{e=(H|0)==(Fa+336|0)?Fa+528|0:Fa+336|0;f=0}while(0);I=I+1|0;if((I|0)>=2)break;else{b=e;H=(e|0)==(Fa+336|0)?Fa+528|0:Fa+336|0}}if((e|0)!=(Fa+336|0))_m(Fa+336|0,e|0,f<<3|0)|0;if((f|0)>=1){v=1.0/((T*D+R*y+S*z)*(M*C+A*w+B*x)-(M*D+A*y+B*z)*(T*C+R*w+S*x));t=+g[Q+(K<<2)>>2];s=+g[J>>2];p=+g[L>>2];q=+g[_+((V|4)<<2)>>2];r=+g[_+((Y|4)<<2)>>2];o=+g[_+((V|8)<<2)>>2];m=+g[_+((Y|8)<<2)>>2];a=0;e=0;do{_=e<<1;h=+g[Fa+336+(_<<2)>>2];j=+g[Fa+336+((_|1)<<2)>>2];ya=(M*C+A*w+B*x)*v*(h-U)-(T*C+R*w+S*x)*v*(j-P);Ea=(T*D+R*y+S*z)*v*(j-P)-(M*D+A*y+B*z)*v*(h-U);_=a*3|0;za=$+ya*s+Ea*p;g[Fa+240+(_<<2)>>2]=za;Da=Z+ya*q+Ea*r;g[Fa+240+(_+1<<2)>>2]=Da;Ea=X+ya*o+Ea*m;g[Fa+240+(_+2<<2)>>2]=Ea;Ea=t-(ca*za+ba*Da+aa*Ea);g[Fa+208+(a<<2)>>2]=Ea;if(Ea>=0.0){_=a<<1;g[Fa+336+(_<<2)>>2]=h;g[Fa+336+((_|1)<<2)>>2]=j;a=a+1|0}e=e+1|0}while((e|0)!=(f|0));b:do if((a|0)>=1){E=(a|0)<4?a:4;E=(E|0)<1?1:E;if((a|0)<=(E|0))if(da){f=ga+8|0;j=-(c[k>>2]=Ba,+g[k>>2]);h=-(c[k>>2]=Ca,+g[k>>2]);e=0;while(1){Ca=e*3|0;g[Fa+528>>2]=+g[Fa+240+(Ca<<2)>>2]+ +g[ga>>2];g[Fa+528+4>>2]=+g[Fa+240+(Ca+1<<2)>>2]+ +g[ea>>2];g[Fa+528+8>>2]=+g[Fa+240+(Ca+2<<2)>>2]+ +g[f>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+192>>2]=-fa;g[Fa+192+4>>2]=j;g[Fa+192+8>>2]=h;g[Fa+192+12>>2]=0.0;hc[Ca&15](d,Fa+192|0,Fa+528|0,-+g[Fa+208+(e<<2)>>2]);e=e+1|0;if((e|0)==(a|0))break b}}else{f=ga+8|0;j=(c[k>>2]=Ba,+g[k>>2]);h=(c[k>>2]=Ca,+g[k>>2]);e=0;while(1){Ca=e*3|0;Ea=+g[Fa+208+(e<<2)>>2];g[Fa+528>>2]=+g[Fa+240+(Ca<<2)>>2]+ +g[ga>>2]-fa*Ea;g[Fa+528+4>>2]=+g[Fa+240+(Ca+1<<2)>>2]+ +g[ea>>2]-j*Ea;g[Fa+528+8>>2]=+g[Fa+240+(Ca+2<<2)>>2]+ +g[f>>2]-h*Ea;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+176>>2]=-fa;g[Fa+176+4>>2]=-j;g[Fa+176+8>>2]=-h;g[Fa+176+12>>2]=0.0;hc[Ca&15](d,Fa+176|0,Fa+528|0,-Ea);e=e+1|0;if((e|0)==(a|0))break b}}c:do if((a|0)>1){f=1;l=0;j=+g[Fa+208>>2];while(1){h=+g[Fa+208+(f<<2)>>2];e=h>j;l=e?f:l;f=f+1|0;if((f|0)==(a|0))break;else j=e?h:j}switch(a|0){case 1:{e=Fa+144|0;f=Fa+144|0;a=1;Aa=111;break c}case 2:{e=Fa+144|0;f=Fa+144|0;a=2;j=(+g[Fa+336>>2]+ +g[Fa+336+8>>2])*.5;h=(+g[Fa+336+4>>2]+ +g[Fa+336+12>>2])*.5;Aa=116;break c}default:{}}e=a+-1|0;h=0.0;j=0.0;r=0.0;f=0;do{_=f<<1;ya=+g[Fa+336+(_<<2)>>2];za=+g[Fa+336+(_+3<<2)>>2];Da=+g[Fa+336+(_+2<<2)>>2];Ea=+g[Fa+336+((_|1)<<2)>>2];h=h+(ya*za-Da*Ea);j=j+(ya+Da)*(ya*za-Da*Ea);r=r+(za+Ea)*(ya*za-Da*Ea);f=f+1|0}while((f|0)!=(e|0));_=a<<1;m=+g[Fa+336+(_+-2<<2)>>2];o=+g[Fa+336+4>>2];p=+g[Fa+336>>2];q=+g[Fa+336+(_+-1<<2)>>2];h=h+(m*o-p*q);if(+N(+h)>1.1920928955078125e-07)h=1.0/(h*3.0);else h=999999984306749440.0;if((a|0)>0){u=Fa+144|0;f=Fa+144|0;n=Fa+528|0;j=h*(j+(m*o-p*q)*(m+p));h=h*(r+(m*o-p*q)*(q+o));Aa=119;break}e=Fa+144|0;f=0;u=a}else{e=Fa+144|0;f=Fa+144|0;l=0;Aa=111}while(0);if((Aa|0)==111){j=+g[Fa+336>>2];h=+g[Fa+336+4>>2];Aa=116}if((Aa|0)==116){u=e;n=Fa+528|0;Aa=119}if((Aa|0)==119){e=0;do{Aa=e<<1;g[Fa+528+(e<<2)>>2]=+W(+(+g[Fa+336+((Aa|1)<<2)>>2]-h),+(+g[Fa+336+(Aa<<2)>>2]-j));e=e+1|0}while((e|0)!=(a|0));e=0;do{c[Fa+496+(e<<2)>>2]=1;e=e+1|0}while((e|0)!=(a|0));e=u;f=1;u=a}a=Fa+496+(l<<2)|0;c[a>>2]=0;c[e>>2]=l;d:do if((E|0)>1){o=+g[Fa+528+(l<<2)>>2];if(f){f=Fa+144+4|0;n=1}else{e=Fa+144+4|0;f=1;while(1){c[e>>2]=l;c[a>>2]=0;f=f+1|0;if((f|0)==(E|0))break d;else e=e+4|0}}while(1){m=6.2831854820251465/+(E|0)*+(n|0)+o;m=m>3.1415927410125732?m+-6.2831854820251465:m;c[f>>2]=l;e=l;a=0;j=1.0e9;while(1){do if(!(c[Fa+496+(a<<2)>>2]|0))h=j;else{h=+N(+(+g[Fa+528+(a<<2)>>2]-m));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h<j)){h=j;break}c[f>>2]=a;e=a}while(0);a=a+1|0;if((a|0)==(u|0))break;else j=h}c[Fa+496+(e<<2)>>2]=0;n=n+1|0;if((n|0)==(E|0))break;else f=f+4|0}}while(0);if((E|0)>0){f=ga+8|0;j=(c[k>>2]=Ba,+g[k>>2]);h=(c[k>>2]=Ca,+g[k>>2]);if(da){e=0;do{Ca=c[Fa+144+(e<<2)>>2]|0;g[Fa+528>>2]=+g[Fa+240+(Ca*3<<2)>>2]+ +g[ga>>2];g[Fa+528+4>>2]=+g[Fa+240+((Ca*3|0)+1<<2)>>2]+ +g[ea>>2];g[Fa+528+8>>2]=+g[Fa+240+((Ca*3|0)+2<<2)>>2]+ +g[f>>2];Ba=c[(c[d>>2]|0)+16>>2]|0;g[Fa+128>>2]=-fa;g[Fa+128+4>>2]=-j;g[Fa+128+8>>2]=-h;g[Fa+128+12>>2]=0.0;hc[Ba&15](d,Fa+128|0,Fa+528|0,-+g[Fa+208+(Ca<<2)>>2]);e=e+1|0}while((e|0)<(E|0))}else{e=0;do{Ba=c[Fa+144+(e<<2)>>2]|0;ya=+g[Fa+240+(Ba*3<<2)>>2]+ +g[ga>>2];g[Fa+528>>2]=ya;za=+g[Fa+240+((Ba*3|0)+1<<2)>>2]+ +g[ea>>2];g[Fa+528+4>>2]=za;Da=+g[Fa+240+((Ba*3|0)+2<<2)>>2]+ +g[f>>2];g[Fa+528+8>>2]=Da;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Fa+112>>2]=-fa;g[Fa+112+4>>2]=-j;g[Fa+112+8>>2]=-h;g[Fa+112+12>>2]=0.0;Ea=+g[Fa+208+(Ba<<2)>>2];g[Fa+96>>2]=ya-fa*Ea;g[Fa+96+4>>2]=za-Ea*j;g[Fa+96+8>>2]=Da-Ea*h;g[Fa+96+12>>2]=0.0;hc[Ca&15](d,Fa+112|0,Fa+96|0,-Ea);e=e+1|0}while((e|0)<(E|0))}}}while(0)}i=Fa;return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;g=c[6438]|0;if(g>>>(n>>>3)&3|0){a=25792+((g>>>(n>>>3)&1^1)+(n>>>3)<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(c[6442]|0)>>>0)Va();if((c[d+12>>2]|0)==(b|0)){c[d+12>>2]=a;c[a+8>>2]=d;break}else Va()}else c[6438]=g&~(1<<(g>>>(n>>>3)&1^1)+(n>>>3));while(0);D=(g>>>(n>>>3)&1^1)+(n>>>3)<<3;c[b+4>>2]=D|3;c[b+D+4>>2]=c[b+D+4>>2]|1;D=b+8|0;return D|0}b=c[6440]|0;if(n>>>0>b>>>0){if(g>>>(n>>>3)|0){a=g>>>(n>>>3)<<(n>>>3)&(2<<(n>>>3)|0-(2<<(n>>>3)));f=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=f>>>(f>>>5&8)>>>(f>>>(f>>>5&8)>>>2&4);e=(f>>>5&8|((a&0-a)+-1|0)>>>12&16|f>>>(f>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;f=c[25792+(e<<1<<2)+8>>2]|0;a=c[f+8>>2]|0;do if((25792+(e<<1<<2)|0)!=(a|0)){if(a>>>0<(c[6442]|0)>>>0)Va();if((c[a+12>>2]|0)==(f|0)){c[a+12>>2]=25792+(e<<1<<2);c[25792+(e<<1<<2)+8>>2]=a;h=c[6440]|0;break}else Va()}else{c[6438]=g&~(1<<e);h=b}while(0);c[f+4>>2]=n|3;c[f+n+4>>2]=(e<<3)-n|1;c[f+n+((e<<3)-n)>>2]=(e<<3)-n;if(h|0){d=c[6443]|0;b=h>>>3;a=c[6438]|0;if(a&1<<b){a=c[25792+(b<<1<<2)+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{i=25792+(b<<1<<2)+8|0;j=a}}else{c[6438]=a|1<<b;i=25792+(b<<1<<2)+8|0;j=25792+(b<<1<<2)|0}c[i>>2]=d;c[j+12>>2]=d;c[d+8>>2]=j;c[d+12>>2]=25792+(b<<1<<2)}c[6440]=(e<<3)-n;c[6443]=f+n;D=f+8|0;return D|0}a=c[6439]|0;if(a){i=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);j=i>>>(i>>>5&8)>>>(i>>>(i>>>5&8)>>>2&4);j=c[26056+((i>>>5&8|((a&0-a)+-1|0)>>>12&16|i>>>(i>>>5&8)>>>2&4|j>>>1&2|j>>>(j>>>1&2)>>>1&1)+(j>>>(j>>>1&2)>>>(j>>>(j>>>1&2)>>>1&1))<<2)>>2]|0;i=(c[j+4>>2]&-8)-n|0;b=j;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}b=(c[a+4>>2]&-8)-n|0;D=b>>>0<i>>>0;i=D?b:i;b=a;j=D?a:j}f=c[6442]|0;if(j>>>0<f>>>0)Va();h=j+n|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){k=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Va();else{c[b>>2]=0;k=a;break}}else{b=c[j+8>>2]|0;if(b>>>0<f>>>0)Va();if((c[b+12>>2]|0)!=(j|0))Va();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;k=a;break}else Va()}while(0);do if(g|0){a=c[j+28>>2]|0;if((j|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=k;if(!k){c[6439]=c[6439]&~(1<<a);break}}else{if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(j|0))c[g+16>>2]=k;else c[g+20>>2]=k;if(!k)break}b=c[6442]|0;if(k>>>0<b>>>0)Va();c[k+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Va();else{c[k+16>>2]=a;c[a+24>>2]=k;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[k+20>>2]=a;c[a+24>>2]=k;break}}while(0);if(i>>>0<16){D=i+n|0;c[j+4>>2]=D|3;D=j+D+4|0;c[D>>2]=c[D>>2]|1}else{c[j+4>>2]=n|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=c[6440]|0;if(b|0){d=c[6443]|0;a=c[6438]|0;if(a&1<<(b>>>3)){a=c[25792+(b>>>3<<1<<2)+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{l=25792+(b>>>3<<1<<2)+8|0;m=a}}else{c[6438]=a|1<<(b>>>3);l=25792+(b>>>3<<1<<2)+8|0;m=25792+(b>>>3<<1<<2)|0}c[l>>2]=d;c[m+12>>2]=d;c[d+8>>2]=m;c[d+12>>2]=25792+(b>>>3<<1<<2)}c[6440]=i;c[6443]=h}D=j+8|0;return D|0}}}else if(a>>>0<=4294967231){n=a+11&-8;i=c[6439]|0;if(i){if((a+11|0)>>>8)if(n>>>0>16777215)h=31;else{h=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);h=14-((h+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((h<<((h+520192|0)>>>16&4))+245760|0)>>>16&2)+(h<<((h+520192|0)>>>16&4)<<(((h<<((h+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;h=n>>>(h+7|0)&1|h<<1}else h=0;b=c[26056+(h<<2)>>2]|0;a:do if(!b){d=0-n|0;a=0;b=0;w=86}else{d=0-n|0;a=0;f=n<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){e=c[g+4>>2]&-8;if((e-n|0)>>>0<d>>>0)if((e|0)==(n|0)){d=e-n|0;a=g;b=g;w=90;break a}else{d=e-n|0;b=g}e=c[g+20>>2]|0;g=c[g+16+(f>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(g|0)?a:e;e=(g|0)==0;if(e){w=86;break}else f=f<<(e&1^1)}}while(0);if((w|0)==86){if((a|0)==0&(b|0)==0){a=2<<h;if(!(i&(a|0-a)))break;l=(i&(a|0-a)&0-(i&(a|0-a)))+-1|0;m=l>>>(l>>>12&16)>>>(l>>>(l>>>12&16)>>>5&8);a=m>>>(m>>>2&4)>>>(m>>>(m>>>2&4)>>>1&2);a=c[26056+((l>>>(l>>>12&16)>>>5&8|l>>>12&16|m>>>2&4|m>>>(m>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0}if(!a){i=d;j=b}else w=90}if((w|0)==90)while(1){w=0;m=(c[a+4>>2]&-8)-n|0;e=m>>>0<d>>>0;d=e?m:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;w=90;continue}a=c[a+20>>2]|0;if(!a){i=d;j=b;break}else w=90}if((j|0)!=0?i>>>0<((c[6440]|0)-n|0)>>>0:0){f=c[6442]|0;if(j>>>0<f>>>0)Va();h=j+n|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){p=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)Va();else{c[b>>2]=0;p=a;break}}else{b=c[j+8>>2]|0;if(b>>>0<f>>>0)Va();if((c[b+12>>2]|0)!=(j|0))Va();if((c[a+8>>2]|0)==(j|0)){c[b+12>>2]=a;c[a+8>>2]=b;p=a;break}else Va()}while(0);do if(g|0){a=c[j+28>>2]|0;if((j|0)==(c[26056+(a<<2)>>2]|0)){c[26056+(a<<2)>>2]=p;if(!p){c[6439]=c[6439]&~(1<<a);break}}else{if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(j|0))c[g+16>>2]=p;else c[g+20>>2]=p;if(!p)break}b=c[6442]|0;if(p>>>0<b>>>0)Va();c[p+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)Va();else{c[p+16>>2]=a;c[a+24>>2]=p;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[6442]|0)>>>0)Va();else{c[p+20>>2]=a;c[a+24>>2]=p;break}}while(0);do if(i>>>0>=16){c[j+4>>2]=n|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){a=c[6438]|0;if(a&1<<b){a=c[25792+(b<<1<<2)+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{q=25792+(b<<1<<2)+8|0;r=a}}else{c[6438]=a|1<<b;q=25792+(b<<1<<2)+8|0;r=25792+(b<<1<<2)|0}c[q>>2]=h;c[r+12>>2]=h;c[h+8>>2]=r;c[h+12>>2]=25792+(b<<1<<2);break}a=i>>>8;if(a)if(i>>>0>16777215)d=31;else{d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[h+28>>2]=d;c[h+16+4>>2]=0;c[h+16>>2]=0;a=c[6439]|0;b=1<<d;if(!(a&b)){c[6439]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}d=i<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){w=148;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=145;break}else{d=d<<1;e=a}}if((w|0)==145)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((w|0)==148){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=e;c[h+24>>2]=0;break}else Va()}}else{D=i+n|0;c[j+4>>2]=D|3;D=j+D+4|0;c[D>>2]=c[D>>2]|1}while(0);D=j+8|0;return D|0}}}else n=-1;while(0);d=c[6440]|0;if(d>>>0>=n>>>0){a=d-n|0;b=c[6443]|0;if(a>>>0>15){D=b+n|0;c[6443]=D;c[6440]=a;c[D+4>>2]=a|1;c[D+a>>2]=a;c[b+4>>2]=n|3}else{c[6440]=0;c[6443]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}D=b+8|0;return D|0}a=c[6441]|0;if(a>>>0>n>>>0){B=a-n|0;c[6441]=B;D=c[6444]|0;C=D+n|0;c[6444]=C;c[C+4>>2]=B|1;c[D+4>>2]=n|3;D=D+8|0;return D|0}do if(!(c[6556]|0)){a=gb(30)|0;if(!(a+-1&a)){c[6558]=a;c[6557]=a;c[6559]=-1;c[6560]=-1;c[6561]=0;c[6549]=0;c[6556]=(sb(0)|0)&-16^1431655768;break}else Va()}while(0);f=n+48|0;d=c[6558]|0;g=n+47|0;h=d+g&0-d;if(h>>>0<=n>>>0){D=0;return D|0}a=c[6548]|0;if(a|0?(r=c[6546]|0,(r+h|0)>>>0<=r>>>0|(r+h|0)>>>0>a>>>0):0){D=0;return D|0}b:do if(!(c[6549]&4)){b=c[6444]|0;c:do if(b){e=26200;while(1){a=c[e>>2]|0;if(a>>>0<=b>>>0?(o=e+4|0,(a+(c[o>>2]|0)|0)>>>0>b>>>0):0)break;a=c[e+8>>2]|0;if(!a){w=173;break c}else e=a}a=d+g-(c[6441]|0)&0-d;if(a>>>0<2147483647){b=ab(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[o>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;g=a;w=193;break b}}else w=183}}else w=173;while(0);do if((w|0)==173?(s=ab(0)|0,(s|0)!=(-1|0)):0){a=c[6557]|0;if(!(a+-1&s))a=h;else a=h-s+(a+-1+s&0-a)|0;b=c[6546]|0;d=b+a|0;if(a>>>0>n>>>0&a>>>0<2147483647){r=c[6548]|0;if(r|0?d>>>0<=b>>>0|d>>>0>r>>>0:0)break;b=ab(a|0)|0;if((b|0)==(s|0)){h=s;g=a;w=193;break b}else w=183}}while(0);d:do if((w|0)==183){d=0-a|0;do if(f>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(t=c[6558]|0,t=g-a+t&0-t,t>>>0<2147483647):0)if((ab(t|0)|0)==(-1|0)){ab(d|0)|0;break d}else{a=t+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;g=a;w=193;break b}}while(0);c[6549]=c[6549]|4;w=190}else w=190;while(0);if((((w|0)==190?h>>>0<2147483647:0)?(u=ab(h|0)|0,v=ab(0)|0,u>>>0<v>>>0&((u|0)!=(-1|0)&(v|0)!=(-1|0))):0)?(v-u|0)>>>0>(n+40|0)>>>0:0){h=u;g=v-u|0;w=193}if((w|0)==193){a=(c[6546]|0)+g|0;c[6546]=a;if(a>>>0>(c[6547]|0)>>>0)c[6547]=a;k=c[6444]|0;do if(k){f=26200;while(1){a=c[f>>2]|0;b=f+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){w=203;break}e=c[f+8>>2]|0;if(!e)break;else f=e}if(((w|0)==203?(c[f+12>>2]&8|0)==0:0)?k>>>0<h>>>0&k>>>0>=a>>>0:0){c[b>>2]=d+g;C=(k+8&7|0)==0?0:0-(k+8)&7;D=g-C+(c[6441]|0)|0;c[6444]=k+C;c[6441]=D;c[k+C+4>>2]=D|1;c[k+C+D+4>>2]=40;c[6445]=c[6560];break}a=c[6442]|0;if(h>>>0<a>>>0){c[6442]=h;j=h}else j=a;b=h+g|0;a=26200;while(1){if((c[a>>2]|0)==(b|0)){w=211;break}a=c[a+8>>2]|0;if(!a){b=26200;break}}if((w|0)==211)if(!(c[a+12>>2]&8)){c[a>>2]=h;m=a+4|0;c[m>>2]=(c[m>>2]|0)+g;m=h+8|0;m=h+((m&7|0)==0?0:0-m&7)|0;a=b+((b+8&7|0)==0?0:0-(b+8)&7)|0;l=m+n|0;i=a-m-n|0;c[m+4>>2]=n|3;do if((a|0)!=(k|0)){if((a|0)==(c[6443]|0)){D=(c[6440]|0)+i|0;c[6440]=D;c[6443]=l;c[l+4>>2]=D|1;c[l+D>>2]=D;break}h=c[a+4>>2]|0;if((h&3|0)==1){e:do if(h>>>0>=256){g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){B=0;break}else f=a+16|0}else f=a+16+4|0;while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;f=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;f=d}}if(f>>>0<j>>>0)Va();else{c[f>>2]=0;B=b;break}}else{d=c[a+8>>2]|0;if(d>>>0<j>>>0)Va();if((c[d+12>>2]|0)!=(a|0))Va();if((c[b+8>>2]|0)==(a|0)){c[d+12>>2]=b;c[b+8>>2]=d;B=b;break}else Va()}while(0);if(!g)break;b=c[a+28>>2]|0;do if((a|0)!=(c[26056+(b<<2)>>2]|0)){if(g>>>0<(c[6442]|0)>>>0)Va();if((c[g+16>>2]|0)==(a|0))c[g+16>>2]=B;else c[g+20>>2]=B;if(!B)break e}else{c[26056+(b<<2)>>2]=B;if(B|0)break;c[6439]=c[6439]&~(1<<b);break e}while(0);d=c[6442]|0;if(B>>>0<d>>>0)Va();c[B+24>>2]=g;b=c[a+16>>2]|0;do if(b|0)if(b>>>0<d>>>0)Va();else{c[B+16>>2]=b;c[b+24>>2]=B;break}while(0);b=c[a+16+4>>2]|0;if(!b)break;if(b>>>0<(c[6442]|0)>>>0)Va();else{c[B+20>>2]=b;c[b+24>>2]=B;break}}else{b=c[a+8>>2]|0;d=c[a+12>>2]|0;do if((b|0)!=(25792+(h>>>3<<1<<2)|0)){if(b>>>0<j>>>0)Va();if((c[b+12>>2]|0)==(a|0))break;Va()}while(0);if((d|0)==(b|0)){c[6438]=c[6438]&~(1<<(h>>>3));break}do if((d|0)==(25792+(h>>>3<<1<<2)|0))z=d+8|0;else{if(d>>>0<j>>>0)Va();if((c[d+8>>2]|0)==(a|0)){z=d+8|0;break}Va()}while(0);c[b+12>>2]=d;c[z>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;b=a+4|0;c[b>>2]=c[b>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;b=f>>>3;if(f>>>0<256){a=c[6438]|0;do if(!(a&1<<b)){c[6438]=a|1<<b;C=25792+(b<<1<<2)+8|0;D=25792+(b<<1<<2)|0}else{a=c[25792+(b<<1<<2)+8>>2]|0;if(a>>>0>=(c[6442]|0)>>>0){C=25792+(b<<1<<2)+8|0;D=a;break}Va()}while(0);c[C>>2]=l;c[D+12>>2]=l;c[l+8>>2]=D;c[l+12>>2]=25792+(b<<1<<2);break}a=f>>>8;do if(!a)d=0;else{if(f>>>0>16777215){d=31;break}d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=f>>>(d+7|0)&1|d<<1}while(0);e=26056+(d<<2)|0;c[l+28>>2]=d;c[l+16+4>>2]=0;c[l+16>>2]=0;a=c[6439]|0;b=1<<d;if(!(a&b)){c[6439]=a|b;c[e>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}d=f<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){w=281;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=278;break}else{d=d<<1;e=a}}if((w|0)==278)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=l;c[l+24>>2]=e;c[l+12>>2]=l;c[l+8>>2]=l;break}else if((w|0)==281){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=l;c[a>>2]=l;c[l+8>>2]=b;c[l+12>>2]=e;c[l+24>>2]=0;break}else Va()}}else{D=(c[6441]|0)+i|0;c[6441]=D;c[6444]=l;c[l+4>>2]=D|1}while(0);D=m+8|0;return D|0}else b=26200;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(x=a+(c[b+4>>2]|0)|0,x>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=x+-47+((x+-47+8&7|0)==0?0:0-(x+-47+8)&7)|0;f=f>>>0<(k+16|0)>>>0?k:f;a=h+8|0;a=(a&7|0)==0?0:0-a&7;D=h+a|0;a=g+-40-a|0;c[6444]=D;c[6441]=a;c[D+4>>2]=a|1;c[D+a+4>>2]=40;c[6445]=c[6560];c[f+4>>2]=27;c[f+8>>2]=c[6550];c[f+8+4>>2]=c[6551];c[f+8+8>>2]=c[6552];c[f+8+12>>2]=c[6553];c[6550]=h;c[6551]=g;c[6553]=0;c[6552]=f+8;a=f+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<x>>>0);if((f|0)!=(k|0)){c[f+4>>2]=c[f+4>>2]&-2;c[k+4>>2]=f-k|1;c[f>>2]=f-k;if((f-k|0)>>>0<256){b=25792+((f-k|0)>>>3<<1<<2)|0;a=c[6438]|0;if(a&1<<((f-k|0)>>>3)){a=c[b+8>>2]|0;if(a>>>0<(c[6442]|0)>>>0)Va();else{y=b+8|0;A=a}}else{c[6438]=a|1<<((f-k|0)>>>3);y=b+8|0;A=b}c[y>>2]=k;c[A+12>>2]=k;c[k+8>>2]=A;c[k+12>>2]=b;break}if((f-k|0)>>>8)if((f-k|0)>>>0>16777215)d=31;else{d=(f-k|0)>>>8<<((((f-k|0)>>>8)+1048320|0)>>>16&8);d=14-((d+520192|0)>>>16&4|(((f-k|0)>>>8)+1048320|0)>>>16&8|((d<<((d+520192|0)>>>16&4))+245760|0)>>>16&2)+(d<<((d+520192|0)>>>16&4)<<(((d<<((d+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;d=(f-k|0)>>>(d+7|0)&1|d<<1}else d=0;e=26056+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[k+16>>2]=0;a=c[6439]|0;b=1<<d;if(!(a&b)){c[6439]=a|b;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}d=f-k<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f-k|0)){w=307;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){w=304;break}else{d=d<<1;e=a}}if((w|0)==304)if(b>>>0<(c[6442]|0)>>>0)Va();else{c[b>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((w|0)==307){a=e+8|0;b=c[a>>2]|0;D=c[6442]|0;if(b>>>0>=D>>>0&e>>>0>=D>>>0){c[b+12>>2]=k;c[a>>2]=k;c[k+8>>2]=b;c[k+12>>2]=e;c[k+24>>2]=0;break}else Va()}}}else{D=c[6442]|0;if((D|0)==0|h>>>0<D>>>0)c[6442]=h;c[6550]=h;c[6551]=g;c[6553]=0;c[6447]=c[6556];c[6446]=-1;a=0;do{D=25792+(a<<1<<2)|0;c[D+12>>2]=D;c[D+8>>2]=D;a=a+1|0}while((a|0)!=32);D=h+8|0;D=(D&7|0)==0?0:0-D&7;C=h+D|0;D=g+-40-D|0;c[6444]=C;c[6441]=D;c[C+4>>2]=D|1;c[C+D+4>>2]=40;c[6445]=c[6560]}while(0);a=c[6441]|0;if(a>>>0>n>>>0){B=a-n|0;c[6441]=B;D=c[6444]|0;C=D+n|0;c[6444]=C;c[C+4>>2]=B|1;c[D+4>>2]=n|3;D=D+8|0;return D|0}}if(!0)a=25748;else a=c[(ib()|0)+64>>2]|0;c[a>>2]=12;D=0;return D|0}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;P=i;i=i+448|0;if(!(a[b+527>>0]|0)){i=P;return}N=c[b+28>>2]|0;x=+g[b+348>>2];w=+g[b+352>>2];D=+g[b+356>>2];y=+g[N+52>>2];z=x*+g[N+4>>2]+w*+g[N+8>>2]+D*+g[N+12>>2]+y;A=+g[N+56>>2];B=x*+g[N+20>>2]+w*+g[N+24>>2]+D*+g[N+28>>2]+A;C=+g[N+60>>2];D=x*+g[N+36>>2]+w*+g[N+40>>2]+D*+g[N+44>>2]+C;N=c[b+32>>2]|0;w=+g[b+412>>2];x=+g[b+416>>2];l=+g[b+420>>2];E=+g[N+52>>2];F=w*+g[N+4>>2]+x*+g[N+8>>2]+l*+g[N+12>>2]+E;G=+g[N+56>>2];H=w*+g[N+20>>2]+x*+g[N+24>>2]+l*+g[N+28>>2]+G;k=+g[N+60>>2];l=w*+g[N+36>>2]+x*+g[N+40>>2]+l*+g[N+44>>2]+k;if(!(a[b+524>>0]|0)){u=+g[d+192>>2]+ +g[d+80>>2];w=+g[d+196>>2]+ +g[d+84>>2];q=+g[d+200>>2]+ +g[d+88>>2];x=+g[e+192>>2]+ +g[e+80>>2];p=+g[e+196>>2]+ +g[e+84>>2];n=+g[e+200>>2]+ +g[e+88>>2];m=+g[d+176>>2]+ +g[d+64>>2]+((D-C)*w-(B-A)*q)-(+g[e+176>>2]+ +g[e+64>>2]+((l-k)*p-(H-G)*n));n=+g[d+180>>2]+ +g[d+68>>2]+((z-y)*q-(D-C)*u)-(+g[e+180>>2]+ +g[e+68>>2]+((F-E)*n-(l-k)*x));p=+g[d+184>>2]+ +g[d+72>>2]+((B-A)*u-(z-y)*w)-(+g[e+184>>2]+ +g[e+72>>2]+((H-G)*x-(F-E)*p));o=(c[d+240>>2]|0)==0;v=0;do{x=1.0/+g[b+48+(v*84|0)+80>>2];r=b+48+(v*84|0)|0;w=+g[r>>2];s=b+48+(v*84|0)+4|0;u=+g[s>>2];t=b+48+(v*84|0)+8|0;q=+g[t>>2];q=x*(((z-F)*w+(B-H)*u+(D-l)*q)*-.30000001192092896/f)-x*(m*w+n*u+p*q);g[b+36>>2]=+g[b+36>>2]+q;u=+g[t>>2];w=+g[s>>2];x=+g[r>>2];h=c[b+28>>2]|0;j=+g[h+344>>2];if(!o){S=((B-A)*u-(D-C)*w)*+g[h+296>>2]+((D-C)*x-(z-y)*u)*+g[h+300>>2]+((z-y)*w-(B-A)*x)*+g[h+304>>2];Q=((B-A)*u-(D-C)*w)*+g[h+280>>2]+((D-C)*x-(z-y)*u)*+g[h+284>>2]+((z-y)*w-(B-A)*x)*+g[h+288>>2];R=((B-A)*u-(D-C)*w)*+g[h+264>>2]+((D-C)*x-(z-y)*u)*+g[h+268>>2]+((z-y)*w-(B-A)*x)*+g[h+272>>2];U=q*w*j*+g[d+116>>2];T=q*u*j*+g[d+120>>2];g[d+64>>2]=q*x*j*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];Q=Q*q*+g[d+100>>2];j=S*q*+g[d+104>>2];g[d+80>>2]=R*q*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=Q+ +g[d+84>>2];g[d+88>>2]=j+ +g[d+88>>2]}h=c[b+32>>2]|0;j=+g[h+344>>2];if(c[e+240>>2]|0){U=((H-G)*u-(l-k)*w)*+g[h+296>>2]+((l-k)*x-(F-E)*u)*+g[h+300>>2]+((F-E)*w-(H-G)*x)*+g[h+304>>2];T=((H-G)*u-(l-k)*w)*+g[h+280>>2]+((l-k)*x-(F-E)*u)*+g[h+284>>2]+((F-E)*w-(H-G)*x)*+g[h+288>>2];S=((H-G)*u-(l-k)*w)*+g[h+264>>2]+((l-k)*x-(F-E)*u)*+g[h+268>>2]+((F-E)*w-(H-G)*x)*+g[h+272>>2];Q=j*+g[s>>2]*-q*+g[e+116>>2];R=j*+g[t>>2]*-q*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*j*+g[r>>2]*-q+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-q;U=U*+g[e+104>>2]*-q;g[e+80>>2]=S*+g[e+96>>2]*-q+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2]}v=v+1|0}while((v|0)!=3)}do if(!(a[b+552>>0]|0)){j=+g[b+440>>2];if(!(j>1.1920928955078125e-07)){I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0;break}k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);l=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);m=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(k*k+l*l+m*m>1.1920928955078125e-07){C=1.0/+O(+(k*k+l*l+m*m));h=c[b+28>>2]|0;p=+g[h+264>>2];q=+g[h+280>>2];u=+g[h+296>>2];w=+g[h+268>>2];x=+g[h+284>>2];y=+g[h+300>>2];z=+g[h+272>>2];A=+g[h+288>>2];B=+g[h+304>>2];h=c[b+32>>2]|0;j=j*(1.0/(k*C*(p*k*C+l*C*q+m*C*u)+l*C*(k*C*w+l*C*x+m*C*y)+m*C*(k*C*z+l*C*A+m*C*B)+(k*C*(k*C*+g[h+264>>2]+l*C*+g[h+280>>2]+m*C*+g[h+296>>2])+l*C*(k*C*+g[h+268>>2]+l*C*+g[h+284>>2]+m*C*+g[h+300>>2])+m*C*(k*C*+g[h+272>>2]+l*C*+g[h+288>>2]+m*C*+g[h+304>>2]))));C=+O(+(m*j*m*j+(k*j*k*j+l*j*l*j)));n=1.0/C*k*j;k=1.0/C*l*j;j=1.0/C*m*j;if(c[d+240>>2]|0){U=C*0.0*+g[d+116>>2];T=C*0.0*+g[d+120>>2];g[d+64>>2]=C*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=U+ +g[d+68>>2];g[d+72>>2]=T+ +g[d+72>>2];T=(n*q+k*x+j*A)*C*+g[d+100>>2];U=(n*u+k*y+j*B)*C*+g[d+104>>2];g[d+80>>2]=(n*p+k*w+j*z)*C*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=T+ +g[d+84>>2];g[d+88>>2]=U+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){U=n*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];T=n*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];S=n*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Q=C*-0.0*+g[e+116>>2];R=C*-0.0*+g[e+120>>2];g[e+64>>2]=C*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Q+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-C;U=U*+g[e+104>>2]*-C;g[e+80>>2]=S*+g[e+96>>2]*-C+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2];I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}else{I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}}else{I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}}else{M=c[b+28>>2]|0;c[P+352>>2]=c[M+4>>2];c[P+352+4>>2]=c[M+4+4>>2];c[P+352+8>>2]=c[M+4+8>>2];c[P+352+12>>2]=c[M+4+12>>2];c[P+352+16>>2]=c[M+20>>2];c[P+352+16+4>>2]=c[M+20+4>>2];c[P+352+16+8>>2]=c[M+20+8>>2];c[P+352+16+12>>2]=c[M+20+12>>2];c[P+352+32>>2]=c[M+36>>2];c[P+352+32+4>>2]=c[M+36+4>>2];c[P+352+32+8>>2]=c[M+36+8>>2];c[P+352+32+12>>2]=c[M+36+12>>2];c[P+352+48>>2]=c[M+52>>2];c[P+352+48+4>>2]=c[M+52+4>>2];c[P+352+48+8>>2]=c[M+52+8>>2];c[P+352+48+12>>2]=c[M+52+12>>2];M=c[b+32>>2]|0;c[P+288>>2]=c[M+4>>2];c[P+288+4>>2]=c[M+4+4>>2];c[P+288+8>>2]=c[M+4+8>>2];c[P+288+12>>2]=c[M+4+12>>2];c[P+288+16>>2]=c[M+20>>2];c[P+288+16+4>>2]=c[M+20+4>>2];c[P+288+16+8>>2]=c[M+20+8>>2];c[P+288+16+12>>2]=c[M+20+12>>2];c[P+288+32>>2]=c[M+36>>2];c[P+288+32+4>>2]=c[M+36+4>>2];c[P+288+32+8>>2]=c[M+36+8>>2];c[P+288+32+12>>2]=c[M+36+12>>2];c[P+288+48>>2]=c[M+52>>2];c[P+288+48+4>>2]=c[M+52+4>>2];c[P+288+48+8>>2]=c[M+52+8>>2];c[P+288+48+12>>2]=c[M+52+12>>2];S=+g[d+196>>2]+ +g[d+84>>2];u=+g[d+200>>2]+ +g[d+88>>2];g[P+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[P+272+4>>2]=S;g[P+272+8>>2]=u;g[P+272+12>>2]=0.0;u=+g[e+196>>2]+ +g[e+84>>2];S=+g[e+200>>2]+ +g[e+88>>2];g[P+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[P+256+4>>2]=u;g[P+256+8>>2]=S;g[P+256+12>>2]=0.0;c[P+192>>2]=1065353216;M=P+192+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[P+192+20>>2]=1065353216;N=P+192+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[P+192+40>>2]=1065353216;K=P+192+44|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;Zg(P+352|0,0.0,0.0,0.0,P+272|0,f,P+192|0);c[P+128>>2]=1065353216;K=P+128+4|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[P+128+20>>2]=1065353216;L=P+128+24|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[P+128+40>>2]=1065353216;J=P+128+44|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;Zg(P+288|0,0.0,0.0,0.0,P+256|0,f,P+128|0);S=+g[b+556>>2];u=+g[b+560>>2];T=+g[b+564>>2];w=+g[b+568>>2];F=S*(2.0/(S*S+u*u+T*T+w*w));A=u*(2.0/(S*S+u*u+T*T+w*w));G=T*(2.0/(S*S+u*u+T*T+w*w));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];k=Z*(S*G-w*A)+(V*(S*A+w*G)+W*(1.0-(u*A+T*G)));l=Z*(u*G+w*F)+(W*(S*A-w*G)+V*(1.0-(S*F+T*G)));m=W*(S*G+w*A)+V*(u*G-w*F)+Z*(1.0-(S*F+u*A));j=+g[b+380>>2];E=+g[b+384>>2];B=+g[b+388>>2];n=(S*G-w*A)*B+(E*(S*A+w*G)+j*(1.0-(u*A+T*G)));p=(u*G+w*F)*B+(j*(S*A-w*G)+E*(1.0-(S*F+T*G)));q=j*(S*G+w*A)+E*(u*G-w*F)+B*(1.0-(S*F+u*A));Q=+g[b+396>>2];C=+g[b+400>>2];z=+g[b+404>>2];R=(1.0-(u*A+T*G))*Q+(S*A+w*G)*C+(S*G-w*A)*z;T=(S*A-w*G)*Q+(1.0-(S*F+T*G))*C+(u*G+w*F)*z;A=(S*G+w*A)*Q+(u*G-w*F)*C+(1.0-(S*F+u*A))*z;u=+g[b+300>>2];F=+g[b+316>>2];S=+g[b+332>>2];w=+g[b+304>>2];G=+g[b+320>>2];U=+g[b+336>>2];D=+g[b+308>>2];H=+g[b+324>>2];y=+g[b+340>>2];x=-+g[b+348>>2];aa=-+g[b+352>>2];Y=-+g[b+356>>2];Z=W*0.0+V*0.0+Z*0.0+ +g[b+412>>2]+(m*(D*x+H*aa+y*Y)+(k*(u*x+F*aa+S*Y)+l*(w*x+G*aa+U*Y)));B=j*0.0+E*0.0+B*0.0+ +g[b+416>>2]+(q*(D*x+H*aa+y*Y)+(n*(u*x+F*aa+S*Y)+p*(w*x+G*aa+U*Y)));Y=Q*0.0+C*0.0+z*0.0+ +g[b+420>>2]+(A*(D*x+H*aa+y*Y)+(R*(u*x+F*aa+S*Y)+T*(w*x+G*aa+U*Y)));aa=+g[P+128>>2];x=+g[K>>2];z=+g[P+128+8>>2];C=+g[P+128+16>>2];Q=+g[P+128+20>>2];E=+g[L>>2];j=+g[P+128+32>>2];V=+g[P+128+36>>2];W=+g[P+128+40>>2];X=z*Y+(aa*Z+x*B)+ +g[P+128+48>>2];_=C*Z+B*Q+Y*E+ +g[P+128+52>>2];$=Z*j+B*V+Y*W+ +g[P+128+56>>2];g[P+64>>2]=(k*u+l*w+m*D)*aa+(n*u+p*w+q*D)*x+(R*u+T*w+A*D)*z;g[P+64+4>>2]=(k*F+l*G+m*H)*aa+(n*F+p*G+q*H)*x+(R*F+T*G+A*H)*z;g[P+64+8>>2]=(k*S+l*U+m*y)*aa+(n*S+p*U+q*y)*x+(R*S+T*U+A*y)*z;g[P+64+12>>2]=0.0;g[P+64+16>>2]=(k*u+l*w+m*D)*C+(n*u+p*w+q*D)*Q+(R*u+T*w+A*D)*E;g[P+64+20>>2]=(k*F+l*G+m*H)*C+(n*F+p*G+q*H)*Q+(R*F+T*G+A*H)*E;g[P+64+24>>2]=(k*S+l*U+m*y)*C+(n*S+p*U+q*y)*Q+(R*S+T*U+A*y)*E;g[P+64+28>>2]=0.0;g[P+64+32>>2]=(k*u+l*w+m*D)*j+(n*u+p*w+q*D)*V+(R*u+T*w+A*D)*W;g[P+64+36>>2]=(k*F+l*G+m*H)*j+(n*F+p*G+q*H)*V+(R*F+T*G+A*H)*W;g[P+64+40>>2]=(k*S+l*U+m*y)*j+(n*S+p*U+q*y)*V+(R*S+T*U+A*y)*W;g[P+64+44>>2]=0.0;g[P+64+48>>2]=X;g[P+64+52>>2]=_;g[P+64+56>>2]=$;g[P+64+60>>2]=0.0;$=(R*u+T*w+A*D)*-Y+((k*u+l*w+m*D)*-Z+(n*u+p*w+q*D)*-B);_=(R*F+T*G+A*H)*-Y+((k*F+l*G+m*H)*-Z+(n*F+p*G+q*H)*-B);B=(R*S+T*U+A*y)*-Y+((k*S+l*U+m*y)*-Z+(n*S+p*U+q*y)*-B);Z=+g[P+192>>2];Y=+g[M>>2];X=+g[P+192+8>>2];W=+g[P+192+16>>2];V=+g[P+192+20>>2];j=+g[N>>2];E=+g[P+192+32>>2];Q=+g[P+192+36>>2];C=+g[P+192+40>>2];z=$*Z+_*Y+B*X+ +g[P+192+48>>2];x=$*W+_*V+B*j+ +g[P+192+52>>2];B=$*E+_*Q+B*C+ +g[P+192+56>>2];g[P>>2]=(k*u+l*w+m*D)*Z+(k*F+l*G+m*H)*Y+(k*S+l*U+m*y)*X;g[P+4>>2]=(n*u+p*w+q*D)*Z+(n*F+p*G+q*H)*Y+(n*S+p*U+q*y)*X;g[P+8>>2]=(R*u+T*w+A*D)*Z+(R*F+T*G+A*H)*Y+(R*S+T*U+A*y)*X;g[P+12>>2]=0.0;g[P+16>>2]=(k*u+l*w+m*D)*W+(k*F+l*G+m*H)*V+(k*S+l*U+m*y)*j;g[P+20>>2]=(n*u+p*w+q*D)*W+(n*F+p*G+q*H)*V+(n*S+p*U+q*y)*j;g[P+24>>2]=(R*u+T*w+A*D)*W+(R*F+T*G+A*H)*V+(R*S+T*U+A*y)*j;g[P+28>>2]=0.0;g[P+32>>2]=(k*u+l*w+m*D)*E+(k*F+l*G+m*H)*Q+(k*S+l*U+m*y)*C;g[P+36>>2]=(n*u+p*w+q*D)*E+(n*F+p*G+q*H)*Q+(n*S+p*U+q*y)*C;g[P+40>>2]=(R*u+T*w+A*D)*E+(R*F+T*G+A*H)*Q+(R*S+T*U+A*y)*C;g[P+44>>2]=0.0;g[P+48>>2]=z;g[P+52>>2]=x;g[P+56>>2]=B;g[P+60>>2]=0.0;Gf(P+352|0,P+64|0,P+424|0,P+416|0);B=+g[P+416>>2];x=1.0/f*+g[P+424>>2]*B;z=1.0/f*B*+g[P+424+4>>2];B=1.0/f*B*+g[P+424+8>>2];Gf(P+288|0,P,P+424|0,P+416|0);C=+g[P+416>>2];x=x-+g[P+272>>2];z=z-+g[P+272+4>>2];B=B-+g[P+272+8>>2];y=1.0/f*+g[P+424>>2]*C-+g[P+256>>2];A=1.0/f*C*+g[P+424+4>>2]-+g[P+256+4>>2];C=1.0/f*C*+g[P+424+8>>2]-+g[P+256+8>>2];if(x*x+z*z+B*B>1.1920928955078125e-07){q=1.0/+O(+(x*x+z*z+B*B));N=c[b+28>>2]|0;j=x*q;l=z*q;n=B*q;q=x*q*(+g[N+264>>2]*x*q+z*q*+g[N+280>>2]+B*q*+g[N+296>>2])+z*q*(x*q*+g[N+268>>2]+z*q*+g[N+284>>2]+B*q*+g[N+300>>2])+B*q*(x*q*+g[N+272>>2]+z*q*+g[N+288>>2]+B*q*+g[N+304>>2])}else{j=0.0;l=0.0;n=0.0;q=0.0}if(y*y+A*A+C*C>1.1920928955078125e-07){u=1.0/+O(+(y*y+A*A+C*C));N=c[b+32>>2]|0;k=y*u;m=A*u;p=C*u;u=y*u*(+g[N+264>>2]*y*u+A*u*+g[N+280>>2]+C*u*+g[N+296>>2])+A*u*(y*u*+g[N+268>>2]+A*u*+g[N+284>>2]+C*u*+g[N+300>>2])+C*u*(y*u*+g[N+272>>2]+A*u*+g[N+288>>2]+C*u*+g[N+304>>2])}else{k=0.0;m=0.0;p=0.0;u=0.0}w=q*j+u*k;k=q*l+u*m;j=q*n+u*p;if(w*w+k*k+j*j>1.1920928955078125e-07){n=1.0/+O(+(w*w+k*k+j*j));o=c[b+28>>2]|0;l=w*n*(+g[o+264>>2]*w*n+k*n*+g[o+280>>2]+j*n*+g[o+296>>2])+k*n*(w*n*+g[o+268>>2]+k*n*+g[o+284>>2]+j*n*+g[o+300>>2])+j*n*(w*n*+g[o+272>>2]+k*n*+g[o+288>>2]+j*n*+g[o+304>>2]);h=c[b+32>>2]|0;n=w*n*(w*n*+g[h+264>>2]+k*n*+g[h+280>>2]+j*n*+g[h+296>>2])+k*n*(w*n*+g[h+268>>2]+k*n*+g[h+284>>2]+j*n*+g[h+300>>2])+j*n*(w*n*+g[h+272>>2]+k*n*+g[h+288>>2]+j*n*+g[h+304>>2]);k=(x*l-y*n)*(1.0/((l+n)*(l+n)));u=(z*l-A*n)*(1.0/((l+n)*(l+n)));n=(B*l-C*n)*(1.0/((l+n)*(l+n)));j=+g[b+572>>2];if(!(j>=0.0))j=u;else{l=(a[b+553>>0]|0)==0?j:j/l;m=+g[b+576>>2];p=+g[b+580>>2];q=+g[b+584>>2];j=+O(+((k+m)*(k+m)+(u+p)*(u+p)+(n+q)*(n+q)));if(j>l){k=l*(k+m)*(1.0/j)-m;n=l*(n+q)*(1.0/j)-q;j=l*(u+p)*(1.0/j)-p}else j=u;g[b+576>>2]=k+m;g[b+580>>2]=j+p;g[b+584>>2]=n+q}m=+O(+(k*k+j*j+n*n));l=k*(1.0/m);k=j*(1.0/m);j=n*(1.0/m);if(c[d+240>>2]|0){aa=l*+g[o+296>>2]+k*+g[o+300>>2]+j*+g[o+304>>2];$=l*+g[o+280>>2]+k*+g[o+284>>2]+j*+g[o+288>>2];_=l*+g[o+264>>2]+k*+g[o+268>>2]+j*+g[o+272>>2];Y=m*0.0*+g[d+116>>2];Z=m*0.0*+g[d+120>>2];g[d+64>>2]=m*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*m*+g[d+100>>2];aa=aa*m*+g[d+104>>2];g[d+80>>2]=_*m*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=$+ +g[d+84>>2];g[d+88>>2]=aa+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=m*-0.0*+g[e+116>>2];Z=m*-0.0*+g[e+120>>2];g[e+64>>2]=m*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-m;aa=aa*+g[e+104>>2]*-m;g[e+80>>2]=_*+g[e+96>>2]*-m+ +g[e+80>>2];g[e+84>>2]=$+ +g[e+84>>2];g[e+88>>2]=aa+ +g[e+88>>2]}}I=d+80|0;o=d+196|0;J=d+84|0;r=d+200|0;K=d+88|0;s=e+192|0;L=e+80|0;t=e+196|0;M=e+84|0;v=e+200|0;N=e+88|0;h=d+192|0}while(0);z=+g[h>>2]+ +g[I>>2];y=+g[o>>2]+ +g[J>>2];x=+g[r>>2]+ +g[K>>2];w=+g[s>>2]+ +g[L>>2];u=+g[t>>2]+ +g[M>>2];q=+g[v>>2]+ +g[N>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];j=k*+g[b+504>>2]*+g[b+432>>2]/f;l=+g[b+460>>2];m=+g[b+464>>2];n=+g[b+468>>2];if((w-z)*l+(u-y)*m+(q-x)*n>0.0)j=j+k*((w-z)*l+(u-y)*m+(q-x)*n)*+g[b+436>>2];$=+g[b+516>>2];_=$+j*+g[b+492>>2];_=_>0.0?_:0.0;g[b+516>>2]=_;Z=+g[b+536>>2];k=+g[b+540>>2];aa=+g[b+544>>2];j=l*(_-$)*Z+m*(_-$)*k+(_-$)*n*aa;p=+O(+(((_-$)*n-aa*j)*((_-$)*n-aa*j)+((l*(_-$)-Z*j)*(l*(_-$)-Z*j)+(m*(_-$)-k*j)*(m*(_-$)-k*j))));l=1.0/p*(l*(_-$)-Z*j);k=1.0/p*(m*(_-$)-k*j);j=1.0/p*((_-$)*n-aa*j);h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=p*0.0*+g[d+116>>2];Z=p*0.0*+g[d+120>>2];g[d+64>>2]=p*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Y+ +g[d+68>>2];g[d+72>>2]=Z+ +g[d+72>>2];$=$*p*+g[d+100>>2];aa=aa*p*+g[d+104>>2];g[I>>2]=_*p*+g[d+96>>2]+ +g[I>>2];g[J>>2]=$+ +g[J>>2];g[K>>2]=aa+ +g[K>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=p*-0.0*+g[e+116>>2];Z=p*-0.0*+g[e+120>>2];g[e+64>>2]=p*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-p;aa=aa*+g[e+104>>2]*-p;g[L>>2]=_*+g[e+96>>2]*-p+ +g[L>>2];g[M>>2]=$+ +g[M>>2];g[N>>2]=aa+ +g[N>>2]}}if(!(a[b+525>>0]|0)){i=P;return}n=+g[b+532>>2];m=n*+g[b+508>>2]*+g[b+432>>2]/f;l=+g[b+476>>2];k=+g[b+480>>2];j=+g[b+484>>2];if((w-z)*l+(u-y)*k+(q-x)*j>0.0)m=m+n*((w-z)*l+(u-y)*k+(q-x)*j)*+g[b+436>>2];n=+g[b+520>>2];m=n+m*+g[b+496>>2];m=m>0.0?m:0.0;g[b+520>>2]=m;h=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];j=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];l=(m-n)*0.0*+g[d+116>>2];k=(m-n)*0.0*+g[d+120>>2];g[d+64>>2]=(m-n)*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=l+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=$*(m-n)*+g[d+100>>2];l=aa*(m-n)*+g[d+104>>2];g[I>>2]=j*(m-n)*+g[d+96>>2]+ +g[I>>2];g[J>>2]=k+ +g[J>>2];g[K>>2]=l+ +g[K>>2];l=+g[b+476>>2];k=+g[b+480>>2];j=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){i=P;return}aa=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];$=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];_=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];Y=(m-n)*-0.0*+g[e+116>>2];Z=(m-n)*-0.0*+g[e+120>>2];g[e+64>>2]=(m-n)*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Y+ +g[e+68>>2];g[e+72>>2]=Z+ +g[e+72>>2];$=$*+g[e+100>>2]*-(m-n);aa=aa*+g[e+104>>2]*-(m-n);g[L>>2]=_*+g[e+96>>2]*-(m-n)+ +g[L>>2];g[M>>2]=$+ +g[M>>2];g[N>>2]=aa+ +g[N>>2];i=P;return}function Ac(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;U=c[e>>2]|0;fa=c[f>>2]|0;if(U|0)g=c[U+12>>2]|0;else g=b;i=c[g+88>>2]|0;j=c[g+92>>2]|0;h=c[g+96>>2]|0;if(!fa)g=d;else g=c[fa+12>>2]|0;s=c[g+88>>2]|0;n=c[g+92>>2]|0;p=c[g+96>>2]|0;$=c[b+88>>2]|0;da=(c[d+88>>2]|0)-$|0;u=c[b+92>>2]|0;ea=(c[d+92>>2]|0)-u|0;b=c[b+96>>2]|0;X=(c[d+96>>2]|0)-b|0;Z=c[(U|0?U:fa)+12>>2]|0;aa=(c[Z+88>>2]|0)-$|0;T=(c[Z+92>>2]|0)-u|0;Z=(c[Z+96>>2]|0)-b|0;Y=(_(T,X)|0)-(_(Z,ea)|0)|0;Z=(_(Z,da)|0)-(_(aa,X)|0)|0;T=(_(aa,ea)|0)-(_(T,da)|0)|0;$=vr(Y|0,((Y|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;aa=C;u=vr(Z|0,((Z|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=C;b=vr(T|0,((T|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Kt($|0,aa|0,b|0,C|0)|0;t=Kt(b|0,C|0,u|0,t|0)|0;u=C;b=vr(T|0,((T|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;aa=C;$=vr(Z|0,((Z|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;$=Is(b|0,aa|0,$|0,C|0)|0;aa=C;b=vr(Y|0,((Y|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;ca=C;ba=vr(T|0,((T|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;ba=Is(b|0,ca|0,ba|0,C|0)|0;ca=C;b=vr(Z|0,((Z|0)<0)<<31>>31|0,da|0,((da|0)<0)<<31>>31|0)|0;W=C;V=vr(Y|0,((Y|0)<0)<<31>>31|0,ea|0,((ea|0)<0)<<31>>31|0)|0;V=Is(b|0,W|0,V|0,C|0)|0;W=C;b=vr($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;S=C;g=vr(ba|0,ca|0,j|0,((j|0)<0)<<31>>31|0)|0;S=Kt(g|0,C|0,b|0,S|0)|0;b=C;g=vr(V|0,W|0,h|0,((h|0)<0)<<31>>31|0)|0;g=Kt(S|0,b|0,g|0,C|0)|0;b=C;if((U|0)!=0?(c[U+12>>2]|0)!=0:0){r=U;q=i;o=j;m=h;while(1){r=c[(c[r+8>>2]|0)+4>>2]|0;j=r+12|0;i=c[j>>2]|0;d=c[i+88>>2]|0;R=vr(d|0,((d|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;Q=C;h=c[i+92>>2]|0;S=vr(h|0,((h|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;Q=Kt(S|0,C|0,R|0,Q|0)|0;R=C;i=c[i+96>>2]|0;S=vr(i|0,((i|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;S=Kt(Q|0,R|0,S|0,C|0)|0;R=C;if((R|0)<(u|0)|(R|0)==(u|0)&S>>>0<t>>>0){d=q;i=o;h=m;break}if((c[r+20>>2]|0)==(c[a+100>>2]|0)){d=q;i=o;h=m;break}l=vr(d|0,((d|0)<0)<<31>>31|0,$|0,aa|0)|0;S=C;k=vr(h|0,((h|0)<0)<<31>>31|0,ba|0,ca|0)|0;S=Kt(k|0,C|0,l|0,S|0)|0;l=C;k=vr(i|0,((i|0)<0)<<31>>31|0,V|0,W|0)|0;k=Kt(S|0,l|0,k|0,C|0)|0;l=C;if(!((l|0)>(b|0)|(l|0)==(b|0)&k>>>0>g>>>0)){d=q;i=o;h=m;break}c[e>>2]=r;S=c[j>>2]|0;d=c[S+88>>2]|0;i=c[S+92>>2]|0;h=c[S+96>>2]|0;if(!S){g=k;b=l;break}else{b=l;g=k;q=d;o=i;m=h}}o=c[f>>2]|0;S=i}else{o=fa;d=i;S=j}j=vr($|0,aa|0,s|0,((s|0)<0)<<31>>31|0)|0;R=C;i=vr(ba|0,ca|0,n|0,((n|0)<0)<<31>>31|0)|0;R=Kt(i|0,C|0,j|0,R|0)|0;j=C;i=vr(V|0,W|0,p|0,((p|0)<0)<<31>>31|0)|0;i=Kt(R|0,j|0,i|0,C|0)|0;j=C;a:do if(o)if(!(c[o+12>>2]|0))k=s;else{r=o;q=s;while(1){o=c[c[r+8>>2]>>2]|0;m=c[o+12>>2]|0;k=c[m+88>>2]|0;Q=vr(k|0,((k|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;P=C;l=c[m+92>>2]|0;R=vr(l|0,((l|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;P=Kt(R|0,C|0,Q|0,P|0)|0;Q=C;m=c[m+96>>2]|0;R=vr(m|0,((m|0)<0)<<31>>31|0,T|0,((T|0)<0)<<31>>31|0)|0;R=Kt(P|0,Q|0,R|0,C|0)|0;Q=C;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0<t>>>0){o=r;k=q;break a}if((c[o+20>>2]|0)==(c[a+100>>2]|0)){o=r;k=q;break a}R=vr(k|0,((k|0)<0)<<31>>31|0,$|0,aa|0)|0;Q=C;l=vr(l|0,((l|0)<0)<<31>>31|0,ba|0,ca|0)|0;Q=Kt(l|0,C|0,R|0,Q|0)|0;R=C;l=vr(m|0,((m|0)<0)<<31>>31|0,V|0,W|0)|0;l=Kt(Q|0,R|0,l|0,C|0)|0;m=C;if(!((m|0)>(j|0)|(m|0)==(j|0)&l>>>0>i>>>0)){o=r;k=q;break a}c[f>>2]=o;R=c[o+12>>2]|0;k=c[R+88>>2]|0;n=c[R+92>>2]|0;p=c[R+96>>2]|0;if(!R){i=l;j=m;break}else{r=o;j=m;i=l;q=k}}}else{o=0;k=s}while(0);i=Is(i|0,j|0,g|0,b|0)|0;b=C;if((b|0)>0|(b|0)==0&i>>>0>0){Q=Is(0,0,T|0,((T|0)<0)<<31>>31|0)|0;R=C;j=o;q=i;m=b;r=d;s=S;t=h;N=k;O=n;P=p;while(1){l=(_(O-s|0,ea)|0)+(_(N-r|0,da)|0)+(_(P-t|0,X)|0)|0;g=c[e>>2]|0;if(!g){E=l;D=l;B=((l|0)<0)<<31>>31;l=q;I=r;H=s;G=t}else{K=l;u=l;L=((l|0)<0)<<31>>31;l=q;H=r;I=s;J=t;b:while(1){if(!(c[g+12>>2]|0)){s=K;t=L;r=H;q=I;g=J;break}G=c[(c[g>>2]|0)+8>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){s=K;t=L;r=H;q=I;g=J;break}M=c[G+12>>2]|0;r=c[M+88>>2]|0;F=r-H|0;q=c[M+92>>2]|0;E=q-I|0;M=c[M+96>>2]|0;j=M-J|0;t=vr(F|0,((F|0)<0)<<31>>31|0,$|0,aa|0)|0;D=C;s=vr(E|0,((E|0)<0)<<31>>31|0,ba|0,ca|0)|0;D=Kt(s|0,C|0,t|0,D|0)|0;t=C;s=vr(j|0,((j|0)<0)<<31>>31|0,V|0,W|0)|0;s=Kt(D|0,t|0,s|0,C|0)|0;t=C;j=(_(E,ea)|0)+(_(F,da)|0)+(_(j,X)|0)|0;do if((s|0)==0&(t|0)==0){if((j|0)>=0){s=K;t=L;r=H;q=I;g=J;break b}}else{if((t|0)>=0){s=K;t=L;r=H;q=I;g=J;break b}if((j|0)>0){w=1;x=j;v=((j|0)<0)<<31>>31}else{x=Is(0,0,j|0,((j|0)<0)<<31>>31|0)|0;w=j>>31;x=(j|0)<0?x:0;v=(j|0)<0?C:0}F=0-w|0;A=Is(0,0,s|0,t|0)|0;B=C;if((K|0)>0){j=1;D=u;E=L}else{E=(K|0)<0;D=Is(0,0,u|0,L|0)|0;j=K>>31;D=E?D:0;E=E?C:0}if(!((m|0)>0|(m|0)==0&l>>>0>0))if((m|0)<0){s=Is(0,0,l|0,m|0)|0;j=0-j|0;t=C}else{s=0;t=0}else{s=l;t=m}if((j|0)==(F|0)){if(!w)break;j=vr(s|0,0,x|0,0)|0;w=C;ja=vr(t|0,0,x|0,0)|0;ia=C;y=vr(s|0,0,v|0,0)|0;z=C;ha=vr(t|0,0,v|0,0)|0;x=C;y=Kt(ja|0,0,y|0,0)|0;s=C;x=Kt(ia|0,0,ha|0,x|0)|0;z=Kt(x|0,C|0,z|0,0)|0;s=Kt(z|0,C|0,s|0,0)|0;z=C;w=Kt(0,y|0,j|0,w|0)|0;x=C;y=Kt(s|0,z|0,(x>>>0<y>>>0|(x|0)==(y|0)&w>>>0<0)&1|0,0)|0;z=C;s=vr(D|0,0,A|0,0)|0;j=C;ha=vr(E|0,0,A|0,0)|0;A=C;t=vr(D|0,0,B|0,0)|0;v=C;B=vr(E|0,0,B|0,0)|0;D=C;t=Kt(ha|0,0,t|0,0)|0;E=C;D=Kt(A|0,0,B|0,D|0)|0;v=Kt(D|0,C|0,v|0,0)|0;E=Kt(v|0,C|0,E|0,0)|0;v=C;j=Kt(0,t|0,s|0,j|0)|0;s=C;t=Kt(E|0,v|0,(s>>>0<t>>>0|(s|0)==(t|0)&j>>>0<0)&1|0,0)|0;v=C;do if(z>>>0<v>>>0|(z|0)==(v|0)&y>>>0<t>>>0)j=-1;else{if(z>>>0>v>>>0|(z|0)==(v|0)&y>>>0>t>>>0){j=1;break}if(x>>>0<s>>>0|(x|0)==(s|0)&w>>>0<j>>>0){j=-1;break}j=(x>>>0>s>>>0|(x|0)==(s|0)&w>>>0>j>>>0)&1}while(0);j=_(j,F)|0}else j=F-j|0;if((j|0)<=-1){s=K;t=L;r=H;q=I;g=J;break b}}while(0);ja=N-r|0;ia=O-q|0;j=P-M|0;m=vr(ja|0,((ja|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=C;l=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ha=Kt(l|0,C|0,m|0,ha|0)|0;m=C;l=vr(j|0,((j|0)<0)<<31>>31|0,V|0,W|0)|0;l=Kt(ha|0,m|0,l|0,C|0)|0;m=C;g=(g|0)==(U|0)?0:G;c[e>>2]=g;j=(_(ia,ea)|0)+(_(ja,da)|0)+(_(j,X)|0)|0;if(!g){s=j;u=j;t=((j|0)<0)<<31>>31;g=M;break}else{K=j;u=j;L=((j|0)<0)<<31>>31;H=r;I=q;J=M}}E=s;j=c[f>>2]|0;D=u;B=t;I=r;H=q;G=g}if(!j){g=122;break}if(!(c[j+12>>2]|0)){g=122;break}F=c[c[j+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){g=122;break}r=c[F+12>>2]|0;t=c[r+88>>2]|0;q=t-N|0;s=c[r+92>>2]|0;j=s-O|0;r=c[r+96>>2]|0;g=r-P|0;ja=vr(q|0,((q|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=C;ia=vr(j|0,((j|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;ha=Kt(ia|0,C|0,ja|0,ha|0)|0;ja=C;ia=vr(g|0,((g|0)<0)<<31>>31|0,Q|0,R|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(C|0))){g=122;break}v=vr(q|0,((q|0)<0)<<31>>31|0,$|0,aa|0)|0;A=C;u=vr(j|0,((j|0)<0)<<31>>31|0,ba|0,ca|0)|0;A=Kt(u|0,C|0,v|0,A|0)|0;v=C;u=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;u=Kt(A|0,v|0,u|0,C|0)|0;v=C;g=(_(j,ea)|0)+(_(q,da)|0)+(_(g,X)|0)|0;A=t-I|0;ia=s-H|0;z=r-G|0;A=vr(A|0,((A|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=C;ia=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ja=Kt(ia|0,C|0,A|0,ja|0)|0;A=C;z=vr(z|0,((z|0)<0)<<31>>31|0,V|0,W|0)|0;z=Kt(ja|0,A|0,z|0,C|0)|0;A=C;if(!((A|0)>0|(A|0)==0&z>>>0>0)){g=122;break}if((u|0)==0&(v|0)==0){if((g|0)>=0){g=122;break}}else{if((v|0)>=0){g=122;break}if((g|0)>0){r=1;s=g;q=((g|0)<0)<<31>>31}else{s=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;r=g>>31;s=(g|0)<0?s:0;q=(g|0)<0?C:0}y=0-r|0;w=Is(0,0,u|0,v|0)|0;x=C;if((E|0)>0){g=1;v=D;u=B}else{u=(E|0)<0;v=Is(0,0,D|0,B|0)|0;g=E>>31;v=u?v:0;u=u?C:0}do if((m|0)>0|(m|0)==0&l>>>0>0){j=g;g=m}else{if((m|0)>=0){j=g;l=0;g=0;break}l=Is(0,0,l|0,m|0)|0;j=0-g|0;g=C}while(0);if((j|0)==(y|0)){if(!r){g=122;break}ja=vr(l|0,0,s|0,0)|0;r=C;j=vr(g|0,0,s|0,0)|0;P=C;s=vr(l|0,0,q|0,0)|0;t=C;g=vr(g|0,0,q|0,0)|0;q=C;s=Kt(j|0,0,s|0,0)|0;j=C;q=Kt(P|0,0,g|0,q|0)|0;t=Kt(q|0,C|0,t|0,0)|0;j=Kt(t|0,C|0,j|0,0)|0;t=C;q=Kt(0,s|0,ja|0,r|0)|0;r=C;s=Kt(j|0,t|0,(r>>>0<s>>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=C;j=vr(v|0,0,w|0,0)|0;g=C;ja=vr(u|0,0,w|0,0)|0;P=C;l=vr(v|0,0,x|0,0)|0;m=C;ha=vr(u|0,0,x|0,0)|0;ia=C;l=Kt(ja|0,0,l|0,0)|0;ja=C;ia=Kt(P|0,0,ha|0,ia|0)|0;m=Kt(ia|0,C|0,m|0,0)|0;ja=Kt(m|0,C|0,ja|0,0)|0;m=C;g=Kt(0,l|0,j|0,g|0)|0;j=C;l=Kt(ja|0,m|0,(j>>>0<l>>>0|(j|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=C;do if(t>>>0<m>>>0|(t|0)==(m|0)&s>>>0<l>>>0)g=-1;else{if(t>>>0>m>>>0|(t|0)==(m|0)&s>>>0>l>>>0){g=1;break}if(r>>>0<j>>>0|(r|0)==(j|0)&q>>>0<g>>>0){g=-1;break}g=(r>>>0>j>>>0|(r|0)==(j|0)&q>>>0>g>>>0)&1}while(0);g=_(g,y)|0}else g=y-j|0;if((g|0)<=0){g=122;break}}c[f>>2]=F;P=c[F+12>>2]|0;j=F;q=z;m=A;r=I;s=H;t=G;N=c[P+88>>2]|0;O=c[P+92>>2]|0;P=c[P+96>>2]|0}if((g|0)==122)return}if((b|0)>=0)return;F=Is(0,0,T|0,((T|0)<0)<<31>>31|0)|0;G=C;g=S;E=k;c:while(1){D=b;B=i;z=g;d:while(1){A=(_(n-z|0,ea)|0)+(_(E-d|0,da)|0)+(_(p-h|0,X)|0)|0;do if((o|0?c[o+12>>2]|0:0)?(ga=c[(c[o+4>>2]|0)+8>>2]|0,(c[ga+20>>2]|0)>(c[a+100>>2]|0)):0){y=c[ga+12>>2]|0;w=c[y+88>>2]|0;ja=w-E|0;x=c[y+92>>2]|0;ia=x-n|0;y=c[y+96>>2]|0;g=y-p|0;i=vr(ja|0,((ja|0)<0)<<31>>31|0,$|0,aa|0)|0;ha=C;b=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ha=Kt(b|0,C|0,i|0,ha|0)|0;i=C;b=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;b=Kt(ha|0,i|0,b|0,C|0)|0;i=C;g=(_(ia,ea)|0)+(_(ja,da)|0)+(_(g,X)|0)|0;if((b|0)==0&(i|0)==0)if((g|0)>0)break d;else break;if((i|0)<0){if((g|0)>0){k=1;l=g;j=((g|0)<0)<<31>>31}else{l=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;k=g>>31;l=(g|0)<0?l:0;j=(g|0)<0?C:0}v=0-k|0;r=Is(0,0,b|0,i|0)|0;s=C;if((A|0)>0){g=1;t=A;u=((A|0)<0)<<31>>31}else{t=Is(0,0,A|0,((A|0)<0)<<31>>31|0)|0;g=A>>31;t=(A|0)<0?t:0;u=(A|0)<0?C:0}if(!((D|0)>0|(D|0)==0&B>>>0>0))if((D|0)<0){b=Is(0,0,B|0,D|0)|0;g=0-g|0;i=C}else{b=0;i=0}else{b=B;i=D}if((g|0)==(v|0)){if(!k)break d;g=vr(b|0,0,l|0,0)|0;k=C;ha=vr(i|0,0,l|0,0)|0;U=C;m=vr(b|0,0,j|0,0)|0;q=C;ja=vr(i|0,0,j|0,0)|0;l=C;m=Kt(ha|0,0,m|0,0)|0;b=C;l=Kt(U|0,0,ja|0,l|0)|0;q=Kt(l|0,C|0,q|0,0)|0;b=Kt(q|0,C|0,b|0,0)|0;q=C;k=Kt(0,m|0,g|0,k|0)|0;l=C;m=Kt(b|0,q|0,(l>>>0<m>>>0|(l|0)==(m|0)&k>>>0<0)&1|0,0)|0;q=C;b=vr(t|0,0,r|0,0)|0;g=C;ja=vr(u|0,0,r|0,0)|0;U=C;i=vr(t|0,0,s|0,0)|0;j=C;ha=vr(u|0,0,s|0,0)|0;ia=C;i=Kt(ja|0,0,i|0,0)|0;ja=C;ia=Kt(U|0,0,ha|0,ia|0)|0;j=Kt(ia|0,C|0,j|0,0)|0;ja=Kt(j|0,C|0,ja|0,0)|0;j=C;g=Kt(0,i|0,b|0,g|0)|0;b=C;i=Kt(ja|0,j|0,(b>>>0<i>>>0|(b|0)==(i|0)&g>>>0<0)&1|0,0)|0;j=C;do if(q>>>0<j>>>0|(q|0)==(j|0)&m>>>0<i>>>0)g=-1;else{if(q>>>0>j>>>0|(q|0)==(j|0)&m>>>0>i>>>0){g=1;break}if(l>>>0<b>>>0|(l|0)==(b|0)&k>>>0<g>>>0){g=-1;break}g=(l>>>0>b>>>0|(l|0)==(b|0)&k>>>0>g>>>0)&1}while(0);g=_(g,v)|0}else g=v-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=122;break c}if(!(c[g+12>>2]|0)){g=122;break c}u=c[(c[g+8>>2]|0)+4>>2]|0;if((c[u+20>>2]|0)<=(c[a+100>>2]|0)){g=122;break c}i=c[u+12>>2]|0;k=c[i+88>>2]|0;d=k-d|0;j=c[i+92>>2]|0;b=j-z|0;i=c[i+96>>2]|0;g=i-h|0;ja=vr(d|0,((d|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;ha=C;ia=vr(b|0,((b|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;ha=Kt(ia|0,C|0,ja|0,ha|0)|0;ja=C;ia=vr(g|0,((g|0)<0)<<31>>31|0,F|0,G|0)|0;if(!((ha|0)==(ia|0)&(ja|0)==(C|0))){g=122;break c}l=vr(d|0,((d|0)<0)<<31>>31|0,$|0,aa|0)|0;t=C;h=vr(b|0,((b|0)<0)<<31>>31|0,ba|0,ca|0)|0;t=Kt(h|0,C|0,l|0,t|0)|0;l=C;h=vr(g|0,((g|0)<0)<<31>>31|0,V|0,W|0)|0;h=Kt(t|0,l|0,h|0,C|0)|0;l=C;g=(_(b,ea)|0)+(_(d,da)|0)+(_(g,X)|0)|0;t=E-k|0;ia=n-j|0;s=p-i|0;t=vr(t|0,((t|0)<0)<<31>>31|0,$|0,aa|0)|0;ja=C;ia=vr(ia|0,((ia|0)<0)<<31>>31|0,ba|0,ca|0)|0;ja=Kt(ia|0,C|0,t|0,ja|0)|0;t=C;s=vr(s|0,((s|0)<0)<<31>>31|0,V|0,W|0)|0;s=Kt(ja|0,t|0,s|0,C|0)|0;t=C;if((t|0)>=0){g=122;break c}if((h|0)==0&(l|0)==0){if((g|0)<=0){g=122;break c}}else{if((l|0)>=0){g=122;break c}if((g|0)>0){j=g;k=((g|0)<0)<<31>>31;i=1}else{j=Is(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=(g|0)<0?j:0;k=(g|0)<0?C:0;i=g>>31}r=0-i|0;o=Is(0,0,h|0,l|0)|0;q=C;if((A|0)>0){g=1;m=A;h=((A|0)<0)<<31>>31}else{m=Is(0,0,A|0,((A|0)<0)<<31>>31|0)|0;g=A>>31;m=(A|0)<0?m:0;h=(A|0)<0?C:0}do if((D|0)>0|(D|0)==0&B>>>0>0){d=g;b=B;g=D}else{if((D|0)>=0){d=g;b=0;g=0;break}b=Is(0,0,B|0,D|0)|0;d=0-g|0;g=C}while(0);if((d|0)==(r|0)){if(!i){g=122;break c}ja=vr(b|0,0,j|0,0)|0;i=C;d=vr(g|0,0,j|0,0)|0;U=C;b=vr(b|0,0,k|0,0)|0;l=C;g=vr(g|0,0,k|0,0)|0;j=C;k=Kt(d|0,0,b|0,0)|0;b=C;j=Kt(U|0,0,g|0,j|0)|0;l=Kt(j|0,C|0,l|0,0)|0;b=Kt(l|0,C|0,b|0,0)|0;l=C;i=Kt(0,k|0,ja|0,i|0)|0;j=C;k=Kt(b|0,l|0,(j>>>0<k>>>0|(j|0)==(k|0)&i>>>0<0)&1|0,0)|0;l=C;b=vr(m|0,0,o|0,0)|0;g=C;ja=vr(h|0,0,o|0,0)|0;U=C;d=vr(m|0,0,q|0,0)|0;ia=C;ha=vr(h|0,0,q|0,0)|0;h=C;d=Kt(ja|0,0,d|0,0)|0;ja=C;h=Kt(U|0,0,ha|0,h|0)|0;h=Kt(h|0,C|0,ia|0,0)|0;ja=Kt(h|0,C|0,ja|0,0)|0;h=C;g=Kt(0,d|0,b|0,g|0)|0;b=C;d=Kt(ja|0,h|0,(b>>>0<d>>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=C;do if(l>>>0<h>>>0|(l|0)==(h|0)&k>>>0<d>>>0)g=-1;else{if(l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>d>>>0){g=1;break}if(j>>>0<b>>>0|(j|0)==(b|0)&i>>>0<g>>>0){g=-1;break}g=(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>g>>>0)&1}while(0);g=_(g,r)|0}else g=r-d|0;if((g|0)>=0){g=122;break c}}c[e>>2]=u;h=c[u+12>>2]|0;o=c[f>>2]|0;D=t;B=s;d=c[h+88>>2]|0;z=c[h+92>>2]|0;h=c[h+96>>2]|0}b=w-d|0;E=x-z|0;i=y-h|0;b=vr(b|0,((b|0)<0)<<31>>31|0,$|0,aa|0)|0;g=C;E=vr(E|0,((E|0)<0)<<31>>31|0,ba|0,ca|0)|0;g=Kt(E|0,C|0,b|0,g|0)|0;b=C;i=vr(i|0,((i|0)<0)<<31>>31|0,V|0,W|0)|0;i=Kt(g|0,b|0,i|0,C|0)|0;o=(o|0)==(fa|0)?0:ga;c[f>>2]=o;b=C;g=z;E=w;n=x;p=y}if((g|0)==122)return}function Bc(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+624|0;K=O+536+40|0;M=O+588|0;N=O+576+12|0;L=O+588+9|0;m=0;n=0;r=0;w=f;a:while(1){do if((m|0)>-1){if((n|0)<=(2147483647-m|0)){m=n+m|0;break}if(!0)m=25748;else m=c[(ib()|0)+64>>2]|0;c[m>>2]=75;m=-1}while(0);f=a[w>>0]|0;if(!(f<<24>>24)){J=254;break}else n=w;b:while(1){switch(f<<24>>24){case 37:{f=n;J=11;break b}case 0:{f=n;break b}default:{}}I=n+1|0;f=a[I>>0]|0;n=I}c:do if((J|0)==11)while(1){J=0;if((a[f+1>>0]|0)!=37)break c;n=n+1|0;f=f+2|0;if((a[f>>0]|0)==37)J=11;else break}while(0);v=n-w|0;if(e|0?(c[e>>2]&32|0)==0:0)Ek(w,v,e);if((n|0)!=(w|0)){n=v;w=f;continue}o=f+1|0;n=a[o>>0]|0;if(((n<<24>>24)+-48|0)>>>0<10){I=(a[f+2>>0]|0)==36;o=I?f+3|0:o;q=a[o>>0]|0;u=I?(n<<24>>24)+-48|0:-1;r=I?1:r}else{q=n;u=-1}f=q<<24>>24;d:do if((f&-32|0)==32){n=q;q=0;do{if(!(1<<f+-32&75913))break d;q=1<<(n<<24>>24)+-32|q;o=o+1|0;n=a[o>>0]|0;f=n<<24>>24}while((f&-32|0)==32)}else{n=q;q=0}while(0);do if(n<<24>>24==42){n=o+1|0;f=(a[n>>0]|0)+-48|0;if(f>>>0<10?(a[o+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;f=1;o=o+3|0;n=c[j+((a[n>>0]|0)+-48<<3)>>2]|0}else{if(r|0){m=-1;break a}if(!e){t=q;I=0;o=n;H=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);I=c[f>>2]|0;c[g>>2]=f+4;f=0;o=n;n=I}if((n|0)<0){t=q|8192;I=f;H=0-n|0}else{t=q;I=f;H=n}}else{f=(n<<24>>24)+-48|0;if(f>>>0<10){n=0;do{n=(n*10|0)+f|0;o=o+1|0;f=(a[o>>0]|0)+-48|0}while(f>>>0<10);if((n|0)<0){m=-1;break a}else{t=q;I=r;H=n}}else{t=q;I=r;H=0}}while(0);e:do if((a[o>>0]|0)==46){f=o+1|0;q=a[f>>0]|0;if(q<<24>>24!=42){if(((q<<24>>24)+-48|0)>>>0<10){n=0;o=(q<<24>>24)+-48|0}else{r=0;break}while(1){n=(n*10|0)+o|0;f=f+1|0;o=(a[f>>0]|0)+-48|0;if(o>>>0>=10){r=n;break e}}}f=o+2|0;n=(a[f>>0]|0)+-48|0;if(n>>>0<10?(a[o+3>>0]|0)==36:0){c[l+(n<<2)>>2]=10;r=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=o+4|0;break}if(I|0){m=-1;break a}if(e|0){G=(c[g>>2]|0)+(4-1)&~(4-1);r=c[G>>2]|0;c[g>>2]=G+4}else r=0}else{r=-1;f=o}while(0);q=0;while(1){n=(a[f>>0]|0)+-65|0;if(n>>>0>57){m=-1;break a}G=f+1|0;n=a[19395+(q*58|0)+n>>0]|0;if(((n&255)+-1|0)>>>0<8){f=G;q=n&255}else break}if(!(n<<24>>24)){m=-1;break}o=(u|0)>-1;do if(n<<24>>24==19)if(o){m=-1;break a}else J=54;else{if(o){c[l+(u<<2)>>2]=n&255;F=j+(u<<3)|0;J=c[F+4>>2]|0;c[O>>2]=c[F>>2];c[O+4>>2]=J;J=54;break}if(!e){m=0;break a}Ug(O,n&255,g)}while(0);if((J|0)==54?(J=0,(e|0)==0):0){n=v;r=I;w=G;continue}E=a[f>>0]|0;E=(q|0)!=0&(E&15|0)==3?E&-33:E;o=t&-65537;F=(t&8192|0)==0?t:o;f:do switch(E|0){case 110:switch(q|0){case 0:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 1:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 2:{n=c[O>>2]|0;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;n=v;r=I;w=G;continue a}case 3:{b[c[O>>2]>>1]=m;n=v;r=I;w=G;continue a}case 4:{a[c[O>>2]>>0]=m;n=v;r=I;w=G;continue a}case 6:{c[c[O>>2]>>2]=m;n=v;r=I;w=G;continue a}case 7:{n=c[O>>2]|0;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;n=v;r=I;w=G;continue a}default:{n=v;r=I;w=G;continue a}}case 112:{t=F|8;r=r>>>0>8?r:8;u=120;J=66;break}case 88:case 120:{t=F;u=E;J=66;break}case 111:{n=c[O>>2]|0;o=c[O+4>>2]|0;if((n|0)==0&(o|0)==0)f=K;else{f=K;do{f=f+-1|0;a[f>>0]=n&7|48;n=us(n|0,o|0,3)|0;o=C}while(!((n|0)==0&(o|0)==0))}if(!(F&8)){n=F;t=0;q=19875;J=79}else{t=K-f|0;n=F;r=(r|0)>(t|0)?r:t+1|0;t=0;q=19875;J=79}break}case 105:case 100:{f=c[O>>2]|0;n=c[O+4>>2]|0;if((n|0)<0){f=Is(0,0,f|0,n|0)|0;n=C;c[O>>2]=f;c[O+4>>2]=n;o=1;q=19875;J=78;break f}if(!(F&2048)){o=F&1;q=(F&1|0)==0?19875:19877;J=78}else{o=1;q=19876;J=78}break}case 117:{f=c[O>>2]|0;n=c[O+4>>2]|0;o=0;q=19875;J=78;break}case 99:{a[O+536+39>>0]=c[O>>2];f=O+536+39|0;u=1;w=0;v=19875;n=K;break}case 109:{if(!0)f=25748;else f=c[(ib()|0)+64>>2]|0;n=c[f>>2]|0;f=0;while(1){if((d[19885+f>>0]|0)==(n|0)){J=85;break}f=f+1|0;if((f|0)==87){n=87;f=19973;break}}if((J|0)==85)if(!f){n=19973;J=92;break f}else{n=f;f=19973}do{do{J=f;f=f+1|0}while((a[J>>0]|0)!=0);n=n+-1|0}while((n|0)!=0);n=f;J=92;break}case 115:{n=c[O>>2]|0;n=n|0?n:21777;J=92;break}case 67:{c[O+8>>2]=c[O>>2];c[O+8+4>>2]=0;c[O>>2]=O+8;f=O+8|0;r=-1;J=96;break}case 83:{f=c[O>>2]|0;if(!r){Gl(e,32,H,0,F);f=0;J=107}else J=96;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{p=+h[O>>3];c[O+16>>2]=0;h[k>>3]=p;if((c[k+4>>2]|0)>=0)if(!(F&2048)){B=F&1;D=(F&1|0)==0?21785:21790}else{B=1;D=21787}else{p=-p;B=1;D=21784}h[k>>3]=p;A=c[k+4>>2]&2146435072;do if(A>>>0<2146435072|(A|0)==2146435072&0<0){p=+Gm(p,O+16|0)*2.0;if(p!=0.0)c[O+16>>2]=(c[O+16>>2]|0)+-1;if((E|32|0)==97){u=(E&32|0)==0?D:D+9|0;t=B|2;f=12-r|0;do if(!(r>>>0>11|(f|0)==0)){s=8.0;do{f=f+-1|0;s=s*16.0}while((f|0)!=0);if((a[u>>0]|0)==45){p=-(s+(-p-s));break}else{p=p+s-s;break}}while(0);n=c[O+16>>2]|0;f=(n|0)<0?0-n|0:n;f=Vm(f,((f|0)<0)<<31>>31,O+576+12|0)|0;if((f|0)==(O+576+12|0)){a[O+576+11>>0]=48;f=O+576+11|0}a[f+-1>>0]=(n>>31&2)+43;q=f+-2|0;a[q>>0]=E+15;o=(r|0)<1;f=O+588|0;while(1){D=~~p;n=f+1|0;a[f>>0]=d[19859+D>>0]|E&32;p=(p-+(D|0))*16.0;do if((n-M|0)==1){if((F&8|0)==0&(o&p==0.0))break;a[n>>0]=46;n=f+2|0}while(0);if(!(p!=0.0))break;else f=n}f=(r|0)!=0&(-2-M+n|0)<(r|0)?N+2+r-q|0:N-M-q+n|0;Gl(e,32,H,f+t|0,F);if(!(c[e>>2]&32))Ek(u,t,e);Gl(e,48,H,f+t|0,F^65536);if(!(c[e>>2]&32))Ek(O+588|0,n-M|0,e);Gl(e,48,f-(n-M+(N-q))|0,0,0);if(!(c[e>>2]&32))Ek(q,N-q|0,e);Gl(e,32,H,f+t|0,F^8192);f=(f+t|0)<(H|0)?H:f+t|0;break}f=(r|0)<0?6:r;if(p!=0.0){n=(c[O+16>>2]|0)+-28|0;c[O+16>>2]=n;p=p*268435456.0}else n=c[O+16>>2]|0;A=(n|0)<0?O+24|0:O+24+288|0;q=A;do{z=~~p>>>0;c[q>>2]=z;q=q+4|0;p=(p-+(z>>>0))*1.0e9}while(p!=0.0);n=c[O+16>>2]|0;if((n|0)>0){o=A;do{t=(n|0)>29?29:n;n=q+-4|0;do if(n>>>0>=o>>>0){r=0;do{y=is(c[n>>2]|0,0,t|0)|0;y=Kt(y|0,C|0,r|0,0)|0;z=C;x=lr(y|0,z|0,1e9,0)|0;c[n>>2]=x;r=Xv(y|0,z|0,1e9,0)|0;n=n+-4|0}while(n>>>0>=o>>>0);if(!r)break;o=o+-4|0;c[o>>2]=r}while(0);while(1){if(q>>>0<=o>>>0)break;n=q+-4|0;if(!(c[n>>2]|0))q=n;else break}n=(c[O+16>>2]|0)-t|0;c[O+16>>2]=n}while((n|0)>0)}else o=A;if((n|0)<0){do{t=0-n|0;t=(t|0)>9?9:t;do if(o>>>0<q>>>0){r=0;n=o;do{z=c[n>>2]|0;c[n>>2]=(z>>>t)+r;r=_(z&(1<<t)+-1,1e9>>>t)|0;n=n+4|0}while(n>>>0<q>>>0);n=(c[o>>2]|0)==0?o+4|0:o;if(!r){o=n;n=q;break}c[q>>2]=r;o=n;n=q+4|0}else{o=(c[o>>2]|0)==0?o+4|0:o;n=q}while(0);q=(E|32|0)==102?A:o;q=(n-q>>2|0)>(((f+25|0)/9|0)+1|0)?q+(((f+25|0)/9|0)+1<<2)|0:n;n=(c[O+16>>2]|0)+t|0;c[O+16>>2]=n}while((n|0)<0);n=o}else n=o;do if(n>>>0<q>>>0){o=(A-n>>2)*9|0;t=c[n>>2]|0;if(t>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(t>>>0>=r>>>0)}else o=0;while(0);r=f-((E|32|0)!=102?o:0)+(((f|0)!=0&(E|32|0)==103)<<31>>31)|0;if((r|0)<(((q-A>>2)*9|0)+-9|0)){x=A+4+(((r+9216|0)/9|0)+-1024<<2)|0;if((((r+9216|0)%9|0)+1|0)<9){t=10;u=((r+9216|0)%9|0)+1|0;while(1){r=t*10|0;u=u+1|0;if((u|0)==9)break;else t=r}}else r=10;v=c[x>>2]|0;w=(v>>>0)%(r>>>0)|0;t=(x+4|0)==(q|0);do if(t&(w|0)==0)r=x;else{s=(((v>>>0)/(r>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;u=(r|0)/2|0;if(w>>>0<u>>>0)p=.5;else p=t&(w|0)==(u|0)?1.0:1.5;do if(B){if((a[D>>0]|0)!=45)break;s=-s;p=-p}while(0);c[x>>2]=v-w;if(!(s+p!=s)){r=x;break}z=v-w+r|0;c[x>>2]=z;if(z>>>0>999999999){o=x;while(1){r=o+-4|0;c[o>>2]=0;if(r>>>0<n>>>0){n=n+-4|0;c[n>>2]=0}z=(c[r>>2]|0)+1|0;c[r>>2]=z;if(z>>>0>999999999)o=r;else break}}else r=x;o=(A-n>>2)*9|0;u=c[n>>2]|0;if(u>>>0<10)break;else t=10;do{t=t*10|0;o=o+1|0}while(u>>>0>=t>>>0)}while(0);y=r+4|0;z=n;n=q>>>0>y>>>0?y:q}else{z=n;n=q}u=0-o|0;y=n;while(1){if(y>>>0<=z>>>0){w=0;break}n=y+-4|0;if(!(c[n>>2]|0))y=n;else{w=1;break}}do if((E|32|0)==103){if((((f|0)!=0^1)+f|0)>(o|0)&(o|0)>-5){t=E+-1|0;f=((f|0)!=0^1)+f+-1-o|0}else{t=E+-2|0;f=((f|0)!=0^1)+f+-1|0}if(F&8|0){r=F&8;break}do if(w){n=c[y+-4>>2]|0;if(!n){q=9;break}if(!((n>>>0)%10|0)){r=10;q=0}else{q=0;break}do{r=r*10|0;q=q+1|0}while(!((n>>>0)%(r>>>0)|0|0))}else q=9;while(0);n=((y-A>>2)*9|0)+-9|0;if((t|32|0)==102){r=n-q|0;r=(r|0)<0?0:r;f=(f|0)<(r|0)?f:r;r=0;break}else{r=n+o-q|0;r=(r|0)<0?0:r;f=(f|0)<(r|0)?f:r;r=0;break}}else{t=E;r=F&8}while(0);v=f|r;q=(t|32|0)==102;if(q){n=(o|0)>0?o:0;u=0}else{n=(o|0)<0?u:o;n=Vm(n,((n|0)<0)<<31>>31,O+576+12|0)|0;if((N-n|0)<2)do{n=n+-1|0;a[n>>0]=48}while((N-n|0)<2);a[n+-1>>0]=(o>>31&2)+43;u=n+-2|0;a[u>>0]=t;n=N-u|0}x=B+1+f+((v|0)!=0&1)+n|0;Gl(e,32,H,x,F);if(!(c[e>>2]&32))Ek(D,B,e);Gl(e,48,H,x,F^65536);do if(q){q=z>>>0>A>>>0?A:z;o=q;do{n=Vm(c[o>>2]|0,0,L)|0;do if((o|0)==(q|0)){if((n|0)!=(L|0))break;a[O+588+8>>0]=48;n=O+588+8|0}else{if(n>>>0<=(O+588|0)>>>0)break;Qn(O+588|0,48,n-M|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}while(0);if(!(c[e>>2]&32))Ek(n,L-n|0,e);o=o+4|0}while(o>>>0<=A>>>0);do if(v|0){if(c[e>>2]&32|0)break;Ek(21819,1,e)}while(0);if((f|0)>0&o>>>0<y>>>0)while(1){n=Vm(c[o>>2]|0,0,L)|0;if(n>>>0>(O+588|0)>>>0){Qn(O+588|0,48,n-M|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}if(!(c[e>>2]&32))Ek(n,(f|0)>9?9:f,e);o=o+4|0;n=f+-9|0;if(!((f|0)>9&o>>>0<y>>>0)){f=n;break}else f=n}Gl(e,48,f+9|0,9,0)}else{t=w?y:z+4|0;if((f|0)>-1){r=(r|0)==0;q=z;do{n=Vm(c[q>>2]|0,0,L)|0;if((n|0)==(L|0)){a[O+588+8>>0]=48;n=O+588+8|0}do if((q|0)==(z|0)){o=n+1|0;if(!(c[e>>2]&32))Ek(n,1,e);if(r&(f|0)<1){n=o;break}if(c[e>>2]&32|0){n=o;break}Ek(21819,1,e);n=o}else{if(n>>>0<=(O+588|0)>>>0)break;Qn(O+588|0,48,n+(0-M)|0)|0;do n=n+-1|0;while(n>>>0>(O+588|0)>>>0)}while(0);o=L-n|0;if(!(c[e>>2]&32))Ek(n,(f|0)>(o|0)?o:f,e);f=f-o|0;q=q+4|0}while(q>>>0<t>>>0&(f|0)>-1)}Gl(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;Ek(u,N-u|0,e)}while(0);Gl(e,32,H,x,F^8192);f=(x|0)<(H|0)?H:x}else{q=p!=p|0.0!=0.0;n=q?0:B;Gl(e,32,H,n+3|0,o);f=c[e>>2]|0;if(!(f&32)){Ek(D,n,e);f=c[e>>2]|0}if(!(f&32))Ek(q?(E&32|0?21811:21815):E&32|0?21803:21807,3,e);Gl(e,32,H,n+3|0,F^8192);f=(n+3|0)<(H|0)?H:n+3|0}while(0);n=f;r=I;w=G;continue a}default:{f=w;o=F;u=r;w=0;v=19875;n=K}}while(0);g:do if((J|0)==66){n=c[O>>2]|0;o=c[O+4>>2]|0;q=u&32;if(!((n|0)==0&(o|0)==0)){f=K;do{f=f+-1|0;a[f>>0]=d[19859+(n&15)>>0]|q;n=us(n|0,o|0,4)|0;o=C}while(!((n|0)==0&(o|0)==0));if((t&8|0)==0|(c[O>>2]|0)==0&(c[O+4>>2]|0)==0){n=t;t=0;q=19875;J=79}else{n=t;t=2;q=19875+(u>>4)|0;J=79}}else{f=K;n=t;t=0;q=19875;J=79}}else if((J|0)==78){f=Vm(f,n,K)|0;n=F;t=o;J=79}else if((J|0)==92){J=0;F=lj(n,0,r)|0;f=n;u=(F|0)==0?r:F-n|0;w=0;v=19875;n=(F|0)==0?n+r|0:F}else if((J|0)==96){J=0;o=0;n=0;t=f;while(1){q=c[t>>2]|0;if(!q)break;n=wl(O+528|0,q)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)t=t+4|0;else break}if((n|0)<0){m=-1;break a}Gl(e,32,H,o,F);if(!o){f=0;J=107}else{q=0;while(1){n=c[f>>2]|0;if(!n){f=o;J=107;break g}n=wl(O+528|0,n)|0;q=n+q|0;if((q|0)>(o|0)){f=o;J=107;break g}if(!(c[e>>2]&32))Ek(O+528|0,n,e);if(q>>>0>=o>>>0){f=o;J=107;break}else f=f+4|0}}}while(0);if((J|0)==107){J=0;Gl(e,32,H,f,F^8192);n=(H|0)>(f|0)?H:f;r=I;w=G;continue}if((J|0)==79){J=0;o=(r|0)>-1?n&-65537:n;n=(c[O>>2]|0)!=0|(c[O+4>>2]|0)!=0;if((r|0)!=0|n){u=(n&1^1)+(K-f)|0;u=(r|0)>(u|0)?r:u;w=t;v=q;n=K}else{f=K;u=0;w=t;v=q;n=K}}t=n-f|0;q=(u|0)<(t|0)?t:u;r=w+q|0;n=(H|0)<(r|0)?r:H;Gl(e,32,n,r,o);if(!(c[e>>2]&32))Ek(v,w,e);Gl(e,48,n,r,o^65536);Gl(e,48,q,t,0);if(!(c[e>>2]&32))Ek(f,t,e);Gl(e,32,n,r,o^8192);r=I;w=G}h:do if((J|0)==254)if(!e)if(!r)m=0;else{m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f){f=0;break}Ug(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}while(1){m=m+1|0;if(f|0){m=-1;break h}if((m|0)>=10){m=1;break h}f=c[l+(m<<2)>>2]|0}}while(0);i=O;return m|0}function Cc(b,d,e,f,h,j,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;Y=i;i=i+304|0;c[b+188>>2]=-1;li(12870);c[b+184>>2]=0;if((e|0)>0){n=0;do{c[(c[d+(n<<2)>>2]|0)+212>>2]=-1;n=n+1|0}while((n|0)!=(e|0))}o=c[b+12>>2]|0;if((o|0)>(e|0))p=b+8|0;else{if((e+1|0)!=0?(c[6435]=(c[6435]|0)+1,p=yc(((e+1|0)*244|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}else p=0;n=c[b+8>>2]|0;if((n|0)>0){o=0;do{V=p+(o*244|0)|0;W=c[b+16>>2]|0;U=W+(o*244|0)|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+16|0;U=W+(o*244|0)+16|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+32|0;U=W+(o*244|0)+32|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];V=p+(o*244|0)+48|0;U=W+(o*244|0)+48|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];_m(p+(o*244|0)+64|0,W+(o*244|0)+64|0,180)|0;o=o+1|0}while((o|0)!=(n|0))}n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=p;c[b+12>>2]=e+1;p=b+8|0;o=e+1|0}Qn(Y|0,0,244)|0;n=c[p>>2]|0;if((n|0)<0){if((o|0)<0){o=c[b+16>>2]|0;if(o|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{W=c[b+16>>2]|0;V=W+(n*244|0)|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[Y+4>>2];c[V+8>>2]=c[Y+8>>2];c[V+12>>2]=c[Y+12>>2];V=W+(n*244|0)+16|0;c[V>>2]=c[Y+16>>2];c[V+4>>2]=c[Y+16+4>>2];c[V+8>>2]=c[Y+16+8>>2];c[V+12>>2]=c[Y+16+12>>2];V=W+(n*244|0)+32|0;c[V>>2]=c[Y+32>>2];c[V+4>>2]=c[Y+32+4>>2];c[V+8>>2]=c[Y+32+8>>2];c[V+12>>2]=c[Y+32+12>>2];V=W+(n*244|0)+48|0;c[V>>2]=c[Y+48>>2];c[V+4>>2]=c[Y+48+4>>2];c[V+8>>2]=c[Y+48+8>>2];c[V+12>>2]=c[Y+48+12>>2];_m(W+(n*244|0)+64|0,Y+64|0,180)|0;n=n+1|0}while((n|0)!=0)}c[p>>2]=0;if((e|0)>0){p=0;do{o=d+(p<<2)|0;n=bk(b,c[o>>2]|0,+g[m+12>>2])|0;o=c[o>>2]|0;if((!((o|0)==0?1:(c[o+236>>2]&2|0)==0)?+g[o+344>>2]!=0.0:0)?(q=c[b+16>>2]|0,c[o+504>>2]&2|0):0){t=+g[m+76>>2];_=1.0/+g[o+396>>2];u=1.0/+g[o+400>>2];r=1.0/+g[o+404>>2];ea=+g[o+4>>2];da=+g[o+8>>2];ca=+g[o+12>>2];ba=+g[o+20>>2];aa=+g[o+24>>2];$=+g[o+28>>2];Z=+g[o+36>>2];B=+g[o+40>>2];w=+g[o+44>>2];x=+g[o+328>>2];y=+g[o+332>>2];v=+g[o+336>>2];z=(_*ea*ea+u*da*da+r*ca*ca)*x+(_*ea*ba+u*da*aa+r*ca*$)*y+(_*ea*Z+u*da*B+r*ca*w)*v;A=(_*ba*ea+u*aa*da+r*$*ca)*x+(_*ba*ba+u*aa*aa+r*$*$)*y+(_*ba*Z+u*aa*B+r*$*w)*v;w=(_*Z*ea+u*B*da+r*w*ca)*x+(_*Z*ba+u*B*aa+r*w*$)*y+(_*Z*Z+u*B*B+r*w*w)*v;r=(y*w-v*A)*(y*w-v*A)+(v*z-x*w)*(v*z-x*w)+(x*A-y*z)*(x*A-y*z);if(r>t*t){r=1.0/+O(+r)*t;u=(y*w-v*A)*r;t=r*(v*z-x*w);r=r*(x*A-y*z)}else{u=y*w-v*A;t=v*z-x*w;r=x*A-y*z}ca=+g[m+12>>2];da=(u*+g[o+268>>2]+t*+g[o+284>>2]+r*+g[o+300>>2])*ca;ea=ca*(u*+g[o+272>>2]+t*+g[o+288>>2]+r*+g[o+304>>2]);g[q+(n*244|0)+224>>2]=+g[q+(n*244|0)+224>>2]-(u*+g[o+264>>2]+t*+g[o+280>>2]+r*+g[o+296>>2])*ca;g[q+(n*244|0)+228>>2]=+g[q+(n*244|0)+228>>2]-da;g[q+(n*244|0)+232>>2]=+g[q+(n*244|0)+232>>2]-ea}p=p+1|0}while((p|0)!=(e|0))}if((l|0)>0){n=0;do{W=c[j+(n<<2)>>2]|0;Ab[c[(c[W>>2]|0)+8>>2]&255](W);g[W+36>>2]=0.0;n=n+1|0}while((n|0)<(l|0))}o=c[b+168>>2]|0;if((o|0)<(l|0)?(c[b+172>>2]|0)<(l|0):0){if(!l)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((l<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+168>>2]|0}if((o|0)>0){p=0;do{U=(c[b+176>>2]|0)+(p<<3)|0;V=c[U+4>>2]|0;W=n+(p<<3)|0;c[W>>2]=c[U>>2];c[W+4>>2]=V;p=p+1|0}while((p|0)!=(o|0))}o=c[b+176>>2]|0;if(o|0){if(a[b+180>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=n;c[b+172>>2]=l}c[b+168>>2]=l;if((l|0)>0){s=0;n=0;do{d=c[b+176>>2]|0;e=d+(s<<3)|0;q=j+(s<<2)|0;o=c[q>>2]|0;p=c[o+44>>2]|0;if(p){o=p+64|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(o|0));o=c[q>>2]|0}if(!(a[o+20>>0]|0)){c[e>>2]=0;c[d+(s<<3)+4>>2]=0;o=0}else{Cb[c[(c[o>>2]|0)+16>>2]&127](o,e);o=c[e>>2]|0}n=o+n|0;s=s+1|0}while((s|0)<(l|0))}else n=0;p=c[b+48>>2]|0;if((p|0)<(n|0)?(c[b+52>>2]|0)<(n|0):0){if(!n)o=0;else{c[6435]=(c[6435]|0)+1;o=yc((n*152|3)+16|0)|0;if(!o)o=0;else{c[(o+4+15&-16)+-4>>2]=o;o=o+4+15&-16}p=c[b+48>>2]|0}if((p|0)>0){q=0;do{_m(o+(q*152|0)|0,(c[b+56>>2]|0)+(q*152|0)|0,152)|0;q=q+1|0}while((q|0)!=(p|0))}p=c[b+56>>2]|0;if(p|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=o;c[b+52>>2]=n}c[b+48>>2]=n;if((l|0)>0){n=c[b+176>>2]|0;V=0;W=0;while(1){U=n+(W<<3)|0;if(!(c[U>>2]|0))o=0;else{n=c[b+56>>2]|0;K=n+(V*152|0)|0;L=j+(W<<2)|0;M=c[L>>2]|0;P=c[M+28>>2]|0;Q=c[M+32>>2]|0;R=bk(b,P,+g[m+12>>2])|0;S=bk(b,Q,+g[m+12>>2])|0;T=c[b+16>>2]|0;o=c[M+24>>2]|0;o=(o|0)>0?o:c[m+20>>2]|0;if((o|0)>(c[b+184>>2]|0))c[b+184>>2]=o;if((c[U>>2]|0)>0){p=0;do{Qn(K+(p*152|0)|0,0,152)|0;g[K+(p*152|0)+120>>2]=-3402823466385288598117041.0e14;g[K+(p*152|0)+124>>2]=3402823466385288598117041.0e14;g[K+(p*152|0)+100>>2]=0.0;g[K+(p*152|0)+96>>2]=0.0;c[K+(p*152|0)+144>>2]=R;c[K+(p*152|0)+148>>2]=S;c[K+(p*152|0)+136>>2]=o;p=p+1|0}while((p|0)<(c[U>>2]|0))}c[T+(R*244|0)+64>>2]=0;c[T+(R*244|0)+64+4>>2]=0;c[T+(R*244|0)+64+8>>2]=0;c[T+(R*244|0)+64+12>>2]=0;c[T+(R*244|0)+64+16>>2]=0;c[T+(R*244|0)+64+20>>2]=0;c[T+(R*244|0)+64+24>>2]=0;c[T+(R*244|0)+64+28>>2]=0;c[T+(R*244|0)+144>>2]=0;c[T+(R*244|0)+144+4>>2]=0;c[T+(R*244|0)+144+8>>2]=0;c[T+(R*244|0)+144+12>>2]=0;c[T+(R*244|0)+144+16>>2]=0;c[T+(R*244|0)+144+20>>2]=0;c[T+(R*244|0)+144+24>>2]=0;c[T+(R*244|0)+144+28>>2]=0;c[T+(S*244|0)+64>>2]=0;c[T+(S*244|0)+64+4>>2]=0;c[T+(S*244|0)+64+8>>2]=0;c[T+(S*244|0)+64+12>>2]=0;c[T+(S*244|0)+64+16>>2]=0;c[T+(S*244|0)+64+20>>2]=0;c[T+(S*244|0)+64+24>>2]=0;c[T+(S*244|0)+64+28>>2]=0;c[T+(S*244|0)+144>>2]=0;c[T+(S*244|0)+144+4>>2]=0;c[T+(S*244|0)+144+8>>2]=0;c[T+(S*244|0)+144+12>>2]=0;c[T+(S*244|0)+144+16>>2]=0;c[T+(S*244|0)+144+20>>2]=0;c[T+(S*244|0)+144+24>>2]=0;c[T+(S*244|0)+144+28>>2]=0;g[Y+248>>2]=1.0/+g[m+12>>2];c[Y+248+4>>2]=c[m+32>>2];c[Y+248+8>>2]=n+(V*152|0)+16;c[Y+248+12>>2]=K;c[Y+248+16>>2]=n+(V*152|0)+48;c[Y+248+20>>2]=n+(V*152|0)+32;c[Y+248+24>>2]=38;c[Y+248+28>>2]=n+(V*152|0)+112;J=n+(V*152|0)+116|0;c[J>>2]=c[m+40>>2];c[Y+248+52>>2]=c[m+4>>2];c[Y+248+32>>2]=J;c[Y+248+36>>2]=n+(V*152|0)+120;c[Y+248+40>>2]=n+(V*152|0)+124;c[Y+248+48>>2]=c[m+20>>2];J=c[L>>2]|0;Cb[c[(c[J>>2]|0)+20>>2]&127](J,Y+248|0);if((c[U>>2]|0)>0){J=0;do{n=K+(J*152|0)+124|0;r=+g[(c[L>>2]|0)+16>>2];if(+g[n>>2]>=r)g[n>>2]=r;n=K+(J*152|0)+120|0;if(+g[n>>2]<=-r)g[n>>2]=-r;c[K+(J*152|0)+132>>2]=M;I=K+(J*152|0)|0;n=K+(J*152|0)+64|0;o=c[M+28>>2]|0;da=+g[I>>2];ba=+g[I+4>>2];B=+g[I+8>>2];ca=(da*+g[o+280>>2]+ba*+g[o+284>>2]+B*+g[o+288>>2])*+g[o+548>>2];r=(da*+g[o+296>>2]+ba*+g[o+300>>2]+B*+g[o+304>>2])*+g[o+552>>2];g[n>>2]=(+g[o+264>>2]*da+ +g[o+268>>2]*ba+ +g[o+272>>2]*B)*+g[o+544>>2];g[n+4>>2]=ca;g[n+8>>2]=r;g[n+12>>2]=0.0;n=K+(J*152|0)+32|0;o=K+(J*152|0)+80|0;H=c[M+32>>2]|0;r=+g[n>>2];ca=+g[n+4>>2];B=+g[n+8>>2];ba=(r*+g[H+280>>2]+ca*+g[H+284>>2]+B*+g[H+288>>2])*+g[H+548>>2];da=(r*+g[H+296>>2]+ca*+g[H+300>>2]+B*+g[H+304>>2])*+g[H+552>>2];g[o>>2]=(+g[H+264>>2]*r+ +g[H+268>>2]*ca+ +g[H+272>>2]*B)*+g[H+544>>2];g[o+4>>2]=ba;g[o+8>>2]=da;g[o+12>>2]=0.0;o=K+(J*152|0)+16|0;da=+g[P+344>>2];ba=+g[o>>2];ca=+g[o+4>>2];r=+g[o+8>>2];t=+g[I>>2];u=+g[I+4>>2];v=+g[I+8>>2];I=K+(J*152|0)+48|0;ea=+g[Q+344>>2];w=+g[I>>2];x=+g[I+4>>2];y=+g[I+8>>2];z=+g[n>>2];A=+g[n+4>>2];B=ba*da*ba+ca*da*ca+r*da*r+(t*(+g[P+264>>2]*t+ +g[P+268>>2]*u+ +g[P+272>>2]*v)+u*(t*+g[P+280>>2]+u*+g[P+284>>2]+v*+g[P+288>>2])+v*(t*+g[P+296>>2]+u*+g[P+300>>2]+v*+g[P+304>>2]))+(w*ea*w+x*ea*x+y*ea*y)+(z*(+g[Q+264>>2]*z+ +g[Q+268>>2]*A+ +g[Q+272>>2]*B)+A*(z*+g[Q+280>>2]+A*+g[Q+284>>2]+B*+g[Q+288>>2])+B*(z*+g[Q+296>>2]+A*+g[Q+300>>2]+B*+g[Q+304>>2]));I=+N(+B)>1.1920928955078125e-07;B=I?1.0/B:0.0;g[K+(J*152|0)+108>>2]=B;if(!(c[T+(R*244|0)+240>>2]|0)){p=0;q=0;d=0;D=0;E=0;F=0}else{p=c[T+(R*244|0)+208>>2]|0;q=c[T+(R*244|0)+212>>2]|0;d=c[T+(R*244|0)+216>>2]|0;D=c[T+(R*244|0)+224>>2]|0;E=c[T+(R*244|0)+228>>2]|0;F=c[T+(R*244|0)+232>>2]|0}if(!(c[T+(S*244|0)+240>>2]|0)){e=0;s=0;C=0;G=0;H=0;I=0}else{e=c[T+(S*244|0)+208>>2]|0;s=c[T+(S*244|0)+212>>2]|0;C=c[T+(S*244|0)+216>>2]|0;G=c[T+(S*244|0)+224>>2]|0;H=c[T+(S*244|0)+228>>2]|0;I=c[T+(S*244|0)+232>>2]|0}da=(c[k>>2]=p,+g[k>>2])+ +g[P+312>>2];ca=(c[k>>2]=q,+g[k>>2])+ +g[P+316>>2];ca=da*+g[o>>2]+ca*+g[o+4>>2]+((c[k>>2]=d,+g[k>>2])+ +g[P+320>>2])*r;da=(c[k>>2]=D,+g[k>>2])+ +g[P+328>>2];ba=(c[k>>2]=E,+g[k>>2])+ +g[P+332>>2];ba=ca+(da*t+ba*u+((c[k>>2]=F,+g[k>>2])+ +g[P+336>>2])*v);da=(c[k>>2]=e,+g[k>>2])+ +g[Q+312>>2];ca=(c[k>>2]=s,+g[k>>2])+ +g[Q+316>>2];ca=da*w+ca*x+((c[k>>2]=C,+g[k>>2])+ +g[Q+320>>2])*y;da=(c[k>>2]=G,+g[k>>2])+ +g[Q+328>>2];ea=(c[k>>2]=H,+g[k>>2])+ +g[Q+332>>2];H=K+(J*152|0)+112|0;g[H>>2]=+g[H>>2]*B+B*(0.0-+g[Y+248+52>>2]*(ba+(ca+(da*z+ea*A+((c[k>>2]=I,+g[k>>2])+ +g[Q+336>>2])*+g[n+8>>2]))));g[K+(J*152|0)+100>>2]=0.0;J=J+1|0}while((J|0)<(c[U>>2]|0))}o=c[b+176>>2]|0;n=o;o=c[o+(W<<3)>>2]|0}W=W+1|0;if((W|0)>=(l|0))break;else V=o+V|0}}mc[c[(c[b>>2]|0)+28>>2]&127](b,f,h,m);d=c[b+48>>2]|0;e=c[b+28>>2]|0;s=c[b+68>>2]|0;o=c[b+128>>2]|0;if((o|0)<(d|0)?(c[b+132>>2]|0)<(d|0):0){if(!d)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((d<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+128>>2]|0}q=c[b+136>>2]|0;if((o|0)<=0)if(!q)o=b+140|0;else X=99;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=99}if((X|0)==99){if(a[b+140>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+136>>2]=0;o=b+140|0}a[o>>0]=1;c[b+136>>2]=n;c[b+132>>2]=d}c[b+128>>2]=d;if(!(c[m+64>>2]&16)){o=c[b+108>>2]|0;if((o|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((e<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+108>>2]|0}q=c[b+116>>2]|0;if((o|0)<=0)if(!q)o=b+120|0;else X=129;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=129}if((X|0)==129){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+116>>2]=0;o=b+120|0}a[o>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e}c[b+108>>2]=e}else{o=c[b+108>>2]|0;if((o|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((e<<3|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+108>>2]|0}q=c[b+116>>2]|0;if((o|0)<=0)if(!q)o=b+120|0;else X=114;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=114}if((X|0)==114){if(a[b+120>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+116>>2]=0;o=b+120|0}a[o>>0]=1;c[b+116>>2]=n;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}o=c[b+148>>2]|0;if((o|0)<(s|0)?(c[b+152>>2]|0)<(s|0):0){if(!s)n=0;else{c[6435]=(c[6435]|0)+1;n=yc((s<<2|3)+16|0)|0;if(!n)n=0;else{c[(n+4+15&-16)+-4>>2]=n;n=n+4+15&-16}o=c[b+148>>2]|0}q=c[b+156>>2]|0;if((o|0)<=0)if(!q)o=b+160|0;else X=144;else{p=0;do{c[n+(p<<2)>>2]=c[q+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));X=144}if((X|0)==144){if(a[b+160>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[q+-4>>2]|0)}c[b+156>>2]=0;o=b+160|0}a[o>>0]=1;c[b+156>>2]=n;c[b+152>>2]=s}c[b+148>>2]=s;if((d|0)>0){n=c[b+136>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(d|0))}if((e|0)>0){n=c[b+116>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(e|0))}if((s|0)>0){n=c[b+156>>2]|0;o=0;do{c[n+(o<<2)>>2]=o;o=o+1|0}while((o|0)!=(s|0))}n=c[2357]|0;b=(c[n+16>>2]|0)+-1|0;c[n+16>>2]=b;if(b|0){i=Y;return 0.0}do if(c[n+4>>2]|0){tb(Y+248|0,0)|0;b=c[6434]|0;g[n+8>>2]=+g[n+8>>2]+ +(((c[Y+248+4>>2]|0)-(c[b+4>>2]|0)+(((c[Y+248>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[n+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[n+16>>2]|0)){n=c[2357]|0;break}else{i=Y;return 0.0}}while(0);c[2357]=c[n+20>>2];i=Y;return 0.0}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0;J=i;i=i+240|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;i=J;return}c[J+24+32>>2]=0;c[J+24+36>>2]=0;c[J+24+40>>2]=0;c[J+24+44>>2]=256;c[J+24+48>>2]=0;c[J+24+52>>2]=0;c[J+24+56>>2]=0;c[J+24+60>>2]=256;c[J+24+64>>2]=0;c[J+24+68>>2]=0;c[J+24+72>>2]=0;c[J+24+76>>2]=256;a[J+24+96>>0]=1;F=J+24+92|0;c[F>>2]=0;c[J+24+84>>2]=0;c[J+24+88>>2]=0;m=0;n=-246811958;v=-246811958;s=-246811958;r=1900671690;z=1900671690;u=1900671690;o=d;while(1){E=+g[o>>2];j=+g[o+4>>2];p=+g[o+8>>2];G=E<(c[k>>2]=r,+g[k>>2]);f=(g[k>>2]=E,c[k>>2]|0);r=G?f:r;G=j<(c[k>>2]=u,+g[k>>2]);h=(g[k>>2]=j,c[k>>2]|0);u=G?h:u;G=p<(c[k>>2]=z,+g[k>>2]);l=(g[k>>2]=p,c[k>>2]|0);z=G?l:z;n=(c[k>>2]=n,+g[k>>2])<E?f:n;s=(c[k>>2]=s,+g[k>>2])<j?h:s;v=(c[k>>2]=v,+g[k>>2])<p?l:v;m=m+1|0;if((m|0)==(e|0))break;else o=o+16|0}B=(c[k>>2]=n,+g[k>>2]);A=(c[k>>2]=r,+g[k>>2]);y=(c[k>>2]=s,+g[k>>2]);x=(c[k>>2]=u,+g[k>>2]);w=(c[k>>2]=v,+g[k>>2]);t=(c[k>>2]=z,+g[k>>2]);h=B-A<y-x?(y-x<w-t?2:1):B-A<w-t?2:0;c[J+24+112>>2]=h;f=B-A<y-x?(B-A<w-t?0:2):y-x<w-t?1:2;if((f|0)==(h|0))f=((h+1|0)>>>0)%3|0;c[J+24+104>>2]=f;G=(h^3)-f|0;c[J+24+108>>2]=G;if(((G+1|0)%3|0|0)==(h|0)){j=(B-A)*9.788566967472434e-05;p=(y-x)*9.788566967472434e-05;q=(w-t)*9.788566967472434e-05}else{j=-((B-A)*9.788566967472434e-05);p=-((y-x)*9.788566967472434e-05);q=-((w-t)*9.788566967472434e-05)}g[J+24>>2]=j;g[J+24+4>>2]=p;g[J+24+8>>2]=q;g[J+24+12>>2]=0.0;E=j!=0.0?1.0/j:j;D=p!=0.0?1.0/p:p;C=q!=0.0?1.0/q:q;g[J+24+16>>2]=(B+A)*.5;g[J+24+20>>2]=(y+x)*.5;g[J+24+24>>2]=(w+t)*.5;g[J+24+28>>2]=0.0;r=J+216+16|0;a[r>>0]=1;s=J+216+12|0;c[s>>2]=0;c[J+216+4>>2]=0;c[J+216+8>>2]=0;c[6435]=(c[6435]|0)+1;f=yc((e<<4|3)+16|0)|0;if(!f)m=0;else{c[(f+4+15&-16)+-4>>2]=f;m=f+4+15&-16}h=c[J+216+4>>2]|0;l=c[s>>2]|0;if((h|0)<=0){if(l|0)I=26}else{f=0;do{I=m+(f<<4)|0;G=l+(f<<4)|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];f=f+1|0}while((f|0)!=(h|0));I=26}if((I|0)==26){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=m;c[J+216+8>>2]=e;c[m>>2]=c[J+200>>2];c[m+4>>2]=c[J+200+4>>2];c[m+8>>2]=c[J+200+8>>2];c[m+12>>2]=c[J+200+12>>2];if((e|0)!=1){f=1;do{G=(c[s>>2]|0)+(f<<4)|0;c[G>>2]=c[J+200>>2];c[G+4>>2]=c[J+200+4>>2];c[G+8>>2]=c[J+200+8>>2];c[G+12>>2]=c[J+200+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[J+216+4>>2]=e;h=J+184+(c[J+24+108>>2]<<2)|0;l=c[s>>2]|0;m=J+184+(c[J+24+112>>2]<<2)|0;n=J+184+(c[J+24+104>>2]<<2)|0;j=+g[J+24+16>>2];p=+g[J+24+20>>2];q=+g[J+24+24>>2];o=0;f=d;while(1){d=c[f>>2]|0;c[J+184>>2]=d;G=c[f+4>>2]|0;c[J+184+4>>2]=G;y=(c[k>>2]=d,+g[k>>2])-j;A=D*((c[k>>2]=G,+g[k>>2])-p);B=C*(+g[f+8>>2]-q);g[J+184>>2]=E*y;g[J+184+4>>2]=A;g[J+184+8>>2]=B;g[J+184+12>>2]=0.0;c[l+(o<<4)>>2]=~~+g[h>>2];c[l+(o<<4)+4>>2]=~~+g[m>>2];c[l+(o<<4)+8>>2]=~~+g[n>>2];c[l+(o<<4)+12>>2]=o;o=o+1|0;if((o|0)==(e|0))break;else f=f+16|0}if((e|0)>1)ch(J+216|0,0,e+-1|0);c[J+24+36>>2]=c[J+24+32>>2];c[J+24+40>>2]=0;c[J+24+44>>2]=e;f=c[J+24+84>>2]|0;if((f|0)<(e|0)){if((c[J+24+88>>2]|0)<(e|0)){if(!e){h=0;l=f}else{c[6435]=(c[6435]|0)+1;h=yc((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[J+24+84>>2]|0}if((l|0)>0){m=0;do{c[h+(m<<2)>>2]=c[(c[F>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[F>>2]|0;if(l|0){if(a[J+24+96>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[F>>2]=0}a[J+24+96>>0]=1;c[F>>2]=h;c[J+24+88>>2]=e}do{c[(c[F>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[J+24+84>>2]=e;n=0;do{f=c[J+24+40>>2]|0;if(!f){f=c[J+24+36>>2]|0;if(!f){c[6435]=(c[6435]|0)+1;f=yc(31)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[J+24+44>>2]|0;c[f+4>>2]=h;l=f+8|0;c[l>>2]=0;c[6435]=(c[6435]|0)+1;h=yc((h*112|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[f>>2]=h;c[l>>2]=c[J+24+32>>2];c[J+24+32>>2]=f}else c[J+24+36>>2]=c[f+8>>2];m=c[f+4>>2]|0;f=c[f>>2]|0;if((m|0)>0){h=0;l=f;do{h=h+1|0;G=l;l=l+112|0;c[G>>2]=(h|0)<(m|0)?l:0}while((h|0)!=(m|0))}}c[J+24+40>>2]=c[f>>2];G=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[G>>2]=-1;c[f+8>>2]=0;d=f+88|0;z=(c[s>>2]|0)+(n<<4)|0;c[d>>2]=c[z>>2];c[d+4>>2]=c[z+4>>2];c[d+8>>2]=c[z+8>>2];c[d+12>>2]=c[z+12>>2];c[G>>2]=-1;c[(c[F>>2]|0)+(n<<2)>>2]=f;n=n+1|0}while((n|0)<(e|0));f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=0;c[J+216+4>>2]=0;c[J+216+8>>2]=0;c[J+24+52>>2]=c[J+24+48>>2];c[J+24+56>>2]=0;c[J+24+60>>2]=e*6;c[J+24+116>>2]=0;c[J+24+120>>2]=0;c[J+24+100>>2]=-3;c[J+184>>2]=0;c[J+184+4>>2]=0;c[J+184+8>>2]=0;c[J+184+12>>2]=0;vc(J+24|0,0,e,J+184|0);c[J+24+124>>2]=c[J+184>>2];f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{G=(c[b+12>>2]|0)+(f<<4)|0;c[G>>2]=c[J+168>>2];c[G+4>>2]=c[J+168+4>>2];c[G+8>>2]=c[J+168+8>>2];c[G+12>>2]=c[J+168+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[J+152>>2]=0;c[J+152+4>>2]=0;c[J+152+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{G=(c[b+32>>2]|0)+(f*12|0)|0;c[G>>2]=c[J+152>>2];c[G+4>>2]=c[J+152+4>>2];c[G+8>>2]=c[J+152+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;do if((c[b+48>>2]|0)<0){if(!f){a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0;break}if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}while(0);Qn(f+(h<<2)|0,0,_(h,-4)|0)|0}c[b+44>>2]=0;f=c[J+24+124>>2]|0;if((c[f+104>>2]|0)<0){c[f+104>>2]=0;c[6435]=(c[6435]|0)+1;r=yc(23)|0;c[(r+4+15&-16)+-4>>2]=r;c[(r+4+15&-16)>>2]=f;G=0;m=1;l=1;r=r+4+15&-16;while(1){if((c[f+100>>2]|0)>-1){g[J+216+(c[J+24+108>>2]<<2)>>2]=+(c[f+88>>2]|0);g[J+216+(c[J+24+112>>2]<<2)>>2]=+(c[f+92>>2]|0);j=+(c[f+96>>2]|0)}else{e=f+24|0;d=f+32|0;j=+ln(c[e>>2]|0,c[e+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=f+72|0;e=f+80|0;F=c[e>>2]|0;e=c[e+4>>2]|0;j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e);g[J+216+(c[J+24+108>>2]<<2)>>2]=j;z=f+40|0;v=f+48|0;j=+ln(c[z>>2]|0,c[z+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0);j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e);g[J+216+(c[J+24+112>>2]<<2)>>2]=j;v=f+56|0;z=f+64|0;j=+ln(c[v>>2]|0,c[v+4>>2]|0,c[z>>2]|0,c[z+4>>2]|0);j=j/+ln(c[d>>2]|0,c[d+4>>2]|0,F,e)}g[J+216+(c[J+24+104>>2]<<2)>>2]=j;j=+g[J+216>>2]*+g[J+24>>2]+ +g[J+24+16>>2];p=+g[J+216+4>>2]*+g[J+24+4>>2]+ +g[J+24+20>>2];q=+g[J+216+8>>2]*+g[J+24+8>>2]+ +g[J+24+24>>2];h=c[b+4>>2]|0;if((h|0)==(c[b+8>>2]|0)?(H=h|0?h<<1:1,(h|0)<(H|0)):0){if(!H)o=0;else{c[6435]=(c[6435]|0)+1;h=yc((H<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[b+4>>2]|0}if((h|0)>0){n=0;do{e=o+(n<<4)|0;F=(c[b+12>>2]|0)+(n<<4)|0;c[e>>2]=c[F>>2];c[e+4>>2]=c[F+4>>2];c[e+8>>2]=c[F+8>>2];c[e+12>>2]=c[F+12>>2];n=n+1|0}while((n|0)!=(h|0))}h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=o;c[b+8>>2]=H;h=c[b+4>>2]|0}F=c[b+12>>2]|0;g[F+(h<<4)>>2]=j;g[F+(h<<4)+4>>2]=p;g[F+(h<<4)+8>>2]=q;g[F+(h<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[f+8>>2]|0;if(!F)n=r;else{e=F;f=-1;z=r;d=-1;while(1){v=e+20|0;h=c[v>>2]|0;if((h|0)<0){u=c[b+24>>2]|0;c[J+12>>2]=0;c[J+12+4>>2]=0;c[J+12+8>>2]=0;do if((u|0)==(c[b+28>>2]|0)){r=u|0?u<<1:1;if((u|0)>=(r|0)){h=u;break}if(!r){h=0;n=u}else{c[6435]=(c[6435]|0)+1;h=yc((r*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=c[b+24>>2]|0}if((n|0)>0){o=0;do{s=h+(o*12|0)|0;K=(c[b+32>>2]|0)+(o*12|0)|0;c[s>>2]=c[K>>2];c[s+4>>2]=c[K+4>>2];c[s+8>>2]=c[K+8>>2];o=o+1|0}while((o|0)!=(n|0))}n=c[b+32>>2]|0;if(n|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=r;h=c[b+24>>2]|0}else h=u;while(0);h=(c[b+32>>2]|0)+(h*12|0)|0;c[h>>2]=c[J+12>>2];c[h+4>>2]=c[J+12+4>>2];c[h+8>>2]=c[J+12+8>>2];h=(c[b+24>>2]|0)+1|0;c[b+24>>2]=h;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;do if((h|0)==(c[b+28>>2]|0)){r=h|0?h<<1:1;if((h|0)>=(r|0))break;if(!r)o=0;else{c[6435]=(c[6435]|0)+1;h=yc((r*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}o=h;h=c[b+24>>2]|0}if((h|0)>0){n=0;do{K=o+(n*12|0)|0;s=(c[b+32>>2]|0)+(n*12|0)|0;c[K>>2]=c[s>>2];c[K+4>>2]=c[s+4>>2];c[K+8>>2]=c[s+8>>2];n=n+1|0}while((n|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=o;c[b+28>>2]=r;h=c[b+24>>2]|0}while(0);s=(c[b+32>>2]|0)+(h*12|0)|0;c[s>>2]=c[J>>2];c[s+4>>2]=c[J+4>>2];c[s+8>>2]=c[J+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;s=c[b+32>>2]|0;c[v>>2]=u;c[(c[e+8>>2]|0)+20>>2]=u+1;c[s+(u*12|0)+4>>2]=1;c[s+((u+1|0)*12|0)+4>>2]=-1;r=c[e+12>>2]|0;h=c[r+104>>2]|0;if((h|0)<0){c[r+104>>2]=l;do if((l|0)==(m|0)){o=m|0?m<<1:1;if((m|0)>=(o|0)){n=z;break}do if(!o)n=0;else{c[6435]=(c[6435]|0)+1;h=yc((o<<2|3)+16|0)|0;if(!h){n=0;break}c[(h+4+15&-16)+-4>>2]=h;n=h+4+15&-16}while(0);if((m|0)<=0){if(!z){m=o;break}}else{h=0;do{c[n+(h<<2)>>2]=c[z+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[z+-4>>2]|0);m=o}else n=z;while(0);c[n+(l<<2)>>2]=r;h=l;l=l+1|0}else n=z;c[s+(u*12|0)+8>>2]=h;c[s+((u+1|0)*12|0)+8>>2]=G;h=c[v>>2]|0}else n=z;if((d|0)>-1)c[(c[b+32>>2]|0)+(h*12|0)>>2]=d-h;else f=h;e=c[e>>2]|0;if((e|0)==(F|0))break;else{z=n;d=h}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=h-f}h=G+1|0;if((h|0)>=(l|0))break;f=c[n+(h<<2)>>2]|0;G=h;r=n}if((G|0)>-1){v=0;while(1){s=c[(c[n+(v<<2)>>2]|0)+8>>2]|0;if(s|0){u=s;do{r=u+20|0;f=c[r>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){o=h|0?h<<1:1;if((h|0)>=(o|0))break;if(!o)f=0;else{c[6435]=(c[6435]|0)+1;f=yc((o<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}m=c[b+52>>2]|0;if((h|0)<=0){if(m)I=173}else{l=0;do{c[f+(l<<2)>>2]=c[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0));I=173}if((I|0)==173){I=0;if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=o;f=c[r>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=u;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(u|0))}u=c[u>>2]|0}while((u|0)!=(s|0))}if((v|0)==(G|0))break;else v=v+1|0}}if(n|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}}Zi(J+24|0);i=J;return}function Ec(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0;I=i;i=i+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;i=I;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;h=a[b+332>>0]|0;a[b+332>>0]=h&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;i=I;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];E=+g[b+248>>2]-+g[b+264>>2];F=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=E;g[b+284>>2]=F;g[b+288>>2]=0.0;c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;a[b+332>>0]=h&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;i=I;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+20>>2]-e;l=+g[b+24>>2]-f;m=+g[b+28>>2]-j;do if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m>0.0)if((0.0-e)*k+(0.0-f)*l+(0.0-j)*m<k*k+l*l+m*m){a[b+332>>0]=h&-16|3;h=h&-16|3;f=((0.0-e)*k+(0.0-f)*l+(0.0-j)*m)/(k*k+l*l+m*m);break}else{a[b+332>>0]=h&-16|2;h=h&-16|2;f=1.0;break}else{a[b+332>>0]=h&-16|1;h=h&-16|1;f=0.0}while(0);e=1.0-f;g[b+336>>2]=e;g[b+340>>2]=f;g[b+344>>2]=0.0;g[b+348>>2]=0.0;A=+g[b+84>>2];C=+g[b+88>>2];E=+g[b+92>>2];A=A+f*(+g[b+100>>2]-A);C=C+f*(+g[b+104>>2]-C);E=E+f*(+g[b+108>>2]-E);g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=+g[b+164>>2];D=+g[b+168>>2];F=+g[b+172>>2];B=B+f*(+g[b+180>>2]-B);D=D+f*(+g[b+184>>2]-D);F=F+f*(+g[b+188>>2]-F);g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){c[b>>2]=d;H=b+4+(d<<4)|0;c[b+4>>2]=c[H>>2];c[b+4+4>>2]=c[H+4>>2];c[b+4+8>>2]=c[H+8>>2];c[b+4+12>>2]=c[H+12>>2];H=b+84+(d<<4)|0;c[b+84>>2]=c[H>>2];c[b+84+4>>2]=c[H+4>>2];c[b+84+8>>2]=c[H+8>>2];c[b+84+12>>2]=c[H+12>>2];H=b+164+(d<<4)|0;c[b+164>>2]=c[H>>2];c[b+164+4>>2]=c[H+4>>2];c[b+164+8>>2]=c[H+8>>2];c[b+164+12>>2]=c[H+12>>2]}H=(!(e>=0.0)|!(f>=0.0))&1^1;a[b+312>>0]=H;b=H;b=b<<24>>24!=0;i=I;return b|0}case 3:{c[I+16>>2]=0;c[I+16+4>>2]=0;c[I+16+8>>2]=0;c[I+16+12>>2]=0;Ve(I+16|0,b+4|0,b+20|0,b+36|0,b+316|0);F=+g[b+336>>2];e=+g[b+340>>2];f=+g[b+344>>2];A=+g[b+84>>2]*F+ +g[b+100>>2]*e+ +g[b+116>>2]*f;C=F*+g[b+88>>2]+e*+g[b+104>>2]+f*+g[b+120>>2];E=F*+g[b+92>>2]+e*+g[b+108>>2]+f*+g[b+124>>2];g[b+244>>2]=A;g[b+248>>2]=C;g[b+252>>2]=E;g[b+256>>2]=0.0;B=+g[b+164>>2]*F+ +g[b+180>>2]*e+ +g[b+196>>2]*f;D=F*+g[b+168>>2]+e*+g[b+184>>2]+f*+g[b+200>>2];F=F*+g[b+172>>2]+e*+g[b+188>>2]+f*+g[b+204>>2];g[b+260>>2]=B;g[b+264>>2]=D;g[b+268>>2]=F;g[b+272>>2]=0.0;g[b+276>>2]=A-B;g[b+280>>2]=C-D;g[b+284>>2]=E-F;g[b+288>>2]=0.0;h=c[b>>2]|0;do if((h|0)>3){d=a[b+332>>0]|0;if(!(d&8)){c[b>>2]=h+-1;H=b+4+(h+-1<<4)|0;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];H=b+84+(h+-1<<4)|0;c[b+132>>2]=c[H>>2];c[b+132+4>>2]=c[H+4>>2];c[b+132+8>>2]=c[H+8>>2];c[b+132+12>>2]=c[H+12>>2];H=b+164+(h+-1<<4)|0;c[b+212>>2]=c[H>>2];c[b+212+4>>2]=c[H+4>>2];c[b+212+8>>2]=c[H+8>>2];c[b+212+12>>2]=c[H+12>>2];h=h+-1|0;H=21}else H=21}else{if((h|0)>2){d=a[b+332>>0]|0;h=3;H=21;break}if((h|0)>1){d=a[b+332>>0]|0;h=2;H=25;break}if((h|0)>0){o=a[b+332>>0]|0;n=1;H=29}}while(0);if((H|0)==21)if(!(d&4)){h=h+-1|0;c[b>>2]=h;c[b+36>>2]=c[b+4+(h<<4)>>2];c[b+36+4>>2]=c[b+4+(h<<4)+4>>2];c[b+36+8>>2]=c[b+4+(h<<4)+8>>2];c[b+36+12>>2]=c[b+4+(h<<4)+12>>2];c[b+116>>2]=c[b+84+(h<<4)>>2];c[b+116+4>>2]=c[b+84+(h<<4)+4>>2];c[b+116+8>>2]=c[b+84+(h<<4)+8>>2];c[b+116+12>>2]=c[b+84+(h<<4)+12>>2];c[b+196>>2]=c[b+164+(h<<4)>>2];c[b+196+4>>2]=c[b+164+(h<<4)+4>>2];c[b+196+8>>2]=c[b+164+(h<<4)+8>>2];c[b+196+12>>2]=c[b+164+(h<<4)+12>>2];H=25}else H=25;if((H|0)==25)if(!(d&2)){n=h+-1|0;c[b>>2]=n;c[b+20>>2]=c[b+4+(n<<4)>>2];c[b+20+4>>2]=c[b+4+(n<<4)+4>>2];c[b+20+8>>2]=c[b+4+(n<<4)+8>>2];c[b+20+12>>2]=c[b+4+(n<<4)+12>>2];c[b+100>>2]=c[b+84+(n<<4)>>2];c[b+100+4>>2]=c[b+84+(n<<4)+4>>2];c[b+100+8>>2]=c[b+84+(n<<4)+8>>2];c[b+100+12>>2]=c[b+84+(n<<4)+12>>2];c[b+180>>2]=c[b+164+(n<<4)>>2];c[b+180+4>>2]=c[b+164+(n<<4)+4>>2];c[b+180+8>>2]=c[b+164+(n<<4)+8>>2];c[b+180+12>>2]=c[b+164+(n<<4)+12>>2];o=d;H=29}else{o=d;n=h;H=29}if((H|0)==29?(o&1)==0:0){H=n+-1|0;c[b>>2]=H;c[b+4>>2]=c[b+4+(H<<4)>>2];c[b+4+4>>2]=c[b+4+(H<<4)+4>>2];c[b+4+8>>2]=c[b+4+(H<<4)+8>>2];c[b+4+12>>2]=c[b+4+(H<<4)+12>>2];c[b+84>>2]=c[b+84+(H<<4)>>2];c[b+84+4>>2]=c[b+84+(H<<4)+4>>2];c[b+84+8>>2]=c[b+84+(H<<4)+8>>2];c[b+84+12>>2]=c[b+84+(H<<4)+12>>2];c[b+164>>2]=c[b+164+(H<<4)>>2];c[b+164+4>>2]=c[b+164+(H<<4)+4>>2];c[b+164+8>>2]=c[b+164+(H<<4)+8>>2];c[b+164+12>>2]=c[b+164+(H<<4)+12>>2]}if((e>=0.0?!(+g[b+336>>2]>=0.0):1)|!(f>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;i=I;return b|0}case 4:{c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;q=I+16+16|0;a[q>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=h|15;K=+g[b+20>>2];T=+g[b+4>>2];Q=+g[b+24>>2];J=+g[b+8>>2];M=+g[b+28>>2];U=+g[b+12>>2];P=+g[b+36>>2];R=+g[b+40>>2];N=+g[b+44>>2];L=+g[b+52>>2];S=+g[b+56>>2];O=+g[b+60>>2];V=((Q-J)*(N-U)-(M-U)*(R-J))*(L-T)+((M-U)*(P-T)-(K-T)*(N-U))*(S-J)+((K-T)*(R-J)-(Q-J)*(P-T))*(O-U);h=V*V<9.99999905104687e-09?-1:((0.0-T)*((Q-J)*(N-U)-(M-U)*(R-J))+(0.0-J)*((M-U)*(P-T)-(K-T)*(N-U))+((K-T)*(R-J)-(Q-J)*(P-T))*(0.0-U))*V<0.0&1;V=(M-U)*((P-T)*(S-J)-(R-J)*(L-T))+((K-T)*((R-J)*(O-U)-(N-U)*(S-J))+(Q-J)*((N-U)*(L-T)-(P-T)*(O-U)));n=V*V<9.99999905104687e-09?-1:((0.0-U)*((P-T)*(S-J)-(R-J)*(L-T))+((0.0-T)*((R-J)*(O-U)-(N-U)*(S-J))+(0.0-J)*((N-U)*(L-T)-(P-T)*(O-U))))*V<0.0&1;V=(N-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((P-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(R-J)*((K-T)*(O-U)-(M-U)*(L-T)));o=V*V<9.99999905104687e-09?-1:((0.0-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((0.0-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(0.0-J)*((K-T)*(O-U)-(M-U)*(L-T))))*V<0.0&1;J=(U-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((T-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(J-Q)*((P-K)*(O-M)-(N-M)*(L-K)));p=J*J<9.99999905104687e-09?-1:((0.0-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((0.0-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(0.0-Q)*((P-K)*(O-M)-(N-M)*(L-K))))*J<0.0&1;do if((n|h|o|p|0)<0){a[b+352>>0]=1;d=b+312|0;H=70}else{if(!(n|h|o|p)){if(a[b+352>>0]|0){d=b+312|0;H=70;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((h|0)!=0?(Ve(I,b+4|0,b+20|0,b+36|0,I+16|0),e=+g[I+16>>2],f=+g[I+16+4>>2],j=+g[I+16+8>>2],k=e-+g[I>>2],l=f-+g[I+4>>2],m=j-+g[I+8>>2],k*k+l*l+m*m<3402823466385288598117041.0e14):0){W=c[I+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=j;c[b+328>>2]=W;W=a[q>>0]|0;a[b+332>>0]=W&1|a[b+332>>0]&-16|W&2|W&4;W=c[I+16+24>>2]|0;h=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=W;c[b+344>>2]=h;g[b+348>>2]=0.0;e=k*k+l*l+m*m}else e=3402823466385288598117041.0e14;if((n|0)!=0?(Ve(I,b+4|0,b+36|0,b+52|0,I+16|0),r=+g[I+16>>2],s=+g[I+16+4>>2],t=+g[I+16+8>>2],u=r-+g[I>>2],v=s-+g[I+4>>2],w=t-+g[I+8>>2],u*u+v*v+w*w<e):0){n=c[I+16+12>>2]|0;g[b+316>>2]=r;g[b+320>>2]=s;g[b+324>>2]=t;c[b+328>>2]=n;n=a[q>>0]|0;a[b+332>>0]=n<<1&8|(n&1|a[b+332>>0]&-16|n<<1&4);n=c[I+16+24>>2]|0;W=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=n;c[b+348>>2]=W;e=u*u+v*v+w*w}if((o|0)!=0?(Ve(I,b+4|0,b+52|0,b+20|0,I+16|0),x=+g[I+16>>2],y=+g[I+16+4>>2],z=+g[I+16+8>>2],A=x-+g[I>>2],B=y-+g[I+4>>2],C=z-+g[I+8>>2],A*A+B*B+C*C<e):0){o=c[I+16+12>>2]|0;g[b+316>>2]=x;g[b+320>>2]=y;g[b+324>>2]=z;c[b+328>>2]=o;o=a[q>>0]|0;a[b+332>>0]=o<<2&8|(o&1|a[b+332>>0]&-16|(o&255)>>>1&2);o=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=o;g[b+344>>2]=0.0;c[b+348>>2]=W;e=A*A+B*B+C*C}if(p|0?(Ve(I,b+20|0,b+52|0,b+36|0,I+16|0),D=+g[I+16>>2],E=+g[I+16+4>>2],F=+g[I+16+8>>2],T=D-+g[I>>2],U=E-+g[I+4>>2],V=F-+g[I+8>>2],T*T+U*U+V*V<e):0){p=c[I+16+12>>2]|0;g[b+316>>2]=D;g[b+320>>2]=E;g[b+324>>2]=F;c[b+328>>2]=p;p=a[q>>0]|0;a[b+332>>0]=p&4|a[b+332>>0]&-16|p<<1&2|p<<2&8;p=c[I+16+20>>2]|0;q=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=p;c[b+344>>2]=q;c[b+348>>2]=W}O=+g[b+336>>2];P=+g[b+340>>2];V=+g[b+344>>2];e=+g[b+348>>2];Q=+g[b+84>>2]*O+ +g[b+100>>2]*P+ +g[b+116>>2]*V+ +g[b+132>>2]*e;S=O*+g[b+88>>2]+P*+g[b+104>>2]+V*+g[b+120>>2]+e*+g[b+136>>2];U=O*+g[b+92>>2]+P*+g[b+108>>2]+V*+g[b+124>>2]+e*+g[b+140>>2];g[b+244>>2]=Q;g[b+248>>2]=S;g[b+252>>2]=U;g[b+256>>2]=0.0;R=+g[b+164>>2]*O+ +g[b+180>>2]*P+ +g[b+196>>2]*V+ +g[b+212>>2]*e;T=O*+g[b+168>>2]+P*+g[b+184>>2]+V*+g[b+200>>2]+e*+g[b+216>>2];V=O*+g[b+172>>2]+P*+g[b+188>>2]+V*+g[b+204>>2]+e*+g[b+220>>2];g[b+260>>2]=R;g[b+264>>2]=T;g[b+268>>2]=V;g[b+272>>2]=0.0;g[b+276>>2]=Q-R;g[b+280>>2]=S-T;g[b+284>>2]=U-V;g[b+288>>2]=0.0;h=c[b>>2]|0;do if((h|0)>3){d=a[b+332>>0]|0;if(!(d&8)){c[b>>2]=h+-1;H=b+4+(h+-1<<4)|0;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];H=b+84+(h+-1<<4)|0;c[b+132>>2]=c[H>>2];c[b+132+4>>2]=c[H+4>>2];c[b+132+8>>2]=c[H+8>>2];c[b+132+12>>2]=c[H+12>>2];H=b+164+(h+-1<<4)|0;c[b+212>>2]=c[H>>2];c[b+212+4>>2]=c[H+4>>2];c[b+212+8>>2]=c[H+8>>2];c[b+212+12>>2]=c[H+12>>2];h=h+-1|0;H=54}else H=54}else{if((h|0)>2){d=a[b+332>>0]|0;h=3;H=54;break}if((h|0)>1){d=a[b+332>>0]|0;h=2;H=58;break}if((h|0)>0){d=a[b+332>>0]|0;G=1;H=62}}while(0);if((H|0)==54)if(!(d&4)){h=h+-1|0;c[b>>2]=h;c[b+36>>2]=c[b+4+(h<<4)>>2];c[b+36+4>>2]=c[b+4+(h<<4)+4>>2];c[b+36+8>>2]=c[b+4+(h<<4)+8>>2];c[b+36+12>>2]=c[b+4+(h<<4)+12>>2];c[b+116>>2]=c[b+84+(h<<4)>>2];c[b+116+4>>2]=c[b+84+(h<<4)+4>>2];c[b+116+8>>2]=c[b+84+(h<<4)+8>>2];c[b+116+12>>2]=c[b+84+(h<<4)+12>>2];c[b+196>>2]=c[b+164+(h<<4)>>2];c[b+196+4>>2]=c[b+164+(h<<4)+4>>2];c[b+196+8>>2]=c[b+164+(h<<4)+8>>2];c[b+196+12>>2]=c[b+164+(h<<4)+12>>2];H=58}else H=58;if((H|0)==58)if(!(d&2)){G=h+-1|0;c[b>>2]=G;c[b+20>>2]=c[b+4+(G<<4)>>2];c[b+20+4>>2]=c[b+4+(G<<4)+4>>2];c[b+20+8>>2]=c[b+4+(G<<4)+8>>2];c[b+20+12>>2]=c[b+4+(G<<4)+12>>2];c[b+100>>2]=c[b+84+(G<<4)>>2];c[b+100+4>>2]=c[b+84+(G<<4)+4>>2];c[b+100+8>>2]=c[b+84+(G<<4)+8>>2];c[b+100+12>>2]=c[b+84+(G<<4)+12>>2];c[b+180>>2]=c[b+164+(G<<4)>>2];c[b+180+4>>2]=c[b+164+(G<<4)+4>>2];c[b+180+8>>2]=c[b+164+(G<<4)+8>>2];c[b+180+12>>2]=c[b+164+(G<<4)+12>>2];H=62}else{G=h;H=62}if((H|0)==62?(d&1)==0:0){W=G+-1|0;c[b>>2]=W;c[b+4>>2]=c[b+4+(W<<4)>>2];c[b+4+4>>2]=c[b+4+(W<<4)+4>>2];c[b+4+8>>2]=c[b+4+(W<<4)+8>>2];c[b+4+12>>2]=c[b+4+(W<<4)+12>>2];c[b+84>>2]=c[b+84+(W<<4)>>2];c[b+84+4>>2]=c[b+84+(W<<4)+4>>2];c[b+84+8>>2]=c[b+84+(W<<4)+8>>2];c[b+84+12>>2]=c[b+84+(W<<4)+12>>2];c[b+164>>2]=c[b+164+(W<<4)>>2];c[b+164+4>>2]=c[b+164+(W<<4)+4>>2];c[b+164+8>>2]=c[b+164+(W<<4)+8>>2];c[b+164+12>>2]=c[b+164+(W<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((H|0)==70){a[d>>0]=0;d=0}W=d;W=W<<24>>24!=0;i=I;return W|0}default:{a[b+312>>0]=0;W=0;W=W<<24>>24!=0;i=I;return W|0}}return 0}function Fc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0,S=0.0,U=0.0,V=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0;qa=i;i=i+144|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){wa=+g[b+556>>2];ua=+g[b+560>>2];pa=+g[b+564>>2];ta=+g[b+568>>2];ea=wa*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));va=ua*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));sa=pa*(2.0/(wa*wa+ua*ua+pa*pa+ta*ta));fa=+g[b+300>>2];X=+g[d>>2];ga=+g[b+316>>2];Y=+g[d+4>>2];ha=+g[b+332>>2];Z=+g[d+8>>2];ja=+g[b+304>>2];la=+g[b+320>>2];na=+g[b+336>>2];ba=+g[b+308>>2];ca=+g[b+324>>2];da=+g[b+340>>2];_=+g[d+16>>2];$=+g[d+20>>2];aa=+g[d+24>>2];ka=+g[d+32>>2];ma=+g[d+36>>2];oa=+g[d+40>>2];v=+g[b+348>>2];u=+g[b+352>>2];r=+g[b+356>>2];z=+g[b+364>>2];ra=+g[e>>2];A=+g[b+380>>2];n=+g[e+4>>2];B=+g[b+396>>2];m=+g[e+8>>2];C=+g[b+368>>2];D=+g[b+384>>2];E=+g[b+400>>2];w=+g[b+372>>2];x=+g[b+388>>2];y=+g[b+404>>2];o=+g[e+16>>2];q=+g[e+20>>2];l=+g[e+24>>2];F=+g[e+32>>2];H=+g[e+36>>2];J=+g[e+40>>2];G=+g[b+412>>2];I=+g[b+416>>2];j=+g[b+420>>2];L=(1.0-(ua*va+pa*sa))*(z*ra+A*n+B*m)+(wa*va+ta*sa)*(ra*C+n*D+m*E)+(wa*sa-ta*va)*(ra*w+n*x+m*y);M=(wa*va-ta*sa)*(z*ra+A*n+B*m)+(1.0-(wa*ea+pa*sa))*(ra*C+n*D+m*E)+(ua*sa+ta*ea)*(ra*w+n*x+m*y);K=(wa*sa+ta*va)*(z*ra+A*n+B*m)+(ua*sa-ta*ea)*(ra*C+n*D+m*E)+(1.0-(wa*ea+ua*va))*(ra*w+n*x+m*y);U=(wa*sa-ta*va)*(w*o+x*q+y*l)+((1.0-(ua*va+pa*sa))*(z*o+A*q+B*l)+(wa*va+ta*sa)*(C*o+D*q+E*l));V=(ua*sa+ta*ea)*(w*o+x*q+y*l)+((wa*va-ta*sa)*(z*o+A*q+B*l)+(1.0-(wa*ea+pa*sa))*(C*o+D*q+E*l));S=(1.0-(wa*ea+ua*va))*(w*o+x*q+y*l)+((wa*sa+ta*va)*(z*o+A*q+B*l)+(ua*sa-ta*ea)*(C*o+D*q+E*l));ia=(wa*sa-ta*va)*(w*F+x*H+y*J)+((1.0-(ua*va+pa*sa))*(z*F+A*H+B*J)+(wa*va+ta*sa)*(C*F+D*H+E*J));pa=(ua*sa+ta*ea)*(w*F+x*H+y*J)+((wa*va-ta*sa)*(z*F+A*H+B*J)+(1.0-(wa*ea+pa*sa))*(C*F+D*H+E*J));ea=(1.0-(wa*ea+ua*va))*(w*F+x*H+y*J)+((wa*sa+ta*va)*(z*F+A*H+B*J)+(ua*sa-ta*ea)*(C*F+D*H+E*J));ta=-(+g[d+48>>2]+(X*v+Y*u+Z*r));sa=-(_*v+$*u+aa*r+ +g[d+52>>2]);r=-(ka*v+ma*u+oa*r+ +g[d+56>>2]);u=(fa*X+ga*Y+ha*Z)*ta+(fa*_+ga*$+ha*aa)*sa+(fa*ka+ga*ma+ha*oa)*r;v=(X*ja+Y*la+Z*na)*ta+(ja*_+la*$+na*aa)*sa+(ja*ka+la*ma+na*oa)*r;r=(X*ba+Y*ca+Z*da)*ta+(ba*_+ca*$+da*aa)*sa+(ba*ka+ca*ma+da*oa)*r;m=r*K+(u*L+v*M)+((z*ra+A*n+B*m)*0.0+(ra*C+n*D+m*E)*0.0+(ra*w+n*x+m*y)*0.0+(+g[e+48>>2]+(ra*G+n*I+m*j)));l=r*S+(u*U+v*V)+((w*o+x*q+y*l)*0.0+((z*o+A*q+B*l)*0.0+(C*o+D*q+E*l)*0.0)+(o*G+q*I+l*j+ +g[e+52>>2]));j=r*ea+(u*ia+v*pa)+((w*F+x*H+y*J)*0.0+((z*F+A*H+B*J)*0.0+(C*F+D*H+E*J)*0.0)+(F*G+H*I+J*j+ +g[e+56>>2]));g[qa+80>>2]=(X*ba+Y*ca+Z*da)*K+((fa*X+ga*Y+ha*Z)*L+(X*ja+Y*la+Z*na)*M);g[qa+80+4>>2]=(ba*_+ca*$+da*aa)*K+((fa*_+ga*$+ha*aa)*L+(ja*_+la*$+na*aa)*M);g[qa+80+8>>2]=(ba*ka+ca*ma+da*oa)*K+((fa*ka+ga*ma+ha*oa)*L+(ja*ka+la*ma+na*oa)*M);g[qa+80+12>>2]=0.0;g[qa+80+16>>2]=(X*ba+Y*ca+Z*da)*S+((fa*X+ga*Y+ha*Z)*U+(X*ja+Y*la+Z*na)*V);g[qa+80+20>>2]=(ba*_+ca*$+da*aa)*S+((fa*_+ga*$+ha*aa)*U+(ja*_+la*$+na*aa)*V);g[qa+80+24>>2]=(ba*ka+ca*ma+da*oa)*S+((fa*ka+ga*ma+ha*oa)*U+(ja*ka+la*ma+na*oa)*V);g[qa+80+28>>2]=0.0;g[qa+80+32>>2]=(X*ba+Y*ca+Z*da)*ea+((fa*X+ga*Y+ha*Z)*ia+(X*ja+Y*la+Z*na)*pa);g[qa+80+36>>2]=(ba*_+ca*$+da*aa)*ea+((fa*_+ga*$+ha*aa)*ia+(ja*_+la*$+na*aa)*pa);g[qa+80+40>>2]=(ba*ka+ca*ma+da*oa)*ea+((fa*ka+ga*ma+ha*oa)*ia+(ja*ka+la*ma+na*oa)*pa);g[qa+80+44>>2]=0.0;g[qa+80+48>>2]=m;g[qa+80+52>>2]=l;g[qa+80+56>>2]=j;g[qa+80+60>>2]=0.0;Wg(qa+80|0,qa+64|0);j=+g[qa+64>>2];l=+g[qa+64+4>>2];m=+g[qa+64+8>>2];if(!(+N(+(j*j+l*l+m*m))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,wa=1.0/+O(+(j*j+l*l+m*m)),g[b+460>>2]=j*wa,g[b+464>>2]=l*wa,g[b+468>>2]=m*wa,wa=+g[qa+64+12>>2],wa=wa<-1.0?-1.0:wa,wa=+T(+(wa>1.0?1.0:wa))*2.0,g[b+504>>2]=wa,!(+N(+wa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;i=qa;return}Wg(d,qa+48|0);Wg(b+300|0,qa+32|0);Z=+g[qa+48+12>>2];_=+g[qa+32>>2];$=+g[qa+48>>2];aa=+g[qa+32+12>>2];ba=+g[qa+48+4>>2];ca=+g[qa+32+8>>2];da=+g[qa+48+8>>2];ea=+g[qa+32+4>>2];Wg(e,qa+16|0);Wg(b+364|0,qa);fa=+g[qa+16+12>>2];ga=+g[qa>>2];ha=+g[qa+16>>2];ia=+g[qa+12>>2];ja=+g[qa+16+4>>2];ka=+g[qa+8>>2];la=+g[qa+16+8>>2];ma=+g[qa+4>>2];na=-(fa*ga+ha*ia+ja*ka-la*ma);oa=-(ga*la+(ia*ja+fa*ma)-ha*ka);pa=-(fa*ka+ia*la+ha*ma-ga*ja);o=(Z*aa-_*$-ba*ea-ca*da)*na+(Z*_+$*aa+ba*ca-da*ea)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*ca+aa*da+$*ea-_*ba)*oa-(_*da+(aa*ba+Z*ea)-$*ca)*pa;q=(Z*_+$*aa+ba*ca-da*ea)*pa+((_*da+(aa*ba+Z*ea)-$*ca)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*aa-_*$-ba*ea-ca*da)*oa)-(Z*ca+aa*da+$*ea-_*ba)*na;r=(_*da+(aa*ba+Z*ea)-$*ca)*na+((Z*ca+aa*da+$*ea-_*ba)*(fa*ia-ga*ha-ja*ma-ka*la)+(Z*aa-_*$-ba*ea-ca*da)*pa)-(Z*_+$*aa+ba*ca-da*ea)*oa;u=(Z*aa-_*$-ba*ea-ca*da)*(fa*ia-ga*ha-ja*ma-ka*la)-(Z*_+$*aa+ba*ca-da*ea)*na-(_*da+(aa*ba+Z*ea)-$*ca)*oa-(Z*ca+aa*da+$*ea-_*ba)*pa;m=-o-q*0.0-r*0.0;l=(r+u*0.0-o*0.0)*-r+(u*(u+q*0.0-r*0.0)+m*-o)-(u*0.0+o*0.0-q)*-q;j=(u*0.0+o*0.0-q)*-o+(u*(r+u*0.0-o*0.0)+m*-q)-(u+q*0.0-r*0.0)*-r;m=(u+q*0.0-r*0.0)*-q+(u*(u*0.0+o*0.0-q)+m*-r)-(r+u*0.0-o*0.0)*-o;n=1.0/+O(+(m*m+(l*l+j*j)));if(n*m*0.0+(n*j*0.0+n*l)<-.9999998807907104){p=-2147483648;s=0;t=0;j=1.0}else{wa=+O(+((n*m*0.0+(n*j*0.0+n*l)+1.0)*2.0));p=(g[k>>2]=(n*m*0.0-n*j*0.0)*(1.0/wa),c[k>>2]|0);s=(g[k>>2]=(n*j-n*l*0.0)*(1.0/wa),c[k>>2]|0);t=(g[k>>2]=wa*.5,c[k>>2]|0);j=(n*l*0.0-n*m)*(1.0/wa)}m=(c[k>>2]=p,+g[k>>2]);w=(c[k>>2]=s,+g[k>>2]);l=(c[k>>2]=t,+g[k>>2]);n=1.0/+O(+(m*m+j*j+w*w+l*l));v=j*n;V=r*-v+(o*l*n+u*-(m*n))-q*-(w*n);X=o*-(w*n)+(u*-v+q*l*n)-r*-(m*n);Y=q*-(m*n)+(r*l*n+u*-(w*n))-o*-v;S=u*l*n-o*-(m*n)-q*-v-r*-(w*n);U=1.0/+O(+(S*S+(Y*Y+(V*V+X*X))));u=+g[b+444>>2];j=+g[b+456>>2];p=(g[k>>2]=u,c[k>>2]|0);if(u>=j?(x=+g[b+448>>2],x>=j):0){r=l*n<-1.0?-1.0:l*n;r=+T(+(r>1.0?1.0:r))*2.0;if(r>1.1920928955078125e-07){j=1.0/+O(+(w*n*w*n+(m*n*m*n+v*v)));if(+N(+(v*j))>1.1920928955078125e-07){wa=+O(+((w*n*j*w*n*j/(v*j*v*j)+1.0)/(1.0/(x*x)+w*n*j*w*n*j/(v*j*v*j)/(u*u))));m=m*n*j;l=w*n*j;j=v*j;p=(g[k>>2]=wa,c[k>>2]|0)}else{m=m*n*j;l=w*n*j;j=v*j}}else{m=0.0;l=0.0;j=0.0;p=0}n=(c[k>>2]=p,+g[k>>2]);o=+g[b+428>>2];if(r>n*o){a[b+526>>0]=1;if(r<n&o<.9999998807907104)q=(r-n*o)/(n-n*o);else q=1.0;g[b+528>>2]=q;g[b+504>>2]=r-n*o;if(+N(+j)>1.1920928955078125e-07){wa=+N(+(j*-l/j*(x/u)));l=l<-0.0?wa:-wa;wa=1.0/+O(+(m*m+j*j+l*l));m=m*wa;l=-(l*wa);j=j*wa}va=-m;ua=-j;sa=-l;ra=(fa*ia-ga*ha-ja*ma-ka*la)*va+(ga*la+(ia*ja+fa*ma)-ha*ka)*sa-(fa*ka+ia*la+ha*ma-ga*ja)*ua;wa=(fa*ka+ia*la+ha*ma-ga*ja)*va+(fa*ia-ga*ha-ja*ma-ka*la)*ua-(fa*ga+ha*ia+ja*ka-la*ma)*sa;ta=(fa*ga+ha*ia+ja*ka-la*ma)*ua+(fa*ia-ga*ha-ja*ma-ka*la)*sa-(ga*la+(ia*ja+fa*ma)-ha*ka)*va;sa=-((fa*ga+ha*ia+ja*ka-la*ma)*va)-(ga*la+(ia*ja+fa*ma)-ha*ka)*ua-(fa*ka+ia*la+ha*ma-ga*ja)*sa;ua=wa*pa+(sa*na+(fa*ia-ga*ha-ja*ma-ka*la)*ra)-ta*oa;va=ta*na+((fa*ia-ga*ha-ja*ma-ka*la)*wa+sa*oa)-ra*pa;wa=ra*oa+(sa*pa+(fa*ia-ga*ha-ja*ma-ka*la)*ta)-wa*na;g[b+460>>2]=ua;g[b+464>>2]=va;g[b+468>>2]=wa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(ua*(+g[f>>2]*ua+ +g[f+16>>2]*va+ +g[f+32>>2]*wa)+va*(ua*+g[f+4>>2]+va*+g[f+20>>2]+wa*+g[f+36>>2])+wa*(ua*+g[f+8>>2]+va*+g[f+24>>2]+wa*+g[f+40>>2])+(ua*(ua*+g[h>>2]+va*+g[h+16>>2]+wa*+g[h+32>>2])+va*(ua*+g[h+4>>2]+va*+g[h+20>>2]+wa*+g[h+36>>2])+wa*(ua*+g[h+8>>2]+va*+g[h+24>>2]+wa*+g[h+40>>2])))}}else P=20;a:do if((P|0)==20){C=+g[b+300>>2];D=+g[b+316>>2];E=+g[b+332>>2];F=+g[d>>2];G=+g[d+4>>2];H=+g[d+8>>2];I=+g[d+16>>2];J=+g[d+20>>2];K=+g[d+24>>2];L=+g[d+32>>2];M=+g[d+36>>2];u=+g[d+40>>2];v=+g[b+304>>2];w=+g[b+320>>2];x=+g[b+336>>2];y=+g[b+308>>2];z=+g[b+324>>2];A=+g[b+340>>2];l=+g[b+364>>2];o=+g[b+380>>2];q=+g[b+396>>2];B=l*+g[e>>2]+o*+g[e+4>>2]+q*+g[e+8>>2];r=l*+g[e+16>>2]+o*+g[e+20>>2]+q*+g[e+24>>2];q=l*+g[e+32>>2]+o*+g[e+36>>2]+q*+g[e+40>>2];o=(C*F+D*G+E*H)*B+(C*I+D*J+E*K)*r+(C*L+D*M+E*u)*q;l=(F*v+G*w+H*x)*B+(I*v+J*w+K*x)*r+(L*v+M*w+u*x)*q;j=(F*y+G*z+H*A)*B+(I*y+J*z+K*A)*r+(L*y+M*z+u*A)*q;n=+g[b+444>>2];m=+g[b+456>>2];do if(n<m){n=+g[b+448>>2];if(n<m){if(+N(+l)<1.1920928955078125e-07?+N(+j)<1.1920928955078125e-07:0)break a;a[b+526>>0]=1;g[b+460>>2]=-((C*L+D*M+E*u)*r-(C*I+D*J+E*K)*q);g[b+464>>2]=-((C*F+D*G+E*H)*q-(C*L+D*M+E*u)*B);g[b+468>>2]=-((C*I+D*J+E*K)*B-(C*F+D*G+E*H)*r);g[b+472>>2]=0.0;break a}if(+N(+o)<1.1920928955078125e-07?+N(+j)<1.1920928955078125e-07:0){m=o;break}a[b+526>>0]=1;if(n>=m){l=+W(+j,+o);if(l>n){m=+Q(+n);l=0.0;j=+R(+n);break}if(l<-n){m=+Q(+n);l=0.0;j=-+R(+n)}else{m=o;l=0.0}}else m=o}else{if(+N(+o)<1.1920928955078125e-07?+N(+l)<1.1920928955078125e-07:0){m=o;break}a[b+526>>0]=1;if(n>=m){j=+W(+l,+o);if(j>n){m=+Q(+n);l=+R(+n);j=0.0;break}if(j<-n){m=+Q(+n);l=-+R(+n);j=0.0}else{m=o;j=0.0}}else m=o}while(0);va=(F*y+G*z+H*A)*j+((F*v+G*w+H*x)*l+(C*F+D*G+E*H)*m);ta=(I*y+J*z+K*A)*j+((I*v+J*w+K*x)*l+(C*I+D*J+E*K)*m);sa=(L*y+M*z+u*A)*j+((L*v+M*w+u*x)*l+(C*L+D*M+E*u)*m);ua=1.0/+O(+(sa*sa+(va*va+ta*ta)));g[b+472>>2]=0.0;wa=+O(+((r*ua*sa-q*ua*ta)*(r*ua*sa-q*ua*ta)+(q*ua*va-B*ua*sa)*(q*ua*va-B*ua*sa)+(B*ua*ta-r*ua*va)*(B*ua*ta-r*ua*va)));g[b+504>>2]=wa;g[b+460>>2]=-((r*ua*sa-q*ua*ta)*(1.0/wa));g[b+464>>2]=-((q*ua*va-B*ua*sa)*(1.0/wa));g[b+468>>2]=-((B*ua*ta-r*ua*va)*(1.0/wa))}while(0);r=+g[b+452>>2];if(!(r>=0.0)){g[b+512>>2]=0.0;i=qa;return}j=U*S<-1.0?-1.0:U*S;j=+T(+(j>1.0?1.0:j))*2.0;if(j>3.1415927410125732){q=-(U*S)<-1.0?-1.0:-(U*S);q=+T(+(q>1.0?1.0:q))*2.0;l=-(U*V);m=-(U*X);j=-(U*Y)}else{q=j;l=U*V;m=U*X;j=U*Y}g[b+512>>2]=q;if(q>1.1920928955078125e-07){wa=1.0/+O(+(l*l+m*m+j*j));o=l*wa;n=j*wa;m=m*wa}else{o=l;n=j}j=+g[b+428>>2];if(q>r*j){a[b+525>>0]=1;l=q-r*j;if(q<r&j<.9999998807907104)j=l/(r-r*j);else j=1.0;g[b+532>>2]=j;g[b+508>>2]=l;va=-o;ua=-m;sa=-n;ra=(fa*ia-ga*ha-ja*ma-ka*la)*va+(ga*la+(ia*ja+fa*ma)-ha*ka)*sa-(fa*ka+ia*la+ha*ma-ga*ja)*ua;wa=(fa*ka+ia*la+ha*ma-ga*ja)*va+(fa*ia-ga*ha-ja*ma-ka*la)*ua-(fa*ga+ha*ia+ja*ka-la*ma)*sa;ta=(fa*ga+ha*ia+ja*ka-la*ma)*ua+(fa*ia-ga*ha-ja*ma-ka*la)*sa-(ga*la+(ia*ja+fa*ma)-ha*ka)*va;sa=-((fa*ga+ha*ia+ja*ka-la*ma)*va)-(ga*la+(ia*ja+fa*ma)-ha*ka)*ua-(fa*ka+ia*la+ha*ma-ga*ja)*sa;ua=wa*pa+(sa*na+(fa*ia-ga*ha-ja*ma-ka*la)*ra)-ta*oa;va=ta*na+((fa*ia-ga*ha-ja*ma-ka*la)*wa+sa*oa)-ra*pa;wa=ra*oa+(sa*pa+(fa*ia-ga*ha-ja*ma-ka*la)*ta)-wa*na;g[b+476>>2]=ua;g[b+480>>2]=va;g[b+484>>2]=wa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(ua*(+g[f>>2]*ua+ +g[f+16>>2]*va+ +g[f+32>>2]*wa)+va*(ua*+g[f+4>>2]+va*+g[f+20>>2]+wa*+g[f+36>>2])+wa*(ua*+g[f+8>>2]+va*+g[f+24>>2]+wa*+g[f+40>>2])+(ua*(ua*+g[h>>2]+va*+g[h+16>>2]+wa*+g[h+32>>2])+va*(ua*+g[h+4>>2]+va*+g[h+20>>2]+wa*+g[h+36>>2])+wa*(ua*+g[h+8>>2]+va*+g[h+24>>2]+wa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){i=qa;return}ra=-o;wa=-m;sa=-n;pa=(Z*aa-_*$-ba*ea-ca*da)*ra+(_*da+(aa*ba+Z*ea)-$*ca)*sa-(Z*ca+aa*da+$*ea-_*ba)*wa;va=(Z*ca+aa*da+$*ea-_*ba)*ra+(Z*aa-_*$-ba*ea-ca*da)*wa-(Z*_+$*aa+ba*ca-da*ea)*sa;ua=(Z*_+$*aa+ba*ca-da*ea)*wa+(Z*aa-_*$-ba*ea-ca*da)*sa-(_*da+(aa*ba+Z*ea)-$*ca)*ra;sa=-((Z*_+$*aa+ba*ca-da*ea)*ra)-(_*da+(aa*ba+Z*ea)-$*ca)*wa-(Z*ca+aa*da+$*ea-_*ba)*sa;wa=-(Z*_+$*aa+ba*ca-da*ea);ra=-(_*da+(aa*ba+Z*ea)-$*ca);ta=-(Z*ca+aa*da+$*ea-_*ba);g[b+536>>2]=va*ta+(sa*wa+(Z*aa-_*$-ba*ea-ca*da)*pa)-ua*ra;g[b+540>>2]=ua*wa+((Z*aa-_*$-ba*ea-ca*da)*va+sa*ra)-pa*ta;g[b+544>>2]=pa*ra+(sa*ta+(Z*aa-_*$-ba*ea-ca*da)*ua)-va*wa;g[b+548>>2]=0.0;i=qa;return}function Gc(d,e){d=d|0;e=e|0;var f=0.0,h=0,j=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0.0,ia=0.0;ga=i;i=i+16|0;da=c[d+28>>2]|0;fa=c[d+32>>2]|0;$=+g[da+344>>2];aa=+g[fa+344>>2];Z=c[e+24>>2]|0;ea=a[d+180>>0]|0?1.0:-1.0;W=+g[d+936>>2]-+g[d+872>>2];X=+g[d+940>>2]-+g[d+876>>2];Y=+g[d+944>>2]-+g[d+880>>2];ba=$+aa>0.0?aa/($+aa):.5;H=c[d+824>>2]|0;J=c[d+840>>2]|0;K=c[d+856>>2]|0;L=c[d+888>>2]|0;M=c[d+904>>2]|0;P=c[d+920>>2]|0;Q=(a[d+49>>0]|0)==0;if(Q){y=c[d+828>>2]|0;l=c[d+844>>2]|0;t=c[d+860>>2]|0;c[ga+4>>2]=l;x=c[d+832>>2]|0;D=c[d+848>>2]|0;ca=c[d+864>>2]|0;c[ga>>2]=x;w=(c[k>>2]=t,+g[k>>2]);v=(c[k>>2]=x,+g[k>>2]);q=(c[k>>2]=D,+g[k>>2]);E=ca;u=(c[k>>2]=ca,+g[k>>2]);ca=H;z=J;A=K}else{f=ba*(c[k>>2]=H,+g[k>>2]);n=ba*(c[k>>2]=J,+g[k>>2]);m=ba*(c[k>>2]=K,+g[k>>2]);j=(1.0-ba)*(c[k>>2]=L,+g[k>>2]);o=(1.0-ba)*(c[k>>2]=M,+g[k>>2]);m=m+(1.0-ba)*(c[k>>2]=P,+g[k>>2]);p=1.0/+O(+((f+j)*(f+j)+(n+o)*(n+o)+m*m));y=(g[k>>2]=(f+j)*p,c[k>>2]|0);z=(g[k>>2]=(n+o)*p,c[k>>2]|0);A=(g[k>>2]=m*p,c[k>>2]|0);if(+N(+(m*p))>.7071067690849304){I=1.0/+O(+(m*p*m*p+(n+o)*p*(n+o)*p));g[ga+4>>2]=-(m*p*I);q=-((f+j)*p*(n+o)*p*I);r=(f+j)*p*-(m*p*I);j=(m*p*m*p+(n+o)*p*(n+o)*p)*I;f=(n+o)*p*I;h=0}else{r=(f+j)*p*(f+j)*p+(n+o)*p*(n+o)*p;I=1.0/+O(+r);h=(g[k>>2]=-((n+o)*p*I),c[k>>2]|0);g[ga+4>>2]=(f+j)*p*I;q=m*p*-((n+o)*p*I);r=r*I;j=-(m*p*(f+j)*p*I);f=0.0}t=(g[k>>2]=f,c[k>>2]|0);x=(g[k>>2]=j,c[k>>2]|0);g[ga>>2]=j;D=(g[k>>2]=q,c[k>>2]|0);l=c[ga+4>>2]|0;E=(g[k>>2]=r,c[k>>2]|0);w=f;v=j;u=r;ca=y;y=h}h=c[e+12>>2]|0;c[h>>2]=y;c[h+4>>2]=l;c[h+8>>2]=t;c[h+(Z<<2)>>2]=x;c[h+(Z+1<<2)>>2]=D;c[h+(Z+2<<2)>>2]=E;r=(c[k>>2]=y,+g[k>>2]);h=c[e+20>>2]|0;g[h>>2]=-r;s=+g[ga+4>>2];g[h+4>>2]=-s;g[h+8>>2]=-w;g[h+(Z<<2)>>2]=-v;g[h+(Z+1<<2)>>2]=-q;g[h+(Z+2<<2)>>2]=-u;h=c[d+300>>2]|0;f=+g[d+280>>2];if(!(h&128))f=f*+g[e+4>>2];o=f*+g[e>>2];G=(c[k>>2]=J,+g[k>>2]);B=(c[k>>2]=P,+g[k>>2]);p=(c[k>>2]=K,+g[k>>2]);F=(c[k>>2]=M,+g[k>>2]);I=(c[k>>2]=L,+g[k>>2]);C=(c[k>>2]=H,+g[k>>2]);V=c[e+28>>2]|0;g[V>>2]=o*((G*B-p*F)*r+(p*I-C*B)*s+(C*F-G*I)*w);g[V+(Z<<2)>>2]=o*((G*B-p*F)*v+(p*I-C*B)*q+(C*F-G*I)*u);if(h&64|0){V=c[e+32>>2]|0;c[V>>2]=c[d+292>>2];c[V+(Z<<2)>>2]=c[d+292>>2]}n=+g[da+52>>2];o=+g[da+56>>2];p=+g[da+60>>2];f=+g[fa+52>>2];j=+g[fa+56>>2];m=+g[fa+60>>2];if(Q){S=(g[k>>2]=j-o,c[k>>2]|0);G=(j-o)*w-(m-p)*s;I=(m-p)*r-(f-n)*w;Q=c[e+12>>2]|0;g[Q+(Z<<1<<2)>>2]=ba*G;g[Q+((Z<<1|1)<<2)>>2]=ba*I;g[Q+((Z<<1)+2<<2)>>2]=ba*((f-n)*s-(j-o)*r);Q=(g[k>>2]=f-n,c[k>>2]|0);R=(g[k>>2]=m-p,c[k>>2]|0);T=c[e+20>>2]|0;g[T+(Z<<1<<2)>>2]=(1.0-ba)*G;g[T+((Z<<1|1)<<2)>>2]=(1.0-ba)*I;g[T+((Z<<1)+2<<2)>>2]=(1.0-ba)*((f-n)*s-(j-o)*r);I=(j-o)*u-(m-p)*q;m=(m-p)*v-(f-n)*u;p=(f-n)*q-(j-o)*v;T=c[e+12>>2]|0;g[T+(Z*3<<2)>>2]=ba*I;g[T+((Z*3|0)+1<<2)>>2]=ba*m;g[T+((Z*3|0)+2<<2)>>2]=ba*p;T=c[e+20>>2]|0;g[T+(Z*3<<2)>>2]=(1.0-ba)*I;g[T+((Z*3|0)+1<<2)>>2]=(1.0-ba)*m;g[T+((Z*3|0)+2<<2)>>2]=(1.0-ba)*p;J=c[e+8>>2]|0;c[J+(Z<<1<<2)>>2]=y;g[J+((Z<<1|1)<<2)>>2]=s;g[J+((Z<<1)+2<<2)>>2]=w;J=c[e+8>>2]|0;M=c[ga>>2]|0;c[J+(Z*3<<2)>>2]=M;c[J+((Z*3|0)+1<<2)>>2]=D;c[J+((Z*3|0)+2<<2)>>2]=E;P=c[e+16>>2]|0;g[P+(Z<<1<<2)>>2]=-r;p=+g[ga+4>>2];g[P+((Z<<1|1)<<2)>>2]=-p;g[P+((Z<<1)+2<<2)>>2]=-w;P=c[e+16>>2]|0;n=(c[k>>2]=M,+g[k>>2]);g[P+(Z*3<<2)>>2]=-n;m=(c[k>>2]=D,+g[k>>2]);g[P+((Z*3|0)+1<<2)>>2]=-m;j=(c[k>>2]=E,+g[k>>2]);g[P+((Z*3|0)+2<<2)>>2]=-j;o=w;M=0;L=0;K=0;t=0;l=0;h=0}else{ia=+g[d+936>>2]-f;ha=+g[d+940>>2]-j;F=+g[d+944>>2]-m;r=(c[k>>2]=ca,+g[k>>2]);s=(c[k>>2]=z,+g[k>>2]);q=(c[k>>2]=A,+g[k>>2]);G=+g[d+872>>2]-n;I=+g[d+876>>2]-o;m=+g[d+880>>2]-p;o=+g[d+1080>>2]-+g[d+1032>>2];u=r*(r*G+s*I+q*m)+r*o-r*(r*ia+s*ha+q*F);v=s*(r*G+s*I+q*m)+s*o-s*(r*ia+s*ha+q*F);o=q*(r*G+s*I+q*m)+q*o-q*(r*ia+s*ha+q*F);B=G-r*(r*G+s*I+q*m)+ba*u;w=I-s*(r*G+s*I+q*m)+ba*v;C=m-q*(r*G+s*I+q*m)+ba*o;M=(g[k>>2]=B,c[k>>2]|0);L=(g[k>>2]=w,c[k>>2]|0);K=(g[k>>2]=C,c[k>>2]|0);u=ia-r*(r*ia+s*ha+q*F)-(1.0-ba)*u;v=ha-s*(r*ia+s*ha+q*F)-(1.0-ba)*v;o=F-q*(r*ia+s*ha+q*F)-(1.0-ba)*o;t=(g[k>>2]=u,c[k>>2]|0);x=(g[k>>2]=v,c[k>>2]|0);y=(g[k>>2]=o,c[k>>2]|0);j=ba*(ia-r*(r*ia+s*ha+q*F))+(1.0-ba)*(G-r*(r*G+s*I+q*m));f=ba*(ha-s*(r*ia+s*ha+q*F))+(1.0-ba)*(I-s*(r*G+s*I+q*m));m=ba*(F-q*(r*ia+s*ha+q*F))+(1.0-ba)*(m-q*(r*G+s*I+q*m));g[ga+4>>2]=f;if(m*m+(j*j+f*f)>1.1920928955078125e-07){ia=1.0/+O(+(m*m+(j*j+f*f)));l=(g[k>>2]=j*ia,c[k>>2]|0);g[ga+4>>2]=ia*f;I=ia*m;n=ia*f;f=j*ia;h=(g[k>>2]=ia*m,c[k>>2]|0)}else{l=c[d+828>>2]|0;V=c[d+844>>2]|0;h=c[d+860>>2]|0;c[ga+4>>2]=V;I=(c[k>>2]=h,+g[k>>2]);n=(c[k>>2]=V,+g[k>>2]);f=(c[k>>2]=l,+g[k>>2])}F=s*I-q*n;G=q*f-r*I;q=r*n-s*f;g[ga>>2]=F;V=(c[e+12>>2]|0)+(Z<<1<<2)|0;g[V>>2]=w*I-C*n;g[V+4>>2]=C*f-B*I;g[V+8>>2]=B*n-w*f;V=c[e+20>>2]|0;g[V+(Z<<1<<2)>>2]=-(v*I-o*n);g[V+((Z<<1|1)<<2)>>2]=-(o*f-u*I);g[V+((Z<<1)+2<<2)>>2]=-(u*n-v*f);if($<1.1920928955078125e-07|aa<1.1920928955078125e-07?(a[d+297>>0]|0)!=0:0){p=(1.0-ba)*(v*q-o*G);o=(1.0-ba)*(o*F-u*q);m=(1.0-ba)*(u*G-v*F);n=ba*(w*q-C*G);j=ba*(B*G-w*F);f=ba*(C*F-B*q)}else{p=v*q-o*G;o=o*F-u*q;m=u*G-v*F;n=w*q-C*G;j=B*G-w*F;f=C*F-B*q}T=(c[e+12>>2]|0)+(Z*3<<2)|0;g[T>>2]=n;g[T+4>>2]=f;g[T+8>>2]=j;T=c[e+20>>2]|0;g[T+(Z*3<<2)>>2]=-p;g[T+((Z*3|0)+1<<2)>>2]=-o;g[T+((Z*3|0)+2<<2)>>2]=-m;J=c[e+8>>2]|0;c[J+(Z<<1<<2)>>2]=l;c[J+((Z<<1|1)<<2)>>2]=c[ga+4>>2];c[J+((Z<<1)+2<<2)>>2]=h;J=c[e+8>>2]|0;g[J+(Z*3<<2)>>2]=F;g[J+((Z*3|0)+1<<2)>>2]=G;g[J+((Z*3|0)+2<<2)>>2]=q;P=c[e+16>>2]|0;r=(c[k>>2]=l,+g[k>>2]);g[P+(Z<<1<<2)>>2]=-r;p=+g[ga+4>>2];g[P+((Z<<1|1)<<2)>>2]=-p;g[P+((Z<<1)+2<<2)>>2]=-I;P=c[e+16>>2]|0;g[P+(Z*3<<2)>>2]=-F;g[P+((Z*3|0)+1<<2)>>2]=-G;g[P+((Z*3|0)+2<<2)>>2]=-q;o=I;n=F;m=G;j=q;Q=0;R=0;S=0;l=x;h=y}U=c[d+300>>2]|0;f=+g[d+264>>2];if(!(U&32))f=f*+g[e+4>>2];ia=f*+g[e>>2];V=c[e+28>>2]|0;g[V+(Z<<1<<2)>>2]=ia*(W*r+X*p+Y*o);g[V+(Z*3<<2)>>2]=ia*(W*n+X*m+Y*j);if(U&16|0){H=c[e+32>>2]|0;c[H+(Z<<1<<2)>>2]=c[d+276>>2];c[H+(Z*3<<2)>>2]=c[d+276>>2]}H=b[d+296>>1]|0;if(!((H&255)<<24>>24)){E=0;u=0.0}else{u=ea*+g[d+1032>>2];E=u>0.0?2:1}x=a[d+1096>>0]|0;y=(E|0)!=0;if(x&255|E){D=c[e+24>>2]<<2;c[J+(D<<2)>>2]=ca;c[J+((D|1)<<2)>>2]=z;c[J+((D|2)<<2)>>2]=A;q=(c[k>>2]=ca,+g[k>>2]);g[P+(D<<2)>>2]=-q;r=(c[k>>2]=z,+g[k>>2]);g[P+((D|1)<<2)>>2]=-r;s=(c[k>>2]=A,+g[k>>2]);g[P+((D|2)<<2)>>2]=-s;if(a[d+49>>0]|0){if(!($<1.1920928955078125e-07|aa<1.1920928955078125e-07)){aa=(c[k>>2]=L,+g[k>>2]);Y=(c[k>>2]=K,+g[k>>2]);$=(c[k>>2]=M,+g[k>>2]);ia=(c[k>>2]=l,+g[k>>2]);ba=(c[k>>2]=h,+g[k>>2]);ha=(c[k>>2]=t,+g[k>>2]);Z=c[e+12>>2]|0;g[Z+(D<<2)>>2]=s*aa-r*Y;g[Z+((D|1)<<2)>>2]=q*Y-s*$;g[Z+((D|2)<<2)>>2]=r*$-q*aa;g[T+(D<<2)>>2]=-(s*ia-r*ba);g[T+((D|1)<<2)>>2]=-(q*ba-s*ha);g[T+((D|2)<<2)>>2]=-(r*ha-q*ia)}}else{ia=(c[k>>2]=S,+g[k>>2]);aa=(c[k>>2]=R,+g[k>>2]);ha=(c[k>>2]=Q,+g[k>>2]);Z=c[e+12>>2]|0;g[Z+(D<<2)>>2]=ba*(s*ia-r*aa);g[Z+((D|1)<<2)>>2]=ba*(q*aa-s*ha);g[Z+((D|2)<<2)>>2]=ba*(r*ha-q*ia);g[T+(D<<2)>>2]=(1.0-ba)*(s*ia-r*aa);g[T+((D|1)<<2)>>2]=(1.0-ba)*(q*aa-s*ha);g[T+((D|2)<<2)>>2]=(1.0-ba)*(r*ha-q*ia)}h=+g[d+184>>2]==+g[d+188>>2];g[V+(D<<2)>>2]=0.0;l=(c[e+36>>2]|0)+(D<<2)|0;g[l>>2]=0.0;t=(c[e+40>>2]|0)+(D<<2)|0;g[t>>2]=0.0;p=+g[((U&512|0)==0?e+4|0:d+232|0)>>2];if(!(x<<24>>24==0|y&h)){if(U&1|0)c[(c[e+32>>2]|0)+(D<<2)>>2]=c[d+212>>2];o=+g[d+1100>>2];f=+g[d+1080>>2];j=+g[d+184>>2];m=+g[d+188>>2];n=p*+g[e>>2];do if(!(j>m))if(!(j==m)){if(o/n<0.0)if(f>=j?j-o/n>f:0){f=(j-f)/(o/n);break}else{f=f<j?0.0:1.0;break}if(o/n>0.0)if(f<=m?m-o/n<f:0){f=(m-f)/(o/n);break}else{f=f>m?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);g[V+(D<<2)>>2]=+g[V+(D<<2)>>2]-ea*f*o;g[l>>2]=+g[l>>2]-+g[d+1104>>2]*+g[e>>2];g[t>>2]=+g[d+1104>>2]*+g[e>>2]+ +g[t>>2]}if(y){g[V+(D<<2)>>2]=+g[V+(D<<2)>>2]+u*p*+g[e>>2];if(U&256|0)c[(c[e+32>>2]|0)+(D<<2)>>2]=c[d+244>>2];do if(!h)if((E|0)==1){g[l>>2]=-3402823466385288598117041.0e14;g[t>>2]=0.0;break}else{g[l>>2]=0.0;g[t>>2]=3402823466385288598117041.0e14;break}else{g[l>>2]=-3402823466385288598117041.0e14;g[t>>2]=3402823466385288598117041.0e14}while(0);ia=1.0-+g[d+240>>2];j=+N(+ia);do if(!(ia!=ia|0.0!=0.0|ia==0.0)){f=ea*(q*+g[da+312>>2]+r*+g[da+316>>2]+s*+g[da+320>>2]-(q*+g[fa+312>>2]+r*+g[fa+316>>2]+s*+g[fa+320>>2]));if((E|0)==1){if(!(f<0.0))break;if(!(+g[V+(D<<2)>>2]<-(j*f)))break;g[V+(D<<2)>>2]=-(j*f);break}else{if(!(f>0.0))break;if(!(+g[V+(D<<2)>>2]>-(j*f)))break;g[V+(D<<2)>>2]=-(j*f);break}}while(0);g[V+(D<<2)>>2]=+g[d+232>>2]*+g[V+(D<<2)>>2];h=5}else h=5}else h=4;if((H&65535)<256){y=0;v=0.0}else{v=+g[d+1088>>2];y=v>0.0?1:2}l=a[d+1112>>0]|0;t=(y|0)!=0;if(!(l&255|y)){i=ga;return}x=_(c[e+24>>2]|0,h)|0;fa=c[e+12>>2]|0;c[fa+(x<<2)>>2]=ca;c[fa+(x+1<<2)>>2]=z;c[fa+(x+2<<2)>>2]=A;w=(c[k>>2]=ca,+g[k>>2]);g[T+(x<<2)>>2]=-w;u=(c[k>>2]=z,+g[k>>2]);g[T+(x+1<<2)>>2]=-u;s=(c[k>>2]=A,+g[k>>2]);g[T+(x+2<<2)>>2]=-s;p=+g[d+192>>2];q=+g[d+196>>2];r=+g[((U&2048|0)==0?e+4|0:d+248|0)>>2];if(!(l<<24>>24==0|t&p==q)){if(!(U&4)){m=q;n=p}else{c[(c[e+32>>2]|0)+(x<<2)>>2]=c[d+228>>2];m=+g[d+196>>2];n=+g[d+192>>2]}f=+g[d+1084>>2];o=+g[d+1116>>2];j=r*+g[e>>2];do if(!(n>m))if(!(n==m)){if(o/j<0.0)if(f>=n?n-o/j>f:0){f=(n-f)/(o/j);break}else{f=f<n?0.0:1.0;break}if(o/j>0.0)if(f<=m?m-o/j<f:0){f=(m-f)/(o/j);break}else{f=f>m?0.0:1.0;break}else f=0.0}else f=0.0;else f=1.0;while(0);g[V+(x<<2)>>2]=f*o;g[(c[e+36>>2]|0)+(x<<2)>>2]=-(+g[d+1120>>2]*+g[e>>2]);g[(c[e+40>>2]|0)+(x<<2)>>2]=+g[d+1120>>2]*+g[e>>2]}if(!t){i=ga;return}g[V+(x<<2)>>2]=+g[V+(x<<2)>>2]+v*r*+g[e>>2];if(U&1024|0)c[(c[e+32>>2]|0)+(x<<2)>>2]=c[d+260>>2];do if(!(p==q)){l=(c[e+36>>2]|0)+(x<<2)|0;h=c[e+40>>2]|0;if((y|0)==1){g[l>>2]=0.0;g[h+(x<<2)>>2]=3402823466385288598117041.0e14;break}else{g[l>>2]=-3402823466385288598117041.0e14;g[h+(x<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(x<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(x<<2)>>2]=3402823466385288598117041.0e14}while(0);ia=1.0-+g[d+256>>2];j=+N(+ia);do if(!(ia!=ia|0.0!=0.0|ia==0.0)){fa=c[d+28>>2]|0;e=c[d+32>>2]|0;f=w*+g[fa+328>>2]+u*+g[fa+332>>2]+s*+g[fa+336>>2]-(w*+g[e+328>>2]+u*+g[e+332>>2]+s*+g[e+336>>2]);if((y|0)==1){if(!(f<0.0))break;if(!(+g[V+(x<<2)>>2]<-(j*f)))break;g[V+(x<<2)>>2]=-(j*f);break}else{if(!(f>0.0))break;if(!(+g[V+(x<<2)>>2]>-(j*f)))break;g[V+(x<<2)>>2]=-(j*f);break}}while(0);g[V+(x<<2)>>2]=+g[d+248>>2]*+g[V+(x<<2)>>2];i=ga;return}function Hc(d,e){d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0;pa=c[d+28>>2]|0;qa=c[d+32>>2]|0;q=c[e+24>>2]|0;if(!(a[d+739>>0]|0)){z=+g[d+552>>2];S=+g[pa+4>>2];A=+g[d+568>>2];T=+g[pa+8>>2];B=+g[d+584>>2];U=+g[pa+12>>2];C=+g[d+556>>2];D=+g[d+572>>2];E=+g[d+588>>2];V=+g[d+560>>2];W=+g[d+576>>2];X=+g[d+592>>2];Y=+g[pa+20>>2];Z=+g[pa+24>>2];_=+g[pa+28>>2];$=+g[pa+36>>2];aa=+g[pa+40>>2];ba=+g[pa+44>>2];l=+g[d+600>>2];m=+g[d+604>>2];o=+g[d+608>>2];r=+g[pa+52>>2];u=+g[pa+56>>2];v=+g[pa+60>>2];F=+g[qa+4>>2];G=+g[qa+8>>2];H=+g[qa+12>>2];I=+g[d+624>>2];J=+g[d+640>>2];K=+g[d+656>>2];L=+g[qa+20>>2];M=+g[qa+24>>2];N=+g[qa+28>>2];P=+g[qa+36>>2];Q=+g[qa+40>>2];R=+g[qa+44>>2];na=+g[d+664>>2];oa=+g[d+668>>2];y=+g[d+672>>2];w=+g[qa+52>>2]+(F*na+G*oa+H*y);x=L*na+M*oa+N*y+ +g[qa+56>>2];y=P*na+Q*oa+R*y+ +g[qa+60>>2];t=b[d+736>>1]|0;if(!((t&255)<<24>>24)){i=c[e+8>>2]|0;g[i>>2]=1.0;g[i+(q+1<<2)>>2]=1.0;g[i+((q<<1)+2<<2)>>2]=1.0;i=c[e+16>>2]|0;g[i>>2]=-1.0;g[i+(q+1<<2)>>2]=-1.0;g[i+((q<<1)+2<<2)>>2]=-1.0;i=q<<1;f=+g[pa+52>>2];h=+g[pa+56>>2];k=+g[pa+60>>2]}else{i=q<<1;f=r;h=u;k=v}f=r+(S*l+T*m+U*o)-f;oa=Y*l+Z*m+_*o+u-h;na=$*l+aa*m+ba*o+v-k;j=c[e+12>>2]|0;n=j+(i<<2)|0;c[j>>2]=0;g[j+4>>2]=na;g[j+8>>2]=-oa;g[j+12>>2]=0.0;g[j+(q<<2)>>2]=-na;c[j+(q<<2)+4>>2]=0;g[j+(q<<2)+8>>2]=f;g[j+(q<<2)+12>>2]=0.0;g[n>>2]=oa;g[n+4>>2]=-f;c[n+8>>2]=0;g[n+12>>2]=0.0;f=w-+g[qa+52>>2];oa=x-+g[qa+56>>2];na=y-+g[qa+60>>2];n=c[e+20>>2]|0;i=n+(i<<2)|0;c[n>>2]=0;g[n+4>>2]=-na;g[n+8>>2]=oa;g[n+12>>2]=0.0;g[n+(q<<2)>>2]=na;c[n+(q<<2)+4>>2]=0;g[n+(q<<2)+8>>2]=-f;g[n+(q<<2)+12>>2]=0.0;g[i>>2]=-oa;g[i+4>>2]=f;c[i+8>>2]=0;g[i+12>>2]=0.0;f=+g[e>>2]*+g[e+4>>2];i=c[e+28>>2]|0;if(!((t&255)<<24>>24)){g[i>>2]=f*(w-(r+(S*l+T*m+U*o)));g[i+(q<<2)>>2]=f*(x-(Y*l+Z*m+_*o+u));g[i+(q<<1<<2)>>2]=f*(y-($*l+aa*m+ba*o+v))}s=c[e+24>>2]|0;g[j+(s*3<<2)>>2]=z*S+A*T+B*U;g[j+((s*3|0)+1<<2)>>2]=z*Y+A*Z+B*_;g[j+((s*3|0)+2<<2)>>2]=z*$+A*aa+B*ba;g[j+(s<<2<<2)>>2]=S*C+T*D+U*E;g[j+((s<<2|1)<<2)>>2]=C*Y+D*Z+E*_;g[j+((s<<2|2)<<2)>>2]=C*$+D*aa+E*ba;g[n+(s*3<<2)>>2]=-(z*S+A*T+B*U);g[n+((s*3|0)+1<<2)>>2]=-(z*Y+A*Z+B*_);g[n+((s*3|0)+2<<2)>>2]=-(z*$+A*aa+B*ba);g[n+(s<<2<<2)>>2]=-(S*C+T*D+U*E);g[n+((s<<2|1)<<2)>>2]=-(C*Y+D*Z+E*_);g[n+((s<<2|2)<<2)>>2]=-(C*$+D*aa+E*ba);na=(V*Y+W*Z+X*_)*(I*P+J*Q+K*R)-(V*$+W*aa+X*ba)*(I*L+J*M+K*N);oa=(V*$+W*aa+X*ba)*(F*I+G*J+H*K)-(S*V+T*W+U*X)*(I*P+J*Q+K*R);ma=(S*V+T*W+U*X)*(I*L+J*M+K*N)-(V*Y+W*Z+X*_)*(F*I+G*J+H*K);g[i+(s*3<<2)>>2]=((z*$+A*aa+B*ba)*ma+((z*S+A*T+B*U)*na+(z*Y+A*Z+B*_)*oa))*f;g[i+(s<<2<<2)>>2]=((C*$+D*aa+E*ba)*ma+((S*C+T*D+U*E)*na+(C*Y+D*Z+E*_)*oa))*f;if(!(a[d+716>>0]|0)){q=0;r=0.0}else{r=+g[d+708>>2]*+g[d+732>>2];q=r>0.0?1:2}p=(q|0)!=0;if(!((t&65535)>>>8&65535|q))return;g[j+(s*5<<2)>>2]=S*V+T*W+U*X;g[j+((s*5|0)+1<<2)>>2]=V*Y+W*Z+X*_;g[j+((s*5|0)+2<<2)>>2]=V*$+W*aa+X*ba;g[n+(s*5<<2)>>2]=-(S*V+T*W+U*X);g[n+((s*5|0)+1<<2)>>2]=-(V*Y+W*Z+X*_);g[n+((s*5|0)+2<<2)>>2]=-(V*$+W*aa+X*ba);h=+g[d+688>>2];k=+g[d+692>>2];f=+eh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+eh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;n=i+(s*5<<2)|0;g[n>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!((t&65535)>>>8<<16>>16==0|p&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k<o?0.0:1.0;break}if(h>0.0)if(k<=f&f-h<k){f=(f-k)/h;break}else{f=k>f?0.0:1.0;break}else f=0.0}else f=h;while(0);g[n>>2]=f*l*+g[d+732>>2]+ +g[n>>2];g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s*5<<2)>>2]=c[d+684>>2]}if(!p)return;g[n>>2]=+g[n>>2]+r*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s*5<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s*5<<2)|0;i=c[e+40>>2]|0;if((q|0)==1){g[j>>2]=0.0;g[i+(s*5<<2)>>2]=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;g[i+(s*5<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(s*5<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(s*5<<2)>>2]=3402823466385288598117041.0e14}while(0);h=+g[d+704>>2];do if(h>0.0){f=(S*V+T*W+U*X)*+g[pa+328>>2]+(V*Y+W*Z+X*_)*+g[pa+332>>2]+(V*$+W*aa+X*ba)*+g[pa+336>>2]-((S*V+T*W+U*X)*+g[qa+328>>2]+(V*Y+W*Z+X*_)*+g[qa+332>>2]+(V*$+W*aa+X*ba)*+g[qa+336>>2]);if((q|0)==1){if(!(f<0.0))break;if(!(+g[n>>2]<-(h*f)))break;g[n>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[n>>2]>-(h*f)))break;g[n>>2]=-(h*f);break}}while(0);g[n>>2]=+g[d+700>>2]*+g[n>>2];return}W=+g[pa+4>>2];X=+g[pa+8>>2];Y=+g[pa+12>>2];u=+g[d+556>>2];x=+g[d+572>>2];z=+g[d+588>>2];Z=+g[d+560>>2];_=+g[d+576>>2];$=+g[d+592>>2];aa=+g[pa+20>>2];ba=+g[pa+24>>2];ca=+g[pa+28>>2];da=+g[pa+36>>2];ea=+g[pa+40>>2];fa=+g[pa+44>>2];ha=+g[d+600>>2];ga=+g[d+604>>2];o=+g[d+608>>2];h=+g[pa+52>>2]+(W*ha+X*ga+Y*o);w=aa*ha+ba*ga+ca*o+ +g[pa+56>>2];o=da*ha+ea*ga+fa*o+ +g[pa+60>>2];ga=+g[qa+4>>2];ha=+g[qa+8>>2];ia=+g[qa+12>>2];ja=+g[d+624>>2];ka=+g[d+640>>2];P=+g[d+656>>2];Q=+g[qa+20>>2];R=+g[qa+24>>2];S=+g[qa+28>>2];T=+g[qa+36>>2];U=+g[qa+40>>2];V=+g[qa+44>>2];r=+g[d+664>>2];y=+g[d+668>>2];k=+g[d+672>>2];f=+g[qa+52>>2];v=+g[qa+56>>2];m=+g[qa+60>>2];J=f+(ga*r+ha*y+ia*k)-h;K=Q*r+R*y+S*k+v-w;L=T*r+U*y+V*k+m-o;A=+g[(c[d+28>>2]|0)+344>>2];B=+g[(c[d+32>>2]|0)+344>>2];I=A+B>0.0?B/(A+B):.5;la=(W*Z+X*_+Y*$)*I+(ga*ja+ha*ka+ia*P)*(1.0-I);ma=(Z*aa+_*ba+$*ca)*I+(ja*Q+ka*R+P*S)*(1.0-I);na=(Z*da+_*ea+$*fa)*I+(ja*T+ka*U+P*V)*(1.0-I);oa=1.0/+O(+(la*la+ma*ma+na*na));C=(f+(ga*r+ha*y+ia*k)-f)*la*oa+(Q*r+R*y+S*k+v-v)*ma*oa+(T*r+U*y+V*k+m-m)*na*oa;f=f+(ga*r+ha*y+ia*k)-f-la*oa*C;v=Q*r+R*y+S*k+v-v-ma*oa*C;m=T*r+U*y+V*k+m-m-na*oa*C;h=h-+g[pa+52>>2];w=w-+g[pa+56>>2];o=o-+g[pa+60>>2];k=la*oa*(h*la*oa+w*ma*oa+o*na*oa);y=ma*oa*(h*la*oa+w*ma*oa+o*na*oa);r=na*oa*(h*la*oa+w*ma*oa+o*na*oa);G=h-k+I*(k-la*oa*C);H=w-y+I*(y-ma*oa*C);F=o-r+I*(r-na*oa*C);D=f-(1.0-I)*(k-la*oa*C);E=v-(1.0-I)*(y-ma*oa*C);C=m-(1.0-I)*(r-na*oa*C);l=(I*f+(1.0-I)*(h-k))*(I*f+(1.0-I)*(h-k))+(I*v+(1.0-I)*(w-y))*(I*v+(1.0-I)*(w-y))+(I*m+(1.0-I)*(o-r))*(I*m+(1.0-I)*(o-r));if(l>1.1920928955078125e-07){z=1.0/+O(+l);N=(I*f+(1.0-I)*(h-k))*z;M=z*(I*m+(1.0-I)*(o-r));w=z*(I*v+(1.0-I)*(w-y))}else{N=W*u+X*x+Y*z;M=u*da+x*ea+z*fa;w=u*aa+x*ba+z*ca}r=ma*oa*M-na*oa*w;u=na*oa*N-M*la*oa;v=w*la*oa-ma*oa*N;t=c[e+12>>2]|0;g[t>>2]=H*M-F*w;g[t+4>>2]=F*N-G*M;g[t+8>>2]=G*w-H*N;t=c[e+20>>2]|0;g[t>>2]=-(E*M-C*w);g[t+4>>2]=-(C*N-D*M);g[t+8>>2]=-(D*w-E*N);if(A<1.1920928955078125e-07|B<1.1920928955078125e-07?(a[d+716>>0]|0)!=0:0){f=(1.0-I)*(E*v-C*u);h=(1.0-I)*(C*r-D*v);k=(1.0-I)*(D*u-E*r);l=I*(H*v-F*u);m=I*(F*r-G*v);o=I*(G*u-H*r)}else{f=E*v-C*u;h=C*r-D*v;k=D*u-E*r;l=H*v-F*u;m=F*r-G*v;o=G*u-H*r}t=(c[e+12>>2]|0)+(q<<2)|0;g[t>>2]=l;g[t+4>>2]=m;g[t+8>>2]=o;t=c[e+20>>2]|0;g[t+(q<<2)>>2]=-f;g[t+(q+1<<2)>>2]=-h;g[t+(q+2<<2)>>2]=-k;if(A<1.1920928955078125e-07|B<1.1920928955078125e-07){o=(1.0-I)*(E*na*oa-C*ma*oa);m=(1.0-I)*(C*la*oa-D*na*oa);l=(1.0-I)*(D*ma*oa-E*la*oa);k=I*(H*na*oa-F*ma*oa);h=I*(F*la*oa-G*na*oa);f=I*(G*ma*oa-H*la*oa)}else{o=E*na*oa-C*ma*oa;m=C*la*oa-D*na*oa;l=D*ma*oa-E*la*oa;k=H*na*oa-F*ma*oa;h=F*la*oa-G*na*oa;f=G*ma*oa-H*la*oa}i=(c[e+12>>2]|0)+(q<<1<<2)|0;g[i>>2]=k;g[i+4>>2]=h;g[i+8>>2]=f;i=c[e+20>>2]|0;g[i+(q<<1<<2)>>2]=-o;g[i+((q<<1|1)<<2)>>2]=-m;g[i+((q<<1)+2<<2)>>2]=-l;f=+g[e>>2]*+g[e+4>>2];if(!(a[d+736>>0]|0)){p=c[e+8>>2]|0;g[p>>2]=N;g[p+4>>2]=w;g[p+8>>2]=M;p=(c[e+8>>2]|0)+(q<<2)|0;g[p>>2]=r;g[p+4>>2]=u;g[p+8>>2]=v;p=(c[e+8>>2]|0)+(q<<1<<2)|0;g[p>>2]=la*oa;g[p+4>>2]=ma*oa;g[p+8>>2]=na*oa;p=c[e+16>>2]|0;h=-N;g[p>>2]=h;g[p+4>>2]=-w;g[p+8>>2]=-M;p=c[e+16>>2]|0;g[p+(q<<2)>>2]=-r;g[p+(q+1<<2)>>2]=-u;g[p+(q+2<<2)>>2]=-v;p=c[e+16>>2]|0;g[p+(q<<1<<2)>>2]=-(la*oa);g[p+((q<<1|1)<<2)>>2]=-(ma*oa);g[p+((q<<1)+2<<2)>>2]=-(na*oa);p=c[e+28>>2]|0;g[p>>2]=f*(J*N+K*w+L*M);g[p+(q<<2)>>2]=f*(J*r+K*u+L*v);g[p+(q<<1<<2)>>2]=f*(J*la*oa+K*ma*oa+L*na*oa);f=h;h=-r;k=-u;l=-v;i=c[e+20>>2]|0}else{f=-N;h=-r;k=-u;l=-v;p=c[e+28>>2]|0}j=c[e+12>>2]|0;g[j+(q*3<<2)>>2]=N;g[j+((q*3|0)+1<<2)>>2]=w;g[j+((q*3|0)+2<<2)>>2]=M;g[j+(q<<2<<2)>>2]=r;g[j+((q<<2|1)<<2)>>2]=u;g[j+((q<<2|2)<<2)>>2]=v;g[i+(q*3<<2)>>2]=f;g[i+((q*3|0)+1<<2)>>2]=-w;g[i+((q*3|0)+2<<2)>>2]=-M;g[i+(q<<2<<2)>>2]=h;g[i+((q<<2|1)<<2)>>2]=k;g[i+((q<<2|2)<<2)>>2]=l;K=+g[e>>2]*+g[e+4>>2];L=(Z*aa+_*ba+$*ca)*(ja*T+ka*U+P*V)-(Z*da+_*ea+$*fa)*(ja*Q+ka*R+P*S);fa=(Z*da+_*ea+$*fa)*(ga*ja+ha*ka+ia*P)-(W*Z+X*_+Y*$)*(ja*T+ka*U+P*V);ka=(W*Z+X*_+Y*$)*(ja*Q+ka*R+P*S)-(Z*aa+_*ba+$*ca)*(ga*ja+ha*ka+ia*P);g[p+(q*3<<2)>>2]=K*(L*N+fa*w+ka*M);g[p+(q<<2<<2)>>2]=K*(L*r+fa*u+ka*v);if(!(a[d+716>>0]|0)){t=0;r=0.0}else{r=+g[d+708>>2]*+g[d+732>>2];t=r>0.0?1:2}n=a[d+737>>0]|0;q=(t|0)!=0;if(!(n&255|t))return;s=(c[e+24>>2]|0)*5|0;g[j+(s<<2)>>2]=la*oa;g[j+(s+1<<2)>>2]=ma*oa;g[j+(s+2<<2)>>2]=na*oa;g[i+(s<<2)>>2]=-(la*oa);g[i+(s+1<<2)>>2]=-(ma*oa);g[i+(s+2<<2)>>2]=-(na*oa);h=+g[d+688>>2];k=+g[d+692>>2];f=+eh(h-k,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)o=f+-6.2831854820251465;else o=f;else o=f+6.2831854820251465;f=+eh(h+k,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;j=o==f;p=p+(s<<2)|0;g[p>>2]=0.0;i=c[d+748>>2]|0;m=+g[((i&2|0)==0?e+4|0:d+760|0)>>2];if(!(n<<24>>24==0|q&j)){if(i&4|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+752>>2];k=+g[d+728>>2];l=+g[d+680>>2];h=o>f?1.0:0.0;do if(!(o>=f)){h=l/(m*+g[e>>2]);if(h<0.0)if(k>=o&o-h>k){f=(o-k)/h;break}else{f=k<o?0.0:1.0;break}if(h>0.0)if(k<=f&f-h<k){f=(f-k)/h;break}else{f=k>f?0.0:1.0;break}else f=0.0}else f=h;while(0);g[p>>2]=f*l*+g[d+732>>2]+ +g[p>>2];g[(c[e+36>>2]|0)+(s<<2)>>2]=-+g[d+684>>2];c[(c[e+40>>2]|0)+(s<<2)>>2]=c[d+684>>2]}if(!q)return;g[p>>2]=+g[p>>2]+r*m*+g[e>>2];if(i&1|0)c[(c[e+32>>2]|0)+(s<<2)>>2]=c[d+756>>2];do if(!j){j=(c[e+36>>2]|0)+(s<<2)|0;i=c[e+40>>2]|0;if((t|0)==1){g[j>>2]=0.0;g[i+(s<<2)>>2]=3402823466385288598117041.0e14;break}else{g[j>>2]=-3402823466385288598117041.0e14;g[i+(s<<2)>>2]=0.0;break}}else{g[(c[e+36>>2]|0)+(s<<2)>>2]=-3402823466385288598117041.0e14;g[(c[e+40>>2]|0)+(s<<2)>>2]=3402823466385288598117041.0e14}while(0);h=+g[d+704>>2];do if(h>0.0){f=+g[pa+328>>2]*la*oa+ +g[pa+332>>2]*ma*oa+ +g[pa+336>>2]*na*oa-(la*oa*+g[qa+328>>2]+ma*oa*+g[qa+332>>2]+na*oa*+g[qa+336>>2]);if((t|0)==1){if(!(f<0.0))break;if(!(+g[p>>2]<-(h*f)))break;g[p>>2]=-(h*f);break}else{if(!(f>0.0))break;if(!(+g[p>>2]>-(h*f)))break;g[p>>2]=-(h*f);break}}while(0);g[p>>2]=+g[d+700>>2]*+g[p>>2];return}function Ic(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=+k;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0;F=i;i=i+896|0;E=c[h+4>>2]|0;D=c[h+12>>2]|0;w=c[E+4>>2]|0;if((w|0)<20){c[F+712>>2]=3708;c[F+712+168>>2]=0;g[F+712+172>>2]=k;c[F+712+164>>2]=c[j+4>>2];g[F+352+308>>2]=9.999999747378752e-05;a[F+352+332>>0]=0;c[F+288>>2]=9120;c[F+64>>2]=9188;c[F+64+4>>2]=F+352;c[F+64+8>>2]=F+288;c[F+64+12>>2]=d;c[F+64+16>>2]=E;c[F+64+20>>2]=0;if((Xd(F+64|0,e,f,D,D,F+712|0)|0?(l=F+712+132|0,m=+g[l>>2],n=+g[F+712+136>>2],p=+g[F+712+140>>2],m*m+n*n+p*p>9.999999747378752e-05):0)?(t=+g[F+712+164>>2],t<+g[j+4>>2]):0){k=1.0/+O(+(m*m+n*n+p*p));g[l>>2]=m*k;g[F+712+136>>2]=n*k;g[F+712+140>>2]=p*k;c[F+16>>2]=c[h+8>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[l>>2];c[F+16+8+4>>2]=c[l+4>>2];c[F+16+8+8>>2]=c[l+8>>2];c[F+16+8+12>>2]=c[l+12>>2];c[F+16+24>>2]=c[F+712+148>>2];c[F+16+24+4>>2]=c[F+712+148+4>>2];c[F+16+24+8>>2]=c[F+712+148+8>>2];c[F+16+24+12>>2]=c[F+712+148+12>>2];g[F+16+40>>2]=t;+_b[c[(c[j>>2]|0)+12>>2]&15](j,F+16|0,1)}i=F;return}if((w+-21|0)>>>0>=9){if((w|0)!=31){i=F;return}li(15534);if((c[E+16>>2]|0)>0){l=0;do{u=c[E+24>>2]|0;m=+g[u+(l*80|0)>>2];p=+g[u+(l*80|0)+4>>2];s=+g[u+(l*80|0)+8>>2];n=+g[u+(l*80|0)+16>>2];q=+g[u+(l*80|0)+20>>2];v=+g[u+(l*80|0)+24>>2];o=+g[u+(l*80|0)+32>>2];r=+g[u+(l*80|0)+36>>2];y=+g[u+(l*80|0)+40>>2];N=+g[u+(l*80|0)+48>>2];M=+g[u+(l*80|0)+52>>2];C=+g[u+(l*80|0)+56>>2];u=c[u+(l*80|0)+64>>2]|0;L=+g[D>>2];K=+g[D+4>>2];J=+g[D+8>>2];I=+g[D+16>>2];H=+g[D+20>>2];G=+g[D+24>>2];t=+g[D+32>>2];x=+g[D+36>>2];z=+g[D+40>>2];A=N*L+M*K+C*J+ +g[D+48>>2];B=N*I+M*H+C*G+ +g[D+52>>2];C=N*t+M*x+C*z+ +g[D+56>>2];g[F+712>>2]=m*L+n*K+o*J;g[F+712+4>>2]=p*L+q*K+r*J;g[F+712+8>>2]=s*L+v*K+y*J;g[F+712+12>>2]=0.0;g[F+712+16>>2]=m*I+n*H+o*G;g[F+712+20>>2]=p*I+q*H+r*G;g[F+712+24>>2]=s*I+v*H+y*G;g[F+712+28>>2]=0.0;g[F+712+32>>2]=m*t+n*x+o*z;g[F+712+36>>2]=p*t+q*x+r*z;g[F+712+40>>2]=s*t+v*x+y*z;g[F+712+44>>2]=0.0;g[F+712+48>>2]=A;g[F+712+52>>2]=B;g[F+712+56>>2]=C;g[F+712+60>>2]=0.0;b[F+352+8>>1]=1;b[F+352+10>>1]=-1;c[F+352>>2]=5912;c[F+352+12>>2]=j;c[F+352+16>>2]=l;c[F+352+4>>2]=c[j+4>>2];w=c[h+8>>2]|0;c[F+288>>2]=h;c[F+288+4>>2]=u;c[F+288+8>>2]=w;c[F+288+12>>2]=F+712;c[F+288+16>>2]=-1;c[F+288+20>>2]=l;Ic(d,e,f,F+288|0,F+352|0,k);l=l+1|0}while((l|0)<(c[E+16>>2]|0))}l=c[2357]|0;E=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=E;if(E|0){i=F;return}do if(c[l+4>>2]|0){tb(F+712|0,0)|0;E=c[6434]|0;g[l+8>>2]=+g[l+8>>2]+ +(((c[F+712+4>>2]|0)-(c[E+4>>2]|0)+(((c[F+712>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[2357]|0;break}else{i=F;return}}while(0);c[2357]=c[l+20>>2];i=F;return}switch(w|0){case 21:{p=+g[D>>2];q=+g[D+16>>2];r=+g[D+32>>2];s=+g[D+4>>2];t=+g[D+20>>2];v=+g[D+36>>2];x=+g[D+8>>2];y=+g[D+24>>2];z=+g[D+40>>2];A=-+g[D+48>>2];B=-+g[D+52>>2];C=-+g[D+56>>2];o=+g[e+48>>2];n=+g[e+52>>2];m=+g[e+56>>2];g[F+352>>2]=p*A+q*B+r*C+(p*o+q*n+r*m);g[F+352+4>>2]=s*A+t*B+v*C+(s*o+t*n+v*m);g[F+352+8>>2]=x*A+y*B+z*C+(x*o+y*n+z*m);g[F+352+12>>2]=0.0;m=+g[f+48>>2];n=+g[f+52>>2];o=+g[f+56>>2];P=+g[f>>2];G=+g[f+16>>2];H=+g[f+32>>2];I=+g[f+4>>2];J=+g[f+20>>2];K=+g[f+36>>2];L=+g[f+8>>2];M=+g[f+24>>2];N=+g[f+40>>2];g[F+288>>2]=p*P+q*G+r*H;g[F+288+4>>2]=p*I+q*J+r*K;g[F+288+8>>2]=p*L+q*M+r*N;g[F+288+12>>2]=0.0;g[F+288+16>>2]=s*P+t*G+v*H;g[F+288+20>>2]=s*I+t*J+v*K;g[F+288+24>>2]=s*L+t*M+v*N;g[F+288+28>>2]=0.0;g[F+288+32>>2]=x*P+y*G+z*H;g[F+288+36>>2]=x*I+y*J+z*K;g[F+288+40>>2]=x*L+y*M+z*N;l=F+288+44|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;l=c[h+8>>2]|0;N=+Sb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+64>>2]=9048;c[F+64+4>>2]=d;c[F+64+8>>2]=c[e>>2];c[F+64+8+4>>2]=c[e+4>>2];c[F+64+8+8>>2]=c[e+8>>2];c[F+64+8+12>>2]=c[e+12>>2];c[F+64+24>>2]=c[e+16>>2];c[F+64+24+4>>2]=c[e+16+4>>2];c[F+64+24+8>>2]=c[e+16+8>>2];c[F+64+24+12>>2]=c[e+16+12>>2];c[F+64+40>>2]=c[e+32>>2];c[F+64+40+4>>2]=c[e+32+4>>2];c[F+64+40+8>>2]=c[e+32+8>>2];c[F+64+40+12>>2]=c[e+32+12>>2];c[F+64+56>>2]=c[e+48>>2];c[F+64+56+4>>2]=c[e+48+4>>2];c[F+64+56+8>>2]=c[e+48+8>>2];c[F+64+56+12>>2]=c[e+48+12>>2];c[F+64+72>>2]=c[f>>2];c[F+64+72+4>>2]=c[f+4>>2];c[F+64+72+8>>2]=c[f+8>>2];c[F+64+72+12>>2]=c[f+12>>2];c[F+64+88>>2]=c[f+16>>2];c[F+64+88+4>>2]=c[f+16+4>>2];c[F+64+88+8>>2]=c[f+16+8>>2];c[F+64+88+12>>2]=c[f+16+12>>2];c[F+64+104>>2]=c[f+32>>2];c[F+64+104+4>>2]=c[f+32+4>>2];c[F+64+104+8>>2]=c[f+32+8>>2];c[F+64+104+12>>2]=c[f+32+12>>2];c[F+64+120>>2]=c[f+48>>2];c[F+64+120+4>>2]=c[f+48+4>>2];c[F+64+120+8>>2]=c[f+48+8>>2];c[F+64+120+12>>2]=c[f+48+12>>2];c[F+64+136>>2]=c[D>>2];c[F+64+136+4>>2]=c[D+4>>2];c[F+64+136+8>>2]=c[D+8>>2];c[F+64+136+12>>2]=c[D+12>>2];c[F+64+152>>2]=c[D+16>>2];c[F+64+152+4>>2]=c[D+16+4>>2];c[F+64+152+8>>2]=c[D+16+8>>2];c[F+64+152+12>>2]=c[D+16+12>>2];c[F+64+168>>2]=c[D+32>>2];c[F+64+168+4>>2]=c[D+32+4>>2];c[F+64+168+8>>2]=c[D+32+8>>2];c[F+64+168+12>>2]=c[D+32+12>>2];c[F+64+184>>2]=c[D+48>>2];c[F+64+184+4>>2]=c[D+48+4>>2];c[F+64+184+8>>2]=c[D+48+8>>2];c[F+64+184+12>>2]=c[D+48+12>>2];g[F+64+204>>2]=N;c[F+64>>2]=5864;c[F+64+212>>2]=j;c[F+64+216>>2]=l;c[F+64+220>>2]=E;c[F+64+200>>2]=c[j+4>>2];g[F+64+208>>2]=k;mc[c[(c[d>>2]|0)+8>>2]&127](d,F+288|0,F+16|0,F);l=c[E+48>>2]|0;c[F+712>>2]=6904;c[F+712+4>>2]=l;c[F+712+8>>2]=F+64;l=c[E+52>>2]|0;if(!(a[l+60>>0]|0))Re(l,F+712|0,F+352|0,p*A+q*B+r*C+(p*m+q*n+r*o),s*A+t*B+v*C+(s*m+t*n+v*o),x*A+y*B+z*C+(x*m+y*n+z*o),F+16|0,F);else ze(l,F+712|0,F+352|0,p*A+q*B+r*C+(p*m+q*n+r*o),s*A+t*B+v*C+(s*m+t*n+v*o),x*A+y*B+z*C+(x*m+y*n+z*o),F+16|0,F,c[l+56>>2]|0);i=F;return}case 28:{c[F+712>>2]=3708;c[F+712+168>>2]=0;g[F+712+172>>2]=k;c[F+712+164>>2]=c[j+4>>2];c[F+352>>2]=9188;c[F+352+4>>2]=0;c[F+352+8>>2]=0;c[F+352+12>>2]=d;c[F+352+16>>2]=0;c[F+352+20>>2]=E;if((Xd(F+352|0,e,f,D,D,F+712|0)|0?(u=F+712+132|0,o=+g[u>>2],q=+g[F+712+136>>2],r=+g[F+712+140>>2],o*o+q*q+r*r>9.999999747378752e-05):0)?(s=+g[F+712+164>>2],s<+g[j+4>>2]):0){P=1.0/+O(+(o*o+q*q+r*r));g[u>>2]=o*P;g[F+712+136>>2]=q*P;g[F+712+140>>2]=r*P;c[F+288>>2]=c[h+8>>2];c[F+288+4>>2]=0;c[F+288+8>>2]=c[u>>2];c[F+288+8+4>>2]=c[u+4>>2];c[F+288+8+8>>2]=c[u+8>>2];c[F+288+8+12>>2]=c[u+12>>2];c[F+288+24>>2]=c[F+712+148>>2];c[F+288+24+4>>2]=c[F+712+148+4>>2];c[F+288+24+8>>2]=c[F+712+148+8>>2];c[F+288+24+12>>2]=c[F+712+148+12>>2];g[F+288+40>>2]=s;+_b[c[(c[j>>2]|0)+12>>2]&15](j,F+288|0,1)}i=F;return}default:{p=+g[D>>2];q=+g[D+16>>2];r=+g[D+32>>2];x=+g[D+4>>2];y=+g[D+20>>2];z=+g[D+36>>2];J=+g[D+8>>2];L=+g[D+24>>2];N=+g[D+40>>2];H=-+g[D+48>>2];G=-+g[D+52>>2];C=-+g[D+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];m=+g[e+56>>2];o=p*H+q*G+r*C+(p*A+q*B+r*m);n=x*H+y*G+z*C+(x*A+y*B+z*m);m=J*H+L*G+N*C+(J*A+L*B+N*m);B=+g[f+48>>2];A=+g[f+52>>2];v=+g[f+56>>2];s=p*H+q*G+r*C+(p*B+q*A+r*v);t=x*H+y*G+z*C+(x*B+y*A+z*v);v=J*H+L*G+N*C+(J*B+L*A+N*v);A=+g[f>>2];B=+g[f+16>>2];C=+g[f+32>>2];G=+g[f+4>>2];H=+g[f+20>>2];I=+g[f+36>>2];K=+g[f+8>>2];M=+g[f+24>>2];P=+g[f+40>>2];g[F+712>>2]=p*A+q*B+r*C;g[F+712+4>>2]=p*G+q*H+r*I;g[F+712+8>>2]=p*K+q*M+r*P;g[F+712+12>>2]=0.0;g[F+712+16>>2]=x*A+y*B+z*C;g[F+712+20>>2]=x*G+y*H+z*I;g[F+712+24>>2]=x*K+y*M+z*P;g[F+712+28>>2]=0.0;g[F+712+32>>2]=J*A+L*B+N*C;g[F+712+36>>2]=J*G+L*H+N*I;g[F+712+40>>2]=J*K+L*M+N*P;w=F+712+44|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;h=c[h+8>>2]|0;P=+Sb[c[(c[E>>2]|0)+48>>2]&15](E);c[F+352>>2]=9048;c[F+352+4>>2]=d;c[F+352+8>>2]=c[e>>2];c[F+352+8+4>>2]=c[e+4>>2];c[F+352+8+8>>2]=c[e+8>>2];c[F+352+8+12>>2]=c[e+12>>2];c[F+352+24>>2]=c[e+16>>2];c[F+352+24+4>>2]=c[e+16+4>>2];c[F+352+24+8>>2]=c[e+16+8>>2];c[F+352+24+12>>2]=c[e+16+12>>2];c[F+352+40>>2]=c[e+32>>2];c[F+352+40+4>>2]=c[e+32+4>>2];c[F+352+40+8>>2]=c[e+32+8>>2];c[F+352+40+12>>2]=c[e+32+12>>2];c[F+352+56>>2]=c[e+48>>2];c[F+352+56+4>>2]=c[e+48+4>>2];c[F+352+56+8>>2]=c[e+48+8>>2];c[F+352+56+12>>2]=c[e+48+12>>2];c[F+352+72>>2]=c[f>>2];c[F+352+72+4>>2]=c[f+4>>2];c[F+352+72+8>>2]=c[f+8>>2];c[F+352+72+12>>2]=c[f+12>>2];c[F+352+88>>2]=c[f+16>>2];c[F+352+88+4>>2]=c[f+16+4>>2];c[F+352+88+8>>2]=c[f+16+8>>2];c[F+352+88+12>>2]=c[f+16+12>>2];c[F+352+104>>2]=c[f+32>>2];c[F+352+104+4>>2]=c[f+32+4>>2];c[F+352+104+8>>2]=c[f+32+8>>2];c[F+352+104+12>>2]=c[f+32+12>>2];c[F+352+120>>2]=c[f+48>>2];c[F+352+120+4>>2]=c[f+48+4>>2];c[F+352+120+8>>2]=c[f+48+8>>2];c[F+352+120+12>>2]=c[f+48+12>>2];c[F+352+136>>2]=c[D>>2];c[F+352+136+4>>2]=c[D+4>>2];c[F+352+136+8>>2]=c[D+8>>2];c[F+352+136+12>>2]=c[D+12>>2];c[F+352+152>>2]=c[D+16>>2];c[F+352+152+4>>2]=c[D+16+4>>2];c[F+352+152+8>>2]=c[D+16+8>>2];c[F+352+152+12>>2]=c[D+16+12>>2];c[F+352+168>>2]=c[D+32>>2];c[F+352+168+4>>2]=c[D+32+4>>2];c[F+352+168+8>>2]=c[D+32+8>>2];c[F+352+168+12>>2]=c[D+32+12>>2];c[F+352+184>>2]=c[D+48>>2];c[F+352+184+4>>2]=c[D+48+4>>2];c[F+352+184+8>>2]=c[D+48+8>>2];c[F+352+184+12>>2]=c[D+48+12>>2];g[F+352+204>>2]=P;c[F+352>>2]=5888;c[F+352+212>>2]=j;c[F+352+216>>2]=h;c[F+352+220>>2]=E;c[F+352+200>>2]=c[j+4>>2];g[F+352+208>>2]=k;mc[c[(c[d>>2]|0)+8>>2]&127](d,F+712|0,F+288|0,F+64|0);g[F+16>>2]=o;g[F+16+4>>2]=n;g[F+16+8>>2]=m;g[F+16+12>>2]=0.0;if(s<o){g[F+16>>2]=s;p=s}else p=o;if(t<n){g[F+16+4>>2]=t;q=t}else q=n;if(v<m){g[F+16+8>>2]=v;r=v}else r=m;g[F>>2]=o;g[F+4>>2]=n;g[F+8>>2]=m;g[F+12>>2]=0.0;if(o<s){g[F>>2]=s;o=s}if(n<t){g[F+4>>2]=t;n=t}if(m<v){g[F+8>>2]=v;m=v}g[F+16>>2]=+g[F+288>>2]+p;g[F+16+4>>2]=+g[F+288+4>>2]+q;g[F+16+8>>2]=+g[F+288+8>>2]+r;g[F>>2]=+g[F+64>>2]+o;g[F+4>>2]=+g[F+64+4>>2]+n;g[F+8>>2]=+g[F+64+8>>2]+m;mc[c[(c[E>>2]|0)+64>>2]&127](E,F+352|0,F+16|0,F);i=F;return}}}function Jc(d,e,f){d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0;t=i;i=i+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){i=t;return}a[d+168>>0]=(Eb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;j=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=j;if(j>0.0?(k=+g[d+28>>2],j>k):0){g[d+16>>2]=k;j=k}if(j<0.0?(r=+N(+j),m=+N(+(+g[d+24>>2])),r>m):0){g[d+16>>2]=-m;j=-m}g[d+20>>2]=j*f;h=c[d+8>>2]|0;c[t>>2]=c[h+4>>2];c[t+4>>2]=c[h+4+4>>2];c[t+8>>2]=c[h+4+8>>2];c[t+12>>2]=c[h+4+12>>2];c[t+16>>2]=c[h+20>>2];c[t+16+4>>2]=c[h+20+4>>2];c[t+16+8>>2]=c[h+20+8>>2];c[t+16+12>>2]=c[h+20+12>>2];c[t+32>>2]=c[h+36>>2];c[t+32+4>>2]=c[h+36+4>>2];c[t+32+8>>2]=c[h+36+8>>2];c[t+32+12>>2]=c[h+36+12>>2];c[t+48>>2]=c[h+52>>2];c[t+48+4>>2]=c[h+52+4>>2];c[t+48+8>>2]=c[h+52+8>>2];c[t+48+12>>2]=c[h+52+12>>2];h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}m=+g[d+20>>2];m=+g[d+52>>2]+(m>0.0?m:0.0);q=+g[24504+(h<<4)+4>>2]*m+ +g[d+96>>2];r=m*+g[24504+(h<<4)+8>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[24504+(h<<4)>>2]*m;g[d+116>>2]=q;g[d+120>>2]=r;g[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;h=t+456+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;h=t+392+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}l=c[d+12>>2]|0;m=+Sb[c[(c[l>>2]|0)+48>>2]&15](l);m=m+ +g[d+56>>2];q=m*+g[24504+(h<<4)+4>>2]+ +g[d+96>>2];r=m*+g[24504+(h<<4)+8>>2]+ +g[d+100>>2];g[t+456+48>>2]=+g[24504+(h<<4)>>2]*m+ +g[d+92>>2];g[t+456+52>>2]=q;g[t+456+56>>2]=r;g[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}m=-+g[24504+(l<<4)>>2];q=-+g[24504+(l<<4)+4>>2];r=-+g[24504+(l<<4)+8>>2];g[t+288+4>>2]=1.0;b[t+288+8>>1]=1;b[t+288+10>>1]=-1;p=t+288+12|0;c[t+288+76>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[t+288>>2]=4936;c[t+288+80>>2]=h;g[t+288+84>>2]=m;g[t+288+88>>2]=q;g[t+288+92>>2]=r;g[t+288+96>>2]=0.0;g[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;p=c[(c[h+188>>2]|0)+4>>2]|0;b[t+288+8>>1]=p;b[t+288+10>>1]=p>>>16;if(!(a[d+170>>0]|0))Kd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else wd(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+g[e+56>>2]);if(+g[t+288+4>>2]<1.0){h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}do if(+g[t+288+44>>2]*+g[24504+(h<<4)>>2]+ +g[t+288+48>>2]*+g[24504+(h<<4)+4>>2]+ +g[t+288+52>>2]*+g[24504+(h<<4)+8>>2]>0.0){j=+g[t+288+4>>2];g[d+108>>2]=+g[d+52>>2]*j;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{g[d+92>>2]=(1.0-j)*+g[d+92>>2]+j*+g[d+112>>2];g[d+96>>2]=(1.0-j)*+g[d+96>>2]+j*+g[d+116>>2];g[d+100>>2]=(1.0-j)*+g[d+100>>2]+j*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){q=+g[d+172>>2];r=q>f?f:q;g[d+172>>2]=q-f;he(d,e,r*+g[d+60>>2],r*+g[d+64>>2],r*+g[d+68>>2])}else he(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];j=+g[d+16>>2];j=(j<0.0?-j:0.0)*f;if(j>0.0?(o=+g[d+24>>2],j>o):0){p=b[d+168>>1]|0;j=(p&255)<<24>>24!=0|(p&65535)<256?o:j}h=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}o=j+ +g[d+108>>2];q=+g[24504+(h<<4)>>2]*o;r=o*+g[24504+(h<<4)+4>>2];o=o*+g[24504+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-q;g[d+116>>2]=+g[d+116>>2]-r;g[d+120>>2]=+g[d+120>>2]-o;h=c[d+8>>2]|0;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}n=c[d+40>>2]|0;p=t+168+4|0;g[p>>2]=1.0;b[t+168+8>>1]=1;b[t+168+10>>1]=-1;u=t+168+12|0;c[t+168+76>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=4936;c[t+168+80>>2]=h;c[t+168+84>>2]=c[24504+(l<<4)>>2];c[t+168+84+4>>2]=c[24504+(l<<4)+4>>2];c[t+168+84+8>>2]=c[24504+(l<<4)+8>>2];c[t+168+84+12>>2]=c[24504+(l<<4)+12>>2];c[t+168+100>>2]=n;h=c[d+8>>2]|0;l=c[(c[h+188>>2]|0)+4>>2]|0;b[t+168+8>>1]=l;b[t+168+10>>1]=l>>>16;l=c[d+176>>2]|0;if((a[22560]|0)==0?Wa(22560)|0:0){c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}u=c[d+40>>2]|0;g[t+64+4>>2]=1.0;b[t+64+8>>1]=1;b[t+64+10>>1]=-1;n=t+64+12|0;c[t+64+76>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[t+64>>2]=4936;c[t+64+80>>2]=h;c[t+64+84>>2]=c[24504+(l<<4)>>2];c[t+64+84+4>>2]=c[24504+(l<<4)+4>>2];c[t+64+84+8>>2]=c[24504+(l<<4)+8>>2];c[t+64+84+12>>2]=c[24504+(l<<4)+12>>2];c[t+64+100>>2]=u;h=c[(c[(c[d+8>>2]|0)+188>>2]|0)+4>>2]|0;b[t+64+8>>1]=h;b[t+64+10>>1]=h>>>16;j=+g[d+112>>2];k=+g[d+116>>2];m=+g[d+120>>2];h=0;while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+288+44+4>>2]=0;c[t+288+44+8>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];g[t+288+48>>2]=j-q;g[t+288+52>>2]=k-r;g[t+288+56>>2]=m-o;g[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){Kd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))Kd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}else{wd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))wd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+g[e+56>>2])}k=+g[d+16>>2];k=(k<0.0?-k:0.0)*f;n=(a[d+182>>0]|0)==0;if(!n?+g[p>>2]<1.0:0)l=1;else l=+g[t+64+4>>2]<1.0;if(!(k>0.0))break;j=+g[d+52>>2];if(h|(!(k<j)|l^1))break;u=b[d+168>>1]|0;if(!((u&255)<<24>>24!=0|(u&65535)<256)){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];h=c[d+176>>2]|0;do if(!(a[22560]|0)){if(!(Wa(22560)|0))break;c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}while(0);j=j+ +g[d+108>>2];k=j*+g[24504+(h<<4)+4>>2];m=j*+g[24504+(h<<4)+8>>2];j=+g[d+112>>2]-+g[24504+(h<<4)>>2]*j;g[d+112>>2]=j;k=+g[d+116>>2]-k;g[d+116>>2]=k;m=+g[d+120>>2]-m;g[d+120>>2]=m;h=1}m=+g[p>>2];if(h|m<1.0){j=+g[d+96>>2];k=(j-+g[t+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){g[d+92>>2]=(1.0-k)*+g[d+92>>2]+k*+g[d+112>>2];g[d+96>>2]=(1.0-k)*j+k*+g[d+116>>2];g[d+100>>2]=(1.0-k)*+g[d+100>>2]+k*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*j+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-m)*+g[d+92>>2]+m*+g[d+112>>2];g[d+96>>2]=(1.0-m)*j+m*+g[d+116>>2];g[d+100>>2]=(1.0-m)*+g[d+100>>2]+m*+g[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;g[d+16>>2]=0.0;g[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;if((!n?(s=+g[d+24>>2],k>s):0)?(u=b[d+168>>1]|0,(u&255)<<24>>24!=0|(u&65535)<256):0){g[d+112>>2]=q+ +g[d+112>>2];g[d+116>>2]=r+ +g[d+116>>2];g[d+120>>2]=o+ +g[d+120>>2];h=c[d+176>>2]|0;do if(!(a[22560]|0)){if(!(Wa(22560)|0))break;c[6126]=1065353216;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;c[6131]=1065353216;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=1065353216;g[6137]=0.0;_a(22560)}while(0);r=s+ +g[d+108>>2];f=r*+g[24504+(h<<4)+4>>2];s=r*+g[24504+(h<<4)+8>>2];g[d+112>>2]=+g[d+112>>2]-+g[24504+(h<<4)>>2]*r;g[d+116>>2]=+g[d+116>>2]-f;g[d+120>>2]=+g[d+120>>2]-s}c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];i=t;return}function Kc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;z=i;i=i+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;g[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;g[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=3180;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;g[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;g[b+316>>2]=.20000000298023224;g[b+320>>2]=0.0;g[b+324>>2]=1.0;g[b+328>>2]=.10000000149011612;g[b+332>>2]=1.0;g[b+336>>2]=.699999988079071;g[b+340>>2]=.10000000149011612;g[b+344>>2]=1.0;g[b+348>>2]=.5;g[b+352>>2]=.5;g[b+356>>2]=.5;g[b+360>>2]=.5;g[b+364>>2]=1.0;g[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;g[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;g[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;g[b+628>>2]=0.0;c[b+680>>2]=0;g[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d)if(a[b+448>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);j=c[b+416>>2]|0;d=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((j|0)==(d|0)){s=14;break}else break}else{c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;s=14;break}else{a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=0;s=14}while(0);if((s|0)==14){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=22}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=22}if((s|0)==22){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=1;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=35}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=35}if((s|0)==35){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=2;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=48}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=48}if((s|0)==48){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o;j=d;d=o}else j=d}c[(c[b+424>>2]|0)+(j<<2)>>2]=3;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){o=d|0?d<<1:1;if((d|0)<(o|0)){if(!o)m=0;else{c[6435]=(c[6435]|0)+1;d=yc((o<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}m=d;d=c[b+416>>2]|0}l=c[b+424>>2]|0;if((d|0)<=0){if(l)s=61}else{j=0;do{c[m+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));s=61}if((s|0)==61){if(a[b+428>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=m;c[b+420>>2]=o}}else d=j;c[(c[b+424>>2]|0)+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[6435]=(c[6435]|0)+1;d=yc(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=3288;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;g[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;s=b+1192|0;t=s+36|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));g[b+1228>>2]=1.0;x=ph(b)|0;g[x+4>>2]=1.0;g[x+8>>2]=1.0;g[x+12>>2]=1.0;c[x+16>>2]=1;s=c[b+192>>2]|0;y=+Sb[c[(c[s>>2]|0)+48>>2]&15](s);s=z;t=s+100|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));o=c[b+712>>2]|0;if((o|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){d=0;j=o}else{c[6435]=(c[6435]|0)+1;d=yc((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}j=c[b+712>>2]|0}if((j|0)>0){l=0;do{s=d+(l*104|0)|0;m=(c[b+720>>2]|0)+(l*104|0)|0;t=s+104|0;do{c[s>>2]=c[m>>2];s=s+4|0;m=m+4|0}while((s|0)<(t|0));l=l+1|0}while((l|0)!=(j|0))}j=c[b+720>>2]|0;if(j|0){if(a[b+724>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=d;c[b+716>>2]=e;d=o}else d=o;do{s=c[b+720>>2]|0;c[s+(d*104|0)>>2]=0;s=s+(d*104|0)+4|0;m=z;t=s+100|0;do{c[s>>2]=c[m>>2];s=s+4|0;m=m+4|0}while((s|0)<(t|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){l=f;w=0;while(1){u=c[b+720>>2]|0;v=u+(w*104|0)|0;s=v;t=s+104|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0));j=u+(w*104|0)+8|0;if(!l){f=0;d=0;m=0;o=0;n=0.0}else{f=l+16|0;d=c[l>>2]|0;m=c[l+4>>2]|0;o=c[l+8>>2]|0;n=+g[l+12>>2]}c[j>>2]=d;c[u+(w*104|0)+12>>2]=m;c[u+(w*104|0)+16>>2]=o;g[u+(w*104|0)+20>>2]=n;t=u+(w*104|0)+24|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2];r=(c[k>>2]=d,+g[k>>2]);q=(c[k>>2]=m,+g[k>>2]);p=(c[k>>2]=o,+g[k>>2]);if(!h){j=0;n=1.0}else{j=h+4|0;n=+g[h>>2]}g[u+(w*104|0)+88>>2]=n>0.0?1.0/n:0.0;d=c[b+932>>2]|0;if(!d){c[6435]=(c[6435]|0)+1;d=yc(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}s=d;t=s+44|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(t|0))}else c[b+932>>2]=0;c[d+32>>2]=0;c[d+36>>2]=v;c[d+40>>2]=0;g[d>>2]=r-y;g[d+4>>2]=q-y;g[d+8>>2]=p-y;g[d+12>>2]=0.0;g[d+16>>2]=y+r;g[d+20>>2]=y+q;g[d+24>>2]=y+p;g[d+28>>2]=0.0;lf(b+928|0,c[b+928>>2]|0,d);c[b+940>>2]=(c[b+940>>2]|0)+1;c[u+(w*104|0)+96>>2]=d;c[u+(w*104|0)+4>>2]=x;w=w+1|0;if((w|0)==(e|0))break;else{h=j;l=f}}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;i=z;return}e=c[b+192>>2]|0;q=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);y=+g[d+4>>2]-q;r=+g[d+8>>2]-q;g[b+892>>2]=+g[d>>2]-q;g[b+896>>2]=y;g[b+900>>2]=r;g[b+904>>2]=0.0;r=q+ +g[d+20>>2];y=q+ +g[d+24>>2];g[b+908>>2]=q+ +g[d+16>>2];g[b+912>>2]=r;g[b+916>>2]=y;g[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){i=z;return}e=c[b+684>>2]|0;x=c[e+32>>2]|0;yb[c[(c[x>>2]|0)+16>>2]&31](x,d,b+892|0,b+908|0,c[e+36>>2]|0);i=z;return}function Lc(d,f,h){d=d|0;f=f|0;h=h|0;var j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=i;i=i+112|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){p=(c[d+96>>2]|0)+(H<<6)|0;q=(c[d+76>>2]|0)+(f<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{J=(c[d+136>>2]|0)+(H<<4)|0;I=(c[d+116>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;i=K;return}if((h|0)>(f|0)){m=(a[d+60>>0]|0)==0;if(m){j=c[d+76>>2]|0;k=f;n=0.0;o=0.0;l=0.0;do{n=n+(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5;l=l+(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5;o=o+(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5;k=k+1|0}while((k|0)!=(h|0))}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];k=f;n=0.0;o=0.0;l=0.0;do{n=n+(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5;l=l+(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5;o=o+(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5;k=k+1|0}while((k|0)!=(h|0))}C=1.0/+(h-f|0);E=C*n;D=C*l;C=C*o;if(m){j=c[d+76>>2]|0;k=f;o=0.0;n=0.0;l=0.0;do{x=(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5-E;y=(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5-D;z=(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5-C;o=o+x*x;l=l+y*y;n=n+z*z;k=k+1|0}while((k|0)!=(h|0));s=+(h-f|0)}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];k=f;o=0.0;n=0.0;l=0.0;do{N=(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5-E;M=(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5-C;o=o+N*N;l=l+M*M;n=n+L*L;k=k+1|0}while((k|0)!=(h|0));s=+(h-f|0)}}else{s=+(h-f|0);o=0.0;n=0.0;l=0.0}N=1.0/(s+-1.0);M=N*o;L=N*l;N=N*n;w=M<L?(L<N?2:1):M<N?2:0;c[K+16>>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;o=0.0;n=0.0;l=0.0;k=f;do{o=(+g[j+(k<<6)+16>>2]+ +g[j+(k<<6)>>2])*.5+o;n=(+g[j+(k<<6)+20>>2]+ +g[j+(k<<6)+4>>2])*.5+n;l=(+g[j+(k<<6)+24>>2]+ +g[j+(k<<6)+8>>2])*.5+l;k=k+1|0}while((k|0)!=(h|0))}else{j=c[d+116>>2]|0;s=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];o=0.0;n=0.0;l=0.0;k=f;do{o=(+(e[j+(k<<4)+6>>1]|0)/s+x+(+(e[j+(k<<4)>>1]|0)/s+x))*.5+o;n=(+(e[j+(k<<4)+8>>1]|0)/t+y+(+(e[j+(k<<4)+2>>1]|0)/t+y))*.5+n;l=(+(e[j+(k<<4)+10>>1]|0)/u+z+(+(e[j+(k<<4)+4>>1]|0)/u+z))*.5+l;k=k+1|0}while((k|0)!=(h|0))}g[K+16>>2]=o;g[K+16+4>>2]=n;g[K+16+8>>2]=l;j=K+16|0}else{j=K+16|0;o=0.0;n=0.0;l=0.0}g[j>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*n;g[K+16+8>>2]=1.0/+(h-f|0)*l;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){v=f;j=f;do{k=(a[d+60>>0]|0)==0;if(k){G=c[d+76>>2]|0;l=+g[G+(v<<6)>>2];n=+g[G+(v<<6)+16>>2];o=+g[G+(v<<6)+4>>2];s=+g[G+(v<<6)+20>>2];t=+g[G+(v<<6)+8>>2];u=+g[G+(v<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];n=+g[d+4>>2];s=+g[d+8>>2];u=+g[d+12>>2];l=+(e[G+(v<<4)>>1]|0)/o+n;n=+(e[G+(v<<4)+6>>1]|0)/o+n;o=+(e[G+(v<<4)+2>>1]|0)/t+s;s=+(e[G+(v<<4)+8>>1]|0)/t+s;t=+(e[G+(v<<4)+4>>1]|0)/N+u;u=+(e[G+(v<<4)+10>>1]|0)/N+u}g[K>>2]=(n+l)*.5;g[K+4>>2]=(s+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(k){k=c[d+76>>2]|0;m=k+(v<<6)|0;p=K+48|0;q=m;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=m;q=k+(j<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=(c[d+76>>2]|0)+(j<<6)|0;q=K+48|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+48>>2]=c[G>>2];c[K+48+4>>2]=c[G+4>>2];c[K+48+8>>2]=c[G+8>>2];c[K+48+12>>2]=c[G+12>>2];F=F+(j<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(j<<4)|0;c[G>>2]=c[K+48>>2];c[G+4>>2]=c[K+48+4>>2];c[G+8>>2]=c[K+48+8>>2];c[G+12>>2]=c[K+48+12>>2]}j=j+1|0}v=v+1|0}while((v|0)!=(h|0))}else j=f;if(!((j|0)>(((h-f|0)/3|0)+f|0)?(j|0)<(h+-1-((h-f|0)/3|0)|0):0))j=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65534;b[F+(G<<4)+2>>1]=~~M&65534;b[F+(G<<4)+4>>1]=~~N&65534}k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(k<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(k<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(k<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(k<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;B=f;do{if(!(A<<24>>24)){k=c[d+76>>2]|0;l=+g[k+(B<<6)>>2];n=+g[k+(B<<6)+4>>2];o=+g[k+(B<<6)+8>>2];s=+g[k+(B<<6)+12>>2];t=+g[k+(B<<6)+16>>2];u=+g[k+(B<<6)+20>>2];x=+g[k+(B<<6)+24>>2];y=+g[k+(B<<6)+28>>2];k=c[d+96>>2]|0;if(l<+g[k+(F<<6)>>2])g[k+(F<<6)>>2]=l;if(n<+g[k+(F<<6)+4>>2])g[k+(F<<6)+4>>2]=n;if(o<+g[k+(F<<6)+8>>2])g[k+(F<<6)+8>>2]=o;if(s<+g[k+(F<<6)+12>>2])g[k+(F<<6)+12>>2]=s;if(+g[k+(F<<6)+16>>2]<t)g[k+(F<<6)+16>>2]=t;if(+g[k+(F<<6)+20>>2]<u)g[k+(F<<6)+20>>2]=u;if(+g[k+(F<<6)+24>>2]<x)g[k+(F<<6)+24>>2]=x;if(+g[k+(F<<6)+28>>2]<y)g[k+(F<<6)+28>>2]=y}else{q=c[d+116>>2]|0;s=+g[d+36>>2];E=+g[d+40>>2];y=+g[d+44>>2];t=+g[d+4>>2];L=+g[d+8>>2];z=+g[d+12>>2];u=+g[d+4>>2];M=+g[d+8>>2];C=+g[d+12>>2];x=+g[d+36>>2];N=+g[d+40>>2];D=+g[d+44>>2];r=~~((+(e[q+(B<<4)>>1]|0)/s+t-u)*x)&65534;k=~~((+(e[q+(B<<4)+4>>1]|0)/y+z-C)*D)&65534;p=~~((+(e[q+(B<<4)+2>>1]|0)/E+L-M)*N)&65534;v=(~~((+(e[q+(B<<4)+6>>1]|0)/s+t-u)*x+1.0)&65535|1)&65535;m=(~~((+(e[q+(B<<4)+10>>1]|0)/y+z-C)*D+1.0)&65535|1)&65535;q=(~~((+(e[q+(B<<4)+8>>1]|0)/E+L-M)*N+1.0)&65535|1)&65535;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(r&65535))b[w+(F<<4)>>1]=r;if((e[w+(F<<4)+6>>1]|0)<(v&65535))b[w+(F<<4)+6>>1]=v;if((e[w+(F<<4)+2>>1]|0)>(p&65535))b[w+(F<<4)+2>>1]=p;if((e[w+(F<<4)+8>>1]|0)<(q&65535))b[w+(F<<4)+8>>1]=q;if((e[w+(F<<4)+4>>1]|0)>(k&65535))b[w+(F<<4)+4>>1]=k;if((e[w+(F<<4)+10>>1]|0)<(m&65535))b[w+(F<<4)+10>>1]=m}B=B+1|0}while((B|0)!=(h|0))}c[d+56>>2]=F+1;Lc(d,f,j);A=c[d+56>>2]|0;Lc(d,j,h);w=(c[d+56>>2]|0)-H|0;j=a[d+60>>0]|0;if(j<<24>>24!=0&(w<<4|0)>2048){r=c[d+136>>2]|0;p=c[r+(F+1<<4)+12>>2]|0;p=(p|0)>-1?1:0-p|0;v=c[r+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((p<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=q|0?q<<1:1,(q|0)<(I|0)):0){if(!I){j=0;k=q}else{c[6435]=(c[6435]|0)+1;j=yc(I<<5|19)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[d+152>>2]|0}if((k|0)>0){m=0;do{h=j+(m<<5)|0;H=(c[d+160>>2]|0)+(m<<5)|0;c[h>>2]=c[H>>2];c[h+4>>2]=c[H+4>>2];c[h+8>>2]=c[H+8>>2];c[h+12>>2]=c[H+12>>2];c[h+16>>2]=c[H+16>>2];c[h+20>>2]=c[H+20>>2];c[h+24>>2]=c[H+24>>2];c[h+28>>2]=c[H+28>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[d+160>>2]|0;if(k|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=I;j=c[d+152>>2]|0}else j=q;c[d+152>>2]=j+1;I=(c[d+160>>2]|0)+(q<<5)|0;c[I>>2]=c[K+48>>2];c[I+4>>2]=c[K+48+4>>2];c[I+8>>2]=c[K+48+8>>2];c[I+12>>2]=c[K+48+12>>2];c[I+16>>2]=c[K+48+16>>2];c[I+20>>2]=c[K+48+20>>2];c[I+24>>2]=c[K+48+24>>2];c[I+28>>2]=c[K+48+28>>2];I=c[d+160>>2]|0;b[I+(q<<5)>>1]=b[r+(F+1<<4)>>1]|0;b[I+(q<<5)+2>>1]=b[r+(F+1<<4)+2>>1]|0;b[I+(q<<5)+4>>1]=b[r+(F+1<<4)+4>>1]|0;b[I+(q<<5)+6>>1]=b[r+(F+1<<4)+6>>1]|0;b[I+(q<<5)+8>>1]=b[r+(F+1<<4)+8>>1]|0;b[I+(q<<5)+10>>1]=b[r+(F+1<<4)+10>>1]|0;c[I+(q<<5)+12>>2]=F+1;c[I+(q<<5)+16>>2]=p}if((v<<4|0)<2049){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(J=p|0?p<<1:1,(p|0)<(J|0)):0){if(!J){j=0;k=p}else{c[6435]=(c[6435]|0)+1;j=yc(J<<5|19)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=c[d+152>>2]|0}if((k|0)>0){m=0;do{I=j+(m<<5)|0;h=(c[d+160>>2]|0)+(m<<5)|0;c[I>>2]=c[h>>2];c[I+4>>2]=c[h+4>>2];c[I+8>>2]=c[h+8>>2];c[I+12>>2]=c[h+12>>2];c[I+16>>2]=c[h+16>>2];c[I+20>>2]=c[h+20>>2];c[I+24>>2]=c[h+24>>2];c[I+28>>2]=c[h+28>>2];m=m+1|0}while((m|0)!=(k|0))}k=c[d+160>>2]|0;if(k|0){if(a[d+164>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=J;j=c[d+152>>2]|0}else j=p;c[d+152>>2]=j+1;J=(c[d+160>>2]|0)+(p<<5)|0;c[J>>2]=c[K+16>>2];c[J+4>>2]=c[K+16+4>>2];c[J+8>>2]=c[K+16+8>>2];c[J+12>>2]=c[K+16+12>>2];c[J+16>>2]=c[K+16+16>>2];c[J+20>>2]=c[K+16+20>>2];c[J+24>>2]=c[K+16+24>>2];c[J+28>>2]=c[K+16+28>>2];J=c[d+160>>2]|0;b[J+(p<<5)>>1]=b[r+(A<<4)>>1]|0;b[J+(p<<5)+2>>1]=b[r+(A<<4)+2>>1]|0;b[J+(p<<5)+4>>1]=b[r+(A<<4)+4>>1]|0;b[J+(p<<5)+6>>1]=b[r+(A<<4)+6>>1]|0;b[J+(p<<5)+8>>1]=b[r+(A<<4)+8>>1]|0;b[J+(p<<5)+10>>1]=b[r+(A<<4)+10>>1]|0;c[J+(p<<5)+12>>2]=A;c[J+(p<<5)+16>>2]=v}c[d+168>>2]=c[d+152>>2];j=a[d+60>>0]|0}if(!(j<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;i=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;i=K;return}}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0;u=i;i=i+368|0;f=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;kc[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+16>>2]|0;if((f|0)<=0){i=u;return}do{t=f;f=f+-1|0;s=c[d+24>>2]|0;J=+g[s+(f*80|0)>>2];G=+g[s+(f*80|0)+4>>2];D=+g[s+(f*80|0)+8>>2];I=+g[s+(f*80|0)+16>>2];F=+g[s+(f*80|0)+20>>2];B=+g[s+(f*80|0)+24>>2];H=+g[s+(f*80|0)+32>>2];E=+g[s+(f*80|0)+36>>2];z=+g[s+(f*80|0)+40>>2];R=+g[s+(f*80|0)+48>>2];Q=+g[s+(f*80|0)+52>>2];v=+g[s+(f*80|0)+56>>2];s=c[s+(f*80|0)+64>>2]|0;r=c[(c[a>>2]|0)+28>>2]|0;P=+g[b>>2];O=+g[b+4>>2];N=+g[b+8>>2];M=+g[b+16>>2];L=+g[b+20>>2];K=+g[b+24>>2];C=+g[b+32>>2];A=+g[b+36>>2];y=+g[b+40>>2];x=R*P+Q*O+v*N+ +g[b+48>>2];w=R*M+Q*L+v*K+ +g[b+52>>2];v=R*C+Q*A+v*y+ +g[b+56>>2];g[u+288>>2]=J*P+I*O+H*N;g[u+288+4>>2]=G*P+F*O+E*N;g[u+288+8>>2]=D*P+B*O+z*N;g[u+288+12>>2]=0.0;g[u+288+16>>2]=J*M+I*L+H*K;g[u+288+20>>2]=G*M+F*L+E*K;g[u+288+24>>2]=D*M+B*L+z*K;g[u+288+28>>2]=0.0;g[u+288+32>>2]=J*C+I*A+H*y;g[u+288+36>>2]=G*C+F*A+E*y;g[u+288+40>>2]=D*C+B*A+z*y;g[u+288+44>>2]=0.0;g[u+288+48>>2]=x;g[u+288+52>>2]=w;g[u+288+56>>2]=v;g[u+288+60>>2]=0.0;mc[r&127](a,u+288|0,s,e)}while((t|0)>1);i=u;return}case 0:{c[u+352>>2]=c[d+28>>2];c[u+352+4>>2]=c[d+28+4>>2];c[u+352+8>>2]=c[d+28+8>>2];c[u+352+12>>2]=c[d+28+12>>2];P=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);Q=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);P=P+ +g[u+352>>2];g[u+352>>2]=P;Q=Q+ +g[u+352+4>>2];g[u+352+4>>2]=Q;R=R+ +g[u+352+8>>2];g[u+352+8>>2]=R;a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;d=c[(c[a>>2]|0)+72>>2]|0;g[u+272>>2]=-P;g[u+272+4>>2]=-Q;g[u+272+8>>2]=-R;g[u+272+12>>2]=0.0;yb[d&31](a,u+272|0,u+352|0,b,e);i=u;return}case 8:{R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Hb[c[(c[a>>2]|0)+16>>2]&0](a,R,b,e);i=u;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){i=u;return}do{t=f;f=f+-1|0;s=c[d+100>>2]|0;D=+g[s+(f<<4)>>2];E=+g[s+(f<<4)+4>>2];Q=+g[s+(f<<4)+8>>2];s=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[s>>2]|0)+16>>2]|0;R=+g[(c[d+120>>2]|0)+(f<<2)>>2];G=+g[b>>2];H=+g[b+4>>2];F=+g[b+8>>2];J=+g[b+16>>2];K=+g[b+20>>2];I=+g[b+24>>2];M=+g[b+32>>2];N=+g[b+36>>2];L=+g[b+40>>2];O=D*G+E*H+Q*F+ +g[b+48>>2];P=D*J+E*K+Q*I+ +g[b+52>>2];Q=D*M+E*N+Q*L+ +g[b+56>>2];g[u+192>>2]=G+H*0.0+F*0.0;g[u+192+4>>2]=G*0.0+H+F*0.0;g[u+192+8>>2]=F+(G*0.0+H*0.0);g[u+192+12>>2]=0.0;g[u+192+16>>2]=J+K*0.0+I*0.0;g[u+192+20>>2]=J*0.0+K+I*0.0;g[u+192+24>>2]=I+(J*0.0+K*0.0);g[u+192+28>>2]=0.0;g[u+192+32>>2]=M+N*0.0+L*0.0;g[u+192+36>>2]=M*0.0+N+L*0.0;g[u+192+40>>2]=L+(M*0.0+N*0.0);g[u+192+44>>2]=0.0;g[u+192+48>>2]=O;g[u+192+52>>2]=P;g[u+192+56>>2]=Q;g[u+192+60>>2]=0.0;Hb[r&0](s,R,u+192|0,e)}while((t|0)>1);i=u;return}case 10:{t=c[d+52>>2]|0;Q=+g[d+28+(((t+2|0)%3|0)<<2)>>2];R=+g[d+28+(t<<2)>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+76>>2]&0](a,Q,R,t,b,e);i=u;return}case 11:{Q=+g[d+56>>2];R=+g[d+60>>2];d=c[d+68>>2]|0;a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+84>>2]&0](a,Q,R,d,b,e);i=u;return}case 13:{t=c[d+52>>2]|0;Q=+Sb[c[(c[d>>2]|0)+92>>2]&15](d);c[u+80>>2]=c[d+28>>2];c[u+80+4>>2]=c[d+28+4>>2];c[u+80+8>>2]=c[d+28+8>>2];c[u+80+12>>2]=c[d+28+12>>2];O=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);P=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);R=+Sb[c[(c[d>>2]|0)+48>>2]&15](d);g[u+80>>2]=O+ +g[u+80>>2];g[u+80+4>>2]=P+ +g[u+80+4>>2];g[u+80+8>>2]=R+ +g[u+80+8>>2];R=+g[u+80+(t<<2)>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Gb[c[(c[a>>2]|0)+80>>2]&0](a,Q,R,t,b,e);i=u;return}case 28:{R=+g[d+64>>2];a=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Vb[c[(c[a>>2]|0)+88>>2]&0](a,d+48|0,R,b,e);i=u;return}default:{a:do if((f|0)<7){q=c[d+52>>2]|0;if(!q){if((Eb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){mc[c[(c[d>>2]|0)+104>>2]&127](d,f,u+352|0,u+256|0);P=+g[u+352>>2];D=+g[b>>2];N=+g[u+352+4>>2];E=+g[b+4>>2];L=+g[u+352+8>>2];F=+g[b+8>>2];H=+g[b+16>>2];I=+g[b+20>>2];J=+g[b+24>>2];M=+g[b+32>>2];O=+g[b+36>>2];Q=+g[b+40>>2];G=+g[b+48>>2];K=+g[b+52>>2];R=+g[b+56>>2];g[u+96>>2]=P*D+N*E+L*F+G;g[u+96+4>>2]=P*H+N*I+L*J+K;g[u+96+8>>2]=P*M+N*O+L*Q+R;g[u+96+12>>2]=0.0;L=+g[u+256>>2];N=+g[u+256+4>>2];P=+g[u+256+8>>2];g[u+64>>2]=L*D+N*E+P*F+G;g[u+64+4>>2]=L*H+N*I+P*J+K;g[u+64+8>>2]=L*M+N*O+P*Q+R;g[u+64+12>>2]=0.0;t=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;mc[c[(c[t>>2]|0)+8>>2]&127](t,u+96|0,u+64|0,e);f=f+1|0;if((f|0)>=(Eb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[q+28>>2]|0)>0){s=0;do{f=c[q+36>>2]|0;r=c[f+(s*36|0)+4>>2]|0;b:do if((r|0)!=0?(t=c[f+(s*36|0)+12>>2]|0,(r|0)>0):0){m=t;j=0;h=0;f=0;o=c[t+(r+-1<<2)>>2]|0;l=0;while(1){p=c[m+(l<<2)>>2]|0;n=c[q+16>>2]|0;j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[n+(p<<4)>>2],c[k>>2]|0);f=(g[k>>2]=(c[k>>2]=f,+g[k>>2])+ +g[n+(p<<4)+4>>2],c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+ +g[n+(p<<4)+8>>2],c[k>>2]|0);n=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;m=c[(c[n>>2]|0)+8>>2]|0;S=c[q+16>>2]|0;P=+g[S+(o<<4)>>2];D=+g[b>>2];N=+g[S+(o<<4)+4>>2];E=+g[b+4>>2];L=+g[S+(o<<4)+8>>2];F=+g[b+8>>2];H=+g[b+16>>2];I=+g[b+20>>2];J=+g[b+24>>2];M=+g[b+32>>2];O=+g[b+36>>2];Q=+g[b+40>>2];G=+g[b+48>>2];K=+g[b+52>>2];R=+g[b+56>>2];g[u+48>>2]=P*D+N*E+L*F+G;g[u+48+4>>2]=P*H+N*I+L*J+K;g[u+48+8>>2]=P*M+N*O+L*Q+R;g[u+48+12>>2]=0.0;L=+g[S+(p<<4)>>2];N=+g[S+(p<<4)+4>>2];P=+g[S+(p<<4)+8>>2];g[u+32>>2]=L*D+N*E+P*F+G;g[u+32+4>>2]=L*H+N*I+P*J+K;g[u+32+8>>2]=L*M+N*O+P*Q+R;g[u+32+12>>2]=0.0;mc[m&127](n,u+48|0,u+32|0,e);n=l+1|0;l=c[q+36>>2]|0;if((n|0)>=(c[l+(s*36|0)+4>>2]|0))break b;m=c[l+(s*36|0)+12>>2]|0;o=p;l=n}}else{j=0;h=0;f=0}while(0);S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((Eb[c[(c[S>>2]|0)+48>>2]&127](S)|0)&16384|0){O=1.0/+(r|0)*(c[k>>2]=h,+g[k>>2]);L=1.0/+(r|0)*(c[k>>2]=f,+g[k>>2]);I=1.0/+(r|0)*(c[k>>2]=j,+g[k>>2]);c[u+352>>2]=1065353216;c[u+352+4>>2]=1065353216;c[u+352+8>>2]=0;g[u+352+12>>2]=0.0;S=c[q+36>>2]|0;J=+g[S+(s*36|0)+20>>2];M=+g[S+(s*36|0)+24>>2];P=+g[S+(s*36|0)+28>>2];S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[S>>2]|0)+8>>2]|0;A=+g[b>>2];B=+g[b+4>>2];C=+g[b+8>>2];E=+g[b+16>>2];F=+g[b+20>>2];G=+g[b+24>>2];K=+g[b+32>>2];N=+g[b+36>>2];Q=+g[b+40>>2];D=+g[b+48>>2];H=+g[b+52>>2];R=+g[b+56>>2];g[u+16>>2]=I*A+L*B+O*C+D;g[u+16+4>>2]=I*E+L*F+O*G+H;g[u+16+8>>2]=I*K+L*N+O*Q+R;g[u+16+12>>2]=0.0;g[u>>2]=(I+J)*A+(L+M)*B+(O+P)*C+D;g[u+4>>2]=(I+J)*E+(L+M)*F+(O+P)*G+H;g[u+8>>2]=(I+J)*K+(L+M)*N+(O+P)*Q+R;g[u+12>>2]=0.0;mc[r&127](S,u+16|0,u,u+352|0)}s=s+1|0}while((s|0)<(c[q+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[u+352>>2]=1566444395;c[u+352+4>>2]=1566444395;c[u+352+8>>2]=1566444395;g[u+352+12>>2]=0.0;c[u+256>>2]=-581039253;c[u+256+4>>2]=-581039253;c[u+256+8>>2]=-581039253;g[u+256+12>>2]=0.0;f=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+96>>2]=5692;c[u+96+4>>2]=5716;c[u+96+8>>2]=f;c[u+96+12>>2]=c[e>>2];c[u+96+12+4>>2]=c[e+4>>2];c[u+96+12+8>>2]=c[e+8>>2];c[u+96+12+12>>2]=c[e+12>>2];c[u+96+28>>2]=c[b>>2];c[u+96+28+4>>2]=c[b+4>>2];c[u+96+28+8>>2]=c[b+8>>2];c[u+96+28+12>>2]=c[b+12>>2];c[u+96+44>>2]=c[b+16>>2];c[u+96+44+4>>2]=c[b+16+4>>2];c[u+96+44+8>>2]=c[b+16+8>>2];c[u+96+44+12>>2]=c[b+16+12>>2];c[u+96+60>>2]=c[b+32>>2];c[u+96+60+4>>2]=c[b+32+4>>2];c[u+96+60+8>>2]=c[b+32+8>>2];c[u+96+60+12>>2]=c[b+32+12>>2];c[u+96+76>>2]=c[b+48>>2];c[u+96+76+4>>2]=c[b+48+4>>2];c[u+96+76+8>>2]=c[b+48+8>>2];c[u+96+76+12>>2]=c[b+48+12>>2];mc[c[(c[d>>2]|0)+64>>2]&127](d,u+96|0,u+256|0,u+352|0);f=c[d+4>>2]|0}if((f|0)!=3){i=u;return}c[u+352>>2]=1566444395;c[u+352+4>>2]=1566444395;c[u+352+8>>2]=1566444395;g[u+352+12>>2]=0.0;c[u+256>>2]=-581039253;c[u+256+4>>2]=-581039253;c[u+256+8>>2]=-581039253;g[u+256+12>>2]=0.0;S=Eb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[u+96>>2]=5692;c[u+96+4>>2]=5716;c[u+96+8>>2]=S;c[u+96+12>>2]=c[e>>2];c[u+96+12+4>>2]=c[e+4>>2];c[u+96+12+8>>2]=c[e+8>>2];c[u+96+12+12>>2]=c[e+12>>2];c[u+96+28>>2]=c[b>>2];c[u+96+28+4>>2]=c[b+4>>2];c[u+96+28+8>>2]=c[b+8>>2];c[u+96+28+12>>2]=c[b+12>>2];c[u+96+44>>2]=c[b+16>>2];c[u+96+44+4>>2]=c[b+16+4>>2];c[u+96+44+8>>2]=c[b+16+8>>2];c[u+96+44+12>>2]=c[b+16+12>>2];c[u+96+60>>2]=c[b+32>>2];c[u+96+60+4>>2]=c[b+32+4>>2];c[u+96+60+8>>2]=c[b+32+8>>2];c[u+96+60+12>>2]=c[b+32+12>>2];c[u+96+76>>2]=c[b+48>>2];c[u+96+76+4>>2]=c[b+48+4>>2];c[u+96+76+8>>2]=c[b+48+8>>2];c[u+96+76+12>>2]=c[b+48+12>>2];S=c[d+92>>2]|0;mc[c[(c[S>>2]|0)+8>>2]&127](S,u+96+4|0,u+256|0,u+352|0);i=u;return}}}function Nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=i;i=i+48|0;z=1.0/+g[a+108>>2];A=1.0/+g[a+112>>2];B=1.0/+g[a+116>>2];u=+g[a+48>>2];v=z*+g[d>>2]+u;o=+g[a+52>>2];k=A*+g[d+4>>2]+o;q=+g[a+56>>2];p=B*+g[d+8>>2]+q;u=z*+g[e>>2]+u;o=A*+g[e+4>>2]+o;q=B*+g[e+8>>2]+q;B=+g[a+16>>2];v=v<B?B:v;A=+g[a+20>>2];k=k<A?A:k;z=+g[a+24>>2];p=p<z?z:p;y=+g[a+32>>2];v=y<v?y:v;x=+g[a+36>>2];k=x<k?x:k;w=+g[a+40>>2];p=w<p?w:p;u=u<B?B:u;o=o<A?A:o;q=q<z?z:q;u=y<u?y:u;o=x<o?x:o;q=w<q?w:q;m=~~(v+(v<0.0?-.5:.5))+-1|0;f=~~(u+(u<0.0?-.5:.5))+1|0;n=~~(k+(k<0.0?-.5:.5))+-1|0;h=~~(o+(o<0.0?-.5:.5))+1|0;l=~~(p+(p<0.0?-.5:.5))+-1|0;e=~~(q+(q<0.0?-.5:.5))+1|0;j=(c[a+64>>2]|0)+-1|0;d=(c[a+68>>2]|0)+-1|0;switch(c[a+104>>2]|0){case 0:{d=(e|0)<(d|0)?e:d;j=(h|0)<(j|0)?h:j;e=(l|0)>0?l:0;r=(n|0)>0?n:0;break}case 1:{d=(e|0)<(d|0)?e:d;j=(f|0)<(j|0)?f:j;e=(l|0)>0?l:0;r=(m|0)>0?m:0;break}case 2:{d=(h|0)<(d|0)?h:d;j=(f|0)<(j|0)?f:j;e=(n|0)>0?n:0;r=(m|0)>0?m:0;break}default:{e=0;r=0}}if((e|0)>=(d|0)){i=t;return}n=(r|0)<(j|0);m=e;while(1){if(n){l=(m&1|0)==0;e=m+1|0;q=+(m|0);h=r;while(1){f=c[a+100>>2]|0;do if(!((f&255)<<24>>24)){if(f&65280|0?(h+m&1|0)==0:0){s=16;break}if(!(l&(f&16711680|0)!=0)){k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];f=h+1|0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m);k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m)}else s=16}else s=16;while(0);if((s|0)==16){s=0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t>>2]=k;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t>>2]=B;g[t+4>>2]=o;g[t+8>>2]=p;g[t+12>>2]=0.0;k=B;break}default:{k=+g[t>>2];o=+g[t+4>>2];p=+g[t+8>>2]}}g[t>>2]=k*+g[a+108>>2];g[t+4>>2]=o*+g[a+112>>2];g[t+8>>2]=p*+g[a+116>>2];f=h+1|0;k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,m);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=q-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=q-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=q-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m);k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,f,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(f|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=k;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;break}case 1:{B=+(f|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}case 2:{B=+(f|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+16>>2]=B;g[t+20>>2]=o;g[t+24>>2]=p;g[t+28>>2]=0.0;k=B;break}default:{k=+g[t+16>>2];o=+g[t+20>>2];p=+g[t+24>>2]}}g[t+16>>2]=k*+g[a+108>>2];g[t+20>>2]=o*+g[a+112>>2];g[t+24>>2]=p*+g[a+116>>2];k=+_b[c[(c[a>>2]|0)+68>>2]&15](a,h,e);switch(c[a+104>>2]|0){case 0:{k=k-+g[a+48>>2];o=+(h|0)-+g[a+80>>2]*.5;p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=k;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+g[a+80>>2]*.5;o=k-+g[a+52>>2];p=+(e|0)-+g[a+84>>2]*.5;g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+g[a+80>>2]*.5;o=+(e|0)-+g[a+84>>2]*.5;p=k-+g[a+56>>2];g[t+32>>2]=B;g[t+36>>2]=o;g[t+40>>2]=p;g[t+44>>2]=0.0;k=B;break}default:{k=+g[t+32>>2];o=+g[t+36>>2];p=+g[t+40>>2]}}g[t+32>>2]=k*+g[a+108>>2];g[t+36>>2]=o*+g[a+112>>2];g[t+40>>2]=p*+g[a+116>>2];mc[c[(c[b>>2]|0)+8>>2]&127](b,t,h,m)}if((f|0)==(j|0))break;else h=f}}else e=m+1|0;if((e|0)==(d|0))break;else m=e}i=t;return}function Oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0;da=i;i=i+176|0;aa=c[d+4>>2]|0;ba=c[e+4>>2]|0;if((c[aa+68>>2]|0)==(c[b+40>>2]|0)?(c[ba+68>>2]|0)==(c[b+44>>2]|0):0)$=b+8|0;else{j=c[b+8>>2]|0;k=c[j+8>>2]|0;if((k|0)>0){m=0;do{l=c[(c[j+16>>2]|0)+(m*12|0)+8>>2]|0;if(l|0){Ab[c[c[l>>2]>>2]&255](l);$=c[b+4>>2]|0;Cb[c[(c[$>>2]|0)+60>>2]&127]($,l)}m=m+1|0}while((m|0)!=(k|0));j=c[b+8>>2]|0}$h(j);$=b+8|0}a[da+128+16>>0]=1;q=da+128+12|0;c[q>>2]=0;c[da+128+4>>2]=0;c[da+128+8>>2]=0;p=c[$>>2]|0;j=c[p+8>>2]|0;if((j|0)>0){o=0;do{k=c[(c[p+16>>2]|0)+(o*12|0)+8>>2]|0;if(k){Cb[c[(c[k>>2]|0)+16>>2]&127](k,da+128|0);j=c[da+128+4>>2]|0;if((j|0)>0){n=0;do{m=c[(c[q>>2]|0)+(n<<2)>>2]|0;if(c[m+748>>2]|0){c[h+4>>2]=m;j=c[m+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;l=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(k|0))ef(m,j+4|0,l+4|0);else ef(m,l+4|0,k+4|0);c[h+4>>2]=0;j=c[da+128+4>>2]|0}n=n+1|0}while((n|0)<(j|0))}if((j|0)<0){if((c[da+128+8>>2]|0)<0){k=c[q>>2]|0;if(k|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[k+-4>>2]|0)}c[q>>2]=0}a[da+128+16>>0]=1;c[q>>2]=0;c[da+128+8>>2]=0}do{c[(c[q>>2]|0)+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=0)}c[da+128+4>>2]=0;j=c[p+8>>2]|0}o=o+1|0}while((o|0)<(j|0));j=c[q>>2]|0;if(j|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[q>>2]=0}}k=c[aa+64>>2]|0;l=c[ba+64>>2]|0;p=c[b+4>>2]|0;q=c[$>>2]|0;r=c[b+32>>2]|0;c[da+128>>2]=6256;c[da+128+4>>2]=0;c[da+128+8>>2]=d;c[da+128+12>>2]=e;c[da+128+16>>2]=p;c[da+128+20>>2]=f;c[da+128+24>>2]=h;c[da+128+28>>2]=q;c[da+128+32>>2]=r;r=c[d+12>>2]|0;B=+g[r>>2];C=+g[r+16>>2];D=+g[r+32>>2];E=+g[r+4>>2];F=+g[r+20>>2];G=+g[r+36>>2];H=+g[r+8>>2];I=+g[r+24>>2];J=+g[r+40>>2];K=-+g[r+48>>2];L=-+g[r+52>>2];M=-+g[r+56>>2];r=c[e+12>>2]|0;O=+g[r>>2];P=+g[r+16>>2];Q=+g[r+32>>2];R=+g[r+4>>2];S=+g[r+20>>2];T=+g[r+36>>2];U=+g[r+8>>2];V=+g[r+24>>2];W=+g[r+40>>2];X=+g[r+48>>2];Y=+g[r+52>>2];Z=+g[r+56>>2];k=c[k>>2]|0;l=c[l>>2]|0;if((k|0)!=0&(l|0)!=0){c[6435]=(c[6435]|0)+1;j=yc(1043)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[j>>2]=k;c[j+4>>2]=l;s=+N(+(B*O+C*P+D*Q));t=+N(+(B*R+C*S+D*T));u=+N(+(B*U+C*V+D*W));v=+N(+(E*O+F*P+G*Q));w=+N(+(E*R+F*S+G*T));x=+N(+(E*U+F*V+G*W));y=+N(+(H*O+I*P+J*Q));z=+N(+(H*R+I*S+J*T));A=+N(+(H*U+I*V+J*W));r=1;l=128;m=128;k=124;while(1){q=r+-1|0;f=c[j+(q<<3)>>2]|0;h=c[j+(q<<3)+4>>2]|0;oa=+g[h+16>>2];na=+g[h>>2];ma=+g[h+20>>2];la=+g[h+4>>2];ka=+g[h+24>>2];ea=+g[h+8>>2];ja=B*K+C*L+D*M+(B*X+C*Y+D*Z)+((B*O+C*P+D*Q)*(oa+na)*.5+(B*R+C*S+D*T)*(ma+la)*.5+(B*U+C*V+D*W)*(ka+ea)*.5);ha=E*K+F*L+G*M+(E*X+F*Y+G*Z)+((E*O+F*P+G*Q)*(oa+na)*.5+(E*R+F*S+G*T)*(ma+la)*.5+(E*U+F*V+G*W)*(ka+ea)*.5);fa=H*K+I*L+J*M+(H*X+I*Y+J*Z)+((H*O+I*P+J*Q)*(oa+na)*.5+(H*R+I*S+J*T)*(ma+la)*.5+(H*U+I*V+J*W)*(ka+ea)*.5);ia=((oa-na)*.5+0.0)*s+((ma-la)*.5+0.0)*t+((ka-ea)*.5+0.0)*u;ga=((oa-na)*.5+0.0)*v+((ma-la)*.5+0.0)*w+((ka-ea)*.5+0.0)*x;ea=((oa-na)*.5+0.0)*y+((ma-la)*.5+0.0)*z+((ka-ea)*.5+0.0)*A;do if(((((+g[f>>2]<=ia+ja?+g[f+16>>2]>=ja-ia:0)?+g[f+4>>2]<=ha+ga:0)?+g[f+20>>2]>=ha-ga:0)?+g[f+8>>2]<=fa+ea:0)?+g[f+24>>2]>=fa-ea:0){if((q|0)>(k|0)){n=m<<1;do if((m|0)<(n|0)&(l|0)<(n|0)){do if(!m){k=0;_=52}else{c[6435]=(c[6435]|0)+1;k=yc((m<<4|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}if((m|0)>0)l=0;else{_=52;break}do{pa=j+(l<<3)|0;o=c[pa+4>>2]|0;p=k+(l<<3)|0;c[p>>2]=c[pa>>2];c[p+4>>2]=o;l=l+1|0}while((l|0)!=(m|0))}while(0);if((_|0)==52){_=0;if(!j){l=n;j=k;break}}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);l=n;j=k}while(0);p=n;k=n+-4|0}else p=m;m=(c[h+40>>2]|0)!=0;if(!(c[f+40>>2]|0))if(m){n=c[h+36>>2]|0;c[j+(q<<3)>>2]=f;c[j+(q<<3)+4>>2]=n;n=c[h+40>>2]|0;c[j+(r<<3)>>2]=f;c[j+(r<<3)+4>>2]=n;n=r+1|0;m=p;break}else{ic[c[(c[da+128>>2]|0)+8>>2]&127](da+128|0,f,h);n=q;m=p;break}else{n=j+(q<<3)|0;o=c[f+36>>2]|0;if(m){m=c[h+36>>2]|0;c[n>>2]=o;c[j+(q<<3)+4>>2]=m;m=r+1|0;n=c[h+36>>2]|0;c[j+(r<<3)>>2]=c[f+40>>2];c[j+(r<<3)+4>>2]=n;n=r+2|0;pa=c[h+40>>2]|0;c[j+(m<<3)>>2]=c[f+36>>2];c[j+(m<<3)+4>>2]=pa;m=c[h+40>>2]|0;c[j+(n<<3)>>2]=c[f+40>>2];c[j+(n<<3)+4>>2]=m;n=r+3|0;m=p;break}else{c[n>>2]=o;c[j+(q<<3)+4>>2]=h;c[j+(r<<3)>>2]=c[f+40>>2];c[j+(r<<3)+4>>2]=h;n=r+1|0;m=p;break}}}else n=q;while(0);if(!n)break;else r=n}if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}}o=c[$>>2]|0;if((c[o+8>>2]|0)>0){p=0;do{j=c[o+16>>2]|0;k=c[j+(p*12|0)+8>>2]|0;do if(k|0){pa=c[j+(p*12|0)>>2]|0;_=c[aa+24>>2]|0;r=c[_+(pa*80|0)+64>>2]|0;h=c[d+12>>2]|0;oa=+g[h>>2];P=+g[h+4>>2];O=+g[h+8>>2];la=+g[h+16>>2];ja=+g[h+20>>2];ha=+g[h+24>>2];ka=+g[h+32>>2];ga=+g[h+36>>2];U=+g[h+40>>2];fa=+g[_+(pa*80|0)>>2];ea=+g[_+(pa*80|0)+16>>2];Z=+g[_+(pa*80|0)+32>>2];Y=+g[_+(pa*80|0)+4>>2];X=+g[_+(pa*80|0)+20>>2];W=+g[_+(pa*80|0)+36>>2];ia=+g[_+(pa*80|0)+8>>2];V=+g[_+(pa*80|0)+24>>2];T=+g[_+(pa*80|0)+40>>2];na=+g[_+(pa*80|0)+48>>2];ma=+g[_+(pa*80|0)+52>>2];Q=+g[_+(pa*80|0)+56>>2];S=+g[h+48>>2]+(oa*na+P*ma+O*Q);R=+g[h+52>>2]+(la*na+ja*ma+ha*Q);Q=+g[h+56>>2]+(ka*na+ga*ma+U*Q);g[da>>2]=oa*fa+P*ea+O*Z;g[da+4>>2]=oa*Y+P*X+O*W;g[da+8>>2]=oa*ia+P*V+O*T;g[da+12>>2]=0.0;g[da+16>>2]=la*fa+ja*ea+ha*Z;g[da+20>>2]=la*Y+ja*X+ha*W;g[da+24>>2]=la*ia+ja*V+ha*T;g[da+28>>2]=0.0;g[da+32>>2]=ka*fa+ga*ea+U*Z;g[da+36>>2]=ka*Y+ga*X+U*W;g[da+40>>2]=ka*ia+ga*V+U*T;g[da+44>>2]=0.0;g[da+48>>2]=S;g[da+52>>2]=R;g[da+56>>2]=Q;g[da+60>>2]=0.0;mc[c[(c[r>>2]|0)+8>>2]&127](r,da,da+112|0,da+96|0);r=c[(c[o+16>>2]|0)+(p*12|0)+4>>2]|0;h=c[ba+24>>2]|0;pa=c[h+(r*80|0)+64>>2]|0;_=c[e+12>>2]|0;Q=+g[_>>2];R=+g[_+4>>2];S=+g[_+8>>2];T=+g[_+16>>2];U=+g[_+20>>2];V=+g[_+24>>2];ga=+g[_+32>>2];ia=+g[_+36>>2];ka=+g[_+40>>2];W=+g[h+(r*80|0)>>2];X=+g[h+(r*80|0)+16>>2];Y=+g[h+(r*80|0)+32>>2];Z=+g[h+(r*80|0)+4>>2];ea=+g[h+(r*80|0)+20>>2];fa=+g[h+(r*80|0)+36>>2];ha=+g[h+(r*80|0)+8>>2];ja=+g[h+(r*80|0)+24>>2];la=+g[h+(r*80|0)+40>>2];O=+g[h+(r*80|0)+48>>2];P=+g[h+(r*80|0)+52>>2];oa=+g[h+(r*80|0)+56>>2];ma=+g[_+48>>2]+(Q*O+R*P+S*oa);na=+g[_+52>>2]+(T*O+U*P+V*oa);oa=+g[_+56>>2]+(ga*O+ia*P+ka*oa);g[da>>2]=Q*W+R*X+S*Y;g[da+4>>2]=Q*Z+R*ea+S*fa;g[da+8>>2]=Q*ha+R*ja+S*la;g[da+12>>2]=0.0;g[da+16>>2]=T*W+U*X+V*Y;g[da+20>>2]=T*Z+U*ea+V*fa;g[da+24>>2]=T*ha+U*ja+V*la;g[da+28>>2]=0.0;g[da+32>>2]=ga*W+ia*X+ka*Y;g[da+36>>2]=ga*Z+ia*ea+ka*fa;g[da+40>>2]=ga*ha+ia*ja+ka*la;g[da+44>>2]=0.0;g[da+48>>2]=ma;g[da+52>>2]=na;g[da+56>>2]=oa;g[da+60>>2]=0.0;mc[c[(c[pa>>2]|0)+8>>2]&127](pa,da,da+80|0,da+64|0);if(!(+g[da+112>>2]>+g[da+64>>2])?!(+g[da+96>>2]<+g[da+80>>2]):0)j=1;else j=0;if(!(!(+g[da+112+8>>2]>+g[da+64+8>>2])?!(+g[da+96+8>>2]<+g[da+80+8>>2]):0))j=0;if(!(+g[da+112+4>>2]>+g[da+64+4>>2])?!(+g[da+96+4>>2]<+g[da+80+4>>2]|j^1):0)break;Ab[c[c[k>>2]>>2]&255](k);n=c[b+4>>2]|0;Cb[c[(c[n>>2]|0)+60>>2]&127](n,k);n=c[o+16>>2]|0;m=c[n+(p*12|0)>>2]|0;n=c[n+(p*12|0)+4>>2]|0;j=c[b+16>>2]|0;if((j|0)==(c[b+20>>2]|0)?(ca=j|0?j<<1:1,(j|0)<(ca|0)):0){if(!ca)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((ca*12|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[b+16>>2]|0}if((j|0)>0){k=0;do{pa=l+(k*12|0)|0;_=(c[b+24>>2]|0)+(k*12|0)|0;c[pa>>2]=c[_>>2];c[pa+4>>2]=c[_+4>>2];c[pa+8>>2]=c[_+8>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+24>>2]|0;if(j|0){if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=l;c[b+20>>2]=ca;j=c[b+16>>2]|0}pa=c[b+24>>2]|0;c[pa+(j*12|0)>>2]=m;c[pa+(j*12|0)+4>>2]=n;c[pa+(j*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);p=p+1|0}while((p|0)<(c[o+8>>2]|0));k=b+24|0;l=b+16|0}else{k=b+24|0;l=b+16|0}if((c[l>>2]|0)>0){j=0;do{e=c[$>>2]|0;pa=c[k>>2]|0;Ob[c[(c[e>>2]|0)+8>>2]&63](e,c[pa+(j*12|0)>>2]|0,c[pa+(j*12|0)+4>>2]|0)|0;j=j+1|0}while((j|0)<(c[l>>2]|0))}j=c[k>>2]|0;if(!j){a[b+28>>0]=1;c[k>>2]=0;c[l>>2]=0;pa=b+20|0;c[pa>>2]=0;i=da;return}if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[k>>2]=0;a[b+28>>0]=1;c[k>>2]=0;c[l>>2]=0;pa=b+20|0;c[pa>>2]=0;i=da;return}function Pc(b,e,f,h,j,l,m){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0;B=i;i=i+9856|0;q=l;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));c[B+9712>>2]=b;c[B+9712+4>>2]=f;E=+g[h>>2];R=+g[e>>2];F=+g[h+16>>2];H=+g[e+16>>2];G=+g[h+32>>2];S=+g[e+32>>2];I=+g[e+4>>2];T=+g[e+20>>2];J=+g[e+36>>2];s=+g[e+8>>2];n=+g[e+24>>2];D=+g[e+40>>2];Q=+g[h+4>>2];P=+g[h+20>>2];N=+g[h+36>>2];M=+g[h+8>>2];L=+g[h+24>>2];K=+g[h+40>>2];g[B+9712+8>>2]=E*R+F*H+G*S;g[B+9712+12>>2]=E*I+F*T+G*J;g[B+9712+16>>2]=E*s+F*n+G*D;g[B+9712+20>>2]=0.0;g[B+9712+24>>2]=R*Q+H*P+S*N;g[B+9712+28>>2]=I*Q+T*P+J*N;g[B+9712+32>>2]=s*Q+n*P+D*N;g[B+9712+36>>2]=0.0;g[B+9712+40>>2]=R*M+H*L+S*K;g[B+9712+44>>2]=I*M+T*L+J*K;g[B+9712+48>>2]=s*M+n*L+D*K;g[B+9712+52>>2]=0.0;D=+g[h+48>>2]-+g[e+48>>2];n=+g[h+52>>2]-+g[e+52>>2];s=+g[h+56>>2]-+g[e+56>>2];J=+g[e>>2];T=+g[h>>2];I=+g[e+16>>2];S=+g[h+16>>2];H=+g[e+32>>2];R=+g[h+32>>2];G=+g[e+4>>2];F=+g[e+20>>2];E=+g[e+36>>2];C=+g[e+8>>2];o=+g[e+24>>2];p=+g[e+40>>2];g[B+9712+56>>2]=J*T+I*S+H*R;g[B+9712+60>>2]=J*Q+I*P+H*N;g[B+9712+64>>2]=J*M+I*L+H*K;g[B+9712+68>>2]=0.0;g[B+9712+72>>2]=T*G+S*F+R*E;g[B+9712+76>>2]=Q*G+P*F+N*E;g[B+9712+80>>2]=M*G+L*F+K*E;g[B+9712+84>>2]=0.0;g[B+9712+88>>2]=T*C+S*o+R*p;g[B+9712+92>>2]=Q*C+P*o+N*p;g[B+9712+96>>2]=M*C+L*o+K*p;g[B+9712+100>>2]=0.0;g[B+9712+104>>2]=D*J+n*I+s*H;g[B+9712+108>>2]=D*G+n*F+s*E;g[B+9712+112>>2]=D*C+n*o+s*p;g[B+9712+116>>2]=0.0;c[B+9712+120>>2]=m?81:80;c[B+9712+124>>2]=0;c[B+9328+364>>2]=0;c[B+9328+128>>2]=0;c[B+9328+128+4>>2]=0;c[B+9328+128+8>>2]=0;c[B+9328+128+12>>2]=0;c[B+9328+376>>2]=2;c[B+9328+368>>2]=0;g[B+9328+144>>2]=0.0;p=-+g[j+4>>2];s=-+g[j+8>>2];g[B+16>>2]=-+g[j>>2];g[B+16+4>>2]=p;g[B+16+8>>2]=s;g[B+16+12>>2]=0.0;switch(Uc(B+9328|0,B+9712|0,B+16|0)|0){case 1:{w=B+32+9280|0;x=B+32+9288|0;y=B+32+9292|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[B+32>>2]=9;A=B+32+40|0;c[B+32+9276>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;m=0;do{b=128-m+-1|0;c[B+32+2108+(b*56|0)+44>>2]=0;f=c[x>>2]|0;c[B+32+2108+(b*56|0)+48>>2]=f;if(f|0)c[f+44>>2]=B+32+2108+(b*56|0);c[x>>2]=B+32+2108+(b*56|0);c[y>>2]=(c[y>>2]|0)+1;m=m+1|0}while((m|0)!=128);p=+g[j>>2];s=+g[j+4>>2];o=+g[j+8>>2];t=c[B+9328+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?yd(B+9328|0)|0:0){v=B+32+9280|0;b=c[v>>2]|0;if(b|0){q=c[B+32+9284>>2]|0;r=c[y>>2]|0;do{f=b+44|0;h=b+48|0;m=c[h>>2]|0;if(m|0)c[m+44>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+48>>2]=c[h>>2];if((c[v>>2]|0)==(b|0))c[v>>2]=c[h>>2];q=q+-1|0;c[b+44>>2]=0;c[h>>2]=c[x>>2];f=c[x>>2]|0;if(f|0)c[f+44>>2]=b;c[x>>2]=b;r=r+1|0;b=c[v>>2]|0}while((b|0)!=0);c[B+32+9284>>2]=q;c[y>>2]=r}c[B+32>>2]=0;c[B+32+9276>>2]=0;b=c[t>>2]|0;f=c[t+12>>2]|0;T=+g[f+16>>2];K=+g[b+16>>2]-T;M=+g[f+20>>2];N=+g[b+20>>2]-M;Q=+g[f+24>>2];R=+g[b+24>>2]-Q;f=c[t+4>>2]|0;P=+g[f+16>>2]-T;S=+g[f+20>>2]-M;L=+g[f+24>>2]-Q;m=c[t+8>>2]|0;T=+g[m+16>>2]-T;M=+g[m+20>>2]-M;Q=+g[m+24>>2]-Q;if(K*S*Q+(N*L*T+R*P*M-K*L*M-N*P*Q)-R*S*T<0.0){c[t>>2]=f;c[t+4>>2]=b;h=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=h;h=f}else{h=b;b=f}h=nf(B+32|0,h,b,m,1)|0;q=nf(B+32|0,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;r=nf(B+32|0,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;j=nf(B+32|0,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[B+32+9284>>2]|0)==4){b=c[w>>2]|0;n=+g[b+16>>2];f=c[b+48>>2]|0;if(f){o=n*n;while(1){n=+g[f+16>>2];m=n*n<o;b=m?f:b;f=c[f+48>>2]|0;if(!f)break;else o=m?n*n:o}}s=+g[b>>2];p=+g[b+4>>2];o=+g[b+8>>2];n=+g[b+12>>2];u=c[b+16>>2]|0;U=c[b+20>>2]|0;f=c[b+24>>2]|0;m=c[b+28>>2]|0;a[h+52>>0]=0;c[h+32>>2]=q;a[q+52>>0]=0;c[q+32>>2]=h;a[h+53>>0]=0;c[h+36>>2]=r;a[r+52>>0]=1;c[r+32>>2]=h;a[h+54>>0]=0;c[h+40>>2]=j;a[j+52>>0]=2;c[j+32>>2]=h;a[q+53>>0]=2;c[q+36>>2]=j;a[j+54>>0]=1;c[j+40>>2]=q;a[q+54>>0]=1;c[q+40>>2]=r;a[r+53>>0]=2;c[r+36>>2]=q;a[r+54>>0]=1;c[r+40>>2]=j;a[j+53>>0]=2;c[j+36>>2]=r;c[B+32>>2]=0;t=b;r=U;j=f;q=m;b=u;u=0;while(1){f=c[B+32+9276>>2]|0;if(f>>>0>=64){z=43;break}c[B+9840>>2]=0;c[B+9840+4>>2]=0;c[B+9840+8>>2]=0;c[B+32+9276>>2]=f+1;u=u+1|0;a[t+55>>0]=u;h=t+4|0;U=t+8|0;Nh(B+9328|0,+g[t>>2],+g[h>>2],+g[U>>2],B+32+60+(f<<5)|0);if(+g[t>>2]*+g[B+32+60+(f<<5)+16>>2]+ +g[h>>2]*+g[B+32+60+(f<<5)+20>>2]+ +g[U>>2]*+g[B+32+60+(f<<5)+24>>2]-+g[t+16>>2]>9.999999747378752e-05)h=0;else{f=7;z=42;break}do{m=zh(B+32|0,u,B+32+60+(f<<5)|0,c[t+32+(h<<2)>>2]|0,d[t+52+h>>0]|0,B+9840|0)|0;h=h+1|0}while(m&h>>>0<3);if(!(m&(c[B+9840+8>>2]|0)>>>0>2)){f=4;z=42;break}m=c[B+9840>>2]|0;b=c[B+9840+4>>2]|0;a[m+53>>0]=2;c[m+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=m;b=t+44|0;m=t+48|0;f=c[m>>2]|0;if(f|0)c[f+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[m>>2];if((c[v>>2]|0)==(t|0))c[v>>2]=c[m>>2];c[B+32+9284>>2]=(c[B+32+9284>>2]|0)+-1;c[t+44>>2]=0;c[m>>2]=c[x>>2];b=c[x>>2]|0;if(b|0)c[b+44>>2]=t;c[x>>2]=t;c[y>>2]=(c[y>>2]|0)+1;f=c[w>>2]|0;n=+g[f+16>>2];b=c[f+48>>2]|0;if(b){o=n*n;while(1){n=+g[b+16>>2];m=n*n<o;f=m?b:f;b=c[b+48>>2]|0;if(!b)break;else o=m?n*n:o}}s=+g[f>>2];p=+g[f+4>>2];o=+g[f+8>>2];n=+g[f+12>>2];b=c[f+16>>2]|0;m=c[f+20>>2]|0;h=c[f+24>>2]|0;q=c[f+28>>2]|0;if(u>>>0>=255){f=q;break}else{t=f;r=m;j=h}}if((z|0)==42){c[B+32>>2]=f;m=r;h=j;f=q}else if((z|0)==43){c[B+32>>2]=6;m=r;h=j;f=q}R=(c[k>>2]=b,+g[k>>2]);P=s*R;M=p*R;R=o*R;g[B+32+40>>2]=s;g[B+32+44>>2]=p;g[B+32+48>>2]=o;g[B+32+52>>2]=n;c[B+32+56>>2]=b;c[B+32+36>>2]=3;c[B+32+4>>2]=m;c[B+32+8>>2]=h;c[B+32+12>>2]=f;U=h;Q=+g[U+16>>2]-P;K=+g[U+20>>2]-M;N=+g[U+24>>2]-R;y=f;J=+g[y+16>>2]-P;L=+g[y+20>>2]-M;S=+g[y+24>>2]-R;S=+O(+((Q*L-K*J)*(Q*L-K*J)+((K*S-N*L)*(K*S-N*L)+(N*J-Q*S)*(N*J-Q*S))));g[B+32+20>>2]=S;Q=+g[y+16>>2]-P;J=+g[y+20>>2]-M;N=+g[y+24>>2]-R;y=m;L=+g[y+16>>2]-P;K=+g[y+20>>2]-M;T=+g[y+24>>2]-R;T=+O(+((Q*K-J*L)*(Q*K-J*L)+((J*T-N*K)*(J*T-N*K)+(N*L-Q*T)*(N*L-Q*T))));g[B+32+24>>2]=T;Q=+g[y+16>>2]-P;L=+g[y+20>>2]-M;N=+g[y+24>>2]-R;P=+g[U+16>>2]-P;M=+g[U+20>>2]-M;R=+g[U+24>>2]-R;R=+O(+((Q*M-L*P)*(Q*M-L*P)+((L*R-N*M)*(L*R-N*M)+(N*P-Q*R)*(N*P-Q*R))));g[B+32+20>>2]=S/(R+(S+T));g[B+32+24>>2]=T/(R+(S+T));g[B+32+28>>2]=R/(R+(S+T));if((c[B+32>>2]|0)!=9)if(!(c[B+32+36>>2]|0)){p=0.0;o=0.0;n=0.0;break}else{h=B+32+36|0;z=51;break}c[l>>2]=3;U=0;i=B;return U|0}else z=45}else z=45;while(0);if((z|0)==45){c[B+32>>2]=8;g[B+32+40>>2]=p;g[B+32+44>>2]=s;g[B+32+48>>2]=o;g[B+32+52>>2]=0.0;n=+O(+(p*p+s*s+o*o));if(n>0.0){g[B+32+40>>2]=1.0/n*p;g[B+32+44>>2]=1.0/n*s;g[B+32+48>>2]=1.0/n*o}else{c[A>>2]=1065353216;c[B+32+44>>2]=0;c[B+32+48>>2]=0}g[B+32+52>>2]=0.0;g[B+32+56>>2]=0.0;c[B+32+36>>2]=1;c[B+32+4>>2]=c[t>>2];g[B+32+20>>2]=1.0;h=B+32+36|0;z=51}if((z|0)==51){m=0;p=0.0;o=0.0;n=0.0;do{b=c[B+9712+120>>2]|0;U=c[B+9712+124>>2]|0;f=(c[B+9712>>2]|0)+(U>>1)|0;if(U&1)b=c[(c[f>>2]|0)+b>>2]|0;ic[b&127](B,f,c[B+32+4+(m<<2)>>2]|0);T=+g[B+32+20+(m<<2)>>2];p=p+ +g[B>>2]*T;n=n+T*+g[B+4>>2];o=o+T*+g[B+8>>2];m=m+1|0}while(m>>>0<(c[h>>2]|0)>>>0)}c[l>>2]=1;T=p*+g[e+16>>2]+n*+g[e+20>>2]+o*+g[e+24>>2]+ +g[e+52>>2];Q=p*+g[e+32>>2]+n*+g[e+36>>2]+o*+g[e+40>>2]+ +g[e+56>>2];g[l+4>>2]=p*+g[e>>2]+n*+g[e+4>>2]+o*+g[e+8>>2]+ +g[e+48>>2];g[l+8>>2]=T;g[l+12>>2]=Q;g[l+16>>2]=0.0;Q=+g[A>>2];T=+g[B+32+56>>2];R=+g[B+32+44>>2];S=+g[B+32+48>>2];K=p-Q*T;L=n-T*R;M=o-T*S;N=K*+g[e+16>>2]+L*+g[e+20>>2]+M*+g[e+24>>2]+ +g[e+52>>2];P=K*+g[e+32>>2]+L*+g[e+36>>2]+M*+g[e+40>>2]+ +g[e+56>>2];g[l+20>>2]=K*+g[e>>2]+L*+g[e+4>>2]+M*+g[e+8>>2]+ +g[e+48>>2];g[l+24>>2]=N;g[l+28>>2]=P;g[l+32>>2]=0.0;g[l+36>>2]=-Q;g[l+40>>2]=-R;g[l+44>>2]=-S;g[l+48>>2]=0.0;g[l+52>>2]=-T;U=1;i=B;return U|0}case 2:{c[l>>2]=2;U=0;i=B;return U|0}default:{U=0;i=B;return U|0}}return 0}function Qc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,P=0.0,Q=0.0,R=0.0;r=i;i=i+144|0;o=c[b+136>>2]|0;if(!o){i=r;return}k=c[b+8>>2]|0;if((k|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<4|3)+16|0)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){h=0;do{n=j+(h<<4)|0;s=(c[b+16>>2]|0)+(h<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;e=k;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+80>>2];c[s+4>>2]=c[r+80+4>>2];c[s+8>>2]=c[r+80+8>>2];c[s+12>>2]=c[r+80+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;k=c[b+28>>2]|0;if((k|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<4|3)+16|0)|0;if(!e)j=0;else{c[(e+4+15&-16)+-4>>2]=e;j=e+4+15&-16}e=c[b+28>>2]|0;if((e|0)>0){h=0;do{s=j+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+36>>2]|0;if(e|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;e=k;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+64>>2];c[s+4>>2]=c[r+64+4>>2];c[s+8>>2]=c[r+64+8>>2];c[s+12>>2]=c[r+64+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((n|0)<(o|0)){do if((c[b+52>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+48>>2]|0;j=c[b+56>>2]|0;if((h|0)<=0){if(!j){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2;break}}else{k=0;do{c[e+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2}else{h=o<<2;e=c[b+56>>2]|0}while(0);Qn(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((n|0)<(o|0)){do if((c[b+72>>2]|0)<(o|0)){c[6435]=(c[6435]|0)+1;e=yc((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+68>>2]|0;j=c[b+76>>2]|0;if((h|0)<=0){if(!j){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2;break}}else{k=0;do{c[e+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}if(a[b+80>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2}else{h=o<<2;e=c[b+76>>2]|0}while(0);Qn(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){i=r;return}h=c[b+76>>2]|0;j=c[b+56>>2]|0;k=0;do{g[h+(k<<2)>>2]=0.0;g[j+(k<<2)>>2]=0.0;k=k+1|0}while((k|0)!=(e|0));k=0;do{h=c[b+144>>2]|0;j=c[h+(k*284|0)+88>>2]|0;if(j){e=h+(k*284|0)+92|0;c[r+96>>2]=c[e>>2];c[r+96+4>>2]=c[e+4>>2];c[r+96+8>>2]=c[e+8>>2];c[r+96+12>>2]=c[e+12>>2];e=h+(k*284|0)+108|0;c[r+96+16>>2]=c[e>>2];c[r+96+16+4>>2]=c[e+4>>2];c[r+96+16+8>>2]=c[e+8>>2];c[r+96+16+12>>2]=c[e+12>>2];e=h+(k*284|0)+124|0;c[r+96+32>>2]=c[e>>2];c[r+96+32+4>>2]=c[e+4>>2];c[r+96+32+8>>2]=c[e+8>>2];c[r+96+32+12>>2]=c[e+12>>2];e=c[b+36>>2]|0;x=c[b+120>>2]|0;o=c[r+96+16+(x<<2)>>2]|0;y=c[r+96+32+(x<<2)>>2]|0;c[e+(k<<4)>>2]=c[r+96+(x<<2)>>2];c[e+(k<<4)+4>>2]=o;c[e+(k<<4)+8>>2]=y;g[e+(k<<4)+12>>2]=0.0;e=c[b+36>>2]|0;y=e+(k<<4)|0;z=+g[y>>2];o=h+(k*284|0)|0;f=+g[o>>2];x=e+(k<<4)+4|0;w=+g[x>>2];n=h+(k*284|0)+4|0;l=+g[n>>2];e=e+(k<<4)+8|0;t=+g[e>>2];s=h+(k*284|0)+8|0;v=+g[s>>2];m=z-f*(z*f+w*l+t*v);u=w-l*(z*f+w*l+t*v);v=t-v*(z*f+w*l+t*v);t=1.0/+O(+(m*m+u*u+v*v));g[y>>2]=m*t;g[x>>2]=u*t;g[e>>2]=v*t;e=c[b+16>>2]|0;l=+g[n>>2];w=+g[s>>2];f=+g[o>>2];g[e+(k<<4)>>2]=l*v*t-w*u*t;g[e+(k<<4)+4>>2]=w*m*t-v*t*f;g[e+(k<<4)+8>>2]=u*t*f-l*m*t;g[e+(k<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(k<<4)|0;t=+g[o>>2];s=e+(k<<4)+4|0;m=+g[s>>2];e=e+(k<<4)+8|0;l=+g[e>>2];f=1.0/+O(+(t*t+m*m+l*l));g[o>>2]=t*f;g[s>>2]=m*f;g[e>>2]=l*f;e=c[b+116>>2]|0;s=c[b+36>>2]|0;f=+g[s+(k<<4)>>2];l=+g[s+(k<<4)+4>>2];m=+g[s+(k<<4)+8>>2];if(f*f+l*l+m*m>1.100000023841858)f=0.0;else{C=+g[h+(k*284|0)+16>>2];G=C-+g[e+52>>2];E=+g[h+(k*284|0)+20>>2];I=E-+g[e+56>>2];J=+g[h+(k*284|0)+24>>2];L=J-+g[e+60>>2];C=C-+g[j+52>>2];E=E-+g[j+56>>2];J=J-+g[j+60>>2];F=+g[e+332>>2];M=+g[e+336>>2];H=+g[e+328>>2];B=+g[j+332>>2];K=+g[j+336>>2];D=+g[j+328>>2];A=(m*I-l*L)*+g[e+4>>2]+(f*L-m*G)*+g[e+20>>2]+(l*G-f*I)*+g[e+36>>2];t=(m*I-l*L)*+g[e+8>>2]+(f*L-m*G)*+g[e+24>>2]+(l*G-f*I)*+g[e+40>>2];u=(m*I-l*L)*+g[e+12>>2]+(f*L-m*G)*+g[e+28>>2]+(l*G-f*I)*+g[e+44>>2];v=(E*-m-J*-l)*+g[j+4>>2]+(J*-f-C*-m)*+g[j+20>>2]+(C*-l-E*-f)*+g[j+36>>2];w=(E*-m-J*-l)*+g[j+8>>2]+(J*-f-C*-m)*+g[j+24>>2]+(C*-l-E*-f)*+g[j+40>>2];z=(E*-m-J*-l)*+g[j+12>>2]+(J*-f-C*-m)*+g[j+28>>2]+(C*-l-E*-f)*+g[j+44>>2];f=(f*(L*F-I*M+ +g[e+312>>2]-(J*B-E*K+ +g[j+312>>2]))+l*(+g[e+316>>2]+(G*M-L*H)-(+g[j+316>>2]+(C*K-J*D)))+m*(I*H-G*F+ +g[e+320>>2]-(E*D-C*B+ +g[j+320>>2])))*-.20000000298023224*(1.0/(+g[j+344>>2]+(+g[e+344>>2]+(A*A*+g[e+396>>2]+t*t*+g[e+400>>2]+u*u*+g[e+404>>2]))+(v*v*+g[j+396>>2]+w*w*+g[j+400>>2]+z*z*+g[j+404>>2])))}g[(c[b+76>>2]|0)+(k<<2)>>2]=f;e=c[b+136>>2]|0}k=k+1|0}while((k|0)<(e|0));if((e|0)<=0){i=r;return}h=c[b+144>>2]|0;j=0;o=0;while(1){e=c[h+(o*284|0)+88>>2]|0;if(e){f=+g[h+(o*284|0)+252>>2];if(f!=0.0){k=h;f=f*d}else{M=+g[h+(o*284|0)+256>>2];M=M==0.0?0.0:M;k=c[b+116>>2]|0;y=c[b+16>>2]|0;G=+g[h+(o*284|0)+16>>2];E=+g[h+(o*284|0)+20>>2];A=+g[h+(o*284|0)+24>>2];w=+g[y+(o<<4)>>2];D=+g[y+(o<<4)+4>>2];f=+g[y+(o<<4)+8>>2];P=G-+g[k+52>>2];Q=E-+g[k+56>>2];l=A-+g[k+60>>2];m=+g[k+264>>2]*(Q*f-l*D)+ +g[k+280>>2]*(l*w-P*f)+(P*D-Q*w)*+g[k+296>>2];R=(Q*f-l*D)*+g[k+268>>2]+(l*w-P*f)*+g[k+284>>2]+(P*D-Q*w)*+g[k+300>>2];N=(Q*f-l*D)*+g[k+272>>2]+(l*w-P*f)*+g[k+288>>2]+(P*D-Q*w)*+g[k+304>>2];K=G-+g[e+52>>2];I=E-+g[e+56>>2];C=A-+g[e+60>>2];v=(D*K-w*I)*+g[e+296>>2]+(+g[e+264>>2]*(f*I-D*C)+ +g[e+280>>2]*(w*C-f*K));t=(f*I-D*C)*+g[e+268>>2]+(w*C-f*K)*+g[e+284>>2]+(D*K-w*I)*+g[e+300>>2];u=(f*I-D*C)*+g[e+272>>2]+(w*C-f*K)*+g[e+288>>2]+(D*K-w*I)*+g[e+304>>2];G=G-+g[k+52>>2];E=E-+g[k+56>>2];A=A-+g[k+60>>2];H=+g[k+332>>2];z=+g[k+336>>2];F=+g[k+328>>2];L=+g[e+332>>2];B=+g[e+336>>2];J=+g[e+328>>2];f=-(1.0/(+g[k+344>>2]+(f*(Q*m-P*R)+(w*(l*R-Q*N)+D*(P*N-l*m)))+(+g[e+344>>2]+(f*(I*v-K*t)+(w*(C*t-I*u)+D*(K*u-C*v)))))*((A*H-E*z+ +g[k+312>>2]-(C*L-I*B+ +g[e+312>>2]))*w+(+g[k+316>>2]+(G*z-A*F)-(+g[e+316>>2]+(K*B-C*J)))*D+(E*F-G*H+ +g[k+320>>2]-(I*J-K*L+ +g[e+320>>2]))*f));f=M<f?M:f;k=c[b+144>>2]|0;f=f<-M?-M:f}n=c[b+56>>2]|0;y=n+(o<<2)|0;g[y>>2]=0.0;e=k+(o*284|0)+280|0;g[e>>2]=1.0;m=+g[h+(o*284|0)+276>>2]*d*+g[h+(o*284|0)+228>>2];g[y>>2]=f;f=f*.5;l=+g[(c[b+76>>2]|0)+(o<<2)>>2];if(f*f+l*l>m*m){R=m/+O(+(f*f+l*l));g[e>>2]=R*+g[e>>2];e=1}else e=j}else{n=c[b+56>>2]|0;g[n+(o<<2)>>2]=0.0;g[h+(o*284|0)+280>>2]=1.0;k=h;e=j}o=o+1|0;j=c[b+136>>2]|0;if((o|0)>=(j|0))break;else{h=k;j=e}}if(e){if((j|0)<=0){i=r;return}e=c[b+76>>2]|0;h=0;do{if(+g[e+(h<<2)>>2]!=0.0?(p=k+(h*284|0)+280|0,q=+g[p>>2],q<1.0):0){y=n+(h<<2)|0;g[y>>2]=q*+g[y>>2];y=(c[b+76>>2]|0)+(h<<2)|0;g[y>>2]=+g[p>>2]*+g[y>>2]}h=h+1|0}while((h|0)!=(j|0))}if((j|0)<=0){i=r;return}j=n;e=0;while(1){h=c[b+116>>2]|0;n=k+(e*284|0)+16|0;l=+g[n>>2]-+g[h+52>>2];o=k+(e*284|0)+20|0;m=+g[o>>2]-+g[h+56>>2];p=k+(e*284|0)+24|0;d=+g[p>>2]-+g[h+60>>2];g[r+96>>2]=l;g[r+96+4>>2]=m;g[r+96+8>>2]=d;g[r+96+12>>2]=0.0;f=+g[j+(e<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(e<<4)+4>>2];R=f*+g[y+(e<<4)+8>>2];g[r+16>>2]=f*+g[y+(e<<4)>>2];g[r+16+4>>2]=Q;g[r+16+8>>2]=R;g[r+16+12>>2]=0.0;gj(h,r+16|0,r+96|0)}f=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(f!=0.0){y=c[(c[b+144>>2]|0)+(e*284|0)+88>>2]|0;Q=+g[o>>2]-+g[y+56>>2];P=+g[p>>2]-+g[y+60>>2];g[r+48>>2]=+g[n>>2]-+g[y+52>>2];g[r+48+4>>2]=Q;g[r+48+8>>2]=P;g[r+48+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(e<<4)>>2]*f;Q=f*+g[x+(e<<4)+4>>2];R=f*+g[x+(e<<4)+8>>2];g[r+32>>2]=P;g[r+32+4>>2]=Q;g[r+32+8>>2]=R;g[r+32+12>>2]=0.0;x=c[b+116>>2]|0;s=c[b+124>>2]|0;K=+g[x+4+(s<<2)>>2];L=+g[x+20+(s<<2)>>2];M=+g[x+36+(s<<2)>>2];N=(K*l+L*m+M*d)*(1.0-+g[k+(e*284|0)+244>>2]);g[r+96>>2]=l-K*N;g[r+96+4>>2]=m-L*N;g[r+96+8>>2]=d-M*N;gj(x,r+32|0,r+96|0);g[r>>2]=-P;g[r+4>>2]=-Q;g[r+8>>2]=-R;g[r+12>>2]=0.0;gj(y,r,r+48|0)}e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break;k=c[b+144>>2]|0;j=c[b+56>>2]|0}i=r;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0;P=i;i=i+240|0;M=c[d+36>>2]|0;s=+g[(+g[M+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[M+100>>0]&1){i=P;return}K=c[b+8>>2]|0;u=c[K+4>>2]|0;L=c[K+12>>2]|0;I=c[(c[b+4>>2]|0)+684>>2]|0;B=+g[M+8>>2]-+g[L+48>>2];o=+g[M+12>>2]-+g[L+52>>2];C=+g[M+16>>2]-+g[L+56>>2];A=1.0/+g[I+76>>2];z=(B*+g[L>>2]+o*+g[L+16>>2]+C*+g[L+32>>2])*A/3.0;F=z<0.0?~~(1.0-z):0;J=~~((z+ +(F|0)-+(~~(z+ +(F|0))|0))*3.0);r=(z+ +(F|0)-+(~~(z+ +(F|0))|0))*3.0-+(J|0);F=~~(z+ +(F|0))-F|0;z=A*(B*+g[L+4>>2]+o*+g[L+20>>2]+C*+g[L+36>>2])/3.0;D=z<0.0?~~(1.0-z):0;G=~~((z+ +(D|0)-+(~~(z+ +(D|0))|0))*3.0);n=(z+ +(D|0)-+(~~(z+ +(D|0))|0))*3.0-+(G|0);D=~~(z+ +(D|0))-D|0;C=A*(B*+g[L+8>>2]+o*+g[L+24>>2]+C*+g[L+40>>2])/3.0;E=C<0.0?~~(1.0-C):0;H=~~((C+ +(E|0)-+(~~(C+ +(E|0))|0))*3.0);o=(C+ +(E|0)-+(~~(C+ +(E|0))|0))*3.0-+(H|0);E=~~(C+ +(E|0))-E|0;p=(F>>>16<<11^(F&65535)+16^(F&65535)+16<<16)+(D&65535)+((F>>>16<<11^(F&65535)+16^(F&65535)+16<<16)>>>11)|0;p=(p^D>>>16<<11^p<<16)+(E&65535)+((p^D>>>16<<11^p<<16)>>>11)|0;p=(p^E>>>16<<11^p<<16)+(u&65535)+((p^E>>>16<<11^p<<16)>>>11)|0;p=((p^u>>>16<<11^p<<16)>>>11)+(p^u>>>16<<11^p<<16)|0;p=((p<<3^p)>>>5)+(p<<3^p)<<4^((p<<3^p)>>>5)+(p<<3^p);p=(((p>>>17)+p<<25^(p>>>17)+p)>>>6)+((p>>>17)+p<<25^(p>>>17)+p)|0;q=c[I+60>>2]|0;t=c[I+68>>2]|0;d=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]|0;c[I+96>>2]=(c[I+96>>2]|0)+1;e=(c[I+92>>2]|0)+1|0;c[I+92>>2]=e;a:do if(!d)w=9;else while(1){if(((((c[d+272>>2]|0)==(p|0)?(c[d+256>>2]|0)==(F|0):0)?(c[d+260>>2]|0)==(D|0):0)?(c[d+264>>2]|0)==(E|0):0)?(c[d+276>>2]|0)==(u|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[I+92>>2]=e;if(!d){w=9;break}}while(0);if((w|0)==9){f=c[I+84>>2]|0;c[I+84>>2]=f+1;if((f|0)>=(c[I+88>>2]|0)){c[5789]=(c[5789]|0)+1;b:do if((q|0)>0){e=t;f=0;while(1){e=e+(f<<2)|0;d=c[e>>2]|0;c[e>>2]=0;if(d|0)do{e=d;d=c[d+280>>2]|0;hd(e)}while((d|0)!=0);d=f+1|0;if((d|0)==(q|0))break b;e=c[I+68>>2]|0;f=d}}while(0);g[I+76>>2]=.25;c[I+80>>2]=0;c[I+84>>2]=0;c[I+92>>2]=1;c[I+96>>2]=1}while(1){d=yc(284)|0;if(d|0)break;d=c[6564]|0;c[6564]=d+0;if(!d){w=19;break}jc[d&3]()}if((w|0)==19){P=Ya(4)|0;c[P>>2]=9640;pb(P|0,2800,251)}Qn(d|0,0,284)|0;c[d+280>>2]=c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2];c[t+(((p>>>0)%(q>>>0)|0)<<2)>>2]=d;c[d+276>>2]=u;c[d+272>>2]=p;c[d+256>>2]=F;c[d+260>>2]=D;c[d+264>>2]=E;l=+g[I+76>>2];q=P+168+4|0;t=P+168+24|0;u=P+168+44|0;h=l;e=0;while(1){k=l*+(E|0)*3.0+ +(e|0)*h;p=0;while(1){j=l*+(D|0)*3.0+ +(p|0)*h;g[P+96>>2]=+(F|0)*3.0*l+h*0.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2];g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+64+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2]*2.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+128+(p<<4)+(e<<2)>>2]=h;g[P+96>>2]=+(F|0)*3.0*l+ +g[I+76>>2]*3.0;g[P+96+4>>2]=j;g[P+96+8>>2]=k;g[P+96+12>>2]=0.0;f=c[d+276>>2]|0;c[P+168>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[P+168+20>>2]=1065353216;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[P+168+40>>2]=1065353216;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;if((c[f+4>>2]|0)<20)h=+ed(P+96|0,f,P+168|0,P+112|0);else h=0.0;g[d+192+(p<<4)+(e<<2)>>2]=h;f=p+1|0;if((f|0)==4)break;h=+g[I+76>>2];p=f}e=e+1|0;if((e|0)==4)break;h=+g[I+76>>2]}}c[d+268>>2]=c[I+80>>2];h=+g[d+(J<<6)+(G<<4)+(H<<2)>>2];y=+g[d+(J+1<<6)+(G<<4)+(H<<2)>>2];v=+g[d+(J+1<<6)+(G+1<<4)+(H<<2)>>2];x=+g[d+(J<<6)+(G+1<<4)+(H<<2)>>2];C=+g[d+(J<<6)+(G<<4)+(H+1<<2)>>2];B=+g[d+(J+1<<6)+(G<<4)+(H+1<<2)>>2];z=+g[d+(J+1<<6)+(G+1<<4)+(H+1<<2)>>2];A=+g[d+(J<<6)+(G+1<<4)+(H+1<<2)>>2];j=y-h+n*(v-x-(y-h))+o*(B-C+n*(z-A-(B-C))-(y-h+n*(v-x-(y-h))));k=x-h+r*(v-y-(x-h))+o*(A-C+r*(z-B-(A-C))-(x-h+r*(v-y-(x-h))));l=C-h+r*(B-y-(C-h))+n*(A-x+r*(z-v-(A-x))-(C-h+r*(B-y-(C-h))));m=1.0/+O(+(j*j+k*k+l*l));h=h+r*(y-h)+n*(x+r*(v-x)-(h+r*(y-h)));h=h+o*(C+r*(B-C)+n*(A+r*(z-A)-(C+r*(B-C)))-h)-s;if(!(h<0.0)){i=P;return}t=c[K+8>>2]|0;B=+g[L>>2]*j*m+ +g[L+4>>2]*k*m+ +g[L+8>>2]*l*m;C=j*m*+g[L+16>>2]+k*m*+g[L+20>>2]+l*m*+g[L+24>>2];A=j*m*+g[L+32>>2]+k*m*+g[L+36>>2]+l*m*+g[L+40>>2];z=-(B*(+g[M+8>>2]-h*B)+C*(+g[M+12>>2]-h*C)+A*(+g[M+16>>2]-h*A));s=+g[M+88>>2];d=c[b+12>>2]|0;if(!d)r=0.0;else r=+g[d+344>>2];if(!(s+r>0.0)){i=P;return}if(!d)d=c[(c[b+8>>2]|0)+8>>2]|0;if((a[22528]|0)==0?Wa(22528)|0:0){e=23160;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));_a(22528)}e=c[b+12>>2]|0;m=+g[M+8>>2];x=m-+g[d+52>>2];n=+g[M+12>>2];y=n-+g[d+56>>2];o=+g[M+16>>2];v=o-+g[d+60>>2];if(!e){L=c[b+4>>2]|0;d=L;h=+g[L+452>>2];j=0.0;k=0.0;l=0.0}else{Q=+g[e+332>>2];k=+g[e+336>>2];R=+g[e+328>>2];d=c[b+4>>2]|0;l=+g[d+452>>2];h=l;j=(Q*v-k*y+ +g[e+312>>2])*l;k=(+g[e+316>>2]+(k*x-v*R))*l;l=(y*R-Q*x+ +g[e+320>>2])*l}m=m-+g[M+24>>2]-j;Q=n-+g[M+28>>2]-k;R=o-+g[M+32>>2]-l;j=+g[d+316>>2]*+g[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];Pf(P,h,s,r,(e|0)==0?23160:e+264|0,x,y,v);c[P+80>>2]=c[P>>2];c[P+80+4>>2]=c[P+4>>2];c[P+80+8>>2]=c[P+8>>2];c[P+80+12>>2]=c[P+12>>2];c[P+64>>2]=c[P+16>>2];c[P+64+4>>2]=c[P+16+4>>2];c[P+64+8>>2]=c[P+16+8>>2];c[P+64+12>>2]=c[P+16+12>>2];c[P+48>>2]=c[P+32>>2];c[P+48+4>>2]=c[P+32+4>>2];c[P+48+8>>2]=c[P+32+8>>2];c[P+48+12>>2]=c[P+32+12>>2];q=c[b+4>>2]|0;h=s*+g[q+452>>2];j=(R-A*(m*B+Q*C+R*A))*(R-A*(m*B+Q*C+R*A))+((m-B*(m*B+Q*C+R*A))*(m-B*(m*B+Q*C+R*A))+(Q-C*(m*B+Q*C+R*A))*(Q-C*(m*B+Q*C+R*A)))<j*(m*B+Q*C+R*A)*(m*B+Q*C+R*A)*j?0.0:1.0-j;p=c[(c[(c[(c[b+8>>2]|0)+8>>2]|0)+204>>2]&3|0?q+328|0:q+324|0)>>2]|0;d=c[q+812>>2]|0;if((d|0)==(c[q+816>>2]|0)?(N=d|0?d<<1:1,(d|0)<(N|0)):0){if(!N)f=0;else{c[6435]=(c[6435]|0)+1;d=yc((N*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[q+812>>2]|0}if((d|0)>0){e=0;do{L=f+(e*104|0)|0;K=c[q+820>>2]|0;J=K+(e*104|0)|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];L=f+(e*104|0)+28|0;J=K+(e*104|0)+28|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+44|0;J=K+(e*104|0)+44|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+60|0;J=K+(e*104|0)+60|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];L=f+(e*104|0)+76|0;K=K+(e*104|0)+76|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];c[L+16>>2]=c[K+16>>2];c[L+20>>2]=c[K+20>>2];c[L+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[q+820>>2]|0;if(d|0){if(a[q+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[q+820>>2]=0}a[q+824>>0]=1;c[q+820>>2]=f;c[q+816>>2]=N;d=c[q+812>>2]|0}L=c[q+820>>2]|0;c[L+(d*104|0)>>2]=t;g[L+(d*104|0)+4>>2]=B;g[L+(d*104|0)+8>>2]=C;g[L+(d*104|0)+12>>2]=A;g[L+(d*104|0)+16>>2]=0.0;g[L+(d*104|0)+20>>2]=z;c[L+(d*104|0)+24>>2]=M;N=L+(d*104|0)+28|0;c[N>>2]=c[P+80>>2];c[N+4>>2]=c[P+80+4>>2];c[N+8>>2]=c[P+80+8>>2];c[N+12>>2]=c[P+80+12>>2];N=L+(d*104|0)+44|0;c[N>>2]=c[P+64>>2];c[N+4>>2]=c[P+64+4>>2];c[N+8>>2]=c[P+64+8>>2];c[N+12>>2]=c[P+64+12>>2];N=L+(d*104|0)+60|0;c[N>>2]=c[P+48>>2];c[N+4>>2]=c[P+48+4>>2];c[N+8>>2]=c[P+48+8>>2];c[N+12>>2]=c[P+48+12>>2];N=L+(d*104|0)+76|0;g[N>>2]=x;g[L+(d*104|0)+80>>2]=y;g[L+(d*104|0)+84>>2]=v;g[L+(d*104|0)+88>>2]=0.0;g[N+16>>2]=h;g[N+20>>2]=j;c[N+24>>2]=p;c[q+812>>2]=(c[q+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){i=P;return}if(c[d+204>>2]&3|0){i=P;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;g[d+220>>2]=0.0;i=P;return}
14function nc(d,f){d=d|0;f=f|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0;da=i;i=i+288|0;h=c[d+52>>2]|0;if(h|0?(Ab[c[c[h>>2]>>2]&255](h),j=c[d+52>>2]|0,j|0):0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[6435]=(c[6435]|0)+1;h=yc(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=9352;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+52>>2]=h;o=0;n=0;ca=0;J=0;while(1){if((o|0)>=(Eb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((J|0)==(n|0)){l=n|0?n<<1:1;if((n|0)<(l|0)){if((l|0)!=0?(c[6435]=(c[6435]|0)+1,p=yc((l<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;h=p+4+15&-16}else h=0;if((n|0)<=0){if(!ca){m=n;j=l;break}}else{j=0;do{ba=h+(j<<4)|0;aa=ca+(j<<4)|0;c[ba>>2]=c[aa>>2];c[ba+4>>2]=c[aa+4>>2];c[ba+8>>2]=c[aa+8>>2];c[ba+12>>2]=c[aa+12>>2];j=j+1|0}while((j|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[ca+-4>>2]|0);m=n;j=l}else{m=n;j=n;h=ca}}else{m=J;j=n;h=ca}while(0);n=h+(J<<4)|0;c[n>>2]=c[da+192>>2];c[n+4>>2]=c[da+192+4>>2];c[n+8>>2]=c[da+192+8>>2];c[n+12>>2]=c[da+192+12>>2];ic[c[(c[d>>2]|0)+108>>2]&127](d,o,n);o=o+1|0;n=j;ca=h;J=m+1|0}a[da+128+16>>0]=1;ba=da+128+12|0;c[ba>>2]=0;c[da+128+4>>2]=0;c[da+128+8>>2]=0;a[da+128+36>>0]=1;aa=da+128+32|0;c[aa>>2]=0;c[da+128+24>>2]=0;c[da+128+28>>2]=0;a[da+128+56>>0]=1;$=da+128+52|0;c[$>>2]=0;c[da+128+44>>2]=0;c[da+128+48>>2]=0;if(f){if((J|0)>0){G=0;j=0;m=0;l=0;while(1){h=G;G=G+1|0;if((G|0)<(J|0)){C=ca+(h<<4)|0;D=ca+(h<<4)+4|0;A=ca+(h<<4)+8|0;B=G;h=l;do{l=B;B=B+1|0;if((B|0)<(J|0)){y=ca+(l<<4)|0;z=ca+(l<<4)+4|0;f=ca+(l<<4)+8|0;w=B;do{E=+g[C>>2];I=+g[y>>2]-E;F=+g[D>>2];v=+g[z>>2]-F;H=+g[A>>2];x=+g[f>>2]-H;E=+g[ca+(w<<4)>>2]-E;F=+g[ca+(w<<4)+4>>2]-F;H=+g[ca+(w<<4)+8>>2]-H;q=1.0;p=0;while(1){t=(v*H-x*F)*q;u=(x*E-I*H)*q;r=(I*F-v*E)*q;a:do if(r*r+(t*t+u*u)>9.999999747378752e-05){s=1.0/+O(+(r*r+(t*t+u*u)));if((h|0)>0){l=0;do{if(t*s*+g[m+(l<<4)>>2]+u*s*+g[m+(l<<4)+4>>2]+r*s*+g[m+(l<<4)+8>>2]>.9990000128746033)break a;l=l+1|0}while((l|0)<(h|0))}q=t*s*+g[C>>2]+u*s*+g[D>>2]+r*s*+g[A>>2];l=0;do{if(t*s*+g[ca+(l<<4)>>2]+u*s*+g[ca+(l<<4)+4>>2]+r*s*+g[ca+(l<<4)+8>>2]-q+-.009999999776482582>0.0)break a;l=l+1|0}while((l|0)<(J|0));do if((h|0)==(j|0)){o=j|0?j<<1:1;if((j|0)<(o|0)){do if(!o)n=0;else{c[6435]=(c[6435]|0)+1;l=yc((o<<4|3)+16|0)|0;if(!l){n=0;break}c[(l+4+15&-16)+-4>>2]=l;n=l+4+15&-16}while(0);if((j|0)<=0){if(!m){l=j;j=o;m=n;break}}else{l=0;do{Y=n+(l<<4)|0;X=m+(l<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];l=l+1|0}while((l|0)!=(j|0))}c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);l=j;j=o;m=n}else l=j}else l=h;while(0);g[m+(l<<4)>>2]=t*s;g[m+(l<<4)+4>>2]=u*s;g[m+(l<<4)+8>>2]=r*s;g[m+(l<<4)+12>>2]=-q;h=h+1|0}while(0);p=p+1|0;if((p|0)==2)break;else q=-1.0}w=w+1|0}while((w|0)!=(J|0))}}while((B|0)!=(J|0))}else h=l;if((G|0)==(J|0))break;else l=h}if((h|0)>0){o=0;p=0;f=0;while(1){Y=m+(f<<4)|0;c[da+208>>2]=c[Y>>2];c[da+208+4>>2]=c[Y+4>>2];c[da+208+8>>2]=c[Y+8>>2];q=+g[m+(f<<4)+12>>2];q=q-+Sb[c[(c[d>>2]|0)+48>>2]&15](d);do if((f|0)==(o|0)){n=o|0?o<<1:1;if((o|0)<(n|0)){if((n|0)!=0?(c[6435]=(c[6435]|0)+1,K=yc((n<<4|3)+16|0)|0,(K|0)!=0):0){c[(K+4+15&-16)+-4>>2]=K;l=K+4+15&-16}else l=0;if((o|0)<=0){if(!p){j=o;break}}else{j=0;do{Y=l+(j<<4)|0;X=p+(j<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];j=j+1|0}while((j|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0);j=o}else{j=o;n=o;l=p}}else{j=f;n=o;l=p}while(0);Y=l+(j<<4)|0;c[Y>>2]=c[da+208>>2];c[Y+4>>2]=c[da+208+4>>2];c[Y+8>>2]=c[da+208+8>>2];g[l+(j<<4)+12>>2]=q;f=f+1|0;if((f|0)<(h|0)){o=n;p=l}else break}if((f|0)>0){C=0;n=0;j=0;h=0;do{A=C;C=C+1|0;if((C|0)<(f|0)){B=C;do{y=B;B=B+1|0;if((B|0)<(f|0)){z=B;do{t=+g[l+(y<<4)+4>>2];q=+g[l+(z<<4)+8>>2];r=+g[l+(y<<4)+8>>2];u=+g[l+(z<<4)+4>>2];v=+g[l+(z<<4)>>2];x=+g[l+(y<<4)>>2];s=+g[l+(A<<4)+8>>2];E=+g[l+(A<<4)+4>>2];F=+g[l+(A<<4)>>2];b:do if((((u*x-t*v)*(u*x-t*v)+((t*q-r*u)*(t*q-r*u)+(r*v-q*x)*(r*v-q*x))>9.999999747378752e-05?(v*E-u*F)*(v*E-u*F)+((u*s-q*E)*(u*s-q*E)+(q*F-v*s)*(q*F-v*s))>9.999999747378752e-05:0)?(t*F-x*E)*(t*F-x*E)+((r*E-t*s)*(r*E-t*s)+(x*s-r*F)*(x*s-r*F))>9.999999747378752e-05:0)?(U=s*(u*x-t*v)+(E*(r*v-q*x)+(t*q-r*u)*F),+N(+U)>9.999999974752427e-07):0){ea=+g[l+(A<<4)+12>>2];I=+g[l+(y<<4)+12>>2];fa=+g[l+(z<<4)+12>>2];H=-1.0/U*((r*E-t*s)*fa+((t*q-r*u)*ea+(u*s-q*E)*I));r=-1.0/U*((x*s-r*F)*fa+((r*v-q*x)*ea+(q*F-v*s)*I));q=-1.0/U*((t*F-x*E)*fa+((u*x-t*v)*ea+(v*E-u*F)*I));o=0;do{if(+g[l+(o<<4)+12>>2]+(H*+g[l+(o<<4)>>2]+r*+g[l+(o<<4)+4>>2]+q*+g[l+(o<<4)+8>>2])+-.009999999776482582>0.0)break b;o=o+1|0}while((o|0)<(f|0));do if((h|0)==(n|0)){w=n|0?n<<1:1;if((n|0)>=(w|0)){o=n;break}do if(!w)p=0;else{c[6435]=(c[6435]|0)+1;o=yc((w<<4|3)+16|0)|0;if(!o){p=0;break}c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}while(0);if((n|0)<=0){if(!j){o=n;n=w;j=p;break}}else{o=0;do{Y=p+(o<<4)|0;X=j+(o<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];o=o+1|0}while((o|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);o=n;n=w;j=p}else o=h;while(0);g[j+(o<<4)>>2]=H;g[j+(o<<4)+4>>2]=r;g[j+(o<<4)+8>>2]=q;g[j+(o<<4)+12>>2]=0.0;h=h+1|0}while(0);z=z+1|0}while((z|0)!=(f|0))}}while((B|0)!=(f|0))}}while((C|0)!=(f|0))}else{j=0;h=0}}else{l=0;j=0;h=0}}else{m=0;l=0;j=0;h=0}Dc(da+128|0,j,h);if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}if(l|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}}else Dc(da+128|0,ca,J);G=c[da+128+44>>2]|0;if((G|0)>0){c[6435]=(c[6435]|0)+1;h=yc((G<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{Y=j+(h<<4)|0;c[Y>>2]=c[da+112>>2];c[Y+4>>2]=c[da+112+4>>2];c[Y+8>>2]=c[da+112+8>>2];c[Y+12>>2]=c[da+112+12>>2];h=h+1|0}while((h|0)!=(G|0))}else j=0;a[da+92+16>>0]=1;Y=da+92+12|0;c[Y>>2]=0;X=da+92+4|0;c[X>>2]=0;c[da+92+8>>2]=0;m=da+256|0;o=m+19|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(o|0));if((G|0)<0)lb();if((G|0)>0){If(da+92|0,G);h=c[Y>>2]|0;l=0;do{m=h+(l*36|0)|0;a[m+16>>0]=1;c[m+4>>2]=0;c[m+4+4>>2]=0;c[m+4+8>>2]=0;m=m+20|0;n=da+256+3|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));l=l+1|0}while((l|0)!=(G|0))}c[X>>2]=G;p=c[da+128+4>>2]|0;o=c[d+52>>2]|0;n=c[o+8>>2]|0;if((n|0)<(p|0)){if((c[o+12>>2]|0)<(p|0)){if(!p){h=0;l=n}else{c[6435]=(c[6435]|0)+1;h=yc((p<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[o+8>>2]|0}if((l|0)>0){m=0;do{W=h+(m<<4)|0;V=(c[o+16>>2]|0)+(m<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];m=m+1|0}while((m|0)!=(l|0))}l=c[o+16>>2]|0;if(l|0){if(a[o+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[o+16>>2]=0}a[o+20>>0]=1;c[o+16>>2]=h;c[o+12>>2]=p;l=o+16|0}else l=o+16|0;h=n;do{W=(c[l>>2]|0)+(h<<4)|0;c[W>>2]=c[da+56>>2];c[W+4>>2]=c[da+56+4>>2];c[W+8>>2]=c[da+56+8>>2];c[W+12>>2]=c[da+56+12>>2];h=h+1|0}while((h|0)!=(p|0))}c[o+8>>2]=p;if((p|0)>0){h=0;do{W=(c[(c[d+52>>2]|0)+16>>2]|0)+(h<<4)|0;V=(c[ba>>2]|0)+(h<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];h=h+1|0}while((h|0)!=(p|0))}if((G|0)>0){D=0;do{A=(c[aa>>2]|0)+((c[(c[$>>2]|0)+(D<<2)>>2]|0)*12|0)|0;C=A;l=0;do{B=C+4|0;z=c[C+((c[B>>2]|0)*12|0)+8>>2]|0;w=c[Y>>2]|0;y=w+(D*36|0)+4|0;h=c[y>>2]|0;f=w+(D*36|0)+8|0;if((h|0)==(c[f>>2]|0)?(L=h|0?h<<1:1,(h|0)<(L|0)):0){if(!L)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((L<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}p=h;h=c[y>>2]|0}o=w+(D*36|0)+12|0;n=c[o>>2]|0;if((h|0)<=0)if(!n)m=w+(D*36|0)+16|0;else _=132;else{m=0;do{c[p+(m<<2)>>2]=c[n+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0));_=132}if((_|0)==132){_=0;h=w+(D*36|0)+16|0;if(a[h>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[o>>2]=0;m=h;h=c[y>>2]|0}a[m>>0]=1;c[o>>2]=p;c[f>>2]=L}c[(c[w+(D*36|0)+12>>2]|0)+(h<<2)>>2]=z;c[y>>2]=(c[y>>2]|0)+1;V=c[C+8>>2]|0;W=c[ba>>2]|0;s=+g[W+(V<<4)>>2]-+g[W+(z<<4)>>2];t=+g[W+(V<<4)+4>>2]-+g[W+(z<<4)+4>>2];q=+g[W+(V<<4)+8>>2]-+g[W+(z<<4)+8>>2];r=1.0/+O(+(s*s+t*t+q*q));if((l|0)<2){g[da+208+(l<<4)>>2]=s*r;g[da+208+(l<<4)+4>>2]=t*r;g[da+208+(l<<4)+8>>2]=q*r;g[da+208+(l<<4)+12>>2]=0.0;l=l+1|0}W=C+((c[B>>2]|0)*12|0)|0;C=W+((c[W>>2]|0)*12|0)|0}while((C|0)!=(A|0));h=j+(D<<4)|0;if((l|0)==2){H=+g[da+208+4>>2];I=+g[da+208+24>>2];U=+g[da+208+8>>2];ea=+g[da+208+20>>2];F=+g[da+208+16>>2];E=+g[da+208>>2];V=j+(D<<4)+4|0;W=j+(D<<4)+8|0;g[j+(D<<4)+12>>2]=0.0;fa=1.0/+O(+((H*I-U*ea)*(H*I-U*ea)+(U*F-I*E)*(U*F-I*E)+(ea*E-H*F)*(ea*E-H*F)));g[h>>2]=(H*I-U*ea)*fa;g[V>>2]=(U*F-I*E)*fa;g[W>>2]=(ea*E-H*F)*fa;o=c[Y>>2]|0;g[o+(D*36|0)+20>>2]=(H*I-U*ea)*fa;c[o+(D*36|0)+24>>2]=c[V>>2];c[o+(D*36|0)+28>>2]=c[W>>2];g[o+(D*36|0)+32>>2]=1000000015047466219876688.0e6}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;o=c[Y>>2]|0}m=c[o+(D*36|0)+4>>2]|0;if((m|0)>0){n=c[(c[d+52>>2]|0)+16>>2]|0;r=+g[h>>2];s=+g[j+(D<<4)+4>>2];t=+g[j+(D<<4)+8>>2];h=c[o+(D*36|0)+12>>2]|0;q=1000000015047466219876688.0e6;l=0;do{W=c[h+(l<<2)>>2]|0;fa=+g[n+(W<<4)>>2]*r+ +g[n+(W<<4)+4>>2]*s+ +g[n+(W<<4)+8>>2]*t;q=q>fa?fa:q;l=l+1|0}while((l|0)!=(m|0))}else q=1000000015047466219876688.0e6;g[o+(D*36|0)+32>>2]=-q;D=D+1|0}while((D|0)!=(G|0))}if((c[X>>2]|0)>0){o=0;h=0;n=0;while(1){do if((o|0)==(h|0)){h=o|0?o<<1:1;if((o|0)<(h|0)){if((h|0)!=0?(c[6435]=(c[6435]|0)+1,M=yc((h<<2|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;m=M+4+15&-16}else m=0;if((o|0)<=0){if(!n)break}else{l=0;do{c[m+(l<<2)>>2]=c[n+(l<<2)>>2];l=l+1|0}while((l|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}else{h=o;m=n}}else m=n;while(0);c[m+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[X>>2]|0))break;else n=m}L=da+72+12|0;M=da+72+4|0;while(1){f=o+-1|0;l=c[m+(f<<2)>>2]|0;c[6435]=(c[6435]|0)+1;h=yc(23)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=l;W=c[Y>>2]|0;r=+g[W+(l*36|0)+20>>2];s=+g[W+(l*36|0)+24>>2];q=+g[W+(l*36|0)+28>>2];c:do if((o|0)>1){n=1;p=1;l=h;h=f;z=f;while(1){y=p;f=l;d:while(1){l=c[Y>>2]|0;do{W=h;h=h+-1|0;if((W|0)<=0){h=l;K=y;J=f;o=z;break c}w=c[m+(h<<2)>>2]|0}while(!(r*+g[l+(w*36|0)+20>>2]+s*+g[l+(w*36|0)+24>>2]+q*+g[l+(w*36|0)+28>>2]>.9990000128746033));do if((y|0)==(n|0)){n=y|0?y<<1:1;if((y|0)<(n|0)){do if(!n)o=0;else{c[6435]=(c[6435]|0)+1;l=yc((n<<2|3)+16|0)|0;if(!l){o=0;break}c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}while(0);if((y|0)<=0){if(!f){f=o;break}}else{l=0;do{c[o+(l<<2)>>2]=c[f+(l<<2)>>2];l=l+1|0}while((l|0)!=(y|0))}c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);f=o}else n=y}while(0);c[f+(y<<2)>>2]=w;y=y+1|0;l=0;while(1){p=m+(l<<2)|0;if((c[p>>2]|0)==(w|0))break;l=l+1|0;if((l|0)>=(z|0))continue d}if((l|0)<(z|0))break}o=z+-1|0;W=m+(o<<2)|0;c[p>>2]=c[W>>2];c[W>>2]=w;if((z|0)>1){p=y;l=f;z=o}else{p=y;l=f;_=161;break}}}else{n=1;p=1;l=h;h=f;o=f;_=161}while(0);e:do if((_|0)==161){_=0;y=p;w=l;while(1){l=c[Y>>2]|0;do{W=h;h=h+-1|0;if((W|0)<=0){h=l;K=y;J=w;break e}f=c[m+(h<<2)>>2]|0}while(!(r*+g[l+(f*36|0)+20>>2]+s*+g[l+(f*36|0)+24>>2]+q*+g[l+(f*36|0)+28>>2]>.9990000128746033));do if((y|0)==(n|0)){n=y|0?y<<1:1;if((y|0)<(n|0)){do if(!n)l=0;else{c[6435]=(c[6435]|0)+1;l=yc((n<<2|3)+16|0)|0;if(!l){l=0;break}c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}while(0);if((y|0)<=0){if(!w)break}else{p=0;do{c[l+(p<<2)>>2]=c[w+(p<<2)>>2];p=p+1|0}while((p|0)!=(y|0))}c[6436]=(c[6436]|0)+1;hd(c[w+-4>>2]|0)}else{n=y;l=w}}else l=w;while(0);c[l+(y<<2)>>2]=f;y=y+1|0;w=l}}while(0);if((K|0)>1){a[da+72+16>>0]=1;c[L>>2]=0;c[M>>2]=0;c[da+72+8>>2]=0;q=0.0;r=0.0;s=0.0;n=0;B=0;do{l=c[J+(B<<2)>>2]|0;q=+g[h+(l*36|0)+20>>2]+q;r=+g[h+(l*36|0)+24>>2]+r;s=+g[h+(l*36|0)+28>>2]+s;A=h+(l*36|0)+4|0;if((c[A>>2]|0)>0){z=h+(l*36|0)+12|0;h=n;y=0;while(1){w=c[(c[z>>2]|0)+(y<<2)>>2]|0;W=(c[(c[d+52>>2]|0)+16>>2]|0)+(w<<4)|0;c[da+208>>2]=c[W>>2];c[da+208+4>>2]=c[W+4>>2];c[da+208+8>>2]=c[W+8>>2];c[da+208+12>>2]=c[W+12>>2];f:do if((h|0)>0){l=c[L>>2]|0;n=0;while(1){if((c[l+(n*24|0)+20>>2]|0)==(w|0))break f;n=n+1|0;if((n|0)>=(h|0)){_=248;break}}}else _=248;while(0);if((_|0)==248){_=0;c[da>>2]=c[da+208>>2];c[da+4>>2]=c[da+208+4>>2];c[da+8>>2]=c[da+208+8>>2];c[da+12>>2]=c[da+208+12>>2];do if((h|0)==(c[da+72+8>>2]|0)){f=h|0?h<<1:1;if((h|0)>=(f|0))break;if(!f)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((f*24|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}p=h;h=c[M>>2]|0}n=c[L>>2]|0;if((h|0)<=0){if(n)_=257}else{l=0;do{_=p+(l*24|0)|0;W=n+(l*24|0)|0;c[_>>2]=c[W>>2];c[_+4>>2]=c[W+4>>2];c[_+8>>2]=c[W+8>>2];c[_+12>>2]=c[W+12>>2];c[_+16>>2]=c[W+16>>2];c[_+20>>2]=c[W+20>>2];l=l+1|0}while((l|0)!=(h|0));_=257}if((_|0)==257){_=0;if(a[da+72+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0);h=c[M>>2]|0}c[L>>2]=0}a[da+72+16>>0]=1;c[L>>2]=p;c[da+72+8>>2]=f}while(0);W=c[L>>2]|0;V=W+(h*24|0)|0;c[V>>2]=c[da>>2];c[V+4>>2]=c[da+4>>2];c[V+8>>2]=c[da+8>>2];c[V+12>>2]=c[da+12>>2];c[V+16>>2]=c[da+16>>2];c[W+(h*24|0)+20>>2]=w;h=(c[M>>2]|0)+1|0;c[M>>2]=h}y=y+1|0;if((y|0)>=(c[A>>2]|0)){n=h;break}}}B=B+1|0;h=c[Y>>2]|0}while((B|0)<(K|0));a[da+20+16>>0]=1;c[da+20+12>>2]=0;c[da+20+4>>2]=0;c[da+20+8>>2]=0;W=h+20+((c[J>>2]|0)*9<<2)|0;c[da+20+20>>2]=c[W>>2];c[da+20+20+4>>2]=c[W+4>>2];c[da+20+20+8>>2]=c[W+8>>2];c[da+20+20+12>>2]=c[W+12>>2];u=1.0/+O(+(q*q+r*r+s*s));x=q*u;v=r*u;u=s*u;if(+N(+u)>.7071067690849304){t=1.0/+O(+(u*u+v*v));r=0.0;s=v*t;t=-(u*t)}else{t=1.0/+O(+(x*x+v*v));r=-(v*t);s=0.0;t=x*t}if((n|0)<2)if((n|0)>0){h=n;n=0;p=0;y=0;while(1){z=c[L>>2]|0;do if((n|0)==(p|0)){w=p|0?p<<1:1;if((p|0)>=(w|0)){f=p;l=y;break}do if(!w)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((w*24|3)+16|0)|0;if(!h){l=0;p=n;break}c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16;p=n}while(0);if((p|0)<=0){if(y|0)_=209}else{h=0;do{_=l+(h*24|0)|0;W=y+(h*24|0)|0;c[_>>2]=c[W>>2];c[_+4>>2]=c[W+4>>2];c[_+8>>2]=c[W+8>>2];c[_+12>>2]=c[W+12>>2];c[_+16>>2]=c[W+16>>2];c[_+20>>2]=c[W+20>>2];h=h+1|0}while((h|0)!=(p|0));_=209}if((_|0)==209){_=0;c[6436]=(c[6436]|0)+1;hd(c[y+-4>>2]|0)}f=n;h=c[M>>2]|0;p=w}else{f=n;l=y}while(0);W=l+(f*24|0)|0;c[W>>2]=c[z>>2];c[W+4>>2]=c[z+4>>2];c[W+8>>2]=c[z+8>>2];c[W+12>>2]=c[z+12>>2];c[W+16>>2]=c[z+16>>2];c[W+20>>2]=c[z+20>>2];n=n+1|0;if((n|0)<(h|0))y=l;else{_=263;break}}}else{h=0;l=0;_=292}else{h=c[L>>2]|0;l=n;p=0;do{if(r*+g[h+(p*24|0)>>2]+t*+g[h+(p*24|0)+4>>2]+s*+g[h+(p*24|0)+8>>2]<r*+g[h>>2]+t*+g[h+4>>2]+s*+g[h+8>>2]){c[da+208>>2]=c[h>>2];c[da+208+4>>2]=c[h+4>>2];c[da+208+8>>2]=c[h+8>>2];c[da+208+12>>2]=c[h+12>>2];c[da+208+16>>2]=c[h+16>>2];c[da+208+20>>2]=c[h+20>>2];l=h+(p*24|0)|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];c[h+16>>2]=c[l+16>>2];c[h+20>>2]=c[l+20>>2];l=h+(p*24|0)|0;c[l>>2]=c[da+208>>2];c[l+4>>2]=c[da+208+4>>2];c[l+8>>2]=c[da+208+8>>2];c[l+12>>2]=c[da+208+12>>2];c[l+16>>2]=c[da+208+16>>2];c[l+20>>2]=c[da+208+20>>2];l=n}p=p+1|0}while((p|0)<(l|0));g[h+16>>2]=-1000000015047466219876688.0e6;if((l|0)>1){h=c[L>>2]|0;l=c[M>>2]|0;q=+g[h+4>>2];n=1;do{U=+g[h+(n*24|0)>>2]-+g[h>>2];ea=+g[h+(n*24|0)+4>>2]-q;fa=+g[h+(n*24|0)+8>>2]-+g[h+8>>2];g[h+(n*24|0)+16>>2]=((r*ea-t*U)*u+(x*(t*fa-s*ea)+v*(s*U-r*fa)))/+O(+(U*U+ea*ea+fa*fa));n=n+1|0}while((n|0)<(l|0))}c[da+208>>2]=c[h>>2];c[da+208+4>>2]=c[h+4>>2];c[da+208+8>>2]=c[h+8>>2];c[da+208+12>>2]=c[h+12>>2];xf(da+72|0,da+208|0,1,(c[M>>2]|0)+-1|0);l=c[L>>2]|0;c[6435]=(c[6435]|0)+1;h=yc(43)|0;if(!h)p=0;else{c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}n=c[L>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=c[l+4>>2];c[p+8>>2]=c[l+8>>2];c[p+12>>2]=c[l+12>>2];c[p+16>>2]=c[l+16>>2];c[p+20>>2]=c[l+20>>2];c[6435]=(c[6435]|0)+1;h=yc(67)|0;if(!h)l=0;else{c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];c[l+16>>2]=c[p+16>>2];c[l+20>>2]=c[p+20>>2];if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}h=l+24|0;c[h>>2]=c[n+24>>2];c[h+4>>2]=c[n+24+4>>2];c[h+8>>2]=c[n+24+8>>2];c[h+12>>2]=c[n+24+12>>2];c[h+16>>2]=c[n+24+16>>2];c[h+20>>2]=c[n+24+20>>2];h=c[M>>2]|0;if((h|0)==2){h=2;n=2}else{f=2;n=2;p=2;A=2;do{g:do if((f|0)>1){W=c[L>>2]|0;z=W+(A*24|0)|0;q=+g[z>>2];r=+g[W+(A*24|0)+4>>2];s=+g[W+(A*24|0)+8>>2];while(1){W=f+-2|0;w=f+-1|0;U=+g[l+(W*24|0)>>2];ea=U-+g[l+(w*24|0)>>2];H=+g[l+(W*24|0)+4>>2];F=H-+g[l+(w*24|0)+4>>2];fa=+g[l+(W*24|0)+8>>2];I=fa-+g[l+(w*24|0)+8>>2];if((ea*(H-r)-F*(U-q))*u+(x*(F*(fa-s)-I*(H-r))+v*(I*(U-q)-ea*(fa-s)))>0.0)break;if((w|0)>1){f=w;n=w}else{f=w;n=w;break g}}do if((f|0)==(p|0)){y=p<<1;if((p|0)>=(y|0)){f=p;w=p;break}if(p){c[6435]=(c[6435]|0)+1;h=yc((p*48|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}if((n|0)>0){p=h;f=n;_=230}else p=h}else{p=0;h=0;f=0;_=230}if((_|0)==230){_=0;w=0;do{W=h+(w*24|0)|0;V=l+(w*24|0)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];c[W+16>>2]=c[V+16>>2];c[W+20>>2]=c[V+20>>2];w=w+1|0}while((w|0)!=(f|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);h=c[M>>2]|0;f=n;w=y;l=p}else w=p;while(0);f=l+(f*24|0)|0;c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];c[f+20>>2]=c[z+20>>2];n=n+1|0;f=n;p=w}while(0);A=A+1|0}while((A|0)!=(h|0))}_=263}h:do if((_|0)==263){_=0;if((n|0)>0){D=0;A=0;f=0;h=0;G=0;while(1){B=l+(G*24|0)+20|0;do if((D|0)==(A|0)){w=A|0?A<<1:1;if((A|0)>=(w|0)){C=f;break}do if(!w)p=0;else{c[6435]=(c[6435]|0)+1;h=yc((w<<2|3)+16|0)|0;if(!h){p=0;break}c[(h+4+15&-16)+-4>>2]=h;p=h+4+15&-16}while(0);if((A|0)<=0){if(f|0)_=284}else{h=0;do{c[p+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(A|0));_=284}if((_|0)==284){_=0;c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);c[da+20+12>>2]=0}a[da+20+16>>0]=1;c[da+20+12>>2]=p;c[da+20+8>>2]=w;C=p;h=p;A=w}else C=f;while(0);c[C+(D<<2)>>2]=c[B>>2];D=(c[da+20+4>>2]|0)+1|0;c[da+20+4>>2]=D;y=c[M>>2]|0;i:do if((y|0)>0){z=c[L>>2]|0;p=c[B>>2]|0;w=0;while(1){f=z+(w*24|0)+20|0;w=w+1|0;if((c[f>>2]|0)==(p|0))break;if((w|0)>=(y|0))break i}c[f>>2]=-1}while(0);G=G+1|0;if((G|0)>=(n|0)){D=y;break}else f=C}}else{D=h;h=0}if((D|0)<=0){_=292;break}w=c[L>>2]|0;y=c[X>>2]|0;z=c[Y>>2]|0;if((y|0)>0)B=0;else{_=292;break}while(1){A=c[w+(B*24|0)+20>>2]|0;if((A|0)!=-1){C=0;do{n=0;while(1){if((c[J+(n<<2)>>2]|0)==(C|0))break;n=n+1|0;if((n|0)>=(K|0)){_=270;break}}do if((_|0)==270){_=0;n=c[z+(C*36|0)+4>>2]|0;if((n|0)<=0)break;p=c[z+(C*36|0)+12>>2]|0;f=0;do{if((c[p+(f<<2)>>2]|0)==(A|0)){n=1;break h}f=f+1|0}while((f|0)<(n|0))}while(0);C=C+1|0}while((C|0)<(y|0))}B=B+1|0;if((B|0)>=(D|0)){_=292;break}}}while(0);if((_|0)==292){_=0;th((c[d+52>>2]|0)+24|0,da+20|0);n=0}if(l|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[da+20+12>>2]=0}h=c[L>>2]|0;if(h|0){if(a[da+72+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[L>>2]=0}if(n&(K|0)>0){y=0;_=302}}else if((K|0)>0){y=0;_=302}if((_|0)==302)while(1){_=0;f=c[J+(y<<2)>>2]|0;w=c[Y>>2]|0;a[da+208+16>>0]=1;c[da+208+12>>2]=0;c[da+208+4>>2]=0;c[da+208+8>>2]=0;p=c[w+(f*36|0)+4>>2]|0;if((p|0)>0){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}a[da+208+16>>0]=1;c[da+208+12>>2]=h;c[da+208+8>>2]=p;Qn(h|0,0,p<<2|0)|0;l=c[w+(f*36|0)+12>>2]|0;c[da+208+4>>2]=p;n=0;do{c[h+(n<<2)>>2]=c[l+(n<<2)>>2];n=n+1|0}while((n|0)!=(p|0))}else{c[da+208+4>>2]=p;h=0}c[da+208+20>>2]=c[w+(f*36|0)+20>>2];c[da+208+20+4>>2]=c[w+(f*36|0)+20+4>>2];c[da+208+20+8>>2]=c[w+(f*36|0)+20+8>>2];c[da+208+20+12>>2]=c[w+(f*36|0)+20+12>>2];th((c[d+52>>2]|0)+24|0,da+208|0);if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[da+208+12>>2]=0}y=y+1|0;if((y|0)>=(K|0))break;else _=302}if(J|0){c[6436]=(c[6436]|0)+1;hd(c[J+-4>>2]|0)}if(!o)break}}else m=0;W=c[d+52>>2]|0;c[W+64>>2]=0;c[W+64+4>>2]=0;c[W+64+8>>2]=0;c[W+64+12>>2]=0;h=c[W+28>>2]|0;if((h|0)>0){z=0;l=0;n=0;D=0;B=0;w=0;o=0;C=0;y=0;p=0;A=0;G=0;V=0;while(1){f=c[W+36>>2]|0;T=c[f+(V*36|0)+4>>2]|0;if((T|0)>0){R=V&65535;S=V|-65536;P=w;L=y;K=G;h=0;while(1){Q=h+1|0;J=c[f+(V*36|0)+12>>2]|0;w=c[J+(h<<2)>>2]&65535;J=c[J+(((Q|0)==(T|0)?0:Q)<<2)>>2]&65535;M=J<<16>>16>w<<16>>16?w:J;d=J<<16>>16>w<<16>>16?J:w;f=J<<16>>16>w<<16>>16?w:J;w=J<<16>>16>w<<16>>16?J:w;J=L+-1|0;j:do if((((f&65535)<<16)+(w<<16>>16)&J)>>>0<D>>>0?(Z=c[n+((((f&65535)<<16)+(w<<16>>16)&J)<<2)>>2]|0,(Z|0)!=-1):0){h=Z;while(1){if(w<<16>>16==(b[l+(h<<2)>>1]|0)?f<<16>>16==(b[l+(h<<2)+2>>1]|0):0)break;h=c[o+(h<<2)>>2]|0;if((h|0)==-1){G=0;break j}}G=p+(h<<2)|0}else G=0;while(0);h=c[W+16>>2]|0;u=+g[h+(f<<16>>16<<4)>>2]-+g[h+(w<<16>>16<<4)>>2];v=+g[h+(f<<16>>16<<4)+4>>2]-+g[h+(w<<16>>16<<4)+4>>2];s=+g[h+(f<<16>>16<<4)+8>>2]-+g[h+(w<<16>>16<<4)+8>>2];t=1.0/+O(+(u*u+v*v+s*s));h=c[W+48>>2]|0;k:do if((h|0)>0){f=c[W+56>>2]|0;w=0;while(1){q=+g[f+(w<<4)>>2];r=+g[f+(w<<4)+8>>2];do if(!(+N(+(q-u*t))>1.0e-06)){if(+N(+(+g[f+(w<<4)+4>>2]-v*t))>1.0e-06)break;if(!(+N(+(r-s*t))>1.0e-06))break k}while(0);do if(!(+N(+(u*t+q))>1.0e-06)){if(+N(+(v*t+ +g[f+(w<<4)+4>>2]))>1.0e-06)break;if(!(+N(+(s*t+r))>1.0e-06))break k}while(0);w=w+1|0;if((w|0)>=(h|0)){_=338;break}}}else _=338;while(0);if((_|0)==338){_=0;do if((h|0)==(c[W+52>>2]|0)){y=h|0?h<<1:1;if((h|0)>=(y|0))break;if(!y)w=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}w=h;h=c[W+48>>2]|0}if((h|0)>0){f=0;do{ga=w+(f<<4)|0;ha=(c[W+56>>2]|0)+(f<<4)|0;c[ga>>2]=c[ha>>2];c[ga+4>>2]=c[ha+4>>2];c[ga+8>>2]=c[ha+8>>2];c[ga+12>>2]=c[ha+12>>2];f=f+1|0}while((f|0)!=(h|0))}h=c[W+56>>2]|0;if(h|0){if(a[W+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[W+56>>2]=0}a[W+60>>0]=1;c[W+56>>2]=w;c[W+52>>2]=y;h=c[W+48>>2]|0}while(0);ha=c[W+56>>2]|0;g[ha+(h<<4)>>2]=u*t;g[ha+(h<<4)+4>>2]=v*t;g[ha+(h<<4)+8>>2]=s*t;g[ha+(h<<4)+12>>2]=0.0;c[W+48>>2]=(c[W+48>>2]|0)+1}l:do if(!G){h=((M&65535)<<16)+(d<<16>>16)&J;m:do if(h>>>0<D>>>0){f=c[n+(h<<2)>>2]|0;if((f|0)==-1)break;while(1){if(d<<16>>16==(b[l+(f<<2)>>1]|0)?M<<16>>16==(b[l+(f<<2)+2>>1]|0):0)break;f=c[o+(f<<2)>>2]|0;if((f|0)==-1)break m}w=p+(f<<2)|0;b[w>>1]=S;b[w+2>>1]=S>>>16;w=P;y=L;G=K;break l}while(0);do if((C|0)==(L|0)){y=C|0?C<<1:1;if((C|0)>=(y|0)){y=C;break}do if(!y)w=0;else{c[6435]=(c[6435]|0)+1;f=yc((y<<2|3)+16|0)|0;if(!f){w=0;break}c[(f+4+15&-16)+-4>>2]=f;w=f+4+15&-16}while(0);if((C|0)<=0){if(!p){p=w;break}}else{f=0;do{ha=w+(f<<2)|0;ga=p+(f<<2)|0;ga=e[ga>>1]|e[ga+2>>1]<<16;b[ha>>1]=ga;b[ha+2>>1]=ga>>>16;f=f+1|0}while((f|0)!=(C|0))}c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0);p=w}else y=L;while(0);J=p+(C<<2)|0;b[J>>1]=S;b[J+2>>1]=S>>>16;J=C+1|0;do if((K|0)==(z|0)){z=K|0?K<<1:1;if((K|0)>=(z|0)){z=K;break}do if(!z)w=0;else{c[6435]=(c[6435]|0)+1;f=yc((z<<2|3)+16|0)|0;if(!f){w=0;break}c[(f+4+15&-16)+-4>>2]=f;w=f+4+15&-16}while(0);if((K|0)<=0){if(!l){l=w;break}}else{f=0;do{ha=w+(f<<2)|0;ga=l+(f<<2)|0;ga=e[ga>>1]|e[ga+2>>1]<<16;b[ha>>1]=ga;b[ha+2>>1]=ga>>>16;f=f+1|0}while((f|0)!=(K|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);l=w}while(0);G=l+(K<<2)|0;b[G>>1]=(M&65535)<<16|d&65535;b[G+2>>1]=((M&65535)<<16|d&65535)>>>16;G=K+1|0;if((L|0)<(y|0)){do if((y|0)>(D|0)){if((y|0)>=(D|0)){do if((A|0)<(y|0)){do if(!y)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);if((D|0)<=0){if(!n){n=h;h=y;break}}else{f=0;do{c[h+(f<<2)>>2]=c[n+(f<<2)>>2];f=f+1|0}while((f|0)!=(D|0))}c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0);n=h;h=y}else h=A;while(0);Qn(n+(D<<2)|0,0,y-D<<2|0)|0;A=h}if((y|0)>(B|0)){do if((P|0)<(y|0)){do if(!y)f=0;else{c[6435]=(c[6435]|0)+1;h=yc((y<<2|3)+16|0)|0;if(!h){f=0;break}c[(h+4+15&-16)+-4>>2]=h;f=h+4+15&-16}while(0);if((B|0)<=0){if(!o){h=y;o=f;break}}else{h=0;do{c[f+(h<<2)>>2]=c[o+(h<<2)>>2];h=h+1|0}while((h|0)!=(B|0))}c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0);h=y;o=f}else h=P;while(0);Qn(o+(B<<2)|0,0,y-B<<2|0)|0;w=h}else w=P;if((y|0)>0){ha=y<<2;Qn(n|0,-1,ha|0)|0;Qn(o|0,-1,ha|0)|0}if((D|0)<=0){f=y;B=y;h=A;break}h=y+-1|0;f=0;do{ha=n+(((e[l+(f<<2)+2>>1]<<16)+(b[l+(f<<2)>>1]|0)&h)<<2)|0;c[o+(f<<2)>>2]=c[ha>>2];c[ha>>2]=f;f=f+1|0}while((f|0)!=(D|0));f=y;B=y;h=A}else{f=D;w=P;h=A}while(0);A=h;h=((M&65535)<<16)+(d<<16>>16)&y+-1}else{f=D;w=P}D=n+(h<<2)|0;c[o+(C<<2)>>2]=c[D>>2];c[D>>2]=C;D=f;C=J}else{b[G+2>>1]=R;w=P;y=L;G=K}while(0);if((Q|0)>=(T|0))break;f=c[W+36>>2]|0;P=w;L=y;K=G;h=Q}h=c[W+28>>2]|0;f=G}else f=G;V=V+1|0;if((V|0)>=(h|0))break;else G=f}if((h|0)>0){A=c[W+36>>2]|0;B=c[W+16>>2]|0;q=0.0;C=0;do{w=c[A+(C*36|0)+4>>2]|0;y=c[A+(C*36|0)+12>>2]|0;z=c[y>>2]|0;if((w+-2|0)>=1){r=+g[W+64>>2];s=+g[W+68>>2];t=+g[W+72>>2];f=1;do{ga=c[y+(f<<2)>>2]|0;f=f+1|0;ha=c[y+(((f|0)%(w|0)|0)<<2)>>2]|0;u=+g[B+(z<<4)>>2];v=+g[B+(ga<<4)>>2];E=+g[B+(z<<4)+4>>2];F=+g[B+(ga<<4)+4>>2];I=+g[B+(z<<4)+8>>2];U=+g[B+(ga<<4)+8>>2];x=+g[B+(ha<<4)>>2];H=+g[B+(ha<<4)+4>>2];ea=+g[B+(ha<<4)+8>>2];fa=+O(+(((u-v)*(E-H)-(E-F)*(u-x))*((u-v)*(E-H)-(E-F)*(u-x))+(((E-F)*(I-ea)-(I-U)*(E-H))*((E-F)*(I-ea)-(I-U)*(E-H))+((I-U)*(u-x)-(u-v)*(I-ea))*((I-U)*(u-x)-(u-v)*(I-ea)))))*.5;r=r+(u+v+x)*.3333333432674408*fa;g[W+64>>2]=r;s=(E+F+H)*.3333333432674408*fa+s;g[W+68>>2]=s;t=fa*(I+U+ea)*.3333333432674408+t;g[W+72>>2]=t;q=q+fa}while((f|0)!=(w+-1|0))}C=C+1|0}while((C|0)!=(h|0));f=W+64|0;w=1;z=l;y=n}else _=317}else{l=0;n=0;o=0;p=0;_=317}if((_|0)==317){f=W+64|0;w=0;q=0.0;z=l;y=n}t=1.0/q;u=t*+g[f>>2];g[f>>2]=u;s=t*+g[W+68>>2];g[W+68>>2]=s;t=t*+g[W+72>>2];g[W+72>>2]=t;g[W+96>>2]=3402823466385288598117041.0e14;if(w){l=c[W+36>>2]|0;r=3402823466385288598117041.0e14;n=0;while(1){q=+N(+(+g[l+(n*36|0)+32>>2]+(+g[l+(n*36|0)+20>>2]*u+ +g[l+(n*36|0)+24>>2]*s+ +g[l+(n*36|0)+28>>2]*t)));if(q<r)g[W+96>>2]=q;else q=r;n=n+1|0;if((n|0)>=(h|0))break;else r=q}}else q=3402823466385288598117041.0e14;h=c[W+8>>2]|0;if((h|0)>0){l=c[W+16>>2]|0;x=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;n=0;do{fa=+g[l+(n<<4)>>2];t=fa<t?fa:t;x=fa>x?fa:x;fa=+g[l+(n<<4)+4>>2];s=fa<s?fa:s;v=fa>v?fa:v;fa=+g[l+(n<<4)+8>>2];r=fa<r?fa:r;u=fa>u?fa:u;n=n+1|0}while((n|0)!=(h|0))}else{x=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14}g[W+100>>2]=x+t;g[W+104>>2]=s+v;g[W+108>>2]=r+u;g[W+112>>2]=0.0;fa=x-t;ea=v-s;r=u-r;g[W+116>>2]=fa;g[W+120>>2]=ea;g[W+124>>2]=r;g[W+128>>2]=0.0;s=q/1.7320507764816284;f=fa<ea?(ea<r?2:1):fa<r?2:0;q=(+g[W+116+(f<<2)>>2]*.5-s)*.0009765625;g[W+88>>2]=s;g[W+84>>2]=s;g[W+80>>2]=s;r=+g[W+116+(f<<2)>>2]*.5;g[W+80+(f<<2)>>2]=r;h=0;while(1){if(ih(W)|0){_=425;break}r=r-q;g[W+80+(f<<2)>>2]=r;h=h+1|0;if((h|0)>=1024){_=424;break}}n:do if((_|0)==424){g[W+88>>2]=s;g[W+84>>2]=s;g[W+80>>2]=s}else if((_|0)==425){q=(+g[W+96>>2]-s)*.0009765625;l=c[W+80+((1<<(1<<f&3)&3)<<2)>>2]|0;n=0;while(1){h=c[W+80+((1<<f&3)<<2)>>2]|0;g[W+80+((1<<f&3)<<2)>>2]=q+(c[k>>2]=h,+g[k>>2]);r=q+ +g[W+80+((1<<(1<<f&3)&3)<<2)>>2];g[W+80+((1<<(1<<f&3)&3)<<2)>>2]=r;n=n+1|0;if(!(ih(W)|0))break;if((n|0)>=1024)break n;else l=(g[k>>2]=r,c[k>>2]|0)}c[W+80+((1<<f&3)<<2)>>2]=h;c[W+80+((1<<(1<<f&3)&3)<<2)>>2]=l}while(0);if(z|0){c[6436]=(c[6436]|0)+1;hd(c[z+-4>>2]|0)}if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}if(o|0){c[6436]=(c[6436]|0)+1;hd(c[o+-4>>2]|0)}if(y|0){c[6436]=(c[6436]|0)+1;hd(c[y+-4>>2]|0)}if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}p=c[X>>2]|0;f=c[Y>>2]|0;if((p|0)<=0){if(f|0)_=446}else{o=0;do{l=f+(o*36|0)+4|0;m=f+(o*36|0)+12|0;n=c[m>>2]|0;h=f+(o*36|0)+16|0;if(n|0){if(a[h>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[n+-4>>2]|0)}c[m>>2]=0}a[h>>0]=1;c[m>>2]=0;c[l>>2]=0;c[f+(o*36|0)+8>>2]=0;o=o+1|0}while((o|0)!=(p|0));_=446}if((_|0)==446){if(a[da+92+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[Y>>2]=0}if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}h=c[$>>2]|0;if(h|0){if(a[da+128+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[$>>2]=0}a[da+128+56>>0]=1;c[$>>2]=0;c[da+128+44>>2]=0;c[da+128+48>>2]=0;h=c[aa>>2]|0;if(h|0){if(a[da+128+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[aa>>2]=0}a[da+128+36>>0]=1;c[aa>>2]=0;c[da+128+24>>2]=0;c[da+128+28>>2]=0;h=c[ba>>2]|0;if(h|0){if(a[da+128+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[ba>>2]=0}if(!ca){i=da;return 1}c[6436]=(c[6436]|0)+1;hd(c[ca+-4>>2]|0);i=da;return 1}function oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,P=0.0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0.0,oa=0.0,pa=0.0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0;va=i;i=i+688|0;k=c[b+20>>2]|0;if(!k){k=c[b+4>>2]|0;k=Ob[c[(c[k>>2]|0)+12>>2]&63](k,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=k;a[b+16>>0]=1}c[h+4>>2]=k;sa=c[d+4>>2]|0;ta=c[e+4>>2]|0;j=c[sa+4>>2]|0;l=c[ta+4>>2]|0;if((j|0)==10&(l|0)==10){L=+g[k+752>>2];qa=c[sa+52>>2]|0;r=+g[sa+28+(qa<<2)>>2];K=+g[sa+28+(((qa+2|0)%3|0)<<2)>>2];ua=c[ta+52>>2]|0;s=+g[ta+28+(ua<<2)>>2];I=+g[ta+28+(((ua+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;j=c[e+12>>2]|0;B=+g[b+(qa<<2)>>2];E=+g[b+16+(qa<<2)>>2];C=+g[b+32+(qa<<2)>>2];p=+g[j+(ua<<2)>>2];q=+g[j+16+(ua<<2)>>2];w=+g[j+32+(ua<<2)>>2];x=+g[j+48>>2]-+g[b+48>>2];y=+g[j+52>>2]-+g[b+52>>2];A=+g[j+56>>2]-+g[b+56>>2];n=1.0-(B*p+E*q+C*w)*(B*p+E*q+C*w);if(!(n==0.0)){n=(B*x+E*y+C*A-(B*p+E*q+C*w)*(p*x+q*y+w*A))/n;if(!(n<-r)){if(n>r)n=r}else n=-r}else n=0.0;o=(B*p+E*q+C*w)*n-(p*x+q*y+w*A);if(o<-s){n=(B*p+E*q+C*w)*-s+(B*x+E*y+C*A);if(!(n<-r))if(n>r){n=r;o=-s}else o=-s;else{n=-r;o=-s}}else if(o>s){n=s*(B*p+E*q+C*w)+(B*x+E*y+C*A);if(!(n<-r))if(n>r){n=r;o=s}else o=s;else{n=-r;o=s}}u=p*o;t=q*o;s=w*o;o=u+(x-B*n);q=t+(y-E*n);n=s+(A-C*n);r=+O(+(n*n+(o*o+q*q)));if(!(r-K-I>L)){do if(n*n+(o*o+q*q)<=1.4210854715202004e-14)if(+N(+C)>.7071067690849304){n=1.0/+O(+(E*E+C*C));g[va+280>>2]=0.0;g[va+280+4>>2]=-(C*n);g[va+280+8>>2]=E*n;p=0.0;o=-(C*n);n=E*n;break}else{o=1.0/+O(+(B*B+E*E));g[va+280>>2]=-(E*o);g[va+280+4>>2]=B*o;g[va+280+8>>2]=0.0;p=-(E*o);o=B*o;n=0.0;break}else{g[va+280>>2]=o*-(1.0/r);g[va+280+4>>2]=q*-(1.0/r);g[va+280+8>>2]=n*-(1.0/r);g[va+280+12>>2]=0.0;p=o*-(1.0/r);o=q*-(1.0/r);n=n*-(1.0/r)}while(0);pa=I*o+(t+ +g[j+52>>2]);ra=I*n+(s+ +g[j+56>>2]);g[va+264>>2]=I*p+(u+ +g[j+48>>2]);g[va+264+4>>2]=pa;g[va+264+8>>2]=ra;g[va+264+12>>2]=0.0}if(r-K-I<L){hc[c[(c[h>>2]|0)+16>>2]&15](h,va+280|0,va+264|0,r-K-I);k=c[h+4>>2]|0}if(!(c[k+748>>2]|0)){i=va;return}l=c[k+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(m|0)){ef(k,l+4|0,j+4|0);i=va;return}else{ef(k,j+4|0,m+4|0);i=va;return}}g[va+128+128>>2]=999999984306749440.0;D=c[b+8>>2]|0;v=c[b+12>>2]|0;c[va+48>>2]=9208;c[va+48+4>>2]=0;c[va+48+8>>2]=1065353216;c[va+48+12>>2]=0;g[va+48+16>>2]=0.0;c[va+48+20>>2]=v;c[va+48+24>>2]=D;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;c[va+48+36>>2]=j;c[va+48+40>>2]=l;g[va+48+44>>2]=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);g[va+48+48>>2]=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);a[va+48+52>>0]=0;c[va+48+60>>2]=-1;c[va+48+72>>2]=1;c[va+48+76>>2]=1;c[va+48+28>>2]=sa;c[va+48+32>>2]=ta;pa=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);ra=pa+ra+ +g[(c[b+20>>2]|0)+752>>2];g[va+128+128>>2]=ra*ra;D=c[d+12>>2]|0;c[va+128>>2]=c[D>>2];c[va+128+4>>2]=c[D+4>>2];c[va+128+8>>2]=c[D+8>>2];c[va+128+12>>2]=c[D+12>>2];l=va+128+16|0;c[l>>2]=c[D+16>>2];c[l+4>>2]=c[D+16+4>>2];c[l+8>>2]=c[D+16+8>>2];c[l+12>>2]=c[D+16+12>>2];v=va+128+32|0;c[v>>2]=c[D+32>>2];c[v+4>>2]=c[D+32+4>>2];c[v+8>>2]=c[D+32+8>>2];c[v+12>>2]=c[D+32+12>>2];z=va+128+48|0;c[z>>2]=c[D+48>>2];c[z+4>>2]=c[D+48+4>>2];c[z+8>>2]=c[D+48+8>>2];c[z+12>>2]=c[D+48+12>>2];D=va+128+64|0;j=c[e+12>>2]|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];F=va+128+80|0;c[F>>2]=c[j+16>>2];c[F+4>>2]=c[j+16+4>>2];c[F+8>>2]=c[j+16+8>>2];c[F+12>>2]=c[j+16+12>>2];G=va+128+96|0;c[G>>2]=c[j+32>>2];c[G+4>>2]=c[j+32+4>>2];c[G+8>>2]=c[j+32+8>>2];c[G+12>>2]=c[j+32+12>>2];H=va+128+112|0;c[H>>2]=c[j+48>>2];c[H+4>>2]=c[j+48+4>>2];c[H+8>>2]=c[j+48+8>>2];c[H+12>>2]=c[j+48+12>>2];j=c[sa+4>>2]|0;if((j|0)<7?(m=c[ta+4>>2]|0,(m|0)<7):0){c[va+40>>2]=6080;if(!j){j=m;o=0.0}else{o=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);j=c[ta+4>>2]|0}if(!j)n=0.0;else n=+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);c[va>>2]=6108;c[va+4>>2]=h;g[va+24>>2]=o;g[va+28>>2]=n;a[va+36>>0]=0;U=c[sa+52>>2]|0;a:do if(U|0){ma=c[ta+52>>2]|0;do if(!ma){if((c[ta+4>>2]|0)!=1)break a;z=va+624+16|0;a[z>>0]=1;D=va+624+12|0;c[D>>2]=0;v=va+624+4|0;c[v>>2]=0;m=va+624+8|0;c[m>>2]=0;j=c[e+12>>2]|0;pa=+g[ta+56>>2];ra=+g[ta+56+4>>2];p=+g[ta+56+8>>2];n=pa*+g[j>>2]+ra*+g[j+4>>2]+p*+g[j+8>>2]+ +g[j+48>>2];o=pa*+g[j+16>>2]+ra*+g[j+20>>2]+p*+g[j+24>>2]+ +g[j+52>>2];p=pa*+g[j+32>>2]+ra*+g[j+36>>2]+p*+g[j+40>>2]+ +g[j+56>>2];c[6435]=(c[6435]|0)+1;j=yc(35)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[D>>2]|0;if(!j)j=0;else{c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);j=c[v>>2]|0;c[D>>2]=0}a[z>>0]=1;c[D>>2]=k;c[m>>2]=1;g[k+(j<<4)>>2]=n;g[k+(j<<4)+4>>2]=o;g[k+(j<<4)+8>>2]=p;g[k+(j<<4)+12>>2]=0.0;j=(c[v>>2]|0)+1|0;c[v>>2]=j;ua=c[e+12>>2]|0;pa=+g[ta+56+16>>2];ra=+g[ta+56+20>>2];p=+g[ta+56+24>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+p*+g[ua+8>>2]+ +g[ua+48>>2];o=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+p*+g[ua+24>>2]+ +g[ua+52>>2];p=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+p*+g[ua+40>>2]+ +g[ua+56>>2];if((j|0)==(c[m>>2]|0)?(J=j|0?j<<1:1,(j|0)<(J|0)):0){if(!J)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((J<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[v>>2]|0}if((j|0)>0){k=0;do{ua=l+(k<<4)|0;qa=(c[D>>2]|0)+(k<<4)|0;c[ua>>2]=c[qa>>2];c[ua+4>>2]=c[qa+4>>2];c[ua+8>>2]=c[qa+8>>2];c[ua+12>>2]=c[qa+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}a[z>>0]=1;c[D>>2]=l;c[m>>2]=J;j=c[v>>2]|0}ua=c[D>>2]|0;g[ua+(j<<4)>>2]=n;g[ua+(j<<4)+4>>2]=o;g[ua+(j<<4)+8>>2]=p;g[ua+(j<<4)+12>>2]=0.0;j=(c[v>>2]|0)+1|0;c[v>>2]=j;ua=c[e+12>>2]|0;pa=+g[ta+56+32>>2];ra=+g[ta+56+36>>2];p=+g[ta+56+40>>2];n=pa*+g[ua>>2]+ra*+g[ua+4>>2]+p*+g[ua+8>>2]+ +g[ua+48>>2];o=pa*+g[ua+16>>2]+ra*+g[ua+20>>2]+p*+g[ua+24>>2]+ +g[ua+52>>2];p=pa*+g[ua+32>>2]+ra*+g[ua+36>>2]+p*+g[ua+40>>2]+ +g[ua+56>>2];if((j|0)==(c[m>>2]|0)?(S=j|0?j<<1:1,(j|0)<(S|0)):0){if(!S)l=0;else{c[6435]=(c[6435]|0)+1;j=yc((S<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=j;j=c[v>>2]|0}if((j|0)>0){k=0;do{ua=l+(k<<4)|0;e=(c[D>>2]|0)+(k<<4)|0;c[ua>>2]=c[e>>2];c[ua+4>>2]=c[e+4>>2];c[ua+8>>2]=c[e+8>>2];c[ua+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}a[z>>0]=1;c[D>>2]=l;c[m>>2]=S;j=c[v>>2]|0}ua=c[D>>2]|0;g[ua+(j<<4)>>2]=n;g[ua+(j<<4)+4>>2]=o;g[ua+(j<<4)+8>>2]=p;g[ua+(j<<4)+12>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1;q=+g[(c[b+20>>2]|0)+752>>2];Vc(va+48|0,va+128|0,va+40|0,c[f+20>>2]|0,0);n=+g[va+48+4>>2];o=+g[va+48+8>>2];p=+g[va+48+12>>2];if(n*n+o*o+p*p>1.1920928955078125e-07){pa=1.0/(n*n+o*o+p*p);g[va+384>>2]=n*pa;g[va+384+4>>2]=o*pa;g[va+384+8>>2]=p*pa;g[va+384+12>>2]=0.0;pa=+g[va+48+56>>2];ra=+Sb[c[(c[sa>>2]|0)+48>>2]&15](sa);ra=pa-ra-+Sb[c[(c[ta>>2]|0)+48>>2]&15](ta);Wc(va+384|0,c[sa+52>>2]|0,c[d+12>>2]|0,va+624|0,ra-q,q,h)}do if(a[b+16>>0]|0?(T=c[h+4>>2]|0,c[T+748>>2]|0):0){k=c[T+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){ef(T,k+4|0,j+4|0);break}else{ef(T,j+4|0,l+4|0);break}}while(0);j=c[D>>2]|0;if(j|0){if(a[z>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[D>>2]=0}}else{ra=+g[(c[b+20>>2]|0)+752>>2];b:do if(!(a[f+24>>0]|0)){Vc(va+48|0,va+128|0,va,c[f+20>>2]|0,0);n=+g[va+32>>2];if(n<0.0&(a[va+36>>0]|0)!=0){p=+g[va+8>>2];q=+g[va+16>>2];j=c[va+20>>2]|0;o=+g[va+12>>2];qa=111}}else{z=c[d+12>>2]|0;D=c[e+12>>2]|0;c[6418]=(c[6418]|0)+1;ha=+g[U+64>>2];ia=+g[U+68>>2];n=+g[z+4>>2];ja=+g[U+72>>2];o=+g[z+8>>2];p=+g[z+16>>2];q=+g[z+20>>2];r=+g[z+24>>2];s=+g[z+32>>2];t=+g[z+36>>2];u=+g[z+40>>2];ka=+g[ma+64>>2];la=+g[ma+68>>2];pa=+g[ma+72>>2];na=ha*+g[z>>2]+ia*n+ja*o+ +g[z+48>>2]-(ka*+g[D>>2]+la*+g[D+4>>2]+pa*+g[D+8>>2]+ +g[D+48>>2]);oa=ha*p+ia*q+ja*r+ +g[z+52>>2]-(ka*+g[D+16>>2]+la*+g[D+20>>2]+pa*+g[D+24>>2]+ +g[D+52>>2]);pa=ha*s+ia*t+ja*u+ +g[z+56>>2]-(ka*+g[D+32>>2]+la*+g[D+36>>2]+pa*+g[D+40>>2]+ +g[D+56>>2]);l=c[U+28>>2]|0;c:do if((l|0)>0){A=o;B=p;y=q;C=0.0;E=3402823466385288598117041.0e14;k=0;p=0.0;q=0.0;o=0.0;while(1){f=c[U+36>>2]|0;ja=+g[f+(k*36|0)+20>>2];ka=+g[f+(k*36|0)+24>>2];la=+g[f+(k*36|0)+28>>2];w=ja*+g[z>>2]+ka*n+la*A;r=ja*B+ka*y+la*r;n=ja*s+ka*t+la*u;g[va+296>>2]=w;g[va+296+4>>2]=r;g[va+296+8>>2]=n;g[va+296+12>>2]=0.0;if(na*w+oa*r+pa*n<0.0){g[va+296>>2]=-w;g[va+296+4>>2]=-r;g[va+296+8>>2]=-n;x=-w;r=-r;n=-n}else x=w;c[6416]=(c[6416]|0)+1;if(Qi(z,D,na,oa,pa,x,r,n,U,ma,E)|0){c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);s=+g[va+384>>2];t=+g[va+380>>2];do if(s<t){j=0;t=C}else{u=+g[va+376>>2];w=+g[va+624>>2];if(u<w){j=0;t=C;break}j=1;t=s-t<u-w?s-t:u-w}while(0);if(!j)break;if(t<E){s=t;p=x;q=n;o=r}else s=E;x=t;w=s}else{x=C;w=E}j=k+1|0;if((j|0)>=(l|0)){n=w;break c}n=+g[z+4>>2];A=+g[z+8>>2];B=+g[z+16>>2];y=+g[z+20>>2];r=+g[z+24>>2];s=+g[z+32>>2];t=+g[z+36>>2];u=+g[z+40>>2];C=x;E=w;k=j}break b}else{n=3402823466385288598117041.0e14;p=0.0;q=0.0;o=0.0}while(0);l=c[ma+28>>2]|0;d:do if((l|0)>0){A=0.0;k=0;while(1){f=c[ma+36>>2]|0;ka=+g[f+(k*36|0)+20>>2];la=+g[f+(k*36|0)+24>>2];t=+g[f+(k*36|0)+28>>2];r=ka*+g[D>>2]+la*+g[D+4>>2]+t*+g[D+8>>2];s=ka*+g[D+16>>2]+la*+g[D+20>>2]+t*+g[D+24>>2];t=ka*+g[D+32>>2]+la*+g[D+36>>2]+t*+g[D+40>>2];g[va+296>>2]=r;g[va+296+4>>2]=s;g[va+296+8>>2]=t;g[va+296+12>>2]=0.0;if(na*r+oa*s+pa*t<0.0){g[va+296>>2]=-r;g[va+296+4>>2]=-s;g[va+296+8>>2]=-t;r=-r;s=-s;t=-t}c[6416]=(c[6416]|0)+1;if(Qi(z,D,na,oa,pa,r,s,t,U,ma,n)|0){c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);u=+g[va+384>>2];w=+g[va+380>>2];do if(u<w){j=0;u=A}else{x=+g[va+376>>2];y=+g[va+624>>2];if(x<y){j=0;u=A;break}j=1;u=u-w<x-y?u-w:x-y}while(0);if(!j)break;if(u<n){n=u;p=r;q=t;o=s}}else u=A;k=k+1|0;if((k|0)>=(l|0))break d;else A=u}break b}while(0);j=c[U+48>>2]|0;e:do if((j|0)>0){l=c[ma+48>>2]|0;t=0.0;v=0;k=-1;m=-1;x=0.0;y=0.0;A=0.0;B=0.0;V=0.0;W=0.0;Y=0.0;r=0.0;s=0.0;P=0.0;M=0.0;L=0.0;E=0.0;I=0.0;K=0.0;u=0.0;w=0.0;C=0.0;f:while(1){f=c[U+56>>2]|0;ha=+g[f+(v<<4)>>2];ia=+g[f+(v<<4)+4>>2];la=+g[f+(v<<4)+8>>2];ja=ha*+g[z>>2]+ia*+g[z+4>>2]+la*+g[z+8>>2];ka=ha*+g[z+16>>2]+ia*+g[z+20>>2]+la*+g[z+24>>2];la=ha*+g[z+32>>2]+ia*+g[z+36>>2]+la*+g[z+40>>2];if((l|0)>0){X=t;l=0;ia=p;ha=q;ga=o;_=x;aa=y;ca=A;while(1){f=c[ma+56>>2]|0;ea=+g[f+(l<<4)>>2];fa=+g[f+(l<<4)+4>>2];ba=+g[f+(l<<4)+8>>2];Z=ea*+g[D>>2]+fa*+g[D+4>>2]+ba*+g[D+8>>2];$=ea*+g[D+16>>2]+fa*+g[D+20>>2]+ba*+g[D+24>>2];ba=ea*+g[D+32>>2]+fa*+g[D+36>>2]+ba*+g[D+40>>2];g[va+296>>2]=ka*ba-la*$;g[va+296+4>>2]=la*Z-ja*ba;g[va+296+8>>2]=ja*$-ka*Z;g[va+296+12>>2]=0.0;do if(!(+N(+(ka*ba-la*$))>1.0e-06)){if(+N(+(la*Z-ja*ba))>1.0e-06){qa=75;break}if(!(+N(+(ja*$-ka*Z))>1.0e-06)){p=ia;q=ha;o=ga;da=B;ea=V;fa=W}else qa=75}else qa=75;while(0);do if((qa|0)==75){qa=0;q=1.0/+O(+((ka*ba-la*$)*(ka*ba-la*$)+(la*Z-ja*ba)*(la*Z-ja*ba)+(ja*$-ka*Z)*(ja*$-ka*Z)));p=(ka*ba-la*$)*q;g[va+296>>2]=p;o=(la*Z-ja*ba)*q;g[va+296+4>>2]=o;q=(ja*$-ka*Z)*q;g[va+296+8>>2]=q;if(p*na+o*oa+pa*q<0.0){g[va+296>>2]=-p;g[va+296+4>>2]=-o;g[va+296+8>>2]=-q;p=-p;o=-o;q=-q}c[6416]=(c[6416]|0)+1;if(!(Qi(z,D,na,oa,pa,p,o,q,U,ma,n)|0)){p=ia;q=ha;o=ga;da=B;ea=V;fa=W;break}c[6417]=(c[6417]|0)+1;gh(U,z,va+296|0,va+624|0,va+384|0,va+360|0,va+344|0);gh(ma,D,va+296|0,va+380|0,va+376|0,va+328|0,va+312|0);t=+g[va+384>>2];x=+g[va+380>>2];do if(!(t<x)){y=+g[va+376>>2];A=+g[va+624>>2];if(y<A){j=0;t=X;x=_;y=aa;A=ca;break}if(t-x<y-A){j=1;t=t-x;x=+g[va+344>>2];y=+g[va+344+4>>2];A=+g[va+344+8>>2];B=+g[va+328>>2];V=+g[va+328+4>>2];W=+g[va+328+8>>2];break}else{j=1;t=y-A;x=+g[va+360>>2];y=+g[va+360+4>>2];A=+g[va+360+8>>2];B=+g[va+312>>2];V=+g[va+312+4>>2];W=+g[va+312+8>>2];break}}else{j=0;t=X;x=_;y=aa;A=ca}while(0);if(!j)break f;if(!(t<n)){X=t;p=ia;q=ha;o=ga;_=x;aa=y;ca=A;da=B;ea=V;fa=W;break}X=t;n=t;k=v;m=l;_=x;aa=y;ca=A;da=B;ea=V;fa=W;Y=x;r=y;s=A;P=B;M=V;L=W;E=ja;I=ka;K=la;u=Z;w=$;C=ba}while(0);l=l+1|0;j=c[ma+48>>2]|0;if((l|0)>=(j|0))break;else{ia=p;ha=q;ga=o;B=da;V=ea;W=fa}}l=j;j=c[U+48>>2]|0;t=X;x=_;y=aa;A=ca;B=da;V=ea;W=fa;X=Y}else X=Y;v=v+1|0;if((v|0)>=(j|0)){j=m;n=X;break e}else Y=X}break b}else{k=-1;j=-1;n=0.0;r=0.0;s=0.0;P=0.0;M=0.0;L=0.0;E=0.0;I=0.0;K=0.0;u=0.0;w=0.0;C=0.0}while(0);if((j|k|0)>-1){y=P-n;A=M-r;B=L-s;r=u*E+w*I+C*K;s=y*E+A*I+B*K;n=y*u+A*w+B*C;do if(1.0-r*r==0.0)t=0.0;else{if((s-n*r)/(1.0-r*r)<-1000000015047466219876688.0e6){t=-1000000015047466219876688.0e6;break}if(!((s-n*r)/(1.0-r*r)>1000000015047466219876688.0e6)){t=(s-n*r)/(1.0-r*r);break}t=1000000015047466219876688.0e6}while(0);n=r*t-n;do if(n<-1000000015047466219876688.0e6){if(s-r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}if(!(s-r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s-r*1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=-1000000015047466219876688.0e6}else{if(!(n>1000000015047466219876688.0e6)){r=t;break}if(s+r*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){r=-1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}if(!(s+r*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){r=s+r*1000000015047466219876688.0e6;n=1000000015047466219876688.0e6;break}r=1000000015047466219876688.0e6;n=1000000015047466219876688.0e6}while(0);x=u*n;w=w*n;u=C*n;t=x+(y-E*r);s=w+(A-I*r);n=u+(B-K*r);g[va+624>>2]=t;g[va+624+4>>2]=s;g[va+624+8>>2]=n;g[va+624+12>>2]=0.0;if(t*t+s*s+n*n>1.1920928955078125e-07){r=+O(+(t*t+s*s+n*n));g[va+624>>2]=t*(1.0/r);g[va+624+4>>2]=1.0/r*s;g[va+624+8>>2]=1.0/r*n;if(t*(1.0/r)*na+1.0/r*s*oa+1.0/r*n*pa<0.0){g[va+624>>2]=-(t*(1.0/r));g[va+624+4>>2]=-(1.0/r*s);g[va+624+8>>2]=-(1.0/r*n)}g[va+384>>2]=P+x;g[va+384+4>>2]=M+w;g[va+384+8>>2]=L+u;g[va+384+12>>2]=0.0;hc[c[(c[h>>2]|0)+16>>2]&15](h,va+624|0,va+384|0,-r)}}if(na*p+oa*o+pa*q<0.0){n=-1000000015047466219876688.0e6;p=-p;q=-q;j=0;o=-o;qa=111}else{n=-1000000015047466219876688.0e6;j=0;qa=111}}while(0);if((qa|0)==111){U=c[sa+52>>2]|0;f=c[ta+52>>2]|0;T=c[d+12>>2]|0;S=c[e+12>>2]|0;K=n-ra;C=1.0/+O(+(p*p+o*o+q*q));I=p*C;E=o*C;C=q*C;g[va+624>>2]=I;g[va+624+4>>2]=E;g[va+624+8>>2]=C;c[va+624+12>>2]=j;k=c[f+28>>2]|0;v=c[f+36>>2]|0;if((k|0)>0){n=+g[S>>2];o=+g[S+4>>2];p=+g[S+8>>2];q=+g[S+16>>2];r=+g[S+20>>2];s=+g[S+24>>2];t=+g[S+32>>2];u=+g[S+36>>2];w=+g[S+40>>2];j=-1;B=-3402823466385288598117041.0e14;m=0;while(1){x=+g[v+(m*36|0)+20>>2];y=+g[v+(m*36|0)+24>>2];A=+g[v+(m*36|0)+28>>2];l=(x*n+y*o+A*p)*I+(x*q+y*r+A*s)*E+(x*t+y*u+A*w)*C>B;j=l?m:j;m=m+1|0;if((m|0)==(k|0)){H=j;break}else B=l?(x*n+y*o+A*p)*I+(x*q+y*r+A*s)*E+(x*t+y*u+A*w)*C:B}}else H=-1;a[va+384+16>>0]=1;J=va+384+12|0;c[J>>2]=0;F=va+384+4|0;c[F>>2]=0;c[va+384+8>>2]=0;G=c[v+(H*36|0)+4>>2]|0;g:do if((G|0)>0){D=v+(H*36|0)+12|0;j=0;l=0;k=0;while(1){d=c[(c[D>>2]|0)+(k<<2)>>2]|0;e=c[f+16>>2]|0;oa=+g[e+(d<<4)>>2];pa=+g[e+(d<<4)+4>>2];p=+g[e+(d<<4)+8>>2];n=oa*+g[S>>2]+pa*+g[S+4>>2]+p*+g[S+8>>2]+ +g[S+48>>2];o=oa*+g[S+16>>2]+pa*+g[S+20>>2]+p*+g[S+24>>2]+ +g[S+52>>2];p=oa*+g[S+32>>2]+pa*+g[S+36>>2]+p*+g[S+40>>2]+ +g[S+56>>2];if((j|0)==(l|0)){z=l|0?l<<1:1;if((l|0)<(z|0)){if(!z){v=0;j=l}else{c[6435]=(c[6435]|0)+1;j=yc((z<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}v=j;j=c[F>>2]|0}m=c[J>>2]|0;if((j|0)<=0){if(m)qa=126}else{l=0;do{d=v+(l<<4)|0;e=m+(l<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];l=l+1|0}while((l|0)!=(j|0));qa=126}if((qa|0)==126){qa=0;if(a[va+384+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);j=c[F>>2]|0}c[J>>2]=0}a[va+384+16>>0]=1;c[J>>2]=v;c[va+384+8>>2]=z}else j=l}d=c[J>>2]|0;g[d+(j<<4)>>2]=n;g[d+(j<<4)+4>>2]=o;g[d+(j<<4)+8>>2]=p;g[d+(j<<4)+12>>2]=0.0;j=(c[F>>2]|0)+1|0;c[F>>2]=j;k=k+1|0;if((k|0)>=(G|0))break g;l=c[va+384+8>>2]|0}}while(0);if((H|0)>-1)Wc(va+624|0,U,T,va+384|0,K,ra,h);j=c[J>>2]|0;if(j|0){if(a[va+384+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[J>>2]=0}}if(a[b+16>>0]|0?(ua=c[h+4>>2]|0,c[ua+748>>2]|0):0){k=c[ua+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){ef(ua,k+4|0,j+4|0);break}else{ef(ua,j+4|0,l+4|0);break}}}while(0);i=va;return}while(0)}Vc(va+48|0,va+128|0,h,c[f+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(K=+g[va+48+4>>2],L=+g[va+48+8>>2],M=+g[va+48+12>>2],K*K+L*L+M*M>1.1920928955078125e-07):0){B=1.0/(K*K+L*L+M*M);if(+N(+(M*B))>.7071067690849304){I=1.0/+O(+(M*B*M*B+L*B*L*B));C=0.0;E=L*B*I;I=-(M*B*I)}else{I=1.0/+O(+(K*B*K*B+L*B*L*B));C=-(L*B*I);E=0.0;I=K*B*I}A=+Sb[c[(c[sa>>2]|0)+16>>2]&15](sa);x=+Sb[c[(c[ta>>2]|0)+16>>2]&15](ta);n=.019999999552965164/(A<x?A:x);if(A<x){c[va+624>>2]=c[va+128>>2];c[va+624+4>>2]=c[va+128+4>>2];c[va+624+8>>2]=c[va+128+8>>2];c[va+624+12>>2]=c[va+128+12>>2];c[va+624+16>>2]=c[l>>2];c[va+624+16+4>>2]=c[l+4>>2];c[va+624+16+8>>2]=c[l+8>>2];c[va+624+16+12>>2]=c[l+12>>2];c[va+624+32>>2]=c[v>>2];c[va+624+32+4>>2]=c[v+4>>2];c[va+624+32+8>>2]=c[v+8>>2];c[va+624+32+12>>2]=c[v+12>>2];c[va+624+48>>2]=c[z>>2];c[va+624+48+4>>2]=c[z+4>>2];c[va+624+48+8>>2]=c[z+8>>2];c[va+624+48+12>>2]=c[z+12>>2]}else{c[va+624>>2]=c[D>>2];c[va+624+4>>2]=c[D+4>>2];c[va+624+8>>2]=c[D+8>>2];c[va+624+12>>2]=c[D+12>>2];c[va+624+16>>2]=c[F>>2];c[va+624+16+4>>2]=c[F+4>>2];c[va+624+16+8>>2]=c[F+8>>2];c[va+624+16+12>>2]=c[F+12>>2];c[va+624+32>>2]=c[G>>2];c[va+624+32+4>>2]=c[G+4>>2];c[va+624+32+8>>2]=c[G+8>>2];c[va+624+32+12>>2]=c[G+12>>2];c[va+624+48>>2]=c[H>>2];c[va+624+48+4>>2]=c[H+4>>2];c[va+624+48+8>>2]=c[H+8>>2];c[va+624+48+12>>2]=c[H+12>>2]}j=c[b+28>>2]|0;if((j|0)>0){y=C*C+I*I+E*E;w=(n>.39269909262657166?.39269909262657166:n)*.5;k=0;do{if(y>1.1920928955078125e-07){t=+R(+w)/+O(+y);r=C*t;s=I*t;t=E*t;u=+Q(+w);q=+(k|0)*(6.2831854820251465/+(j|0))*.5;p=+R(+q)/+O(+(M*B*M*B+(K*B*K*B+L*B*L*B)));n=K*B*p;o=L*B*p;p=M*B*p;q=+Q(+q);if(A<x){la=p*(r*-p+(s*q+u*-o)-t*-n)+(n*(u*q-r*-n-s*-o-t*-p)+q*(t*-o+(r*q+u*-n)-s*-p))-o*(s*-n+(t*q+u*-p)-r*-o);oa=n*(s*-n+(t*q+u*-p)-r*-o)+(q*(r*-p+(s*q+u*-o)-t*-n)+o*(u*q-r*-n-s*-o-t*-p))-p*(t*-o+(r*q+u*-n)-s*-p);aa=o*(t*-o+(r*q+u*-n)-s*-p)+(p*(u*q-r*-n-s*-o-t*-p)+q*(s*-n+(t*q+u*-p)-r*-o))-n*(r*-p+(s*q+u*-o)-t*-n);ja=q*(u*q-r*-n-s*-o-t*-p)-n*(t*-o+(r*q+u*-n)-s*-p)-o*(r*-p+(s*q+u*-o)-t*-n)-p*(s*-n+(t*q+u*-p)-r*-o);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[d+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+4>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+8>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+12>>2]=0.0;g[va+128+16>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+20>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+24>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+28>>2]=0.0;g[va+128+32>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+36>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+40>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+44>>2]=0.0;ua=c[e+12>>2]|0;c[D>>2]=c[ua>>2];c[D+4>>2]=c[ua+4>>2];c[D+8>>2]=c[ua+8>>2];c[D+12>>2]=c[ua+12>>2];c[F>>2]=c[ua+16>>2];c[F+4>>2]=c[ua+16+4>>2];c[F+8>>2]=c[ua+16+8>>2];c[F+12>>2]=c[ua+16+12>>2];c[G>>2]=c[ua+32>>2];c[G+4>>2]=c[ua+32+4>>2];c[G+8>>2]=c[ua+32+8>>2];c[G+12>>2]=c[ua+32+12>>2];c[H>>2]=c[ua+48>>2];c[H+4>>2]=c[ua+48+4>>2];c[H+8>>2]=c[ua+48+8>>2];c[H+12>>2]=c[ua+48+12>>2]}else{ua=c[d+12>>2]|0;c[va+128>>2]=c[ua>>2];c[va+128+4>>2]=c[ua+4>>2];c[va+128+8>>2]=c[ua+8>>2];c[va+128+12>>2]=c[ua+12>>2];c[l>>2]=c[ua+16>>2];c[l+4>>2]=c[ua+16+4>>2];c[l+8>>2]=c[ua+16+8>>2];c[l+12>>2]=c[ua+16+12>>2];c[v>>2]=c[ua+32>>2];c[v+4>>2]=c[ua+32+4>>2];c[v+8>>2]=c[ua+32+8>>2];c[v+12>>2]=c[ua+32+12>>2];c[z>>2]=c[ua+48>>2];c[z+4>>2]=c[ua+48+4>>2];c[z+8>>2]=c[ua+48+8>>2];c[z+12>>2]=c[ua+48+12>>2];la=p*(r*-p+(s*q+u*-o)-t*-n)+(n*(u*q-r*-n-s*-o-t*-p)+q*(t*-o+(r*q+u*-n)-s*-p))-o*(s*-n+(t*q+u*-p)-r*-o);oa=n*(s*-n+(t*q+u*-p)-r*-o)+(q*(r*-p+(s*q+u*-o)-t*-n)+o*(u*q-r*-n-s*-o-t*-p))-p*(t*-o+(r*q+u*-n)-s*-p);aa=o*(t*-o+(r*q+u*-n)-s*-p)+(p*(u*q-r*-n-s*-o-t*-p)+q*(s*-n+(t*q+u*-p)-r*-o))-n*(r*-p+(s*q+u*-o)-t*-n);ja=q*(u*q-r*-n-s*-o-t*-p)-n*(t*-o+(r*q+u*-n)-s*-p)-o*(r*-p+(s*q+u*-o)-t*-n)-p*(s*-n+(t*q+u*-p)-r*-o);na=la*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));pa=oa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ia=aa*(2.0/(ja*ja+(aa*aa+(la*la+oa*oa))));ua=c[e+12>>2]|0;ba=+g[ua>>2];ca=+g[ua+16>>2];da=+g[ua+32>>2];ea=+g[ua+4>>2];fa=+g[ua+20>>2];ga=+g[ua+36>>2];ha=+g[ua+8>>2];ka=+g[ua+24>>2];ra=+g[ua+40>>2];g[va+128+64>>2]=(1.0-(oa*pa+aa*ia))*ba+(la*pa-ja*ia)*ca+(la*ia+ja*pa)*da;g[va+128+68>>2]=(1.0-(oa*pa+aa*ia))*ea+(la*pa-ja*ia)*fa+(la*ia+ja*pa)*ga;g[va+128+72>>2]=(1.0-(oa*pa+aa*ia))*ha+(la*pa-ja*ia)*ka+(la*ia+ja*pa)*ra;g[va+128+76>>2]=0.0;g[va+128+80>>2]=(la*pa+ja*ia)*ba+(1.0-(la*na+aa*ia))*ca+(oa*ia-ja*na)*da;g[va+128+84>>2]=(la*pa+ja*ia)*ea+(1.0-(la*na+aa*ia))*fa+(oa*ia-ja*na)*ga;g[va+128+88>>2]=(la*pa+ja*ia)*ha+(1.0-(la*na+aa*ia))*ka+(oa*ia-ja*na)*ra;g[va+128+92>>2]=0.0;g[va+128+96>>2]=(la*ia-ja*pa)*ba+(oa*ia+ja*na)*ca+(1.0-(la*na+oa*pa))*da;g[va+128+100>>2]=(la*ia-ja*pa)*ea+(oa*ia+ja*na)*fa+(1.0-(la*na+oa*pa))*ga;g[va+128+104>>2]=(la*ia-ja*pa)*ha+(oa*ia+ja*na)*ka+(1.0-(la*na+oa*pa))*ra;g[va+128+108>>2]=0.0}j=c[f+20>>2]|0;c[va+384>>2]=6136;c[va+384+32>>2]=h;c[va+384+36>>2]=c[va+128>>2];c[va+384+36+4>>2]=c[va+128+4>>2];c[va+384+36+8>>2]=c[va+128+8>>2];c[va+384+36+12>>2]=c[va+128+12>>2];c[va+384+52>>2]=c[l>>2];c[va+384+52+4>>2]=c[l+4>>2];c[va+384+52+8>>2]=c[l+8>>2];c[va+384+52+12>>2]=c[l+12>>2];c[va+384+68>>2]=c[v>>2];c[va+384+68+4>>2]=c[v+4>>2];c[va+384+68+8>>2]=c[v+8>>2];c[va+384+68+12>>2]=c[v+12>>2];c[va+384+84>>2]=c[z>>2];c[va+384+84+4>>2]=c[z+4>>2];c[va+384+84+8>>2]=c[z+8>>2];c[va+384+84+12>>2]=c[z+12>>2];c[va+384+100>>2]=c[D>>2];c[va+384+100+4>>2]=c[D+4>>2];c[va+384+100+8>>2]=c[D+8>>2];c[va+384+100+12>>2]=c[D+12>>2];c[va+384+116>>2]=c[F>>2];c[va+384+116+4>>2]=c[F+4>>2];c[va+384+116+8>>2]=c[F+8>>2];c[va+384+116+12>>2]=c[F+12>>2];c[va+384+132>>2]=c[G>>2];c[va+384+132+4>>2]=c[G+4>>2];c[va+384+132+8>>2]=c[G+8>>2];c[va+384+132+12>>2]=c[G+12>>2];c[va+384+148>>2]=c[H>>2];c[va+384+148+4>>2]=c[H+4>>2];c[va+384+148+8>>2]=c[H+8>>2];c[va+384+148+12>>2]=c[H+12>>2];c[va+384+164>>2]=c[va+624>>2];c[va+384+164+4>>2]=c[va+624+4>>2];c[va+384+164+8>>2]=c[va+624+8>>2];c[va+384+164+12>>2]=c[va+624+12>>2];c[va+384+180>>2]=c[va+624+16>>2];c[va+384+180+4>>2]=c[va+624+16+4>>2];c[va+384+180+8>>2]=c[va+624+16+8>>2];c[va+384+180+12>>2]=c[va+624+16+12>>2];c[va+384+196>>2]=c[va+624+32>>2];c[va+384+196+4>>2]=c[va+624+32+4>>2];c[va+384+196+8>>2]=c[va+624+32+8>>2];c[va+384+196+12>>2]=c[va+624+32+12>>2];c[va+384+212>>2]=c[va+624+48>>2];c[va+384+212+4>>2]=c[va+624+48+4>>2];c[va+384+212+8>>2]=c[va+624+48+8>>2];c[va+384+212+12>>2]=c[va+624+48+12>>2];a[va+384+228>>0]=A<x&1;c[va+384+232>>2]=j;Vc(va+48|0,va+128|0,va+384|0,j,0);j=c[b+28>>2]|0}k=k+1|0}while((k|0)<(j|0))}}if(!(a[b+16>>0]|0)){i=va;return}k=c[h+4>>2]|0;if(!(c[k+748>>2]|0)){i=va;return}l=c[k+740>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(m|0)){ef(k,l+4|0,j+4|0);i=va;return}else{ef(k,j+4|0,m+4|0);i=va;return}}function pc(d){d=d|0;var e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0;X=i;i=i+1024|0;tc(d);if(!(Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0)){i=X;return}if((c[d+328>>2]|0)<=0){i=X;return}Q=X+944+32|0;R=X+944+52|0;W=0;do{S=c[(c[d+336>>2]|0)+(W<<2)>>2]|0;if(Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0?(M=Eb[c[(c[d>>2]|0)+20>>2]&127](d)|0,(Eb[c[(c[M>>2]|0)+48>>2]&127](M)|0)&1|0):0){e=c[d+72>>2]|0;if(!(a[S+473>>0]|0))M=e;else{c[X+864>>2]=c[S+520>>2];c[X+864+4>>2]=c[S+520+4>>2];c[X+864+8>>2]=c[S+520+8>>2];c[X+864+12>>2]=c[S+520+12>>2];j=+g[S+584>>2];l=+g[S+536>>2];m=+g[S+600>>2];u=+g[S+540>>2];v=+g[S+616>>2];w=+g[S+544>>2];x=+g[S+588>>2];y=+g[S+604>>2];z=+g[S+620>>2];A=+g[S+592>>2];B=+g[S+608>>2];D=+g[S+624>>2];E=+g[S+552>>2];F=+g[S+556>>2];G=+g[S+560>>2];H=+g[S+568>>2];I=+g[S+572>>2];J=+g[S+576>>2];ha=j*l+m*u+v*w+(l*x+u*y+w*z)*0.0+(l*A+u*B+w*D)*0.0;fa=(A*E+B*F+D*G)*0.0+(j*E+m*F+v*G+(x*E+y*F+z*G)*0.0);ea=(A*H+B*I+D*J)*0.0+(j*H+m*I+v*J+(x*H+y*I+z*J)*0.0);ga=1.0/+O(+(ha*ha+fa*fa+ea*ea));da=(j*l+m*u+v*w)*0.0+(l*x+u*y+w*z)+(l*A+u*B+w*D)*0.0;ba=(A*E+B*F+D*G)*0.0+(x*E+y*F+z*G+(j*E+m*F+v*G)*0.0);aa=(A*H+B*I+D*J)*0.0+(x*H+y*I+z*J+(j*H+m*I+v*J)*0.0);ca=1.0/+O(+(da*da+ba*ba+aa*aa));$=(j*l+m*u+v*w)*0.0+(l*x+u*y+w*z)*0.0+(l*A+u*B+w*D);Z=A*E+B*F+D*G+((j*E+m*F+v*G)*0.0+(x*E+y*F+z*G)*0.0);Y=A*H+B*I+D*J+((j*H+m*I+v*J)*0.0+(x*H+y*I+z*J)*0.0);_=1.0/+O(+($*$+Z*Z+Y*Y));M=c[(c[e>>2]|0)+8>>2]|0;fa=fa*ga*10.0+ +g[X+864+4>>2];ea=ga*ea*10.0+ +g[X+864+8>>2];g[X+848>>2]=ha*ga*10.0+ +g[X+864>>2];g[X+848+4>>2]=fa;g[X+848+8>>2]=ea;g[X+848+12>>2]=0.0;c[X+832>>2]=1065353216;c[X+832+4>>2]=0;c[X+832+8>>2]=0;g[X+832+12>>2]=0.0;mc[M&127](e,X+864|0,X+848|0,X+832|0);M=c[(c[e>>2]|0)+8>>2]|0;ba=ba*ca*10.0+ +g[X+864+4>>2];aa=ca*aa*10.0+ +g[X+864+8>>2];g[X+816>>2]=da*ca*10.0+ +g[X+864>>2];g[X+816+4>>2]=ba;g[X+816+8>>2]=aa;g[X+816+12>>2]=0.0;c[X+800>>2]=0;c[X+800+4>>2]=1065353216;c[X+800+8>>2]=0;g[X+800+12>>2]=0.0;mc[M&127](e,X+864|0,X+816|0,X+800|0);M=c[(c[e>>2]|0)+8>>2]|0;Z=Z*_*10.0+ +g[X+864+4>>2];Y=_*Y*10.0+ +g[X+864+8>>2];g[X+784>>2]=$*_*10.0+ +g[X+864>>2];g[X+784+4>>2]=Z;g[X+784+8>>2]=Y;g[X+784+12>>2]=0.0;c[X+768>>2]=0;c[X+768+4>>2]=0;c[X+768+8>>2]=1065353216;g[X+768+12>>2]=0.0;mc[M&127](e,X+864|0,X+784|0,X+768|0);if((c[S+484>>2]|0)>0){f=0;do{M=c[S+492>>2]|0;da=+g[M+(f<<4)>>2];ea=+g[M+(f<<4)+4>>2];ha=+g[M+(f<<4)+8>>2];fa=+g[X+864>>2]+((j*l+m*u+v*w)*da+(l*x+u*y+w*z)*ea+(l*A+u*B+w*D)*ha);ga=+g[X+864+4>>2]+((j*E+m*F+v*G)*da+(x*E+y*F+z*G)*ea+(A*E+B*F+D*G)*ha);ha=(j*H+m*I+v*J)*da+(x*H+y*I+z*J)*ea+(A*H+B*I+D*J)*ha+ +g[X+864+8>>2];c[X+752>>2]=1065353216;c[X+752+4>>2]=0;c[X+752+8>>2]=1065353216;g[X+752+12>>2]=0.0;M=c[(c[e>>2]|0)+8>>2]|0;g[X+1008>>2]=fa+-.10000000149011612;g[X+1008+4>>2]=ga;g[X+1008+8>>2]=ha;g[X+1008+12>>2]=0.0;g[X+944>>2]=fa+.10000000149011612;g[X+944+4>>2]=ga+0.0;g[X+944+8>>2]=ha+0.0;g[X+944+12>>2]=0.0;mc[M&127](e,X+1008|0,X+944|0,X+752|0);M=c[(c[e>>2]|0)+8>>2]|0;g[X+928>>2]=fa;g[X+928+4>>2]=ga+-.10000000149011612;g[X+928+8>>2]=ha;g[X+928+12>>2]=0.0;g[X+912>>2]=fa+0.0;g[X+912+4>>2]=ga+.10000000149011612;g[X+912+8>>2]=ha+0.0;g[X+912+12>>2]=0.0;mc[M&127](e,X+928|0,X+912|0,X+752|0);M=c[(c[e>>2]|0)+8>>2]|0;g[X+896>>2]=fa;g[X+896+4>>2]=ga;g[X+896+8>>2]=ha+-.10000000149011612;g[X+896+12>>2]=0.0;g[X+880>>2]=fa+0.0;g[X+880+4>>2]=ga+0.0;g[X+880+8>>2]=ha+.10000000149011612;g[X+880+12>>2]=0.0;mc[M&127](e,X+896|0,X+880|0,X+752|0);f=f+1|0}while((f|0)<(c[S+484>>2]|0))}M=c[d+72>>2]|0}L=c[d+344>>2]|0;c[X+864>>2]=0;c[X+864+4>>2]=0;c[X+864+8>>2]=0;c[X+864+12>>2]=0;c[X+848>>2]=1065353216;c[X+848+4>>2]=1065353216;c[X+848+8>>2]=1065353216;g[X+848+12>>2]=0.0;c[X+832>>2]=1065353216;c[X+832+4>>2]=0;c[X+832+8>>2]=0;g[X+832+12>>2]=0.0;if(!(L&256)){if(L&1|0?(T=c[S+712>>2]|0,(T|0)>0):0){e=T;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[(c[M>>2]|0)+8>>2]|0;K=f+(h*104|0)+8|0;s=f+(h*104|0)+12|0;q=c[s>>2]|0;t=f+(h*104|0)+16|0;r=c[t>>2]|0;g[X+800>>2]=+g[K>>2]+-.10000000149011612;c[X+800+4>>2]=q;c[X+800+8>>2]=r;g[X+800+12>>2]=0.0;ga=+g[s>>2]+0.0;ha=+g[t>>2]+0.0;g[X+784>>2]=+g[K>>2]+.10000000149011612;g[X+784+4>>2]=ga;g[X+784+8>>2]=ha;g[X+784+12>>2]=0.0;c[X+768>>2]=1065353216;c[X+768+4>>2]=0;c[X+768+8>>2]=0;g[X+768+12>>2]=0.0;mc[e&127](M,X+800|0,X+784|0,X+768|0);e=c[(c[M>>2]|0)+8>>2]|0;ha=+g[s>>2]+-.10000000149011612;r=c[t>>2]|0;c[X+752>>2]=c[K>>2];g[X+752+4>>2]=ha;c[X+752+8>>2]=r;g[X+752+12>>2]=0.0;ha=+g[s>>2]+.10000000149011612;ga=+g[t>>2]+0.0;g[X+736>>2]=+g[K>>2]+0.0;g[X+736+4>>2]=ha;g[X+736+8>>2]=ga;g[X+736+12>>2]=0.0;c[X+720>>2]=0;c[X+720+4>>2]=1065353216;c[X+720+8>>2]=0;g[X+720+12>>2]=0.0;mc[e&127](M,X+752|0,X+736|0,X+720|0);e=c[(c[M>>2]|0)+8>>2]|0;r=c[s>>2]|0;ga=+g[t>>2]+-.10000000149011612;c[X+704>>2]=c[K>>2];c[X+704+4>>2]=r;g[X+704+8>>2]=ga;g[X+704+12>>2]=0.0;ga=+g[s>>2]+0.0;ha=+g[t>>2]+.10000000149011612;g[X+688>>2]=+g[K>>2]+0.0;g[X+688+4>>2]=ga;g[X+688+8>>2]=ha;g[X+688+12>>2]=0.0;c[X+672>>2]=0;c[X+672+4>>2]=0;c[X+672+8>>2]=1065353216;g[X+672+12>>2]=0.0;mc[e&127](M,X+704|0,X+688|0,X+672|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&2|0?(U=c[S+732>>2]|0,(U|0)>0):0){e=U;h=0;do{f=c[S+740>>2]|0;if(c[(c[f+(h*52|0)+4>>2]|0)+16>>2]&1){mc[c[(c[M>>2]|0)+8>>2]&127](M,(c[f+(h*52|0)+8>>2]|0)+8|0,(c[f+(h*52|0)+12>>2]|0)+8|0,X+864|0);e=c[S+732>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&16|0?(V=c[S+712>>2]|0,(V|0)>0):0){e=V;h=0;do{f=c[S+720>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){fa=+g[f+(h*104|0)+72>>2]*.5;ha=+g[f+(h*104|0)+76>>2]*.5;ga=+g[f+(h*104|0)+80>>2]*.5;K=c[(c[M>>2]|0)+8>>2]|0;e=f+(h*104|0)+8|0;s=f+(h*104|0)+12|0;da=ha+ +g[s>>2];t=f+(h*104|0)+16|0;ea=ga+ +g[t>>2];g[X+656>>2]=fa+ +g[e>>2];g[X+656+4>>2]=da;g[X+656+8>>2]=ea;g[X+656+12>>2]=0.0;mc[K&127](M,e,X+656|0,X+848|0);K=c[(c[M>>2]|0)+8>>2]|0;ha=+g[s>>2]-ha;ga=+g[t>>2]-ga;g[X+640>>2]=+g[e>>2]-fa;g[X+640+4>>2]=ha;g[X+640+8>>2]=ga;g[X+640+12>>2]=0.0;ga=+g[X+848+4>>2]*.5;ha=+g[X+848+8>>2]*.5;g[X+624>>2]=+g[X+848>>2]*.5;g[X+624+4>>2]=ga;g[X+624+8>>2]=ha;g[X+624+12>>2]=0.0;mc[K&127](M,e,X+640|0,X+624|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&32|0){if((a[22536]|0)==0?Wa(22536)|0:0){c[5803]=1065353216;c[5804]=0;c[5805]=0;c[5806]=0;c[5807]=0;c[5808]=1065353216;c[5809]=0;c[5810]=0;c[5811]=0;c[5812]=0;c[5813]=1065353216;g[5814]=0.0;_a(22536)}if((c[S+812>>2]|0)>0){e=0;do{K=c[S+820>>2]|0;s=c[K+(e*104|0)+24>>2]|0;E=+g[s+8>>2];t=K+(e*104|0)+4|0;F=+g[t>>2];I=+g[s+12>>2];r=K+(e*104|0)+8|0;J=+g[r>>2];ga=+g[s+16>>2];s=K+(e*104|0)+12|0;ea=+g[s>>2];ca=+g[K+(e*104|0)+20>>2]+(E*F+I*J+ga*ea);g[X+1008>>2]=E-F*ca;g[X+1008+4>>2]=I-J*ca;g[X+1008+8>>2]=ga-ea*ca;g[X+1008+12>>2]=0.0;Y=+g[t>>2];_=+g[r>>2];G=+g[s>>2];K=Y<_?(Y<G?0:2):_<G?1:2;H=+g[23212+(K<<4)+8>>2];Z=+g[23212+(K<<4)+4>>2];$=+g[23212+(K<<4)>>2];aa=1.0/+O(+((Y*Z-_*$)*(Y*Z-_*$)+((_*H-G*Z)*(_*H-G*Z)+(G*$-Y*H)*(G*$-Y*H))));ba=G*(G*$-Y*H)*aa-_*(Y*Z-_*$)*aa;da=Y*(Y*Z-_*$)*aa-G*(_*H-G*Z)*aa;ha=_*(_*H-G*Z)*aa-Y*(G*$-Y*H)*aa;fa=1.0/+O(+(ha*ha+(ba*ba+da*da)));K=c[(c[M>>2]|0)+8>>2]|0;g[X+608>>2]=E-F*ca-(_*H-G*Z)*aa*.5;g[X+608+4>>2]=I-J*ca-(G*$-Y*H)*aa*.5;g[X+608+8>>2]=ga-ea*ca-(Y*Z-_*$)*aa*.5;g[X+608+12>>2]=0.0;g[X+592>>2]=(_*H-G*Z)*aa*.5+(E-F*ca);g[X+592+4>>2]=(G*$-Y*H)*aa*.5+(I-J*ca);g[X+592+8>>2]=(Y*Z-_*$)*aa*.5+(ga-ea*ca);g[X+592+12>>2]=0.0;mc[K&127](M,X+608|0,X+592|0,X+832|0);K=c[(c[M>>2]|0)+8>>2]|0;ca=+g[X+1008>>2];ea=+g[X+1008+4>>2];ga=+g[X+1008+8>>2];g[X+576>>2]=ca-fa*ba*.5;g[X+576+4>>2]=ea-fa*da*.5;g[X+576+8>>2]=ga-fa*ha*.5;g[X+576+12>>2]=0.0;g[X+560>>2]=fa*ba*.5+ca;g[X+560+4>>2]=fa*da*.5+ea;g[X+560+8>>2]=fa*ha*.5+ga;g[X+560+12>>2]=0.0;mc[K&127](M,X+576|0,X+560|0,X+832|0);K=c[(c[M>>2]|0)+8>>2]|0;ga=+g[r>>2]*.5*3.0+ +g[X+1008+4>>2];ha=+g[s>>2]*.5*3.0+ +g[X+1008+8>>2];g[X+544>>2]=+g[t>>2]*.5*3.0+ +g[X+1008>>2];g[X+544+4>>2]=ga;g[X+544+8>>2]=ha;g[X+544+12>>2]=0.0;c[X+528>>2]=1065353216;c[X+528+4>>2]=1065353216;c[X+528+8>>2]=0;g[X+528+12>>2]=0.0;mc[K&127](M,X+1008|0,X+544|0,X+528|0);e=e+1|0}while((e|0)<(c[S+812>>2]|0))}}if(L&4|0?(c[X+1008>>2]=0,c[X+1008+4>>2]=1060320051,c[X+1008+8>>2]=0,g[X+1008+12>>2]=0.0,N=c[S+752>>2]|0,(N|0)>0):0){e=N;h=0;do{f=c[S+760>>2]|0;if(c[(c[f+(h*44|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*44|0)+8>>2]|0;$=+g[e+8>>2];ca=+g[e+12>>2];fa=+g[e+16>>2];e=c[f+(h*44|0)+12>>2]|0;aa=+g[e+8>>2];da=+g[e+12>>2];ga=+g[e+16>>2];e=c[f+(h*44|0)+16>>2]|0;ba=+g[e+8>>2];ea=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[M>>2]|0)+28>>2]|0;g[X+512>>2]=($+aa+ba)*.3333333432674408+($-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+512+4>>2]=(ca+da+ea)*.3333333432674408+(ca-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+512+8>>2]=(fa+ga+ha)*.3333333432674408+(fa-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+512+12>>2]=0.0;g[X+496>>2]=($+aa+ba)*.3333333432674408+(aa-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+496+4>>2]=(ca+da+ea)*.3333333432674408+(da-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+496+8>>2]=(fa+ga+ha)*.3333333432674408+(ga-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+496+12>>2]=0.0;g[X+480>>2]=($+aa+ba)*.3333333432674408+(ba-($+aa+ba)*.3333333432674408)*.800000011920929;g[X+480+4>>2]=(ca+da+ea)*.3333333432674408+(ea-(ca+da+ea)*.3333333432674408)*.800000011920929;g[X+480+8>>2]=(fa+ga+ha)*.3333333432674408+(ha-(fa+ga+ha)*.3333333432674408)*.800000011920929;g[X+480+12>>2]=0.0;Pb[e&0](M,X+512|0,X+496|0,X+480|0,X+1008|0,1.0);e=c[S+752>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(L&8|0?(c[X+1008>>2]=1050253722,c[X+1008+4>>2]=1050253722,c[X+1008+8>>2]=1060320051,g[X+1008+12>>2]=0.0,P=c[S+772>>2]|0,(P|0)>0):0){e=P;h=0;do{f=c[S+780>>2]|0;if(c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1){e=c[f+(h*104|0)+8>>2]|0;A=+g[e+8>>2];E=+g[e+12>>2];H=+g[e+16>>2];e=c[f+(h*104|0)+12>>2]|0;B=+g[e+8>>2];F=+g[e+12>>2];I=+g[e+16>>2];e=c[f+(h*104|0)+16>>2]|0;D=+g[e+8>>2];G=+g[e+12>>2];J=+g[e+16>>2];e=c[f+(h*104|0)+20>>2]|0;fa=+g[e+8>>2];ga=+g[e+12>>2];ha=+g[e+16>>2];e=c[(c[M>>2]|0)+28>>2]|0;ca=(A+B+D+fa)*.25+(A-(A+B+D+fa)*.25)*.800000011920929;da=(E+F+G+ga)*.25+(E-(E+F+G+ga)*.25)*.800000011920929;ea=(H+I+J+ha)*.25+(H-(H+I+J+ha)*.25)*.800000011920929;g[X+464>>2]=ca;g[X+464+4>>2]=da;g[X+464+8>>2]=ea;g[X+464+12>>2]=0.0;Y=(A+B+D+fa)*.25+(B-(A+B+D+fa)*.25)*.800000011920929;Z=(E+F+G+ga)*.25+(F-(E+F+G+ga)*.25)*.800000011920929;_=(H+I+J+ha)*.25+(I-(H+I+J+ha)*.25)*.800000011920929;g[X+448>>2]=Y;g[X+448+4>>2]=Z;g[X+448+8>>2]=_;g[X+448+12>>2]=0.0;$=(A+B+D+fa)*.25+(D-(A+B+D+fa)*.25)*.800000011920929;aa=(E+F+G+ga)*.25+(G-(E+F+G+ga)*.25)*.800000011920929;ba=(H+I+J+ha)*.25+(J-(H+I+J+ha)*.25)*.800000011920929;g[X+432>>2]=$;g[X+432+4>>2]=aa;g[X+432+8>>2]=ba;g[X+432+12>>2]=0.0;Pb[e&0](M,X+464|0,X+448|0,X+432|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+416>>2]=ca;g[X+416+4>>2]=da;g[X+416+8>>2]=ea;g[X+416+12>>2]=0.0;g[X+400>>2]=Y;g[X+400+4>>2]=Z;g[X+400+8>>2]=_;g[X+400+12>>2]=0.0;fa=(A+B+D+fa)*.25+(fa-(A+B+D+fa)*.25)*.800000011920929;ga=(E+F+G+ga)*.25+(ga-(E+F+G+ga)*.25)*.800000011920929;ha=(H+I+J+ha)*.25+(ha-(H+I+J+ha)*.25)*.800000011920929;g[X+384>>2]=fa;g[X+384+4>>2]=ga;g[X+384+8>>2]=ha;g[X+384+12>>2]=0.0;Pb[e&0](M,X+416|0,X+400|0,X+384|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+368>>2]=Y;g[X+368+4>>2]=Z;g[X+368+8>>2]=_;g[X+368+12>>2]=0.0;g[X+352>>2]=$;g[X+352+4>>2]=aa;g[X+352+8>>2]=ba;g[X+352+12>>2]=0.0;g[X+336>>2]=fa;g[X+336+4>>2]=ga;g[X+336+8>>2]=ha;g[X+336+12>>2]=0.0;Pb[e&0](M,X+368|0,X+352|0,X+336|0,X+1008|0,1.0);e=c[(c[M>>2]|0)+28>>2]|0;g[X+320>>2]=$;g[X+320+4>>2]=aa;g[X+320+8>>2]=ba;g[X+320+12>>2]=0.0;g[X+304>>2]=ca;g[X+304+4>>2]=da;g[X+304+8>>2]=ea;g[X+304+12>>2]=0.0;g[X+288>>2]=fa;g[X+288+4>>2]=ga;g[X+288+8>>2]=ha;g[X+288+12>>2]=0.0;Pb[e&0](M,X+320|0,X+304|0,X+288|0,X+1008|0,1.0);e=c[S+772>>2]|0}h=h+1|0}while((h|0)<(e|0))}}else{c[5646]=1805;c[5647]=0;e=c[S+1112>>2]|0;if((e|0)>0){K=0;do{if(a[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+377>>0]|0){r=vr(c[5646]|0,c[5647]|0,1284865837,1481765933)|0;r=Kt(r|0,C|0,1,0)|0;h=C;s=us(r|0,h|0,33)|0;h=vr(r|0,h|0,1284865837,1481765933)|0;h=Kt(h|0,C|0,1,0)|0;r=C;t=us(h|0,r|0,33)|0;r=vr(h|0,r|0,1284865837,1481765933)|0;r=Kt(r|0,C|0,1,0)|0;h=C;c[5646]=r;c[5647]=h;h=us(r|0,h|0,33)|0;ha=1.0/+O(+(+(h|0)*4.656612873077393e-10*+(h|0)*4.656612873077393e-10+(+(s|0)*4.656612873077393e-10*+(s|0)*4.656612873077393e-10+ +(t|0)*4.656612873077393e-10*+(t|0)*4.656612873077393e-10)));g[X+1008>>2]=+(s|0)*4.656612873077393e-10*ha*.75;g[X+1008+4>>2]=+(t|0)*4.656612873077393e-10*ha*.75;g[X+1008+8>>2]=+(h|0)*4.656612873077393e-10*ha*.75;g[X+1008+12>>2]=0.0;h=c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+24>>2]|0;if((h|0)>0){c[6435]=(c[6435]|0)+1;e=yc((h<<4|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=0;do{t=f+(e<<4)|0;c[t>>2]=c[X+816>>2];c[t+4>>2]=c[X+816+4>>2];c[t+8>>2]=c[X+816+8>>2];c[t+12>>2]=c[X+816+12>>2];e=e+1|0}while((e|0)!=(h|0));e=0;do{t=f+(e<<4)|0;s=(c[(c[(c[(c[S+1120>>2]|0)+(K<<2)>>2]|0)+32>>2]|0)+(e<<2)>>2]|0)+8|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];e=e+1|0}while((e|0)!=(h|0))}else f=0;a[X+944+16>>0]=1;c[X+944+12>>2]=0;c[X+944+4>>2]=0;c[X+944+8>>2]=0;a[X+944+36>>0]=1;c[Q>>2]=0;c[X+944+24>>2]=0;c[X+944+28>>2]=0;a[X+944+56>>0]=1;c[R>>2]=0;c[X+944+44>>2]=0;c[X+944+48>>2]=0;Dc(X+944|0,f,h);r=c[X+944+44>>2]|0;if((r|0)>0){p=c[Q>>2]|0;t=0;do{s=c[(c[R>>2]|0)+(t<<2)>>2]|0;h=c[p+(s*12|0)+4>>2]|0;e=p+(s*12|0)+(h*12|0)+((c[p+(s*12|0)+(h*12|0)>>2]|0)*12|0)|0;if((e|0)!=(p+(s*12|0)|0)){q=c[X+944+12>>2]|0;n=c[p+(s*12|0)+(h*12|0)+8>>2]|0;o=c[p+(s*12|0)+8>>2]|0;while(1){h=c[e+8>>2]|0;Pb[c[(c[M>>2]|0)+28>>2]&0](M,q+(n<<4)|0,q+(o<<4)|0,q+(h<<4)|0,X+1008|0,1.0);n=e+((c[e+4>>2]|0)*12|0)|0;e=n+((c[n>>2]|0)*12|0)|0;if((e|0)==(p+(s*12|0)|0))break;else{n=o;o=h}}}t=t+1|0}while((t|0)<(r|0))}e=c[R>>2]|0;if(e|0){if(a[X+944+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[R>>2]=0}a[X+944+56>>0]=1;c[R>>2]=0;c[X+944+44>>2]=0;c[X+944+48>>2]=0;e=c[Q>>2]|0;if(e|0){if(a[X+944+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[Q>>2]=0}a[X+944+36>>0]=1;c[Q>>2]=0;c[X+944+24>>2]=0;c[X+944+28>>2]=0;e=c[X+944+12>>2]|0;if(e|0){if(a[X+944+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[X+944+12>>2]=0}if(f|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}e=c[S+1112>>2]|0}K=K+1|0}while((K|0)<(e|0))}}if(L&64|0){if((c[S+792>>2]|0)>0){e=0;do{K=c[S+800>>2]|0;q=c[K+(e*96|0)+20>>2]|0;da=+g[K+(e*96|0)+4>>2];ea=+g[K+(e*96|0)+8>>2];fa=+g[K+(e*96|0)+12>>2];ga=da*+g[q+20>>2]+ea*+g[q+24>>2]+fa*+g[q+28>>2]+ +g[q+56>>2];ha=da*+g[q+36>>2]+ea*+g[q+40>>2]+fa*+g[q+44>>2]+ +g[q+60>>2];g[X+272>>2]=da*+g[q+4>>2]+ea*+g[q+8>>2]+fa*+g[q+12>>2]+ +g[q+52>>2];g[X+272+4>>2]=ga;g[X+272+8>>2]=ha;g[X+272+12>>2]=0.0;K=K+(e*96|0)|0;q=c[K>>2]|0;c[X+256>>2]=1065353216;c[X+256+4>>2]=0;c[X+256+8>>2]=0;g[X+256+12>>2]=0.0;t=c[(c[M>>2]|0)+8>>2]|0;ha=+g[q+8>>2];s=c[q+12>>2]|0;r=c[q+16>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=s;c[X+1008+8>>2]=r;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;fa=(c[k>>2]=r,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[t&127](M,X+1008|0,X+944|0,X+256|0);t=c[(c[M>>2]|0)+8>>2]|0;r=c[q+8>>2]|0;fa=+g[q+12>>2];s=c[q+16>>2]|0;c[X+928>>2]=r;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=s;g[X+928+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;ha=(c[k>>2]=s,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[t&127](M,X+928|0,X+912|0,X+256|0);t=c[(c[M>>2]|0)+8>>2]|0;s=c[q+8>>2]|0;r=c[q+12>>2]|0;ha=+g[q+16>>2];c[X+896>>2]=s;c[X+896+4>>2]=r;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=s,+g[k>>2])+0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[t&127](M,X+896|0,X+880|0,X+256|0);c[X+240>>2]=0;c[X+240+4>>2]=1065353216;c[X+240+8>>2]=0;g[X+240+12>>2]=0.0;t=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+272>>2];r=c[X+272+4>>2]|0;s=c[X+272+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=r;c[X+1008+8>>2]=s;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;fa=(c[k>>2]=s,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[t&127](M,X+1008|0,X+944|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;s=c[X+272>>2]|0;fa=+g[X+272+4>>2];r=c[X+272+8>>2]|0;c[X+928>>2]=s;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=r;g[X+928+12>>2]=0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;ha=(c[k>>2]=r,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[t&127](M,X+928|0,X+912|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;r=c[X+272>>2]|0;s=c[X+272+4>>2]|0;ha=+g[X+272+8>>2];c[X+896>>2]=r;c[X+896+4>>2]=s;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=r,+g[k>>2])+0.0;ga=(c[k>>2]=s,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[t&127](M,X+896|0,X+880|0,X+240|0);t=c[(c[M>>2]|0)+8>>2]|0;K=(c[K>>2]|0)+8|0;c[X+224>>2]=1065353216;c[X+224+4>>2]=1065353216;c[X+224+8>>2]=1065353216;g[X+224+12>>2]=0.0;mc[t&127](M,K,X+272|0,X+224|0);e=e+1|0}while((e|0)<(c[S+792>>2]|0))}e=c[S+712>>2]|0;if((e|0)>0){h=0;do{f=c[S+720>>2]|0;if((c[(c[f+(h*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+g[f+(h*104|0)+88>>2]<=0.0:0){t=f+(h*104|0)+8|0;c[X+208>>2]=1065353216;c[X+208+4>>2]=0;c[X+208+8>>2]=0;g[X+208+12>>2]=0.0;e=c[(c[M>>2]|0)+8>>2]|0;ha=+g[t>>2];K=f+(h*104|0)+12|0;r=c[K>>2]|0;s=f+(h*104|0)+16|0;q=c[s>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=r;c[X+1008+8>>2]=q;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=r,+g[k>>2])+0.0;fa=(c[k>>2]=q,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[e&127](M,X+1008|0,X+944|0,X+208|0);e=c[(c[M>>2]|0)+8>>2]|0;q=c[t>>2]|0;fa=+g[K>>2];r=c[s>>2]|0;c[X+928>>2]=q;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=r;g[X+928+12>>2]=0.0;ga=(c[k>>2]=q,+g[k>>2])+0.0;ha=(c[k>>2]=r,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[e&127](M,X+928|0,X+912|0,X+208|0);e=c[(c[M>>2]|0)+8>>2]|0;t=c[t>>2]|0;K=c[K>>2]|0;ha=+g[s>>2];c[X+896>>2]=t;c[X+896+4>>2]=K;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[e&127](M,X+896|0,X+880|0,X+208|0);e=c[S+712>>2]|0}h=h+1|0}while((h|0)<(e|0))}}if(L&128|0?(c[S+692>>2]|0)>0:0){h=0;do{e=c[S+700>>2]|0;f=e+(h*60|0)+8|0;c[X+1008>>2]=c[f>>2];c[X+1008+4>>2]=c[f+4>>2];c[X+1008+8>>2]=c[f+8>>2];c[X+1008+12>>2]=c[f+12>>2];f=c[e+(h*60|0)+24>>2]|0;if((f|0)>0){j=+g[X+1008>>2];l=+g[X+1008+4>>2];m=+g[X+1008+8>>2];n=0;do{K=c[e+(h*60|0)+28+(n<<2)>>2]|0;fa=+g[e+(h*60|0)+44+(n<<2)>>2];ga=fa*+g[K+12>>2];ha=fa*+g[K+16>>2];j=+g[K+8>>2]*fa+j;g[X+1008>>2]=j;l=ga+l;g[X+1008+4>>2]=l;m=ha+m;g[X+1008+8>>2]=m;n=n+1|0}while((n|0)!=(f|0))}ic[c[(c[M>>2]|0)+40>>2]&127](M,X+1008|0,c[e+(h*60|0)+4>>2]|0);h=h+1|0}while((h|0)<(c[S+692>>2]|0))}if(L&512|0){K=c[S+928>>2]|0;c[X+1008>>2]=1065353216;c[X+1008+4>>2]=0;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=1065353216;c[X+944+8>>2]=1065353216;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}if(L&1024|0){K=c[S+988>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=0;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}if(L&2048|0){K=c[S+1048>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,K,0,X+1008|0,X+944|0)}a:do if(L&4096|0?(c[S+852>>2]|0)>0:0){f=0;while(1){e=c[(c[S+860>>2]|0)+(f<<2)>>2]|0;switch(Eb[c[(c[e>>2]|0)+20>>2]&127](e)|0){case 0:{L=ri(e+4|0)|0;ha=+g[e+28>>2];ga=+g[e+32>>2];fa=+g[e+36>>2];ea=ha*+g[L+16>>2]+ga*+g[L+20>>2]+fa*+g[L+24>>2]+ +g[L+52>>2];da=ha*+g[L+32>>2]+ga*+g[L+36>>2]+fa*+g[L+40>>2]+ +g[L+56>>2];g[X+272>>2]=ha*+g[L>>2]+ga*+g[L+4>>2]+fa*+g[L+8>>2]+ +g[L+48>>2];g[X+272+4>>2]=ea;g[X+272+8>>2]=da;g[X+272+12>>2]=0.0;L=ri(e+16|0)|0;da=+g[e+44>>2];ea=+g[e+48>>2];fa=+g[e+52>>2];ga=da*+g[L+16>>2]+ea*+g[L+20>>2]+fa*+g[L+24>>2]+ +g[L+52>>2];ha=da*+g[L+32>>2]+ea*+g[L+36>>2]+fa*+g[L+40>>2]+ +g[L+56>>2];g[X+192>>2]=da*+g[L>>2]+ea*+g[L+4>>2]+fa*+g[L+8>>2]+ +g[L+48>>2];g[X+192+4>>2]=ga;g[X+192+8>>2]=ha;g[X+192+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;K=(ri(e+4|0)|0)+48|0;c[X+176>>2]=1065353216;c[X+176+4>>2]=1065353216;c[X+176+8>>2]=0;g[X+176+12>>2]=0.0;mc[L&127](M,K,X+272|0,X+176|0);K=c[(c[M>>2]|0)+8>>2]|0;L=(ri(e+16|0)|0)+48|0;c[X+160>>2]=0;c[X+160+4>>2]=1065353216;c[X+160+8>>2]=1065353216;g[X+160+12>>2]=0.0;mc[K&127](M,L,X+192|0,X+160|0);c[X+144>>2]=1065353216;c[X+144+4>>2]=1065353216;c[X+144+8>>2]=0;g[X+144+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+272>>2];K=c[X+272+4>>2]|0;t=c[X+272+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=K;c[X+1008+8>>2]=t;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[L&127](M,X+1008|0,X+944|0,X+144|0);L=c[(c[M>>2]|0)+8>>2]|0;t=c[X+272>>2]|0;fa=+g[X+272+4>>2];K=c[X+272+8>>2]|0;c[X+928>>2]=t;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=K;g[X+928+12>>2]=0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;ha=(c[k>>2]=K,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[L&127](M,X+928|0,X+912|0,X+144|0);L=c[(c[M>>2]|0)+8>>2]|0;K=c[X+272>>2]|0;t=c[X+272+4>>2]|0;ha=+g[X+272+8>>2];c[X+896>>2]=K;c[X+896+4>>2]=t;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=K,+g[k>>2])+0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[L&127](M,X+896|0,X+880|0,X+144|0);c[X+128>>2]=0;c[X+128+4>>2]=1065353216;c[X+128+8>>2]=1065353216;g[X+128+12>>2]=0.0;L=c[(c[M>>2]|0)+8>>2]|0;ha=+g[X+192>>2];t=c[X+192+4>>2]|0;K=c[X+192+8>>2]|0;g[X+1008>>2]=ha+-.25;c[X+1008+4>>2]=t;c[X+1008+8>>2]=K;g[X+1008+12>>2]=0.0;ga=(c[k>>2]=t,+g[k>>2])+0.0;fa=(c[k>>2]=K,+g[k>>2])+0.0;g[X+944>>2]=ha+.25;g[X+944+4>>2]=ga;g[X+944+8>>2]=fa;g[X+944+12>>2]=0.0;mc[L&127](M,X+1008|0,X+944|0,X+128|0);L=c[(c[M>>2]|0)+8>>2]|0;K=c[X+192>>2]|0;fa=+g[X+192+4>>2];t=c[X+192+8>>2]|0;c[X+928>>2]=K;g[X+928+4>>2]=fa+-.25;c[X+928+8>>2]=t;g[X+928+12>>2]=0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;ha=(c[k>>2]=t,+g[k>>2])+0.0;g[X+912>>2]=ga;g[X+912+4>>2]=fa+.25;g[X+912+8>>2]=ha;g[X+912+12>>2]=0.0;mc[L&127](M,X+928|0,X+912|0,X+128|0);L=c[(c[M>>2]|0)+8>>2]|0;t=c[X+192>>2]|0;K=c[X+192+4>>2]|0;ha=+g[X+192+8>>2];c[X+896>>2]=t;c[X+896+4>>2]=K;g[X+896+8>>2]=ha+-.25;g[X+896+12>>2]=0.0;fa=(c[k>>2]=t,+g[k>>2])+0.0;ga=(c[k>>2]=K,+g[k>>2])+0.0;g[X+880>>2]=fa;g[X+880+4>>2]=ga;g[X+880+8>>2]=ha+.25;g[X+880+12>>2]=0.0;mc[L&127](M,X+896|0,X+880|0,X+128|0);break}case 1:{L=(ri(e+4|0)|0)+48|0;c[X+1008>>2]=c[L>>2];c[X+1008+4>>2]=c[L+4>>2];c[X+1008+8>>2]=c[L+8>>2];c[X+1008+12>>2]=c[L+12>>2];L=(ri(e+16|0)|0)+48|0;c[X+944>>2]=c[L>>2];c[X+944+4>>2]=c[L+4>>2];c[X+944+8>>2]=c[L+8>>2];c[X+944+12>>2]=c[L+12>>2];L=ri(e+4|0)|0;ba=+g[e+28>>2];aa=+g[e+32>>2];ea=+g[e+36>>2];ca=+g[L>>2]*ba+ +g[L+4>>2]*aa+ +g[L+8>>2]*ea;da=ba*+g[L+16>>2]+aa*+g[L+20>>2]+ea*+g[L+24>>2];ea=ba*+g[L+32>>2]+aa*+g[L+36>>2]+ea*+g[L+40>>2];L=ri(e+16|0)|0;aa=+g[e+44>>2];ba=+g[e+48>>2];ha=+g[e+52>>2];fa=+g[L>>2]*aa+ +g[L+4>>2]*ba+ +g[L+8>>2]*ha;ga=aa*+g[L+16>>2]+ba*+g[L+20>>2]+ha*+g[L+24>>2];ha=aa*+g[L+32>>2]+ba*+g[L+36>>2]+ha*+g[L+40>>2];L=c[(c[M>>2]|0)+8>>2]|0;ba=da*10.0+ +g[X+1008+4>>2];aa=ea*10.0+ +g[X+1008+8>>2];g[X+112>>2]=ca*10.0+ +g[X+1008>>2];g[X+112+4>>2]=ba;g[X+112+8>>2]=aa;g[X+112+12>>2]=0.0;c[X+96>>2]=1065353216;c[X+96+4>>2]=1065353216;c[X+96+8>>2]=0;g[X+96+12>>2]=0.0;mc[L&127](M,X+1008|0,X+112|0,X+96|0);L=c[(c[M>>2]|0)+8>>2]|0;aa=ga*10.0+ +g[X+1008+4>>2];ba=ha*10.0+ +g[X+1008+8>>2];g[X+80>>2]=fa*10.0+ +g[X+1008>>2];g[X+80+4>>2]=aa;g[X+80+8>>2]=ba;g[X+80+12>>2]=0.0;c[X+64>>2]=1065353216;c[X+64+4>>2]=1065353216;c[X+64+8>>2]=0;g[X+64+12>>2]=0.0;mc[L&127](M,X+1008|0,X+80|0,X+64|0);L=c[(c[M>>2]|0)+8>>2]|0;da=da*10.0+ +g[X+944+4>>2];ea=ea*10.0+ +g[X+944+8>>2];g[X+48>>2]=ca*10.0+ +g[X+944>>2];g[X+48+4>>2]=da;g[X+48+8>>2]=ea;g[X+48+12>>2]=0.0;c[X+32>>2]=0;c[X+32+4>>2]=1065353216;c[X+32+8>>2]=1065353216;g[X+32+12>>2]=0.0;mc[L&127](M,X+944|0,X+48|0,X+32|0);L=c[(c[M>>2]|0)+8>>2]|0;ga=ga*10.0+ +g[X+944+4>>2];ha=ha*10.0+ +g[X+944+8>>2];g[X+16>>2]=fa*10.0+ +g[X+944>>2];g[X+16+4>>2]=ga;g[X+16+8>>2]=ha;g[X+16+12>>2]=0.0;c[X>>2]=0;c[X+4>>2]=1065353216;c[X+8>>2]=1065353216;g[X+12>>2]=0.0;mc[L&127](M,X+944|0,X+16|0,X);break}default:{}}f=f+1|0;if((f|0)>=(c[S+852>>2]|0))break a}}while(0)}e=c[d+72>>2]|0;if(e|0?(Eb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&2|0:0){e=b[d+348>>1]|0;if(!((e&255)<<24>>24))e=(e&65535)>>>8&255;else{M=c[d+72>>2]|0;e=c[S+928>>2]|0;c[X+1008>>2]=1065353216;c[X+1008+4>>2]=0;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=1065353216;c[X+944+8>>2]=1065353216;g[X+944+12>>2]=0.0;Of(M,e,0,X+1008|0,X+944|0);e=a[d+349>>0]|0}if(e<<24>>24){L=c[d+72>>2]|0;M=c[S+988>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=0;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(L,M,0,X+1008|0,X+944|0)}if(a[d+350>>0]|0){M=c[d+72>>2]|0;S=c[S+1048>>2]|0;c[X+1008>>2]=0;c[X+1008+4>>2]=1065353216;c[X+1008+8>>2]=1065353216;g[X+1008+12>>2]=0.0;c[X+944>>2]=1065353216;c[X+944+4>>2]=0;c[X+944+8>>2]=0;g[X+944+12>>2]=0.0;Of(M,S,0,X+1008|0,X+944|0)}}W=W+1|0}while((W|0)<(c[d+328>>2]|0));i=X;return}function qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0.0;fa=i;i=i+80|0;if((e|0)<=0){i=fa;return}ca=0;do{X=c[d+(ca<<2)>>2]|0;Y=c[X+740>>2]|0;Z=c[X+744>>2]|0;_=bk(b,Y,+g[f+12>>2])|0;$=bk(b,Z,+g[f+12>>2])|0;aa=c[b+16>>2]|0;if(!(((((+g[aa+(_*244|0)+128>>2]==0.0?+g[aa+(_*244|0)+132>>2]==0.0:0)?+g[aa+(_*244|0)+136>>2]==0.0:0)?+g[aa+($*244|0)+128>>2]==0.0:0)?+g[aa+($*244|0)+132>>2]==0.0:0)?+g[aa+($*244|0)+136>>2]==0.0:0))ea=9;if((ea|0)==9?(ea=0,ba=c[X+748>>2]|0,(ba|0)>0):0){j=ba;da=0;h=1;do{U=X+4+(da*184|0)|0;D=X+4+(da*184|0)+80|0;if(+g[D>>2]<=+g[X+756>>2]){V=c[b+28>>2]|0;if((V|0)==(c[b+32>>2]|0)?(W=V|0?V<<1:1,(V|0)<(W|0)):0){if(!W){j=0;l=V}else{c[6435]=(c[6435]|0)+1;j=yc((W*152|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=c[b+28>>2]|0}if((l|0)>0){o=0;do{_m(j+(o*152|0)|0,(c[b+36>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(l|0))}l=c[b+36>>2]|0;if(l|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=W;j=c[b+28>>2]|0}else j=V;c[b+28>>2]=j+1;T=c[b+36>>2]|0;G=(c[Y+236>>2]&2|0)==0?0:Y;H=(c[Z+236>>2]&2|0)==0?0:Z;c[T+(V*152|0)+144>>2]=_;c[T+(V*152|0)+148>>2]=$;c[T+(V*152|0)+132>>2]=U;z=+g[X+4+(da*184|0)+48>>2]-+g[Y+52>>2];A=+g[X+4+(da*184|0)+52>>2]-+g[Y+56>>2];y=+g[X+4+(da*184|0)+56>>2]-+g[Y+60>>2];g[fa+64>>2]=z;g[fa+64+4>>2]=A;g[fa+64+8>>2]=y;g[fa+64+12>>2]=0.0;C=+g[X+4+(da*184|0)+32>>2]-+g[Z+52>>2];E=+g[X+4+(da*184|0)+36>>2]-+g[Z+56>>2];B=+g[X+4+(da*184|0)+40>>2]-+g[Z+60>>2];g[fa+48>>2]=C;g[fa+48+4>>2]=E;g[fa+48+8>>2]=B;g[fa+48+12>>2]=0.0;if(!(c[aa+(_*244|0)+240>>2]|0)){j=0;o=0;r=0}else{M=+g[aa+(_*244|0)+192>>2]+ +g[aa+(_*244|0)+224>>2];P=+g[aa+(_*244|0)+196>>2]+ +g[aa+(_*244|0)+228>>2];L=+g[aa+(_*244|0)+200>>2]+ +g[aa+(_*244|0)+232>>2];j=(g[k>>2]=+g[aa+(_*244|0)+176>>2]+ +g[aa+(_*244|0)+208>>2]+(P*y-L*A),c[k>>2]|0);o=(g[k>>2]=+g[aa+(_*244|0)+180>>2]+ +g[aa+(_*244|0)+212>>2]+(L*z-M*y),c[k>>2]|0);r=(g[k>>2]=+g[aa+(_*244|0)+184>>2]+ +g[aa+(_*244|0)+216>>2]+(M*A-P*z),c[k>>2]|0)}if(!(c[aa+($*244|0)+240>>2]|0)){l=0;q=0;s=0}else{M=+g[aa+($*244|0)+192>>2]+ +g[aa+($*244|0)+224>>2];P=+g[aa+($*244|0)+196>>2]+ +g[aa+($*244|0)+228>>2];L=+g[aa+($*244|0)+200>>2]+ +g[aa+($*244|0)+232>>2];l=(g[k>>2]=+g[aa+($*244|0)+176>>2]+ +g[aa+($*244|0)+208>>2]+(P*B-L*E),c[k>>2]|0);q=(g[k>>2]=+g[aa+($*244|0)+180>>2]+ +g[aa+($*244|0)+212>>2]+(L*C-M*B),c[k>>2]|0);s=(g[k>>2]=+g[aa+($*244|0)+184>>2]+ +g[aa+($*244|0)+216>>2]+(M*E-P*C),c[k>>2]|0)}P=(c[k>>2]=j,+g[k>>2]);P=P-(c[k>>2]=l,+g[k>>2]);M=(c[k>>2]=o,+g[k>>2]);M=M-(c[k>>2]=q,+g[k>>2]);I=(c[k>>2]=r,+g[k>>2]);I=I-(c[k>>2]=s,+g[k>>2]);Q=X+4+(da*184|0)+64|0;J=+g[Q>>2];R=X+4+(da*184|0)+68|0;K=+g[R>>2];S=X+4+(da*184|0)+72|0;L=+g[S>>2];s=c[b+16>>2]|0;q=c[s+(_*244|0)+240>>2]|0;r=c[s+($*244|0)+240>>2]|0;if(q|0){o=(g[k>>2]=((A*L-y*K)*+g[q+264>>2]+(y*J-L*z)*+g[q+268>>2]+(K*z-A*J)*+g[q+272>>2])*+g[q+544>>2],c[k>>2]|0);j=(g[k>>2]=((A*L-y*K)*+g[q+280>>2]+(y*J-L*z)*+g[q+284>>2]+(K*z-A*J)*+g[q+288>>2])*+g[q+548>>2],c[k>>2]|0);l=(g[k>>2]=((A*L-y*K)*+g[q+296>>2]+(y*J-L*z)*+g[q+300>>2]+(K*z-A*J)*+g[q+304>>2])*+g[q+552>>2],c[k>>2]|0)}else{o=0;j=0;l=0}c[T+(V*152|0)+64>>2]=o;c[T+(V*152|0)+68>>2]=j;c[T+(V*152|0)+72>>2]=l;g[T+(V*152|0)+76>>2]=0.0;v=+g[S>>2];w=+g[R>>2];x=+g[Q>>2];u=(c[k>>2]=j,+g[k>>2]);t=(c[k>>2]=l,+g[k>>2]);n=(c[k>>2]=o,+g[k>>2]);if(r|0){j=(g[k>>2]=(+g[r+264>>2]*-(E*v-B*w)+ +g[r+268>>2]*-(B*x-v*C)+ +g[r+272>>2]*-(w*C-E*x))*+g[r+544>>2],c[k>>2]|0);l=(g[k>>2]=(+g[r+280>>2]*-(E*v-B*w)+ +g[r+284>>2]*-(B*x-v*C)+ +g[r+288>>2]*-(w*C-E*x))*+g[r+548>>2],c[k>>2]|0);o=(g[k>>2]=(+g[r+296>>2]*-(E*v-B*w)+ +g[r+300>>2]*-(B*x-v*C)+ +g[r+304>>2]*-(w*C-E*x))*+g[r+552>>2],c[k>>2]|0)}else{j=0;l=0;o=0}c[T+(V*152|0)+80>>2]=j;c[T+(V*152|0)+84>>2]=l;c[T+(V*152|0)+88>>2]=o;g[T+(V*152|0)+92>>2]=0.0;p=(c[k>>2]=j,+g[k>>2]);m=(c[k>>2]=l,+g[k>>2]);if(q|0)n=+g[q+344>>2]+((u*y-t*A)*+g[Q>>2]+(t*z-y*n)*+g[R>>2]+(A*n-u*z)*+g[S>>2]);else n=0.0;if(r|0){F=-(c[k>>2]=o,+g[k>>2]);m=+g[r+344>>2]+((B*-m-E*F)*+g[Q>>2]+(C*F-B*-p)*+g[R>>2]+(E*-p-C*-m)*+g[S>>2])}else m=0.0;g[T+(V*152|0)+108>>2]=1.0/(n+m);if(q|0){c[T+(V*152|0)+16>>2]=c[Q>>2];c[T+(V*152|0)+16+4>>2]=c[Q+4>>2];c[T+(V*152|0)+16+8>>2]=c[Q+8>>2];c[T+(V*152|0)+16+12>>2]=c[Q+12>>2];g[T+(V*152|0)>>2]=A*L-y*K;g[T+(V*152|0)+4>>2]=y*J-L*z;g[T+(V*152|0)+8>>2]=K*z-A*J;g[T+(V*152|0)+12>>2]=0.0}else{c[T+(V*152|0)>>2]=0;c[T+(V*152|0)+4>>2]=0;c[T+(V*152|0)+8>>2]=0;c[T+(V*152|0)+12>>2]=0;c[T+(V*152|0)+16>>2]=0;c[T+(V*152|0)+20>>2]=0;c[T+(V*152|0)+24>>2]=0;c[T+(V*152|0)+28>>2]=0}if(r|0){u=-+g[R>>2];F=-+g[S>>2];g[T+(V*152|0)+48>>2]=-+g[Q>>2];g[T+(V*152|0)+52>>2]=u;g[T+(V*152|0)+56>>2]=F;g[T+(V*152|0)+60>>2]=0.0;g[T+(V*152|0)+32>>2]=-(E*v-B*w);g[T+(V*152|0)+36>>2]=-(B*x-v*C);g[T+(V*152|0)+40>>2]=-(w*C-E*x);g[T+(V*152|0)+44>>2]=0.0}else{c[T+(V*152|0)+32>>2]=0;c[T+(V*152|0)+32+4>>2]=0;c[T+(V*152|0)+32+8>>2]=0;c[T+(V*152|0)+32+12>>2]=0;c[T+(V*152|0)+32+16>>2]=0;c[T+(V*152|0)+32+20>>2]=0;c[T+(V*152|0)+32+24>>2]=0;c[T+(V*152|0)+32+28>>2]=0}F=+g[D>>2]+ +g[f+56>>2];if(q|0){t=+g[q+332>>2];u=+g[q+336>>2];x=+g[q+328>>2];v=t*y-u*A+ +g[q+312>>2];u=+g[q+316>>2]+(u*z-y*x);t=A*x-t*z+ +g[q+320>>2]}else{v=0.0;u=0.0;t=0.0}if(r|0){m=+g[r+332>>2];n=+g[r+336>>2];A=+g[r+328>>2];p=m*B-n*E+ +g[r+312>>2];n=+g[r+316>>2]+(n*C-B*A);m=E*A-m*C+ +g[r+320>>2]}else{p=0.0;n=0.0;m=0.0}C=(v-p)*+g[Q>>2]+(u-n)*+g[R>>2]+(t-m)*+g[S>>2];c[T+(V*152|0)+104>>2]=c[X+4+(da*184|0)+84>>2];C=-(C*+g[X+4+(da*184|0)+92>>2]);C=C<=0.0?0.0:C;do if(!(c[f+64>>2]&4))g[T+(V*152|0)+100>>2]=0.0;else{m=+g[X+4+(da*184|0)+120>>2]*+g[f+60>>2];g[T+(V*152|0)+100>>2]=m;do if(q|0){if(!(c[s+(_*244|0)+240>>2]|0))break;E=m*+g[T+(V*152|0)+20>>2]*+g[s+(_*244|0)+132>>2]*+g[q+352>>2]*+g[s+(_*244|0)+116>>2];B=m*+g[T+(V*152|0)+24>>2]*+g[s+(_*244|0)+136>>2]*+g[q+356>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*m*+g[T+(V*152|0)+16>>2]*+g[s+(_*244|0)+128>>2]*+g[q+348>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=E+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=B+ +g[s+(_*244|0)+72>>2];B=m*+g[s+(_*244|0)+100>>2]*+g[T+(V*152|0)+68>>2];E=m*+g[s+(_*244|0)+104>>2]*+g[T+(V*152|0)+72>>2];g[s+(_*244|0)+80>>2]=m*+g[s+(_*244|0)+96>>2]*+g[T+(V*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=B+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=E+ +g[s+(_*244|0)+88>>2]}while(0);if(!r)break;m=+g[T+(V*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;E=+g[T+(V*152|0)+88>>2];B=+g[T+(V*152|0)+84>>2];A=+g[T+(V*152|0)+80>>2];y=m*+g[T+(V*152|0)+52>>2]*+g[s+($*244|0)+132>>2]*+g[r+352>>2]*+g[s+($*244|0)+116>>2];z=m*+g[T+(V*152|0)+56>>2]*+g[s+($*244|0)+136>>2]*+g[r+356>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*m*+g[T+(V*152|0)+48>>2]*+g[s+($*244|0)+128>>2]*+g[r+348>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=y+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=z+ +g[s+($*244|0)+72>>2];B=B*+g[s+($*244|0)+100>>2]*-m;E=E*+g[s+($*244|0)+104>>2]*-m;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-A*+g[s+($*244|0)+96>>2]*-m;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-B;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-E}while(0);g[T+(V*152|0)+96>>2]=0.0;if(!(c[s+(_*244|0)+240>>2]|0)){m=0.0;n=0.0;p=0.0;w=0.0;x=0.0;y=0.0}else{m=+g[s+(_*244|0)+208>>2];n=+g[s+(_*244|0)+212>>2];p=+g[s+(_*244|0)+216>>2];w=+g[s+(_*244|0)+224>>2];x=+g[s+(_*244|0)+228>>2];y=+g[s+(_*244|0)+232>>2]}if(!(c[s+($*244|0)+240>>2]|0)){t=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0}else{t=+g[s+($*244|0)+208>>2];u=+g[s+($*244|0)+212>>2];v=+g[s+($*244|0)+216>>2];z=+g[s+($*244|0)+224>>2];A=+g[s+($*244|0)+228>>2];B=+g[s+($*244|0)+232>>2]}m=C-((m+ +g[s+(_*244|0)+176>>2])*+g[T+(V*152|0)+16>>2]+(n+ +g[s+(_*244|0)+180>>2])*+g[T+(V*152|0)+20>>2]+(p+ +g[s+(_*244|0)+184>>2])*+g[T+(V*152|0)+24>>2]+((w+ +g[s+(_*244|0)+192>>2])*+g[T+(V*152|0)>>2]+(x+ +g[s+(_*244|0)+196>>2])*+g[T+(V*152|0)+4>>2]+(y+ +g[s+(_*244|0)+200>>2])*+g[T+(V*152|0)+8>>2])+((t+ +g[s+($*244|0)+176>>2])*+g[T+(V*152|0)+48>>2]+(u+ +g[s+($*244|0)+180>>2])*+g[T+(V*152|0)+52>>2]+(v+ +g[s+($*244|0)+184>>2])*+g[T+(V*152|0)+56>>2]+((z+ +g[s+($*244|0)+192>>2])*+g[T+(V*152|0)+32>>2]+(A+ +g[s+($*244|0)+196>>2])*+g[T+(V*152|0)+36>>2]+(B+ +g[s+($*244|0)+200>>2])*+g[T+(V*152|0)+40>>2])));j=(c[f+44>>2]|0)==0;n=+g[f+12>>2];if(F>0.0){p=0.0;m=m-F/n}else p=-(F*+g[(j|F>+g[f+48>>2]?f+32|0:f+36|0)>>2])/n;E=+g[T+(V*152|0)+108>>2];n=p*E;m=m*E;if(j|F>+g[f+48>>2]){g[T+(V*152|0)+112>>2]=n+m;g[T+(V*152|0)+128>>2]=0.0}else{g[T+(V*152|0)+112>>2]=m;g[T+(V*152|0)+128>>2]=n}g[T+(V*152|0)+116>>2]=0.0;g[T+(V*152|0)+120>>2]=0.0;g[T+(V*152|0)+124>>2]=1.0e10;c[T+(V*152|0)+140>>2]=c[b+68>>2];if(!G){l=0;r=0;s=0}else{l=c[G+328>>2]|0;r=c[G+332>>2]|0;s=c[G+336>>2]|0}if(!H){j=0;o=0;q=0}else{j=c[H+328>>2]|0;o=c[H+332>>2]|0;q=c[H+336>>2]|0}p=(c[k>>2]=j,+g[k>>2]);p=p-(c[k>>2]=l,+g[k>>2]);n=(c[k>>2]=o,+g[k>>2]);n=n-(c[k>>2]=r,+g[k>>2]);t=(c[k>>2]=q,+g[k>>2]);t=t-(c[k>>2]=s,+g[k>>2]);g[fa+32>>2]=p;g[fa+32+4>>2]=n;g[fa+32+8>>2]=t;g[fa+32+12>>2]=0.0;do if((h|0)>0?+g[X+4+(da*184|0)+88>>2]>0.0:0){h=h+-1|0;m=+O(+(p*p+n*n+t*t));if(m>+g[f+80>>2]){g[fa+32>>2]=p*(1.0/m);g[fa+32+4>>2]=n*(1.0/m);g[fa+32+8>>2]=t*(1.0/m);if(!(c[Y+180>>2]&2)){p=p*(1.0/m);n=n*(1.0/m);m=t*(1.0/m)}else{u=+g[Y+4>>2];x=+g[Y+20>>2];A=+g[Y+36>>2];v=+g[Y+8>>2];y=+g[Y+24>>2];C=+g[Y+40>>2];w=+g[Y+12>>2];z=+g[Y+28>>2];F=+g[Y+44>>2];B=(u*p*(1.0/m)+x*n*(1.0/m)+t*(1.0/m)*A)*+g[Y+164>>2];E=(p*(1.0/m)*v+n*(1.0/m)*y+t*(1.0/m)*C)*+g[Y+168>>2];m=(p*(1.0/m)*w+n*(1.0/m)*z+t*(1.0/m)*F)*+g[Y+172>>2];g[fa+32>>2]=u*B+v*E+w*m;g[fa+32+4>>2]=x*B+y*E+z*m;g[fa+32+8>>2]=A*B+C*E+F*m;g[fa+32+12>>2]=0.0;p=u*B+v*E+w*m;n=x*B+y*E+z*m;m=A*B+C*E+F*m}if(c[Z+180>>2]&2){u=+g[Z+4>>2];x=+g[Z+20>>2];A=+g[Z+36>>2];v=+g[Z+8>>2];y=+g[Z+24>>2];C=+g[Z+40>>2];w=+g[Z+12>>2];z=+g[Z+28>>2];F=+g[Z+44>>2];B=(u*p+x*n+A*m)*+g[Z+164>>2];E=(p*v+n*y+m*C)*+g[Z+168>>2];m=(p*w+n*z+m*F)*+g[Z+172>>2];g[fa+32>>2]=u*B+v*E+w*m;g[fa+32+4>>2]=x*B+y*E+z*m;g[fa+32+8>>2]=A*B+C*E+F*m;g[fa+32+12>>2]=0.0;p=u*B+v*E+w*m;n=x*B+y*E+z*m;m=A*B+C*E+F*m}if(!(+O(+(p*p+n*n+m*m))>.001))break;Nd(b,fa+32|0,_,$,V,U);break}Nd(b,Q,_,$,V,U);m=+g[S>>2];if(+N(+m)>.7071067690849304){F=+g[R>>2];E=1.0/+O(+(m*m+F*F));g[fa+16>>2]=0.0;g[fa+16+4>>2]=-(E*m);g[fa+16+8>>2]=E*F;g[fa>>2]=(m*m+F*F)*E;n=+g[Q>>2];g[fa+4>>2]=-(E*F*n);w=n*-(E*m);p=0.0;u=-(E*m);v=E*F;t=(m*m+F*F)*E;n=-(E*F*n)}else{t=+g[Q>>2];F=+g[R>>2];n=1.0/+O(+(t*t+F*F));g[fa+16>>2]=-(F*n);g[fa+16+4>>2]=n*t;g[fa+16+8>>2]=0.0;g[fa>>2]=-(n*t*m);g[fa+4>>2]=m*-(F*n);w=(t*t+F*F)*n;p=-(F*n);u=n*t;v=0.0;t=-(n*t*m);n=m*-(F*n)}g[fa+8>>2]=w;j=(c[Y+180>>2]&2|0)==0;if(!j){ha=+g[Y+4>>2];x=+g[Y+20>>2];A=+g[Y+36>>2];ga=+g[Y+8>>2];y=+g[Y+24>>2];C=+g[Y+40>>2];m=+g[Y+12>>2];z=+g[Y+28>>2];F=+g[Y+44>>2];B=(ha*p+x*u+A*v)*+g[Y+164>>2];E=(p*ga+u*y+v*C)*+g[Y+168>>2];v=(p*m+u*z+v*F)*+g[Y+172>>2];g[fa+16>>2]=ha*B+ga*E+m*v;g[fa+16+4>>2]=x*B+y*E+z*v;g[fa+16+8>>2]=A*B+C*E+F*v;g[fa+16+12>>2]=0.0;p=ha*B+ga*E+m*v;u=x*B+y*E+z*v;v=A*B+C*E+F*v}l=(c[Z+180>>2]&2|0)==0;if(!l){m=+g[Z+4>>2];z=+g[Z+20>>2];C=+g[Z+36>>2];x=+g[Z+8>>2];A=+g[Z+24>>2];F=+g[Z+40>>2];y=+g[Z+12>>2];B=+g[Z+28>>2];ha=+g[Z+44>>2];E=(m*p+z*u+C*v)*+g[Z+164>>2];ga=(p*x+u*A+v*F)*+g[Z+168>>2];v=(p*y+u*B+v*ha)*+g[Z+172>>2];g[fa+16>>2]=m*E+x*ga+y*v;g[fa+16+4>>2]=z*E+A*ga+B*v;g[fa+16+8>>2]=C*E+F*ga+ha*v;g[fa+16+12>>2]=0.0;p=m*E+x*ga+y*v;u=z*E+A*ga+B*v;v=C*E+F*ga+ha*v}if(j)m=w;else{ia=+g[Y+4>>2];z=+g[Y+20>>2];C=+g[Y+36>>2];x=+g[Y+8>>2];A=+g[Y+24>>2];F=+g[Y+40>>2];y=+g[Y+12>>2];B=+g[Y+28>>2];ha=+g[Y+44>>2];E=(ia*t+z*n+C*w)*+g[Y+164>>2];ga=(t*x+n*A+w*F)*+g[Y+168>>2];m=(t*y+n*B+w*ha)*+g[Y+172>>2];g[fa>>2]=ia*E+x*ga+y*m;g[fa+4>>2]=z*E+A*ga+B*m;g[fa+8>>2]=C*E+F*ga+ha*m;g[fa+12>>2]=0.0;t=ia*E+x*ga+y*m;n=z*E+A*ga+B*m;m=C*E+F*ga+ha*m}if(!l){x=+g[Z+4>>2];A=+g[Z+20>>2];E=+g[Z+36>>2];y=+g[Z+8>>2];B=+g[Z+24>>2];ga=+g[Z+40>>2];z=+g[Z+12>>2];C=+g[Z+28>>2];ia=+g[Z+44>>2];F=(x*t+A*n+E*m)*+g[Z+164>>2];ha=(t*y+n*B+m*ga)*+g[Z+168>>2];m=(t*z+n*C+m*ia)*+g[Z+172>>2];g[fa>>2]=x*F+y*ha+z*m;g[fa+4>>2]=A*F+B*ha+C*m;g[fa+8>>2]=E*F+ga*ha+ia*m;g[fa+12>>2]=0.0;t=x*F+y*ha+z*m;n=A*F+B*ha+C*m;m=E*F+ga*ha+ia*m}if(+O(+(p*p+u*u+v*v))>.001)Nd(b,fa+16|0,_,$,V,U);if(+O(+(t*t+n*n+m*m))>.001)Nd(b,fa,_,$,V,U)}while(0);do if(!(c[f+64>>2]&32))ea=95;else{if(!(a[X+4+(da*184|0)+116>>0]|0)){ea=95;break}qd(b,X+4+(da*184|0)+152|0,_,$,V,U,fa+64|0,fa+48|0,1.0,+g[X+4+(da*184|0)+132>>2],+g[X+4+(da*184|0)+140>>2]);if(!(c[f+64>>2]&16))break;qd(b,X+4+(da*184|0)+168|0,_,$,V,U,fa+64|0,fa+48|0,1.0,+g[X+4+(da*184|0)+136>>2],+g[X+4+(da*184|0)+144>>2])}while(0);do if((ea|0)==95){ea=0;D=X+4+(da*184|0)+152|0;m=+g[Q>>2];x=+g[R>>2];w=+g[S>>2];n=P-(P*J+M*K+I*L)*m;u=M-(P*J+M*K+I*L)*x;t=I-(P*J+M*K+I*L)*w;g[X+4+(da*184|0)+152>>2]=n;r=X+4+(da*184|0)+156|0;g[r>>2]=u;s=X+4+(da*184|0)+160|0;g[s>>2]=t;j=X+4+(da*184|0)+164|0;g[j>>2]=0.0;if((c[f+64>>2]&64|0)==0?n*n+u*u+t*t>1.1920928955078125e-07:0){m=1.0/+O(+(n*n+u*u+t*t));g[D>>2]=n*m;g[r>>2]=m*u;g[s>>2]=m*t;do if(!Y){p=n*m;n=m*u;m=m*t}else{if(!(c[Y+180>>2]&1)){p=n*m;n=m*u;m=m*t;break}F=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];I=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];p=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(F*n*m+J*m*u+m*t*M)*+g[Y+164>>2];ha=(n*m*I+m*u*K+m*t*ga)*+g[Y+168>>2];m=(n*m*p+m*u*L+m*t*ia)*+g[Y+172>>2];g[D>>2]=F*P+I*ha+p*m;g[r>>2]=J*P+K*ha+L*m;g[s>>2]=M*P+ga*ha+ia*m;g[j>>2]=0.0;p=F*P+I*ha+p*m;n=J*P+K*ha+L*m;m=M*P+ga*ha+ia*m}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*p+I*n+L*m)*+g[Z+164>>2];ga=(p*E+n*J+m*P)*+g[Z+168>>2];ia=(p*F+n*K+m*ha)*+g[Z+172>>2];g[D>>2]=C*M+E*ga+F*ia;g[r>>2]=I*M+J*ga+K*ia;g[s>>2]=L*M+P*ga+ha*ia;g[j>>2]=0.0}while(0);qd(b,D,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;q=X+4+(da*184|0)+168|0;ha=+g[r>>2];p=+g[S>>2];M=+g[s>>2];P=+g[R>>2];ia=+g[Q>>2];ga=+g[D>>2];g[X+4+(da*184|0)+168>>2]=ha*p-M*P;j=X+4+(da*184|0)+172|0;l=X+4+(da*184|0)+176|0;o=X+4+(da*184|0)+180|0;g[o>>2]=0.0;n=1.0/+O(+((ha*p-M*P)*(ha*p-M*P)+(M*ia-p*ga)*(M*ia-p*ga)+(P*ga-ha*ia)*(P*ga-ha*ia)));m=(ha*p-M*P)*n;g[q>>2]=m;p=(M*ia-p*ga)*n;g[j>>2]=p;n=(P*ga-ha*ia)*n;g[l>>2]=n;do if(Y){if(!(c[Y+180>>2]&1))break;E=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];F=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];I=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(E*m+J*p+n*M)*+g[Y+164>>2];ha=(m*F+p*K+n*ga)*+g[Y+168>>2];n=(m*I+p*L+n*ia)*+g[Y+172>>2];g[q>>2]=E*P+F*ha+I*n;g[j>>2]=J*P+K*ha+L*n;g[l>>2]=M*P+ga*ha+ia*n;g[o>>2]=0.0;m=E*P+F*ha+I*n;p=J*P+K*ha+L*n;n=M*P+ga*ha+ia*n}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*m+I*p+L*n)*+g[Z+164>>2];ga=(m*E+p*J+n*P)*+g[Z+168>>2];ia=(m*F+p*K+n*ha)*+g[Z+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[j>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[o>>2]=0.0}while(0);qd(b,q,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);break}q=X+4+(da*184|0)+168|0;if(+N(+w)>.7071067690849304){ia=1.0/+O(+(w*w+x*x));g[D>>2]=0.0;g[r>>2]=-(ia*w);g[s>>2]=ia*x;u=-(ia*x*m);v=m*-(ia*w);t=(w*w+x*x)*ia;p=0.0;n=-(ia*w);m=ia*x}else{n=1.0/+O(+(m*m+x*x));g[D>>2]=-(x*n);g[r>>2]=n*m;g[s>>2]=0.0;u=w*-(x*n);v=(m*m+x*x)*n;t=-(n*m*w);p=-(x*n);n=n*m;m=0.0}g[q>>2]=t;o=X+4+(da*184|0)+172|0;g[o>>2]=u;l=X+4+(da*184|0)+176|0;g[l>>2]=v;do if(Y){if(!(c[Y+180>>2]&1))break;E=+g[Y+4>>2];J=+g[Y+20>>2];M=+g[Y+36>>2];F=+g[Y+8>>2];K=+g[Y+24>>2];ga=+g[Y+40>>2];I=+g[Y+12>>2];L=+g[Y+28>>2];ia=+g[Y+44>>2];P=(E*p+J*n+M*m)*+g[Y+164>>2];ha=(p*F+n*K+m*ga)*+g[Y+168>>2];m=(p*I+n*L+m*ia)*+g[Y+172>>2];g[D>>2]=E*P+F*ha+I*m;g[r>>2]=J*P+K*ha+L*m;g[s>>2]=M*P+ga*ha+ia*m;g[j>>2]=0.0;p=E*P+F*ha+I*m;n=J*P+K*ha+L*m;m=M*P+ga*ha+ia*m}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];I=+g[Z+20>>2];L=+g[Z+36>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*p+I*n+L*m)*+g[Z+164>>2];ga=(p*E+n*J+m*P)*+g[Z+168>>2];ia=(p*F+n*K+m*ha)*+g[Z+172>>2];g[D>>2]=C*M+E*ga+F*ia;g[r>>2]=I*M+J*ga+K*ia;g[s>>2]=L*M+P*ga+ha*ia;g[j>>2]=0.0}while(0);qd(b,D,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0;if(j&16){do if(Y|0){if(!(c[Y+180>>2]&1))break;C=+g[Y+4>>2];A=+g[q>>2];I=+g[Y+20>>2];B=+g[o>>2];L=+g[Y+36>>2];ia=+g[l>>2];E=+g[Y+8>>2];J=+g[Y+24>>2];P=+g[Y+40>>2];F=+g[Y+12>>2];K=+g[Y+28>>2];ha=+g[Y+44>>2];M=(C*A+I*B+L*ia)*+g[Y+164>>2];ga=(A*E+B*J+ia*P)*+g[Y+168>>2];ia=(A*F+B*K+ia*ha)*+g[Y+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[o>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[X+4+(da*184|0)+180>>2]=0.0}while(0);do if(Z|0){if(!(c[Z+180>>2]&1))break;C=+g[Z+4>>2];A=+g[q>>2];I=+g[Z+20>>2];B=+g[o>>2];L=+g[Z+36>>2];ia=+g[l>>2];E=+g[Z+8>>2];J=+g[Z+24>>2];P=+g[Z+40>>2];F=+g[Z+12>>2];K=+g[Z+28>>2];ha=+g[Z+44>>2];M=(C*A+I*B+L*ia)*+g[Z+164>>2];ga=(A*E+B*J+ia*P)*+g[Z+168>>2];ia=(A*F+B*K+ia*ha)*+g[Z+172>>2];g[q>>2]=C*M+E*ga+F*ia;g[o>>2]=I*M+J*ga+K*ia;g[l>>2]=L*M+P*ga+ha*ia;g[X+4+(da*184|0)+180>>2]=0.0}while(0);qd(b,q,_,$,V,U,fa+64|0,fa+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0}if((j&80|0)!=80)break;a[X+4+(da*184|0)+116>>0]=1}while(0);s=c[b+16>>2]|0;l=c[s+(_*244|0)+240>>2]|0;o=c[s+($*244|0)+240>>2]|0;q=c[T+(V*152|0)+140>>2]|0;r=c[b+76>>2]|0;j=c[f+64>>2]|0;do if(!(j&4))g[r+(q*152|0)+100>>2]=0.0;else{m=+g[X+4+(da*184|0)+124>>2]*+g[f+60>>2];g[r+(q*152|0)+100>>2]=m;if(l|0){ga=+g[l+344>>2];ia=m*ga*+g[r+(q*152|0)+20>>2]*+g[l+352>>2]*+g[s+(_*244|0)+116>>2];ha=m*ga*+g[r+(q*152|0)+24>>2]*+g[l+356>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*m*ga*+g[r+(q*152|0)+16>>2]*+g[l+348>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=ia+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=ha+ +g[s+(_*244|0)+72>>2];ha=m*+g[s+(_*244|0)+100>>2]*+g[r+(q*152|0)+68>>2];ia=m*+g[s+(_*244|0)+104>>2]*+g[r+(q*152|0)+72>>2];g[s+(_*244|0)+80>>2]=m*+g[s+(_*244|0)+96>>2]*+g[r+(q*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=ha+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=ia+ +g[s+(_*244|0)+88>>2]}if(!o)break;m=+g[o+344>>2];n=+g[r+(q*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;ia=+g[r+(q*152|0)+88>>2];ha=+g[r+(q*152|0)+84>>2];ga=+g[r+(q*152|0)+80>>2];M=n*m*+g[r+(q*152|0)+52>>2]*+g[o+352>>2]*+g[s+($*244|0)+116>>2];P=n*m*+g[r+(q*152|0)+56>>2]*+g[o+356>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*n*m*+g[r+(q*152|0)+48>>2]*+g[o+348>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=M+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=P+ +g[s+($*244|0)+72>>2];ha=ha*+g[s+($*244|0)+100>>2]*-n;ia=ia*+g[s+($*244|0)+104>>2]*-n;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-ga*+g[s+($*244|0)+96>>2]*-n;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-ha;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-ia}while(0);do if(j&16|0){if(!(j&4)){g[r+((q+1|0)*152|0)+100>>2]=0.0;break}n=+g[X+4+(da*184|0)+128>>2]*+g[f+60>>2];g[r+((q+1|0)*152|0)+100>>2]=n;do if(l|0){m=+g[l+344>>2];if(!(c[s+(_*244|0)+240>>2]|0))break;ia=n*m*+g[r+((q+1|0)*152|0)+20>>2]*+g[s+(_*244|0)+116>>2];ha=n*m*+g[r+((q+1|0)*152|0)+24>>2]*+g[s+(_*244|0)+120>>2];g[s+(_*244|0)+64>>2]=+g[s+(_*244|0)+112>>2]*n*m*+g[r+((q+1|0)*152|0)+16>>2]+ +g[s+(_*244|0)+64>>2];g[s+(_*244|0)+68>>2]=ia+ +g[s+(_*244|0)+68>>2];g[s+(_*244|0)+72>>2]=ha+ +g[s+(_*244|0)+72>>2];ha=n*+g[s+(_*244|0)+100>>2]*+g[r+((q+1|0)*152|0)+68>>2];ia=n*+g[s+(_*244|0)+104>>2]*+g[r+((q+1|0)*152|0)+72>>2];g[s+(_*244|0)+80>>2]=n*+g[s+(_*244|0)+96>>2]*+g[r+((q+1|0)*152|0)+64>>2]+ +g[s+(_*244|0)+80>>2];g[s+(_*244|0)+84>>2]=ha+ +g[s+(_*244|0)+84>>2];g[s+(_*244|0)+88>>2]=ia+ +g[s+(_*244|0)+88>>2]}while(0);if(!o)break;m=+g[o+344>>2];n=+g[r+((q+1|0)*152|0)+100>>2];if(!(c[s+($*244|0)+240>>2]|0))break;ia=+g[r+((q+1|0)*152|0)+88>>2];ha=+g[r+((q+1|0)*152|0)+84>>2];ga=+g[r+((q+1|0)*152|0)+80>>2];M=n*m*+g[r+((q+1|0)*152|0)+52>>2]*+g[s+($*244|0)+116>>2];P=n*m*+g[r+((q+1|0)*152|0)+56>>2]*+g[s+($*244|0)+120>>2];g[s+($*244|0)+64>>2]=+g[s+($*244|0)+112>>2]*n*m*+g[r+((q+1|0)*152|0)+48>>2]+ +g[s+($*244|0)+64>>2];g[s+($*244|0)+68>>2]=M+ +g[s+($*244|0)+68>>2];g[s+($*244|0)+72>>2]=P+ +g[s+($*244|0)+72>>2];ha=ha*+g[s+($*244|0)+100>>2]*-n;ia=ia*+g[s+($*244|0)+104>>2]*-n;g[s+($*244|0)+80>>2]=+g[s+($*244|0)+80>>2]-ga*+g[s+($*244|0)+96>>2]*-n;g[s+($*244|0)+84>>2]=+g[s+($*244|0)+84>>2]-ha;g[s+($*244|0)+88>>2]=+g[s+($*244|0)+88>>2]-ia}while(0);j=c[X+748>>2]|0}da=da+1|0}while((da|0)<(j|0))}ca=ca+1|0}while((ca|0)!=(e|0));i=fa;return}function rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+160|0;c[X+40>>2]=0;a[X+16>>0]=1;c[X+12>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;a[X+36>>0]=1;c[X+32>>2]=0;c[X+24>>2]=0;c[X+28>>2]=0;l=e>>>0<8?8:e;if((l|0)>0){c[6435]=(c[6435]|0)+1;h=yc((l<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=0;do{W=j+(h<<4)|0;c[W>>2]=c[X+80>>2];c[W+4>>2]=c[X+80+4>>2];c[W+8>>2]=c[X+80+8>>2];c[W+12>>2]=c[X+80+12>>2];h=h+1|0}while((h|0)!=(l|0));W=j}else W=0;do if(!e){h=0;q=0;j=0;n=0;o=0}else{j=c[X+24>>2]|0;if((j|0)<0){h=c[X+32>>2]|0;do if((c[X+28>>2]|0)<0){if(!h){a[X+36>>0]=1;c[X+32>>2]=0;c[X+28>>2]=0;h=0;break}if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}a[X+36>>0]=1;c[X+32>>2]=0;c[X+28>>2]=0;h=0}while(0);Qn(h+(j<<2)|0,0,_(j,-4)|0)|0}c[X+24>>2]=0;w=3402823466385288598117041.0e14;p=-3402823466385288598117041.0e14;x=3402823466385288598117041.0e14;r=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;h=0;j=d;while(1){K=+g[j>>2];w=K<w?K:w;p=K>p?K:p;K=+g[j+4>>2];x=K<x?K:x;r=K>r?K:r;K=+g[j+8>>2];y=K<y?K:y;v=K>v?K:v;h=h+1|0;if((h|0)==(e|0))break;else j=j+16|0}s=p-w;r=r-x;p=v-y;E=w+s*.5;C=x+r*.5;B=y+p*.5;do if(e>>>0<3|(s<9.999999974752427e-07|r<9.999999974752427e-07|p<9.999999974752427e-07)){v=s>9.999999974752427e-07&s<3402823466385288598117041.0e14?s:3402823466385288598117041.0e14;v=r>9.999999974752427e-07&r<v?r:v;v=p>9.999999974752427e-07&p<v?p:v;if(!(v==3402823466385288598117041.0e14)){s=s<9.999999974752427e-07?v*.05000000074505806:s;r=r<9.999999974752427e-07?v*.05000000074505806:r;if(p<9.999999974752427e-07)p=v*.05000000074505806}else{s=.009999999776482582;r=.009999999776482582;p=.009999999776482582}K=E-s;J=E+s;I=C-r;r=C+r;H=B-p;s=B+p;g[W>>2]=K;g[W+4>>2]=I;g[W+8>>2]=H;g[W+16>>2]=J;g[W+20>>2]=I;g[W+24>>2]=H;g[W+32>>2]=J;g[W+36>>2]=r;g[W+40>>2]=H;g[W+48>>2]=K;g[W+52>>2]=r;g[W+56>>2]=H;g[W+64>>2]=K;g[W+68>>2]=I;g[W+72>>2]=s;g[W+80>>2]=J;g[W+84>>2]=I;g[W+88>>2]=s;g[W+96>>2]=J;g[W+100>>2]=r;g[W+104>>2]=s;g[W+112>>2]=K;g[W+116>>2]=r;g[W+120>>2]=s;T=8;s=1.0;r=1.0;p=1.0;V=53}else{j=0;q=0;h=0;o=d;do{y=1.0/s*+g[o>>2];z=1.0/r*+g[o+4>>2];A=1.0/p*+g[o+8>>2];o=o+16|0;a:do if(h){l=0;while(1){d=W+(l<<4)|0;v=+g[d>>2];m=W+(l<<4)+4|0;w=+g[m>>2];n=W+(l<<4)+8|0;x=+g[n>>2];if(+N(+(v-y))<1.0000000474974513e-03&+N(+(w-z))<1.0000000474974513e-03&+N(+(x-A))<1.0000000474974513e-03)break;l=l+1|0;if(l>>>0>=h>>>0){n=l;break a}}if((y-1.0/s*E)*(y-1.0/s*E)+(z-1.0/r*C)*(z-1.0/r*C)+(A-1.0/p*B)*(A-1.0/p*B)>(v-1.0/s*E)*(v-1.0/s*E)+(w-1.0/r*C)*(w-1.0/r*C)+(x-1.0/p*B)*(x-1.0/p*B)){g[d>>2]=y;g[m>>2]=z;g[n>>2]=A;n=l}else n=l}else n=0;while(0);if((n|0)==(h|0)){g[W+(h<<4)>>2]=y;g[W+(h<<4)+4>>2]=z;g[W+(h<<4)+8>>2]=A;h=h+1|0}if((j|0)==(c[X+28>>2]|0)?(t=j|0?j<<1:1,(j|0)<(t|0)):0){if((t|0)!=0?(c[6435]=(c[6435]|0)+1,u=yc((t<<2|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;m=u+4+15&-16}else m=0;d=c[X+32>>2]|0;if((j|0)<=0){if(d)V=39}else{l=0;do{c[m+(l<<2)>>2]=c[d+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));V=39}if((V|0)==39){V=0;if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[X+32>>2]=0;j=c[X+24>>2]|0}a[X+36>>0]=1;c[X+32>>2]=m;c[X+28>>2]=t}c[(c[X+32>>2]|0)+(j<<2)>>2]=n;j=(c[X+24>>2]|0)+1|0;c[X+24>>2]=j;q=q+1|0}while((q|0)!=(e|0));if(!h){j=1;A=3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14}else{C=3402823466385288598117041.0e14;A=3402823466385288598117041.0e14;E=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;G=3402823466385288598117041.0e14;z=3402823466385288598117041.0e14;H=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;J=3402823466385288598117041.0e14;y=3402823466385288598117041.0e14;K=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;q=0;while(1){B=+g[W+(q<<4)>>2];j=B<C;A=j?B:A;l=B>E;x=l?B:x;F=+g[W+(q<<4)+4>>2];d=F<G;z=d?F:z;m=F>H;w=m?F:w;I=+g[W+(q<<4)+8>>2];n=I<J;y=n?I:y;o=I>K;v=o?I:v;q=q+1|0;if((q|0)==(h|0))break;else{C=j?B:C;E=l?B:E;G=d?F:G;H=m?F:H;J=n?I:J;K=o?I:K}}j=h>>>0<3}x=x-A;C=w-z;v=v-y;if(!(j|(x<9.999999974752427e-07|C<9.999999974752427e-07|v<9.999999974752427e-07))){if(h|0){T=h;V=53;break}break}B=A+x*.5;A=z+C*.5;z=y+v*.5;y=x>=9.999999974752427e-07&x<3402823466385288598117041.0e14?x:3402823466385288598117041.0e14;y=C>=9.999999974752427e-07&C<y?C:y;y=v>=9.999999974752427e-07&v<y?v:y;if(!(y==3402823466385288598117041.0e14)){w=x<9.999999974752427e-07?y*.05000000074505806:x;x=C<9.999999974752427e-07?y*.05000000074505806:C;if(v<9.999999974752427e-07)v=y*.05000000074505806}else{w=.009999999776482582;x=.009999999776482582;v=.009999999776482582}I=B-w;H=B+w;G=A-x;J=A+x;F=z-v;K=z+v;g[W>>2]=I;g[W+4>>2]=G;g[W+8>>2]=F;g[W+16>>2]=H;g[W+20>>2]=G;g[W+24>>2]=F;g[W+32>>2]=H;g[W+36>>2]=J;g[W+40>>2]=F;g[W+48>>2]=I;g[W+52>>2]=J;g[W+56>>2]=F;g[W+64>>2]=I;g[W+68>>2]=G;g[W+72>>2]=K;g[W+80>>2]=H;g[W+84>>2]=G;g[W+88>>2]=K;g[W+96>>2]=H;g[W+100>>2]=J;g[W+104>>2]=K;g[W+112>>2]=I;g[W+116>>2]=J;g[W+120>>2]=K;T=8;V=53}while(0);if((V|0)==53){h=0;do{U=W+(h<<4)|0;g[U>>2]=s*+g[U>>2];U=W+(h<<4)+4|0;g[U>>2]=r*+g[U>>2];U=W+(h<<4)+8|0;g[U>>2]=p*+g[U>>2];h=h+1|0}while(h>>>0<T>>>0);if((T|0)>=4){p=+g[W>>2];r=+g[W+4>>2];v=+g[W+8>>2];U=T<<2;c[6435]=(c[6435]|0)+1;h=yc((U|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}a[X+100+16>>0]=1;Q=X+100+12|0;c[Q>>2]=0;c[X+100+4>>2]=0;c[X+100+8>>2]=0;c[6435]=(c[6435]|0)+1;h=yc((U|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}a[X+100+16>>0]=1;c[Q>>2]=h;c[X+100+8>>2]=T;o=0;q=T;y=p;z=r;s=v;w=p;x=r;h=T;m=j;n=0;while(1){if((o|0)==(q|0)?(D=q|0?q<<1:1,(q|0)<(D|0)):0){if((D|0)!=0?(c[6435]=(c[6435]|0)+1,L=yc((D<<2|3)+16|0)|0,(L|0)!=0):0){c[(L+4+15&-16)+-4>>2]=L;l=L+4+15&-16}else l=0;d=c[Q>>2]|0;if((q|0)<=0){if(d|0)V=68}else{j=0;do{c[l+(j<<2)>>2]=c[d+(j<<2)>>2];j=j+1|0}while((j|0)!=(q|0));V=68}if((V|0)==68){V=0;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[Q>>2]=0}a[X+100+16>>0]=1;c[Q>>2]=l;c[X+100+8>>2]=D}c[(c[Q>>2]|0)+(o<<2)>>2]=1;c[X+100+4>>2]=o+1;do if((n|0)==(h|0)){h=n|0?n<<1:1;if((n|0)<(h|0)){if((h|0)!=0?(c[6435]=(c[6435]|0)+1,M=yc((h<<2|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;l=M+4+15&-16}else l=0;if((n|0)<=0){if(!m){P=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[m+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0))}c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0);P=l}else{h=n;P=m}}else P=m;while(0);c[P+(n<<2)>>2]=0;j=n+1|0;p=+g[W+(n<<4)>>2];w=p<w?p:w;r=+g[W+(n<<4)+4>>2];x=r<x?r:x;K=+g[W+(n<<4)+8>>2];v=K<v?K:v;p=y<p?p:y;r=z<r?r:z;s=s<K?K:s;if((j|0)>=(T|0))break;o=c[X+100+4>>2]|0;q=c[X+100+8>>2]|0;y=p;z=r;m=P;n=j}H=+O(+((p-w)*(p-w)+(r-x)*(r-x)+(s-v)*(s-v)))*1.0000000474974513e-03;L=Qe(W,T,.009999999776482582,.019999999552965164,1.0,X+100|0)|0;M=Qe(W,T,-.009999999776482582,-.019999999552965164,-1.0,X+100|0)|0;n=W+(L<<4)|0;o=W+(M<<4)|0;w=+g[n>>2]-+g[o>>2];q=W+(L<<4)+4|0;t=W+(M<<4)+4|0;x=+g[q>>2]-+g[t>>2];u=W+(L<<4)+8|0;D=W+(M<<4)+8|0;y=+g[u>>2]-+g[D>>2];b:do if((L|0)!=(M|0)?!(y==0.0&x==0.0&w==0.0):0){p=+O(+((y*.019999999552965164-x*0.0)*(y*.019999999552965164-x*0.0)+(w*0.0-y)*(w*0.0-y)+(x-w*.019999999552965164)*(x-w*.019999999552965164)));r=+O(+((y-x*0.0)*(y-x*0.0)+(y*.019999999552965164+w*0.0)*(y*.019999999552965164+w*0.0)+(x*-.019999999552965164-w)*(x*-.019999999552965164-w)));if(p>r){s=(x-w*.019999999552965164)*(1.0/p);v=(y*.019999999552965164-x*0.0)*(1.0/p);p=(w*0.0-y)*(1.0/p)}else{s=(x*-.019999999552965164-w)*(1.0/r);v=(y-x*0.0)*(1.0/r);p=(y*.019999999552965164+w*0.0)*(1.0/r)}h=Qe(W,T,v,p,s,X+100|0)|0;if((h|0)==(L|0)|(h|0)==(M|0))m=Qe(W,T,-v,-p,-s,X+100|0)|0;else m=h;if(!((m|0)==(L|0)|(m|0)==(M|0))){j=W+(m<<4)|0;p=+g[j>>2]-+g[n>>2];l=W+(m<<4)+4|0;r=+g[l>>2]-+g[q>>2];d=W+(m<<4)+8|0;s=+g[d>>2]-+g[u>>2];v=1.0/+O(+((x*p-r*w)*(x*p-r*w)+((r*y-s*x)*(r*y-s*x)+(s*w-y*p)*(s*w-y*p))));h=Qe(W,T,(r*y-s*x)*v,(s*w-y*p)*v,(x*p-r*w)*v,X+100|0)|0;if((h|0)==(m|0)|((h|0)==(L|0)|(h|0)==(M|0)))h=Qe(W,T,-((r*y-s*x)*v),-((s*w-y*p)*v),-((x*p-r*w)*v),X+100|0)|0;if(!((h|0)==(m|0)|((h|0)==(L|0)|(h|0)==(M|0)))?(B=+g[n>>2],F=+g[q>>2],A=+g[u>>2],J=+g[o>>2]-B,C=+g[t>>2]-F,G=+g[D>>2]-A,I=+g[j>>2]-B,E=+g[l>>2]-F,K=+g[d>>2]-A,R=(+g[W+(h<<4)+8>>2]-A)*(J*E-C*I)+((+g[W+(h<<4)>>2]-B)*(C*K-G*E)+(+g[W+(h<<4)+4>>2]-F)*(G*I-J*K))<0.0,S=R?m:h,R=R?h:m,(L|0)!=-1):0){E=(+g[W+(L<<4)>>2]+ +g[W+(M<<4)>>2]+ +g[W+(R<<4)>>2]+ +g[W+(S<<4)>>2])*.25;F=(+g[W+(L<<4)+4>>2]+ +g[W+(M<<4)+4>>2]+ +g[W+(R<<4)+4>>2]+ +g[W+(S<<4)+4>>2])*.25;G=(+g[W+(L<<4)+8>>2]+ +g[W+(M<<4)+8>>2]+ +g[W+(R<<4)+8>>2]+ +g[W+(S<<4)+8>>2])*.25;h=Uh(X,R,S,M)|0;c[h+12>>2]=2;c[h+16>>2]=3;c[h+20>>2]=1;h=Uh(X,S,R,L)|0;c[h+12>>2]=3;c[h+16>>2]=2;c[h+20>>2]=0;h=Uh(X,L,M,S)|0;c[h+12>>2]=0;c[h+16>>2]=1;c[h+20>>2]=3;h=Uh(X,M,L,R)|0;c[h+12>>2]=1;c[h+16>>2]=0;c[h+20>>2]=2;c[P+(S<<2)>>2]=1;c[P+(R<<2)>>2]=1;c[P+(M<<2)>>2]=1;c[P+(L<<2)>>2]=1;h=c[X+4>>2]|0;if((h|0)>0){m=c[X+12>>2]|0;n=0;do{d=c[m+(n<<2)>>2]|0;R=c[d>>2]|0;M=c[d+4>>2]|0;S=c[d+8>>2]|0;w=+g[W+(M<<4)>>2];s=w-+g[W+(R<<4)>>2];x=+g[W+(M<<4)+4>>2];v=x-+g[W+(R<<4)+4>>2];r=+g[W+(M<<4)+8>>2];p=r-+g[W+(R<<4)+8>>2];w=+g[W+(S<<4)>>2]-w;x=+g[W+(S<<4)+4>>2]-x;r=+g[W+(S<<4)+8>>2]-r;y=+O(+((s*x-v*w)*(s*x-v*w)+((v*r-p*x)*(v*r-p*x)+(p*w-s*r)*(p*w-s*r))));if(y==0.0){z=1.0;p=0.0;r=0.0;j=1065353216;l=0;h=0}else{j=(g[k>>2]=1.0/y*(v*r-p*x),c[k>>2]|0);l=(g[k>>2]=1.0/y*(p*w-s*r),c[k>>2]|0);z=1.0/y*(v*r-p*x);p=1.0/y*(p*w-s*r);r=1.0/y*(s*x-v*w);h=(g[k>>2]=1.0/y*(s*x-v*w),c[k>>2]|0)}J=(c[k>>2]=j,+g[k>>2]);K=(c[k>>2]=l,+g[k>>2]);S=Qe(W,T,J,K,(c[k>>2]=h,+g[k>>2]),X+100|0)|0;c[d+28>>2]=S;h=c[d>>2]|0;g[d+32>>2]=(+g[W+(S<<4)>>2]-+g[W+(h<<4)>>2])*z+(+g[W+(S<<4)+4>>2]-+g[W+(h<<4)+4>>2])*p+(+g[W+(S<<4)+8>>2]-+g[W+(h<<4)+8>>2])*r;n=n+1|0;h=c[X+4>>2]|0}while((n|0)<(h|0))}if((e+-4|0)>0){q=e+-4|0;while(1){d=c[X+12>>2]|0;m=0;l=0;while(1){j=c[d+(m<<2)>>2]|0;do if(l){if(!j){j=l;break}if(!(+g[l+32>>2]<+g[j+32>>2]))j=l;else V=104}else V=104;while(0);if((V|0)==104)V=0;m=m+1|0;if((m|0)>=(h|0))break;else l=j}if((j|0)==0?1:!(+g[j+32>>2]>H)){h=1;break b}o=c[j+28>>2]|0;c[P+(o<<2)>>2]=1;h=c[X+4>>2]|0;c:do if(!h)h=0;else{l=W+(o<<4)|0;d=W+(o<<4)+4|0;m=W+(o<<4)+8|0;do{h=h+-1|0;j=c[(c[X+12>>2]|0)+(h<<2)>>2]|0;do if(j|0){S=c[j>>2]|0;R=c[j+4>>2]|0;e=c[j+8>>2]|0;s=+g[W+(R<<4)>>2];z=+g[W+(S<<4)>>2];v=+g[W+(R<<4)+4>>2];A=+g[W+(S<<4)+4>>2];p=+g[W+(R<<4)+8>>2];B=+g[W+(S<<4)+8>>2];w=+g[W+(e<<4)>>2]-s;x=+g[W+(e<<4)+4>>2]-v;r=+g[W+(e<<4)+8>>2]-p;y=+O(+(((s-z)*x-(v-A)*w)*((s-z)*x-(v-A)*w)+(((v-A)*r-(p-B)*x)*((v-A)*r-(p-B)*x)+((p-B)*w-(s-z)*r)*((p-B)*w-(s-z)*r))));if(y==0.0){C=1.0;r=0.0;p=0.0}else{C=1.0/y*((v-A)*r-(p-B)*x);r=1.0/y*((p-B)*w-(s-z)*r);p=1.0/y*((s-z)*x-(v-A)*w)}if(!(C*(+g[l>>2]-z)+r*(+g[d>>2]-A)+p*(+g[m>>2]-B)>H*.009999999776482582))break;ue(X,j,o)}while(0)}while((h|0)!=0);h=c[X+4>>2]|0;if(!h){h=0;break}else j=h;d:do{j=j+-1|0;m=c[X+12>>2]|0;n=c[m+(j<<2)>>2]|0;do if(n){d=c[n>>2]|0;do if((d|0)!=(o|0)){l=c[n+4>>2]|0;if((l|0)==(o|0)){l=o;break}if((c[n+8>>2]|0)!=(o|0))break d}else l=c[n+4>>2]|0;while(0);e=c[n+8>>2]|0;z=+g[W+(l<<4)>>2];B=+g[W+(d<<4)>>2];A=+g[W+(l<<4)+4>>2];C=+g[W+(d<<4)+4>>2];r=+g[W+(l<<4)+8>>2];w=+g[W+(d<<4)+8>>2];s=+g[W+(e<<4)>>2]-z;v=+g[W+(e<<4)+4>>2]-A;p=+g[W+(e<<4)+8>>2]-r;x=+O(+(((z-B)*v-(A-C)*s)*((z-B)*v-(A-C)*s)+(((A-C)*p-(r-w)*v)*((A-C)*p-(r-w)*v)+((r-w)*s-(z-B)*p)*((r-w)*s-(z-B)*p))));if(x==0.0){y=1.0;r=0.0;p=0.0}else{y=1.0/x*((A-C)*p-(r-w)*v);r=1.0/x*((r-w)*s-(z-B)*p);p=1.0/x*((z-B)*v-(A-C)*s)}if(!(x<H*H*.10000000149011612?1:(E-B)*y+(F-C)*r+(G-w)*p>H*.009999999776482582))break;ue(X,c[m+(c[n+12>>2]<<2)>>2]|0,o);j=c[X+4>>2]|0;h=j}while(0)}while((j|0)!=0);if(!h){h=0;break}n=c[X+12>>2]|0;m=h;do{m=m+-1|0;o=c[n+(m<<2)>>2]|0;do if(o|0){if((c[o+28>>2]|0)>-1)break c;S=c[o>>2]|0;R=c[o+4>>2]|0;e=c[o+8>>2]|0;w=+g[W+(R<<4)>>2];s=w-+g[W+(S<<4)>>2];x=+g[W+(R<<4)+4>>2];v=x-+g[W+(S<<4)+4>>2];r=+g[W+(R<<4)+8>>2];p=r-+g[W+(S<<4)+8>>2];w=+g[W+(e<<4)>>2]-w;x=+g[W+(e<<4)+4>>2]-x;r=+g[W+(e<<4)+8>>2]-r;y=+O(+((s*x-v*w)*(s*x-v*w)+((v*r-p*x)*(v*r-p*x)+(p*w-s*r)*(p*w-s*r))));if(y==0.0){z=1.0;p=0.0;r=0.0;l=1065353216;d=0;j=0}else{l=(g[k>>2]=1.0/y*(v*r-p*x),c[k>>2]|0);d=(g[k>>2]=1.0/y*(p*w-s*r),c[k>>2]|0);z=1.0/y*(v*r-p*x);p=1.0/y*(p*w-s*r);r=1.0/y*(s*x-v*w);j=(g[k>>2]=1.0/y*(s*x-v*w),c[k>>2]|0)}J=(c[k>>2]=l,+g[k>>2]);K=(c[k>>2]=d,+g[k>>2]);j=Qe(W,T,J,K,(c[k>>2]=j,+g[k>>2]),X+100|0)|0;c[o+28>>2]=j;if(!(c[P+(j<<2)>>2]|0)){e=c[o>>2]|0;g[o+32>>2]=(+g[W+(j<<4)>>2]-+g[W+(e<<4)>>2])*z+(+g[W+(j<<4)+4>>2]-+g[W+(e<<4)+4>>2])*p+(+g[W+(j<<4)+8>>2]-+g[W+(e<<4)+8>>2])*r;break}else{c[o+28>>2]=-1;break}}while(0)}while((m|0)!=0)}while(0);if((q|0)<=1){h=1;break b}q=q+-1|0}}else h=1}else h=0}else h=0}else h=0;while(0);j=c[Q>>2]|0;if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);c[Q>>2]=0}if(P|0){c[6436]=(c[6436]|0)+1;hd(c[P+-4>>2]|0)}if(h){h=c[X+4>>2]|0;if((h|0)>0){j=c[X+12>>2]|0;t=0;o=0;l=0;d=0;while(1){n=c[j+(t<<2)>>2]|0;if(!n)m=o;else{do if((d|0)==(o|0)){m=o|0?o<<1:1;if((o|0)>=(m|0)){m=o;break}do if(!m)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((m<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((o|0)<=0){if(!l){l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);l=j}else m=o;while(0);c[l+(d<<2)>>2]=c[n>>2];o=d+1|0;q=(c[(c[X+12>>2]|0)+(t<<2)>>2]|0)+4|0;do if((o|0)==(m|0)){n=m|0?m<<1:1;if((m|0)>=(n|0))break;do if(!n)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((n<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((m|0)<=0){if(!l){m=n;l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);m=n;l=j}while(0);c[l+(o<<2)>>2]=c[q>>2];o=d+2|0;q=(c[(c[X+12>>2]|0)+(t<<2)>>2]|0)+8|0;do if((o|0)==(m|0)){n=m|0?m<<1:1;if((m|0)>=(n|0))break;do if(!n)j=0;else{c[6435]=(c[6435]|0)+1;h=yc((n<<2|3)+16|0)|0;if(!h){j=0;break}c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}while(0);if((m|0)<=0){if(!l){m=n;l=j;break}}else{h=0;do{c[j+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);m=n;l=j}while(0);c[l+(o<<2)>>2]=c[q>>2];j=c[X+12>>2]|0;h=c[j+(t<<2)>>2]|0;c[j+(c[h+24>>2]<<2)>>2]=0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}h=c[X+4>>2]|0;d=d+3|0}t=t+1|0;if((t|0)>=(h|0))break;else o=m}c[X+96>>2]=(d|0)/3|0;if((d|0)>0){c[6435]=(c[6435]|0)+1;h=yc((d<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}Qn(h|0,0,d<<2|0)|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));m=l;M=d}else{h=0;m=l;M=d}}else{c[X+96>>2]=0;h=0;m=0;M=0}l=c[X+4>>2]|0;if((l|0)<0){j=c[X+12>>2]|0;if((c[X+8>>2]|0)<0){if(j|0){if(a[X+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[X+12>>2]=0}a[X+16>>0]=1;c[X+12>>2]=0;c[X+8>>2]=0;j=0}do{c[j+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=0)}c[X+4>>2]=0;if(m|0){c[6436]=(c[6436]|0)+1;hd(c[m+-4>>2]|0)}L=c[X+96>>2]|0;m=(T|0)>0;if(m){c[6435]=(c[6435]|0)+1;j=yc((T<<4|3)+16|0)|0;if(!j)l=0;else{c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}j=0;do{e=l+(j<<4)|0;c[e>>2]=c[X+64>>2];c[e+4>>2]=c[X+64+4>>2];c[e+8>>2]=c[X+64+8>>2];c[e+12>>2]=c[X+64+12>>2];j=j+1|0}while((j|0)!=(T|0));D=l}else D=0;l=c[X+24>>2]|0;do if((l|0)>0){c[6435]=(c[6435]|0)+1;j=yc((l<<2|3)+16|0)|0;if(!j)d=0;else{c[(j+4+15&-16)+-4>>2]=j;d=j+4+15&-16}Qn(d|0,0,l<<2|0)|0;if((c[X+24>>2]|0)<=0)break;j=c[X+32>>2]|0;l=0;do{c[d+(l<<2)>>2]=c[j+(l<<2)>>2];l=l+1|0}while((l|0)<(c[X+24>>2]|0))}else d=0;while(0);if(m){c[6435]=(c[6435]|0)+1;j=yc((U|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Qn(j|0,0,U|0)|0}else j=0;Qn(j|0,0,U|0)|0;if((L|0)<=0)if(!j)q=0;else{l=0;V=222}else{t=c[X+32>>2]|0;u=0;l=0;do{m=h+(u<<2)|0;o=c[m>>2]|0;q=j+(o<<2)|0;n=c[q>>2]|0;if(!n){c[m>>2]=l;c[D+(l<<4)>>2]=c[W+(o<<4)>>2];c[D+(l<<4)+4>>2]=c[W+(o<<4)+4>>2];c[D+(l<<4)+8>>2]=c[W+(o<<4)+8>>2];m=c[X+24>>2]|0;if((m|0)>0){n=0;do{if((c[d+(n<<2)>>2]|0)==(o|0))c[t+(n<<2)>>2]=l;n=n+1|0}while((n|0)!=(m|0))}l=l+1|0;c[q>>2]=l}else c[m>>2]=n+-1;u=u+1|0}while((u|0)!=(L*3|0));V=222}if((V|0)==222){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);q=l}if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}if((q|0)>0){c[6435]=(c[6435]|0)+1;j=yc((q<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}l=0;do{V=j+(l<<4)|0;c[V>>2]=c[X+48>>2];c[V+4>>2]=c[X+48+4>>2];c[V+8>>2]=c[X+48+8>>2];c[V+12>>2]=c[X+48+12>>2];l=l+1|0}while((l|0)!=(q|0))}else j=0;if((L|0)>0){c[6435]=(c[6435]|0)+1;l=yc((L*12|3)+16|0)|0;if(!l)l=0;else{c[(l+4+15&-16)+-4>>2]=l;l=l+4+15&-16}d=c[X+40>>2]|0;if(!d)c[X+40>>2]=l;else{c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[X+40>>2]=l}Qn(l|0,0,L*12|0)|0}_m(j|0,D|0,q<<4|0)|0;_m(c[X+40>>2]|0,h|0,L*12|0)|0;do if(M){if(!h){h=0;break}c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);h=0}while(0);if(!D){n=L;o=L*3|0;break}c[6436]=(c[6436]|0)+1;hd(c[D+-4>>2]|0);n=L;o=L*3|0;break}}}h=0;q=0;j=0;n=0;o=0}while(0);if(W|0){c[6436]=(c[6436]|0)+1;hd(c[W+-4>>2]|0)}if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[6435]=(c[6435]|0)+1;h=yc(1271)|0;if(!h)D=0;else{c[(h+4+15&-16)+-4>>2]=h;D=h+4+15&-16}Kc(D,b,q,j,0);if((n|0)>0){m=0;do{d=m*3|0;b=c[X+40>>2]|0;h=c[b+(d<<2)>>2]|0;l=c[b+(d+1<<2)>>2]|0;d=c[b+(d+2<<2)>>2]|0;if((h|0)<(l|0))Rf(D,h,l,0,0);if((l|0)<(d|0))Rf(D,l,d,0,0);if((d|0)<(h|0))Rf(D,d,h,0,0);Zf(D,h,l,d,0);m=m+1|0}while((m|0)!=(n|0))}if(q)if(!j)j=0;else{c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);j=0}if(o|0){h=c[X+40>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[X+40>>2]=0}c[X+40>>2]=0}if(f){l=c[D+732>>2]|0;if((l|0)>0){d=D+740|0;o=0;h=243703;do{m=c[d>>2]|0;n=m+(o*52|0)|0;h=(_(h,1664525)|0)+1013904223|0;q=X+100|0;t=n;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=n;t=m+(((h>>>0)%(l>>>0)|0)*52|0)|0;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=m+(((h>>>0)%(l>>>0)|0)*52|0)|0;t=X+100|0;u=q+52|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));o=o+1|0}while((o|0)!=(l|0))}else h=243703;m=c[D+752>>2]|0;if((m|0)>0){n=D+760|0;o=0;do{d=c[n>>2]|0;l=d+(o*44|0)|0;h=(_(h,1664525)|0)+1013904223|0;d=d+(((h>>>0)%(m>>>0)|0)*44|0)|0;q=X+100|0;t=l;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=l;t=d;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));q=d;t=X+100|0;u=q+44|0;do{c[q>>2]=c[t>>2];q=q+4|0;t=t+4|0}while((q|0)<(u|0));o=o+1|0}while((o|0)!=(m|0))}}h=c[X+32>>2]|0;if(h|0){if(a[X+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[X+32>>2]=0}a[X+36>>0]=1;c[X+32>>2]=0;c[X+24>>2]=0;c[X+28>>2]=0;h=c[X+12>>2]|0;if(h|0){if(a[X+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[X+12>>2]=0}h=c[X+40>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);c[X+40>>2]=0}c[X+40>>2]=0;if(!j){i=X;return D|0}c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);i=X;return D|0}function sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,O=0.0;I=i;i=i+16|0;f=c[b+1112>>2]|0;a:do if((f|0)>0)while(1){p=c[c[b+1120>>2]>>2]|0;f=c[p+348>>2]|0;if(f|0){hh(b+1048|0,f)|0;h=c[b+1052>>2]|0;if(h|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(p);if(p|0){c[6436]=(c[6436]|0)+1;hd(c[p+-4>>2]|0)}f=c[b+1112>>2]|0;if((f|0)<=0){p=f;break a}l=c[b+1120>>2]|0;h=0;do{j=l+(h<<2)|0;if((c[j>>2]|0)==(p|0)){H=14;break}h=h+1|0}while((h|0)<(f|0));if((H|0)==14){H=0;if((h|0)<(f|0)){c[j>>2]=c[l+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=p;c[b+1112>>2]=f+-1;f=f+-1|0}}if((f|0)<=0){p=f;break}}else p=f;while(0);f=c[b+712>>2]|0;f=(f|0)>(d|0)?d:f;if((p|0)<(f|0)){if((c[b+1116>>2]|0)<(f|0)){if(f){c[6435]=(c[6435]|0)+1;h=yc((f<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[b+1120>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));j=b+1120|0}else j=b+1120|0}else{h=0;j=b+1120|0}l=c[j>>2]|0;if(l|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=h;c[b+1116>>2]=f}else j=b+1120|0;h=p;do{c[(c[j>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+1112>>2]=f;if((f|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;j=f+348|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;j=c[b+1120>>2]|0;a[(c[j+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;f=c[b+1112>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=c[b+712>>2]|0;b:do if((h|0)>0){s=f;d=j;l=0;p=0;j=0;u=0;while(1){t=c[b+720>>2]|0;l=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+ +g[t+(u*104|0)+8>>2],c[k>>2]|0);j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[t+(u*104|0)+12>>2],c[k>>2]|0);p=(g[k>>2]=(c[k>>2]=p,+g[k>>2])+ +g[t+(u*104|0)+16>>2],c[k>>2]|0);s=c[d+(((u*29873|0)%(s|0)|0)<<2)>>2]|0;t=t+(u*104|0)|0;d=c[s+24>>2]|0;if((d|0)==(c[s+28>>2]|0)?(v=d|0?d<<1:1,(d|0)<(v|0)):0){if(!v)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((v<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}d=c[s+24>>2]|0}if((d|0)>0){r=0;do{c[h+(r<<2)>>2]=c[(c[s+32>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(d|0))}r=c[s+32>>2]|0;if(r){if(a[s+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[r+-4>>2]|0);d=c[s+24>>2]|0}c[s+32>>2]=0}a[s+36>>0]=1;c[s+32>>2]=h;c[s+28>>2]=v;h=c[b+712>>2]|0}c[(c[s+32>>2]|0)+(d<<2)>>2]=t;c[s+24>>2]=d+1;r=u+1|0;if((r|0)>=(h|0))break b;s=c[b+1112>>2]|0;d=c[b+1120>>2]|0;u=r}}else{l=0;p=0;j=0}while(0);m=1.0/+(h|0);o=(c[k>>2]=l,+g[k>>2])*m;n=(c[k>>2]=j,+g[k>>2])*m;m=(c[k>>2]=p,+g[k>>2])*m;if((f|0)<0)E=0;else{if((f|0)!=0?(c[6435]=(c[6435]|0)+1,w=yc((f<<4|3)+16|0)|0,(w|0)!=0):0){c[(w+4+15&-16)+-4>>2]=w;h=w+4+15&-16}else h=0;j=0;do{g[h+(j<<4)>>2]=o;g[h+(j<<4)+4>>2]=n;g[h+(j<<4)+8>>2]=m;g[h+(j<<4)+12>>2]=0.0;j=j+1|0}while((j|0)!=(f|0));E=h}u=E+4|0;v=E+8|0;w=0;do{m=+(w|0)*.0625;m=2.0-(m>1.0?1.0:m);s=0;t=0;do{h=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;r=c[h+24>>2]|0;if((r|0)>0){p=c[h+32>>2]|0;l=0;j=0;h=0;d=0;do{J=c[p+(d<<2)>>2]|0;l=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+ +g[J+8>>2],c[k>>2]|0);j=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[J+12>>2],c[k>>2]|0);h=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+ +g[J+16>>2],c[k>>2]|0);d=d+1|0}while((d|0)!=(r|0))}else{l=0;j=0;h=0}if(r){x=(c[k>>2]=l,+g[k>>2])*(1.0/+(r|0));z=(c[k>>2]=j,+g[k>>2])*(1.0/+(r|0));d=E+(t<<4)|0;y=+g[d>>2];J=E+(t<<4)+4|0;A=+g[J>>2];p=E+(t<<4)+8|0;q=+g[p>>2];B=q+m*((c[k>>2]=h,+g[k>>2])*(1.0/+(r|0))-q);l=s|(y+m*(x-y)-y)*(y+m*(x-y)-y)+(A+m*(z-A)-A)*(A+m*(z-A)-A)+(B-q)*(B-q)>1.1920928955078125e-07;g[d>>2]=y+m*(x-y);g[J>>2]=A+m*(z-A);g[p>>2]=B;g[E+(t<<4)+12>>2]=0.0;p=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;h=c[p+24>>2]|0;if((h|0)<0){if((c[p+28>>2]|0)<0){j=c[p+32>>2]|0;if(j|0){if(a[p+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=0;c[p+28>>2]=0}do{c[(c[p+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[p+24>>2]=0;s=l}t=t+1|0}while((t|0)<(f|0));w=w+1|0;h=c[b+712>>2]|0;c:do if((h|0)>0){if((f|0)>1)t=0;else{r=0;while(1){p=c[c[b+1120>>2]>>2]|0;d=(c[b+720>>2]|0)+(r*104|0)|0;j=c[p+24>>2]|0;if((j|0)==(c[p+28>>2]|0)?(D=j|0?j<<1:1,(j|0)<(D|0)):0){if(!D)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((D<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[p+24>>2]|0}if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[p+32>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}l=c[p+32>>2]|0;if(l){if(a[p+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);j=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=h;c[p+28>>2]=D;h=c[b+712>>2]|0}c[(c[p+32>>2]|0)+(j<<2)>>2]=d;c[p+24>>2]=j+1;r=r+1|0;if((r|0)>=(h|0))break c}}do{d=c[b+720>>2]|0;m=+g[d+(t*104|0)+8>>2];n=+g[d+(t*104|0)+12>>2];o=+g[d+(t*104|0)+16>>2];l=1;p=0;x=+N(+(+g[E>>2]-m))+ +N(+(+g[u>>2]-n))+ +N(+(+g[v>>2]-o));while(1){q=+N(+(+g[E+(l<<4)>>2]-m))+ +N(+(+g[E+(l<<4)+4>>2]-n))+ +N(+(+g[E+(l<<4)+8>>2]-o));j=q<x;p=j?l:p;l=l+1|0;if((l|0)==(f|0))break;else x=j?q:x}r=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;p=d+(t*104|0)|0;j=c[r+24>>2]|0;if((j|0)==(c[r+28>>2]|0)?(C=j|0?j<<1:1,(j|0)<(C|0)):0){if(!C)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((C<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[r+24>>2]|0}if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[r+32>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}l=c[r+32>>2]|0;if(l){if(a[r+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[l+-4>>2]|0);j=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=h;c[r+28>>2]=C;h=c[b+712>>2]|0}c[(c[r+32>>2]|0)+(j<<2)>>2]=p;c[r+24>>2]=j+1;t=t+1|0}while((t|0)<(h|0))}while(0)}while((w|0)<(e|0)&s);if((h|0)>0){h=h<<2;c[6435]=(c[6435]|0)+1;f=yc((h|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Qn(f|0,-1,h|0)|0;w=f}else w=0;f=c[b+1112>>2]|0;if((f|0)>0){d=c[b+1120>>2]|0;p=0;do{h=c[d+(p<<2)>>2]|0;if((c[h+24>>2]|0)>0){j=c[b+720>>2]|0;l=c[(c[b+1120>>2]|0)+(p<<2)>>2]|0;f=0;while(1){c[w+((((c[(c[h+32>>2]|0)+(f<<2)>>2]|0)-j|0)/104|0)<<2)>>2]=p;f=f+1|0;if((f|0)<(c[l+24>>2]|0))h=l;else break}f=c[b+1112>>2]|0}p=p+1|0}while((p|0)<(f|0))}if((c[b+752>>2]|0)>0){t=0;do{J=c[b+760>>2]|0;f=c[b+720>>2]|0;h=((c[J+(t*44|0)+8>>2]|0)-f|0)/104|0;c[I>>2]=h;c[I+4>>2]=((c[J+(t*44|0)+12>>2]|0)-f|0)/104|0;c[I+8>>2]=((c[J+(t*44|0)+16>>2]|0)-f|0)/104|0;f=0;while(1){d=c[w+(h<<2)>>2]|0;s=1;do{h=c[I+(((s+f|0)%3|0)<<2)>>2]|0;d:do if((c[w+(h<<2)>>2]|0)!=(d|0)){r=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+720>>2]|0)+(h*104|0)|0;h=c[r+24>>2]|0;e:do if((h|0)>0){l=c[r+32>>2]|0;j=0;while(1){if((c[l+(j<<2)>>2]|0)==(p|0))break;j=j+1|0;if((j|0)>=(h|0))break e}if((j|0)!=(h|0))break d}while(0);if((h|0)==(c[r+28>>2]|0)?(F=h|0?h<<1:1,(h|0)<(F|0)):0){if(!F)l=0;else{c[6435]=(c[6435]|0)+1;h=yc((F<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=h;h=c[r+24>>2]|0}if((h|0)>0){j=0;do{c[l+(j<<2)>>2]=c[(c[r+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[r+32>>2]|0;if(j){if(a[r+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[r+24>>2]|0}c[r+32>>2]=0}a[r+36>>0]=1;c[r+32>>2]=l;c[r+28>>2]=F}c[(c[r+32>>2]|0)+(h<<2)>>2]=p;c[r+24>>2]=h+1}while(0);s=s+1|0}while((s|0)!=3);f=f+1|0;if((f|0)>=3)break;h=c[I+(f<<2)>>2]|0}t=t+1|0}while((t|0)<(c[b+752>>2]|0));f=c[b+1112>>2]|0}if((f|0)>1){c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;r=f+36|0;a[r>>0]=1;s=f+32|0;c[s>>2]=0;t=f+24|0;c[t>>2]=0;u=f+28|0;c[u>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;v=f+348|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;v=f;a[f+377>>0]=0;l=c[b+712>>2]|0;if((l|0)>0){c[6435]=(c[6435]|0)+1;f=yc((l<<2|3)+16|0)|0;if(!f)j=0;else{c[(f+4+15&-16)+-4>>2]=f;j=f+4+15&-16}f=c[t>>2]|0;if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[s>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[s>>2]|0;if(f|0){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[s>>2]=0}a[r>>0]=1;c[s>>2]=j;c[u>>2]=l;f=c[b+712>>2]|0;if((f|0)>0){j=c[t>>2]|0;h=l;d=0;while(1){p=(c[b+720>>2]|0)+(d*104|0)|0;do if((j|0)==(h|0)){l=h|0?h<<1:1;if((h|0)>=(l|0)){l=h;break}if(!l)f=0;else{c[6435]=(c[6435]|0)+1;f=yc((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[t>>2]|0}if((h|0)>0){j=0;do{c[f+(j<<2)>>2]=c[(c[s>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[s>>2]|0;if(j){if(a[r>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0);h=c[t>>2]|0}c[s>>2]=0}a[r>>0]=1;c[s>>2]=f;c[u>>2]=l;f=c[b+712>>2]|0}else{l=h;h=j}while(0);c[(c[s>>2]|0)+(h<<2)>>2]=p;j=h+1|0;c[t>>2]=j;d=d+1|0;if((d|0)>=(f|0))break;else h=l}}}f=c[b+1112>>2]|0;if((f|0)==(c[b+1116>>2]|0)?(G=f|0?f<<1:1,(f|0)<(G|0)):0){if(!G)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((G<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[b+1112>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[b+1120>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+1120>>2]|0;if(h){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=G}c[(c[b+1120>>2]|0)+(f<<2)>>2]=v;J=f+1|0;c[b+1112>>2]=J;F=c[b+1120>>2]|0;f=F+(f<<2)|0;G=c[F>>2]|0;c[F>>2]=c[f>>2];c[f>>2]=G;f=J}if((f|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;f:do if(!(c[d+24>>2]|0)){h=h+-1|0;f=c[d+348>>2]|0;if(f|0){hh(b+1048|0,f)|0;j=c[b+1052>>2]|0;if(j|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[b+1052>>2]=f;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}Fk(d);if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}f=c[b+1112>>2]|0;if((f|0)>0){p=c[b+1120>>2]|0;j=0;while(1){l=p+(j<<2)|0;if((c[l>>2]|0)==(d|0))break;j=j+1|0;if((j|0)>=(f|0))break f}if((j|0)<(f|0)){c[l>>2]=c[p+(f+-1<<2)>>2];c[(c[b+1120>>2]|0)+(f+-1<<2)>>2]=d;c[b+1112>>2]=f+-1;f=f+-1|0}}}while(0);h=h+1|0}while((h|0)<(f|0))}if(w|0){c[6436]=(c[6436]|0)+1;hd(c[w+-4>>2]|0)}if(E|0){c[6436]=(c[6436]|0)+1;hd(c[E+-4>>2]|0)}}else H=212}else H=212;g:do if((H|0)==212){p=c[b+772>>2]|0;if(p|0){if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)l=0;else{c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){j=0;do{c[l+(j<<2)>>2]=c[(c[b+1120>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=l;c[b+1116>>2]=p;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)<=0)break;d=0;while(1){r=0;do{l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+780>>2]|0)+(d*104|0)+8+(r<<2)|0;f=c[l+24>>2]|0;if((f|0)==(c[l+28>>2]|0)?(s=f|0?f<<1:1,(f|0)<(s|0)):0){if(!s)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((s<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[l+24>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[l+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[l+32>>2]|0;if(h){if(a[l+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=j;c[l+28>>2]=s}c[(c[l+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[l+24>>2]=f+1;r=r+1|0}while((r|0)!=4);d=d+1|0;if((d|0)>=(c[b+772>>2]|0))break g}}p=c[b+752>>2]|0;if((f|0)<(p|0)){if((c[b+1116>>2]|0)<(p|0)){if(p){c[6435]=(c[6435]|0)+1;h=yc((p<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+1112>>2]|0;if((j|0)>0){l=0;do{c[h+(l<<2)>>2]=c[(c[b+1120>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));l=b+1120|0}else l=b+1120|0}else{h=0;l=b+1120|0}j=c[l>>2]|0;if(j|0){if(a[b+1124>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[l>>2]=0}a[b+1124>>0]=1;c[l>>2]=h;c[b+1116>>2]=p}do{c[(c[b+1120>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(p|0))}c[b+1112>>2]=p;if((p|0)>0){h=0;do{c[6435]=(c[6435]|0)+1;f=yc(403)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}a[f+16>>0]=1;c[f+12>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+36>>0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;a[f+56>>0]=1;c[f+52>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;J=f+348|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;g[f+368>>2]=100.0;g[f+372>>2]=.009999999776482582;a[f+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=f;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)>0){d=0;do{r=0;do{l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;p=(c[b+760>>2]|0)+(d*44|0)+8+(r<<2)|0;f=c[l+24>>2]|0;if((f|0)==(c[l+28>>2]|0)?(t=f|0?f<<1:1,(f|0)<(t|0)):0){if(!t)j=0;else{c[6435]=(c[6435]|0)+1;f=yc((t<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}j=f;f=c[l+24>>2]|0}if((f|0)>0){h=0;do{c[j+(h<<2)>>2]=c[(c[l+32>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[l+32>>2]|0;if(h){if(a[l+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0);f=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=j;c[l+28>>2]=t}c[(c[l+32>>2]|0)+(f<<2)>>2]=c[p>>2];c[l+24>>2]=f+1;r=r+1|0}while((r|0)!=3);d=d+1|0}while((d|0)<(c[b+752>>2]|0))}}while(0);f=c[b+1112>>2]|0;if(!f){J=0;i=I;return J|0}if((f|0)>0){t=0;do{s=c[(c[b+1120>>2]|0)+(t<<2)>>2]|0;g[s+128>>2]=0.0;d=c[s+24>>2]|0;p=c[s+4>>2]|0;if((d|0)>(p|0)){do if((c[s+8>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6435]=(c[6435]|0)+1;f=yc((d<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+4>>2]|0}j=c[s+12>>2]|0;if((h|0)<=0){if(!j){a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d;break}}else{l=0;do{c[f+(l<<2)>>2]=c[j+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0))}if(a[s+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[s+16>>0]=1;c[s+12>>2]=f;c[s+8>>2]=d}else f=c[s+12>>2]|0;while(0);Qn(f+(p<<2)|0,0,d-p<<2|0)|0;l=c[s+24>>2]|0}else l=d;c[s+4>>2]=d;if((l|0)>0){f=c[s+32>>2]|0;h=c[s+12>>2]|0;j=0;do{m=+g[(c[f+(j<<2)>>2]|0)+88>>2];if(m==0.0){a[s+376>>0]=1;m=999999984306749440.0}else m=1.0/m;g[h+(j<<2)>>2]=m;q=m+ +g[s+128>>2];g[s+128>>2]=q;j=j+1|0}while((j|0)!=(l|0));g[s+128>>2]=1.0/q;f=c[s+32>>2]|0;h=c[s+12>>2]|0;n=0.0;o=0.0;m=0.0;j=0;do{J=c[f+(j<<2)>>2]|0;B=+g[h+(j<<2)>>2];n=n+ +g[J+8>>2]*B;m=m+B*+g[J+12>>2];o=o+B*+g[J+16>>2];j=j+1|0}while((j|0)!=(l|0));q=1.0/q}else{q=1.0/+g[s+128>>2];g[s+128>>2]=q;n=0.0;o=0.0;m=0.0}z=n*q;x=m*q;o=o*q;g[s+228>>2]=z;g[s+232>>2]=x;g[s+236>>2]=o;g[s+240>>2]=0.0;f=s+316|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=s+132|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));f=c[s+24>>2]|0;if((f|0)>0){h=c[s+32>>2]|0;j=c[s+12>>2]|0;B=+g[s+132>>2];A=+g[s+152>>2];y=0.0;n=+g[s+136>>2];m=+g[s+140>>2];q=+g[s+156>>2];l=0;do{J=c[h+(l<<2)>>2]|0;O=+g[J+8>>2]-z;L=+g[J+12>>2]-x;M=+g[J+16>>2]-o;K=+g[j+(l<<2)>>2];B=B+K*(L*L+M*M);g[s+132>>2]=B;A=K*(O*O+M*M)+A;g[s+152>>2]=A;y=(O*O+L*L)*K+y;g[s+172>>2]=y;n=n-L*O*K;g[s+136>>2]=n;m=m-M*O*K;g[s+140>>2]=m;q=q-M*L*K;g[s+156>>2]=q;l=l+1|0}while((l|0)!=(f|0));j=(g[k>>2]=q,c[k>>2]|0);f=(g[k>>2]=m,c[k>>2]|0);l=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;x=A;h=(g[k>>2]=n,c[k>>2]|0);o=B}else{h=c[s+136>>2]|0;J=c[s+140>>2]|0;j=c[s+156>>2]|0;q=(c[k>>2]=j,+g[k>>2]);n=(c[k>>2]=h,+g[k>>2]);l=s+136|0;p=s+140|0;d=s+156|0;r=s+152|0;y=0.0;x=+g[s+152>>2];f=J;o=+g[s+132>>2];m=(c[k>>2]=J,+g[k>>2])}L=(c[k>>2]=j,+g[k>>2]);z=x*y-q*L;K=(c[k>>2]=f,+g[k>>2]);M=(c[k>>2]=h,+g[k>>2]);A=q*K-y*M;B=L*M-x*K;O=1.0/(z*o+n*A+B*m);g[s+132>>2]=z*O;g[l>>2]=(L*m-y*n)*O;g[p>>2]=(q*n-x*m)*O;g[s+144>>2]=0.0;g[s+148>>2]=A*O;g[r>>2]=(y*o-K*m)*O;g[d>>2]=(M*m-q*o)*O;g[s+160>>2]=0.0;g[s+164>>2]=B*O;g[s+168>>2]=(K*n-L*o)*O;g[s+172>>2]=(x*o-M*n)*O;g[s+176>>2]=0.0;c[s+60>>2]=1065353216;c[s+64>>2]=0;c[s+64+4>>2]=0;c[s+64+8>>2]=0;c[s+64+12>>2]=0;c[s+80>>2]=1065353216;c[s+84>>2]=0;c[s+84+4>>2]=0;c[s+84+8>>2]=0;c[s+84+12>>2]=0;c[s+100>>2]=1065353216;c[s+104>>2]=0;c[s+104+4>>2]=0;c[s+104+8>>2]=0;c[s+104+12>>2]=0;c[s+104+16>>2]=0;c[s+108>>2]=c[s+228>>2];c[s+108+4>>2]=c[s+228+4>>2];c[s+108+8>>2]=c[s+228+8>>2];c[s+108+12>>2]=c[s+228+12>>2];p=c[s+24>>2]|0;l=c[s+44>>2]|0;if((l|0)<(p|0)){if((c[s+48>>2]|0)<(p|0)){if(!p){f=0;h=l}else{c[6435]=(c[6435]|0)+1;f=yc((p<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+44>>2]|0}if((h|0)>0){j=0;do{J=f+(j<<4)|0;H=(c[s+52>>2]|0)+(j<<4)|0;c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];j=j+1|0}while((j|0)!=(h|0))}h=c[s+52>>2]|0;if(h|0){if(a[s+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[h+-4>>2]|0)}c[s+52>>2]=0}a[s+56>>0]=1;c[s+52>>2]=f;c[s+48>>2]=p;h=s+52|0}else h=s+52|0;f=l;do{J=(c[h>>2]|0)+(f<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];f=f+1|0}while((f|0)!=(p|0))}c[s+44>>2]=p;if((p|0)>0){f=0;do{J=c[s+52>>2]|0;H=c[(c[s+32>>2]|0)+(f<<2)>>2]|0;M=+g[H+12>>2]-+g[s+232>>2];O=+g[H+16>>2]-+g[s+236>>2];g[J+(f<<4)>>2]=+g[H+8>>2]-+g[s+228>>2];g[J+(f<<4)+4>>2]=M;g[J+(f<<4)+8>>2]=O;g[J+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)<(c[s+44>>2]|0))}t=t+1|0}while((t|0)<(c[b+1112>>2]|0))}$c(b);f=c[b+1112>>2]|0;d=_(f,f)|0;p=c[b+1132>>2]|0;if((d|0)>(p|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){f=0;h=p}else{c[6435]=(c[6435]|0)+1;f=yc(d+19|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+1132>>2]|0}j=c[b+1140>>2]|0;if((h|0)<=0){if(!j){a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d;break}}else{l=0;do{a[f+l>>0]=a[j+l>>0]|0;l=l+1|0}while((l|0)!=(h|0))}if(a[b+1144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=f;c[b+1136>>2]=d}else f=c[b+1140>>2]|0;while(0);Qn(f+p|0,0,d-p|0)|0;f=c[b+1112>>2]|0}c[b+1132>>2]=d;if((f|0)<=0){J=f;i=I;return J|0}t=c[b+1120>>2]|0;v=0;do{u=c[t+(v<<2)>>2]|0;c[u+380>>2]=v;w=0;do{h=c[t+(w<<2)>>2]|0;j=c[u+24>>2]|0;h:do if((j|0)>0){l=c[h+24>>2]|0;r=0;while(1){if((l|0)>0){p=c[(c[u+32>>2]|0)+(r<<2)>>2]|0;d=c[h+32>>2]|0;s=0;do{if((p|0)==(c[d+(s<<2)>>2]|0)){h=1;break h}s=s+1|0}while((s|0)<(l|0))}r=r+1|0;if((r|0)>=(j|0)){h=0;break}}}else h=0;while(0);J=(_(f,w)|0)+v|0;a[(c[b+1140>>2]|0)+J>>0]=h;w=w+1|0}while((w|0)!=(f|0));v=v+1|0}while((v|0)!=(f|0));i=I;return f|0}function tc(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0;Y=i;i=i+320|0;li(11923);ae(b);a:do if(Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(X=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[X>>2]|0)+48>>2]&127](X)|0)&6144|0):0){E=Y+256+44|0;F=Y+256+4|0;G=Y+256+8|0;H=Y+256+16|0;I=Y+256+20|0;J=Y+256+24|0;L=Y+256+32|0;M=Y+256+36|0;N=Y+256+40|0;O=Y+256+48|0;P=Y+256+52|0;S=Y+256+56|0;T=Y+256+48|0;U=Y+256+16|0;V=Y+256+32|0;W=Y+256+48|0;B=Y+256+16|0;C=Y+256+32|0;D=Y+256+48|0;d=Eb[c[(c[b>>2]|0)+104>>2]&127](b)|0;while(1){X=d+-1|0;if((d|0)<=0)break a;p=Zb[c[(c[b>>2]|0)+108>>2]&31](b,X)|0;d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=(Eb[c[(c[d>>2]|0)+48>>2]&127](d)|0)>>>11;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=(Eb[c[(c[o>>2]|0)+48>>2]&127](o)|0)>>>12;A=+g[p+40>>2];b:do if(!(A<=0.0))switch(c[p+4>>2]|0){case 3:{c[Y+256>>2]=1065353216;c[Y+256+4>>2]=0;c[Y+256+4+4>>2]=0;c[Y+256+4+8>>2]=0;c[Y+256+4+12>>2]=0;c[Y+256+20>>2]=1065353216;c[Y+256+24>>2]=0;c[Y+256+24+4>>2]=0;c[Y+256+24+8>>2]=0;c[Y+256+24+12>>2]=0;c[Y+256+40>>2]=1065353216;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;z=+g[p+300>>2];y=+g[p+304>>2];x=+g[p+308>>2];o=c[p+28>>2]|0;w=z*+g[o+20>>2]+y*+g[o+24>>2]+x*+g[o+28>>2]+ +g[o+56>>2];v=z*+g[o+36>>2]+y*+g[o+40>>2]+x*+g[o+44>>2]+ +g[o+60>>2];g[Y+256+48>>2]=z*+g[o+4>>2]+y*+g[o+8>>2]+x*+g[o+12>>2]+ +g[o+52>>2];g[Y+256+52>>2]=w;g[Y+256+56>>2]=v;g[Y+256+60>>2]=0.0;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[o>>2]|0)+56>>2]&7](o,Y+256|0,A);v=+g[p+316>>2];w=+g[p+320>>2];x=+g[p+324>>2];p=c[p+32>>2]|0;y=v*+g[p+20>>2]+w*+g[p+24>>2]+x*+g[p+28>>2]+ +g[p+56>>2];z=v*+g[p+36>>2]+w*+g[p+40>>2]+x*+g[p+44>>2]+ +g[p+60>>2];g[Y+256+48>>2]=v*+g[p+4>>2]+w*+g[p+8>>2]+x*+g[p+12>>2]+ +g[p+52>>2];g[Y+256+52>>2]=y;g[Y+256+56>>2]=z;g[Y+256+60>>2]=0.0;if(d&1|0){p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[p>>2]|0)+56>>2]&7](p,Y+256|0,A)}break b}case 4:{n=c[p+28>>2]|0;Z=+g[p+552>>2];da=+g[n+4>>2];e=+g[p+552+16>>2];ca=+g[n+8>>2];f=+g[p+552+32>>2];ba=+g[n+12>>2];h=+g[p+552+4>>2];j=+g[p+552+20>>2];q=+g[p+552+36>>2];r=+g[p+552+8>>2];t=+g[p+552+24>>2];v=+g[p+552+40>>2];aa=+g[n+20>>2];$=+g[n+24>>2];_=+g[n+28>>2];s=+g[n+36>>2];u=+g[n+40>>2];w=+g[n+44>>2];fa=+g[p+552+48>>2];ea=+g[p+552+52>>2];z=+g[p+552+56>>2];x=+g[n+52>>2]+(da*fa+ca*ea+ba*z);y=aa*fa+$*ea+_*z+ +g[n+56>>2];z=s*fa+u*ea+w*z+ +g[n+60>>2];g[Y+256>>2]=Z*da+e*ca+f*ba;g[Y+256+4>>2]=da*h+ca*j+ba*q;g[Y+256+8>>2]=da*r+ca*t+ba*v;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=Z*aa+e*$+f*_;g[Y+256+20>>2]=h*aa+j*$+q*_;g[Y+256+24>>2]=r*aa+t*$+v*_;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=Z*s+e*u+f*w;g[Y+256+36>>2]=h*s+j*u+q*w;g[Y+256+40>>2]=r*s+t*u+v*w;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=x;g[Y+256+52>>2]=y;g[Y+256+56>>2]=z;g[Y+256+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];j=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];Z=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[Y+256+4>>2]=h*x+j*y+q*z;g[Y+256+8>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=u*r+v*s+w*t;g[Y+256+20>>2]=x*r+y*s+z*t;g[Y+256+24>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=u*_+v*aa+w*ca;g[Y+256+36>>2]=x*_+y*aa+z*ca;g[Y+256+40>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=da;g[Y+256+52>>2]=ea;g[Y+256+56>>2]=fa;g[Y+256+60>>2]=0.0}else{n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A);n=c[p+32>>2]|0;u=+g[p+616>>2];h=+g[n+4>>2];v=+g[p+616+16>>2];j=+g[n+8>>2];w=+g[p+616+32>>2];q=+g[n+12>>2];x=+g[p+616+4>>2];y=+g[p+616+20>>2];z=+g[p+616+36>>2];Z=+g[p+616+8>>2];$=+g[p+616+24>>2];ba=+g[p+616+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+616+48>>2];f=+g[p+616+52>>2];fa=+g[p+616+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[Y+256+4>>2]=h*x+j*y+q*z;g[Y+256+8>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[Y+256+16>>2]=u*r+v*s+w*t;g[Y+256+20>>2]=x*r+y*s+z*t;g[Y+256+24>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[Y+256+32>>2]=u*_+v*aa+w*ca;g[Y+256+36>>2]=x*_+y*aa+z*ca;g[Y+256+40>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[Y+256+48>>2]=da;g[Y+256+52>>2]=ea;g[Y+256+56>>2]=fa;g[Y+256+60>>2]=0.0;n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A)}j=+g[p+688>>2];f=+g[p+688+4>>2];e=+eh(j-f,6.2831854820251465);if(!(e<-3.1415927410125732))if(e>3.1415927410125732)h=e+-6.2831854820251465;else h=e;else h=e+6.2831854820251465;e=+eh(j+f,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(h==e)?(K=h>e,o&1|0):0){c[Y+240>>2]=c[Y+256+8>>2];c[Y+240+4>>2]=c[Y+256+24>>2];c[Y+240+8>>2]=c[Y+256+40>>2];g[Y+240+12>>2]=0.0;c[Y+224>>2]=c[Y+256>>2];c[Y+224+4>>2]=c[Y+256+16>>2];c[Y+224+8>>2]=c[Y+256+32>>2];g[Y+224+12>>2]=0.0;p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Y+208>>2]=0;c[Y+208+4>>2]=0;c[Y+208+8>>2]=0;c[Y+208+12>>2]=0;Lb[o&0](p,Y+256+48|0,Y+240|0,Y+224|0,A,A,K?0.0:h,K?6.2831854820251465:e,Y+208|0,K^1,10.0)}break b}case 5:{n=c[p+28>>2]|0;u=+g[p+300>>2];h=+g[n+4>>2];v=+g[p+300+16>>2];j=+g[n+8>>2];w=+g[p+300+32>>2];q=+g[n+12>>2];x=+g[p+300+4>>2];y=+g[p+300+20>>2];z=+g[p+300+36>>2];Z=+g[p+300+8>>2];$=+g[p+300+24>>2];ba=+g[p+300+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+300+48>>2];f=+g[p+300+52>>2];fa=+g[p+300+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0;if(!(d&1)){n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];j=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];Z=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0}else{n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A);n=c[p+32>>2]|0;u=+g[p+364>>2];h=+g[n+4>>2];v=+g[p+364+16>>2];j=+g[n+8>>2];w=+g[p+364+32>>2];q=+g[n+12>>2];x=+g[p+364+4>>2];y=+g[p+364+20>>2];z=+g[p+364+36>>2];Z=+g[p+364+8>>2];$=+g[p+364+24>>2];ba=+g[p+364+40>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];_=+g[n+36>>2];aa=+g[n+40>>2];ca=+g[n+44>>2];e=+g[p+364+48>>2];f=+g[p+364+52>>2];fa=+g[p+364+56>>2];da=+g[n+52>>2]+(h*e+j*f+q*fa);ea=r*e+s*f+t*fa+ +g[n+56>>2];fa=_*e+aa*f+ca*fa+ +g[n+60>>2];g[Y+256>>2]=u*h+v*j+w*q;g[F>>2]=h*x+j*y+q*z;g[G>>2]=h*Z+j*$+q*ba;g[Y+256+12>>2]=0.0;g[H>>2]=u*r+v*s+w*t;g[I>>2]=x*r+y*s+z*t;g[J>>2]=Z*r+$*s+ba*t;g[Y+256+28>>2]=0.0;g[L>>2]=u*_+v*aa+w*ca;g[M>>2]=x*_+y*aa+z*ca;g[N>>2]=Z*_+$*aa+ba*ca;g[Y+256+44>>2]=0.0;g[O>>2]=da;g[P>>2]=ea;g[S>>2]=fa;g[Y+256+60>>2]=0.0;n=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[n>>2]|0)+56>>2]&7](n,Y+256|0,A)}if(o&1|0){Ej(Y+240|0,p,6.0868353843688965,A);ba=+g[Y+240>>2];ca=+g[Y+240+4>>2];da=+g[Y+240+8>>2];ea=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[P>>2];fa=ba*+g[L>>2]+ca*+g[M>>2]+da*+g[N>>2]+ +g[S>>2];g[Y+240>>2]=ba*+g[Y+256>>2]+ca*+g[F>>2]+da*+g[G>>2]+ +g[O>>2];g[Y+240+4>>2]=ea;g[Y+240+8>>2]=fa;g[Y+240+12>>2]=0.0;d=0;do{Ej(Y+224|0,p,+(d|0)*6.283185005187988*.03125,A);ba=+g[Y+224>>2];ca=+g[Y+224+4>>2];da=+g[Y+224+8>>2];ea=ba*+g[H>>2]+ca*+g[I>>2]+da*+g[J>>2]+ +g[P>>2];fa=ba*+g[L>>2]+ca*+g[M>>2]+da*+g[N>>2]+ +g[S>>2];g[Y+224>>2]=ba*+g[Y+256>>2]+ca*+g[F>>2]+da*+g[G>>2]+ +g[O>>2];g[Y+224+4>>2]=ea;g[Y+224+8>>2]=fa;g[Y+224+12>>2]=0.0;o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Y+192>>2]=0;c[Y+192+4>>2]=0;c[Y+192+8>>2]=0;c[Y+192+12>>2]=0;mc[n&127](o,Y+240|0,Y+224|0,Y+192|0);if(!(d&3)){o=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;n=c[(c[o>>2]|0)+8>>2]|0;c[Y+176>>2]=0;c[Y+176+4>>2]=0;c[Y+176+8>>2]=0;c[Y+176+12>>2]=0;mc[n&127](o,T,Y+224|0,Y+176|0)}c[Y+240>>2]=c[Y+224>>2];c[Y+240+4>>2]=c[Y+224+4>>2];c[Y+240+8>>2]=c[Y+224+8>>2];c[Y+240+12>>2]=c[Y+224+12>>2];d=d+1|0}while((d|0)!=32);y=+g[p+452>>2];z=+g[p+512>>2];d=c[p+32>>2]|0;if(+g[d+344>>2]>0.0){ba=+g[p+364>>2];ca=+g[d+4>>2];da=+g[p+364+16>>2];ea=+g[d+8>>2];fa=+g[p+364+32>>2];v=+g[d+12>>2];$=+g[p+364+4>>2];aa=+g[p+364+20>>2];u=+g[p+364+36>>2];Z=+g[p+364+8>>2];_=+g[p+364+24>>2];t=+g[p+364+40>>2];ha=+g[d+20>>2];ga=+g[d+24>>2];s=+g[d+28>>2];r=+g[d+36>>2];q=+g[d+40>>2];j=+g[d+44>>2];h=+g[p+364+48>>2];f=+g[p+364+52>>2];e=+g[p+364+56>>2];w=r*h+q*f+j*e+ +g[d+60>>2];x=ha*h+ga*f+s*e+ +g[d+56>>2];e=+g[d+52>>2]+(ca*h+ea*f+v*e);f=Z*r+_*q+t*j;h=$*r+aa*q+u*j;j=ba*r+da*q+fa*j;q=Z*ha+_*ga+t*s;r=$*ha+aa*ga+u*s;s=ba*ha+da*ga+fa*s;t=ca*Z+ea*_+v*t;u=ca*$+ea*aa+v*u;v=ba*ca+da*ea+fa*v}else{o=c[p+28>>2]|0;da=+g[p+300>>2];ea=+g[o+4>>2];fa=+g[p+300+16>>2];ga=+g[o+8>>2];ha=+g[p+300+32>>2];v=+g[o+12>>2];ba=+g[p+300+4>>2];ca=+g[p+300+20>>2];u=+g[p+300+36>>2];$=+g[p+300+8>>2];aa=+g[p+300+24>>2];t=+g[p+300+40>>2];Z=+g[o+20>>2];_=+g[o+24>>2];s=+g[o+28>>2];r=+g[o+36>>2];q=+g[o+40>>2];j=+g[o+44>>2];h=+g[p+300+48>>2];f=+g[p+300+52>>2];e=+g[p+300+56>>2];w=r*h+q*f+j*e+ +g[o+60>>2];x=Z*h+_*f+s*e+ +g[o+56>>2];e=+g[o+52>>2]+(ea*h+ga*f+v*e);f=$*r+aa*q+t*j;h=ba*r+ca*q+u*j;j=da*r+fa*q+ha*j;q=$*Z+aa*_+t*s;r=ba*Z+ca*_+u*s;s=da*Z+fa*_+ha*s;t=ea*$+ga*aa+v*t;u=ea*ba+ga*ca+v*u;v=da*ea+fa*ga+ha*v}g[Y+256>>2]=v;g[F>>2]=u;g[G>>2]=t;g[Y+256+12>>2]=0.0;g[H>>2]=s;g[I>>2]=r;g[J>>2]=q;g[Y+256+28>>2]=0.0;g[L>>2]=j;g[M>>2]=h;g[N>>2]=f;g[Y+256+44>>2]=0.0;g[O>>2]=e;g[P>>2]=x;g[S>>2]=w;g[Y+256+60>>2]=0.0;c[Y+224>>2]=c[T>>2];c[Y+224+4>>2]=c[T+4>>2];c[Y+224+8>>2]=c[T+8>>2];c[Y+224+12>>2]=c[T+12>>2];g[Y+160>>2]=v;g[Y+160+4>>2]=s;g[Y+160+8>>2]=j;g[Y+160+12>>2]=0.0;g[Y+144>>2]=u;g[Y+144+4>>2]=r;g[Y+144+8>>2]=h;g[Y+144+12>>2]=0.0;p=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;o=c[(c[p>>2]|0)+60>>2]|0;c[Y+128>>2]=0;c[Y+128+4>>2]=0;c[Y+128+8>>2]=0;c[Y+128+12>>2]=0;Lb[o&0](p,Y+224|0,Y+160|0,Y+144|0,A,A,-z-y,y-z,Y+128|0,1,10.0)}break b}case 6:case 9:{c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];l=p+1064+16|0;c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];m=p+1064+32|0;c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];n=p+1064+48|0;c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];if(!(d&1)){c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[p+1128+48>>2];c[W+4>>2]=c[p+1128+48+4>>2];c[W+8>>2]=c[p+1128+48+8>>2];c[W+12>>2]=c[p+1128+48+12>>2]}else{d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[d>>2]|0)+56>>2]&7](d,Y+256|0,A);c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[p+1128+48>>2];c[W+4>>2]=c[p+1128+48+4>>2];c[W+8>>2]=c[p+1128+48+8>>2];c[W+12>>2]=c[p+1128+48+12>>2];d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[d>>2]|0)+56>>2]&7](d,Y+256|0,A)}if(o&1|0){c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];d=p+1128+48|0;c[Y+240>>2]=c[Y+256+8>>2];c[Y+240+4>>2]=c[Y+256+24>>2];c[Y+240+8>>2]=c[Y+256+40>>2];g[Y+240+12>>2]=0.0;c[Y+224>>2]=c[Y+256>>2];c[Y+224+4>>2]=c[Y+256+16>>2];c[Y+224+8>>2]=c[Y+256+32>>2];g[Y+224+12>>2]=0.0;da=+g[p+932>>2];e=+g[p+932+4>>2];ga=+g[p+996>>2];fa=+g[p+996+4>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+64>>2]|0;c[Y+112>>2]=0;c[Y+112+4>>2]=0;c[Y+112+8>>2]=0;c[Y+112+12>>2]=0;dc[ia&0](ja,d,Y+240|0,Y+224|0,A*.8999999761581421,da,e,ga,fa,Y+112|0,10.0,1);ja=c[Y+256+4>>2]|0;ia=c[Y+256+20>>2]|0;o=c[Y+256+36>>2]|0;c[Y+224>>2]=ja;c[Y+224+4>>2]=ia;c[Y+224+8>>2]=o;g[Y+224+12>>2]=0.0;fa=+g[p+1196>>2];ga=+g[p+1200>>2];e=+Q(+fa);fa=+R(+fa);da=+Q(+ga);ga=+R(+ga);ea=(c[k>>2]=ja,+g[k>>2]);ha=(c[k>>2]=ia,+g[k>>2]);f=(c[k>>2]=o,+g[k>>2]);g[Y+160>>2]=e*da*ea+e*ga*ha-fa*f;g[Y+160+4>>2]=da*ha-ga*ea;g[Y+160+8>>2]=fa*da*ea+fa*ga*ha+e*f;c[Y+256>>2]=c[p+1128>>2];c[Y+256+4>>2]=c[p+1128+4>>2];c[Y+256+8>>2]=c[p+1128+8>>2];c[Y+256+12>>2]=c[p+1128+12>>2];c[U>>2]=c[p+1128+16>>2];c[U+4>>2]=c[p+1128+16+4>>2];c[U+8>>2]=c[p+1128+16+8>>2];c[U+12>>2]=c[p+1128+16+12>>2];c[V>>2]=c[p+1128+32>>2];c[V+4>>2]=c[p+1128+32+4>>2];c[V+8>>2]=c[p+1128+32+8>>2];c[V+12>>2]=c[p+1128+32+12>>2];c[W>>2]=c[d>>2];c[W+4>>2]=c[d+4>>2];c[W+8>>2]=c[d+8>>2];c[W+12>>2]=c[d+12>>2];f=-+g[Y+256+16>>2];e=-+g[Y+256+32>>2];g[Y+144>>2]=-+g[Y+256>>2];g[Y+144+4>>2]=f;g[Y+144+8>>2]=e;g[Y+144+12>>2]=0.0;e=+g[p+868>>2];f=+g[p+868+4>>2];if(!(e>f)){if(e<f){ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y+80>>2]=0;c[Y+80+4>>2]=0;c[Y+80+8>>2]=0;c[Y+80+12>>2]=0;Lb[ia&0](ja,d,Y+144|0,Y+160|0,A,A,e,f,Y+80|0,1,10.0)}}else{ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y+96>>2]=0;c[Y+96+4>>2]=0;c[Y+96+8>>2]=0;c[Y+96+12>>2]=0;Lb[ia&0](ja,d,Y+144|0,Y+160|0,A,A,-3.1415927410125732,3.1415927410125732,Y+96|0,0,10.0)}c[Y+256>>2]=c[p+1064>>2];c[Y+256+4>>2]=c[p+1064+4>>2];c[Y+256+8>>2]=c[p+1064+8>>2];c[Y+256+12>>2]=c[p+1064+12>>2];c[U>>2]=c[l>>2];c[U+4>>2]=c[l+4>>2];c[U+8>>2]=c[l+8>>2];c[U+12>>2]=c[l+12>>2];c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];c[Y+64>>2]=c[p+680>>2];c[Y+64+4>>2]=c[p+680+4>>2];c[Y+64+8>>2]=c[p+680+8>>2];c[Y+64+12>>2]=c[p+680+12>>2];c[Y+48>>2]=c[p+680+16>>2];c[Y+48+4>>2]=c[p+680+16+4>>2];c[Y+48+8>>2]=c[p+680+16+8>>2];c[Y+48+12>>2]=c[p+680+16+12>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+72>>2]|0;c[Y+32>>2]=0;c[Y+32+4>>2]=0;c[Y+32+8>>2]=0;c[Y+32+12>>2]=0;yb[ia&31](ja,Y+64|0,Y+48|0,Y+256|0,Y+32|0)}break b}case 7:{c[Y+256>>2]=c[p+824>>2];c[Y+256+4>>2]=c[p+824+4>>2];c[Y+256+8>>2]=c[p+824+8>>2];c[Y+256+12>>2]=c[p+824+12>>2];c[B>>2]=c[p+824+16>>2];c[B+4>>2]=c[p+824+16+4>>2];c[B+8>>2]=c[p+824+16+8>>2];c[B+12>>2]=c[p+824+16+12>>2];c[C>>2]=c[p+824+32>>2];c[C+4>>2]=c[p+824+32+4>>2];c[C+8>>2]=c[p+824+32+8>>2];c[C+12>>2]=c[p+824+32+12>>2];c[D>>2]=c[p+824+48>>2];c[D+4>>2]=c[p+824+48+4>>2];c[D+8>>2]=c[p+824+48+8>>2];c[D+12>>2]=c[p+824+48+12>>2];if(!(d&1)){c[Y+256>>2]=c[p+888>>2];c[Y+256+4>>2]=c[p+888+4>>2];c[Y+256+8>>2]=c[p+888+8>>2];c[Y+256+12>>2]=c[p+888+12>>2];c[B>>2]=c[p+888+16>>2];c[B+4>>2]=c[p+888+16+4>>2];c[B+8>>2]=c[p+888+16+8>>2];c[B+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[D>>2]=c[p+888+48>>2];c[D+4>>2]=c[p+888+48+4>>2];c[D+8>>2]=c[p+888+48+8>>2];c[D+12>>2]=c[p+888+48+12>>2]}else{ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[ja>>2]|0)+56>>2]&7](ja,Y+256|0,A);c[Y+256>>2]=c[p+888>>2];c[Y+256+4>>2]=c[p+888+4>>2];c[Y+256+8>>2]=c[p+888+8>>2];c[Y+256+12>>2]=c[p+888+12>>2];c[B>>2]=c[p+888+16>>2];c[B+4>>2]=c[p+888+16+4>>2];c[B+8>>2]=c[p+888+16+8>>2];c[B+12>>2]=c[p+888+16+12>>2];c[C>>2]=c[p+888+32>>2];c[C+4>>2]=c[p+888+32+4>>2];c[C+8>>2]=c[p+888+32+8>>2];c[C+12>>2]=c[p+888+32+12>>2];c[D>>2]=c[p+888+48>>2];c[D+4>>2]=c[p+888+48+4>>2];c[D+8>>2]=c[p+888+48+8>>2];c[D+12>>2]=c[p+888+48+12>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;kc[c[(c[ja>>2]|0)+56>>2]&7](ja,Y+256|0,A)}if(o&1|0){d=a[p+180>>0]|0?p+824|0:p+888|0;l=c[d>>2]|0;o=c[d+4>>2]|0;m=c[d+16>>2]|0;ia=c[d+20>>2]|0;n=c[d+32>>2]|0;ja=c[d+36>>2]|0;y=+g[d+48>>2];$=+g[d+52>>2];da=+g[d+56>>2];ga=+g[p+184>>2];_=(c[k>>2]=l,+g[k>>2]);Z=(c[k>>2]=o,+g[k>>2])*0.0;z=+g[d+8>>2]*0.0;ca=(c[k>>2]=m,+g[k>>2]);ba=(c[k>>2]=ia,+g[k>>2])*0.0;aa=+g[d+24>>2]*0.0;ha=(c[k>>2]=n,+g[k>>2]);fa=(c[k>>2]=ja,+g[k>>2])*0.0;ea=+g[d+40>>2]*0.0;g[Y+240>>2]=y+(z+(Z+_*ga));g[Y+240+4>>2]=$+(aa+(ba+ca*ga));g[Y+240+8>>2]=da+(ea+(fa+ha*ga));g[Y+240+12>>2]=0.0;ga=+g[p+188>>2];g[Y+224>>2]=y+(z+(Z+_*ga));g[Y+224+4>>2]=$+(aa+(ba+ca*ga));g[Y+224+8>>2]=da+(ea+(fa+ha*ga));g[Y+224+12>>2]=0.0;d=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ka=c[(c[d>>2]|0)+8>>2]|0;c[Y+16>>2]=0;c[Y+16+4>>2]=0;c[Y+16+8>>2]=0;c[Y+16+12>>2]=0;mc[ka&127](d,Y+240|0,Y+224|0,Y+16|0);c[Y+160>>2]=l;c[Y+160+4>>2]=m;c[Y+160+8>>2]=n;g[Y+160+12>>2]=0.0;c[Y+144>>2]=o;c[Y+144+4>>2]=ia;c[Y+144+8>>2]=ja;g[Y+144+12>>2]=0.0;ga=+g[p+192>>2];ha=+g[p+196>>2];ja=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0;ia=c[(c[ja>>2]|0)+60>>2]|0;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;Lb[ia&0](ja,p+888+48|0,Y+160|0,Y+144|0,A,A,ga,ha,Y,1,10.0)}break b}default:break b}while(0);d=X}}while(0);if((((Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0?(ka=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Eb[c[(c[ka>>2]|0)+48>>2]&127](ka)|0)&16387|0):0)?Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0:0)?(ka=Eb[c[(c[b>>2]|0)+20>>2]&127](b)|0,Eb[c[(c[ka>>2]|0)+48>>2]&127](ka)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{ka=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Cb[c[(c[ka>>2]|0)+12>>2]&127](ka,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[2357]|0;ka=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=ka;if(ka|0){i=Y;return}do if(c[d+4>>2]|0){tb(Y+256|0,0)|0;ka=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[Y+256+4>>2]|0)-(c[ka+4>>2]|0)+(((c[Y+256>>2]|0)-(c[ka>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=Y;return}}while(0);c[2357]=c[d+20>>2];i=Y;return}function uc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;mf(b,e,f)|0;a[z+16>>0]=1;c[z+12>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;a[z+36>>0]=1;c[z+32>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;a[z+56>>0]=1;c[z+52>>2]=0;c[z+44>>2]=0;c[z+48>>2]=0;a[z+76>>0]=1;c[z+72>>2]=0;c[z+64>>2]=0;c[z+68>>2]=0;x=c[b+872>>2]|0;c[e+292>>2]=x;if(x){x=Zb[c[(c[f>>2]|0)+28>>2]&31](f,b+868|0)|0;c[e+260>>2]=x;if(x|0){h=c[e+292>>2]|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){l=0;m=c[n+8>>2]|0;while(1){j=c[(c[b+880>>2]|0)+(l<<2)>>2]|0;if(!j){g=0;k=0}else{g=j;k=Zb[c[(c[f>>2]|0)+28>>2]&31](f,j)|0}c[m>>2]=k;if(!(Zb[c[(c[f>>2]|0)+24>>2]&31](f,g)|0)){x=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;s=c[x+8>>2]|0;c[s+12>>2]=c[j+16>>2];c[s+4>>2]=c[j+8>>2];c[s>>2]=c[j+4>>2];c[s+8>>2]=c[j+12>>2];yb[c[(c[f>>2]|0)+20>>2]&31](f,x,10691,1414349395,g)}l=l+1|0;if((l|0)>=(h|0)){g=f;break}else m=m+4|0}}else g=f;yb[c[(c[g>>2]|0)+20>>2]&31](f,n,10691,1497453121,b+868|0)}}else c[e+260>>2]=0;x=c[b+712>>2]|0;c[e+296>>2]=x;if(x){x=Zb[c[(c[f>>2]|0)+28>>2]&31](f,b+708|0)|0;c[e+264>>2]=x;if(x|0){p=c[e+296>>2]|0;q=Ob[c[(c[f>>2]|0)+16>>2]&63](f,100,p)|0;if((p|0)>0){r=0;s=c[q+8>>2]|0;while(1){h=c[b+720>>2]|0;c[s+52>>2]=c[h+(r*104|0)+56>>2];c[s+56>>2]=c[h+(r*104|0)+60>>2];c[s+60>>2]=c[h+(r*104|0)+64>>2];c[s+64>>2]=c[h+(r*104|0)+68>>2];c[s+88>>2]=c[h+(r*104|0)+92>>2];c[s+92>>2]=(a[h+(r*104|0)+100>>0]<<7&255)<<24>>24>>7<<24>>24;c[s+84>>2]=c[h+(r*104|0)+88>>2];g=c[h+(r*104|0)+4>>2]|0;if(!g){j=0;g=h}else{j=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;g=c[b+720>>2]|0}c[s>>2]=j;c[s+68>>2]=c[g+(r*104|0)+72>>2];c[s+72>>2]=c[g+(r*104|0)+76>>2];c[s+76>>2]=c[g+(r*104|0)+80>>2];c[s+80>>2]=c[g+(r*104|0)+84>>2];c[s+4>>2]=c[g+(r*104|0)+8>>2];c[s+8>>2]=c[g+(r*104|0)+12>>2];c[s+12>>2]=c[g+(r*104|0)+16>>2];c[s+16>>2]=c[g+(r*104|0)+20>>2];c[s+20>>2]=c[g+(r*104|0)+24>>2];c[s+24>>2]=c[g+(r*104|0)+28>>2];c[s+28>>2]=c[g+(r*104|0)+32>>2];c[s+32>>2]=c[g+(r*104|0)+36>>2];c[s+36>>2]=c[g+(r*104|0)+40>>2];c[s+40>>2]=c[g+(r*104|0)+44>>2];c[s+44>>2]=c[g+(r*104|0)+48>>2];c[s+48>>2]=c[g+(r*104|0)+52>>2];l=(c[b+720>>2]|0)+(r*104|0)|0;o=(l+~(l<<15)>>10^l+~(l<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);m=c[z+48>>2]|0;a:do if((o&m+-1)>>>0<(c[z+4>>2]|0)>>>0?(w=c[(c[z+12>>2]|0)+((o&m+-1)<<2)>>2]|0,(w|0)!=-1):0){h=c[z+72>>2]|0;j=c[z+32>>2]|0;g=w;while(1){if((l|0)==(c[h+(g<<3)>>2]|0))break;g=c[j+(g<<2)>>2]|0;if((g|0)==-1){y=27;break a}}c[(c[z+52>>2]|0)+(g<<2)>>2]=r}else y=27;while(0);if((y|0)==27){y=0;n=c[z+44>>2]|0;if((n|0)==(m|0)){g=m|0?m<<1:1;if((m|0)<(g|0)){if((g|0)!=0?(c[6435]=(c[6435]|0)+1,t=yc((g<<2|3)+16|0)|0,(t|0)!=0):0){c[(t+4+15&-16)+-4>>2]=t;k=t+4+15&-16}else k=0;j=c[z+52>>2]|0;if((m|0)<=0)if(!j)h=m;else y=35;else{h=0;do{c[k+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0));y=35}if((y|0)==35){y=0;if(a[z+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}c[z+52>>2]=0;h=c[z+44>>2]|0}a[z+56>>0]=1;c[z+52>>2]=k;c[z+48>>2]=g}else{g=m;h=m}}else{g=m;h=n}c[(c[z+52>>2]|0)+(h<<2)>>2]=r;c[z+44>>2]=h+1;h=c[z+64>>2]|0;if((h|0)==(c[z+68>>2]|0)?(u=h|0?h<<1:1,(h|0)<(u|0)):0){if((u|0)!=0?(c[6435]=(c[6435]|0)+1,v=yc((u<<3|3)+16|0)|0,(v|0)!=0):0){c[(v+4+15&-16)+-4>>2]=v;j=v+4+15&-16}else j=0;if((h|0)>0){g=0;do{A=(c[z+72>>2]|0)+(g<<3)|0;k=c[A+4>>2]|0;x=j+(g<<3)|0;c[x>>2]=c[A>>2];c[x+4>>2]=k;g=g+1|0}while((g|0)!=(h|0))}g=c[z+72>>2]|0;if(g|0){if(a[z+76>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[g+-4>>2]|0)}c[z+72>>2]=0}a[z+76>>0]=1;c[z+72>>2]=j;c[z+68>>2]=u;h=c[z+64>>2]|0;g=c[z+48>>2]|0}c[(c[z+72>>2]|0)+(h<<3)>>2]=l;c[z+64>>2]=h+1;if((m|0)<(g|0)){m=c[z+4>>2]|0;do if((g|0)>(m|0)){if((g|0)>=(m|0)){b:do if((c[z+8>>2]|0)<(g|0)){do if(!g)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);j=c[z+12>>2]|0;do if((m|0)>0){k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(m|0))}else{if(j|0)break;a[z+16>>0]=1;c[z+12>>2]=h;c[z+8>>2]=g;break b}while(0);if(a[z+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[z+16>>0]=1;c[z+12>>2]=h;c[z+8>>2]=g}else h=c[z+12>>2]|0;while(0);Qn(h+(m<<2)|0,0,g-m<<2|0)|0}c[z+4>>2]=g;l=c[z+24>>2]|0;if((g|0)>(l|0)){c:do if((c[z+28>>2]|0)<(g|0)){do if(!g)h=0;else{c[6435]=(c[6435]|0)+1;h=yc((g<<2|3)+16|0)|0;if(!h){h=0;break}c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}while(0);j=c[z+32>>2]|0;do if((l|0)>0){k=0;do{c[h+(k<<2)>>2]=c[j+(k<<2)>>2];k=k+1|0}while((k|0)!=(l|0))}else{if(j|0)break;a[z+36>>0]=1;c[z+32>>2]=h;c[z+28>>2]=g;break c}while(0);if(a[z+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[j+-4>>2]|0)}a[z+36>>0]=1;c[z+32>>2]=h;c[z+28>>2]=g}else h=c[z+32>>2]|0;while(0);Qn(h+(l<<2)|0,0,g-l<<2|0)|0}c[z+24>>2]=g;if((g|0)>0){A=g<<2;Qn(c[z+12>>2]|0,-1,A|0)|0;Qn(c[z+32>>2]|0,-1,A|0)|0}if((m|0)<=0){g=c[z+48>>2]|0;break}h=c[z+72>>2]|0;j=c[z+12>>2]|0;k=c[z+32>>2]|0;g=c[z+48>>2]|0;l=0;do{A=c[h+(l<<3)>>2]|0;A=(A+~(A<<15)>>10^A+~(A<<15))*9|0;A=j+((((A>>6^A)+~((A>>6^A)<<11)>>16^(A>>6^A)+~((A>>6^A)<<11))&g+-1)<<2)|0;c[k+(l<<2)>>2]=c[A>>2];c[A>>2]=l;l=l+1|0}while((l|0)!=(m|0))}while(0);g=o&g+-1}else g=o&m+-1;A=(c[z+12>>2]|0)+(g<<2)|0;c[(c[z+32>>2]|0)+(n<<2)>>2]=c[A>>2];c[A>>2]=n}r=r+1|0;if((r|0)>=(p|0))break;else s=s+100|0}}yb[c[(c[f>>2]|0)+20>>2]&31](f,q,10712,1145979475,b+708|0)}}else c[e+264>>2]=0;A=c[b+732>>2]|0;c[e+300>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+740>>2]|0)|0;c[e+268>>2]=A;if(A|0){k=c[e+300>>2]|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,20,k)|0;if((k|0)>0){j=c[b+740>>2]|0;g=j;l=0;m=c[n+8>>2]|0;while(1){c[m+16>>2]=(a[j+(l*52|0)+20>>0]<<7&255)<<24>>24>>7<<24>>24;h=c[j+(l*52|0)+4>>2]|0;if(!h)h=0;else{h=Zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;j=c[b+740>>2]|0;g=j}c[m>>2]=h;h=c[j+(l*52|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+4>>2]=h;h=c[j+(l*52|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[m+8>>2]=h;c[m+12>>2]=c[j+(l*52|0)+16>>2];l=l+1|0;if((l|0)>=(k|0))break;else m=m+20|0}}else g=c[b+740>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,n,10729,1497453121,g)}}else c[e+268>>2]=0;A=c[b+752>>2]|0;c[e+304>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+760>>2]|0)|0;c[e+272>>2]=A;if(A|0){j=c[e+304>>2]|0;m=Ob[c[(c[f>>2]|0)+16>>2]&63](f,36,j)|0;if((j|0)>0){g=c[b+760>>2]|0;k=0;l=c[m+8>>2]|0;while(1){h=c[g+(k*44|0)+4>>2]|0;if(!h)h=0;else{h=Zb[c[(c[f>>2]|0)+28>>2]&31](f,h)|0;g=c[b+760>>2]|0}c[l+16>>2]=h;c[l>>2]=c[g+(k*44|0)+20>>2];c[l+4>>2]=c[g+(k*44|0)+24>>2];c[l+8>>2]=c[g+(k*44|0)+28>>2];c[l+12>>2]=c[g+(k*44|0)+32>>2];g=c[b+760>>2]|0;h=c[g+(k*44|0)+8>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+20>>2]=h;h=c[g+(k*44|0)+12>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+24>>2]=h;h=c[g+(k*44|0)+16>>2]|0;if(!h)h=-1;else h=(h-(c[b+720>>2]|0)|0)/104|0;c[l+28>>2]=h;c[l+32>>2]=c[g+(k*44|0)+36>>2];k=k+1|0;if((k|0)>=(j|0))break;else l=l+36|0}}else g=c[b+760>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,m,10746,1497453121,g)}}else c[e+272>>2]=0;A=c[b+772>>2]|0;c[e+308>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+780>>2]|0)|0;c[e+276>>2]=A;if(A|0){j=c[e+308>>2]|0;m=Ob[c[(c[f>>2]|0)+16>>2]&63](f,100,j)|0;if((j|0)>0){k=0;l=c[m+8>>2]|0;while(1){h=c[b+780>>2]|0;c[l>>2]=c[h+(k*104|0)+32>>2];c[l+4>>2]=c[h+(k*104|0)+36>>2];c[l+8>>2]=c[h+(k*104|0)+40>>2];c[l+12>>2]=c[h+(k*104|0)+44>>2];g=c[h+8>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+68>>2]=g;c[l+16>>2]=c[h+(k*104|0)+48>>2];c[l+20>>2]=c[h+(k*104|0)+52>>2];c[l+24>>2]=c[h+(k*104|0)+56>>2];c[l+28>>2]=c[h+(k*104|0)+60>>2];g=c[h+116>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+72>>2]=g;c[l+32>>2]=c[h+(k*104|0)+64>>2];c[l+36>>2]=c[h+(k*104|0)+68>>2];c[l+40>>2]=c[h+(k*104|0)+72>>2];c[l+44>>2]=c[h+(k*104|0)+76>>2];g=c[h+224>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+76>>2]=g;c[l+48>>2]=c[h+(k*104|0)+80>>2];c[l+52>>2]=c[h+(k*104|0)+84>>2];c[l+56>>2]=c[h+(k*104|0)+88>>2];c[l+60>>2]=c[h+(k*104|0)+92>>2];g=c[h+332>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[l+80>>2]=g;c[l+88>>2]=c[h+(k*104|0)+96>>2];g=c[b+780>>2]|0;c[l+92>>2]=c[g+(k*104|0)+100>>2];g=c[g+(k*104|0)+4>>2]|0;if(!g)g=0;else g=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[l+64>>2]=g;g=c[b+780>>2]|0;c[l+84>>2]=c[g+(k*104|0)+24>>2];k=k+1|0;if((k|0)>=(j|0))break;else l=l+100|0}}else g=c[b+780>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,m,10763,1497453121,g)}}else c[e+276>>2]=0;A=c[b+792>>2]|0;c[e+312>>2]=A;if(A){A=Zb[c[(c[f>>2]|0)+28>>2]&31](f,c[b+800>>2]|0)|0;c[e+280>>2]=A;if(!A)x=f;else{j=c[e+312>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,92,j)|0;if((j|0)>0){l=0;m=c[k+8>>2]|0;while(1){h=c[b+800>>2]|0;c[m>>2]=c[h+(l*96|0)+28>>2];c[m+4>>2]=c[h+(l*96|0)+32>>2];c[m+8>>2]=c[h+(l*96|0)+36>>2];c[m+12>>2]=c[h+(l*96|0)+40>>2];c[m+16>>2]=c[h+(l*96|0)+44>>2];c[m+20>>2]=c[h+(l*96|0)+48>>2];c[m+24>>2]=c[h+(l*96|0)+52>>2];c[m+28>>2]=c[h+(l*96|0)+56>>2];c[m+32>>2]=c[h+(l*96|0)+60>>2];c[m+36>>2]=c[h+(l*96|0)+64>>2];c[m+40>>2]=c[h+(l*96|0)+68>>2];c[m+44>>2]=c[h+(l*96|0)+72>>2];c[m+48>>2]=c[h+(l*96|0)+76>>2];c[m+52>>2]=c[h+(l*96|0)+80>>2];c[m+56>>2]=c[h+(l*96|0)+84>>2];c[m+60>>2]=c[h+(l*96|0)+88>>2];c[m+88>>2]=c[h+(l*96|0)+92>>2];h=c[b+800>>2]|0;c[m+64>>2]=c[h+(l*96|0)+4>>2];c[m+68>>2]=c[h+(l*96|0)+8>>2];c[m+72>>2]=c[h+(l*96|0)+12>>2];c[m+76>>2]=c[h+(l*96|0)+16>>2];g=c[h+(l*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[m+84>>2]=g;g=c[h+(l*96|0)+20>>2]|0;if(!g)g=0;else g=Zb[c[(c[f>>2]|0)+28>>2]&31](f,g)|0;c[m+80>>2]=g;l=l+1|0;if((l|0)>=(j|0))break;else m=m+92|0}}yb[c[(c[f>>2]|0)+20>>2]&31](f,k,10781,1497453121,c[b+800>>2]|0);x=f}}else{c[e+280>>2]=0;x=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];n=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=n;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,b+472|0)|0;n=Ob[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;m=c[n+8>>2]|0;c[m+96>>2]=c[b+632>>2];c[m+100>>2]=c[b+636>>2];c[m+104>>2]=c[b+640>>2];c[m+108>>2]=c[b+644>>2];c[m+112>>2]=c[b+648>>2];c[m+116>>2]=c[b+652>>2];c[m+120>>2]=c[b+656>>2];c[m+124>>2]=c[b+660>>2];c[m+128>>2]=c[b+664>>2];c[m+132>>2]=c[b+668>>2];c[m+136>>2]=c[b+672>>2];c[m+140>>2]=c[b+676>>2];c[m+180>>2]=d[b+473>>0];c[m+176>>2]=d[b+472>>0];c[m+144>>2]=c[b+520>>2];c[m+148>>2]=c[b+524>>2];c[m+152>>2]=c[b+528>>2];c[m+156>>2]=c[b+532>>2];A=c[b+484>>2]|0;c[m+168>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+492>>2]|0)|0;h=c[m+168>>2]|0;c[m+160>>2]=A;if(h|0){l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[b+492>>2]|0;j=0;k=c[l+8>>2]|0;while(1){c[k>>2]=c[g+(j<<4)>>2];c[k+4>>2]=c[g+(j<<4)+4>>2];c[k+8>>2]=c[g+(j<<4)+8>>2];c[k+12>>2]=c[g+(j<<4)+12>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+16|0}}else g=c[b+492>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,l,19308,1497453121,g)}}else c[m+160>>2]=0;c[m+184>>2]=c[b+476>>2];c[m>>2]=c[b+536>>2];c[m+4>>2]=c[b+540>>2];c[m+8>>2]=c[b+544>>2];c[m+12>>2]=c[b+548>>2];c[m+16>>2]=c[b+552>>2];c[m+20>>2]=c[b+556>>2];c[m+24>>2]=c[b+560>>2];c[m+28>>2]=c[b+564>>2];c[m+32>>2]=c[b+568>>2];c[m+36>>2]=c[b+572>>2];c[m+40>>2]=c[b+576>>2];c[m+44>>2]=c[b+580>>2];c[m+48>>2]=c[b+584>>2];c[m+52>>2]=c[b+588>>2];c[m+56>>2]=c[b+592>>2];c[m+60>>2]=c[b+596>>2];c[m+64>>2]=c[b+600>>2];c[m+68>>2]=c[b+604>>2];c[m+72>>2]=c[b+608>>2];c[m+76>>2]=c[b+612>>2];c[m+80>>2]=c[b+616>>2];c[m+84>>2]=c[b+620>>2];c[m+88>>2]=c[b+624>>2];c[m+92>>2]=c[b+628>>2];A=c[b+504>>2]|0;c[m+172>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+512>>2]|0)|0;k=c[m+172>>2]|0;c[m+164>>2]=A;if(!k)y=153;else{l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;if((k|0)>0){g=c[b+512>>2]|0;h=0;j=c[l+8>>2]|0;while(1){c[j>>2]=c[g+(h<<2)>>2];h=h+1|0;if((h|0)==(k|0))break;else j=j+4|0}}else g=c[b+512>>2]|0;yb[c[(c[f>>2]|0)+20>>2]&31](f,l,10801,1497453121,g);w=f}}else{c[m+164>>2]=0;y=153}if((y|0)==153)w=f;yb[c[(c[w>>2]|0)+20>>2]&31](f,n,10807,1497453121,b+472|0);A=c[b+1112>>2]|0;c[e+316>>2]=A;if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[c[b+1120>>2]>>2]|0)|0;q=c[e+316>>2]|0;c[e+284>>2]=A;if(q|0){r=Ob[c[(c[f>>2]|0)+16>>2]&63](f,348,q)|0;if((q|0)>0){s=c[z+12>>2]|0;t=c[z+52>>2]|0;u=0;v=c[r+8>>2]|0;while(1){h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;A=v+320|0;c[A>>2]=c[h+360>>2];c[v+256>>2]=c[h+332>>2];c[v+260>>2]=c[h+336>>2];c[v+264>>2]=c[h+340>>2];c[v+268>>2]=c[h+344>>2];c[v+344>>2]=c[h+380>>2];c[v+340>>2]=d[h+377>>0];c[v+160>>2]=c[h+228>>2];c[v+164>>2]=c[h+232>>2];c[v+168>>2]=c[h+236>>2];c[v+172>>2]=c[h+240>>2];c[v+336>>2]=d[h+376>>0];c[v+208>>2]=c[h+276>>2];c[v+212>>2]=c[h+280>>2];c[v+216>>2]=c[h+284>>2];c[v+220>>2]=c[h+288>>2];c[v+224>>2]=c[h+292>>2];c[v+228>>2]=c[h+296>>2];c[v+232>>2]=c[h+300>>2];c[v+236>>2]=c[h+304>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v>>2]=c[h+60>>2];c[v+4>>2]=c[h+64>>2];c[v+8>>2]=c[h+68>>2];c[v+12>>2]=c[h+72>>2];c[v+16>>2]=c[h+76>>2];c[v+20>>2]=c[h+80>>2];c[v+24>>2]=c[h+84>>2];c[v+28>>2]=c[h+88>>2];c[v+32>>2]=c[h+92>>2];c[v+36>>2]=c[h+96>>2];c[v+40>>2]=c[h+100>>2];c[v+44>>2]=c[h+104>>2];c[v+48>>2]=c[h+108>>2];c[v+52>>2]=c[h+112>>2];c[v+56>>2]=c[h+116>>2];c[v+60>>2]=c[h+120>>2];c[v+296>>2]=c[h+124>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+300>>2]=c[h+128>>2];c[v+112>>2]=c[h+180>>2];c[v+116>>2]=c[h+184>>2];c[v+120>>2]=c[h+188>>2];c[v+124>>2]=c[h+192>>2];c[v+128>>2]=c[h+196>>2];c[v+132>>2]=c[h+200>>2];c[v+136>>2]=c[h+204>>2];c[v+140>>2]=c[h+208>>2];c[v+144>>2]=c[h+212>>2];c[v+148>>2]=c[h+216>>2];c[v+152>>2]=c[h+220>>2];c[v+156>>2]=c[h+224>>2];g=v+316|0;c[g>>2]=c[h+356>>2];c[v+64>>2]=c[h+132>>2];c[v+68>>2]=c[h+136>>2];c[v+72>>2]=c[h+140>>2];c[v+76>>2]=c[h+144>>2];c[v+80>>2]=c[h+148>>2];c[v+84>>2]=c[h+152>>2];c[v+88>>2]=c[h+156>>2];c[v+92>>2]=c[h+160>>2];c[v+96>>2]=c[h+164>>2];c[v+100>>2]=c[h+168>>2];c[v+104>>2]=c[h+172>>2];c[v+108>>2]=c[h+176>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+240>>2]=c[h+316>>2];c[v+244>>2]=c[h+320>>2];c[v+248>>2]=c[h+324>>2];c[v+252>>2]=c[h+328>>2];c[v+324>>2]=c[h+364>>2];c[v+328>>2]=c[h+368>>2];c[v+312>>2]=c[h+352>>2];c[g>>2]=c[h+356>>2];c[A>>2]=c[h+360>>2];c[v+332>>2]=c[h+372>>2];A=c[h+44>>2]|0;g=v+284|0;c[g>>2]=A;m=v+292|0;c[m>>2]=c[h+4>>2];n=v+288|0;c[n>>2]=c[h+24>>2];c[v+304>>2]=c[h+308>>2];c[v+176>>2]=c[h+244>>2];c[v+180>>2]=c[h+248>>2];c[v+184>>2]=c[h+252>>2];c[v+188>>2]=c[h+256>>2];c[v+192>>2]=c[h+260>>2];c[v+196>>2]=c[h+264>>2];c[v+200>>2]=c[h+268>>2];c[v+204>>2]=c[h+272>>2];h=c[(c[b+1120>>2]|0)+(u<<2)>>2]|0;c[v+308>>2]=c[h+312>>2];if(A){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[h+52>>2]|0)|0;c[v+272>>2]=A;if(A|0){g=c[g>>2]|0;h=Ob[c[(c[f>>2]|0)+16>>2]&63](f,16,g)|0;if((g|0)>0){j=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+52>>2]|0;k=0;l=c[h+8>>2]|0;while(1){c[l>>2]=c[j+(k<<4)>>2];c[l+4>>2]=c[j+(k<<4)+4>>2];c[l+8>>2]=c[j+(k<<4)+8>>2];c[l+12>>2]=c[j+(k<<4)+12>>2];k=k+1|0;if((k|0)==(g|0))break;else l=l+16|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,h,19308,1497453121,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+52>>2]|0)}}else c[v+272>>2]=0;if(c[m>>2]|0){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0)|0;c[v+280>>2]=A;if(A|0){g=c[m>>2]|0;h=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,g)|0;if((g|0)>0){j=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0;k=0;l=c[h+8>>2]|0;while(1){c[l>>2]=c[j+(k<<2)>>2];k=k+1|0;if((k|0)==(g|0))break;else l=l+4|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,h,10801,1497453121,c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+12>>2]|0)}}else c[v+280>>2]=0;if(c[n>>2]|0){A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+20|0)|0;c[v+276>>2]=A;if(A|0){k=c[m>>2]|0;l=Ob[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;if((k|0)>0){m=c[(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+32>>2]|0;n=c[z+32>>2]|0;o=0;p=c[l+8>>2]|0;while(1){h=c[m+(o<<2)>>2]|0;g=(h+~(h<<15)>>10^h+~(h<<15))*9|0;j=c[z+72>>2]|0;g=c[s+((((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11))&(c[z+48>>2]|0)+-1)<<2)>>2]|0;if((h|0)!=(c[j+(g<<3)>>2]|0))do g=c[n+(g<<2)>>2]|0;while((h|0)!=(c[j+(g<<3)>>2]|0));c[p>>2]=c[t+(g<<2)>>2];o=o+1|0;if((o|0)==(k|0))break;else p=p+4|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,l,10844,1497453121,(c[(c[b+1120>>2]|0)+(u<<2)>>2]|0)+20|0)}}else c[v+276>>2]=0;u=u+1|0;if((u|0)>=(q|0))break;else v=v+348|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,r,10824,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;A=c[b+852>>2]|0;c[e+320>>2]=A;if(!A){c[e+288>>2]=0;pj(z);i=z;return 10868}A=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[b+860>>2]|0)|0;c[e+288>>2]=A;if(!A){pj(z);i=z;return 10868}j=c[b+852>>2]|0;k=Ob[c[(c[f>>2]|0)+16>>2]&63](f,104,j)|0;if((j|0)>0){m=0;n=c[k+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;c[n+96>>2]=Eb[c[(c[g>>2]|0)+20>>2]&127](g)|0;g=(c[b+860>>2]|0)+(m<<2)|0;h=c[g>>2]|0;c[n+8>>2]=c[h+28>>2];c[n+12>>2]=c[h+32>>2];c[n+16>>2]=c[h+36>>2];c[n+20>>2]=c[h+40>>2];c[n+24>>2]=c[h+44>>2];c[n+28>>2]=c[h+48>>2];c[n+32>>2]=c[h+52>>2];c[n+36>>2]=c[h+56>>2];c[n+40>>2]=c[h+60>>2];c[n+44>>2]=c[h+64>>2];c[n+48>>2]=c[h+68>>2];c[n+52>>2]=d[h+152>>0];h=n+56|0;c[n>>2]=0;l=n+4|0;c[l>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;g=c[g>>2]|0;h=c[g+4>>2]|0;if(h){c[n+88>>2]=1;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}if(c[g+12>>2]|0){c[n+88>>2]=3;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,c[(c[(c[b+860>>2]|0)+(m<<2)>>2]|0)+12>>2]|0)|0}g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0;h=c[g+8>>2]|0;if(h){c[n+88>>2]=2;c[n>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+16>>2]|0;if(h){c[n+92>>2]=1;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}h=c[g+24>>2]|0;if(h){c[n+92>>2]=3;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,h)|0;g=c[(c[b+860>>2]|0)+(m<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[n+92>>2]=2;c[l>>2]=Zb[c[(c[x>>2]|0)+28>>2]&31](f,g)|0}m=m+1|0;if((m|0)>=(j|0))break;else n=n+104|0}}yb[c[(c[w>>2]|0)+20>>2]&31](f,k,10848,1497453121,c[b+860>>2]|0);pj(z);i=z;return 10868}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;K=i;i=i+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;i=K;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;k=c[f+88>>2]|0;l=c[f+200>>2]|0;j=c[f+92>>2]|0;g=c[f+204>>2]|0;if((k|0)==(l|0)){if((j|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=j;if((j|0)==(g|0)){I=(c[f+96>>2]|0)>(c[f+208>>2]|0);g=I?f+112|0:f;c[g>>2]=g;c[g+4>>2]=g;c[e>>2]=g;c[e+4>>2]=g;c[e+8>>2]=g;c[e+12>>2]=g;f=I?f:f+112|0}else{h=g;g=0;J=9}}else{h=g;g=(j|0)==(g|0);J=9}do if((J|0)==9){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;J=(j|0)<(h|0);c[e>>2]=(k|0)<(l|0)|(k|0)==(l|0)&J?f:f+112|0;c[e+4>>2]=(k|0)<(l|0)|(k|0)==(l|0)&J?f+112|0:f;if(J|(k|0)<(l|0)&g){c[e+8>>2]=f;c[e+12>>2]=f+112;g=f;f=f+112|0;break}else{c[e+8>>2]=f+112;c[e+12>>2]=f;g=f;f=f+112|0;break}}while(0);a=dg(a,g,f)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[f+8>>2]=a;i=K;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{n=((d-b|0)/2|0)+b|0;h=c[a+92>>2]|0;m=c[h+(n+-1<<2)>>2]|0;j=c[m+88>>2]|0;k=c[m+92>>2]|0;m=c[m+96>>2]|0;b:do if((n|0)<(d|0)){f=n;do{g=c[h+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(j|0))break b;if((c[g+92>>2]|0)!=(k|0))break b;if((c[g+96>>2]|0)!=(m|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);vc(a,b,n,e);c[K+96>>2]=0;c[K+96+4>>2]=0;c[K+96+8>>2]=0;c[K+96+12>>2]=0;vc(a,f,d,K+96|0);m=c[K+96+4>>2]|0;c:do if(m|0){A=c[e+4>>2]|0;if(!A){c[e>>2]=c[K+96>>2];c[e+4>>2]=c[K+96+4>>2];c[e+8>>2]=c[K+96+8>>2];c[e+12>>2]=c[K+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;h=c[e+12>>2]|0;k=c[K+96+8>>2]|0;j=c[h+88>>2]|0;d:do if((j|0)==(c[k+88>>2]|0)?(l=c[h+92>>2]|0,(l|0)==(c[k+92>>2]|0)):0){n=c[k+4>>2]|0;if((n|0)==(k|0)){f=c[k+8>>2]|0;if(f){k=c[f+12>>2]|0;l=c[k+92>>2]|0;j=c[k+88>>2]|0}g=h;G=k;f=k;n=j+1|0;d=c[k+96>>2]|0;break}h=c[k>>2]|0;c[n>>2]=h;c[h+4>>2]=n;e:do if((k|0)==(c[K+96>>2]|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;do if((f|0)>=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)<(c[n+92>>2]|0):0)break;c[K+96>>2]=n;break e}while(0);c[K+96>>2]=h}while(0);if((k|0)==(m|0)){f=c[h+88>>2]|0;g=c[n+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)>(c[n+92>>2]|0):0)break;c[K+96+4>>2]=n;h=n;J=39;break d}while(0);c[K+96+4>>2]=h;J=39}else{h=m;J=39}}else{h=m;J=39}while(0);if((J|0)==39){w=c[e>>2]|0;x=c[K+96>>2]|0;y=0;z=1;b=A;g=0;f=h;j=0;while(1){k=c[f+88>>2]|0;d=c[b+88>>2]|0;l=_(k-d|0,z)|0;f:do if((l|0)<=0){if((l|0)<0){v=(y|0)!=0;n=c[b+92>>2]|0;u=c[f+92>>2]|0;m=l;l=b;while(1){r=c[(v?f+4|0:f)>>2]|0;s=(r|0)==(f|0);t=f+88|0;q=m;while(1){m=l+88|0;o=u-n|0;if(!s?(B=c[r+88>>2]|0,D=_(B-k|0,z)|0,E=c[r+92>>2]|0,F=E-u|0,(F|0)>-1):0){if(!D)break;if((D|0)<0?(_(F,q)|0)<=(_(D,o)|0):0)break}p=c[(v?l+4|0:l)>>2]|0;if((p|0)==(l|0))break f;G=c[p+88>>2]|0;d=_(G-(c[m>>2]|0)|0,z)|0;b=c[p+92>>2]|0;m=b-n|0;k=c[t>>2]|0;n=q;q=_(k-G|0,z)|0;if(!((m|0)>0&(q|0)<0))break f;if(!d){n=b;l=p;continue}if((d|0)>=0)break f;if((_(m,n)|0)>=(_(d,o)|0))break f;else{n=b;l=p}}k=B;u=E;m=_(B-(c[m>>2]|0)|0,z)|0;f=r}}k=c[b+92>>2]|0;n=(y|0)!=0;g:do if(n){m=b;while(1){l=c[m>>2]|0;if((l|0)==(b|0))break g;if((c[l+88>>2]|0)!=(d|0))break g;G=k;k=c[l+92>>2]|0;if((k|0)>(G|0))break;else m=l}}else{m=b;while(1){l=c[m+4>>2]|0;if((l|0)==(b|0))break g;if((c[l+88>>2]|0)!=(d|0))break g;G=k;k=c[l+92>>2]|0;if((k|0)>(G|0))break;else m=l}}while(0);l=c[f+92>>2]|0;if(n){n=f;while(1){k=c[n+4>>2]|0;if((k|0)==(f|0)){l=m;f=n;break f}if((c[k+88>>2]|0)!=(d|0)){l=m;f=n;break f}G=l;l=c[k+92>>2]|0;if((l|0)<(G|0)){l=m;f=n;break}else n=k}}else{n=f;while(1){k=c[n>>2]|0;if((k|0)==(f|0)){l=m;f=n;break f}if((c[k+88>>2]|0)!=(d|0)){l=m;f=n;break f}G=l;l=c[k+92>>2]|0;if((l|0)<(G|0)){l=m;f=n;break}else n=k}}}else{u=(y|0)!=0;s=d;t=c[f+92>>2]|0;r=l;while(1){q=f+88|0;m=c[b+92>>2]|0;k=t-m|0;l=c[(u?b:b+4|0)>>2]|0;h:do if((l|0)!=(b|0))if(u){p=s;o=m;d=r;while(1){m=p;p=c[l+88>>2]|0;m=_(p-m|0,z)|0;n=o;o=c[l+92>>2]|0;n=o-n|0;if((n|0)>=1){o=k;l=b;break h}if(m|0){if((m|0)>=0){o=k;l=b;break h}if((_(n,d)|0)>(_(m,k)|0)){o=k;l=b;break h}}n=_((c[q>>2]|0)-p|0,z)|0;k=t-o|0;m=c[l>>2]|0;if((m|0)==(l|0)){o=k;d=n;break}else{b=l;l=m;d=n}}}else{p=s;o=m;d=r;while(1){m=p;p=c[l+88>>2]|0;m=_(p-m|0,z)|0;n=o;o=c[l+92>>2]|0;n=o-n|0;if((n|0)>=1){o=k;l=b;break h}if(m|0){if((m|0)>=0){o=k;l=b;break h}if((_(n,d)|0)>(_(m,k)|0)){o=k;l=b;break h}}n=_((c[q>>2]|0)-p|0,z)|0;k=t-o|0;m=c[l+4>>2]|0;if((m|0)==(l|0)){o=k;d=n;break}else{b=l;l=m;d=n}}}else{o=k;d=r;l=b}while(0);n=c[(u?f:f+4|0)>>2]|0;if((n|0)==(f|0))break f;r=c[n+88>>2]|0;k=_(r-(c[q>>2]|0)|0,z)|0;m=t;t=c[n+92>>2]|0;m=t-m|0;s=c[l+88>>2]|0;r=_(r-s|0,z)|0;if(!((m|0)<0&(r|0)>0))break f;if(!k){b=l;f=n;continue}if((k|0)>=0)break f;if((_(m,d)|0)>=(_(k,o)|0))break;else{b=l;f=n}}}while(0);k=(y|0)==0;j=k?f:j;g=k?l:g;f=k?x:f;b=k?w:l;y=y+1|0;if((y|0)==2)break;else z=k?-1:z}c[b+4>>2]=f;c[f>>2]=b;c[g>>2]=j;c[j+4>>2]=g;if((c[x+88>>2]|0)<(c[w+88>>2]|0))c[e>>2]=x;if((c[h+88>>2]|0)>=(c[A+88>>2]|0))c[e+4>>2]=h;c[e+12>>2]=c[K+96+12>>2];h=g;F=j;s=c[j+88>>2]|0;d=c[g+88>>2]|0;t=c[j+92>>2]|0;u=c[g+92>>2]|0;v=c[j+96>>2]|0;b=c[g+96>>2]|0;w=((t-u|0)<0)<<31>>31;x=0-(s-d)|0;y=Is(0,0,x|0,((x|0)<0)<<31>>31|0)|0;y=vr(v-b|0,((v-b|0)<0)<<31>>31|0,y|0,C|0)|0;z=C;A=vr(v-b|0,((v-b|0)<0)<<31>>31|0,t-u|0,w|0)|0;B=C;o=vr(s-d|0,((s-d|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;E=C;D=vr(t-u|0,w|0,t-u|0,w|0)|0;D=Is(o|0,E|0,D|0,C|0)|0;E=C;o=c[g+8>>2]|0;c[K+120>>2]=0;if(!o)p=0;else{p=Is(0,0,t-u|0,w|0)|0;q=C;f=0;r=o;while(1){m=c[r+12>>2]|0;k=c[m+88>>2]|0;l=c[m+92>>2]|0;m=c[m+96>>2]|0;n=vr(l-u|0,((l-u|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=C;e=vr(k-d|0,((k-d|0)<0)<<31>>31|0,p|0,q|0)|0;i:do if((n|0)==(e|0)&(G|0)==(C|0)?(e=vr(k-d|0,((k-d|0)<0)<<31>>31|0,y|0,z|0)|0,n=C,G=vr(l-u|0,((l-u|0)<0)<<31>>31|0,A|0,B|0)|0,n=Kt(G|0,C|0,e|0,n|0)|0,e=C,G=vr(m-b|0,((m-b|0)<0)<<31>>31|0,D|0,E|0)|0,G=Kt(n|0,e|0,G|0,C|0)|0,e=C,(e|0)>0|(e|0)==0&G>>>0>0):0){do if(f|0){n=(c[f+4>>2]|0)==(r|0);if((c[f>>2]|0)!=(r|0))if(n)break;else break i;if(!n)break i;e=c[f+12>>2]|0;L=c[(c[r+8>>2]|0)+12>>2]|0;G=c[L+88>>2]|0;n=c[L+92>>2]|0;L=c[L+96>>2]|0;M=(c[e+96>>2]|0)-L|0;n=(_(m-L|0,(c[e+92>>2]|0)-n|0)|0)-(_(M,l-n|0)|0)|0;G=(_(M,k-G|0)|0)-(_(m-L|0,(c[e+88>>2]|0)-G|0)|0)|0;n=vr(n|0,((n|0)<0)<<31>>31|0,t-u|0,w|0)|0;e=C;G=vr(G|0,((G|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;G=Kt(n|0,e|0,G|0,C|0)|0;e=C;if((e|0)>0|(e|0)==0&G>>>0>0)break i}while(0);c[K+120>>2]=r;f=r}while(0);r=c[r>>2]|0;if((r|0)==(o|0)){p=f;break}}}n=c[j+8>>2]|0;c[K+72>>2]=0;if(!n)f=0;else{d=Is(0,0,t-u|0,w|0)|0;b=C;f=0;o=n;do{m=c[o+12>>2]|0;k=c[m+88>>2]|0;l=c[m+92>>2]|0;m=c[m+96>>2]|0;G=vr(l-t|0,((l-t|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;M=C;L=vr(k-s|0,((k-s|0)<0)<<31>>31|0,d|0,b|0)|0;do if((G|0)==(L|0)&(M|0)==(C|0)?(L=vr(k-s|0,((k-s|0)<0)<<31>>31|0,y|0,z|0)|0,G=C,M=vr(l-t|0,((l-t|0)<0)<<31>>31|0,A|0,B|0)|0,G=Kt(M|0,C|0,L|0,G|0)|0,L=C,M=vr(m-v|0,((m-v|0)<0)<<31>>31|0,D|0,E|0)|0,M=Kt(G|0,L|0,M|0,C|0)|0,L=C,(L|0)>0|(L|0)==0&M>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(L=c[f+12>>2]|0,e=c[(c[o+8>>2]|0)+12>>2]|0,M=c[e+88>>2]|0,G=c[e+92>>2]|0,e=c[e+96>>2]|0,r=(c[L+96>>2]|0)-e|0,G=(_(m-e|0,(c[L+92>>2]|0)-G|0)|0)-(_(r,l-G|0)|0)|0,M=(_(r,k-M|0)|0)-(_(m-e|0,(c[L+88>>2]|0)-M|0)|0)|0,G=vr(G|0,((G|0)<0)<<31>>31|0,t-u|0,w|0)|0,L=C,M=vr(M|0,((M|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0,M=Kt(G|0,L|0,M|0,C|0)|0,L=C,!((L|0)>0|(L|0)==0&M>>>0>0)):0)break}c[K+72>>2]=o;f=o}while(0);o=c[o>>2]|0}while((o|0)!=(n|0))}if((p|0)!=0|(f|0)!=0){Ac(a,g,j,K+120|0,K+72|0);f=c[K+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[K+72>>2]|0;if(!f)f=F;else{f=c[f+12>>2]|0;j=f}}else f=F;G=j;n=c[j+88>>2]|0;d=(c[j+96>>2]|0)+1|0;l=c[j+92>>2]|0}w=G;x=g;j=0;D=0;e=1;k=0;m=0;y=0;A=0;B=n;o=d;F=0;n=0;while(1){z=x+88|0;u=(c[w+88>>2]|0)-(c[z>>2]|0)|0;M=x+92|0;E=(c[w+92>>2]|0)-(c[M>>2]|0)|0;t=x+96|0;r=(c[w+96>>2]|0)-(c[t>>2]|0)|0;c[K+120>>2]=u;c[K+120+4>>2]=E;c[K+120+8>>2]=r;c[K+120+12>>2]=-1;z=B-(c[z>>2]|0)|0;M=l-(c[M>>2]|0)|0;t=o-(c[t>>2]|0)|0;s=(_(r,M)|0)-(_(E,t)|0)|0;t=(_(u,t)|0)-(_(r,z)|0)|0;M=(_(E,z)|0)-(_(u,M)|0)|0;c[K+72>>2]=s;c[K+72+4>>2]=((s|0)<0)<<31>>31;c[K+72+8>>2]=t;c[K+72+8+4>>2]=((t|0)<0)<<31>>31;c[K+72+16>>2]=M;c[K+72+16+4>>2]=((M|0)<0)<<31>>31;z=vr(E|0,((E|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;L=C;v=vr(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;v=Is(z|0,L|0,v|0,C|0)|0;L=C;r=vr(s|0,((s|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;z=C;M=vr(u|0,((u|0)<0)<<31>>31|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Is(r|0,z|0,M|0,C|0)|0;z=C;t=vr(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;u=C;E=vr(s|0,((s|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;E=Is(t|0,u|0,E|0,C|0)|0;c[K+48>>2]=v;c[K+48+4>>2]=L;c[K+48+8>>2]=M;c[K+48+8+4>>2]=z;c[K+48+16>>2]=E;c[K+48+16+4>>2]=C;c[K+24>>2]=0;c[K+24+4>>2]=0;c[K+24+8>>2]=0;c[K+24+12>>2]=0;c[K+24+16>>2]=0;E=Id(a,0,x,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;z=Id(a,1,w,K+120|0,K+72|0,K+48|0,K)|0;do if((E|0)!=0|(z|0)!=0){d=E|0?-1:1;do if((E|0)!=0&(z|0)!=0){v=c[K+24+16>>2]|0;d=c[K+16>>2]|0;if((v|0)!=(d|0)){u=v-d|0;break}if(!v)u=0;else{M=c[K+24>>2]|0;t=c[K+24+4>>2]|0;p=c[K+8>>2]|0;N=c[K+8+4>>2]|0;b=vr(p|0,0,M|0,0)|0;d=C;M=vr(N|0,0,M|0,0)|0;L=C;p=vr(p|0,0,t|0,0)|0;q=C;t=vr(N|0,0,t|0,0)|0;N=C;p=Kt(M|0,0,p|0,0)|0;M=C;N=Kt(L|0,0,t|0,N|0)|0;q=Kt(N|0,C|0,q|0,0)|0;M=Kt(q|0,C|0,M|0,0)|0;q=C;d=Kt(0,p|0,b|0,d|0)|0;b=C;p=Kt(M|0,q|0,(b>>>0<p>>>0|(b|0)==(p|0)&d>>>0<0)&1|0,0)|0;q=C;M=c[K+24+8>>2]|0;N=c[K+24+8+4>>2]|0;t=c[K>>2]|0;L=c[K+4>>2]|0;s=vr(t|0,0,M|0,0)|0;r=C;M=vr(L|0,0,M|0,0)|0;O=C;t=vr(t|0,0,N|0,0)|0;u=C;N=vr(L|0,0,N|0,0)|0;L=C;t=Kt(M|0,0,t|0,0)|0;M=C;L=Kt(O|0,0,N|0,L|0)|0;u=Kt(L|0,C|0,u|0,0)|0;M=Kt(u|0,C|0,M|0,0)|0;u=C;r=Kt(0,t|0,s|0,r|0)|0;s=C;t=Kt(M|0,u|0,(s>>>0<t>>>0|(s|0)==(t|0)&r>>>0<0)&1|0,0)|0;u=C;if(!(q>>>0<u>>>0|(q|0)==(u|0)&p>>>0<t>>>0))if(!(q>>>0>u>>>0|(q|0)==(u|0)&p>>>0>t>>>0))if(b>>>0<s>>>0|(b|0)==(s|0)&d>>>0<r>>>0)d=-1;else d=(b>>>0>s>>>0|(b|0)==(s|0)&d>>>0>r>>>0)&1;else d=1;else d=-1;u=_(d,v)|0}}else u=d;while(0);do if(!e)if((u|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0?(c[K+8+4>>2]|0)==0:0)){b=y;t=A;break}else{J=136;break}else if((c[K+24+16>>2]|0)<0&((c[K+24+8>>2]|0)==0?(c[K+24+8+4>>2]|0)==0:0)){b=y;t=A;break}else{J=136;break}else J=136;while(0);if((J|0)==136){J=0;b=dg(a,x,w)|0;if(!y)k=b;else c[y+4>>2]=b;c[b>>2]=y;d=c[b+8>>2]|0;if(!A)m=d;else c[A>>2]=d;c[d+4>>2]=A;t=d}c[K+116>>2]=E;c[K+112>>2]=z;if(!u){Ac(a,h,f,K+116|0,K+112|0);s=c[K+112>>2]|0}else s=z;if((u|0)>-1&(s|0)!=0){r=(n|0)!=0;if(r?(H=c[n>>2]|0,(H|0)!=(z|0)):0){p=H;do{q=p;p=c[p>>2]|0;o=c[q+8>>2]|0;d=c[o+12>>2]|0;if((p|0)==(q|0))l=0;else{c[p+4>>2]=c[q+4>>2];c[c[q+4>>2]>>2]=p;l=p}c[d+8>>2]=l;l=c[o>>2]|0;d=c[q+12>>2]|0;if((l|0)==(o|0))l=0;else{c[l+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=l}c[d+8>>2]=l;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((p|0)!=(z|0))}if(!t){n=s;l=r?D:z}else{if(r){c[n>>2]=m;d=z+4|0;l=D}else{n=c[z+4>>2]|0;c[n>>2]=m;d=z+4|0;l=m}c[m+4>>2]=n;c[t>>2]=z;c[d>>2]=t;n=c[K+112>>2]|0;m=0}y=f;f=c[n+12>>2]|0;D=l;t=0;d=c[y+88>>2]|0;o=c[y+96>>2]|0;l=c[y+92>>2]|0;y=c[n+8>>2]|0}else{d=B;y=n}s=c[K+116>>2]|0;if((u|0)<1&(s|0)!=0){r=(F|0)!=0;if(r?(I=c[F+4>>2]|0,(I|0)!=(E|0)):0){p=I;do{n=p+4|0;q=p;p=c[n>>2]|0;l=c[q>>2]|0;o=c[q+8>>2]|0;d=c[o+12>>2]|0;if((l|0)==(q|0))l=0;else{c[l+4>>2]=p;c[c[n>>2]>>2]=l}c[d+8>>2]=l;l=c[o>>2]|0;n=c[q+12>>2]|0;if((l|0)==(o|0))l=0;else{c[l+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=l}c[n+8>>2]=l;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((p|0)!=(E|0))}if(!b){n=s;j=r?j:E}else{if(r){c[F+4>>2]=k;n=E;l=F}else{l=c[E>>2]|0;c[l+4>>2]=k;n=E;j=k}c[k>>2]=l;c[n>>2]=b;c[b+4>>2]=E;n=c[K+116>>2]|0;k=0}l=h;h=c[n+12>>2]|0;u=0;w=c[l+88>>2]|0;x=c[l+96>>2]|0;l=c[l+92>>2]|0;v=c[n+8>>2]|0}else{u=b;w=d;x=o;v=F}if((h|0)==(g|0)&(f|0)==(G|0)){if(v){r=v+4|0;n=c[r>>2]|0;if((n|0)!=(j|0))do{b=n+4|0;q=n;n=c[b>>2]|0;d=c[q>>2]|0;p=c[q+8>>2]|0;o=c[p+12>>2]|0;if((d|0)==(q|0))d=0;else{c[d+4>>2]=n;c[c[b>>2]>>2]=d}c[o+8>>2]=d;d=c[p>>2]|0;b=c[q+12>>2]|0;if((d|0)==(p|0))d=0;else{c[d+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=d}c[b+8>>2]=d;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q>>2]=c[a+56>>2];c[a+56>>2]=q;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((n|0)!=(j|0));if(u|0){c[k>>2]=v;c[r>>2]=k;c[j>>2]=u;c[u+4>>2]=j}}else{c[k>>2]=u;c[u+4>>2]=k;c[h+8>>2]=u}if(!y){c[t>>2]=m;c[m+4>>2]=t;c[G+8>>2]=t;s=0;q=D;r=e;p=u;b=w;o=x;d=v;n=0;break}n=c[y>>2]|0;if((n|0)!=(D|0))do{p=n;n=c[n>>2]|0;o=c[p+8>>2]|0;b=c[o+12>>2]|0;if((n|0)==(p|0))d=0;else{c[n+4>>2]=c[p+4>>2];c[c[p+4>>2]>>2]=n;d=n}c[b+8>>2]=d;d=c[o>>2]|0;b=c[p+12>>2]|0;if((d|0)==(o|0))d=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d}c[b+8>>2]=d;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p>>2]=c[a+56>>2];c[a+56>>2]=p;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((n|0)!=(D|0));if(!t){s=0;q=D;r=e;p=u;t=0;b=w;o=x;d=v;n=y}else{c[y>>2]=m;c[m+4>>2]=y;c[t>>2]=D;c[D+4>>2]=t;s=0;q=D;r=e;p=u;b=w;o=x;d=v;n=y}}else{s=1;q=D;r=0;p=u;b=w;o=x;d=v;n=y}}else{s=dg(a,x,w)|0;c[s>>2]=s;c[s+4>>2]=s;c[x+8>>2]=s;s=c[s+8>>2]|0;c[s>>2]=s;c[s+4>>2]=s;c[f+8>>2]=s;s=0;q=D;r=e;p=y;t=A;b=B;d=F}while(0);if(!s)break c;w=f;x=h;D=q;e=r;y=p;A=t;B=b;F=d}}while(0);i=K;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;i=K;return}function wc(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=i;i=i+368|0;e=c[b+24>>2]|0;if((e|0)<=0){i=ga;return}K=ga+56+76|0;V=ga+272+16|0;W=ga+272+32|0;J=0;do{I=c[(c[b+32>>2]|0)+(J<<2)>>2]|0;switch(c[I+216>>2]|0){case 2:case 5:break;default:{if(a[I+924>>0]|0){a[I+924>>0]=0;h=c[I+732>>2]|0;if((h|0)>0){e=c[I+740>>2]|0;f=0;do{G=c[e+(f*52|0)+8>>2]|0;H=c[e+(f*52|0)+12>>2]|0;D=+g[G+8>>2]-+g[H+8>>2];E=+g[G+12>>2]-+g[H+12>>2];F=+g[G+16>>2]-+g[H+16>>2];F=+O(+(D*D+E*E+F*F));g[e+(f*52|0)+16>>2]=F;g[e+(f*52|0)+28>>2]=F*F;f=f+1|0}while((f|0)!=(h|0));e=c[I+740>>2]|0;f=0;do{g[e+(f*52|0)+24>>2]=(+g[(c[e+(f*52|0)+8>>2]|0)+88>>2]+ +g[(c[e+(f*52|0)+12>>2]|0)+88>>2])/+g[(c[e+(f*52|0)+4>>2]|0)+4>>2];f=f+1|0}while((f|0)!=(h|0))}eg(I);e=c[I+988>>2]|0;if(e|0)xn(I+988|0,e);e=c[I+992>>2]|0;if(e|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[I+992>>2]=0;c[I+996>>2]=-1;e=c[I+1020>>2]|0;if(e|0){if(a[I+1024>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[I+1020>>2]=0}a[I+1024>>0]=1;c[I+1020>>2]=0;c[I+1012>>2]=0;c[I+1016>>2]=0;c[I+1004>>2]=0;if(c[I+388>>2]&16|0)gg(I)}m=+g[I+368>>2]*d;g[I+452>>2]=m;g[I+456>>2]=1.0/m;g[I+460>>2]=m*3.0;e=c[I+192>>2]|0;m=+Sb[c[(c[e>>2]|0)+48>>2]&15](e);g[I+464>>2]=m;g[I+468>>2]=m*.25;e=c[I+684>>2]|0;m=+g[I+452>>2];j=+g[e+40>>2]*m;l=m*+g[e+44>>2];m=m*+g[e+48>>2];e=c[I+712>>2]|0;if((e|0)>0){f=c[I+720>>2]|0;h=0;do{if(+g[f+(h*104|0)+88>>2]>0.0){H=f+(h*104|0)+40|0;g[H>>2]=j+ +g[H>>2];H=f+(h*104|0)+44|0;g[H>>2]=l+ +g[H>>2];H=f+(h*104|0)+48|0;g[H>>2]=m+ +g[H>>2]}h=h+1|0}while((h|0)!=(e|0))}li(11033);E=+g[I+308>>2];F=+g[I+312>>2];n=+g[I+304>>2]>0.0?1:+g[I+300>>2]>0.0;y=c[I+712>>2]|0;if(E!=0.0|F>0.0){if((y|0)>0){e=c[I+720>>2]|0;l=+g[e+8>>2];m=+g[e+12>>2];o=+g[e+16>>2];e=c[I+752>>2]|0;if((e|0)>0){f=c[I+760>>2]|0;h=0;j=0.0;do{H=c[f+(h*44|0)+8>>2]|0;G=c[f+(h*44|0)+12>>2]|0;C=+g[G+8>>2]-l;x=+g[G+12>>2]-m;A=+g[G+16>>2]-o;G=c[f+(h*44|0)+16>>2]|0;B=+g[G+8>>2]-l;z=+g[G+12>>2]-m;D=+g[G+16>>2]-o;j=j+((+g[H+16>>2]-o)*(C*z-x*B)+((+g[H+8>>2]-l)*(x*D-A*z)+(+g[H+12>>2]-m)*(A*B-C*D)));h=h+1|0}while((h|0)!=(e|0))}else j=0.0;j=j/6.0}else j=0.0;D=E*(1.0/+N(+j));C=F*(+g[I+476>>2]-j)}else{C=0.0;D=0.0}a:do if((y|0)>0){if(!n){e=c[I+720>>2]|0;f=0;while(1){if(+g[e+(f*104|0)+88>>2]>0.0){if(E!=0.0){z=D*+g[e+(f*104|0)+92>>2];A=z*+g[e+(f*104|0)+76>>2];B=z*+g[e+(f*104|0)+80>>2];H=e+(f*104|0)+56|0;g[H>>2]=+g[e+(f*104|0)+72>>2]*z+ +g[H>>2];H=e+(f*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=e+(f*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}if(F>0.0){z=C*+g[e+(f*104|0)+92>>2];A=z*+g[e+(f*104|0)+76>>2];B=z*+g[e+(f*104|0)+80>>2];H=e+(f*104|0)+56|0;g[H>>2]=+g[e+(f*104|0)+72>>2]*z+ +g[H>>2];H=e+(f*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=e+(f*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}}f=f+1|0;if((f|0)==(y|0))break a}}f=c[I+720>>2]|0;h=0;do{x=+g[f+(h*104|0)+88>>2];if(x>0.0){z=+g[I+452>>2];q=+g[I+304>>2];o=+g[I+300>>2];b:do if((q>0.0|o>0.0?(L=c[c[I+684>>2]>>2]|0,(c[I+288>>2]|0)<4):0)?(M=+g[f+(h*104|0)+40>>2],P=M-+g[I+1212>>2],Q=+g[f+(h*104|0)+44>>2],R=Q-+g[I+1216>>2],S=+g[f+(h*104|0)+48>>2],T=S-+g[I+1220>>2],U=+O(+(P*P+R*R+T*T)),P*P+R*R+T*T>1.1920928955078125e-07):0){u=P*(1.0/U);A=R*(1.0/U);B=T*(1.0/U);s=+g[f+(h*104|0)+72>>2];t=+g[f+(h*104|0)+76>>2];v=+g[f+(h*104|0)+80>>2];switch(c[I+288>>2]|0){case 2:break;case 1:case 3:case 0:{j=P*s+R*t+T*v<0.0?-1.0:1.0;if(!(T*v*j+(P*s*j+R*t*j)>0.0))break b;w=-((c[k>>2]=L,+g[k>>2])*(P*P+R*R+T*T)*(T*v*j+(P*s*j+R*t*j))*+g[f+(h*104|0)+92>>2]*.5);m=u*o*w+(s*j*q*w+0.0);l=A*o*w+(t*j*q*w+0.0);j=B*o*w+(v*j*q*w+0.0);e=f+(h*104|0)+56|0;if(z*x*j*z*x*j+(z*x*m*z*x*m+z*x*l*z*x*l)>M*M+Q*Q+S*S){B=1.0/+O(+(j*j+(m*m+l*l)));g[e>>2]=+g[e>>2]-1.0/(z*x)*m*B*(S*j*B+(M*m*B+Q*l*B));H=f+(h*104|0)+60|0;g[H>>2]=+g[H>>2]-1.0/(z*x)*l*B*(S*j*B+(M*m*B+Q*l*B));H=f+(h*104|0)+64|0;g[H>>2]=+g[H>>2]-1.0/(z*x)*j*B*(S*j*B+(M*m*B+Q*l*B));break b}else{g[e>>2]=m+ +g[e>>2];H=f+(h*104|0)+60|0;g[H>>2]=l+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=j+ +g[H>>2];break b}}default:break b}p=P*s+R*t+T*v<0.0?-1.0:1.0;j=B*v*p+(u*s*p+A*t*p);l=+g[f+(h*104|0)+92>>2]*.5;m=(c[k>>2]=L,+g[k>>2]);w=j*o*.5*m*(P*P+R*R+T*T)*l;if(j>0.0&j<.9847999811172485){o=q*.5*m*U*l*+O(+(1.0-j*j));q=(B*(u*v*p-B*s*p)-A*(A*s*p-u*t*p))*o;r=(u*(A*s*p-u*t*p)-B*(B*t*p-A*v*p))*o;o=(A*(B*t*p-A*v*p)-u*(u*v*p-B*s*p))*o}else{q=0.0;r=0.0;o=0.0}j=z*x*-(B*w)*z*x*-(B*w)+(x*-(u*w)*z*x*-(u*w)*z+z*x*-(A*w)*z*x*-(A*w));if(j>0.0?j>=M*M+Q*Q+S*S:0){j=+O(+(M*M+Q*Q+S*S))/+O(+j)*.800000011920929;m=j*-(u*w);l=j*-(B*w);j=j*-(A*w)}else{m=-(u*w);l=-(B*w);j=-(A*w)}n=f+(h*104|0)+56|0;G=f+(h*104|0)+60|0;A=j+ +g[G>>2];H=f+(h*104|0)+64|0;B=l+ +g[H>>2];g[n>>2]=q+(m+ +g[n>>2]);g[G>>2]=r+A;g[H>>2]=o+B}while(0);if(E!=0.0){z=D*+g[f+(h*104|0)+92>>2];A=z*+g[f+(h*104|0)+76>>2];B=z*+g[f+(h*104|0)+80>>2];H=f+(h*104|0)+56|0;g[H>>2]=+g[f+(h*104|0)+72>>2]*z+ +g[H>>2];H=f+(h*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}if(F>0.0){z=C*+g[f+(h*104|0)+92>>2];A=z*+g[f+(h*104|0)+76>>2];B=z*+g[f+(h*104|0)+80>>2];H=f+(h*104|0)+56|0;g[H>>2]=+g[f+(h*104|0)+72>>2]*z+ +g[H>>2];H=f+(h*104|0)+60|0;g[H>>2]=A+ +g[H>>2];H=f+(h*104|0)+64|0;g[H>>2]=B+ +g[H>>2]}}h=h+1|0}while((h|0)!=(y|0))}while(0);G=c[I+752>>2]|0;if((G|0)>0){H=0;do{w=+g[I+452>>2];q=+g[I+304>>2];p=+g[I+300>>2];c:do if((q>0.0|p>0.0?(X=c[I+288>>2]|0,(X|0)>3):0)?(Y=c[I+760>>2]|0,Z=c[Y+(H*44|0)+8>>2]|0,n=c[Y+(H*44|0)+12>>2]|0,_=+g[Z+40>>2],$=+g[Z+44>>2],aa=+g[Z+48>>2],y=c[Y+(H*44|0)+16>>2]|0,ba=c[c[I+684>>2]>>2]|0,ca=(_+ +g[n+40>>2]+ +g[y+40>>2])*.3333333432674408-+g[I+1212>>2],da=($+ +g[n+44>>2]+ +g[y+44>>2])*.3333333432674408-+g[I+1216>>2],ea=(aa+ +g[n+48>>2]+ +g[y+48>>2])*.3333333432674408-+g[I+1220>>2],fa=+O(+(ca*ca+da*da+ea*ea)),ca*ca+da*da+ea*ea>1.1920928955078125e-07):0){s=ca*(1.0/fa);u=da*(1.0/fa);x=ea*(1.0/fa);r=+g[Y+(H*44|0)+20>>2];t=+g[Y+(H*44|0)+24>>2];v=+g[Y+(H*44|0)+28>>2];switch(X|0){case 5:break;case 4:case 6:{j=ca*r+da*t+ea*v<0.0?-1.0:1.0;if(!(ea*v*j+(ca*r*j+da*t*j)>0.0))break c;l=-((c[k>>2]=ba,+g[k>>2])*(ca*ca+da*da+ea*ea)*(ea*v*j+(ca*r*j+da*t*j))*+g[Y+(H*44|0)+36>>2]);s=(s*p*l+(r*j*q*l+0.0))*.3333333432674408;r=(u*p*l+(t*j*q*l+0.0))*.3333333432674408;l=(x*p*l+(v*j*q*l+0.0))*.3333333432674408;h=Z;m=_;o=$;p=aa;e=0;while(1){j=w*+g[h+88>>2];f=h+56|0;if(l*j*l*j+(s*j*s*j+r*j*r*j)>m*m+o*o+p*p){E=1.0/+O(+(l*l+(s*s+r*r)));F=p*l*E+(m*s*E+o*r*E);g[f>>2]=+g[f>>2]-1.0/j*s*E*F;y=h+60|0;g[y>>2]=+g[y>>2]-1.0/j*r*E*F;y=h+64|0;g[y>>2]=+g[y>>2]-1.0/j*l*E*F}else{g[f>>2]=s+ +g[f>>2];y=h+60|0;g[y>>2]=r+ +g[y>>2];y=h+64|0;g[y>>2]=l+ +g[y>>2]}e=e+1|0;if((e|0)==3)break c;y=c[Y+(H*44|0)+8+(e<<2)>>2]|0;h=y;m=+g[y+40>>2];o=+g[y+44>>2];p=+g[y+48>>2]}}default:break c}o=ca*r+da*t+ea*v<0.0?-1.0:1.0;j=x*v*o+(s*r*o+u*t*o);l=+g[Y+(H*44|0)+36>>2]*.5;m=(c[k>>2]=ba,+g[k>>2]);p=j*(ca*ca+da*da+ea*ea)*p*.5*m*l;if(j>0.0&j<.9847999811172485){F=fa*q*.5*m*l*+O(+(1.0-j*j));w=(x*(s*v*o-x*r*o)-u*(u*r*o-s*t*o))*F*.3333333432674408;z=(u*(x*t*o-u*v*o)-s*(s*v*o-x*r*o))*F*.3333333432674408;t=(s*(u*r*o-s*t*o)-x*(x*t*o-u*v*o))*F*.3333333432674408}else{w=0.0;z=0.0;t=0.0}h=(g[k>>2]=s*p*-.3333333432674408,c[k>>2]|0);n=(g[k>>2]=u*p*-.3333333432674408,c[k>>2]|0);y=Z;e=(g[k>>2]=x*p*-.3333333432674408,c[k>>2]|0);f=0;while(1){j=+g[y+88>>2];if(j>0.0){p=(c[k>>2]=h,+g[k>>2]);q=(c[k>>2]=n,+g[k>>2]);r=(c[k>>2]=e,+g[k>>2]);l=+g[I+452>>2];j=r*j*l*r*j*l+(p*j*l*p*j*l+q*j*l*q*j*l);l=+g[y+40>>2];m=+g[y+44>>2];o=+g[y+48>>2];if(j>0.0?j>=l*l+m*m+o*o:0){F=+O(+(l*l+m*m+o*o))/+O(+j)*.800000011920929;h=(g[k>>2]=p*F,c[k>>2]|0);n=(g[k>>2]=q*F,c[k>>2]|0);e=(g[k>>2]=r*F,c[k>>2]|0)}ia=y+56|0;D=(c[k>>2]=h,+g[k>>2])+ +g[ia>>2];ha=y+60|0;E=(c[k>>2]=n,+g[k>>2])+ +g[ha>>2];y=y+64|0;F=(c[k>>2]=e,+g[k>>2])+ +g[y>>2];g[ia>>2]=w+D;g[ha>>2]=t+E;g[y>>2]=z+F}f=f+1|0;if((f|0)==3)break c;y=c[Y+(H*44|0)+8+(f<<2)>>2]|0}}while(0);H=H+1|0}while((H|0)!=(G|0))}e=c[2357]|0;ia=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=ia;do if(!ia){if(c[e+4>>2]|0){tb(ga+320|0,0)|0;ia=c[6434]|0;g[e+8>>2]=+g[e+8>>2]+ +(((c[ga+320+4>>2]|0)-(c[ia+4>>2]|0)+(((c[ga+320>>2]|0)-(c[ia>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2357]|0}c[2357]=c[e+20>>2]}while(0);e=c[I+712>>2]|0;if((e|0)>0){f=0;do{ha=c[I+720>>2]|0;ia=ha+(f*104|0)+24|0;H=ha+(f*104|0)+8|0;c[ia>>2]=c[H>>2];c[ia+4>>2]=c[H+4>>2];c[ia+8>>2]=c[H+8>>2];c[ia+12>>2]=c[H+12>>2];ia=ha+(f*104|0)+56|0;E=+g[ha+(f*104|0)+88>>2];F=+g[I+452>>2];C=+g[ia>>2]*E*F;D=E*+g[ha+(f*104|0)+60>>2]*F;E=F*E*+g[ha+(f*104|0)+64>>2];F=+g[(c[I+684>>2]|0)+12>>2]/F;C=C>F?F:C;D=D>F?F:D;E=E>F?F:E;G=ha+(f*104|0)+40|0;C=(C<-F?-F:C)+ +g[G>>2];g[G>>2]=C;G=ha+(f*104|0)+44|0;D=(D<-F?-F:D)+ +g[G>>2];g[G>>2]=D;G=ha+(f*104|0)+48|0;E=(E<-F?-F:E)+ +g[G>>2];g[G>>2]=E;F=+g[I+452>>2];g[H>>2]=C*F+ +g[H>>2];H=ha+(f*104|0)+12|0;g[H>>2]=F*D+ +g[H>>2];ha=ha+(f*104|0)+16|0;g[ha>>2]=E*F+ +g[ha>>2];c[ia>>2]=0;c[ia+4>>2]=0;c[ia+8>>2]=0;c[ia+12>>2]=0;f=f+1|0}while((f|0)!=(e|0))}$c(I);e=c[I+928>>2]|0;if(e){ia=c[I+192>>2]|0;D=+Sb[c[(c[ia>>2]|0)+48>>2]&15](ia);F=+g[e+4>>2]-D;E=+g[e+8>>2]-D;g[I+892>>2]=+g[e>>2]-D;g[I+896>>2]=F;g[I+900>>2]=E;g[I+904>>2]=0.0;E=D+ +g[e+20>>2];F=D+ +g[e+24>>2];g[I+908>>2]=D+ +g[e+16>>2];g[I+912>>2]=E;g[I+916>>2]=F;g[I+920>>2]=0.0;e=c[I+188>>2]|0;if(e|0){ia=c[I+684>>2]|0;ha=c[ia+32>>2]|0;yb[c[(c[ha>>2]|0)+16>>2]&31](ha,e,I+892|0,I+908|0,c[ia+36>>2]|0)}}else{c[I+892>>2]=0;c[I+892+4>>2]=0;c[I+892+8>>2]=0;c[I+892+12>>2]=0;c[I+892+16>>2]=0;c[I+892+20>>2]=0;c[I+892+24>>2]=0;c[I+892+28>>2]=0}e=c[I+712>>2]|0;if((e|0)>0){f=0;do{ha=c[I+720>>2]|0;E=+g[I+464>>2];C=+g[ha+(f*104|0)+8>>2];F=+g[ha+(f*104|0)+12>>2];D=+g[ha+(f*104|0)+16>>2];g[ga+192>>2]=C-E;g[ga+192+4>>2]=F-E;g[ga+192+8>>2]=D-E;g[ga+192+12>>2]=0.0;g[ga+192+16>>2]=E+C;g[ga+192+20>>2]=E+F;g[ga+192+24>>2]=E+D;g[ga+192+28>>2]=0.0;ia=c[ha+(f*104|0)+96>>2]|0;D=+g[I+460>>2];E=D*+g[ha+(f*104|0)+44>>2];F=D*+g[ha+(f*104|0)+48>>2];g[ga+176>>2]=+g[ha+(f*104|0)+40>>2]*D;g[ga+176+4>>2]=E;g[ga+176+8>>2]=F;g[ga+176+12>>2]=0.0;jh(I+928|0,ia,ga+192|0,ga+176|0,+g[I+468>>2])|0;f=f+1|0}while((f|0)!=(e|0))}if(c[I+988>>2]|0?(c[I+752>>2]|0)>0:0){e=0;do{ia=c[I+760>>2]|0;G=c[ia+(e*44|0)+8>>2]|0;H=c[ia+(e*44|0)+12>>2]|0;ha=c[ia+(e*44|0)+16>>2]|0;C=(+g[G+40>>2]+ +g[H+40>>2]+ +g[ha+40>>2])*.3333333432674408;D=(+g[G+44>>2]+ +g[H+44>>2]+ +g[ha+44>>2])*.3333333432674408;E=(+g[G+48>>2]+ +g[H+48>>2]+ +g[ha+48>>2])*.3333333432674408;x=+g[I+464>>2];u=+g[G+8>>2];w=+g[G+12>>2];A=+g[G+16>>2];F=+g[G+20>>2];B=+g[H+8>>2];p=B<u?B:u;z=+g[H+12>>2];q=z<w?z:w;v=+g[H+16>>2];r=v<A?v:A;t=+g[H+20>>2];s=t<F?t:F;u=u<B?B:u;w=w<z?z:w;A=A<v?v:A;F=F<t?t:F;t=+g[ha+8>>2];v=+g[ha+12>>2];z=+g[ha+16>>2];B=+g[ha+20>>2];g[ga+192>>2]=(t<p?t:p)-x;g[ga+192+4>>2]=(v<q?v:q)-x;g[ga+192+8>>2]=(z<r?z:r)-x;g[ga+192+12>>2]=B<s?B:s;g[ga+192+16>>2]=x+(u<t?t:u);g[ga+192+20>>2]=x+(w<v?v:w);g[ga+192+24>>2]=x+(A<z?z:A);g[ga+192+28>>2]=F<B?B:F;ia=c[ia+(e*44|0)+40>>2]|0;F=+g[I+460>>2];g[ga+160>>2]=C*F;g[ga+160+4>>2]=D*F;g[ga+160+8>>2]=E*F;g[ga+160+12>>2]=0.0;jh(I+988|0,ia,ga+192|0,ga+160|0,+g[I+468>>2])|0;e=e+1|0}while((e|0)<(c[I+752>>2]|0))}do if(a[I+473>>0]|0){y=c[I+712>>2]|0;if((y|0)>0){e=c[I+720>>2]|0;f=c[I+512>>2]|0;j=0.0;l=0.0;m=0.0;h=0;do{F=+g[f+(h<<2)>>2];j=j+ +g[e+(h*104|0)+8>>2]*F;l=l+F*+g[e+(h*104|0)+12>>2];m=m+F*+g[e+(h*104|0)+16>>2];h=h+1|0}while((h|0)!=(y|0))}else{j=0.0;l=0.0;m=0.0}g[I+520>>2]=j;g[I+524>>2]=l;g[I+528>>2]=m;g[I+532>>2]=0.0;h=ga+320|0;n=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));g[ga+320>>2]=1.1920928955078125e-07;g[ga+320+20>>2]=2.384185791015625e-07;g[ga+320+40>>2]=3.5762786865234375e-07;if((y|0)>0){e=c[I+512>>2]|0;f=c[I+720>>2]|0;h=c[I+492>>2]|0;o=1.1920928955078125e-07;p=+g[ga+320+4>>2];q=+g[ga+320+8>>2];r=+g[ga+320+16>>2];s=2.384185791015625e-07;t=+g[ga+320+24>>2];u=0.0;v=0.0;w=3.5762786865234375e-07;n=0;do{E=+g[e+(n<<2)>>2];A=(+g[f+(n*104|0)+8>>2]-j)*E;B=(+g[f+(n*104|0)+12>>2]-l)*E;E=E*(+g[f+(n*104|0)+16>>2]-m);C=+g[h+(n<<4)>>2];D=+g[h+(n<<4)+4>>2];F=+g[h+(n<<4)+8>>2];o=A*C+o;p=A*D+p;q=A*F+q;r=B*C+r;s=B*D+s;t=B*F+t;u=E*C+u;v=E*D+v;w=E*F+w;n=n+1|0}while((n|0)!=(y|0));g[ga+320>>2]=o;g[ga+320+4>>2]=p;g[ga+320+8>>2]=q;g[ga+320+16>>2]=r;g[ga+320+20>>2]=s;g[ga+320+24>>2]=t;g[ga+320+32>>2]=u;g[ga+320+36>>2]=v;g[ga+320+40>>2]=w}if((a[22520]|0)==0?Wa(22520)|0:0){g[5787]=9.999999747378752e-05;c[5788]=16;_a(22520)}md(ga+320|0,ga+272|0,ga+224|0);c[I+536>>2]=c[ga+272>>2];c[I+536+4>>2]=c[ga+272+4>>2];c[I+536+8>>2]=c[ga+272+8>>2];c[I+536+12>>2]=c[ga+272+12>>2];c[I+552>>2]=c[V>>2];c[I+552+4>>2]=c[V+4>>2];c[I+552+8>>2]=c[V+8>>2];c[I+552+12>>2]=c[V+12>>2];c[I+568>>2]=c[W>>2];c[I+568+4>>2]=c[W+4>>2];c[I+568+8>>2]=c[W+8>>2];c[I+568+12>>2]=c[W+12>>2];la=+g[ga+272>>2];w=+g[V>>2];B=+g[W>>2];ka=+g[ga+272+4>>2];x=+g[ga+272+20>>2];D=+g[ga+272+36>>2];ja=+g[ga+272+8>>2];z=+g[ga+272+24>>2];F=+g[ga+272+40>>2];p=+g[I+632>>2];o=+g[I+636>>2];m=+g[I+640>>2];ra=+g[I+648>>2];qa=+g[I+652>>2];q=+g[I+656>>2];C=+g[I+664>>2];E=+g[I+668>>2];u=+g[I+672>>2];pa=+g[ga+320>>2];oa=+g[ga+320+16>>2];r=+g[ga+320+32>>2];j=(la*p+ka*o+ja*m)*pa+(w*p+x*o+z*m)*oa+(B*p+D*o+F*m)*r;na=+g[ga+320+4>>2];ma=+g[ga+320+20>>2];s=+g[ga+320+36>>2];l=(la*p+ka*o+ja*m)*na+(w*p+x*o+z*m)*ma+(B*p+D*o+F*m)*s;v=+g[ga+320+8>>2];A=+g[ga+320+24>>2];t=+g[ga+320+40>>2];m=(la*p+ka*o+ja*m)*v+(w*p+x*o+z*m)*A+(B*p+D*o+F*m)*t;o=(la*ra+ka*qa+ja*q)*pa+(w*ra+x*qa+z*q)*oa+(B*ra+D*qa+F*q)*r;p=(la*ra+ka*qa+ja*q)*na+(w*ra+x*qa+z*q)*ma+(B*ra+D*qa+F*q)*s;q=(la*ra+ka*qa+ja*q)*v+(w*ra+x*qa+z*q)*A+(B*ra+D*qa+F*q)*t;r=pa*(la*C+ka*E+ja*u)+oa*(w*C+x*E+z*u)+(B*C+D*E+F*u)*r;s=(la*C+ka*E+ja*u)*na+(w*C+x*E+z*u)*ma+(B*C+D*E+F*u)*s;t=(la*C+ka*E+ja*u)*v+(w*C+x*E+z*u)*A+(B*C+D*E+F*u)*t;g[I+584>>2]=j;g[I+588>>2]=l;g[I+592>>2]=m;g[I+596>>2]=0.0;g[I+600>>2]=o;g[I+604>>2]=p;g[I+608>>2]=q;g[I+612>>2]=0.0;g[I+616>>2]=r;g[I+620>>2]=s;g[I+624>>2]=t;g[I+628>>2]=0.0;u=+g[I+364>>2];if(u>1.0){ra=1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)))<1.0?1.0:u<1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)))?u:1.0/(m*(s*o-p*r)+(j*(p*t-q*s)+l*(q*r-t*o)));g[I+584>>2]=j*ra;g[I+588>>2]=l*ra;g[I+592>>2]=m*ra;g[I+596>>2]=0.0;g[I+600>>2]=o*ra;g[I+604>>2]=p*ra;g[I+608>>2]=q*ra;g[I+612>>2]=0.0;g[I+616>>2]=r*ra;g[I+620>>2]=s*ra;g[I+624>>2]=ra*t;g[I+628>>2]=0.0}if(a[I+473>>0]|0){if(!(+g[I+320>>2]>0.0))break;j=+g[I+536>>2];l=+g[I+540>>2];m=+g[I+544>>2];o=+g[I+552>>2];p=+g[I+556>>2];q=+g[I+560>>2];r=+g[I+568>>2];s=+g[I+572>>2];t=+g[I+576>>2];e=c[I+712>>2]|0;if((e|0)<=0)break;h=0;do{f=c[I+720>>2]|0;if(+g[f+(h*104|0)+88>>2]>0.0){H=c[I+492>>2]|0;ma=+g[H+(h<<4)>>2];na=+g[H+(h<<4)+4>>2];oa=+g[H+(h<<4)+8>>2];la=+g[I+320>>2];H=f+(h*104|0)+8|0;pa=+g[H>>2];ha=f+(h*104|0)+12|0;qa=+g[ha>>2];ia=f+(h*104|0)+16|0;ra=+g[ia>>2];qa=qa+la*(o*ma+p*na+q*oa+ +g[I+524>>2]-qa);ra=ra+la*(r*ma+s*na+t*oa+ +g[I+528>>2]-ra);g[H>>2]=pa+la*(+g[I+520>>2]+(j*ma+l*na+m*oa)-pa);g[ha>>2]=qa;g[ia>>2]=ra;g[f+(h*104|0)+20>>2]=0.0}h=h+1|0}while((h|0)!=(e|0))}}while(0);h=ga+56|0;n=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+812>>2]|0;if((e|0)<0){if((c[I+816>>2]|0)<0){f=c[I+820>>2]|0;if(f|0){if(a[I+824>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[I+820>>2]=0}a[I+824>>0]=1;c[I+820>>2]=0;c[I+816>>2]=0}do{ia=c[I+820>>2]|0;ha=ia+(e*104|0)|0;c[ha>>2]=c[ga+56>>2];c[ha+4>>2]=c[ga+56+4>>2];c[ha+8>>2]=c[ga+56+8>>2];c[ha+12>>2]=c[ga+56+12>>2];c[ha+16>>2]=c[ga+56+16>>2];c[ha+20>>2]=c[ga+56+20>>2];c[ha+24>>2]=c[ga+56+24>>2];ha=ia+(e*104|0)+28|0;c[ha>>2]=c[ga+56+28>>2];c[ha+4>>2]=c[ga+56+28+4>>2];c[ha+8>>2]=c[ga+56+28+8>>2];c[ha+12>>2]=c[ga+56+28+12>>2];ha=ia+(e*104|0)+44|0;c[ha>>2]=c[ga+56+44>>2];c[ha+4>>2]=c[ga+56+44+4>>2];c[ha+8>>2]=c[ga+56+44+8>>2];c[ha+12>>2]=c[ga+56+44+12>>2];ha=ia+(e*104|0)+60|0;c[ha>>2]=c[ga+56+60>>2];c[ha+4>>2]=c[ga+56+60+4>>2];c[ha+8>>2]=c[ga+56+60+8>>2];c[ha+12>>2]=c[ga+56+60+12>>2];ia=ia+(e*104|0)+76|0;c[ia>>2]=c[K>>2];c[ia+4>>2]=c[K+4>>2];c[ia+8>>2]=c[K+8>>2];c[ia+12>>2]=c[K+12>>2];c[ia+16>>2]=c[K+16>>2];c[ia+20>>2]=c[K+20>>2];c[ia+24>>2]=c[K+24>>2];e=e+1|0}while((e|0)!=0)}c[I+812>>2]=0;h=ga;n=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0));e=c[I+832>>2]|0;if((e|0)<0){if((c[I+836>>2]|0)<0){f=c[I+840>>2]|0;if(f|0){if(a[I+844>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0)}c[I+840>>2]=0}a[I+844>>0]=1;c[I+840>>2]=0;c[I+836>>2]=0}do{h=(c[I+840>>2]|0)+(e*56|0)|0;f=ga;n=h+56|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(n|0));e=e+1|0}while((e|0)!=0)}c[I+832>>2]=0;ig(I+928|0,1);ig(I+988|0,1);ig(I+1048|0,1);e=c[b+24>>2]|0}}J=J+1|0}while((J|0)<(e|0));i=ga;return}
15function Wj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=3640;a[b+8>>0]=g&1;c[b+12>>2]=3668;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;if(g){c[b+16>>2]=c[f+8>>2];d=e;d=d+8|0;d=c[d>>2]|0;g=b+20|0;c[g>>2]=d;cg(b+12|0);return}else{c[b+16>>2]=c[e+8>>2];d=f;d=d+8|0;d=c[d>>2]|0;g=b+20|0;c[g>>2]=d;cg(b+12|0);return}}function Xj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+396>>2];m=+g[a+8>>2];e=+g[a+400>>2];l=+g[a+12>>2];c=+g[a+404>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+264>>2]=n*h*n+m*e*m+l*c*l;g[a+268>>2]=n*h*k+m*e*j+l*c*i;g[a+272>>2]=n*h*f+m*e*d+l*c*b;g[a+276>>2]=0.0;g[a+280>>2]=h*k*n+e*j*m+c*i*l;g[a+284>>2]=h*k*k+e*j*j+c*i*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=h*f*n+e*d*m+c*b*l;g[a+300>>2]=h*f*k+e*d*j+c*b*i;g[a+304>>2]=h*f*f+e*d*d+c*b*b;g[a+308>>2]=0.0;return}function Yj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+kj(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;f=+g[b+692>>2];do if(f>=0.0){e=+eh(e-+g[b+688>>2],6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-f){a[b+716>>0]=1;g[b+708>>2]=-(e+f);g[b+712>>2]=1.0;break}if(e>f){a[b+716>>0]=1;g[b+708>>2]=f-e;g[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function Zj(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0;c[6435]=(c[6435]|0)+1;f=yc(203)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=4872;h=f+60|0;a[f+144>>0]=1;c[f+140>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;c[f+176>>2]=1;g[f+56>>2]=.019999999552965164;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[f+170>>0]=1;c[f+8>>2]=b;g[f+52>>2]=e;g[f+48>>2]=0.0;c[f+12>>2]=d;a[f+171>>0]=1;g[f+172>>2]=0.0;g[f+16>>2]=0.0;g[f+20>>2]=0.0;g[f+44>>2]=29.399999618530273;g[f+24>>2]=55.0;g[f+28>>2]=10.0;a[f+168>>0]=0;a[f+169>>0]=0;a[f+180>>0]=1;g[f+36>>2]=.7853981852531433;g[f+40>>2]=.7071067690849304;g[f+108>>2]=0.0;a[f+181>>0]=0;a[f+182>>0]=0;return f|0}function _j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=5632;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=Eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;ic[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;ic[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function $j(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[f+216>>2]|0){case 2:case 5:break;default:if(!(c[f+504>>2]&1)){e=+g[f+344>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=j;g[f+372>>2]=i;g[f+376>>2]=0.0}c[f+380>>2]=c[b>>2];c[f+380+4>>2]=c[b+4>>2];c[f+380+8>>2]=c[b+8>>2];c[f+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(379)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4544;d=h+300|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=h+316|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function bk(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;f=i;i=i+496|0;e=c[b+212>>2]|0;if((e|0)>-1){a=e;i=f;return a|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+g[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;Qn(f+244|0,0,244)|0;Me(Ff(a+4|0,f+244|0)|0,b,d);c[b+212>>2]=h;i=f;return h|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){h=e;i=f;return h|0}c[a+188>>2]=c[a+8>>2];Qn(f|0,0,244)|0;Me(Ff(a+4|0,f)|0,0,d);h=c[a+188>>2]|0;i=f;return h|0}function ck(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+344>>2]=h;j=+g[a+384>>2]*b;i=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=j;g[a+372>>2]=i;g[a+376>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[k>>2]=1.0/b,c[k>>2]|0):0;c[a+396>>2]=f;c[a+400>>2]=e;c[a+404>>2]=d;g[a+408>>2]=0.0;i=h*+g[a+352>>2];j=h*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=i;g[a+568>>2]=j;g[a+572>>2]=0.0;return}function dk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;c[6435]=(c[6435]|0)+1;i=yc(1407)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}Le(i,b,d,e,f,h);c[i>>2]=4484;c[i+4>>2]=9;a[i+1309>>0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1310>>0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1311>>0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1312>>0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;a[i+1313>>0]=0;g[i+1332>>2]=0.0;g[i+1356>>2]=0.0;g[i+1380>>2]=1.0;a[i+1314>>0]=0;g[i+1336>>2]=0.0;g[i+1360>>2]=0.0;g[i+1384>>2]=1.0;return i|0}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=e|0?e<<1:1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6435]=(c[6435]|0)+1;e=yc((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+280>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+288>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+288>>2]|0;if(f){if(a[b+292>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[f+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function fk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0;e=i;i=i+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;mc[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+j*j);g[d+4>>2]=b/12.0*(h*h+j*j);g[d+8>>2]=b/12.0*(h*h+f*f);i=e;return}function gk(){var a=0,b=0,d=0,e=0;e=i;i=i+48|0;if(kb(26248,3)|0)ej(21924,e);a=hb(c[6563]|0)|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=c[d+48>>2]|0;b=c[d+48+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e+32>>2]=22103;ej(22198,e+32|0)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+44>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Ql(2736,d,e+44|0)|0){d=c[e+44>>2]|0;d=Eb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e+8>>2]=22103;c[e+8+4>>2]=a;c[e+8+8>>2]=d;ej(22112,e+8|0)}else{c[e+24>>2]=22103;c[e+24+4>>2]=a;ej(22157,e+24|0)}}ej(22236,e+40|0)}function hk(b){b=b|0;var d=0,e=0,f=0;while(1){f=yc(5260)|0;if(f|0)break;d=c[6564]|0;c[6564]=d+0;if(!d){e=5;break}jc[d&3]()}if((e|0)==5){f=Ya(4)|0;c[f>>2]=9640;pb(f|0,2800,251)}c[f>>2]=5132;c[f+4>>2]=2;a[f+24>>0]=1;c[f+20>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+28>>2]=5604;c[f+5256>>2]=b;c[f+60>>2]=79;c[f+64>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[f+68>>2]=Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0;d=0;do{b=0;do{e=c[f+5256>>2]|0;c[f+72+(d*144|0)+(b<<2)>>2]=Ob[c[(c[e>>2]|0)+16>>2]&63](e,d,b)|0;b=b+1|0}while((b|0)<36);d=d+1|0}while((d|0)<36);return f|0}function ik(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;if(b>=c)return +a;if(a<b){d=+eh(b-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+N(+d);d=+eh(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=e<+N(+d);a=f?a:a+6.2831854820251465;return +a}if(!(a>c))return +a;d=+eh(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+N(+d);d=+eh(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;f=+N(+d)<e;a=f?a+-6.2831854820251465:a;return +a}function jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;ic[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+Sb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}j=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];l=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:j;k=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+O(+(f*f+(l*l+k*k)));j=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+j*h*l;g[a+4>>2]=j*h*k+ +g[a+4>>2];g[a+8>>2]=j*h*f+ +g[a+8>>2];i=e;return}function kk(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];e=+eh(b-h,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){b=+eh(f+h,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}else{b=+eh(h-f,6.2831854820251465);if(b<-3.1415927410125732){b=b+6.2831854820251465;break}if(!(b>3.1415927410125732))break;b=b+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+kj(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+96>>2]|0;if((k|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+12>>2];p=+g[d>>2]*o;l=+g[b+16>>2];m=+g[d+4>>2]*l;n=+g[b+20>>2];j=+g[d+8>>2]*n;d=c[b+104>>2]|0;f=0;h=-3402823466385288598117041.0e14;i=-1;while(1){e=p*+g[d+(f<<4)>>2]+m*+g[d+(f<<4)+4>>2]+j*+g[d+(f<<4)+8>>2];b=e>h;i=b?f:i;f=f+1|0;if((f|0)==(k|0))break;else h=b?e:h}m=+g[d+(i<<4)+4>>2]*l;p=+g[d+(i<<4)+8>>2]*n;g[a>>2]=+g[d+(i<<4)>>2]*o;g[a+4>>2]=m;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function nk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)==(c[d+8>>2]|0)){g=c[d+16>>2]|0;if(!g){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((g|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}else{g=c[b+12>>2]|0;no(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{no(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}while(0);return}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6166]=(c[6166]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;e=c[(e?b:d)+12>>2]|0;b=((e<<16|f)+~((e<<16|f)<<15)>>10^(e<<16|f)+~((e<<16|f)<<15))*9|0;b=((b>>6^b)+~((b>>6^b)<<11)>>16^(b>>6^b)+~((b>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){g=0;return g|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[d+(b<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;g=8;break}}if((g|0)==8)return b|0;g=d+(b<<4)|0;return g|0}function pk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(1407)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}qe(f,b,d,e);c[f>>2]=4484;c[f+4>>2]=9;a[f+1309>>0]=0;g[f+1316>>2]=0.0;g[f+1340>>2]=0.0;g[f+1364>>2]=1.0;a[f+1310>>0]=0;g[f+1320>>2]=0.0;g[f+1344>>2]=0.0;g[f+1368>>2]=1.0;a[f+1311>>0]=0;g[f+1324>>2]=0.0;g[f+1348>>2]=0.0;g[f+1372>>2]=1.0;a[f+1312>>0]=0;g[f+1328>>2]=0.0;g[f+1352>>2]=0.0;g[f+1376>>2]=1.0;a[f+1313>>0]=0;g[f+1332>>2]=0.0;g[f+1356>>2]=0.0;g[f+1380>>2]=1.0;a[f+1314>>0]=0;g[f+1336>>2]=0.0;g[f+1360>>2]=0.0;g[f+1384>>2]=1.0;return f|0}function qk(b){b=b|0;var d=0;c[b>>2]=3872;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+452>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Sg(b);return}if(a[b+340>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Sg(b);return}function rk(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=i;i=i+16|0;li(12327);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;kc[c[(c[f>>2]|0)+8>>2]&7](f,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[2357]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f|0){i=e;return}do if(c[d+4>>2]|0){tb(e|0,0)|0;f=c[6434]|0;g[d+8>>2]=+g[d+8>>2]+ +(((c[e+4>>2]|0)-(c[f+4>>2]|0)+(((c[e>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2357]|0;break}else{i=e;return}}while(0);c[2357]=c[d+20>>2];i=e;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);return c[b>>2]|0}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0;f=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];switch(d|0){case 0:{c[b>>2]=1065353216;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 1:{c[b>>2]=-1082130432;c[b+4>>2]=0;c[b+8>>2]=0;g[b+12>>2]=-f;return}case 2:{c[b>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;g[b+12>>2]=-h;return}case 3:{c[b>>2]=0;c[b+4>>2]=-1082130432;c[b+8>>2]=0;g[b+12>>2]=-h;return}case 4:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;g[b+12>>2]=-e;return}case 5:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1082130432;g[b+12>>2]=-e;return}default:return}}function uk(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;h=i;i=i+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];j=+g[b+8>>2];l=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*j;k=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=l;g[h+12>>2]=k;g[h+16>>2]=j;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+_b[c[(c[f>>2]|0)+12>>2]&15](f,h,1);i=h;return +d}function vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,l=0.0,m=0,n=0;f=i;i=i+48|0;ic[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);n=c[f+32>>2]|0;m=c[f+32+4>>2]|0;e=c[f+32+8>>2]|0;c[b>>2]=n;c[b+4>>2]=m;c[b+8>>2]=e;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;l=-(c[k>>2]=n,+g[k>>2]);j=-(c[k>>2]=m,+g[k>>2]);h=-(c[k>>2]=e,+g[k>>2]);g[f>>2]=l;g[f+4>>2]=j;g[f+8>>2]=h;g[f+12>>2]=0.0;ic[b&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];i=f;return}function wk(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+868+(e+-3<<6)+36>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+868+(e+-3<<6)+28>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}}function xk(b){b=b|0;var d=0;c[b>>2]=4356;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function yk(b){b=b|0;var d=0;c[b>>2]=8724;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function zk(b){b=b|0;var d=0;c[b>>2]=5456;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function Ak(b){b=b|0;var d=0;c[b>>2]=9324;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Bk(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0;j=i;i=i+64|0;c[j+48>>2]=f;c[j+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){i=j;return +e}c[j>>2]=c[a+216>>2];c[j+4>>2]=j+48;c[j+8>>2]=c[b>>2];c[j+8+4>>2]=c[b+4>>2];c[j+8+8>>2]=c[b+8>>2];c[j+8+12>>2]=c[b+12>>2];c[j+24>>2]=c[d>>2];c[j+24+4>>2]=c[d+4>>2];c[j+24+8>>2]=c[d+8>>2];c[j+24+12>>2]=c[d+12>>2];g[j+40>>2]=e;e=+_b[c[(c[f>>2]|0)+12>>2]&15](f,j,0);i=j;return +e}function Ck(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0;j=i;i=i+64|0;c[j+48>>2]=f;c[j+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){i=j;return +e}c[j>>2]=c[a+216>>2];c[j+4>>2]=j+48;c[j+8>>2]=c[b>>2];c[j+8+4>>2]=c[b+4>>2];c[j+8+8>>2]=c[b+8>>2];c[j+8+12>>2]=c[b+12>>2];c[j+24>>2]=c[d>>2];c[j+24+4>>2]=c[d+4>>2];c[j+24+8>>2]=c[d+8>>2];c[j+24+12>>2]=c[d+12>>2];g[j+40>>2]=e;e=+_b[c[(c[f>>2]|0)+12>>2]&15](f,j,1);i=j;return +e}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0,l=0;h=+g[b+60>>2]*.5;l=c[b+68>>2]|0;e=+g[d>>2];f=+g[d+4>>2];j=+g[d+8>>2];j=+O(+(e*e+f*f+j*j));i=c[b+64>>2]|0;if(+g[d+(l<<2)>>2]>j*+g[b+52>>2]){g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=h;g[a+(c[b+72>>2]<<2)>>2]=0.0;return}j=+g[d+(i<<2)>>2];k=c[b+72>>2]|0;e=+g[d+(k<<2)>>2];f=+O(+(j*j+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(i<<2)>>2]=j*f;g[a+(l<<2)>>2]=-h;g[a+(k<<2)>>2]=e*f;return}else{g[a+(i<<2)>>2]=0.0;g[a+(l<<2)>>2]=-h;g[a+(k<<2)>>2]=0.0;return}}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(Fo(e)|0)){g=c[e+16>>2]|0;h=5}}else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0<d>>>0){Ob[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){h=d;while(1){if(!h){g=d;break b}g=h+-1|0;if((a[b+g>>0]|0)==10)break;else h=g}if((Ob[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0)break a;g=d-h|0;b=b+h|0;f=c[e+20>>2]|0}else g=d;while(0);_m(f|0,b|0,g|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+g}while(0);return}function Fk(b){b=b|0;var d=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;ic[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];j=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];l=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:j;k=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:h;f=j*j+h*h+f*f<1.4210854715202004e-14?-1.0:f;h=1.0/+O(+(f*f+(l*l+k*k)));j=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+j*h*l;g[a+4>>2]=j*h*k+ +g[a+4>>2];g[a+8>>2]=j*h*f+ +g[a+8>>2];i=e;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;ic[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;ic[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Ik(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+16>>2]=0.0;g[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;g[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(Eb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Ib[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(Eb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function Jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6138]=(c[6138]|0)+-1;Cb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(_(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;i=c[b+16>>2]|0;j=0;b=0;do{h=c[i+(j<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;e=g+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=g+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=g+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[h+208>>2]=d;c[g+(b<<3)+4>>2]=j;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}j=j+1|0}while((j|0)!=(k|0));return}function Lk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Lk(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;ic[c[(c[b>>2]|0)+8>>2]&127](b,g>>21,g&2097151);return}function Mk(a,d){a=a|0;d=d|0;var e=0,f=0;while(1){e=yc(84)|0;if(e|0){f=6;break}e=c[6564]|0;c[6564]=e+0;if(!e){f=5;break}jc[e&3]()}if((f|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((f|0)==6){g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=2948;c[e+20>>2]=c[a>>2];c[e+20+4>>2]=c[a+4>>2];c[e+20+8>>2]=c[a+8>>2];c[e+20+12>>2]=c[a+12>>2];c[e+36>>2]=c[d>>2];c[e+36+4>>2]=c[d+4>>2];c[e+36+8>>2]=c[d+8>>2];c[e+36+12>>2]=c[d+12>>2];return e|0}return 0}function Nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+56>>2]+m*+g[a+60>>2]+j*+g[a+64>>2];l=n*+g[a+72>>2]+m*+g[a+76>>2]+j*+g[a+80>>2];j=n*+g[a+88>>2]+m*+g[a+92>>2]+j*+g[a+96>>2];h=d+(f<<4)|0;i=a+56+((k<l?(l<j?2:1):k<j?2:0)<<4)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function Ok(a,b){a=a|0;b=+b;var d=0,e=0;d=i;i=i+16|0;hf(a,b);li(11758);a=c[a+452>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&31](a,b);a=c[2357]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){i=d;return}do if(c[a+4>>2]|0){tb(d|0,0)|0;e=c[6434]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2357]|0;break}else{i=d;return}}while(0);c[2357]=c[a+20>>2];i=d;return}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 0:{c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 1:{c[d>>2]=-1082130432;c[d+4>>2]=0;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 2:{c[d>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 3:{c[d>>2]=0;c[d+4>>2]=-1082130432;c[d+8>>2]=0;g[d+12>>2]=0.0;return}case 4:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=1065353216;g[d+12>>2]=0.0;return}case 5:{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=-1082130432;g[d+12>>2]=0.0;return}default:return}}function Qk(b,d){b=b|0;d=d|0;a[b+148>>0]=0;if((((ke(b,d)|0?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)?(a[b+148>>0]=1,ke(b,d)|0):0)a[b+148>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[d>>2];c[b+92+4>>2]=c[d+4>>2];c[b+92+8>>2]=c[d+8>>2];c[b+92+12>>2]=c[d+12>>2];Bp(b+112|0,d|0,16)|0;return}function Rk(a,d){a=a|0;d=d|0;var e=0,f=0;while(1){e=yc(80)|0;if(e|0){f=6;break}e=c[6564]|0;c[6564]=e+0;if(!e){f=5;break}jc[e&3]()}if((f|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((f|0)==6){g[e+4>>2]=1.0;b[e+8>>1]=1;b[e+10>>1]=-1;c[e>>2]=2872;c[e+12>>2]=c[a>>2];c[e+12+4>>2]=c[a+4>>2];c[e+12+8>>2]=c[a+8>>2];c[e+12+12>>2]=c[a+12>>2];c[e+28>>2]=c[d>>2];c[e+28+4>>2]=c[d+4>>2];c[e+28+8>>2]=c[d+8>>2];c[e+28+12>>2]=c[d+12>>2];c[e+76>>2]=0;return e|0}return 0}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+56>>2];k=+g[a+72>>2]-h;j=+g[a+60>>2];i=+g[a+76>>2]-j;l=+g[a+64>>2];m=+g[a+80>>2]-l;h=+g[a+88>>2]-h;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[d+12>>2]=0.0;f=1.0/+O(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function Tk(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;dh(d,b,a+68|0);c[a+4>>2]=c[d>>2];c[a+4+4>>2]=c[d+4>>2];c[a+4+8>>2]=c[d+8>>2];c[a+4+12>>2]=c[d+12>>2];c[a+20>>2]=c[d+16>>2];c[a+20+4>>2]=c[d+16+4>>2];c[a+20+8>>2]=c[d+16+8>>2];c[a+20+12>>2]=c[d+16+12>>2];c[a+36>>2]=c[d+32>>2];c[a+36+4>>2]=c[d+32+4>>2];c[a+36+8>>2]=c[d+32+8>>2];c[a+36+12>>2]=c[d+32+12>>2];c[a+52>>2]=c[d+48>>2];c[a+52+4>>2]=c[d+48+4>>2];c[a+52+8>>2]=c[d+48+8>>2];c[a+52+12>>2]=c[d+48+12>>2];i=d;return}function Uk(b){b=b|0;var d=0;if(!b)return;d=c[b+156>>2]|0;if(d|0){if(!((a[b+160>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(!((a[b+140>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(!((a[b+120>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;hd(b);return}function Vk(){var b=0,d=0;while(1){b=yc(100)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){g[b>>2]=1.2000000476837158;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=1.0e3;c[b+16>>2]=0;c[b+16+4>>2]=0;c[b+16+8>>2]=0;c[b+16+12>>2]=0;c[b+16+16>>2]=0;c[b+16+20>>2]=0;c[b+16+24>>2]=0;c[b+44>>2]=-1054867456;c[b+48>>2]=0;g[b+52>>2]=0.0;a[b+72>>0]=1;c[b+68>>2]=0;c[b+60>>2]=0;c[b+64>>2]=0;return b|0}return 0}function Wk(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=6164;d=c[b+12>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if(e|0){Ab[c[c[e>>2]>>2]&255](e);e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+60>>2]&127](e,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(d|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;h=+g[a+56>>2];j=+g[a+72>>2]-h;i=+g[a+60>>2];k=+g[a+76>>2]-i;d=+g[a+64>>2];f=+g[a+80>>2]-d;h=+g[a+88>>2]-h;i=+g[a+92>>2]-i;d=+g[a+96>>2]-d;g[c+12>>2]=0.0;e=1.0/+O(+((j*i-k*h)*(j*i-k*h)+((k*d-f*i)*(k*d-f*i)+(f*h-j*d)*(f*h-j*d))));g[c>>2]=(k*d-f*i)*e;g[c+4>>2]=(f*h-j*d)*e;g[c+8>>2]=(j*i-k*h)*e;if(!b)return;g[c>>2]=-((k*d-f*i)*e);g[c+4>>2]=-((f*h-j*d)*e);g[c+8>>2]=-((j*i-k*h)*e);return}function Yk(b,d){b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(115)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;g[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=7692;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;vj(e);return e|0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=c[a+720>>2]|0;h=c[a+752>>2]|0;if((h|0)<=0){e=0;return e|0}a=c[a+760>>2]|0;f=0;while(1){i=c[a+(f*44|0)+8>>2]|0;if(((i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))?(i=c[a+(f*44|0)+12>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0)?(i=c[a+(f*44|0)+16>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0){a=1;f=7;break}f=f+1|0;if((f|0)>=(h|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;d=+g[a+348>>2];f=+g[a+352>>2];h=+g[b+4>>2]*f;i=+g[a+356>>2];j=+g[b+8>>2]*i;g[a+412>>2]=+g[a+412>>2]+ +g[b>>2]*d;g[a+416>>2]=+g[a+416>>2]+h;g[a+420>>2]=+g[a+420>>2]+j;d=+g[b>>2]*d;f=+g[b+4>>2]*f;i=+g[b+8>>2]*i;j=+g[c+4>>2];h=+g[c+8>>2];k=+g[c>>2];e=(h*d-k*i)*+g[a+548>>2];d=(k*f-j*d)*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+(j*i-h*f)*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+e;g[a+436>>2]=+g[a+436>>2]+d;return}function $k(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}if((h-d)*d+(i-e)*e+(j-f)*f>0.0){g[k>>2]=+O(+(d*d+e*e+f*f));k=1;return k|0}if((h-d)*h+(i-e)*i+(j-f)*j<0.0){g[k>>2]=+O(+(h*h+i*i+j*j));k=1;return k|0}else{c=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));g[k>>2]=+O(+(c>0.0?c:0.0));k=1;return k|0}return 0}function al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0;while(1){h=yc(44)|0;if(h|0){i=6;break}h=c[6564]|0;c[6564]=h+0;if(!h){i=5;break}jc[h&3]()}if((i|0)==5){e=Ya(4)|0;c[e>>2]=9640;pb(e|0,2800,251)}else if((i|0)==6){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=c[d>>2];c[h+8+4>>2]=c[d+4>>2];c[h+8+8>>2]=c[d+8>>2];c[h+8+12>>2]=c[d+12>>2];c[h+24>>2]=c[e>>2];c[h+24+4>>2]=c[e+4>>2];c[h+24+8>>2]=c[e+8>>2];c[h+24+12>>2]=c[e+12>>2];g[h+40>>2]=f;return h|0}return 0}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+16>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+20>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+12>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,j=0;e=i;i=i+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){a=0;i=e;return a|0}b=c[b>>2]|0;if(!(Zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;i=e;return a|0}h=c[a+192>>2]|0;j=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=j;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Ic(h,a+36|0,a+100|0,e,d,f);a=1;i=e;return a|0}function dl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];a=c[a+8>>2]|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=1065353216;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a+24>>2]=1065353216;c[a+28>>2]=0;c[a+28+4>>2]=0;c[a+28+8>>2]=0;c[a+28+12>>2]=0;c[a+44>>2]=1065353216;c[a+48>>2]=0;c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];i=d;return}function el(b){b=b|0;var d=0,e=0;if((a[22480]|0)==0?Wa(22480)|0:0){g[5730]=.6000000238418579;g[5731]=1.0;g[5732]=.30000001192092896;g[5733]=.01666666753590107;g[5734]=0.0;g[5736]=20.0;c[5735]=10;g[5738]=.20000000298023224;g[5739]=.800000011920929;g[5740]=0.0;g[5737]=1.0;c[5741]=1;g[5742]=-.03999999910593033;g[5743]=.10000000149011612;g[5744]=0.0;g[5745]=.8500000238418579;c[5746]=260;c[5747]=2;c[5748]=128;g[5749]=100.0;g[5750]=1000000015047466219876688.0e6;_a(22480)}e=22920;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22920}function fl(b){b=b|0;var d=0,e=0;if((a[22440]|0)==0?Wa(22440)|0:0){g[5673]=.6000000238418579;g[5674]=1.0;g[5675]=.30000001192092896;g[5676]=.01666666753590107;g[5677]=0.0;g[5679]=20.0;c[5678]=10;g[5681]=.20000000298023224;g[5682]=.800000011920929;g[5683]=0.0;g[5680]=1.0;c[5684]=1;g[5685]=-.03999999910593033;g[5686]=.10000000149011612;g[5687]=0.0;g[5688]=.8500000238418579;c[5689]=260;c[5690]=2;c[5691]=128;g[5692]=100.0;g[5693]=1000000015047466219876688.0e6;_a(22440)}e=22692;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22692}function gl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;li(14499);d=c[a+68>>2]|0;Cb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[2357]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){i=b;return}do if(c[a+4>>2]|0){tb(b|0,0)|0;d=c[6434]|0;g[a+8>>2]=+g[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2357]|0;break}else{i=b;return}}while(0);c[2357]=c[a+20>>2];i=b;return}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{f=0;b=1;break}case 1:{f=0;b=2;break}case 2:{f=1;b=3;break}case 3:{f=2;break}case 4:{f=0;break}case 5:{f=1;break}case 6:{f=2;break}case 7:{f=3;break}case 8:{f=4;b=5;break}case 9:{f=4;b=6;break}case 10:{f=5;b=7;break}case 11:{f=6;b=7;break}default:{f=0;b=0}}while(0);ic[c[(c[a>>2]|0)+108>>2]&127](a,f,d);ic[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function il(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);d=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+28>>2])/+g[a+12>>2];j=(h+ +g[a+32>>2])/+g[a+16>>2];f=(d+ +g[a+36>>2])/+g[a+20>>2];l=+N(+(+g[b>>2]));i=+N(+(+g[b+4>>2]));e=+N(+(+g[b+8>>2]));g[a+12>>2]=l;g[a+16>>2]=i;g[a+20>>2]=e;g[a+24>>2]=0.0;g[a+28>>2]=m*l-k;g[a+32>>2]=j*i-h;g[a+36>>2]=f*e-d;g[a+40>>2]=0.0;return}function jl(b){b=b|0;var d=0,e=0;if((a[22424]|0)==0?Wa(22424)|0:0){g[5648]=.6000000238418579;g[5649]=1.0;g[5650]=.30000001192092896;g[5651]=.01666666753590107;g[5652]=0.0;g[5654]=20.0;c[5653]=10;g[5656]=.20000000298023224;g[5657]=.800000011920929;g[5658]=0.0;g[5655]=1.0;c[5659]=1;g[5660]=-.03999999910593033;g[5661]=.10000000149011612;g[5662]=0.0;g[5663]=.8500000238418579;c[5664]=260;c[5665]=2;c[5666]=128;g[5667]=100.0;g[5668]=1000000015047466219876688.0e6;_a(22424)}e=22592;b=b+92|0;d=e+84|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));return 22592}function kl(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;Fc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]<h):0)?+g[b+448>>2]<h:0){c[d>>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function ll(b){b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(115)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;g[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=7692;c[d+92>>2]=b;c[d+4>>2]=3;vj(d);return d|0}function ml(){if(a[22456]|0)return;if(!(Wa(22456)|0))return;if((a[22464]|0)==0?Wa(22464)|0:0){c[5698]=1065353216;c[5699]=0;c[5700]=0;c[5701]=0;c[5702]=0;c[5703]=1065353216;c[5704]=0;c[5705]=0;c[5706]=0;c[5707]=0;c[5708]=1065353216;g[5709]=0.0;_a(22464)}c[5710]=c[5698];c[5711]=c[5699];c[5712]=c[5700];c[5713]=c[5701];c[5714]=c[5702];c[5715]=c[5703];c[5716]=c[5704];c[5717]=c[5705];c[5718]=c[5706];c[5719]=c[5707];c[5720]=c[5708];c[5721]=c[5709];c[5722]=0;c[5723]=0;c[5724]=0;c[5725]=0;_a(22456);return}function nl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;f=c[b+16>>2]|0;e=+g[a+52>>2];d=+Mh(a+4|0,+g[a+36>>2],+g[a+40>>2],+g[a+44>>2],+g[i+8>>2],+g[i+12>>2],+g[i+16>>2],+g[h+8>>2],+g[h+12>>2],+g[h+16>>2],+g[f+8>>2],+g[f+12>>2],+g[f+16>>2],e);if(!(d>0.0&d<e)){i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}g[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function pl(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+20+4>>2]=c[b+16+4>>2];c[a+20+8>>2]=c[b+16+8>>2];c[a+20+12>>2]=c[b+16+12>>2];c[a+36>>2]=c[b+32>>2];c[a+36+4>>2]=c[b+32+4>>2];c[a+36+8>>2]=c[b+32+8>>2];c[a+36+12>>2]=c[b+32+12>>2];c[a+52>>2]=c[b+48>>2];c[a+52+4>>2]=c[b+48+4>>2];c[a+52+8>>2]=c[b+48+8>>2];c[a+52+12>>2]=c[b+48+12>>2];return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Sb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];j=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:h;i=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:f;e=h*h+f*f+e*e<1.4210854715202004e-14?-1.0:e;f=1.0/+O(+(e*e+(j*j+i*i)));h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*f*j;g[a+4>>2]=h*f*i+ +g[a+4>>2];g[a+8>>2]=h*f*e+ +g[a+8>>2];return}function rl(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];j=+g[b+68>>2];i=1.0/+O(+(f*f+h*h+j*j));if(+O(+(j*i*j*i+(f*i*f*i+h*i*h*i)))<1.1920928955078125e-07){k=0.0;h=0.0;f=0.0;d=0}else{k=f*i;h=h*i;f=j*i;d=c[b+72>>2]|0}g[b+76>>2]=k;g[b+80>>2]=h;g[b+84>>2]=f;c[b+88>>2]=d;g[b+172>>2]=+g[b+172>>2]+e;return}function sl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;f=+g[b>>2];d=+g[b+4>>2];j=+g[b+8>>2];h=+g[b+12>>2];e=f*(2.0/(f*f+d*d+j*j+h*h));c=d*(2.0/(f*f+d*d+j*j+h*h));i=j*(2.0/(f*f+d*d+j*j+h*h));g[a>>2]=1.0-(d*c+j*i);g[a+4>>2]=f*c-h*i;g[a+8>>2]=f*i+h*c;g[a+12>>2]=0.0;g[a+16>>2]=f*c+h*i;g[a+20>>2]=1.0-(f*e+j*i);g[a+24>>2]=d*i-h*e;g[a+28>>2]=0.0;g[a+32>>2]=f*i-h*c;g[a+36>>2]=d*i+h*e;g[a+40>>2]=1.0-(f*e+d*c);g[a+44>>2]=0.0;return}function tl(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0;c[6435]=(c[6435]|0)+1;d=yc(103)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=7048;j=+g[a>>2];i=+g[a+4>>2];h=+g[a+8>>2];a=c[a+12>>2]|0;f=1.0/+O(+(j*j+i*i+h*h));g[d+48>>2]=j*f;g[d+52>>2]=i*f;g[d+56>>2]=h*f;c[d+60>>2]=a;g[d+64>>2]=b;a=d+68|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[e>>2]=28;return d|0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17871}function vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17417}function wl(b,d){b=b|0;d=d|0;do if(!b)b=0;else{if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}if(!0)b=25748;else b=c[(ib()|0)+64>>2]|0;c[b>>2]=84;b=-1}while(0);return b|0}function xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 16426}function yl(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+20+4>>2]=c[b+16+4>>2];c[a+20+8>>2]=c[b+16+8>>2];c[a+20+12>>2]=c[b+16+12>>2];c[a+36>>2]=c[b+32>>2];c[a+36+4>>2]=c[b+32+4>>2];c[a+36+8>>2]=c[b+32+8>>2];c[a+36+12>>2]=c[b+32+12>>2];c[a+52>>2]=c[b+48>>2];c[a+52+4>>2]=c[b+48+4>>2];c[a+52+8>>2]=c[b+48+8>>2];c[a+52+12>>2]=c[b+48+12>>2];return}function zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function Al(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0;e=i;i=i+16|0;k=c[a+52>>2]|0;l=c[a+28+(((k+2|0)%3|0)<<2)>>2]|0;c[e>>2]=l;c[e+4>>2]=l;c[e+8>>2]=l;g[e+12>>2]=0.0;g[e+(k<<2)>>2]=+g[a+28+(k<<2)>>2]+ +g[e+(k<<2)>>2];h=(+g[e>>2]+.03999999910593033)*2.0;f=(+g[e+4>>2]+.03999999910593033)*2.0;j=(+g[e+8>>2]+.03999999910593033)*2.0;g[d>>2]=b*.0833333283662796*(f*f+j*j);g[d+4>>2]=b*.0833333283662796*(h*h+j*j);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);i=e;return}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+32>>2];h=+g[a+28>>2];i=b+(m<<4)|0;l=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];k=+O(+(l*l+f*f));if(k!=0.0){j=f*(e/k);f=+g[i>>2]<0.0?-h:h;e=l*(e/k)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0)return;i=c[a+276>>2]|0;f=0;while(1){g=i+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(h|0))return;c[g>>2]=c[i+(h+-1<<2)>>2];c[a+268>>2]=h+-1;k=c[a+284>>2]|0;Ib[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){a=0;i=e;return a|0}b=c[b>>2]|0;if(!(Zb[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){a=1;i=e;return a|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;bd(a+68|0,a+132|0,e,d);a=1;i=e;return a|0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 11212}function Fl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(c[d+28>>2]|0)!=1:0)c[d+28>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Gl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+256|0;do if((d|0)>(e|0)&(f&73728|0)==0){Qn(h|0,b|0,((d-e|0)>>>0>256?256:d-e|0)|0)|0;f=c[a>>2]|0;if((d-e|0)>>>0>255){g=d-e|0;b=f;f=(f&32|0)==0;do{if(f){Ek(h,256,a);b=c[a>>2]|0}g=g+-256|0;f=(b&32|0)==0}while(g>>>0>255);if(f)b=d-e&255;else break}else if(!(f&32))b=d-e|0;else break;Ek(h,b,a)}while(0);i=h;return}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 17117}function Il(){var b=0,d=0.0,e=0.0;b=i;i=i+16|0;if((a[22544]|0)==0?Wa(22544)|0:0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;og(23268,0.0,0,0,b);_a(22544)}c[5868]=c[5868]|1;g[5903]=0.0;d=+g[5913]*0.0;e=+g[5914]*0.0;g[5908]=+g[5912]*0.0;g[5909]=d;g[5910]=e;g[5911]=0.0;c[5916]=0;c[5917]=0;c[5918]=0;c[5919]=0;e=+g[5905]*0.0;d=+g[5906]*0.0;g[5957]=+g[5904]*0.0;g[5958]=e;g[5959]=d;g[5960]=0.0;i=b;return}function Jl(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];i=+g[b+68>>2];h=1.0/+O(+(e*e+f*f+i*i));if(+O(+(i*h*i*h+(e*h*e*h+f*h*f*h)))<1.1920928955078125e-07){j=0.0;f=0.0;e=0.0;d=0}else{j=e*h;f=f*h;e=i*h;d=c[b+72>>2]|0}g[b+76>>2]=j;g[b+80>>2]=f;g[b+84>>2]=e;c[b+88>>2]=d;return}function Kl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+g[a+60>>2]*(+g[b+(j<<2)>>2]/+g[a+12+(j<<2)>>2]);g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+12+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+12+(h<<2)>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+O(+(e*e+f*f));f=+N(+(+g[b>>2]));e=+N(+(+g[b+4>>2]));d=+N(+(+g[b+8>>2]));g[a+12>>2]=f;g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=0.0;return}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+36>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+4>>2];k=+O(+(l*l+f*f));h=+g[b+(m<<4)+8>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=j;g[c+(m<<4)+8>>2]=f;m=m+1|0}while((m|0)!=(d|0));return}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+28>>2];i=+g[a+32>>2];l=+g[b+(m<<4)>>2];f=+g[b+(m<<4)+8>>2];k=+O(+(l*l+f*f));h=+g[b+(m<<4)+4>>2];if(k!=0.0){j=f*(e/k);f=h<0.0?-i:i;e=l*(e/k)}else{j=0.0;f=h<0.0?-i:i}g[c+(m<<4)>>2]=e;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+48|0;c[f+32>>2]=8976;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];bg(c[a+4>>2]|0,f,f+32|0);bg(c[a+64>>2]|0,f,f+32|0);i=f;return}function Ol(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Qb[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}j=b[a+56>>1]|0;if((j&65535)<<1>>>0<=1)return;d=1;h=1;do{i=c[a+68>>2]|0;if(b[i+(d<<2)>>1]&1){Zb[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[i+(d<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}h=h+1<<16>>16;d=h&65535}while(d>>>0<((j&65535)<<1|1)>>>0);return}function Pl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5508;a[b+8>>0]=1;c[b+12>>2]=5536;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Cb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+64|0;if((a|0)!=(b|0))if((b|0)!=0?(f=wj(b,2744)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;mc[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=g;return b|0}function Rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5508;a[b+8>>0]=0;c[b+12>>2]=5536;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;Cb[c[(c[f>>2]|0)+20>>2]&127](f,d);return b|0}function Sl(){var a=0,b=0,d=0;d=i;i=i+32|0;while(1){a=yc(112)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((b|0)==6){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=4096;c[d+12>>2]=4096;c[d+16>>2]=0;c[d+20>>2]=1;qg(a,d);i=d;return a|0}return 0}function Tl(b){b=b|0;var d=0;c[b>>2]=5088;d=c[b+284>>2]|0;Ab[c[c[d>>2]>>2]&255](d);d=c[b+284>>2]|0;if(d|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b>>2]=5044;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5008;return}if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=5008;return}function Ul(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;switch(c[b+216>>2]|0){case 2:case 5:break;default:if(!(c[b+204>>2]&3)){h=+g[b+368>>2]*+g[b+352>>2];f=+g[b+372>>2]*+g[b+356>>2];g[b+412>>2]=+g[b+364>>2]*+g[b+348>>2]+ +g[b+412>>2];g[b+416>>2]=h+ +g[b+416>>2];g[b+420>>2]=f+ +g[b+420>>2]}}d=d+1|0}while((d|0)!=(e|0));return}function Vl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;b=a[b+16>>0]|0;h=c[(b<<24>>24==0?d:e)+8>>2]|0;b=b<<24>>24?d:e;d=c[b+8>>2]|0;e=c[h+268>>2]|0;a:do if((e|0)>0){g=c[h+276>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0))return}while(0);e=c[h+284>>2]|0;ic[c[(c[e>>2]|0)+36>>2]&127](e,h,b);return}function Wl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+28>>2];e=e+ +g[a+32>>2];i=i+ +g[a+36>>2];g[a+44>>2]=b;f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);d=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=h-f;g[a+32>>2]=e-d;g[a+36>>2]=b;g[a+40>>2]=0.0;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;g=0;a:while(1){while(1){e=c[a+16>>2]|0;f=e+(g<<4)|0;if(!(Zb[c[(c[b>>2]|0)+8>>2]&31](b,f)|0))break;Ib[c[(c[a>>2]|0)+12>>2]&31](a,c[f>>2]|0,c[e+(g<<4)+4>>2]|0,d)|0;c[6163]=(c[6163]|0)+-1;if((g|0)>=(c[a+8>>2]|0)){e=7;break a}}g=g+1|0;if((g|0)>=(c[a+8>>2]|0)){e=7;break}}if((e|0)==7)return}function Yl(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+O(+(a*a+b*b));c[d>>2]=6472;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;g[d+28>>2]=a;g[d+36>>2]=b;g[d+32>>2]=a;return d|0}function Zl(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;g[d+52>>2]=a/+O(+(a*a+b*b));c[d>>2]=6572;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;g[d+32>>2]=a;g[d+28>>2]=b;g[d+36>>2]=a;return d|0}function _l(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=6372;g[d+56>>2]=a;g[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;g[d+28>>2]=a;g[d+32>>2]=b;g[d+36>>2]=a;g[d+52>>2]=a/+O(+(a*a+b*b));return d|0}function $l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=5576;a[b+8>>0]=0;c[b+12>>2]=0;if(!(Ob[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function am(){var a=0,b=0,d=0;d=i;i=i+32|0;while(1){a=yc(92)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((b|0)==6){c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=4096;c[d+12>>2]=4096;c[d+16>>2]=0;c[d+20>>2]=1;Zd(a,d);i=d;return a|0}return 0}function bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){d=0;return d|0}e=c[a+740>>2]|0;f=0;while(1){a=c[e+(f*52|0)+8>>2]|0;if((a|0)==(g+(b*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((a|0)==(g+(d*104|0)|0)?(c[e+(f*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}f=f+1|0;if((f|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+56>>2]+i*+g[b+60>>2]+e*+g[b+64>>2];h=j*+g[b+72>>2]+i*+g[b+76>>2]+e*+g[b+80>>2];e=j*+g[b+88>>2]+i*+g[b+92>>2]+e*+g[b+96>>2];b=b+56+((f<h?(h<e?2:1):f<e?2:0)<<4)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d>>2]|0;g=Zb[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=6004;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=b;if(h|0)return g|0;c[g+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if((b|0)==(c[d+8>>2]|0)){b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((b|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}else{b=c[b+8>>2]|0;mc[c[(c[b>>2]|0)+28>>2]&127](b,d,e,f)}while(0);return}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+48|0;c[f>>2]=7008;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];a=c[a+48>>2]|0;mc[c[(c[a>>2]|0)+8>>2]&127](a,f,d,e);i=f;return}function hm(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+28>>2];f=+g[a+32>>2];j=+g[a+36>>2];h=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function im(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=Zb[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;g=c[d+4>>2]|0;i=c[b+12>>2]|0;h=c[b+8>>2]|0;e=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=6052;c[f+8>>2]=i;c[f+12>>2]=h;a[f+16>>0]=0;c[f+20>>2]=g;a[f+24>>0]=0;c[f+28>>2]=e;c[f+32>>2]=b;return f|0}function jm(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];Pd(a,d);i=d;return}function km(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+280>>2]*h+ +g[a+284>>2]*f+ +g[a+288>>2]*e)*+g[a+548>>2];c=(+g[a+296>>2]*h+ +g[a+300>>2]*f+ +g[a+304>>2]*e)*+g[a+552>>2];g[a+328>>2]=+g[a+328>>2]+(+g[a+264>>2]*h+ +g[a+268>>2]*f+ +g[a+272>>2]*e)*+g[a+544>>2];g[a+332>>2]=+g[a+332>>2]+d;g[a+336>>2]=+g[a+336>>2]+c;return}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){d=1;return d|0}g=c[b+488>>2]|0;if((g|0)<=0){d=1;return d|0}b=c[b+496>>2]|0;f=0;while(1){e=c[b+(f<<2)>>2]|0;if(a[e+20>>0]|0){if((c[e+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[e+32>>2]|0)==(d|0)){b=0;e=8;break}}f=f+1|0;if((f|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[a+28>>2];h=+g[a+32>>2];e=+g[a+36>>2];i=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(j+i)-+(b&1|0)*(j+i);g[d+4>>2]=+(b>>>1&1^1|0)*(h+f)-+(b>>>1&1|0)*(h+f);g[d+8>>2]=+(b>>>2&1^1|0)*e-+(b>>>2&1|0)*e;g[d+12>>2]=0.0;return}function nm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+20>>2]*h+ +g[a+24>>2]*f+ +g[a+28>>2]*e)*+g[a+352>>2];c=(+g[a+36>>2]*h+ +g[a+40>>2]*f+ +g[a+44>>2]*e)*+g[a+356>>2];g[a+412>>2]=+g[a+412>>2]+(+g[a+4>>2]*h+ +g[a+8>>2]*f+ +g[a+12>>2]*e)*+g[a+348>>2];g[a+416>>2]=+g[a+416>>2]+d;g[a+420>>2]=+g[a+420>>2]+c;return}function om(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;a[h>>0]=e;f=c[b+16>>2]|0;if(!f)if(!(Fo(b)|0)){f=c[b+16>>2]|0;g=4}else f=-1;else g=4;do if((g|0)==4){g=c[b+20>>2]|0;if(g>>>0<f>>>0?(e&255|0)!=(a[b+75>>0]|0):0){c[b+20>>2]=g+1;a[g>>0]=e;f=e&255;break}if((Ob[c[b+36>>2]&63](b,h,1)|0)==1)f=d[h>>0]|0;else f=-1}while(0);i=h;return f|0}function pm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Is(h^a|0,g^b|0,h|0,g|0)|0;b=C;$e(a,b,Is(k^d|0,j^e|0,k|0,j|0)|0,C,f|0)|0;e=Is(c[f>>2]^h|0,c[f+4>>2]^g|0,h|0,g|0)|0;d=C;i=f;return (C=d,e)|0}function qm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;h=+g[b>>2];f=+g[b+4>>2];e=+g[b+8>>2];d=(+g[a+20>>2]*h+ +g[a+24>>2]*f+ +g[a+28>>2]*e)*+g[a+548>>2];c=(+g[a+36>>2]*h+ +g[a+40>>2]*f+ +g[a+44>>2]*e)*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+(+g[a+4>>2]*h+ +g[a+8>>2]*f+ +g[a+12>>2]*e)*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+d;g[a+436>>2]=+g[a+436>>2]+c;return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+32>>2];g[a+12>>2]=0.0;c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+36>>2];g[a+28>>2]=0.0;c[a+32>>2]=c[b+8>>2];c[a+36>>2]=c[b+24>>2];c[a+40>>2]=c[b+40>>2];g[a+44>>2]=0.0;c[a+48>>2]=c[b+48>>2];c[a+52>>2]=c[b+52>>2];c[a+56>>2]=c[b+56>>2];g[a+60>>2]=0.0;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+28>>2];j=+g[b+32>>2];e=+g[b+36>>2];h=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);f=+Sb[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +Sb[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+28>>2];h=+g[a+32>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+36>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function um(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=yc(64)|0;if(d|0){e=6;break}d=c[6564]|0;c[6564]=d+0;if(!d){e=5;break}jc[d&3]()}if((e|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((e|0)==6){sl(d,a);c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];return d|0}return 0}function vm(b){b=b|0;var d=0,e=0;c[b>>2]=6292;d=c[b+64>>2]|0;if(d|0?(pi(d),e=c[b+64>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function wm(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function xm(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{f=(_(c[a+64>>2]|0,f)|0)+e|0;h=+g[(c[a+92>>2]|0)+(f<<2)>>2];return +h}case 5:{h=+(d[(_(c[a+64>>2]|0,f)|0)+e+(c[a+92>>2]|0)>>0]|0)*+g[a+88>>2];return +h}case 3:{f=(_(c[a+64>>2]|0,f)|0)+e|0;h=+(b[(c[a+92>>2]|0)+(f<<1)>>1]|0)*+g[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function ym(b){b=b|0;var d=0,e=0;c[b>>2]=7256;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7124;d=c[b+52>>2]|0;if(d|0?(Ab[c[c[d>>2]>>2]&255](d),e=c[b+52>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function zm(){var b=0,d=0;while(1){b=yc(40)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){g[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=2996;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}return 0}function Am(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+Q(+b);f=+Q(+c);h=+Q(+d);b=+R(+b);c=+R(+c);d=+R(+d);g[a>>2]=f*h;g[a+4>>2]=c*b*h-e*d;g[a+8>>2]=c*e*h+b*d;g[a+12>>2]=0.0;g[a+16>>2]=f*d;g[a+20>>2]=c*b*d+e*h;g[a+24>>2]=c*e*d-b*h;g[a+28>>2]=0.0;g[a+32>>2]=-c;g[a+36>>2]=f*b;g[a+40>>2]=f*e;g[a+44>>2]=0.0;return}function Bm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function Cm(){var a=0,b=0;while(1){a=yc(8)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[6434]=a;tb(a|0,0)|0;c[6424]=19390;c[6425]=0;c[6426]=0;c[6427]=0;c[6428]=0;c[6429]=0;c[6430]=0;c[6431]=0;c[6432]=0;Vq(25696);return}}function Dm(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7592;c[d+52>>2]=2;g[d+28>>2]=a;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=0.0;return d|0}function Em(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=7492;c[d+52>>2]=0;g[d+28>>2]=b*.5;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Fm(a,b){a=+a;b=+b;var d=0;c[6435]=(c[6435]|0)+1;d=yc(75)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=7392;c[d+4>>2]=10;c[d+52>>2]=1;g[d+28>>2]=a;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=0.0;return d|0}function Gm(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=us(d|0,e|0,52)|0;switch(f&2047|0){case 0:{if(a!=0.0){a=+Gm(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Hm(){var a=0,b=0;while(1){a=yc(24)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return a|0}return 0}function Im(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;d=i;i=i+16|0;c[d>>2]=8940;c[d+4>>2]=e;Be(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);Be(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);i=d;return}function Jm(b){b=b|0;var d=0;c[b>>2]=7256;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=7124;d=c[b+52>>2]|0;if(!d)return;Ab[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(!d)return;c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);return}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=f+20;c[f+16>>2]=d;b=ub(140,f|0)|0;if(b>>>0<=4294963200)if((b|0)<0)e=7;else a=c[f+20>>2]|0;else{if(!0)a=25748;else a=c[(ib()|0)+64>>2]|0;c[a>>2]=0-b;e=7}if((e|0)==7){c[f+20>>2]=-1;a=-1}i=f;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=i;i=i+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+_b[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];i=e;return +f}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function Nm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[b+4>>2]=c[d>>2];c[b>>2]=6164;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=g&1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[(g?f:e)+4>>2]|0)+68>>2];lh(b,e,f);return}function Om(){var a=0,b=0;while(1){a=yc(24)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return a|0}return 0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function Qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=i;i=i+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+_b[c[(c[g>>2]|0)+12>>2]&15](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];i=e;return +f}function Rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if((b|0)==(c[d+8>>2]|0)){b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;break}if((b|0)!=(e|0)){c[d+36>>2]=(c[d+36>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}if((c[d+24>>2]|0)==2)c[d+24>>2]=f}while(0);return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=Zb[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=9256;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Um(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=Eb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=Ob[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+56>>2]|0);return}function Vm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=lr(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=b;b=Xv(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=C}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Wm(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function Xm(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;d=c[a+56>>2]|0;if((d&65535)<<16>>16)return;b[a+64>>1]=1;g=c[a+60>>2]|0;if((d>>>16&65535)>1){e=1;d=1;while(1){b[g+(e<<6)+48>>1]=e+1;f=d+1<<16>>16;d=b[a+58>>1]|0;if((f&65535)<(d&65535)){e=f&65535;d=f}else break}}else d=d>>>16&65535;b[g+((d&65535)+-1<<6)+48>>1]=0;return}function Ym(a){a=a|0;var b=0,d=0;while(1){b=yc(112)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){qg(b,a);return b|0}return 0}function Zm(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;while(1){f=yc(16)|0;if(f|0){h=6;break}f=c[6564]|0;c[6564]=f+0;if(!f){h=5;break}jc[f&3]()}if((h|0)==5){h=Ya(4)|0;c[h>>2]=9640;pb(h|0,2800,251)}else if((h|0)==6){g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}return 0}function _m(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return db(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=Ob[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+52>>2]|0);return}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=b>>31|((b|0)<0?-1:0)<<1;e=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;h=d>>31|((d|0)<0?-1:0)<<1;f=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=Is(g^a|0,e^b|0,g|0,e|0)|0;b=C;return Is(($e(a,b,Is(h^c|0,f^d|0,h|0,f|0)|0,C,0)|0)^(h^g)|0,C^(f^e)|0,h^g|0,f^e|0)|0}function bn(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;cb(a|0)|0;if(kb(26248,3)|0)ej(21924,d);a=hb(c[6563]|0)|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0){jc[c[b+12>>2]&3]();ej(22248,d+8|0)}b=c[2387]|0;c[2387]=b+0;jc[b&3]();ej(22248,d+16|0)}function cn(){var a=0,d=0;while(1){a=yc(8)|0;if(a|0){d=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){d=5;break}jc[a&3]()}if((d|0)==5){d=Ya(4)|0;c[d>>2]=9640;pb(d|0,2800,251)}else if((d|0)==6){c[a>>2]=0;c[a+4>>2]=0;b[a+4>>1]=1;b[a+6>>1]=-1;c[a>>2]=2972;return a|0}return 0}function dn(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;b=+g[(c[a+28>>2]|0)+344>>2];d=+g[(c[a+32>>2]|0)+344>>2];if(d==0.0)b=1.0;else b=b/(b+d);f=1.0-b;e=b*+g[a+1116>>2]+f*+g[a+1180>>2];d=b*+g[a+1120>>2]+f*+g[a+1184>>2];g[a+1284>>2]=b*+g[a+1112>>2]+f*+g[a+1176>>2];g[a+1288>>2]=e;g[a+1292>>2]=d;g[a+1296>>2]=0.0;return}function en(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function fn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function gn(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){a=0;return a|0}d=c[d+4>>2]|0;if(!((b[a+10>>1]&(d&65535))<<16>>16)){a=0;return a|0}if(!((b[a+8>>1]&(d>>>16&65535))<<16>>16)){a=0;return a|0}a=c[a+92>>2]|0;a=Ob[c[(c[a>>2]|0)+28>>2]&63](a,f,e)|0;return a|0}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+28>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+O(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function jn(a,b){a=a|0;b=+b;var c=0,d=0.0;c=i;i=i+16|0;if(!(+g[a+68>>2]>0.0)){i=c;return}d=-+g[a+92>>2];b=-+g[a+96>>2];g[c>>2]=-+g[a+88>>2];g[c+4>>2]=d;g[c+8>>2]=b;g[c+12>>2]=0.0;jj(a+4|0,c,a+164|0);jj(a+16|0,a+88|0,a+180|0);i=c;return}function kn(a){a=a|0;var b=0,d=0;while(1){b=yc(92)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){Zd(b,a);return b|0}return 0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0;if((d|0)>-1|(d|0)==-1&c>>>0>4294967295){e=(+(c>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+(a>>>0)+4294967296.0*+(b>>>0));return +e}else{g=Is(0,0,a|0,b|0)|0;f=C;d=Kt((a|0)==0&(b|0)==0&1|0,0,~c|0,~d|0)|0;e=-+ln(g,f,d,C);return +e}return 0.0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+36>>2];j=+g[c>>2];f=+g[c+4>>2];i=+O(+(j*j+f*f));e=+g[c+8>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=f;return}function nn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+28>>2];h=+g[b+32>>2];j=+g[c>>2];f=+g[c+8>>2];i=+O(+(j*j+f*f));e=+g[c+4>>2];if(i!=0.0){f=f*(d/i);e=e<0.0?-h:h;d=j*(d/i)}else{f=0.0;e=e<0.0?-h:h}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=f;return}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Cb[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function pn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+48|0;f=c[b+192>>2]|0;mc[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=5956;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;a=c[a+68>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&127](a,e+32|0,e+16|0,e);i=e;return}function rn(){var a=0,b=0;while(1){a=yc(12)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return a|0}return 0}function sn(a,b,d){a=a|0;b=b|0;d=d|0;si(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 12599}function tn(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{b=0;break}default:break a}return b|0}default:{}}while(0);if(!(c[b+256>>2]|0)){a=1;return a|0}a=Zb[c[c[b>>2]>>2]&31](b,d)|0;return a|0}function un(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];f=+g[a+344>>2];e=+g[a+352>>2]*f;d=+g[a+356>>2]*f;g[a+560>>2]=+g[a+348>>2]*f;g[a+564>>2]=e;g[a+568>>2]=d;g[a+572>>2]=0.0;return}function vn(a){a=a|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;return}function wn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[b>>2]|0;a=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;if(!((f|0)==0?1:(c[f+236>>2]|0)!=4))mc[c[(c[f>>2]|0)+32>>2]&127](f,d,e,b);if(!a)return 0;mc[c[(c[a>>2]|0)+32>>2]&127](a,b,e,d);return 0}function xn(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){xn(a,c[b+36>>2]|0);xn(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Hg(a,Sd(a,b,f)|0);Hg(a,Sd(a,d,f)|0);Hg(a,Sd(a,e,f)|0);return}function zn(a){a=a|0;var b=0,d=0;while(1){b=yc(8)|0;if(b|0){d=6;break}b=c[6564]|0;c[6564]=b+0;if(!b){d=5;break}jc[b&3]()}if((d|0)==5){a=Ya(4)|0;c[a>>2]=9640;pb(a|0,2800,251)}else if((d|0)==6){c[b>>2]=4852;c[b+4>>2]=a;return b|0}return 0}function An(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))xe(a,d)}while((e|0)>1);Ab[c[(c[a>>2]|0)+68>>2]&255](a);return}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+760>>2];break a}case 4:{d=+g[a+756>>2];break a}case 3:{d=+g[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f>>2]=a;c[f+4>>2]=e;a=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;a=Ib[c[(c[a>>2]|0)+8>>2]&31](a,f,b,d)|0;i=f;return a|0}function Dn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(_(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function En(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function Fn(a){a=+a;var b=0;c[6435]=(c[6435]|0)+1;b=yc(71)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;g[b+24>>2]=0.0;c[b>>2]=6672;c[b+4>>2]=8;g[b+28>>2]=a;g[b+44>>2]=a;return b|0}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Cb[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Hn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+Q(+(b*.5));b=+R(+(b*.5));f=+Q(+(c*.5));c=+R(+(c*.5));h=+Q(+(d*.5));d=+R(+(d*.5));g[a>>2]=d*f*e-h*c*b;g[a+4>>2]=h*c*e+d*f*b;g[a+8>>2]=h*f*b-d*c*e;g[a+12>>2]=h*f*e+d*c*b;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Hg(a,Sd(a,b,0)|0);Hg(a,Sd(a,d,0)|0);Hg(a,Sd(a,e,0)|0);return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Kn(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=i;i=i+32|0;g[e+20>>2]=b;g[e+16>>2]=d;g[e+12>>2]=0.0;g[e+8>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+12|0:b>1.0?e+8|0:e+20|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+16|0)>>2];i=e;return}function Ln(){var a=0,b=0;while(1){a=yc(196)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){Zh(a,0);return a|0}return 0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function Nn(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=+eh((c-b)*.5+b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function On(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if(!(h&1))i=h>>8;else i=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Qb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+i|0,h&2|0?f:2,g);return}function Pn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[6435]=(c[6435]|0)+1;a=yc(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function Qn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(f&~3|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;a=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;if(!((e|0)==0?1:(c[e+236>>2]|0)!=4))ic[c[(c[e>>2]|0)+28>>2]&127](e,d,b);if(!a)return 0;ic[c[(c[a>>2]|0)+28>>2]&127](a,b,d);return 0}function Sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))zl(b,d,e,f);else{a=c[a+8>>2]|0;Qb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=Eb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ob[d&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function Un(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a+692>>2]=(c-b)*.5;b=+eh((c-b)*.5+b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=1.0;return}function Vn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function Wn(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{Bg(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0;e=Eb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function Yn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function Zn(a,b){a=a|0;b=b|0;var d=0,e=0;e=Eb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=Ob[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=Ob[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;yb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function _n(){var a=0,b=0;while(1){a=yc(4)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6){c[a>>2]=2920;return a|0}return 0}function $n(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+4>>2]|0;if(!(g&1))h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;yb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+h|0,g&2|0?e:2,f);return}function ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,156)|0;Wj(a,b,d,e,1);return a|0}function bo(b){b=b|0;var d=0;c[b>>2]=5044;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5008;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function co(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+g[a+344>>2];d=+g[b+4>>2]*+g[a+352>>2]*e;c=+g[b+8>>2]*+g[a+356>>2]*e;g[a+312>>2]=+g[a+312>>2]+ +g[b>>2]*+g[a+348>>2]*e;g[a+316>>2]=+g[a+316>>2]+d;g[a+320>>2]=+g[a+320>>2]+c;return}function eo(b){b=b|0;var d=0;c[b>>2]=4108;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5008;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function fo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function go(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;c[6435]=(c[6435]|0)+1;i=yc(783)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}ne(i,a,b,d,e,f,g,h);return i|0}function ho(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)break;c=+eh(+g[b+(d<<2)>>2],6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+868+(d<<6)+4>>2]=c;d=d+1|0}return}function io(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22472]|0)==0?Wa(22472)|0:0)_a(22472);Cb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5726]=c[d>>2];c[5727]=c[d+4>>2];c[5728]=c[d+8>>2];c[5729]=c[d+12>>2];i=d;return 22904}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,156)|0;Wj(a,b,d,e,0);return a|0}function lo(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22432]|0)==0?Wa(22432)|0:0)_a(22432);Cb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[5669]=c[d>>2];c[5670]=c[d+4>>2];c[5671]=c[d+8>>2];c[5672]=c[d+12>>2];i=d;return 22676}function mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+28>>2];e=+g[b+32>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+36>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function no(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+4>>2]|0;if(!(f&1))g=f>>8;else g=c[(c[d>>2]|0)+(f>>8)>>2]|0;a=c[a>>2]|0;mc[c[(c[a>>2]|0)+28>>2]&127](a,b,d+g|0,f&2|0?e:2);return}function oo(b){b=b|0;var d=0;c[b>>2]=4872;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function po(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)break;c=+eh(+g[b+(d<<2)>>2],6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;g[a+868+(d<<6)>>2]=c;d=d+1|0}return}function qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;Nm(a,b,d,e,1);return a|0}function ro(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;ic[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function so(b){b=b|0;var d=0;c[b>>2]=9368;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[6435]=(c[6435]|0)+1;e=yc(343)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}je(e,a,b,d);return e|0}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;Nm(a,b,d,e,0);return a|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[6435]=(c[6435]|0)+1;h=yc(783)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}ne(h,a,b,d,e,f,g,0);return h|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=Zb[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Cb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];return 17222}function xo(){var a=0,b=0;while(1){a=yc(1)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6)return a|0;return 0}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+104>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+16>>2];e=+g[h+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=Zb[c[(c[f>>2]|0)+56>>2]&31](f,20)|0;b=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=3612;a[f+16>>0]=b;return f|0}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function Bo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[6435]=(c[6435]|0)+1;g=yc(1331)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}Le(g,a,b,d,e,f);return g|0}function Co(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[22488]|0)==0?Wa(22488)|0:0)_a(22488);Wg(b,d);c[5751]=c[d>>2];c[5752]=c[d+4>>2];c[5753]=c[d+8>>2];c[5754]=c[d+12>>2];i=d;return 23004}function Do(){var a=0,b=0;while(1){a=yc(64)|0;if(a|0){b=6;break}a=c[6564]|0;c[6564]=a+0;if(!a){b=5;break}jc[a&3]()}if((b|0)==5){b=Ya(4)|0;c[b>>2]=9640;pb(b|0,2800,251)}else if((b|0)==6)return a|0;return 0}function Eo(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Fo(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Go(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function Ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[6435]=(c[6435]|0)+1;g=yc(135)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}pe(g,a,b,d&65535,e,f);return g|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;Ob[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;a=(c[a+4>>2]|0)+160|0;c[a>>2]=(c[a>>2]|0)+1;return}function Jo(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=i;i=i+32|0;ic[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+8+4>>2];d=+g[b+8+8>>2];d=+O(+(f*f+e*e+d*d));i=b;return +(d+ +g[b>>2])}function Ko(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+g[b+4>>2]*+g[a+352>>2];c=+g[b+8>>2]*+g[a+356>>2];g[a+412>>2]=+g[a+412>>2]+ +g[b>>2]*+g[a+348>>2];g[a+416>>2]=+g[a+416>>2]+d;g[a+420>>2]=+g[a+420>>2]+c;return}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>0)a=0;else return;do{b=d+(a<<4)|0;a=a+1|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}while((a|0)!=(e|0));return}function Mo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f>>2]=5204;c[f+4>>2]=d;c[f+8>>2]=a;ic[c[(c[b>>2]|0)+48>>2]&127](b,f,e);i=f;return}function No(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+g[b+4>>2]*+g[a+548>>2];c=+g[b+8>>2]*+g[a+552>>2];g[a+428>>2]=+g[a+428>>2]+ +g[b>>2]*+g[a+544>>2];g[a+432>>2]=+g[a+432>>2]+d;g[a+436>>2]=+g[a+436>>2]+c;return}function Oo(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;f=+g[a>>2];e=+g[a+4>>2];d=+g[a+8>>2];c=+g[a+12>>2];b=1.0/+O(+(f*f+e*e+d*d+c*c));g[a>>2]=f*b;g[a+4>>2]=e*b;g[a+8>>2]=d*b;g[a+12>>2]=c*b;return}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(135)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}pe(f,a,b,d&65535,e,0);return f|0}function Qo(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Ab[c[c[a>>2]>>2]&255](a);Cb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function Ro(b){b=b|0;var d=0;c[b>>2]=5044;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=5008;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=8820;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;ic[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function To(b){b=b|0;var d=0;c[b>>2]=6772;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+52>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Uo(b){b=b|0;var d=0;c[b>>2]=4108;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=5008;return}function Vo(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}a=c[a+720>>2]|0;d=0;b=0.0;do{f=+g[a+(d*104|0)+88>>2];b=b+(f>0.0?1.0/f:0.0);d=d+1|0}while((d|0)!=(e|0));return +b}function Wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(1331)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}qe(e,a,b,d);return e|0}function Xo(b){b=b|0;var d=0;c[b>>2]=4872;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function Yo(a){a=a|0;var b=0;c[a>>2]=5508;c[a+12>>2]=5536;b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);hd(a);return}function Zo(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+Sb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,24)|0;c[a+4>>2]=c[b>>2];c[a>>2]=4080;return a|0}function $o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(95)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}Ze(e,a,b,d);return e|0}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(135)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}pe(e,a,b,d&65535,0,0);return e|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[6435]=(c[6435]|0)+1;f=yc(1271)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}Kc(f,a,b,d,e);return f|0}function dp(b){b=b|0;var d=0;c[b>>2]=8840;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,Ab[c[c[d>>2]>>2]&255](d),d=c[b+136>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}pi(b+64|0);pi(b+4|0);return}function ep(b){b=b|0;var d=0;c[b>>2]=9368;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function fp(a){a=a|0;var b=0;c[a>>2]=5508;c[a+12>>2]=5536;b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+76>>2]|0);b=c[a+60>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+76>>2]|0);return}function gp(b){b=b|0;var d=0;c[b>>2]=2996;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function hp(a){a=a|0;var b=0,d=0;c[a>>2]=7124;b=c[a+52>>2]|0;if(b|0?(Ab[c[c[b>>2]>>2]&255](b),d=c[a+52>>2]|0,d|0):0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ip(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];vj(a);return}function jp(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[6436]=(c[6436]|0)+1;hd(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function kp(b){b=b|0;var d=0;c[b>>2]=5132;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=Zb[c[(c[a>>2]|0)+56>>2]&31](a,8)|0;c[a+4>>2]=c[b>>2];c[a>>2]=9228;return a|0}function mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[6435]=(c[6435]|0)+1;e=yc(783)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}Jf(e,a,b,d);return e|0}function np(b){b=b|0;var d=0;c[b>>2]=8584;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[b+8>>2]|0;b=c[a+284>>2]|0;ic[c[(c[b>>2]|0)+40>>2]&127](b,a,c[d+8>>2]|0);return}function pp(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Ze(d,a,b,1);return d|0}function qp(b,d){b=b|0;d=d|0;if((a[22448]|0)==0?Wa(22448)|0:0)_a(22448);c[5694]=c[b+(d<<4)>>2];c[5695]=c[b+(d<<4)+4>>2];c[5696]=c[b+(d<<4)+8>>2];c[5697]=c[b+(d<<4)+12>>2];return 22776}function rp(b){b=b|0;var d=0;if(!b)return;d=c[b+68>>2]|0;if(d|0){if(!((a[b+72>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+68>>2]=0}a[b+72>>0]=1;hd(b);return}function sp(b){b=b|0;var d=0;c[b>>2]=6772;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;Ab[c[c[d>>2]>>2]&255](d);b=c[b+52>>2]|0;if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+204>>2]|0;if(a&4|0){d=0;return d|0}b=c[d+204>>2]|0;if(b&4|0){d=0;return d|0}if(!(a&3)){d=1;return d|0}d=(b&3|0)==0;return d|0}function up(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(135)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}pe(d,a,b,16384,0,0);return d|0}function vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=8800;c[e+4>>2]=b;ic[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function wp(b){b=b|0;var d=0,e=0;c[b>>2]=6004;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function xp(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);c[b>>2]=8348;c[b+52>>2]=2;return b|0}function yp(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);c[b>>2]=8244;c[b+52>>2]=0;return b|0}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=c[a+60>>2];a=qb(6,d|0)|0;if(a>>>0>4294963200){if(!0)b=25748;else b=c[(ib()|0)+64>>2]|0;c[b>>2]=0-a;a=-1}i=d;return a|0}function Ap(b){b=b|0;var d=0,e=0;c[b>>2]=9256;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _m(b,c,d)|0;return b|0}function Cp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_(b&65535,a&65535)|0;e=(c>>>16)+(_(b&65535,a>>>16)|0)|0;d=_(b>>>16,a&65535)|0;return (C=(e>>>16)+(_(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function Dp(b){b=b|0;var d=0,e=0;c[b>>2]=5480;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))zl(b,d,e,f);return}function Fp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+N(+(+g[b>>2]));d=+N(+(+g[b+4>>2]));c=+N(+(+g[b+8>>2]));g[a+12>>2]=e;g[a+16>>2]=d;g[a+20>>2]=c;g[a+24>>2]=0.0;return}function Gp(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(783)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Jf(d,a,b,0);return d|0}function Hp(a,b){a=a|0;b=b|0;Vf(a,c[b+36>>2]|0);return}function Ip(b){b=b|0;var d=0;if(!b)return;d=c[b+12>>2]|0;if(d|0){if(!((a[b+16>>0]&1)==0|(d|0)==0)){c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;hd(b);return}function Jp(b){b=b|0;var d=0,e=0;c[b>>2]=5576;if(!(a[b+8>>0]|0)){hd(b);return}d=c[b+12>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Kp(a){a=a|0;var b=0;c[a>>2]=5536;b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);hd(a);return}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;dc[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function Mp(b){b=b|0;var d=0,e=0;c[b>>2]=6052;if(!(a[b+16>>0]|0)){hd(b);return}d=c[b+20>>2]|0;if(!d){hd(b);return}e=c[b+4>>2]|0;Cb[c[(c[e>>2]|0)+16>>2]&127](e,d);hd(b);return}function Np(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0;c[6435]=(c[6435]|0)+1;f=yc(35)|0;c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16;g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}function Op(a){a=a|0;var b=0;c[a>>2]=7124;b=c[a+52>>2]|0;if(!b)return;Ab[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(!b)return;c[6436]=(c[6436]|0)+1;hd(c[b+-4>>2]|0);return}function Pp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+nb(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function Qp(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){Hk(a,b);return}else{Cb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function Rp(a){a=a|0;var b=0;c[a>>2]=5536;b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function Sp(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Tp(a,b,d){a=+a;b=+b;d=+d;var e=0;c[6435]=(c[6435]|0)+1;e=yc(35)|0;c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16;g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=d;g[e+12>>2]=0.0;return e|0}function Up(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];vj(a);return}function Vp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Db[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Wp(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return Zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function Xp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +$b[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Yp(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function _p(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function $p(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Lb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function aq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function bq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];+Sb[c[(c[a>>2]|0)+48>>2]&15](a);b=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function cq(a){a=a|0;var b=0.0,d=0.0;d=+g[a+28>>2];b=+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);+Sb[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function dq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Yb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=c[d>>2];a=Ob[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=e;return a&1|0}function fq(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;e=+g[a>>2];d=+g[a+4>>2];c=+g[a+8>>2];b=1.0/+O(+(e*e+d*d+c*c));g[a>>2]=e*b;g[a+4>>2]=d*b;g[a+8>>2]=c*b;return}function gq(a,b){a=a|0;b=b|0;var d=0;c[6435]=(c[6435]|0)+1;d=yc(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Yf(d,a,b);return d|0}function hq(b){b=b|0;var d=0;c[b>>2]=6004;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function iq(b){b=b|0;var d=0;c[b>>2]=9256;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function jq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function kq(b){b=b|0;var d=0;c[b>>2]=5480;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function lq(b){b=b|0;var d=0;c[b>>2]=2996;d=c[b+32>>2]|0;if(!d){hd(b);return}if(!(a[b+36>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function mq(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function nq(b){b=b|0;if(a[22512]|0)return 23132;if(!(Wa(22512)|0))return 23132;c[5783]=1065353216;c[5784]=1065353216;c[5785]=1065353216;g[5786]=0.0;_a(22512);return 23132}function oq(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return Zb[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function pq(b){b=b|0;var d=0;c[b>>2]=5132;d=c[b+20>>2]|0;if(!d){hd(b);return}if(!(a[b+24>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function qq(b){b=b|0;var d=0;c[b>>2]=5576;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function rq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(75)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}hi(b,a);return b|0}function sq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+6>>1])<<16>>16)){a=0;return a|0}a=(b[a+4>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function tq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+10>>1])<<16>>16)){a=0;return a|0}a=(b[a+8>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function uq(b){b=b|0;var d=0;c[b>>2]=6052;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;Cb[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function vq(a,b){a=a|0;b=+b;b=+eh(b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+196>>2]=b;return}function wq(a,b){a=a|0;b=+b;b=+eh(b,6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+192>>2]=b;return}function xq(a,d){a=a|0;d=d|0;d=c[d+4>>2]|0;if(!((d&65535&b[a+14>>1])<<16>>16)){a=0;return a|0}a=(b[a+12>>1]&(d>>>16&65535))<<16>>16!=0;return a|0}function yq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function zq(b){b=b|0;var d=0;c[b>>2]=8584;d=c[b+16>>2]|0;if(!d){hd(b);return}if(!(a[b+20>>0]|0)){hd(b);return}c[6436]=(c[6436]|0)+1;hd(c[d+-4>>2]|0);hd(b);return}function Aq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;Te(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function Bq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +bc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Cq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(191)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Yf(b,a,1);return b|0}function Dq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+Kb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function Eq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(131)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}kg(a,0,0,16);return a|0}function Fq(a){a=a|0;var b=0;c[6435]=(c[6435]|0)+1;b=yc(111)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}Sj(b,a);return b|0}function Gq(a,b){a=a|0;b=b|0;Ab[c[(c[b>>2]|0)+32>>2]&255](b);td(a,b);Ab[c[(c[b>>2]|0)+36>>2]&255](b);return}function Hq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Xb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ic[c[(c[a>>2]|0)+108>>2]&127](a,b,d);ic[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function Jq(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Kq(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Lq(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Mq(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Nq(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Oq(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Pq(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Qq(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Rq(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function Sq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(191)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}Yf(a,1,1);return a|0}function Tq(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(111)|0;if(!a)a=0;else{c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16}Sj(a,1);return a|0}function Uq(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function Vq(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)Vq(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function Wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Kd(a,b,c,d,e,f);return}function Xq(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function Yq(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function Zq(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function _q(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function $q(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function ar(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function br(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function cr(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function dr(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function er(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +Kb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function fr(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function gr(a,b,d){a=a|0;b=b|0;d=+d;Cb[c[(c[a>>2]|0)+32>>2]&127](a,b);kc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function hr(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function ir(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function jr(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function kr(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function lr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;$e(a,b,d,e,f|0)|0;i=f;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function mr(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function nr(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function or(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+52>>2]<<2)>>2]=1.0;return}function pr(a){a=a|0;var b=0;b=i;i=i+16|0;hd(a);if(!(ob(c[6563]|0,0)|0)){i=b;return}else ej(21821,b)}function qr(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function rr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return rc(b,c,d,e)|0}function sr(){var a=0;c[6435]=(c[6435]|0)+1;a=yc(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function tr(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Cp(a,c)|0;f=C;return (C=(_(b,c)|0)+(_(d,a)|0)+f|f&0,e|0|0)|0}function wr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Wb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function xr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function yr(a){a=a|0;c[a>>2]=3640;c[a+12>>2]=3668;cg(a+12|0);pj(a+72|0);hd(a);return}function zr(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function Ar(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qj(a,b,c,d);return}function Br(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function Cr(b){b=b|0;if(!(Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Dr(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;ic[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Er(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Fr(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;Cb[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function Gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Pg(a,b,c,d);return}function Hr(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Ir(a){a=a|0;c[a>>2]=3640;c[a+12>>2]=3668;cg(a+12|0);pj(a+72|0);return}function Jr(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Kr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Tb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Lr(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=e;return}function Mr(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Nr(a){a=a|0;lg(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Pr(a,b){a=a|0;b=+b;g[a>>2]=+g[a>>2]*b;g[a+4>>2]=+g[a+4>>2]*b;g[a+8>>2]=+g[a+8>>2]*b;return a|0}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;Ae(c[a+116>>2]|0,c[a+144>>2]|0,b,d);return}function Rr(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function Sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Tr(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function Vr(){var a=0;a=i;i=i+16|0;if(!(mb(26252,255)|0)){i=a;return}else ej(21874,a)}function Wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +Ub[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function Xr(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;return}function Yr(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;Zb[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function Zr(a){a=a|0;var b=0.0,c=0.0,d=0.0;d=+g[a>>2];c=+g[a+4>>2];b=+g[a+8>>2];return +(+O(+(d*d+c*c+b*b)))}function _r(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function $r(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Qb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function as(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ba(33)}function bs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function cs(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function es(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function fs(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function hs(a,b,d){a=a|0;b=+b;d=d|0;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function is(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function js(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function ks(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function ls(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function ms(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function ns(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function os(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function ps(a,b){a=a|0;b=b|0;ic[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function qs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Pb[a&0](b|0,c|0,d|0,e|0,f|0,+g)}function rs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Bb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function ss(b,d,e){b=b|0;d=d|0;e=+e;g[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function ts(a,b,d){a=a|0;b=b|0;d=+d;kc[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function us(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function xs(a,b){a=a|0;b=b|0;return +(+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2])}function ys(a){a=a|0;qk(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function zs(a){a=a|0;Tl(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function As(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Gb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function Bs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(29);return 0.0}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function Ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Es(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function Fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;mc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function Gs(a){a=a|0;Sg(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Hs(){}function Is(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function Js(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Rf(a,b,c,d,e);return}function Ks(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Zf(a,b,c,d,e);return}function Ls(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(5);return 0}function Ms(a,b){a=a|0;b=b|0;Yd(a,b);return}function Ns(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ba(13)}function Os(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return +Mb[a&15](b|0,c|0,d|0,e|0,f|0)}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function Qs(a,b){a=a|0;b=+b;return lc[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;ic[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function Ss(a){a=a|0;c[a>>2]=3668;cg(a);pj(a+60|0);hd(a);return}function Ts(a,b,d){a=a|0;b=b|0;d=+d;kc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function Us(a){a=a|0;wi(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Vs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ba(26)}function Ws(a){a=a|0;Cj(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Xs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +ec[a&3](b|0,c|0,+d,e|0,f|0)}function Ys(a){a=a|0;c[a>>2]=8060;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Zs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&31](b|0,c|0,d|0,e|0,f|0)}function _s(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function $s(a){a=a|0;vm(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function at(a,b,d){a=a|0;b=b|0;d=+d;zb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function bt(a,b){a=a|0;b=b|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function ct(a,b,d){a=a|0;b=+b;d=d|0;Jb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function dt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function et(a){a=a|0;xi(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ft(a){a=a|0;Ai(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function gt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(31);return 0.0}function ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ac[a&1](b|0,c|0,d|0,e|0,+f)}function it(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Vb[a&0](b|0,c|0,+d,e|0,f|0)}function jt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(36);return 0}function kt(a){a=a|0;if(!(+g[a+16>>2]==0.0)){a=0;return a|0}a=+g[a+20>>2]==0.0;return a|0}function lt(a){a=a|0;c[a>>2]=3668;cg(a);pj(a+60|0);return}function mt(a){a=a|0;c[a>>2]=4432;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function nt(a){a=a|0;c[a>>2]=5008;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function ot(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function pt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zc(a,b,c,d)|0;return 1}function rt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function st(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function tt(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function vt(a,b){a=a|0;b=b|0;mc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function wt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;bi(b,c);return}function yt(a){a=a|0;Bd(a);if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function zt(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function At(a,b){a=a|0;b=b|0;ic[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function Bt(a,b){a=a|0;b=b|0;return Zb[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function Ct(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function Dt(a,b,d){a=a|0;b=b|0;d=+d;Cb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Et(a){a=a|0;a=c[a+68>>2]|0;return Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Ft(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function Gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ib[a&31](b|0,c|0,d|0,e|0)|0}function Ht(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function It(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function Jt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ba(25)}function Kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (C=b+d+(a+c>>>0>>>0<a>>>0|0)>>>0,a+c>>>0|0)|0}function Lt(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function Mt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function Nt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function Ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +fc[a&1](b|0,c|0,d|0,e|0)}function Pt(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Qt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function Rt(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+8>>2]&255](a);return}function St(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+Q(+b);return}function Tt(a){a=a|0;if(!a)return;Ab[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ut(a,b){a=a|0;b=+b;return +(+Sb[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function Vt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ba(12);return 0.0}function Wt(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Xt(a,b){a=a|0;b=b|0;c[a+176>>2]=(b|0)<0?0:(b|0)>2?2:b;return}function Yt(a,b){a=a|0;b=b|0;Se(a,b);return}function Zt(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function _t(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;Ii(a,b,c);return}function au(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mc[a&127](b|0,c|0,d|0,e|0)}function bu(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function cu(a,b,c){a=a|0;b=b|0;c=c|0;gj(a,b,c);return}function du(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function eu(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function fu(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function gu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function hu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ju(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return lc[a&1](b|0,+c,d|0,+e)|0}function ku(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function lu(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function mu(a,b,c){a=a|0;b=b|0;c=c|0;return sc(a,b,c)|0}function nu(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function ou(a,b){a=a|0;b=b|0;xe(a,b);return}function pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;hc[a&15](b|0,c|0,d|0,+e)}function qu(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function ru(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Fb[a&7](b|0,c|0,+d,e|0)}function su(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Hb[a&0](b|0,+c,d|0,e|0)}function tu(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function uu(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function vu(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function wu(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function xu(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b*80|0)+64>>2]|0}function yu(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function zu(a){a=a|0;return Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Au(a){a=a|0;if(!a)return;c[6436]=(c[6436]|0)+1;hd(c[a+-4>>2]|0);return}function Bu(a,b){a=a|0;b=+b;zb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Cu(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function Du(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function Eu(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function Fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Gu(a){a=a|0;Ab[c[(c[a>>2]|0)+44>>2]&255](a);return}function Hu(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&63](b|0,c|0,d|0)|0}function Ju(a,b){a=a|0;b=b|0;Ii(a,b,1);return}function Ku(a){a=a|0;if(!a)a=0;else a=(wj(a,2832)|0)!=0;return a&1|0}function Lu(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function Mu(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function Nu(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function Ou(a){a=a|0;Tj(a);hd(a);return}function Pu(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function Qu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +_b[a&15](b|0,c|0,d|0)}function Ru(a,b){a=a|0;b=b|0;return sc(a,b,8192)|0}function Su(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function Tu(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Uu(a){a=a|0;return Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Vu(a){a=a|0;return Eb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function Wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Xu(a,b){a=a|0;b=b|0;sl(a,b);return}function Yu(a,b){a=a|0;b=b|0;Wg(a,b);return}function Zu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Rb[a&7](b|0,c|0,+d)|0}function _u(a){a=a|0;return +(+g[a+132>>2])}function $u(a){a=a|0;return +(+g[a+128>>2])}function av(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function bv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(24)}function cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ic[a&127](b|0,c|0,d|0)}function dv(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function ev(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function fv(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function gv(a){a=a|0;return +(+Sb[c[(c[a>>2]|0)+48>>2]&15](a))}function hv(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function iv(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function jv(a){a=a|0;Lj(a);hd(a);return}function kv(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function lv(a,b){a=a|0;b=b|0;return c[(c[a+12>>2]|0)+(b<<2)>>2]|0}function mv(a,b){a=a|0;b=b|0;Pd(a,b);return}function nv(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function ov(a){a=a|0;return +(+g[a+136>>2])}function pv(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function qv(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function rv(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function sv(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function tv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(21);return 0}function uv(a,b){a=a|0;b=b|0;return ((c[b+236>>2]&2|0)==0?0:b)|0}function vv(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function wv(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Jb[a&15](b|0,+c,d|0)}function xv(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function yv(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function zv(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function Av(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function Bv(a){a=a|0;return ~~+g[a+48>>2]|0}function Cv(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function Dv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;kc[a&7](b|0,c|0,+d)}function Ev(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(22);return 0.0}function Fv(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Gv(a){a=a|0;a=c[a+216>>2]|0;return (a|0)!=5&(a|0)!=2|0}function Hv(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function Iv(a){a=a|0;return +(+g[a+116>>2])}function Jv(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function Kv(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function Lv(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Mv(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function Nv(a){a=a|0;return +(+g[a+124>>2])}function Ov(a,b,c){a=a|0;b=+b;c=c|0;return}function Pv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Qv(a,b){a=a|0;b=b|0;return ((c[b+236>>2]|0)==8?b:0)|0}function Rv(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function Sv(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function Tv(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function Uv(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function Vv(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function Wv(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $e(a,b,c,d,0)|0}function Yv(a){a=a|0;kf(a);hd(a);return}function Zv(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function _v(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function $v(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function aw(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function bw(a,b,c){a=a|0;b=+b;c=c|0;return}function cw(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function dw(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Nb[a&7](b|0,+c,+d)}function ew(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function fw(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function gw(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function hw(a,b){a=a|0;b=b|0;return (c[a+12>>2]|0)+(b*104|0)|0}function iw(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function jw(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function kw(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function lw(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function mw(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function nw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(18)}function ow(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function pw(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function qw(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;return Zb[a&31](b|0,c|0)|0}function sw(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function tw(a){a=a|0;return +(+g[a+104>>2])}function uw(a){a=a|0;yk(a);hd(a);return}function vw(a){a=a|0;Wk(a);hd(a);return}function ww(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function xw(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function yw(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ba(17)}function Aw(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function Bw(a){a=a|0;return +(+g[a+96>>2])}function Cw(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function Dw(a){a=a|0;xk(a);hd(a);return}function Ew(a){a=a|0;return +(+g[a+92>>2])}function Fw(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Hw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(3)}function Iw(a){a=a|0;return +(+g[a+108>>2])}function Jw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(14);return 0.0}function Kw(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function Lw(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function Mw(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Nw(a){a=a|0;return b[a+10>>1]|0}function Ow(a){a=a|0;return b[a+8>>1]|0}function Pw(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function Qw(a){a=a|0;zk(a);hd(a);return}function Rw(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ba(8)}function Sw(a){a=a|0;return +(+g[a+220>>2])}function Tw(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function Uw(a){a=a|0;return +(+g[a+100>>2])}function Vw(a){a=a|0;return b[a+12>>1]|0}function Ww(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(34);return 0.0}function Xw(a){a=a|0;return +(+g[a+224>>2])}function Yw(a){a=a|0;return ph(a)|0}function Zw(a){a=a|0;return b[a+14>>1]|0}function _w(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function $w(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function ax(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function bx(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function cx(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function dx(a){a=a|0;return (c[a+48>>2]|0)==1|0}function ex(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function fx(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function gx(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function hx(a){a=a|0;return (c[a+92>>2]|0)+4|0}function ix(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function jx(a,b,c){a=a|0;b=b|0;c=+c;return +cc[a&1](b|0,+c)}function kx(a){a=a|0;return +(+g[a+276>>2])}function lx(a){a=a|0;return +(+g[a+204>>2])}function mx(a){a=a|0;return +(+g[a+208>>2])}function nx(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function ox(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function px(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function qx(a){a=a|0;Ak(a);hd(a);return}function rx(a){a=a|0;return +(+g[a+112>>2])}function sx(a){a=a|0;return +(+g[a+216>>2])}function tx(a){a=a|0;return c[a+268>>2]|0}function ux(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function vx(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function wx(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function xx(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function yx(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function zx(a,b,c){a=a|0;b=b|0;c=c|0;return}function Ax(a){a=a|0;return +(+g[a+248>>2])}function Bx(a){a=a|0;if(!a)return;hd(a);return}function Cx(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function Dx(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function Ex(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function Fx(a,b,c){a=a|0;b=b|0;c=+c;return 0}function Gx(a,b){a=a|0;b=b|0;return}function Hx(a){a=a|0;return c[a+36>>2]|0}function Ix(a){a=a|0;return c[a+32>>2]|0}function Jx(a){a=a|0;return c[a+748>>2]|0}function Kx(a){a=a|0;return (c[a+48>>2]|0)+4|0}function Lx(a){a=a|0;return +(+g[a+120>>2])}function Mx(a){a=a|0;return a+44|0}function Nx(a,b,c){a=a|0;b=b|0;c=+c;zb[a&31](b|0,+c)}function Ox(a){a=a|0;return c[a+8>>2]|0}function Px(a){a=a|0;return (c[a+8>>2]|0)!=0|0}function Qx(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function Rx(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function Sx(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function Tx(a){a=a|0;return a+60|0}function Ux(a){a=a|0;return c[a+200>>2]|0}function Vx(a){a=a|0;return +(+g[a+244>>2])}function Wx(a){a=a|0;return +g[a+4>>2]<1.0|0}function Xx(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function Yx(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function Zx(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function _x(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function $x(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function ay(a){a=a|0;return c[a+212>>2]|0}function by(a){a=a|0;c[a+192>>2]=0;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;return}function dy(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function ey(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(0)}function fy(a){a=a|0;return +(+g[a+212>>2])}function gy(a){a=a|0;return +(+g[a+228>>2])}function hy(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function iy(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function jy(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function ky(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ba(30)}function ly(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(23)}function my(a){a=a|0;return +(+g[a+252>>2])}function ny(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function oy(a){a=a|0;return a+156|0}function py(a){a=a|0;return c[a+116>>2]|0}function qy(a){a=a|0;return c[a+136>>2]|0}function ry(a){a=a|0;return c[a+744>>2]|0}function sy(a){a=a|0;return c[a+740>>2]|0}function ty(a){a=a|0;return a+20|0}function uy(a){a=a|0;return a+324|0}function vy(a){a=a|0;return c[a+192>>2]|0}function wy(a){a=a|0;return c[a+204>>2]|0}function xy(a){a=a|0;return c[a+24>>2]|0}function yy(a){a=a|0;return c[a+68>>2]|0}function zy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(35);return 0.0}function Ay(a){a=a|0;return +(+g[a+232>>2])}function By(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Cy(a){a=a|0;return 348}function Dy(a){a=a|0;return c[a+12>>2]|0}function Ey(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10);return 0}function Fy(a){a=a|0;return c[a+480>>2]|0}function Gy(a){a=a|0;Ci(a);hd(a);return}function Hy(a){a=a|0;dp(a);hd(a);return}function Iy(a){a=a|0;_j(a);hd(a);return}function Jy(a){a=a|0;return a+352|0}function Ky(a){a=a|0;return a+348|0}function Ly(a){a=a|0;return c[a>>2]|0}function My(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ny(a){a=a|0;return c[a+240>>2]|0}function Oy(a){a=a|0;return a+24|0}function Py(a){a=a|0;return a+316|0}function Qy(a){a=a|0;return a+300|0}function Ry(a){a=a|0;return a+64|0}function Sy(a){a=a|0;return +(+g[a+64>>2])}function Ty(a){a=a|0;return +(+g[a+68>>2])}function Uy(a){a=a|0;return a+32|0}function Vy(a){a=a|0;return c[a+84>>2]|0}function Wy(a){a=a|0;return c[a+88>>2]|0}function Xy(a){a=a|0;return c[a+92>>2]|0}function Yy(a){a=a|0;return c[a+100>>2]|0}function Zy(a){a=a|0;return 252}function _y(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ba(41);return 0}function $y(a){a=a|0;return a+52|0}function az(a){a=a|0;return +(+g[a+80>>2])}function bz(a){a=a|0;return +(+g[a+76>>2])}function cz(a){a=a|0;return 28}function dz(a){a=a|0;return c[a+72>>2]|0}function ez(a,b){a=a|0;b=b|0;return +Sb[a&15](b|0)}function fz(a){a=a|0;return a+40|0}function gz(a){a=a|0;return c[a+16>>2]|0}function hz(a){a=a|0;return +(+g[a+60>>2])}function iz(a){a=a|0;return +(+g[a+52>>2])}function jz(a){a=a|0;return +(+g[a+56>>2])}function kz(a){a=a|0;return a+108|0}function lz(a){a=a|0;return 212}function mz(a){a=a|0;return c[a+96>>2]|0}function nz(a){a=a|0;return a+16|0}function oz(a,b){a=a|0;b=b|0;return 1}function pz(a){a=a|0;return a+328|0}function qz(a){a=a|0;return a+28|0}function rz(a,b){a=a|0;b=b|0;i=a;j=b}function sz(a){a=a|0;return a+312|0}function tz(a){a=a|0;return 204}function uz(a,b){a=a|0;b=b|0;return}function vz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(42)}function wz(a){a=a|0;return a+36|0}function xz(a){a=a|0;return +(+g[a+44>>2])}function yz(a){a=a|0;return +(+g[a+40>>2])}function zz(a){a=a|0;return +(+g[a+36>>2])}function Az(a){a=a|0;return +(+g[a+48>>2])}function Bz(a){a=a|0;return 220}function Cz(a){a=a|0;return 256}function Dz(a){a=a|0;return +(+g[a+72>>2])}function Ez(a){a=a|0;c[a>>2]=8060;return}function Fz(a){a=a|0;return +(+g[a+24>>2])}function Gz(a){a=a|0;return +(+g[a+20>>2])}function Hz(a){a=a|0;return +(+g[a+32>>2])}function Iz(a){a=a|0;return +(+g[a+16>>2])}function Jz(a){a=a|0;return +(+g[a+28>>2])}function Kz(a){a=a|0;return a+12|0}function Lz(a){a=a|0;return 52}function Mz(a){a=a|0;return 68}function Nz(a){a=a|0;return 84}function Oz(a){a=a|0;return c[a+4>>2]|0}function Pz(a){a=a|0;return a+868|0}function Qz(a){a=a|0;return a+4|0}function Rz(a,b){a=a|0;b=b|0;Ab[a&255](b|0)}function Sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ba(37)}function Tz(a){a=a|0;return 24}function Uz(a,b){a=a|0;b=+b;return}function Vz(a){a=a|0;return +(+g[a+12>>2])}function Wz(a){a=a|0;return a+68|0}function Xz(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ba(9)}function Yz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ba(7)}function Zz(a){a=a|0;return +(+g[a+8>>2])}function _z(a){a=a|0;return +(+g[a+4>>2])}function $z(a){a=a|0;Ai(a);return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;ba(28);return 0.0}function bA(a){a=a|0;return a+708|0}function cA(a){a=a|0;return 488}function dA(a,b,c){a=a|0;b=b|0;c=c|0;ba(16);return 0}function eA(a){a=a|0;hd(a+-4|0);return}function fA(a){a=a|0;return 32}function gA(a){a=a|0;return a+76|0}function hA(a){a=a|0;return 60}function iA(a){a=a|0;return 428}function jA(a){a=a|0;return a+48|0}function kA(a){a=a|0;return a+288|0}function lA(a){a=a|0;c[a>>2]=4432;return}function mA(a){a=a|0;c[a>>2]=5008;return}function nA(a){a=a|0;return +(+g[a>>2])}function oA(a,b,c){a=a|0;b=b|0;c=+c;ba(19);return 0}function pA(a){a=a|0;return 11200}function qA(a){a=a|0;return 4}function rA(a){a=a|0;return 17831}function sA(a){a=a|0;return 17518}function tA(a){a=a|0;return 11009}function uA(a){a=a|0;return a|0}function vA(a){a=a|0;return 16532}function wA(a){a=a|0;return a+72|0}function xA(a,b,c){a=a|0;b=b|0;c=c|0;ba(38)}function yA(a){a=a|0;return a+8|0}function zA(a){a=a|0;return 16945}function AA(a){a=a|0;return 0}function BA(a){a=a|0;return 17105}function CA(a){a=a|0;return 17303}function DA(a){a=a|0;return 1}function EA(a,b,c){a=a|0;b=b|0;c=+c;ba(40)}function FA(a,b,c){a=a|0;b=+b;c=c|0;ba(11)}function GA(a){a=a|0;return 17939}function HA(a){a=a|0;return 17910}function IA(a){a=a|0;return 3}function JA(a){a=a|0;return 11635}function KA(a){a=a|0;return 17861}function LA(a){a=a|0;return 16353}function MA(a){a=a|0;return 17481}function NA(a){a=a|0;return 17454}function OA(a){a=a|0;return 17404}function PA(a){a=a|0;return 8}function QA(a,b,c){a=a|0;b=+b;c=+c;ba(15)}function RA(a){a=a|0;return 16500}function SA(a,b){a=a|0;b=b|0;ba(27);return 0}function TA(a){a=a|0;return 16457}function UA(a){a=a|0;return 16478}function VA(a){a=a|0;return 6}function WA(a){a=a|0;return 12}function XA(){return 4}function YA(a){a=a|0;return 16421}function ZA(a,b){a=a|0;b=+b;ba(32);return 0.0}function _A(a){a=a|0;return 2}function $A(a){a=a|0;return 17591}function aB(a){a=a|0;hd(a);return}function bB(a){a=a|0;return 22301}function cB(a){a=a|0;jc[a&3]()}function dB(){return 2}function eB(){return 1}function fB(){return 5}function gB(){return 3}function hB(){return 0}function iB(){vb()}function jB(a,b){a=a|0;b=b|0;ba(4)}function kB(a){a=a|0;i=a}function lB(a,b){a=a|0;b=+b;ba(1)}function mB(a){a=a|0;C=a}function nB(a){a=a|0;ba(20);return 0.0}function oB(a){a=a|0;ba(6);return 0}function pB(){return C|0}function qB(a){a=a|0;return}function rB(){return i|0}function sB(a){a=a|0;ba(2)}function tB(){ba(39)}
16
17// EMSCRIPTEN_END_FUNCS

Callers

nothing calls this directly

Calls 9

tcFunction · 0.85
vrFunction · 0.85
KtFunction · 0.85
usFunction · 0.85
ycFunction · 0.85
DcFunction · 0.85
hdFunction · 0.85
OfFunction · 0.85
riFunction · 0.85

Tested by

no test coverage detected