1 line
25 KiB
JavaScript
1 line
25 KiB
JavaScript
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,function(t){"use strict";const n=11102230246251565e-32,e=134217729,r=(3+8*n)*n;function s(t,n,e,r,s){let o,a,c,f,i=n[0],u=r[0],h=0,b=0;u>i==u>-i?(o=i,i=n[++h]):(o=u,u=r[++b]);let M=0;if(h<t&&b<e)for(u>i==u>-i?(a=i+o,c=o-(a-i),i=n[++h]):(a=u+o,c=o-(a-u),u=r[++b]),o=a,0!==c&&(s[M++]=c);h<t&&b<e;)u>i==u>-i?(a=o+i,f=a-o,c=o-(a-f)+(i-f),i=n[++h]):(a=o+u,f=a-o,c=o-(a-f)+(u-f),u=r[++b]),o=a,0!==c&&(s[M++]=c);for(;h<t;)a=o+i,f=a-o,c=o-(a-f)+(i-f),i=n[++h],o=a,0!==c&&(s[M++]=c);for(;b<e;)a=o+u,f=a-o,c=o-(a-f)+(u-f),u=r[++b],o=a,0!==c&&(s[M++]=c);return 0===o&&0!==M||(s[M++]=o),M}function o(t,n,e,r,o,a,c,f){return s(s(t,n,e,r,c),c,o,a,f)}function a(t,n,r,s){let o,a,c,f,i,u,h,b,M,l,d;h=e*r,l=h-(h-r),d=r-l;let p=n[0];o=p*r,h=e*p,b=h-(h-p),M=p-b,c=M*d-(o-b*l-M*l-b*d);let y=0;0!==c&&(s[y++]=c);for(let x=1;x<t;x++)p=n[x],f=p*r,h=e*p,b=h-(h-p),M=p-b,i=M*d-(f-b*l-M*l-b*d),a=o+i,u=a-o,c=o-(a-u)+(i-u),0!==c&&(s[y++]=c),o=f+a,c=a-(o-f),0!==c&&(s[y++]=c);return 0===o&&0!==y||(s[y++]=o),y}function c(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function f(t,n){let e=n[0];for(let r=1;r<t;r++)e+=n[r];return e}function i(t){return new Float64Array(t)}const u=i(4),h=i(8),b=i(12),M=i(16),l=i(4);const d=i(4),p=i(4),y=i(4),x=i(4),g=i(4),m=i(4),T=i(4),j=i(4),w=i(4),A=i(8),F=i(8),k=i(8),q=i(4),v=i(8),z=i(8),B=i(16),C=i(12);let D=i(192),E=i(192);function G(t,n,e){t=s(t,D,n,e,E);const r=D;return D=E,E=r,t}function H(t,n,r,s,o,a,c,f){let i,u,h,b,M,l,d,p,y,x,g,m,T,j,w;return 0===t?0===n?(c[0]=0,f[0]=0,1):(w=-n,x=w*r,u=e*w,h=u-(u-w),b=w-h,u=e*r,M=u-(u-r),l=r-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,x=n*o,u=e*n,h=u-(u-n),b=n-h,u=e*o,M=u-(u-o),l=o-M,f[0]=b*l-(x-h*M-b*M-h*l),f[1]=x,2):0===n?(x=t*s,u=e*t,h=u-(u-t),b=t-h,u=e*s,M=u-(u-s),l=s-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,w=-t,x=w*a,u=e*w,h=u-(u-w),b=w-h,u=e*a,M=u-(u-a),l=a-M,f[0]=b*l-(x-h*M-b*M-h*l),f[1]=x,2):(x=t*s,u=e*t,h=u-(u-t),b=t-h,u=e*s,M=u-(u-s),l=s-M,g=b*l-(x-h*M-b*M-h*l),m=n*r,u=e*n,h=u-(u-n),b=n-h,u=e*r,M=u-(u-r),l=r-M,T=b*l-(m-h*M-b*M-h*l),d=g-T,i=g-d,c[0]=g-(d+i)+(i-T),p=x+d,i=p-x,y=x-(p-i)+(d-i),d=y-m,i=y-d,c[1]=y-(d+i)+(i-m),j=p+d,i=j-p,c[2]=p-(j-i)+(d-i),c[3]=j,x=n*o,u=e*n,h=u-(u-n),b=n-h,u=e*o,M=u-(u-o),l=o-M,g=b*l-(x-h*M-b*M-h*l),m=t*a,u=e*t,h=u-(u-t),b=t-h,u=e*a,M=u-(u-a),l=a-M,T=b*l-(m-h*M-b*M-h*l),d=g-T,i=g-d,f[0]=g-(d+i)+(i-T),p=x+d,i=p-x,y=x-(p-i)+(d-i),d=y-m,i=y-d,f[1]=y-(d+i)+(i-m),j=p+d,i=j-p,f[2]=p-(j-i)+(d-i),f[3]=j,4)}function I(t,n,r,s,o){let a,c,f,i,u,h,b,M,l,d,p,y,x;return p=n*r,c=e*n,f=c-(c-n),i=n-f,c=e*r,u=c-(c-r),h=r-u,y=i*h-(p-f*u-i*u-f*h),c=e*s,u=c-(c-s),h=s-u,b=y*s,c=e*y,f=c-(c-y),i=y-f,q[0]=i*h-(b-f*u-i*u-f*h),M=p*s,c=e*p,f=c-(c-p),i=p-f,d=i*h-(M-f*u-i*u-f*h),l=b+d,a=l-b,q[1]=b-(l-a)+(d-a),x=M+l,q[2]=l-(x-M),q[3]=x,t=G(t,4,q),0!==o&&(c=e*o,u=c-(c-o),h=o-u,b=y*o,c=e*y,f=c-(c-y),i=y-f,q[0]=i*h-(b-f*u-i*u-f*h),M=p*o,c=e*p,f=c-(c-p),i=p-f,d=i*h-(M-f*u-i*u-f*h),l=b+d,a=l-b,q[1]=b-(l-a)+(d-a),x=M+l,q[2]=l-(x-M),q[3]=x,t=G(t,4,q)),t}const J=i(4),K=i(4),L=i(4),N=i(4),O=i(4),P=i(4),Q=i(4),R=i(4),S=i(8),U=i(8),V=i(8),W=i(8),X=i(8),Y=i(8),Z=i(8),$=i(8),_=i(8),tt=i(4),nt=i(4),et=i(4),rt=i(8),st=i(16),ot=i(16),at=i(16),ct=i(32),ft=i(32),it=i(48),ut=i(64);let ht=i(1152),bt=i(1152);function Mt(t,n,e){t=s(t,ht,n,e,bt);const r=ht;return ht=bt,bt=r,t}const lt=i(4),dt=i(4),pt=i(4),yt=i(4),xt=i(4),gt=i(4),mt=i(4),Tt=i(4),jt=i(4),wt=i(4),At=i(24),Ft=i(24),kt=i(24),qt=i(24),vt=i(24),zt=i(24),Bt=i(24),Ct=i(24),Dt=i(24),Et=i(24),Gt=i(1152),Ht=i(1152),It=i(1152),Jt=i(1152),Kt=i(1152),Lt=i(2304),Nt=i(2304),Ot=i(3456),Pt=i(5760),Qt=i(8),Rt=i(8),St=i(8),Ut=i(16),Vt=i(24),Wt=i(48),Xt=i(48),Yt=i(96),Zt=i(192),$t=i(384),_t=i(384),tn=i(384),nn=i(768);function en(t,n,e,r,s,c,f){return o(a(4,t,r,Qt),Qt,a(4,n,s,Rt),Rt,a(4,e,c,St),St,Ut,f)}function rn(t,n,e,r,f,i,u,h,b,M,l,d){const p=s(s(t,n,e,r,Wt),Wt,c(s(f,i,u,h,Xt),Xt),Xt,Yt);return o(a(a(p,Yt,b,Zt),Zt,b,$t),$t,a(a(p,Yt,M,Zt),Zt,M,_t),_t,a(a(p,Yt,l,Zt),Zt,l,tn),tn,nn,d)}const sn=i(96),on=i(96),an=i(96),cn=i(1152);function fn(t,n,e,r,s,c,f,i,u,h){const b=en(t,n,e,r,s,c,Vt);return o(a(a(b,Vt,f,Wt),Wt,f,sn),sn,a(a(b,Vt,i,Wt),Wt,i,on),on,a(a(b,Vt,u,Wt),Wt,u,an),an,Zt,h)}function un(t,n,a,i,u,h,b,M,l,d,p,y,x,g,m,T){let j,w,A,F,k,q,v,z,B,C,D,E,G,H,I,J,K,L,N,O,P,Q,R,S,U,V,W,X,Y,Z,$;const _=t-x,tt=i-x,nt=b-x,et=d-x,rt=n-g,st=u-g,ot=M-g,at=p-g,ct=a-m,ft=h-m,it=l-m,ut=y-m;X=_*st,O=e*_,P=O-(O-_),Q=_-P,O=e*st,R=O-(O-st),S=st-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=tt*rt,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*rt,R=O-(O-rt),S=rt-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,lt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,lt[1]=W-(U+N)+(N-Z),j=V+U,N=j-V,lt[2]=V-(j-N)+(U-N),lt[3]=j,X=tt*ot,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*ot,R=O-(O-ot),S=ot-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=nt*st,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*st,R=O-(O-st),S=st-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,dt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,dt[1]=W-(U+N)+(N-Z),w=V+U,N=w-V,dt[2]=V-(w-N)+(U-N),dt[3]=w,X=nt*at,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*at,R=O-(O-at),S=at-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=et*ot,O=e*et,P=O-(O-et),Q=et-P,O=e*ot,R=O-(O-ot),S=ot-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,pt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,pt[1]=W-(U+N)+(N-Z),A=V+U,N=A-V,pt[2]=V-(A-N)+(U-N),pt[3]=A,X=et*rt,O=e*et,P=O-(O-et),Q=et-P,O=e*rt,R=O-(O-rt),S=rt-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=_*at,O=e*_,P=O-(O-_),Q=_-P,O=e*at,R=O-(O-at),S=at-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,jt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,jt[1]=W-(U+N)+(N-Z),F=V+U,N=F-V,jt[2]=V-(F-N)+(U-N),jt[3]=F,X=_*ot,O=e*_,P=O-(O-_),Q=_-P,O=e*ot,R=O-(O-ot),S=ot-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=nt*rt,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*rt,R=O-(O-rt),S=rt-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,gt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,gt[1]=W-(U+N)+(N-Z),k=V+U,N=k-V,gt[2]=V-(k-N)+(U-N),gt[3]=k,X=tt*at,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*at,R=O-(O-at),S=at-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=et*st,O=e*et,P=O-(O-et),Q=et-P,O=e*st,R=O-(O-st),S=st-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,mt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,mt[1]=W-(U+N)+(N-Z),q=V+U,N=q-V,mt[2]=V-(q-N)+(U-N),mt[3]=q;let ht=f(s(s(c(fn(dt,pt,mt,ut,ft,-it,_,rt,ct,Gt),Gt),Gt,fn(pt,jt,gt,ct,it,ut,tt,st,ft,Ht),Ht,Lt),Lt,s(c(fn(jt,lt,mt,ft,ut,ct,nt,ot,it,It),It),It,fn(lt,dt,gt,it,ct,-ft,et,at,ut,Jt),Jt,Nt),Nt,cn),cn),bt=5551115123125792e-31*T;if(ht>=bt||-ht>=bt)return ht;if(N=t-_,v=t-(_+N)+(N-x),N=n-rt,D=n-(rt+N)+(N-g),N=a-ct,I=a-(ct+N)+(N-m),N=i-tt,z=i-(tt+N)+(N-x),N=u-st,E=u-(st+N)+(N-g),N=h-ft,J=h-(ft+N)+(N-m),N=b-nt,B=b-(nt+N)+(N-x),N=M-ot,G=M-(ot+N)+(N-g),N=l-it,K=l-(it+N)+(N-m),N=d-et,C=d-(et+N)+(N-x),N=p-at,H=p-(at+N)+(N-g),N=y-ut,L=y-(ut+N)+(N-m),0===v&&0===D&&0===I&&0===z&&0===E&&0===J&&0===B&&0===G&&0===K&&0===C&&0===H&&0===L)return ht;bt=8751425667295619e-46*T+r*Math.abs(ht);const Mt=_*E+st*v-(rt*z+tt*D),Qt=tt*G+ot*z-(st*B+nt*E),Rt=nt*H+at*B-(ot*C+et*G),St=et*D+rt*C-(at*v+_*H),Ut=_*G+ot*v-(rt*B+nt*D),Vt=tt*H+at*z-(st*C+et*E);return ht+=(tt*tt+st*st+ft*ft)*(it*St+ut*Ut+ct*Rt+(K*F+L*k+I*A))+(et*et+at*at+ut*ut)*(ct*Qt-ft*Ut+it*Mt+(I*w-J*k+K*j))-((_*_+rt*rt+ct*ct)*(ft*Rt-it*Vt+ut*Qt+(J*A-K*q+L*w))+(nt*nt+ot*ot+it*it)*(ut*Mt+ct*Vt+ft*St+(L*j+I*q+J*F)))+2*((tt*z+st*E+ft*J)*(it*F+ut*k+ct*A)+(et*C+at*H+ut*L)*(ct*w-ft*k+it*j)-((_*v+rt*D+ct*I)*(ft*A-it*q+ut*w)+(nt*B+ot*G+it*K)*(ut*j+ct*q+ft*F))),ht>=bt||-ht>=bt?ht:function(t,n,r,s,a,c,f,i,u,h,b,M,l,d,p){let y,x,g,m,T,j,w,A,F,k,q,v,z,B;k=t*a,x=e*t,g=x-(x-t),m=t-g,x=e*a,T=x-(x-a),j=a-T,q=m*j-(k-g*T-m*T-g*j),v=s*n,x=e*s,g=x-(x-s),m=s-g,x=e*n,T=x-(x-n),j=n-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,lt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,lt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,lt[2]=A-(B-y)+(w-y),lt[3]=B,k=s*i,x=e*s,g=x-(x-s),m=s-g,x=e*i,T=x-(x-i),j=i-T,q=m*j-(k-g*T-m*T-g*j),v=f*a,x=e*f,g=x-(x-f),m=f-g,x=e*a,T=x-(x-a),j=a-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,dt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,dt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,dt[2]=A-(B-y)+(w-y),dt[3]=B,k=f*b,x=e*f,g=x-(x-f),m=f-g,x=e*b,T=x-(x-b),j=b-T,q=m*j-(k-g*T-m*T-g*j),v=h*i,x=e*h,g=x-(x-h),m=h-g,x=e*i,T=x-(x-i),j=i-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,pt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,pt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,pt[2]=A-(B-y)+(w-y),pt[3]=B,k=h*d,x=e*h,g=x-(x-h),m=h-g,x=e*d,T=x-(x-d),j=d-T,q=m*j-(k-g*T-m*T-g*j),v=l*b,x=e*l,g=x-(x-l),m=l-g,x=e*b,T=x-(x-b),j=b-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,yt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,yt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,yt[2]=A-(B-y)+(w-y),yt[3]=B,k=l*n,x=e*l,g=x-(x-l),m=l-g,x=e*n,T=x-(x-n),j=n-T,q=m*j-(k-g*T-m*T-g*j),v=t*d,x=e*t,g=x-(x-t),m=t-g,x=e*d,T=x-(x-d),j=d-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,xt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,xt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,xt[2]=A-(B-y)+(w-y),xt[3]=B,k=t*i,x=e*t,g=x-(x-t),m=t-g,x=e*i,T=x-(x-i),j=i-T,q=m*j-(k-g*T-m*T-g*j),v=f*n,x=e*f,g=x-(x-f),m=f-g,x=e*n,T=x-(x-n),j=n-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,gt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,gt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,gt[2]=A-(B-y)+(w-y),gt[3]=B,k=s*b,x=e*s,g=x-(x-s),m=s-g,x=e*b,T=x-(x-b),j=b-T,q=m*j-(k-g*T-m*T-g*j),v=h*a,x=e*h,g=x-(x-h),m=h-g,x=e*a,T=x-(x-a),j=a-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,mt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,mt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,mt[2]=A-(B-y)+(w-y),mt[3]=B,k=f*d,x=e*f,g=x-(x-f),m=f-g,x=e*d,T=x-(x-d),j=d-T,q=m*j-(k-g*T-m*T-g*j),v=l*i,x=e*l,g=x-(x-l),m=l-g,x=e*i,T=x-(x-i),j=i-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,Tt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,Tt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,Tt[2]=A-(B-y)+(w-y),Tt[3]=B,k=h*n,x=e*h,g=x-(x-h),m=h-g,x=e*n,T=x-(x-n),j=n-T,q=m*j-(k-g*T-m*T-g*j),v=t*b,x=e*t,g=x-(x-t),m=t-g,x=e*b,T=x-(x-b),j=b-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,jt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,jt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,jt[2]=A-(B-y)+(w-y),jt[3]=B,k=l*a,x=e*l,g=x-(x-l),m=l-g,x=e*a,T=x-(x-a),j=a-T,q=m*j-(k-g*T-m*T-g*j),v=s*d,x=e*s,g=x-(x-s),m=s-g,x=e*d,T=x-(x-d),j=d-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,wt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,wt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,wt[2]=A-(B-y)+(w-y),wt[3]=B;const C=en(lt,dt,gt,u,r,-c,At),D=en(dt,pt,mt,M,c,-u,Ft),E=en(pt,yt,Tt,p,u,-M,kt),G=en(yt,xt,jt,r,M,-p,qt),H=en(xt,lt,wt,c,p,-r,vt),I=en(lt,mt,jt,M,r,c,zt),J=en(dt,Tt,wt,p,c,u,Bt),K=en(pt,jt,gt,r,u,M,Ct),L=en(yt,wt,mt,c,M,p,Dt),N=en(xt,gt,Tt,u,p,r,Et),O=o(rn(E,kt,J,Bt,L,Dt,D,Ft,t,n,r,Gt),Gt,rn(G,qt,K,Ct,N,Et,E,kt,s,a,c,Ht),Ht,o(rn(H,vt,L,Dt,I,zt,G,qt,f,i,u,It),It,rn(C,At,N,Et,J,Bt,H,vt,h,b,M,Jt),Jt,rn(D,Ft,I,zt,K,Ct,C,At,l,d,p,Kt),Kt,Nt,Ot),Ot,Lt,Pt);return Pt[O-1]}(t,n,a,i,u,h,b,M,l,d,p,y,x,g,m)}t.incircle=function(t,n,c,i,u,h,b,M){const l=t-b,d=c-b,p=u-b,y=n-M,x=i-M,g=h-M,m=d*g,T=p*x,j=l*l+y*y,w=p*y,A=l*g,F=d*d+x*x,k=l*x,q=d*y,v=p*p+g*g,z=j*(m-T)+F*(w-A)+v*(k-q),B=(Math.abs(m)+Math.abs(T))*j+(Math.abs(w)+Math.abs(A))*F+(Math.abs(k)+Math.abs(q))*v,C=11102230246251577e-31*B;return z>C||-z>C?z:function(t,n,c,i,u,h,b,M,l){let d,p,y,x,g,m,T,j,w,A,F,k,q,v,z,B,C,D,E,G,H,I,bt,lt,dt,pt,yt,xt,gt,mt,Tt,jt,wt,At,Ft;const kt=t-b,qt=c-b,vt=u-b,zt=n-M,Bt=i-M,Ct=h-M;Tt=qt*Ct,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*Bt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,J[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,J[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,J[2]=gt-(Ft-I)+(xt-I),J[3]=Ft,Tt=vt*zt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*Ct,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,K[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,K[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,K[2]=gt-(Ft-I)+(xt-I),K[3]=Ft,Tt=kt*Bt,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*zt,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,L[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,L[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,L[2]=gt-(Ft-I)+(xt-I),L[3]=Ft,d=s(s(s(a(a(4,J,kt,rt),rt,kt,st),st,a(a(4,J,zt,rt),rt,zt,ot),ot,ct),ct,s(a(a(4,K,qt,rt),rt,qt,st),st,a(a(4,K,Bt,rt),rt,Bt,ot),ot,ft),ft,ut),ut,s(a(a(4,L,vt,rt),rt,vt,st),st,a(a(4,L,Ct,rt),rt,Ct,ot),ot,ct),ct,ht);let Dt=f(d,ht),Et=4440892098500632e-31*l;if(Dt>=Et||-Dt>=Et)return Dt;if(I=t-kt,p=t-(kt+I)+(I-b),I=n-zt,g=n-(zt+I)+(I-M),I=c-qt,y=c-(qt+I)+(I-b),I=i-Bt,m=i-(Bt+I)+(I-M),I=u-vt,x=u-(vt+I)+(I-b),I=h-Ct,T=h-(Ct+I)+(I-M),0===p&&0===y&&0===x&&0===g&&0===m&&0===T)return Dt;if(Et=5423418723394464e-46*l+r*Math.abs(Dt),Dt+=(kt*kt+zt*zt)*(qt*T+Ct*y-(Bt*x+vt*m))+2*(kt*p+zt*g)*(qt*Ct-Bt*vt)+((qt*qt+Bt*Bt)*(vt*g+zt*x-(Ct*p+kt*T))+2*(qt*y+Bt*m)*(vt*zt-Ct*kt))+((vt*vt+Ct*Ct)*(kt*m+Bt*p-(zt*y+qt*g))+2*(vt*x+Ct*T)*(kt*Bt-zt*qt)),Dt>=Et||-Dt>=Et)return Dt;if(0===y&&0===m&&0===x&&0===T||(Tt=kt*kt,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=zt*zt,bt=e*zt,lt=bt-(bt-zt),dt=zt-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,N[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,N[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,N[2]=gt-(Ft-I)+(xt-I),N[3]=Ft),0===x&&0===T&&0===p&&0===g||(Tt=qt*qt,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=Bt*Bt,bt=e*Bt,lt=bt-(bt-Bt),dt=Bt-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,O[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,O[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,O[2]=gt-(Ft-I)+(xt-I),O[3]=Ft),0===p&&0===g&&0===y&&0===m||(Tt=vt*vt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=Ct*Ct,bt=e*Ct,lt=bt-(bt-Ct),dt=Ct-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,P[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,P[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,P[2]=gt-(Ft-I)+(xt-I),P[3]=Ft),0!==p&&(j=a(4,J,p,S),d=Mt(d,o(a(j,S,2*kt,st),st,a(a(4,P,p,rt),rt,Bt,ot),ot,a(a(4,O,p,rt),rt,-Ct,at),at,ct,it),it)),0!==g&&(w=a(4,J,g,U),d=Mt(d,o(a(w,U,2*zt,st),st,a(a(4,O,g,rt),rt,vt,ot),ot,a(a(4,P,g,rt),rt,-qt,at),at,ct,it),it)),0!==y&&(A=a(4,K,y,V),d=Mt(d,o(a(A,V,2*qt,st),st,a(a(4,N,y,rt),rt,Ct,ot),ot,a(a(4,P,y,rt),rt,-zt,at),at,ct,it),it)),0!==m&&(F=a(4,K,m,W),d=Mt(d,o(a(F,W,2*Bt,st),st,a(a(4,P,m,rt),rt,kt,ot),ot,a(a(4,N,m,rt),rt,-vt,at),at,ct,it),it)),0!==x&&(k=a(4,L,x,X),d=Mt(d,o(a(k,X,2*vt,st),st,a(a(4,O,x,rt),rt,zt,ot),ot,a(a(4,N,x,rt),rt,-Bt,at),at,ct,it),it)),0!==T&&(q=a(4,L,T,Y),d=Mt(d,o(a(q,Y,2*Ct,st),st,a(a(4,N,T,rt),rt,qt,ot),ot,a(a(4,O,T,rt),rt,-kt,at),at,ct,it),it)),0!==p||0!==g){if(0!==y||0!==m||0!==x||0!==T?(Tt=y*Ct,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*T,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,Tt=x*-Bt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*-Bt,pt=bt-(bt- -Bt),yt=-Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*-m,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*-m,pt=bt-(bt- -m),yt=-m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,z=s(4,Q,4,R,$),Tt=y*T,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=x*m,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,nt[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,nt[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,nt[2]=gt-(Ft-I)+(xt-I),nt[3]=Ft,D=4):($[0]=0,z=1,nt[0]=0,D=1),0!==p){const t=a(z,$,p,at);d=Mt(d,s(a(j,S,p,st),st,a(t,at,2*kt,ct),ct,it),it);const n=a(D,nt,p,rt);d=Mt(d,o(a(n,rt,2*kt,st),st,a(n,rt,p,ot),ot,a(t,at,p,ct),ct,ft,ut),ut),0!==m&&(d=Mt(d,a(a(4,P,p,rt),rt,m,st),st)),0!==T&&(d=Mt(d,a(a(4,O,-p,rt),rt,T,st),st))}if(0!==g){const t=a(z,$,g,at);d=Mt(d,s(a(w,U,g,st),st,a(t,at,2*zt,ct),ct,it),it);const n=a(D,nt,g,rt);d=Mt(d,o(a(n,rt,2*zt,st),st,a(n,rt,g,ot),ot,a(t,at,g,ct),ct,ft,ut),ut)}}if(0!==y||0!==m){if(0!==x||0!==T||0!==p||0!==g?(Tt=x*zt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*g,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,G=-Ct,H=-T,Tt=p*G,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*G,pt=bt-(bt-G),yt=G-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*H,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*H,pt=bt-(bt-H),yt=H-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,B=s(4,Q,4,R,_),Tt=x*g,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=p*T,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,et[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,et[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,et[2]=gt-(Ft-I)+(xt-I),et[3]=Ft,E=4):(_[0]=0,B=1,et[0]=0,E=1),0!==y){const t=a(B,_,y,at);d=Mt(d,s(a(A,V,y,st),st,a(t,at,2*qt,ct),ct,it),it);const n=a(E,et,y,rt);d=Mt(d,o(a(n,rt,2*qt,st),st,a(n,rt,y,ot),ot,a(t,at,y,ct),ct,ft,ut),ut),0!==T&&(d=Mt(d,a(a(4,N,y,rt),rt,T,st),st)),0!==g&&(d=Mt(d,a(a(4,P,-y,rt),rt,g,st),st))}if(0!==m){const t=a(B,_,m,at);d=Mt(d,s(a(F,W,m,st),st,a(t,at,2*Bt,ct),ct,it),it);const n=a(E,et,m,rt);d=Mt(d,o(a(n,rt,2*Bt,st),st,a(n,rt,m,ot),ot,a(t,at,m,ct),ct,ft,ut),ut)}}if(0!==x||0!==T){if(0!==p||0!==g||0!==y||0!==m?(Tt=p*Bt,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*m,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,G=-zt,H=-g,Tt=y*G,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*G,pt=bt-(bt-G),yt=G-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*H,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*H,pt=bt-(bt-H),yt=H-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,v=s(4,Q,4,R,Z),Tt=p*m,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=y*g,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,tt[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,tt[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,tt[2]=gt-(Ft-I)+(xt-I),tt[3]=Ft,C=4):(Z[0]=0,v=1,tt[0]=0,C=1),0!==x){const t=a(v,Z,x,at);d=Mt(d,s(a(k,X,x,st),st,a(t,at,2*vt,ct),ct,it),it);const n=a(C,tt,x,rt);d=Mt(d,o(a(n,rt,2*vt,st),st,a(n,rt,x,ot),ot,a(t,at,x,ct),ct,ft,ut),ut),0!==g&&(d=Mt(d,a(a(4,O,x,rt),rt,g,st),st)),0!==m&&(d=Mt(d,a(a(4,N,-x,rt),rt,m,st),st))}if(0!==T){const t=a(v,Z,T,at);d=Mt(d,s(a(q,Y,T,st),st,a(t,at,2*Ct,ct),ct,it),it);const n=a(C,tt,T,rt);d=Mt(d,o(a(n,rt,2*Ct,st),st,a(n,rt,T,ot),ot,a(t,at,T,ct),ct,ft,ut),ut)}}return ht[d-1]}(t,n,c,i,u,h,b,M,B)},t.incirclefast=function(t,n,e,r,s,o,a,c){const f=t-a,i=n-c,u=e-a,h=r-c,b=s-a,M=o-c;return(f*f+i*i)*(u*M-b*h)+(u*u+h*h)*(b*i-f*M)+(b*b+M*M)*(f*h-u*i)},t.insphere=function(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=i-b,g=n-M,m=s-M,T=c-M,j=u-M,w=e-l,A=o-l,F=f-l,k=h-l,q=d*m,v=p*g,z=q-v,B=p*T,C=y*m,D=B-C,E=y*j,G=x*T,H=E-G,I=x*g,J=d*j,K=I-J,L=d*T,N=y*g,O=L-N,P=p*j,Q=x*m,R=P-Q,S=d*d+g*g+w*w,U=p*p+m*m+A*A,V=y*y+T*T+F*F,W=x*x+j*j+k*k,X=V*(k*z+w*R+A*K)-W*(w*D-A*O+F*z)+(S*(A*H-F*R+k*D)-U*(F*K+k*O+w*H)),Y=Math.abs(w),Z=Math.abs(A),$=Math.abs(F),_=Math.abs(k),tt=Math.abs(q)+Math.abs(v),nt=Math.abs(B)+Math.abs(C),et=Math.abs(E)+Math.abs(G),rt=Math.abs(I)+Math.abs(J),st=Math.abs(L)+Math.abs(N),ot=Math.abs(P)+Math.abs(Q),at=(et*Z+ot*$+nt*_)*S+(rt*$+st*_+et*Y)*U+(tt*_+ot*Y+rt*Z)*V+(nt*Y+st*Z+tt*$)*W,ct=17763568394002532e-31*at;return X>ct||-X>ct?X:-un(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l,at)},t.inspherefast=function(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=i-b,g=n-M,m=s-M,T=c-M,j=u-M,w=e-l,A=o-l,F=f-l,k=h-l,q=d*m-p*g,v=p*T-y*m,z=y*j-x*T,B=x*g-d*j,C=d*T-y*g,D=p*j-x*m;return(y*y+T*T+F*F)*(k*q+w*D+A*B)-(x*x+j*j+k*k)*(w*v-A*C+F*q)+((d*d+g*g+w*w)*(A*z-F*D+k*v)-(p*p+m*m+A*A)*(F*B+k*C+w*z))},t.orient2d=function(t,n,o,a,c,i){const d=(n-i)*(o-c),p=(t-c)*(a-i),y=d-p,x=Math.abs(d+p);return Math.abs(y)>=33306690738754716e-32*x?y:-function(t,n,o,a,c,i,d){let p,y,x,g,m,T,j,w,A,F,k,q,v,z,B,C,D,E;const G=t-c,H=o-c,I=n-i,J=a-i;z=G*J,T=e*G,j=T-(T-G),w=G-j,T=e*J,A=T-(T-J),F=J-A,B=w*F-(z-j*A-w*A-j*F),C=I*H,T=e*I,j=T-(T-I),w=I-j,T=e*H,A=T-(T-H),F=H-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,u[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,u[1]=v-(k+m)+(m-C),E=q+k,m=E-q,u[2]=q-(E-m)+(k-m),u[3]=E;let K=f(4,u),L=22204460492503146e-32*d;if(K>=L||-K>=L)return K;if(m=t-G,p=t-(G+m)+(m-c),m=o-H,x=o-(H+m)+(m-c),m=n-I,y=n-(I+m)+(m-i),m=a-J,g=a-(J+m)+(m-i),0===p&&0===y&&0===x&&0===g)return K;if(L=11093356479670487e-47*d+r*Math.abs(K),K+=G*g+J*p-(I*x+H*y),K>=L||-K>=L)return K;z=p*J,T=e*p,j=T-(T-p),w=p-j,T=e*J,A=T-(T-J),F=J-A,B=w*F-(z-j*A-w*A-j*F),C=y*H,T=e*y,j=T-(T-y),w=y-j,T=e*H,A=T-(T-H),F=H-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const N=s(4,u,4,l,h);z=G*g,T=e*G,j=T-(T-G),w=G-j,T=e*g,A=T-(T-g),F=g-A,B=w*F-(z-j*A-w*A-j*F),C=I*x,T=e*I,j=T-(T-I),w=I-j,T=e*x,A=T-(T-x),F=x-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const O=s(N,h,4,l,b);z=p*g,T=e*p,j=T-(T-p),w=p-j,T=e*g,A=T-(T-g),F=g-A,B=w*F-(z-j*A-w*A-j*F),C=y*x,T=e*y,j=T-(T-y),w=y-j,T=e*x,A=T-(T-x),F=x-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const P=s(O,b,4,l,M);return M[P-1]}(t,n,o,a,c,i,x)},t.orient2dfast=function(t,n,e,r,s,o){return(n-o)*(e-s)-(t-s)*(r-o)},t.orient3d=function(t,n,o,c,i,u,h,b,M,l,q,E){const J=t-l,K=c-l,L=h-l,N=n-q,O=i-q,P=b-q,Q=o-E,R=u-E,S=M-E,U=K*P,V=L*O,W=L*N,X=J*P,Y=J*O,Z=K*N,$=Q*(U-V)+R*(W-X)+S*(Y-Z),_=(Math.abs(U)+Math.abs(V))*Math.abs(Q)+(Math.abs(W)+Math.abs(X))*Math.abs(R)+(Math.abs(Y)+Math.abs(Z))*Math.abs(S),tt=7771561172376103e-31*_;return $>tt||-$>tt?$:function(t,n,o,c,i,u,h,b,M,l,q,E,J){let K,L,N,O,P,Q,R,S,U,V,W,X,Y,Z,$,_,tt,nt,et,rt,st,ot,at,ct;const ft=t-l,it=c-l,ut=h-l,ht=n-q,bt=i-q,Mt=b-q,lt=o-E,dt=u-E,pt=M-E;rt=it*Mt,X=e*it,Y=X-(X-it),Z=it-Y,X=e*Mt,$=X-(X-Mt),_=Mt-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=ut*bt,X=e*ut,Y=X-(X-ut),Z=ut-Y,X=e*bt,$=X-(X-bt),_=bt-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,d[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,d[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,d[2]=nt-(ct-W)+(tt-W),d[3]=ct,rt=ut*ht,X=e*ut,Y=X-(X-ut),Z=ut-Y,X=e*ht,$=X-(X-ht),_=ht-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=ft*Mt,X=e*ft,Y=X-(X-ft),Z=ft-Y,X=e*Mt,$=X-(X-Mt),_=Mt-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,p[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,p[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,p[2]=nt-(ct-W)+(tt-W),p[3]=ct,rt=ft*bt,X=e*ft,Y=X-(X-ft),Z=ft-Y,X=e*bt,$=X-(X-bt),_=bt-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=it*ht,X=e*it,Y=X-(X-it),Z=it-Y,X=e*ht,$=X-(X-ht),_=ht-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,y[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,y[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,y[2]=nt-(ct-W)+(tt-W),y[3]=ct,K=s(s(a(4,d,lt,v),v,a(4,p,dt,z),z,B),B,a(4,y,pt,v),v,D);let yt=f(K,D),xt=3330669073875473e-31*J;if(yt>=xt||-yt>=xt)return yt;if(W=t-ft,L=t-(ft+W)+(W-l),W=c-it,N=c-(it+W)+(W-l),W=h-ut,O=h-(ut+W)+(W-l),W=n-ht,P=n-(ht+W)+(W-q),W=i-bt,Q=i-(bt+W)+(W-q),W=b-Mt,R=b-(Mt+W)+(W-q),W=o-lt,S=o-(lt+W)+(W-E),W=u-dt,U=u-(dt+W)+(W-E),W=M-pt,V=M-(pt+W)+(W-E),0===L&&0===N&&0===O&&0===P&&0===Q&&0===R&&0===S&&0===U&&0===V)return yt;if(xt=32047474274603644e-47*J+r*Math.abs(yt),yt+=lt*(it*R+Mt*N-(bt*O+ut*Q))+S*(it*Mt-bt*ut)+dt*(ut*P+ht*O-(Mt*L+ft*R))+U*(ut*ht-Mt*ft)+pt*(ft*Q+bt*L-(ht*N+it*P))+V*(ft*bt-ht*it),yt>=xt||-yt>=xt)return yt;const gt=H(L,P,it,bt,ut,Mt,x,g),mt=H(N,Q,ut,Mt,ft,ht,m,T),Tt=H(O,R,ft,ht,it,bt,j,w),jt=s(mt,m,Tt,w,A);K=G(K,a(jt,A,lt,B),B);const wt=s(Tt,j,gt,g,F);K=G(K,a(wt,F,dt,B),B);const At=s(gt,x,mt,T,k);return K=G(K,a(At,k,pt,B),B),0!==S&&(K=G(K,a(4,d,S,C),C),K=G(K,a(jt,A,S,B),B)),0!==U&&(K=G(K,a(4,p,U,C),C),K=G(K,a(wt,F,U,B),B)),0!==V&&(K=G(K,a(4,y,V,C),C),K=G(K,a(At,k,V,B),B)),0!==L&&(0!==Q&&(K=I(K,L,Q,pt,V)),0!==R&&(K=I(K,-L,R,dt,U))),0!==N&&(0!==R&&(K=I(K,N,R,lt,S)),0!==P&&(K=I(K,-N,P,pt,V))),0!==O&&(0!==P&&(K=I(K,O,P,dt,U)),0!==Q&&(K=I(K,-O,Q,lt,S))),D[K-1]}(t,n,o,c,i,u,h,b,M,l,q,E,_)},t.orient3dfast=function(t,n,e,r,s,o,a,c,f,i,u,h){const b=n-u,M=s-u,l=c-u,d=e-h,p=o-h,y=f-h;return(t-i)*(M*y-p*l)+(r-i)*(l*d-y*b)+(a-i)*(b*p-d*M)}});
|