You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/3385.467d578e.async.js

4213 lines
2.3 MiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

!(function(){var g8=Object.defineProperty,p8=Object.defineProperties;var m8=Object.getOwnPropertyDescriptors;var x2=Object.getOwnPropertySymbols;var y8=Object.prototype.hasOwnProperty,_8=Object.prototype.propertyIsEnumerable;var jo=Math.pow,xp=(we,Me,X)=>Me in we?g8(we,Me,{enumerable:!0,configurable:!0,writable:!0,value:X}):we[Me]=X,yu=(we,Me)=>{for(var X in Me||(Me={}))y8.call(Me,X)&&xp(we,X,Me[X]);if(x2)for(var X of x2(Me))_8.call(Me,X)&&xp(we,X,Me[X]);return we},bp=(we,Me)=>p8(we,m8(Me));var Qr=(we,Me,X)=>xp(we,typeof Me!="symbol"?Me+"":Me,X);(self.webpackChunk=self.webpackChunk||[]).push([[3385],{50865:function(we,Me,X){"use strict";X.d(Me,{kJ:function(){return jd},RN:function(){return qF}});var K={};X.r(K),X.d(K,{add:function(){return Ma},adjoint:function(){return Tt},clone:function(){return Ke},copy:function(){return He},create:function(){return De},determinant:function(){return It},equals:function(){return Kt},exactEquals:function(){return Ut},frob:function(){return Kr},fromQuat:function(){return Cn},fromQuat2:function(){return Mn},fromRotation:function(){return Zt},fromRotationTranslation:function(){return gn},fromRotationTranslationScale:function(){return Yn},fromRotationTranslationScaleOrigin:function(){return Gn},fromScaling:function(){return ln},fromTranslation:function(){return on},fromValues:function(){return Je},fromXRotation:function(){return Jt},fromYRotation:function(){return Xt},fromZRotation:function(){return dn},frustum:function(){return Mr},getRotation:function(){return Rn},getScaling:function(){return pn},getTranslation:function(){return Hn},identity:function(){return Ze},invert:function(){return mt},lookAt:function(){return ti},mul:function(){return mn},multiply:function(){return vt},multiplyScalar:function(){return Xr},multiplyScalarAndAdd:function(){return zn},ortho:function(){return Fr},orthoNO:function(){return Zn},orthoZO:function(){return ei},perspective:function(){return Rr},perspectiveFromFieldOfView:function(){return rr},perspectiveNO:function(){return kr},perspectiveZO:function(){return xr},rotate:function(){return Qe},rotateX:function(){return gt},rotateY:function(){return Pt},rotateZ:function(){return St},scale:function(){return Bt},set:function(){return ke},str:function(){return ta},sub:function(){return cn},subtract:function(){return ji},targetTo:function(){return Ir},translate:function(){return Rt},transpose:function(){return tt}});var ee={};X.r(ee),X.d(ee,{circle:function(){return dL},diamond:function(){return vL},rect:function(){return pL},simple:function(){return yL},triangle:function(){return I1},triangleRect:function(){return mL},vee:function(){return gL}});var G=X(20439),_=X(99153),F=X(84851),w=X(95190),x=X(59358),y=X(19257),b=X(50298),E=X(37271),g=E,m=1e-6,C=typeof Float32Array!="undefined"?Float32Array:Array,d=Math.random;function v(r){C=r}var A=Math.PI/180;function T(r){return r*A}function O(r,e){return Math.abs(r-e)<=m*Math.max(1,Math.abs(r),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var r=0,e=arguments.length;e--;)r+=arguments[e]*arguments[e];return Math.sqrt(r)});function P(){var r=new C(3);return C!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function L(r){var e=new C(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function c(r){var e=r[0],t=r[1],n=r[2];return Math.hypot(e,t,n)}function f(r,e,t){var n=new C(3);return n[0]=r,n[1]=e,n[2]=t,n}function D(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function R(r,e,t,n){return r[0]=e,r[1]=t,r[2]=n,r}function k(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r}function W(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r}function z(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r}function Z(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r}function Q(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function te(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function $(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r}function ie(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r}function ae(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function re(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r}function ce(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r}function oe(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return Math.hypot(t,n,i)}function he(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2];return t*t+n*n+i*i}function se(r){var e=r[0],t=r[1],n=r[2];return e*e+t*t+n*n}function pe(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function me(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function ge(r,e){var t=e[0],n=e[1],i=e[2],a=t*t+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function Ee(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function Ae(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2];return r[0]=i*l-a*o,r[1]=a*s-n*l,r[2]=n*o-i*s,r}function Fe(r,e,t,n){var i=e[0],a=e[1],s=e[2];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r}function Ue(r,e,t,n,i,a){var s=a*a,o=s*(2*a-3)+1,l=s*(a-2)+a,u=s*(a-1),h=s*(3-2*a);return r[0]=e[0]*o+t[0]*l+n[0]*u+i[0]*h,r[1]=e[1]*o+t[1]*l+n[1]*u+i[1]*h,r[2]=e[2]*o+t[2]*l+n[2]*u+i[2]*h,r}function nt(r,e,t,n,i,a){var s=1-a,o=s*s,l=a*a,u=o*s,h=3*a*o,p=3*l*s,S=l*a;return r[0]=e[0]*u+t[0]*h+n[0]*p+i[0]*S,r[1]=e[1]*u+t[1]*h+n[1]*p+i[1]*S,r[2]=e[2]*u+t[2]*h+n[2]*p+i[2]*S,r}function rt(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI,n=glMatrix.RANDOM()*2-1,i=Math.sqrt(1-n*n)*e;return r[0]=Math.cos(t)*i,r[1]=Math.sin(t)*i,r[2]=n*e,r}function qe(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[3]*n+t[7]*i+t[11]*a+t[15];return s=s||1,r[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/s,r[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/s,r[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/s,r}function dt(r,e,t){var n=e[0],i=e[1],a=e[2];return r[0]=n*t[0]+i*t[3]+a*t[6],r[1]=n*t[1]+i*t[4]+a*t[7],r[2]=n*t[2]+i*t[5]+a*t[8],r}function yt(r,e,t){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],l=e[1],u=e[2],h=i*u-a*l,p=a*o-n*u,S=n*l-i*o,N=i*S-a*p,U=a*h-n*S,H=n*p-i*h,V=s*2;return h*=V,p*=V,S*=V,N*=2,U*=2,H*=2,r[0]=o+h+N,r[1]=l+p+U,r[2]=u+S+H,r}function je(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function at(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function it(r,e,t,n){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r}function ht(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2],l=Math.sqrt(t*t+n*n+i*i),u=Math.sqrt(a*a+s*s+o*o),h=l*u,p=h&&Ee(r,e)/h;return Math.acos(Math.min(Math.max(p,-1),1))}function ut(r){return r[0]=0,r[1]=0,r[2]=0,r}function Mt(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function Ce(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function ot(r,e){var t=r[0],n=r[1],i=r[2],a=e[0],s=e[1],o=e[2];return Math.abs(t-a)<=m*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-s)<=m*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=m*Math.max(1,Math.abs(i),Math.abs(o))}var Pe=W,Ne=null,We=null,Be=oe,Ve=null,$e=c,lt=null,pt=function(){var r=P();return function(e,t,n,i,a,s){var o,l;for(t||(t=3),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2];return e}}();function xt(){var r=new C(4);return C!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function wt(r){var e=new C(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function Dt(r,e,t,n){var i=new C(4);return i[0]=r,i[1]=e,i[2]=t,i[3]=n,i}function kt(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function Yt(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function Wt(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r}function Ot(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r}function en(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r[3]=e[3]*t[3],r}function vn(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r[3]=e[3]/t[3],r}function Jn(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function Fn(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function qn(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r}function br(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.max(e[3],t[3]),r}function Vn(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function tr(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r}function lr(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r}function nr(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return Math.hypot(t,n,i,a)}function an(r,e){var t=e[0]-r[0],n=e[1]-r[1],i=e[2]-r[2],a=e[3]-r[3];return t*t+n*n+i*i+a*a}function tn(r){var e=r[0],t=r[1],n=r[2],i=r[3];return Math.hypot(e,t,n,i)}function An(r){var e=r[0],t=r[1],n=r[2],i=r[3];return e*e+t*t+n*n+i*i}function wn(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r}function sn(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r[3]=1/e[3],r}function ir(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a;return s>0&&(s=1/Math.sqrt(s)),r[0]=t*s,r[1]=n*s,r[2]=i*s,r[3]=a*s,r}function Nt(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]*e[3]}function zt(r,e,t,n){var i=t[0]*n[1]-t[1]*n[0],a=t[0]*n[2]-t[2]*n[0],s=t[0]*n[3]-t[3]*n[0],o=t[1]*n[2]-t[2]*n[1],l=t[1]*n[3]-t[3]*n[1],u=t[2]*n[3]-t[3]*n[2],h=e[0],p=e[1],S=e[2],N=e[3];return r[0]=p*u-S*l+N*o,r[1]=-(h*u)+S*s-N*a,r[2]=h*l-p*s+N*i,r[3]=-(h*o)+p*a-S*i,r}function Gt(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r[2]=s+n*(t[2]-s),r[3]=o+n*(t[3]-o),r}function jt(r,e){e=e||1;var t,n,i,a,s,o;do t=glMatrix.RANDOM()*2-1,n=glMatrix.RANDOM()*2-1,s=t*t+n*n;while(s>=1);do i=glMatrix.RANDOM()*2-1,a=glMatrix.RANDOM()*2-1,o=i*i+a*a;while(o>=1);var l=Math.sqrt((1-s)/o);return r[0]=e*t,r[1]=e*n,r[2]=e*i*l,r[3]=e*a*l,r}function En(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3];return r[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*s,r[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*s,r[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*s,r[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*s,r}function _e(r,e,t){var n=e[0],i=e[1],a=e[2],s=t[0],o=t[1],l=t[2],u=t[3],h=u*n+o*a-l*i,p=u*i+l*n-s*a,S=u*a+s*i-o*n,N=-s*n-o*i-l*a;return r[0]=h*u+N*-s+p*-l-S*-o,r[1]=p*u+N*-o+S*-s-h*-l,r[2]=S*u+N*-l+h*-o-p*-s,r[3]=e[3],r}function M(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r}function B(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}function I(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]}function j(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=e[0],o=e[1],l=e[2],u=e[3];return Math.abs(t-s)<=m*Math.max(1,Math.abs(t),Math.abs(s))&&Math.abs(n-o)<=m*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=m*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-u)<=m*Math.max(1,Math.abs(a),Math.abs(u))}var J=null,ye=null,be=null,Le=null,Se=null,Ye=null,Ge=null,Re=function(){var r=xt();return function(e,t,n,i,a,s){var o,l;for(t||(t=4),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],r[2]=e[o+2],r[3]=e[o+3],a(r,r,s),e[o]=r[0],e[o+1]=r[1],e[o+2]=r[2],e[o+3]=r[3];return e}}();function De(){var r=new C(16);return C!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function Ke(r){var e=new C(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function He(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function Je(r,e,t,n,i,a,s,o,l,u,h,p,S,N,U,H){var V=new C(16);return V[0]=r,V[1]=e,V[2]=t,V[3]=n,V[4]=i,V[5]=a,V[6]=s,V[7]=o,V[8]=l,V[9]=u,V[10]=h,V[11]=p,V[12]=S,V[13]=N,V[14]=U,V[15]=H,V}function ke(r,e,t,n,i,a,s,o,l,u,h,p,S,N,U,H,V){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=u,r[9]=h,r[10]=p,r[11]=S,r[12]=N,r[13]=U,r[14]=H,r[15]=V,r}function Ze(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function tt(r,e){if(r===e){var t=e[1],n=e[2],i=e[3],a=e[6],s=e[7],o=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[6]=e[9],r[7]=e[13],r[8]=n,r[9]=a,r[11]=e[14],r[12]=i,r[13]=s,r[14]=o}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function mt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],h=e[8],p=e[9],S=e[10],N=e[11],U=e[12],H=e[13],V=e[14],Y=e[15],q=t*o-n*s,ne=t*l-i*s,le=t*u-a*s,ue=n*l-i*o,fe=n*u-a*o,de=i*u-a*l,ve=h*H-p*U,Te=h*V-S*U,Oe=h*Y-N*U,Ie=p*V-S*H,ze=p*Y-N*H,Xe=S*Y-N*V,et=q*Xe-ne*ze+le*Ie+ue*Oe-fe*Te+de*ve;return et?(et=1/et,r[0]=(o*Xe-l*ze+u*Ie)*et,r[1]=(i*ze-n*Xe-a*Ie)*et,r[2]=(H*de-V*fe+Y*ue)*et,r[3]=(S*fe-p*de-N*ue)*et,r[4]=(l*Oe-s*Xe-u*Te)*et,r[5]=(t*Xe-i*Oe+a*Te)*et,r[6]=(V*le-U*de-Y*ne)*et,r[7]=(h*de-S*le+N*ne)*et,r[8]=(s*ze-o*Oe+u*ve)*et,r[9]=(n*Oe-t*ze-a*ve)*et,r[10]=(U*fe-H*le+Y*q)*et,r[11]=(p*le-h*fe-N*q)*et,r[12]=(o*Te-s*Ie-l*ve)*et,r[13]=(t*Ie-n*Te+i*ve)*et,r[14]=(H*ne-U*ue-V*q)*et,r[15]=(h*ue-p*ne+S*q)*et,r):null}function Tt(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],h=e[8],p=e[9],S=e[10],N=e[11],U=e[12],H=e[13],V=e[14],Y=e[15];return r[0]=o*(S*Y-N*V)-p*(l*Y-u*V)+H*(l*N-u*S),r[1]=-(n*(S*Y-N*V)-p*(i*Y-a*V)+H*(i*N-a*S)),r[2]=n*(l*Y-u*V)-o*(i*Y-a*V)+H*(i*u-a*l),r[3]=-(n*(l*N-u*S)-o*(i*N-a*S)+p*(i*u-a*l)),r[4]=-(s*(S*Y-N*V)-h*(l*Y-u*V)+U*(l*N-u*S)),r[5]=t*(S*Y-N*V)-h*(i*Y-a*V)+U*(i*N-a*S),r[6]=-(t*(l*Y-u*V)-s*(i*Y-a*V)+U*(i*u-a*l)),r[7]=t*(l*N-u*S)-s*(i*N-a*S)+h*(i*u-a*l),r[8]=s*(p*Y-N*H)-h*(o*Y-u*H)+U*(o*N-u*p),r[9]=-(t*(p*Y-N*H)-h*(n*Y-a*H)+U*(n*N-a*p)),r[10]=t*(o*Y-u*H)-s*(n*Y-a*H)+U*(n*u-a*o),r[11]=-(t*(o*N-u*p)-s*(n*N-a*p)+h*(n*u-a*o)),r[12]=-(s*(p*V-S*H)-h*(o*V-l*H)+U*(o*S-l*p)),r[13]=t*(p*V-S*H)-h*(n*V-i*H)+U*(n*S-i*p),r[14]=-(t*(o*V-l*H)-s*(n*V-i*H)+U*(n*l-i*o)),r[15]=t*(o*S-l*p)-s*(n*S-i*p)+h*(n*l-i*o),r}function It(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],u=r[8],h=r[9],p=r[10],S=r[11],N=r[12],U=r[13],H=r[14],V=r[15],Y=e*s-t*a,q=e*o-n*a,ne=e*l-i*a,le=t*o-n*s,ue=t*l-i*s,fe=n*l-i*o,de=u*U-h*N,ve=u*H-p*N,Te=u*V-S*N,Oe=h*H-p*U,Ie=h*V-S*U,ze=p*V-S*H;return Y*ze-q*Ie+ne*Oe+le*Te-ue*ve+fe*de}function vt(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],h=e[7],p=e[8],S=e[9],N=e[10],U=e[11],H=e[12],V=e[13],Y=e[14],q=e[15],ne=t[0],le=t[1],ue=t[2],fe=t[3];return r[0]=ne*n+le*o+ue*p+fe*H,r[1]=ne*i+le*l+ue*S+fe*V,r[2]=ne*a+le*u+ue*N+fe*Y,r[3]=ne*s+le*h+ue*U+fe*q,ne=t[4],le=t[5],ue=t[6],fe=t[7],r[4]=ne*n+le*o+ue*p+fe*H,r[5]=ne*i+le*l+ue*S+fe*V,r[6]=ne*a+le*u+ue*N+fe*Y,r[7]=ne*s+le*h+ue*U+fe*q,ne=t[8],le=t[9],ue=t[10],fe=t[11],r[8]=ne*n+le*o+ue*p+fe*H,r[9]=ne*i+le*l+ue*S+fe*V,r[10]=ne*a+le*u+ue*N+fe*Y,r[11]=ne*s+le*h+ue*U+fe*q,ne=t[12],le=t[13],ue=t[14],fe=t[15],r[12]=ne*n+le*o+ue*p+fe*H,r[13]=ne*i+le*l+ue*S+fe*V,r[14]=ne*a+le*u+ue*N+fe*Y,r[15]=ne*s+le*h+ue*U+fe*q,r}function Rt(r,e,t){var n=t[0],i=t[1],a=t[2],s,o,l,u,h,p,S,N,U,H,V,Y;return e===r?(r[12]=e[0]*n+e[4]*i+e[8]*a+e[12],r[13]=e[1]*n+e[5]*i+e[9]*a+e[13],r[14]=e[2]*n+e[6]*i+e[10]*a+e[14],r[15]=e[3]*n+e[7]*i+e[11]*a+e[15]):(s=e[0],o=e[1],l=e[2],u=e[3],h=e[4],p=e[5],S=e[6],N=e[7],U=e[8],H=e[9],V=e[10],Y=e[11],r[0]=s,r[1]=o,r[2]=l,r[3]=u,r[4]=h,r[5]=p,r[6]=S,r[7]=N,r[8]=U,r[9]=H,r[10]=V,r[11]=Y,r[12]=s*n+h*i+U*a+e[12],r[13]=o*n+p*i+H*a+e[13],r[14]=l*n+S*i+V*a+e[14],r[15]=u*n+N*i+Y*a+e[15]),r}function Bt(r,e,t){var n=t[0],i=t[1],a=t[2];return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function Qe(r,e,t,n){var i=n[0],a=n[1],s=n[2],o=Math.hypot(i,a,s),l,u,h,p,S,N,U,H,V,Y,q,ne,le,ue,fe,de,ve,Te,Oe,Ie,ze,Xe,et,st;return o<m?null:(o=1/o,i*=o,a*=o,s*=o,l=Math.sin(t),u=Math.cos(t),h=1-u,p=e[0],S=e[1],N=e[2],U=e[3],H=e[4],V=e[5],Y=e[6],q=e[7],ne=e[8],le=e[9],ue=e[10],fe=e[11],de=i*i*h+u,ve=a*i*h+s*l,Te=s*i*h-a*l,Oe=i*a*h-s*l,Ie=a*a*h+u,ze=s*a*h+i*l,Xe=i*s*h+a*l,et=a*s*h-i*l,st=s*s*h+u,r[0]=p*de+H*ve+ne*Te,r[1]=S*de+V*ve+le*Te,r[2]=N*de+Y*ve+ue*Te,r[3]=U*de+q*ve+fe*Te,r[4]=p*Oe+H*Ie+ne*ze,r[5]=S*Oe+V*Ie+le*ze,r[6]=N*Oe+Y*Ie+ue*ze,r[7]=U*Oe+q*Ie+fe*ze,r[8]=p*Xe+H*et+ne*st,r[9]=S*Xe+V*et+le*st,r[10]=N*Xe+Y*et+ue*st,r[11]=U*Xe+q*et+fe*st,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function gt(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],h=e[9],p=e[10],S=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=a*i+u*n,r[5]=s*i+h*n,r[6]=o*i+p*n,r[7]=l*i+S*n,r[8]=u*i-a*n,r[9]=h*i-s*n,r[10]=p*i-o*n,r[11]=S*i-l*n,r}function Pt(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],u=e[8],h=e[9],p=e[10],S=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i-u*n,r[1]=s*i-h*n,r[2]=o*i-p*n,r[3]=l*i-S*n,r[8]=a*n+u*i,r[9]=s*n+h*i,r[10]=o*n+p*i,r[11]=l*n+S*i,r}function St(r,e,t){var n=Math.sin(t),i=Math.cos(t),a=e[0],s=e[1],o=e[2],l=e[3],u=e[4],h=e[5],p=e[6],S=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=a*i+u*n,r[1]=s*i+h*n,r[2]=o*i+p*n,r[3]=l*i+S*n,r[4]=u*i-a*n,r[5]=h*i-s*n,r[6]=p*i-o*n,r[7]=S*i-l*n,r}function on(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function ln(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Zt(r,e,t){var n=t[0],i=t[1],a=t[2],s=Math.hypot(n,i,a),o,l,u;return s<m?null:(s=1/s,n*=s,i*=s,a*=s,o=Math.sin(e),l=Math.cos(e),u=1-l,r[0]=n*n*u+l,r[1]=i*n*u+a*o,r[2]=a*n*u-i*o,r[3]=0,r[4]=n*i*u-a*o,r[5]=i*i*u+l,r[6]=a*i*u+n*o,r[7]=0,r[8]=n*a*u+i*o,r[9]=i*a*u-n*o,r[10]=a*a*u+l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function Jt(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=t,r[7]=0,r[8]=0,r[9]=-t,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Xt(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=0,r[2]=-t,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=t,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function dn(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=0,r[4]=-t,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function gn(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=n+n,l=i+i,u=a+a,h=n*o,p=n*l,S=n*u,N=i*l,U=i*u,H=a*u,V=s*o,Y=s*l,q=s*u;return r[0]=1-(N+H),r[1]=p+q,r[2]=S-Y,r[3]=0,r[4]=p-q,r[5]=1-(h+H),r[6]=U+V,r[7]=0,r[8]=S+Y,r[9]=U-V,r[10]=1-(h+N),r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function Mn(r,e){var t=new C(3),n=-e[0],i=-e[1],a=-e[2],s=e[3],o=e[4],l=e[5],u=e[6],h=e[7],p=n*n+i*i+a*a+s*s;return p>0?(t[0]=(o*s+h*n+l*a-u*i)*2/p,t[1]=(l*s+h*i+u*n-o*a)*2/p,t[2]=(u*s+h*a+o*i-l*n)*2/p):(t[0]=(o*s+h*n+l*a-u*i)*2,t[1]=(l*s+h*i+u*n-o*a)*2,t[2]=(u*s+h*a+o*i-l*n)*2),gn(r,e,t),r}function Hn(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function pn(r,e){var t=e[0],n=e[1],i=e[2],a=e[4],s=e[5],o=e[6],l=e[8],u=e[9],h=e[10];return r[0]=Math.hypot(t,n,i),r[1]=Math.hypot(a,s,o),r[2]=Math.hypot(l,u,h),r}function Rn(r,e){var t=new C(3);pn(t,e);var n=1/t[0],i=1/t[1],a=1/t[2],s=e[0]*n,o=e[1]*i,l=e[2]*a,u=e[4]*n,h=e[5]*i,p=e[6]*a,S=e[8]*n,N=e[9]*i,U=e[10]*a,H=s+h+U,V=0;return H>0?(V=Math.sqrt(H+1)*2,r[3]=.25*V,r[0]=(p-N)/V,r[1]=(S-l)/V,r[2]=(o-u)/V):s>h&&s>U?(V=Math.sqrt(1+s-h-U)*2,r[3]=(p-N)/V,r[0]=.25*V,r[1]=(o+u)/V,r[2]=(S+l)/V):h>U?(V=Math.sqrt(1+h-s-U)*2,r[3]=(S-l)/V,r[0]=(o+u)/V,r[1]=.25*V,r[2]=(p+N)/V):(V=Math.sqrt(1+U-s-h)*2,r[3]=(o-u)/V,r[0]=(S+l)/V,r[1]=(p+N)/V,r[2]=.25*V),r}function Yn(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=i+i,u=a+a,h=s+s,p=i*l,S=i*u,N=i*h,U=a*u,H=a*h,V=s*h,Y=o*l,q=o*u,ne=o*h,le=n[0],ue=n[1],fe=n[2];return r[0]=(1-(U+V))*le,r[1]=(S+ne)*le,r[2]=(N-q)*le,r[3]=0,r[4]=(S-ne)*ue,r[5]=(1-(p+V))*ue,r[6]=(H+Y)*ue,r[7]=0,r[8]=(N+q)*fe,r[9]=(H-Y)*fe,r[10]=(1-(p+U))*fe,r[11]=0,r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r}function Gn(r,e,t,n,i){var a=e[0],s=e[1],o=e[2],l=e[3],u=a+a,h=s+s,p=o+o,S=a*u,N=a*h,U=a*p,H=s*h,V=s*p,Y=o*p,q=l*u,ne=l*h,le=l*p,ue=n[0],fe=n[1],de=n[2],ve=i[0],Te=i[1],Oe=i[2],Ie=(1-(H+Y))*ue,ze=(N+le)*ue,Xe=(U-ne)*ue,et=(N-le)*fe,st=(1-(S+Y))*fe,bt=(V+q)*fe,_t=(U+ne)*de,ct=(V-q)*de,ft=(1-(S+H))*de;return r[0]=Ie,r[1]=ze,r[2]=Xe,r[3]=0,r[4]=et,r[5]=st,r[6]=bt,r[7]=0,r[8]=_t,r[9]=ct,r[10]=ft,r[11]=0,r[12]=t[0]+ve-(Ie*ve+et*Te+_t*Oe),r[13]=t[1]+Te-(ze*ve+st*Te+ct*Oe),r[14]=t[2]+Oe-(Xe*ve+bt*Te+ft*Oe),r[15]=1,r}function Cn(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,u=t*s,h=n*s,p=n*o,S=i*s,N=i*o,U=i*l,H=a*s,V=a*o,Y=a*l;return r[0]=1-p-U,r[1]=h+Y,r[2]=S-V,r[3]=0,r[4]=h-Y,r[5]=1-u-U,r[6]=N+H,r[7]=0,r[8]=S+V,r[9]=N-H,r[10]=1-u-p,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Mr(r,e,t,n,i,a,s){var o=1/(t-e),l=1/(i-n),u=1/(a-s);return r[0]=a*2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*l,r[6]=0,r[7]=0,r[8]=(t+e)*o,r[9]=(i+n)*l,r[10]=(s+a)*u,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*u,r[15]=0,r}function kr(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=(i+n)*s,r[14]=2*i*n*s):(r[10]=-1,r[14]=-2*n),r}var Rr=kr;function xr(r,e,t,n,i){var a=1/Math.tan(e/2),s;return r[0]=a/t,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(n-i),r[10]=i*s,r[14]=i*n*s):(r[10]=-1,r[14]=-n),r}function rr(r,e,t,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(i+a);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=-((s-o)*l*.5),r[9]=(i-a)*u*.5,r[10]=n/(t-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*t/(t-n),r[15]=0,r}function Zn(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*u,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=(s+a)*u,r[15]=1,r}var Fr=Zn;function ei(r,e,t,n,i,a,s){var o=1/(e-t),l=1/(n-i),u=1/(a-s);return r[0]=-2*o,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=u,r[11]=0,r[12]=(e+t)*o,r[13]=(i+n)*l,r[14]=a*u,r[15]=1,r}function ti(r,e,t,n){var i,a,s,o,l,u,h,p,S,N,U=e[0],H=e[1],V=e[2],Y=n[0],q=n[1],ne=n[2],le=t[0],ue=t[1],fe=t[2];return Math.abs(U-le)<m&&Math.abs(H-ue)<m&&Math.abs(V-fe)<m?Ze(r):(h=U-le,p=H-ue,S=V-fe,N=1/Math.hypot(h,p,S),h*=N,p*=N,S*=N,i=q*S-ne*p,a=ne*h-Y*S,s=Y*p-q*h,N=Math.hypot(i,a,s),N?(N=1/N,i*=N,a*=N,s*=N):(i=0,a=0,s=0),o=p*s-S*a,l=S*i-h*s,u=h*a-p*i,N=Math.hypot(o,l,u),N?(N=1/N,o*=N,l*=N,u*=N):(o=0,l=0,u=0),r[0]=i,r[1]=o,r[2]=h,r[3]=0,r[4]=a,r[5]=l,r[6]=p,r[7]=0,r[8]=s,r[9]=u,r[10]=S,r[11]=0,r[12]=-(i*U+a*H+s*V),r[13]=-(o*U+l*H+u*V),r[14]=-(h*U+p*H+S*V),r[15]=1,r)}function Ir(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=n[0],l=n[1],u=n[2],h=i-t[0],p=a-t[1],S=s-t[2],N=h*h+p*p+S*S;N>0&&(N=1/Math.sqrt(N),h*=N,p*=N,S*=N);var U=l*S-u*p,H=u*h-o*S,V=o*p-l*h;return N=U*U+H*H+V*V,N>0&&(N=1/Math.sqrt(N),U*=N,H*=N,V*=N),r[0]=U,r[1]=H,r[2]=V,r[3]=0,r[4]=p*V-S*H,r[5]=S*U-h*V,r[6]=h*H-p*U,r[7]=0,r[8]=h,r[9]=p,r[10]=S,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function ta(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function Kr(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function Ma(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r[9]=e[9]+t[9],r[10]=e[10]+t[10],r[11]=e[11]+t[11],r[12]=e[12]+t[12],r[13]=e[13]+t[13],r[14]=e[14]+t[14],r[15]=e[15]+t[15],r}function ji(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r[9]=e[9]-t[9],r[10]=e[10]-t[10],r[11]=e[11]-t[11],r[12]=e[12]-t[12],r[13]=e[13]-t[13],r[14]=e[14]-t[14],r[15]=e[15]-t[15],r}function Xr(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r}function zn(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r[9]=e[9]+t[9]*n,r[10]=e[10]+t[10]*n,r[11]=e[11]+t[11]*n,r[12]=e[12]+t[12]*n,r[13]=e[13]+t[13]*n,r[14]=e[14]+t[14]*n,r[15]=e[15]+t[15]*n,r}function Ut(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function Kt(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],u=r[7],h=r[8],p=r[9],S=r[10],N=r[11],U=r[12],H=r[13],V=r[14],Y=r[15],q=e[0],ne=e[1],le=e[2],ue=e[3],fe=e[4],de=e[5],ve=e[6],Te=e[7],Oe=e[8],Ie=e[9],ze=e[10],Xe=e[11],et=e[12],st=e[13],bt=e[14],_t=e[15];return Math.abs(t-q)<=m*Math.max(1,Math.abs(t),Math.abs(q))&&Math.abs(n-ne)<=m*Math.max(1,Math.abs(n),Math.abs(ne))&&Math.abs(i-le)<=m*Math.max(1,Math.abs(i),Math.abs(le))&&Math.abs(a-ue)<=m*Math.max(1,Math.abs(a),Math.abs(ue))&&Math.abs(s-fe)<=m*Math.max(1,Math.abs(s),Math.abs(fe))&&Math.abs(o-de)<=m*Math.max(1,Math.abs(o),Math.abs(de))&&Math.abs(l-ve)<=m*Math.max(1,Math.abs(l),Math.abs(ve))&&Math.abs(u-Te)<=m*Math.max(1,Math.abs(u),Math.abs(Te))&&Math.abs(h-Oe)<=m*Math.max(1,Math.abs(h),Math.abs(Oe))&&Math.abs(p-Ie)<=m*Math.max(1,Math.abs(p),Math.abs(Ie))&&Math.abs(S-ze)<=m*Math.max(1,Math.abs(S),Math.abs(ze))&&Math.abs(N-Xe)<=m*Math.max(1,Math.abs(N),Math.abs(Xe))&&Math.abs(U-et)<=m*Math.max(1,Math.abs(U),Math.abs(et))&&Math.abs(H-st)<=m*Math.max(1,Math.abs(H),Math.abs(st))&&Math.abs(V-bt)<=m*Math.max(1,Math.abs(V),Math.abs(bt))&&Math.abs(Y-_t)<=m*Math.max(1,Math.abs(Y),Math.abs(_t))}var mn=vt,cn=ji;function Tn(){var r=new C(9);return C!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function ar(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function gr(r){var e=new glMatrix.ARRAY_TYPE(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function hr(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function gi(r,e,t,n,i,a,s,o,l){var u=new C(9);return u[0]=r,u[1]=e,u[2]=t,u[3]=n,u[4]=i,u[5]=a,u[6]=s,u[7]=o,u[8]=l,u}function Vi(r,e,t,n,i,a,s,o,l,u){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r[4]=a,r[5]=s,r[6]=o,r[7]=l,r[8]=u,r}function na(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function ws(r,e){if(r===e){var t=e[1],n=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=t,r[5]=e[7],r[6]=n,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function ni(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],h=e[8],p=h*s-o*u,S=-h*a+o*l,N=u*a-s*l,U=t*p+n*S+i*N;return U?(U=1/U,r[0]=p*U,r[1]=(-h*n+i*u)*U,r[2]=(o*n-i*s)*U,r[3]=S*U,r[4]=(h*t-i*l)*U,r[5]=(-o*t+i*a)*U,r[6]=N*U,r[7]=(-u*t+n*l)*U,r[8]=(s*t-n*a)*U,r):null}function Vo(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],h=e[8];return r[0]=s*h-o*u,r[1]=i*u-n*h,r[2]=n*o-i*s,r[3]=o*l-a*h,r[4]=t*h-i*l,r[5]=i*a-t*o,r[6]=a*u-s*l,r[7]=n*l-t*u,r[8]=t*s-n*a,r}function uo(r){var e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],s=r[5],o=r[6],l=r[7],u=r[8];return e*(u*a-s*l)+t*(-u*i+s*o)+n*(l*i-a*o)}function Ha(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],h=e[7],p=e[8],S=t[0],N=t[1],U=t[2],H=t[3],V=t[4],Y=t[5],q=t[6],ne=t[7],le=t[8];return r[0]=S*n+N*s+U*u,r[1]=S*i+N*o+U*h,r[2]=S*a+N*l+U*p,r[3]=H*n+V*s+Y*u,r[4]=H*i+V*o+Y*h,r[5]=H*a+V*l+Y*p,r[6]=q*n+ne*s+le*u,r[7]=q*i+ne*o+le*h,r[8]=q*a+ne*l+le*p,r}function Zi(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],h=e[7],p=e[8],S=t[0],N=t[1];return r[0]=n,r[1]=i,r[2]=a,r[3]=s,r[4]=o,r[5]=l,r[6]=S*n+N*s+u,r[7]=S*i+N*o+h,r[8]=S*a+N*l+p,r}function ha(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],h=e[7],p=e[8],S=Math.sin(t),N=Math.cos(t);return r[0]=N*n+S*s,r[1]=N*i+S*o,r[2]=N*a+S*l,r[3]=N*s-S*n,r[4]=N*o-S*i,r[5]=N*l-S*a,r[6]=u,r[7]=h,r[8]=p,r}function Mi(r,e,t){var n=t[0],i=t[1];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function Ms(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function co(r,e){var t=Math.sin(e),n=Math.cos(e);return r[0]=n,r[1]=t,r[2]=0,r[3]=-t,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function Gs(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function Ga(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function Aa(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t+t,o=n+n,l=i+i,u=t*s,h=n*s,p=n*o,S=i*s,N=i*o,U=i*l,H=a*s,V=a*o,Y=a*l;return r[0]=1-p-U,r[3]=h-Y,r[6]=S+V,r[1]=h+Y,r[4]=1-u-U,r[7]=N-H,r[2]=S-V,r[5]=N+H,r[8]=1-u-p,r}function Cl(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],h=e[8],p=e[9],S=e[10],N=e[11],U=e[12],H=e[13],V=e[14],Y=e[15],q=t*o-n*s,ne=t*l-i*s,le=t*u-a*s,ue=n*l-i*o,fe=n*u-a*o,de=i*u-a*l,ve=h*H-p*U,Te=h*V-S*U,Oe=h*Y-N*U,Ie=p*V-S*H,ze=p*Y-N*H,Xe=S*Y-N*V,et=q*Xe-ne*ze+le*Ie+ue*Oe-fe*Te+de*ve;return et?(et=1/et,r[0]=(o*Xe-l*ze+u*Ie)*et,r[1]=(l*Oe-s*Xe-u*Te)*et,r[2]=(s*ze-o*Oe+u*ve)*et,r[3]=(i*ze-n*Xe-a*Ie)*et,r[4]=(t*Xe-i*Oe+a*Te)*et,r[5]=(n*Oe-t*ze-a*ve)*et,r[6]=(H*de-V*fe+Y*ue)*et,r[7]=(V*le-U*de-Y*ne)*et,r[8]=(U*fe-H*le+Y*q)*et,r):null}function ja(r,e,t){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/t,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function _u(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function fa(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function Dc(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r[3]=e[3]+t[3],r[4]=e[4]+t[4],r[5]=e[5]+t[5],r[6]=e[6]+t[6],r[7]=e[7]+t[7],r[8]=e[8]+t[8],r}function Eu(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r[3]=e[3]-t[3],r[4]=e[4]-t[4],r[5]=e[5]-t[5],r[6]=e[6]-t[6],r[7]=e[7]-t[7],r[8]=e[8]-t[8],r}function xu(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r}function Cc(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r[2]=e[2]+t[2]*n,r[3]=e[3]+t[3]*n,r[4]=e[4]+t[4]*n,r[5]=e[5]+t[5]*n,r[6]=e[6]+t[6]*n,r[7]=e[7]+t[7]*n,r[8]=e[8]+t[8]*n,r}function bu(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]}function wu(r,e){var t=r[0],n=r[1],i=r[2],a=r[3],s=r[4],o=r[5],l=r[6],u=r[7],h=r[8],p=e[0],S=e[1],N=e[2],U=e[3],H=e[4],V=e[5],Y=e[6],q=e[7],ne=e[8];return Math.abs(t-p)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(p))&&Math.abs(n-S)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(S))&&Math.abs(i-N)<=glMatrix.EPSILON*Math.max(1,Math.abs(i),Math.abs(N))&&Math.abs(a-U)<=glMatrix.EPSILON*Math.max(1,Math.abs(a),Math.abs(U))&&Math.abs(s-H)<=glMatrix.EPSILON*Math.max(1,Math.abs(s),Math.abs(H))&&Math.abs(o-V)<=glMatrix.EPSILON*Math.max(1,Math.abs(o),Math.abs(V))&&Math.abs(l-Y)<=glMatrix.EPSILON*Math.max(1,Math.abs(l),Math.abs(Y))&&Math.abs(u-q)<=glMatrix.EPSILON*Math.max(1,Math.abs(u),Math.abs(q))&&Math.abs(h-ne)<=glMatrix.EPSILON*Math.max(1,Math.abs(h),Math.abs(ne))}var ho=null,Ll=null;function Gr(){var r=new C(4);return C!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function pi(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r}function Ta(r,e,t){t=t*.5;var n=Math.sin(t);return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=Math.cos(t),r}function Zo(r,e){var t=Math.acos(e[3])*2,n=Math.sin(t/2);return n>glMatrix.EPSILON?(r[0]=e[0]/n,r[1]=e[1]/n,r[2]=e[2]/n):(r[0]=1,r[1]=0,r[2]=0),t}function Sn(r,e){var t=qd(r,e);return Math.acos(2*t*t-1)}function On(r,e,t){var n=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],h=t[3];return r[0]=n*h+s*o+i*u-a*l,r[1]=i*h+s*l+a*o-n*u,r[2]=a*h+s*u+n*l-i*o,r[3]=s*h-n*o-i*l-a*u,r}function Ln(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+s*o,r[1]=i*l+a*o,r[2]=a*l-i*o,r[3]=s*l-n*o,r}function In(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l-a*o,r[1]=i*l+s*o,r[2]=a*l+n*o,r[3]=s*l-i*o,r}function pr(r,e,t){t*=.5;var n=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(t),l=Math.cos(t);return r[0]=n*l+i*o,r[1]=i*l-n*o,r[2]=a*l+s*o,r[3]=s*l-a*o,r}function zr(r,e){var t=e[0],n=e[1],i=e[2];return r[0]=t,r[1]=n,r[2]=i,r[3]=Math.sqrt(Math.abs(1-t*t-n*n-i*i)),r}function rs(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=Math.exp(a),l=s>0?o*Math.sin(s)/s:0;return r[0]=t*l,r[1]=n*l,r[2]=i*l,r[3]=o*Math.cos(s),r}function Va(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=Math.sqrt(t*t+n*n+i*i),o=s>0?Math.atan2(s,a)/s:0;return r[0]=t*o,r[1]=n*o,r[2]=i*o,r[3]=.5*Math.log(t*t+n*n+i*i+a*a),r}function js(r,e,t){return Va(r,e),Jd(r,r,t),rs(r,r),r}function oi(r,e,t,n){var i=e[0],a=e[1],s=e[2],o=e[3],l=t[0],u=t[1],h=t[2],p=t[3],S,N,U,H,V;return N=i*l+a*u+s*h+o*p,N<0&&(N=-N,l=-l,u=-u,h=-h,p=-p),1-N>m?(S=Math.acos(N),U=Math.sin(S),H=Math.sin((1-n)*S)/U,V=Math.sin(n*S)/U):(H=1-n,V=n),r[0]=H*i+V*l,r[1]=H*a+V*u,r[2]=H*s+V*h,r[3]=H*o+V*p,r}function Vs(r){var e=glMatrix.RANDOM(),t=glMatrix.RANDOM(),n=glMatrix.RANDOM(),i=Math.sqrt(1-e),a=Math.sqrt(e);return r[0]=i*Math.sin(2*Math.PI*t),r[1]=i*Math.cos(2*Math.PI*t),r[2]=a*Math.sin(2*Math.PI*n),r[3]=a*Math.cos(2*Math.PI*n),r}function is(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t+n*n+i*i+a*a,o=s?1/s:0;return r[0]=-t*o,r[1]=-n*o,r[2]=-i*o,r[3]=a*o,r}function Lc(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=e[3],r}function Rc(r,e){var t=e[0]+e[4]+e[8],n;if(t>0)n=Math.sqrt(t+1),r[3]=.5*n,n=.5/n,r[0]=(e[5]-e[7])*n,r[1]=(e[6]-e[2])*n,r[2]=(e[1]-e[3])*n;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[a*3+a]-e[s*3+s]+1),r[i]=.5*n,n=.5/n,r[3]=(e[a*3+s]-e[s*3+a])*n,r[a]=(e[a*3+i]+e[i*3+a])*n,r[s]=(e[s*3+i]+e[i*3+s])*n}return r}function As(r,e,t,n){var i=.5*Math.PI/180;e*=i,t*=i,n*=i;var a=Math.sin(e),s=Math.cos(e),o=Math.sin(t),l=Math.cos(t),u=Math.sin(n),h=Math.cos(n);return r[0]=a*l*h-s*o*u,r[1]=s*o*h+a*l*u,r[2]=s*l*u-a*o*h,r[3]=s*l*h+a*o*u,r}function Ts(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"}var Ic=wt,Qd=Dt,Rl=kt,Zs=Yt,Ap=Wt,Nc=On,Jd=tr,qd=Nt,Tp=Gt,$d=tn,Pp=null,ev=An,tv=null,Il=ir,nv=I,Sp=j,Op=function(){var r=P(),e=f(1,0,0),t=f(0,1,0);return function(n,i,a){var s=Ee(i,a);return s<-.999999?(Ae(r,e,i),$e(r)<1e-6&&Ae(r,t,i),ge(r,r),Ta(n,r,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Ae(r,i,a),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=1+s,Il(n,n))}}(),Dp=function(){var r=Gr(),e=Gr();return function(t,n,i,a,s,o){return oi(r,n,s,o),oi(e,i,a,o),oi(t,r,e,2*o*(1-o)),t}}(),Cp=function(){var r=Tn();return function(e,t,n,i){return r[0]=n[0],r[3]=n[1],r[6]=n[2],r[1]=i[0],r[4]=i[1],r[7]=i[2],r[2]=-t[0],r[5]=-t[1],r[8]=-t[2],Il(e,Rc(e,r))}}();function Nl(){var r=new C(2);return C!=Float32Array&&(r[0]=0,r[1]=0),r}function Bc(r){var e=new glMatrix.ARRAY_TYPE(2);return e[0]=r[0],e[1]=r[1],e}function sr(r,e){var t=new glMatrix.ARRAY_TYPE(2);return t[0]=r,t[1]=e,t}function jn(r,e){return r[0]=e[0],r[1]=e[1],r}function Ki(r,e,t){return r[0]=e,r[1]=t,r}function ra(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function mi(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function Ni(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function Ps(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function as(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function fo(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function Ko(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function vo(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}function Mu(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function Au(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function E8(r,e,t,n){return r[0]=e[0]+t[0]*n,r[1]=e[1]+t[1]*n,r}function x8(r,e){var t=e[0]-r[0],n=e[1]-r[1];return Math.hypot(t,n)}function b8(r,e){var t=e[0]-r[0],n=e[1]-r[1];return t*t+n*n}function w8(r){var e=r[0],t=r[1];return Math.hypot(e,t)}function M8(r){var e=r[0],t=r[1];return e*e+t*t}function A8(r,e){return r[0]=-e[0],r[1]=-e[1],r}function T8(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function w2(r,e){var t=e[0],n=e[1],i=t*t+n*n;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function M2(r,e){return r[0]*e[0]+r[1]*e[1]}function P8(r,e,t){var n=e[0]*t[1]-e[1]*t[0];return r[0]=r[1]=0,r[2]=n,r}function S8(r,e,t,n){var i=e[0],a=e[1];return r[0]=i+n*(t[0]-i),r[1]=a+n*(t[1]-a),r}function O8(r,e){e=e||1;var t=glMatrix.RANDOM()*2*Math.PI;return r[0]=Math.cos(t)*e,r[1]=Math.sin(t)*e,r}function D8(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i,r[1]=t[1]*n+t[3]*i,r}function C8(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[2]*i+t[4],r[1]=t[1]*n+t[3]*i+t[5],r}function L8(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[3]*i+t[6],r[1]=t[1]*n+t[4]*i+t[7],r}function R8(r,e,t){var n=e[0],i=e[1];return r[0]=t[0]*n+t[4]*i+t[12],r[1]=t[1]*n+t[5]*i+t[13],r}function I8(r,e,t,n){var i=e[0]-t[0],a=e[1]-t[1],s=Math.sin(n),o=Math.cos(n);return r[0]=i*o-a*s+t[0],r[1]=i*s+a*o+t[1],r}function N8(r,e){var t=r[0],n=r[1],i=e[0],a=e[1],s=Math.sqrt(t*t+n*n)*Math.sqrt(i*i+a*a),o=s&&(t*i+n*a)/s;return Math.acos(Math.min(Math.max(o,-1),1))}function B8(r){return r[0]=0,r[1]=0,r}function k8(r){return"vec2("+r[0]+", "+r[1]+")"}function A2(r,e){return r[0]===e[0]&&r[1]===e[1]}function F8(r,e){var t=r[0],n=r[1],i=e[0],a=e[1];return Math.abs(t-i)<=glMatrix.EPSILON*Math.max(1,Math.abs(t),Math.abs(i))&&Math.abs(n-a)<=glMatrix.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))}var z8=null,U8=null,W8=null,H8=null,G8=null,j8=null,V8=null,Z8=function(){var r=Nl();return function(e,t,n,i,a,s){var o,l;for(t||(t=2),n||(n=0),i?l=Math.min(i*t+n,e.length):l=e.length,o=n;o<l;o+=t)r[0]=e[o],r[1]=e[o+1],a(r,r,s),e[o]=r[0],e[o+1]=r[1];return e}}();function un(r){return typeof r=="number"}function da(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}function Pn(r){return r==null}function ur(r){return typeof r=="string"}var T2=function(r,e,t){return r<e?e:r>t?t:r},Jr=T2,xe=X(80813),Tu={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function Lp(r){return Array.isArray(r)&&r.every(function(e){var t=e[0].toLowerCase();return Tu[t]===e.length-1&&"achlmqstvz".includes(t)})}function Rp(r){return Lp(r)&&r.every(function(e){var t=e[0];return t===t.toUpperCase()})}function Ip(r){return Rp(r)&&r.every(function(e){var t=e[0];return"ACLMQZ".includes(t)})}var Np={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function Bp(r){for(var e=r.pathValue[r.segmentStart],t=e.toLowerCase(),n=r.data;n.length>=Tu[t]&&(t==="m"&&n.length>2?(r.segments.push([e].concat(n.splice(0,2))),t="l",e=e==="m"?"l":"L"):r.segments.push([e].concat(n.splice(0,Tu[t]))),!!Tu[t]););}function P2(r){var e=r.index,t=r.pathValue,n=t.charCodeAt(e);if(n===48){r.param=0,r.index+=1;return}if(n===49){r.param=1,r.index+=1;return}r.err='[path-util]: invalid Arc flag "'.concat(t[e],'", expecting 0 or 1 at index ').concat(e)}function S2(r){return r>=48&&r<=57||r===43||r===45||r===46}function Bl(r){return r>=48&&r<=57}function O2(r){var e=r.max,t=r.pathValue,n=r.index,i=n,a=!1,s=!1,o=!1,l=!1,u;if(i>=e){r.err="[path-util]: Invalid path value at index ".concat(i,', "pathValue" is missing param');return}if(u=t.charCodeAt(i),(u===43||u===45)&&(i+=1,u=t.charCodeAt(i)),!Bl(u)&&u!==46){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" is not a number');return}if(u!==46){if(a=u===48,i+=1,u=t.charCodeAt(i),a&&i<e&&u&&Bl(u)){r.err="[path-util]: Invalid path value at index ".concat(n,', "').concat(t[n],'" illegal number');return}for(;i<e&&Bl(t.charCodeAt(i));)i+=1,s=!0;u=t.charCodeAt(i)}if(u===46){for(l=!0,i+=1;Bl(t.charCodeAt(i));)i+=1,o=!0;u=t.charCodeAt(i)}if(u===101||u===69){if(l&&!s&&!o){r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid float exponent');return}if(i+=1,u=t.charCodeAt(i),(u===43||u===45)&&(i+=1),i<e&&Bl(t.charCodeAt(i)))for(;i<e&&Bl(t.charCodeAt(i));)i+=1;else{r.err="[path-util]: Invalid path value at index ".concat(i,', "').concat(t[i],'" invalid integer exponent');return}}r.index=i,r.param=+r.pathValue.slice(n,i)}function D2(r){var e=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return r===10||r===13||r===8232||r===8233||r===32||r===9||r===11||r===12||r===160||r>=5760&&e.includes(r)}function kc(r){for(var e=r.pathValue,t=r.max;r.index<t&&D2(e.charCodeAt(r.index));)r.index+=1}function C2(r){switch(r|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function L2(r){return(r|32)===97}function R2(r){var e=r.max,t=r.pathValue,n=r.index,i=t.charCodeAt(n),a=Tu[t[n].toLowerCase()];if(r.segmentStart=n,!C2(i)){r.err='[path-util]: Invalid path value "'.concat(t[n],'" is not a path command');return}if(r.index+=1,kc(r),r.data=[],!a){Bp(r);return}for(;;){for(var s=a;s>0;s-=1){if(L2(i)&&(s===3||s===4)?P2(r):O2(r),r.err.length)return;r.data.push(r.param),kc(r),r.index<e&&t.charCodeAt(r.index)===44&&(r.index+=1,kc(r))}if(r.index>=r.max||!S2(t.charCodeAt(r.index)))break}Bp(r)}var I2=function(){function r(e){this.pathValue=e,this.segments=[],this.max=e.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return r}();function N2(r){if(Lp(r))return[].concat(r);var e=new I2(r);for(kc(e);e.index<e.max&&!e.err.length;)R2(e);return e.err?e.err:e.segments}function B2(r){if(Rp(r))return[].concat(r);var e=N2(r),t=0,n=0,i=0,a=0;return e.map(function(s){var o=s.slice(1).map(Number),l=s[0],u=l.toUpperCase();if(l==="M")return t=o[0],n=o[1],i=t,a=n,["M",t,n];var h;if(l!==u)switch(u){case"A":h=[u,o[0],o[1],o[2],o[3],o[4],o[5]+t,o[6]+n];break;case"V":h=[u,o[0]+n];break;case"H":h=[u,o[0]+t];break;default:{var p=o.map(function(N,U){return N+(U%2?n:t)});h=[u].concat(p)}}else h=[u].concat(o);var S=h.length;switch(u){case"Z":t=i,n=a;break;case"H":t=h[1];break;case"V":n=h[1];break;default:t=h[S-2],n=h[S-1],u==="M"&&(i=t,a=n)}return h})}function k2(r,e){var t=r[0],n=e.x1,i=e.y1,a=e.x2,s=e.y2,o=r.slice(1).map(Number),l=r;if("TQ".includes(t)||(e.qx=null,e.qy=null),t==="H")l=["L",r[1],i];else if(t==="V")l=["L",n,r[1]];else if(t==="S"){var u=n*2-a,h=i*2-s;e.x1=u,e.y1=h,l=["C",u,h].concat(o)}else if(t==="T"){var p=n*2-e.qx,S=i*2-e.qy;e.qx=p,e.qy=S,l=["Q",p,S].concat(o)}else if(t==="Q"){var N=o[0],U=o[1];e.qx=N,e.qy=U}return l}function Fc(r){if(Ip(r))return[].concat(r);for(var e=B2(r),t=(0,xe.pi)({},Np),n=0;n<e.length;n+=1){e[n]=k2(e[n],t);var i=e[n],a=i.length;t.x1=+i[a-2],t.y1=+i[a-1],t.x2=+i[a-4]||t.x1,t.y2=+i[a-3]||t.y1}return e}function go(r,e,t){var n=r[0],i=r[1],a=e[0],s=e[1];return[n+(a-n)*t,i+(s-i)*t]}function rv(r,e,t,n,i){var a=da([r,e],[t,n]),s={x:0,y:0};if(typeof i=="number")if(i<=0)s={x:r,y:e};else if(i>=a)s={x:t,y:n};else{var o=go([r,e],[t,n],i/a),l=o[0],u=o[1];s={x:l,y:u}}return{length:a,point:s,min:{x:Math.min(r,t),y:Math.min(e,n)},max:{x:Math.max(r,t),y:Math.max(e,n)}}}function kp(r,e){var t=r.x,n=r.y,i=e.x,a=e.y,s=t*i+n*a,o=Math.sqrt((Math.pow(t,2)+Math.pow(n,2))*(Math.pow(i,2)+Math.pow(a,2))),l=t*a-n*i<0?-1:1,u=l*Math.acos(s/o);return u}function F2(r,e,t,n,i,a,s,o,l,u){var h=Math.abs,p=Math.sin,S=Math.cos,N=Math.sqrt,U=Math.PI,H=h(t),V=h(n),Y=(i%360+360)%360,q=Y*(U/180);if(r===o&&e===l)return{x:r,y:e};if(H===0||V===0)return rv(r,e,o,l,u).point;var ne=(r-o)/2,le=(e-l)/2,ue={x:S(q)*ne+p(q)*le,y:-p(q)*ne+S(q)*le},fe=Math.pow(ue.x,2)/Math.pow(H,2)+Math.pow(ue.y,2)/Math.pow(V,2);fe>1&&(H*=N(fe),V*=N(fe));var de=Math.pow(H,2)*Math.pow(V,2)-Math.pow(H,2)*Math.pow(ue.y,2)-Math.pow(V,2)*Math.pow(ue.x,2),ve=Math.pow(H,2)*Math.pow(ue.y,2)+Math.pow(V,2)*Math.pow(ue.x,2),Te=de/ve;Te=Te<0?0:Te;var Oe=(a!==s?1:-1)*N(Te),Ie={x:Oe*(H*ue.y/V),y:Oe*(-(V*ue.x)/H)},ze={x:S(q)*Ie.x-p(q)*Ie.y+(r+o)/2,y:p(q)*Ie.x+S(q)*Ie.y+(e+l)/2},Xe={x:(ue.x-Ie.x)/H,y:(ue.y-Ie.y)/V},et=kp({x:1,y:0},Xe),st={x:(-ue.x-Ie.x)/H,y:(-ue.y-Ie.y)/V},bt=kp(Xe,st);!s&&bt>0?bt-=2*U:s&&bt<0&&(bt+=2*U),bt%=2*U;var _t=et+bt*u,ct=H*S(_t),ft=V*p(_t),At={x:S(q)*ct-p(q)*ft+ze.x,y:p(q)*ct+S(q)*ft+ze.y};return At}function z2(r,e,t,n,i,a,s,o,l,u,h){var p,S=h.bbox,N=S===void 0?!0:S,U=h.length,H=U===void 0?!0:U,V=h.sampleSize,Y=V===void 0?30:V,q=typeof u=="number",ne=r,le=e,ue=0,fe=[ne,le,ue],de=[ne,le],ve=0,Te={x:0,y:0},Oe=[{x:ne,y:le}];q&&u<=0&&(Te={x:ne,y:le});for(var Ie=0;Ie<=Y;Ie+=1){if(ve=Ie/Y,p=F2(r,e,t,n,i,a,s,o,l,ve),ne=p.x,le=p.y,N&&Oe.push({x:ne,y:le}),H&&(ue+=da(de,[ne,le])),de=[ne,le],q&&ue>=u&&u>fe[2]){var ze=(ue-u)/(ue-fe[2]);Te={x:de[0]*(1-ze)+fe[0]*ze,y:de[1]*(1-ze)+fe[1]*ze}}fe=[ne,le,ue]}return q&&u>=ue&&(Te={x:o,y:l}),{length:ue,point:Te,min:{x:Math.min.apply(null,Oe.map(function(Xe){return Xe.x})),y:Math.min.apply(null,Oe.map(function(Xe){return Xe.y}))},max:{x:Math.max.apply(null,Oe.map(function(Xe){return Xe.x})),y:Math.max.apply(null,Oe.map(function(Xe){return Xe.y}))}}}function U2(r,e,t,n,i,a,s,o,l){var u=1-l;return{x:Math.pow(u,3)*r+3*Math.pow(u,2)*l*t+3*u*Math.pow(l,2)*i+Math.pow(l,3)*s,y:Math.pow(u,3)*e+3*Math.pow(u,2)*l*n+3*u*Math.pow(l,2)*a+Math.pow(l,3)*o}}function Fp(r,e,t,n,i,a,s,o,l,u){var h,p=u.bbox,S=p===void 0?!0:p,N=u.length,U=N===void 0?!0:N,H=u.sampleSize,V=H===void 0?10:H,Y=typeof l=="number",q=r,ne=e,le=0,ue=[q,ne,le],fe=[q,ne],de=0,ve={x:0,y:0},Te=[{x:q,y:ne}];Y&&l<=0&&(ve={x:q,y:ne});for(var Oe=0;Oe<=V;Oe+=1){if(de=Oe/V,h=U2(r,e,t,n,i,a,s,o,de),q=h.x,ne=h.y,S&&Te.push({x:q,y:ne}),U&&(le+=da(fe,[q,ne])),fe=[q,ne],Y&&le>=l&&l>ue[2]){var Ie=(le-l)/(le-ue[2]);ve={x:fe[0]*(1-Ie)+ue[0]*Ie,y:fe[1]*(1-Ie)+ue[1]*Ie}}ue=[q,ne,le]}return Y&&l>=le&&(ve={x:s,y:o}),{length:le,point:ve,min:{x:Math.min.apply(null,Te.map(function(ze){return ze.x})),y:Math.min.apply(null,Te.map(function(ze){return ze.y}))},max:{x:Math.max.apply(null,Te.map(function(ze){return ze.x})),y:Math.max.apply(null,Te.map(function(ze){return ze.y}))}}}function W2(r,e,t,n,i,a,s){var o=1-s;return{x:Math.pow(o,2)*r+2*o*s*t+Math.pow(s,2)*i,y:Math.pow(o,2)*e+2*o*s*n+Math.pow(s,2)*a}}function H2(r,e,t,n,i,a,s,o){var l,u=o.bbox,h=u===void 0?!0:u,p=o.length,S=p===void 0?!0:p,N=o.sampleSize,U=N===void 0?10:N,H=typeof s=="number",V=r,Y=e,q=0,ne=[V,Y,q],le=[V,Y],ue=0,fe={x:0,y:0},de=[{x:V,y:Y}];H&&s<=0&&(fe={x:V,y:Y});for(var ve=0;ve<=U;ve+=1){if(ue=ve/U,l=W2(r,e,t,n,i,a,ue),V=l.x,Y=l.y,h&&de.push({x:V,y:Y}),S&&(q+=da(le,[V,Y])),le=[V,Y],H&&q>=s&&s>ne[2]){var Te=(q-s)/(q-ne[2]);fe={x:le[0]*(1-Te)+ne[0]*Te,y:le[1]*(1-Te)+ne[1]*Te}}ne=[V,Y,q]}return H&&s>=q&&(fe={x:i,y:a}),{length:q,point:fe,min:{x:Math.min.apply(null,de.map(function(Oe){return Oe.x})),y:Math.min.apply(null,de.map(function(Oe){return Oe.y}))},max:{x:Math.max.apply(null,de.map(function(Oe){return Oe.x})),y:Math.max.apply(null,de.map(function(Oe){return Oe.y}))}}}function zp(r,e,t){for(var n,i,a,s,o,l,u=Fc(r),h=typeof e=="number",p,S=[],N,U=0,H=0,V=0,Y=0,q,ne=[],le=[],ue=0,fe={x:0,y:0},de=fe,ve=fe,Te=fe,Oe=0,Ie=0,ze=u.length;Ie<ze;Ie+=1)q=u[Ie],N=q[0],p=N==="M",S=p?S:[U,H].concat(q.slice(1)),p?(V=q[1],Y=q[2],fe={x:V,y:Y},de=fe,ue=0,h&&e<.001&&(Te=fe)):N==="L"?(n=rv(S[0],S[1],S[2],S[3],(e||0)-Oe),ue=n.length,fe=n.min,de=n.max,ve=n.point):N==="A"?(i=z2(S[0],S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[8],(e||0)-Oe,t||{}),ue=i.length,fe=i.min,de=i.max,ve=i.point):N==="C"?(a=Fp(S[0],S[1],S[2],S[3],S[4],S[5],S[6],S[7],(e||0)-Oe,t||{}),ue=a.length,fe=a.min,de=a.max,ve=a.point):N==="Q"?(s=H2(S[0],S[1],S[2],S[3],S[4],S[5],(e||0)-Oe,t||{}),ue=s.length,fe=s.min,de=s.max,ve=s.point):N==="Z"&&(S=[U,H,V,Y],o=rv(S[0],S[1],S[2],S[3],(e||0)-Oe),ue=o.length,fe=o.min,de=o.max,ve=o.point),h&&Oe<e&&Oe+ue>=e&&(Te=ve),le.push(de),ne.push(fe),Oe+=ue,l=N!=="Z"?q.slice(-2):[V,Y],U=l[0],H=l[1];return h&&e>=Oe&&(Te={x:U,y:H}),{length:Oe,point:Te,min:{x:Math.min.apply(null,ne.map(function(Xe){return Xe.x})),y:Math.min.apply(null,ne.map(function(Xe){return Xe.y}))},max:{x:Math.max.apply(null,le.map(function(Xe){return Xe.x})),y:Math.max.apply(null,le.map(function(Xe){return Xe.y}))}}}function G2(r,e){return zp(r,void 0,(0,xe.pi)((0,xe.pi)({},e),{bbox:!1,length:!0})).length}function va(r){return Array.isArray(r)}var zc=function(r){if(va(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])};function Uc(r){if(!Array.isArray(r))return-1/0;var e=r.length;if(!e)return-1/0;for(var t=r[0],n=1;n<e;n++)t=Math.max(t,r[n]);return t}var j2=1e-5;function Pu(r,e,t){return t===void 0&&(t=j2),r===e||Math.abs(r-e)<t}var V2=function(r,e){return(r%e+e)%e},Up=V2;function Z2(r,e,t){if(r[t].length>7){r[t].shift();for(var n=r[t],i=t;n.length;)e[t]="A",r.splice(i+=1,0,["C"].concat(n.splice(0,6)));r.splice(t,1)}}function K2(r){return Ip(r)&&r.every(function(e){var t=e[0];return"MC".includes(t)})}function Wc(r,e,t){var n=r*Math.cos(t)-e*Math.sin(t),i=r*Math.sin(t)+e*Math.cos(t);return{x:n,y:i}}function iv(r,e,t,n,i,a,s,o,l,u){var h=r,p=e,S=t,N=n,U=o,H=l,V=Math.PI*120/180,Y=Math.PI/180*(+i||0),q=[],ne,le,ue,fe,de;if(u)le=u[0],ue=u[1],fe=u[2],de=u[3];else{ne=Wc(h,p,-Y),h=ne.x,p=ne.y,ne=Wc(U,H,-Y),U=ne.x,H=ne.y;var ve=(h-U)/2,Te=(p-H)/2,Oe=ve*ve/(S*S)+Te*Te/(N*N);Oe>1&&(Oe=Math.sqrt(Oe),S*=Oe,N*=Oe);var Ie=S*S,ze=N*N,Xe=(a===s?-1:1)*Math.sqrt(Math.abs((Ie*ze-Ie*Te*Te-ze*ve*ve)/(Ie*Te*Te+ze*ve*ve)));fe=Xe*S*Te/N+(h+U)/2,de=Xe*-N*ve/S+(p+H)/2,le=Math.asin(((p-de)/N*Math.pow(10,9)>>0)/Math.pow(10,9)),ue=Math.asin(((H-de)/N*Math.pow(10,9)>>0)/Math.pow(10,9)),le=h<fe?Math.PI-le:le,ue=U<fe?Math.PI-ue:ue,le<0&&(le=Math.PI*2+le),ue<0&&(ue=Math.PI*2+ue),s&&le>ue&&(le-=Math.PI*2),!s&&ue>le&&(ue-=Math.PI*2)}var et=ue-le;if(Math.abs(et)>V){var st=ue,bt=U,_t=H;ue=le+V*(s&&ue>le?1:-1),U=fe+S*Math.cos(ue),H=de+N*Math.sin(ue),q=iv(U,H,S,N,i,0,s,bt,_t,[ue,st,fe,de])}et=ue-le;var ct=Math.cos(le),ft=Math.sin(le),At=Math.cos(ue),Ft=Math.sin(ue),Vt=Math.tan(et/4),nn=4/3*S*Vt,hn=4/3*N*Vt,rn=[h,p],bn=[h+nn*ft,p-hn*ct],Dn=[U+nn*Ft,H-hn*At],kn=[U,H];if(bn[0]=2*rn[0]-bn[0],bn[1]=2*rn[1]-bn[1],u)return bn.concat(Dn,kn,q);q=bn.concat(Dn,kn,q);for(var $n=[],or=0,$i=q.length;or<$i;or+=1)$n[or]=or%2?Wc(q[or-1],q[or],Y).y:Wc(q[or],q[or+1],Y).x;return $n}function X2(r,e,t,n,i,a){var s=.3333333333333333,o=2/3;return[s*r+o*t,s*e+o*n,s*i+o*t,s*a+o*n,i,a]}var Wp=function(r,e,t,n){var i=.5,a=go([r,e],[t,n],i);return(0,xe.ev)((0,xe.ev)([],a,!0),[t,n,t,n],!1)};function Y2(r,e){var t=r[0],n=r.slice(1).map(Number),i=n[0],a=n[1],s,o=e.x1,l=e.y1,u=e.x,h=e.y;switch("TQ".includes(t)||(e.qx=null,e.qy=null),t){case"M":return e.x=i,e.y=a,r;case"A":return s=[o,l].concat(n),["C"].concat(iv(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]));case"Q":return e.qx=i,e.qy=a,s=[o,l].concat(n),["C"].concat(X2(s[0],s[1],s[2],s[3],s[4],s[5]));case"L":return["C"].concat(Wp(o,l,i,a));case"Z":return o===u&&l===h?["C",o,l,u,h,u,h]:["C"].concat(Wp(o,l,u,h));default:}return r}function av(r,e){if(e===void 0&&(e=!1),K2(r)){var t=[].concat(r);return e?[t,[]]:t}for(var n=Fc(r),i=(0,xe.pi)({},Np),a=[],s="",o=n.length,l,u,h=[],p=0;p<o;p+=1){n[p]&&(s=n[p][0]),a[p]=s;var S=Y2(n[p],i);n[p]=S,Z2(n,a,p),o=n.length,s==="Z"&&h.push(p),l=n[p],u=l.length,i.x1=+l[u-2],i.y1=+l[u-1],i.x2=+l[u-4]||i.x1,i.y2=+l[u-3]||i.y1}return e?[n,h]:n}function Q2(r,e){e===void 0&&(e=.5);var t=r.slice(0,2),n=r.slice(2,4),i=r.slice(4,6),a=r.slice(6,8),s=go(t,n,e),o=go(n,i,e),l=go(i,a,e),u=go(s,o,e),h=go(o,l,e),p=go(u,h,e);return[["C"].concat(s,u,p),["C"].concat(h,l,a)]}function Hp(r){return r.map(function(e,t,n){var i=t&&n[t-1].slice(-2).concat(e.slice(1)),a=t?Fp(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],{bbox:!1}).length:0,s;return t?s=a?Q2(i):[e,e]:s=[e],{s:e,ss:s,l:a}})}function Gp(r,e,t){var n=Hp(r),i=Hp(e),a=n.length,s=i.length,o=n.filter(function(V){return V.l}).length,l=i.filter(function(V){return V.l}).length,u=n.filter(function(V){return V.l}).reduce(function(V,Y){var q=Y.l;return V+q},0)/o||0,h=i.filter(function(V){return V.l}).reduce(function(V,Y){var q=Y.l;return V+q},0)/l||0,p=t||Math.max(a,s),S=[u,h],N=[p-a,p-s],U=0,H=[n,i].map(function(V,Y){return V.l===p?V.map(function(q){return q.s}):V.map(function(q,ne){return U=ne&&N[Y]&&q.l>=S[Y],N[Y]-=U?1:0,U?q.ss:[q.s]}).flat()});return H[0].length===H[1].length?H:Gp(H[0],H[1],p)}function J2(r,e,t,n,i,a,s,o){return 3*((o-e)*(t+i)-(s-r)*(n+a)+n*(r-i)-t*(e-a)+o*(i+r/3)-s*(a+e/3))/20}function q2(r){var e=0,t=0,n=0;return av(r).map(function(i){var a;switch(i[0]){case"M":return e=i[1],t=i[2],0;default:var s=i.slice(1),o=s[0],l=s[1],u=s[2],h=s[3],p=s[4],S=s[5];return n=J2(e,t,o,l,u,h,p,S),a=i.slice(-2),e=a[0],t=a[1],n}}).reduce(function(i,a){return i+a},0)}function jp(r){return q2(r)>=0}function $2(r){var e=r.slice(1).map(function(t,n,i){return n?i[n-1].slice(-2).concat(t.slice(1)):r[0].slice(1).concat(t.slice(1))}).map(function(t){return t.map(function(n,i){return t[t.length-i-2*(1-i%2)]})}).reverse();return[["M"].concat(e[0].slice(0,2))].concat(e.map(function(t){return["C"].concat(t.slice(2))}))}function ew(r){return r.map(function(e){return Array.isArray(e)?[].concat(e):e})}function tw(r){var e=r.length,t=e-1;return r.map(function(n,i){return r.map(function(a,s){var o=i+s,l;return s===0||r[o]&&r[o][0]==="M"?(l=r[o],["M"].concat(l.slice(-2))):(o>=e&&(o-=t),r[o])})})}function nw(r,e){var t=r.length-1,n=[],i=0,a=0,s=tw(r);return s.forEach(function(o,l){r.slice(1).forEach(function(u,h){a+=da(r[(l+h)%t].slice(-2),e[h%t].slice(-2))}),n[l]=a,a=0}),i=n.indexOf(Math.min.apply(null,n)),s[i]}var rw=function(r){return r===void 0},Bn=rw,iw={}.toString,aw=function(r,e){return iw.call(r)==="[object "+e+"]"},Vp=aw,sw=function(r){return Vp(r,"Boolean")},Su=sw;function yn(r){return typeof r=="function"}var li=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function ow(r,e,t){return zp(r,e,(0,xe.pi)((0,xe.pi)({},t),{bbox:!1,length:!0})).point}var fn=X(4635),Zp=X(92359);function lw(r,e){for(;!{}.hasOwnProperty.call(r,e)&&(r=(0,Zp.Z)(r))!==null;);return r}function sv(){return sv=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(r,e,t){var n=lw(r,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(arguments.length<3?r:t):i.value}},sv.apply(null,arguments)}function Kp(r,e,t,n){var i=sv((0,Zp.Z)(1&n?r.prototype:r),e,t);return 2&n&&typeof i=="function"?function(a){return i.apply(t,a)}:i}function Xi(r,e,t,n){var i=r-t,a=e-n;return Math.sqrt(i*i+a*a)}function Hc(r,e){var t=Math.min.apply(Math,(0,w.Z)(r)),n=Math.min.apply(Math,(0,w.Z)(e)),i=Math.max.apply(Math,(0,w.Z)(r)),a=Math.max.apply(Math,(0,w.Z)(e));return{x:t,y:n,width:i-t,height:a-n}}function Xp(r){return(r+Math.PI*2)%(Math.PI*2)}function Yp(r,e){var t=Math.abs(r);return e>0?t:t*-1}function uw(r,e,t,n,i,a){var s=t,o=n;if(s===0||o===0)return{x:r,y:e};for(var l=i-r,u=a-e,h=Math.abs(l),p=Math.abs(u),S=s*s,N=o*o,U=Math.PI/4,H=0,V=0,Y=0;Y<4;Y++){H=s*Math.cos(U),V=o*Math.sin(U);var q=(S-N)*Math.pow(Math.cos(U),3)/s,ne=(N-S)*Math.pow(Math.sin(U),3)/o,le=H-q,ue=V-ne,fe=h-q,de=p-ne,ve=Math.hypot(ue,le),Te=Math.hypot(de,fe),Oe=ve*Math.asin((le*de-ue*fe)/(ve*Te)),Ie=Oe/Math.sqrt(S+N-H*H-V*V);U+=Ie,U=Math.min(Math.PI/2,Math.max(0,U))}return{x:r+Yp(H,l),y:e+Yp(V,u)}}function cw(r,e,t,n,i,a,s,o){return-1*t*Math.cos(i)*Math.sin(o)-n*Math.sin(i)*Math.cos(o)}function hw(r,e,t,n,i,a,s,o){return-1*t*Math.sin(i)*Math.sin(o)+n*Math.cos(i)*Math.cos(o)}function fw(r,e,t){return Math.atan(-e/r*Math.tan(t))}function dw(r,e,t){return Math.atan(e/(r*Math.tan(t)))}function vw(r,e,t,n,i,a){return t*Math.cos(i)*Math.cos(a)-n*Math.sin(i)*Math.sin(a)+r}function gw(r,e,t,n,i,a){return t*Math.sin(i)*Math.cos(a)+n*Math.cos(i)*Math.sin(a)+e}function pw(r,e,t,n){var i=Math.atan2(n*r,t*e);return(i+Math.PI*2)%(Math.PI*2)}function Qp(r,e,t){return{x:r*Math.cos(t),y:e*Math.sin(t)}}function Jp(r,e,t){var n=Math.cos(t),i=Math.sin(t);return[r*n-e*i,r*i+e*n]}function mw(r,e,t,n,i,a,s){for(var o=fw(t,n,i),l=1/0,u=-1/0,h=[a,s],p=-Math.PI*2;p<=Math.PI*2;p+=Math.PI){var S=o+p;a<s?a<S&&S<s&&h.push(S):s<S&&S<a&&h.push(S)}for(var N=0;N<h.length;N++){var U=vw(r,e,t,n,i,h[N]);U<l&&(l=U),U>u&&(u=U)}for(var H=dw(t,n,i),V=1/0,Y=-1/0,q=[a,s],ne=-Math.PI*2;ne<=Math.PI*2;ne+=Math.PI){var le=H+ne;a<s?a<le&&le<s&&q.push(le):s<le&&le<a&&q.push(le)}for(var ue=0;ue<q.length;ue++){var fe=gw(r,e,t,n,i,q[ue]);fe<V&&(V=fe),fe>Y&&(Y=fe)}return{x:l,y:V,width:u-l,height:Y-V}}function K8(r,e,t,n,i,a,s,o,l){var u=Jp(o-r,l-e,-i),h=_slicedToArray(u,2),p=h[0],S=h[1],N=uw(0,0,t,n,p,S),U=pw(t,n,N.x,N.y);U<a?N=Qp(t,n,a):U>s&&(N=Qp(t,n,s));var H=Jp(N.x,N.y,i);return{x:H[0]+r,y:H[1]+e}}function X8(r,e,t,n,i,a,s,o){var l=(s-a)*o+a,u=cw(r,e,t,n,i,a,s,l),h=hw(r,e,t,n,i,a,s,l);return Xp(Math.atan2(h,u))}var yw=1e-4;function qp(r,e,t,n,i,a){var s=-1,o=1/0,l=[t,n],u=20;a&&a>200&&(u=a/10);for(var h=1/u,p=h/10,S=0;S<=u;S++){var N=S*h,U=[i.apply(void 0,(0,w.Z)(r.concat([N]))),i.apply(void 0,(0,w.Z)(e.concat([N])))],H=Xi(l[0],l[1],U[0],U[1]);H<o&&(s=N,o=H)}if(s===0)return{x:r[0],y:e[0]};if(s===1){var V=r.length;return{x:r[V-1],y:e[V-1]}}o=1/0;for(var Y=0;Y<32&&!(p<yw);Y++){var q=s-p,ne=s+p,le=[i.apply(void 0,(0,w.Z)(r.concat([q]))),i.apply(void 0,(0,w.Z)(e.concat([q])))],ue=Xi(l[0],l[1],le[0],le[1]);if(q>=0&&ue<o)s=q,o=ue;else{var fe=[i.apply(void 0,(0,w.Z)(r.concat([ne]))),i.apply(void 0,(0,w.Z)(e.concat([ne])))],de=Xi(l[0],l[1],fe[0],fe[1]);ne<=1&&de<o?(s=ne,o=de):p*=.5}}return{x:i.apply(void 0,(0,w.Z)(r.concat([s]))),y:i.apply(void 0,(0,w.Z)(e.concat([s])))}}function _w(r,e){for(var t=0,n=r.length,i=0;i<n;i++){var a=r[i],s=e[i],o=r[(i+1)%n],l=e[(i+1)%n];t+=Xi(a,s,o,l)}return t/2}function Y8(r,e,t,n){return Hc([r,t],[e,n])}function $p(r,e,t,n){return Xi(r,e,t,n)}function Ss(r,e,t,n,i){return{x:(1-i)*r+i*t,y:(1-i)*e+i*n}}function Ew(r,e,t,n,i,a){var s=(t-r)*(i-r)+(n-e)*(a-e);if(s<0)return Xi(r,e,i,a);var o=(t-r)*(t-r)+(n-e)*(n-e);return s>o?Xi(t,n,i,a):em(r,e,t,n,i,a)}function em(r,e,t,n,i,a){var s=[t-r,n-e];if(A2(s,[0,0]))return Math.sqrt((i-r)*(i-r)+(a-e)*(a-e));var o=[-s[1],s[0]];w2(o,o);var l=[i-r,a-e];return Math.abs(M2(l,o))}function Q8(r,e,t,n){return Math.atan2(n-e,t-r)}function Xo(r,e,t,n,i){var a=1-i;return a*a*a*r+3*e*i*a*a+3*t*i*i*a+n*i*i*i}function tm(r,e,t,n,i){var a=1-i;return 3*(a*a*(e-r)+2*a*i*(t-e)+i*i*(n-t))}function nm(r,e,t,n){var i=-3*r+9*e-9*t+3*n,a=6*r-12*e+6*t,s=3*e-3*r,o=[],l,u,h;if(Pu(i,0))Pu(a,0)||(l=-s/a,l>=0&&l<=1&&o.push(l));else{var p=a*a-4*i*s;Pu(p,0)?o.push(-a/(2*i)):p>0&&(h=Math.sqrt(p),l=(-a+h)/(2*i),u=(-a-h)/(2*i),l>=0&&l<=1&&o.push(l),u>=0&&u<=1&&o.push(u))}return o}function xw(r,e,t,n,i,a,s,o,l){var u=Xo(r,t,i,s,l),h=Xo(e,n,a,o,l),p=Ss(r,e,t,n,l),S=Ss(t,n,i,a,l),N=Ss(i,a,s,o,l),U=Ss(p.x,p.y,S.x,S.y,l),H=Ss(S.x,S.y,N.x,N.y,l);return[[r,e,p.x,p.y,U.x,U.y,u,h],[u,h,H.x,H.y,N.x,N.y,s,o]]}function ov(r,e,t,n,i,a,s,o,l){if(l===0)return _w([r,t,i,s],[e,n,a,o]);var u=xw(r,e,t,n,i,a,s,o,.5),h=[].concat(_toConsumableArray(u[0]),[l-1]),p=[].concat(_toConsumableArray(u[1]),[l-1]);return ov.apply(void 0,_toConsumableArray(h))+ov.apply(void 0,_toConsumableArray(p))}function bw(r,e,t,n,i,a,s,o){for(var l=[r,s],u=[e,o],h=nm(r,t,i,s),p=nm(e,n,a,o),S=0;S<h.length;S++)l.push(Xo(r,t,i,s,h[S]));for(var N=0;N<p.length;N++)u.push(Xo(e,n,a,o,p[N]));return Hc(l,u)}function J8(r,e,t,n,i,a,s,o){return ov(r,e,t,n,i,a,s,o,3)}function ww(r,e,t,n,i,a,s,o,l,u,h){return qp([r,t,i,s],[e,n,a,o],l,u,Xo,h)}function rm(r,e,t,n,i,a,s,o,l,u,h){var p=ww(r,e,t,n,i,a,s,o,l,u,h);return Xi(p.x,p.y,l,u)}function q8(r,e,t,n,i,a,s,o,l){return{x:Xo(r,t,i,s,l),y:Xo(e,n,a,o,l)}}function $8(r,e,t,n,i,a,s,o,l){var u=tm(r,t,i,s,l),h=tm(e,n,a,o,l);return Xp(Math.atan2(h,u))}function im(r){for(var e=0,t=[],n=0;n<r.length-1;n++){var i=r[n],a=r[n+1],s=Xi(i[0],i[1],a[0],a[1]),o={from:i,to:a,length:s};t.push(o),e+=s}return{segments:t,totalLength:e}}function am(r){if(r.length<2)return 0;for(var e=0,t=0;t<r.length-1;t++){var n=r[t],i=r[t+1];e+=Xi(n[0],n[1],i[0],i[1])}return e}function sm(r,e){if(e>1||e<0||r.length<2)return null;var t=im(r),n=t.segments,i=t.totalLength;if(i===0)return{x:r[0][0],y:r[0][1]};for(var a=0,s=null,o=0;o<n.length;o++){var l=n[o],u=l.from,h=l.to,p=l.length/i;if(e>=a&&e<=a+p){var S=(e-a)/p;s=Ss(u[0],u[1],h[0],h[1],S);break}a+=p}return s}function om(r,e){if(e>1||e<0||r.length<2)return 0;for(var t=im(r),n=t.segments,i=t.totalLength,a=0,s=0,o=0;o<n.length;o++){var l=n[o],u=l.from,h=l.to,p=l.length/i;if(e>=a&&e<=a+p){s=Math.atan2(h[1]-u[1],h[0]-u[0]);break}a+=p}return s}function lm(r,e,t){for(var n=1/0,i=0;i<r.length-1;i++){var a=r[i],s=r[i+1],o=Ew(a[0],a[1],s[0],s[1],e,t);o<n&&(n=o)}return n}function Mw(r){for(var e=[],t=[],n=0;n<r.length;n++){var i=r[n];e.push(i[0]),t.push(i[1])}return Hc(e,t)}function Aw(r){return am(r)}function e6(r,e){return sm(r,e)}function t6(r,e,t){return lm(r,e,t)}function n6(r,e){return om(r,e)}function Gc(r){var e=r.slice(0);return r.length&&e.push(r[0]),e}function r6(r){return Mw(r)}function i6(r){return am(Gc(r))}function a6(r,e){return sm(Gc(r),e)}function s6(r,e,t){return lm(Gc(r),e,t)}function o6(r,e){return om(Gc(r),e)}function Ou(r,e,t,n){var i=1-n;return i*i*r+2*n*i*e+n*n*t}function um(r,e,t){var n=r+t-2*e;if(Pu(n,0))return[.5];var i=(r-e)/n;return i<=1&&i>=0?[i]:[]}function Tw(r,e,t,n,i,a,s){var o=Ou(r,t,i,s),l=Ou(e,n,a,s),u=Ss(r,e,t,n,s),h=Ss(t,n,i,a,s);return[[r,e,u.x,u.y,o,l],[o,l,h.x,h.y,i,a]]}function lv(r,e,t,n,i,a,s){if(s===0)return(Xi(r,e,t,n)+Xi(t,n,i,a)+Xi(r,e,i,a))/2;var o=Tw(r,e,t,n,i,a,.5),l=o[0],u=o[1];return l.push(s-1),u.push(s-1),lv.apply(void 0,_toConsumableArray(l))+lv.apply(void 0,_toConsumableArray(u))}function Pw(r,e,t,n,i,a){var s=um(r,t,i)[0],o=um(e,n,a)[0],l=[r,i],u=[e,a];return s!==void 0&&l.push(Ou(r,t,i,s)),o!==void 0&&u.push(Ou(e,n,a,o)),Hc(l,u)}function l6(r,e,t,n,i,a){return lv(r,e,t,n,i,a,3)}function Sw(r,e,t,n,i,a,s,o){return qp([r,t,i],[e,n,a],s,o,Ou)}function Ow(r,e,t,n,i,a,s,o){var l=Sw(r,e,t,n,i,a,s,o);return Xi(l.x,l.y,s,o)}var Yi=X(70539),po=X(95764),Yo=X(37530),Qo=X(62646);var Dw=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof X.g!="undefined"?X.g:typeof self!="undefined"?self:{},cm={exports:{}};(function(r,e){(function(t,n){r.exports=n()})(Dw,function(){function t(ue,fe,de,ve,Te){n(ue,fe,de||0,ve||ue.length-1,Te||a)}function n(ue,fe,de,ve,Te){for(;ve>de;){if(ve-de>600){var Oe=ve-de+1,Ie=fe-de+1,ze=Math.log(Oe),Xe=.5*Math.exp(2*ze/3),et=.5*Math.sqrt(ze*Xe*(Oe-Xe)/Oe)*(Ie-Oe/2<0?-1:1),st=Math.max(de,Math.floor(fe-Ie*Xe/Oe+et)),bt=Math.min(ve,Math.floor(fe+(Oe-Ie)*Xe/Oe+et));n(ue,fe,st,bt,Te)}var _t=ue[fe],ct=de,ft=ve;for(i(ue,de,fe),Te(ue[ve],_t)>0&&i(ue,de,ve);ct<ft;){for(i(ue,ct,ft),ct++,ft--;Te(ue[ct],_t)<0;)ct++;for(;Te(ue[ft],_t)>0;)ft--}Te(ue[de],_t)===0?i(ue,de,ft):(ft++,i(ue,ft,ve)),ft<=fe&&(de=ft+1),fe<=ft&&(ve=ft-1)}}function i(ue,fe,de){var ve=ue[fe];ue[fe]=ue[de],ue[de]=ve}function a(ue,fe){return ue<fe?-1:ue>fe?1:0}var s=function(fe){fe===void 0&&(fe=9),this._maxEntries=Math.max(4,fe),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(fe){var de=this.data,ve=[];if(!q(fe,de))return ve;for(var Te=this.toBBox,Oe=[];de;){for(var Ie=0;Ie<de.children.length;Ie++){var ze=de.children[Ie],Xe=de.leaf?Te(ze):ze;q(fe,Xe)&&(de.leaf?ve.push(ze):Y(fe,Xe)?this._all(ze,ve):Oe.push(ze))}de=Oe.pop()}return ve},s.prototype.collides=function(fe){var de=this.data;if(!q(fe,de))return!1;for(var ve=[];de;){for(var Te=0;Te<de.children.length;Te++){var Oe=de.children[Te],Ie=de.leaf?this.toBBox(Oe):Oe;if(q(fe,Ie)){if(de.leaf||Y(fe,Ie))return!0;ve.push(Oe)}}de=ve.pop()}return!1},s.prototype.load=function(fe){if(!(fe&&fe.length))return this;if(fe.length<this._minEntries){for(var de=0;de<fe.length;de++)this.insert(fe[de]);return this}var ve=this._build(fe.slice(),0,fe.length-1,0);if(!this.data.children.length)this.data=ve;else if(this.data.height===ve.height)this._splitRoot(this.data,ve);else{if(this.data.height<ve.height){var Te=this.data;this.data=ve,ve=Te}this._insert(ve,this.data.height-ve.height-1,!0)}return this},s.prototype.insert=function(fe){return fe&&this._insert(fe,this.data.height-1),this},s.prototype.clear=function(){return this.data=ne([]),this},s.prototype.remove=function(fe,de){if(!fe)return this;for(var ve=this.data,Te=this.toBBox(fe),Oe=[],Ie=[],ze,Xe,et;ve||Oe.length;){if(ve||(ve=Oe.pop(),Xe=Oe[Oe.length-1],ze=Ie.pop(),et=!0),ve.leaf){var st=o(fe,ve.children,de);if(st!==-1)return ve.children.splice(st,1),Oe.push(ve),this._condense(Oe),this}!et&&!ve.leaf&&Y(ve,Te)?(Oe.push(ve),Ie.push(ze),ze=0,Xe=ve,ve=ve.children[0]):Xe?(ze++,ve=Xe.children[ze],et=!1):ve=null}return this},s.prototype.toBBox=function(fe){return fe},s.prototype.compareMinX=function(fe,de){return fe.minX-de.minX},s.prototype.compareMinY=function(fe,de){return fe.minY-de.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(fe){return this.data=fe,this},s.prototype._all=function(fe,de){for(var ve=[];fe;)fe.leaf?de.push.apply(de,fe.children):ve.push.apply(ve,fe.children),fe=ve.pop();return de},s.prototype._build=function(fe,de,ve,Te){var Oe=ve-de+1,Ie=this._maxEntries,ze;if(Oe<=Ie)return ze=ne(fe.slice(de,ve+1)),l(ze,this.toBBox),ze;Te||(Te=Math.ceil(Math.log(Oe)/Math.log(Ie)),Ie=Math.ceil(Oe/Math.pow(Ie,Te-1))),ze=ne([]),ze.leaf=!1,ze.height=Te;var Xe=Math.ceil(Oe/Ie),et=Xe*Math.ceil(Math.sqrt(Ie));le(fe,de,ve,et,this.compareMinX);for(var st=de;st<=ve;st+=et){var bt=Math.min(st+et-1,ve);le(fe,st,bt,Xe,this.compareMinY);for(var _t=st;_t<=bt;_t+=Xe){var ct=Math.min(_t+Xe-1,bt);ze.children.push(this._build(fe,_t,ct,Te-1))}}return l(ze,this.toBBox),ze},s.prototype._chooseSubtree=function(fe,de,ve,Te){for(;Te.push(de),!(de.leaf||Te.length-1===ve);){for(var Oe=1/0,Ie=1/0,ze=void 0,Xe=0;Xe<de.children.length;Xe++){var et=de.children[Xe],st=N(et),bt=H(fe,et)-st;bt<Ie?(Ie=bt,Oe=st<Oe?st:Oe,ze=et):bt===Ie&&st<Oe&&(Oe=st,ze=et)}de=ze||de.children[0]}return de},s.prototype._insert=function(fe,de,ve){var Te=ve?fe:this.toBBox(fe),Oe=[],Ie=this._chooseSubtree(Te,this.data,de,Oe);for(Ie.children.push(fe),h(Ie,Te);de>=0&&Oe[de].children.length>this._maxEntries;)this._split(Oe,de),de--;this._adjustParentBBoxes(Te,Oe,de)},s.prototype._split=function(fe,de){var ve=fe[de],Te=ve.children.length,Oe=this._minEntries;this._chooseSplitAxis(ve,Oe,Te);var Ie=this._chooseSplitIndex(ve,Oe,Te),ze=ne(ve.children.splice(Ie,ve.children.length-Ie));ze.height=ve.height,ze.leaf=ve.leaf,l(ve,this.toBBox),l(ze,this.toBBox),de?fe[de-1].children.push(ze):this._splitRoot(ve,ze)},s.prototype._splitRoot=function(fe,de){this.data=ne([fe,de]),this.data.height=fe.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(fe,de,ve){for(var Te,Oe=1/0,Ie=1/0,ze=de;ze<=ve-de;ze++){var Xe=u(fe,0,ze,this.toBBox),et=u(fe,ze,ve,this.toBBox),st=V(Xe,et),bt=N(Xe)+N(et);st<Oe?(Oe=st,Te=ze,Ie=bt<Ie?bt:Ie):st===Oe&&bt<Ie&&(Ie=bt,Te=ze)}return Te||ve-de},s.prototype._chooseSplitAxis=function(fe,de,ve){var Te=fe.leaf?this.compareMinX:p,Oe=fe.leaf?this.compareMinY:S,Ie=this._allDistMargin(fe,de,ve,Te),ze=this._allDistMargin(fe,de,ve,Oe);Ie<ze&&fe.children.sort(Te)},s.prototype._allDistMargin=function(fe,de,ve,Te){fe.children.sort(Te);for(var Oe=this.toBBox,Ie=u(fe,0,de,Oe),ze=u(fe,ve-de,ve,Oe),Xe=U(Ie)+U(ze),et=de;et<ve-de;et++){var st=fe.children[et];h(Ie,fe.leaf?Oe(st):st),Xe+=U(Ie)}for(var bt=ve-de-1;bt>=de;bt--){var _t=fe.children[bt];h(ze,fe.leaf?Oe(_t):_t),Xe+=U(ze)}return Xe},s.prototype._adjustParentBBoxes=function(fe,de,ve){for(var Te=ve;Te>=0;Te--)h(de[Te],fe)},s.prototype._condense=function(fe){for(var de=fe.length-1,ve=void 0;de>=0;de--)fe[de].children.length===0?de>0?(ve=fe[de-1].children,ve.splice(ve.indexOf(fe[de]),1)):this.clear():l(fe[de],this.toBBox)};function o(ue,fe,de){if(!de)return fe.indexOf(ue);for(var ve=0;ve<fe.length;ve++)if(de(ue,fe[ve]))return ve;return-1}function l(ue,fe){u(ue,0,ue.children.length,fe,ue)}function u(ue,fe,de,ve,Te){Te||(Te=ne(null)),Te.minX=1/0,Te.minY=1/0,Te.maxX=-1/0,Te.maxY=-1/0;for(var Oe=fe;Oe<de;Oe++){var Ie=ue.children[Oe];h(Te,ue.leaf?ve(Ie):Ie)}return Te}function h(ue,fe){return ue.minX=Math.min(ue.minX,fe.minX),ue.minY=Math.min(ue.minY,fe.minY),ue.maxX=Math.max(ue.maxX,fe.maxX),ue.maxY=Math.max(ue.maxY,fe.maxY),ue}function p(ue,fe){return ue.minX-fe.minX}function S(ue,fe){return ue.minY-fe.minY}function N(ue){return(ue.maxX-ue.minX)*(ue.maxY-ue.minY)}function U(ue){return ue.maxX-ue.minX+(ue.maxY-ue.minY)}function H(ue,fe){return(Math.max(fe.maxX,ue.maxX)-Math.min(fe.minX,ue.minX))*(Math.max(fe.maxY,ue.maxY)-Math.min(fe.minY,ue.minY))}function V(ue,fe){var de=Math.max(ue.minX,fe.minX),ve=Math.max(ue.minY,fe.minY),Te=Math.min(ue.maxX,fe.maxX),Oe=Math.min(ue.maxY,fe.maxY);return Math.max(0,Te-de)*Math.max(0,Oe-ve)}function Y(ue,fe){return ue.minX<=fe.minX&&ue.minY<=fe.minY&&fe.maxX<=ue.maxX&&fe.maxY<=ue.maxY}function q(ue,fe){return fe.minX<=ue.maxX&&fe.minY<=ue.maxY&&fe.maxX>=ue.minX&&fe.maxY>=ue.minY}function ne(ue){return{children:ue,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function le(ue,fe,de,ve,Te){for(var Oe=[fe,de];Oe.length;)if(de=Oe.pop(),fe=Oe.pop(),!(de-fe<=ve)){var Ie=fe+Math.ceil((de-fe)/ve/2)*ve;t(ue,Ie,fe,de,Te),Oe.push(fe,Ie,Ie,de)}}return s})})(cm);var Cw=cm.exports,Ct=function(r){return r.GROUP="g",r.FRAGMENT="fragment",r.CIRCLE="circle",r.ELLIPSE="ellipse",r.IMAGE="image",r.RECT="rect",r.LINE="line",r.POLYLINE="polyline",r.POLYGON="polygon",r.TEXT="text",r.PATH="path",r.HTML="html",r.MESH="mesh",r}({}),jc=function(r){return r[r.ZERO=0]="ZERO",r[r.NEGATIVE_ONE=1]="NEGATIVE_ONE",r}({}),mo=function(){function r(){(0,_.Z)(this,r),this.plugins=[]}return(0,F.Z)(r,[{key:"addRenderingPlugin",value:function(t){this.plugins.push(t),this.context.renderingPlugins.push(t)}},{key:"removeAllRenderingPlugins",value:function(){var t=this;this.plugins.forEach(function(n){var i=t.context.renderingPlugins.indexOf(n);i>=0&&t.context.renderingPlugins.splice(i,1)})}}])}(),Lw=function(){function r(e){(0,_.Z)(this,r),this.clipSpaceNearZ=jc.NEGATIVE_ONE,this.plugins=[],this.config=(0,G.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},e)}return(0,F.Z)(r,[{key:"registerPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n===-1&&this.plugins.push(t)}},{key:"unregisterPlugin",value:function(t){var n=this.plugins.findIndex(function(i){return i===t});n>-1&&this.plugins.splice(n,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(t){return this.plugins.find(function(n){return n.name===t})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(t){Object.assign(this.config,t)}}])}(),uv=k,kl=D,Rw=ie,Iw=$,hm=re,cv=Pe,Nr=function(){function r(){(0,_.Z)(this,r),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,F.Z)(r,[{key:"update",value:function(t,n){kl(this.center,t),kl(this.halfExtents,n),cv(this.min,this.center,this.halfExtents),uv(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(t,n){uv(this.center,n,t),hm(this.center,this.center,.5),cv(this.halfExtents,n,t),hm(this.halfExtents,this.halfExtents,.5),kl(this.min,t),kl(this.max,n)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(t){if(!r.isEmpty(t)){if(r.isEmpty(this)){this.setMinMax(t.getMin(),t.getMax());return}var n=this.center,i=n[0],a=n[1],s=n[2],o=this.halfExtents,l=o[0],u=o[1],h=o[2],p=i-l,S=i+l,N=a-u,U=a+u,H=s-h,V=s+h,Y=t.center,q=Y[0],ne=Y[1],le=Y[2],ue=t.halfExtents,fe=ue[0],de=ue[1],ve=ue[2],Te=q-fe,Oe=q+fe,Ie=ne-de,ze=ne+de,Xe=le-ve,et=le+ve;Te<p&&(p=Te),Oe>S&&(S=Oe),Ie<N&&(N=Ie),ze>U&&(U=ze),Xe<H&&(H=Xe),et>V&&(V=et),n[0]=(p+S)*.5,n[1]=(N+U)*.5,n[2]=(H+V)*.5,o[0]=(S-p)*.5,o[1]=(U-N)*.5,o[2]=(V-H)*.5,this.min[0]=p,this.min[1]=N,this.min[2]=H,this.max[0]=S,this.max[1]=U,this.max[2]=V}}},{key:"setFromTransformedAABB",value:function(t,n){var i=this.center,a=this.halfExtents,s=t.center,o=t.halfExtents,l=n[0],u=n[4],h=n[8],p=n[1],S=n[5],N=n[9],U=n[2],H=n[6],V=n[10],Y=Math.abs(l),q=Math.abs(u),ne=Math.abs(h),le=Math.abs(p),ue=Math.abs(S),fe=Math.abs(N),de=Math.abs(U),ve=Math.abs(H),Te=Math.abs(V);i[0]=n[12]+l*s[0]+u*s[1]+h*s[2],i[1]=n[13]+p*s[0]+S*s[1]+N*s[2],i[2]=n[14]+U*s[0]+H*s[1]+V*s[2],a[0]=Y*o[0]+q*o[1]+ne*o[2],a[1]=le*o[0]+ue*o[1]+fe*o[2],a[2]=de*o[0]+ve*o[1]+Te*o[2],cv(this.min,i,a),uv(this.max,i,a)}},{key:"intersects",value:function(t){var n=this.getMax(),i=this.getMin(),a=t.getMax(),s=t.getMin();return i[0]<=a[0]&&n[0]>=s[0]&&i[1]<=a[1]&&n[1]>=s[1]&&i[2]<=a[2]&&n[2]>=s[2]}},{key:"intersection",value:function(t){if(!this.intersects(t))return null;var n=new r,i=Rw([0,0,0],this.getMin(),t.getMin()),a=Iw([0,0,0],this.getMax(),t.getMax());return n.setMinMax(i,a),n}},{key:"getNegativeFarPoint",value:function(t){return t.pnVertexFlag===273?kl([0,0,0],this.min):t.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:t.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(t){return t.pnVertexFlag===273?kl([0,0,0],this.max):t.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:t.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:t.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:t.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:t.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:t.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(t){return!t||t.halfExtents[0]===0&&t.halfExtents[1]===0&&t.halfExtents[2]===0}}])}(),Nw=function(){function r(e,t){(0,_.Z)(this,r),this.distance=e||0,this.normal=t||f(0,1,0),this.updatePNVertexFlag()}return(0,F.Z)(r,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(t){return Ee(t,this.normal)-this.distance}},{key:"normalize",value:function(){var t=1/$e(this.normal);re(this.normal,this.normal,t),this.distance*=t}},{key:"intersectsLine",value:function(t,n,i){var a=this.distanceToPoint(t),s=this.distanceToPoint(n),o=a/(a-s),l=o>=0&&o<=1;return l&&i&&Fe(i,t,n,o),l}}])}(),Fl=function(r){return r[r.OUTSIDE=4294967295]="OUTSIDE",r[r.INSIDE=0]="INSIDE",r[r.INDETERMINATE=2147483647]="INDETERMINATE",r}({}),Bw=function(){function r(e){if((0,_.Z)(this,r),this.planes=[],e)this.planes=e;else for(var t=0;t<6;t++)this.planes.push(new Nw)}return(0,F.Z)(r,[{key:"extractFromVPMatrix",value:function(t){var n=(0,b.Z)(t,16),i=n[0],a=n[1],s=n[2],o=n[3],l=n[4],u=n[5],h=n[6],p=n[7],S=n[8],N=n[9],U=n[10],H=n[11],V=n[12],Y=n[13],q=n[14],ne=n[15];R(this.planes[0].normal,o-i,p-l,H-S),this.planes[0].distance=ne-V,R(this.planes[1].normal,o+i,p+l,H+S),this.planes[1].distance=ne+V,R(this.planes[2].normal,o+a,p+u,H+N),this.planes[2].distance=ne+Y,R(this.planes[3].normal,o-a,p-u,H-N),this.planes[3].distance=ne-Y,R(this.planes[4].normal,o-s,p-h,H-U),this.planes[4].distance=ne-q,R(this.planes[5].normal,o+s,p+h,H+U),this.planes[5].distance=ne+q,this.planes.forEach(function(le){le.normalize(),le.updatePNVertexFlag()})}}])}(),Bi=function(){function r(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,_.Z)(this,r),this.x=0,this.y=0,this.x=e,this.y=t}return(0,F.Z)(r,[{key:"clone",value:function(){return new r(this.x,this.y)}},{key:"copyFrom",value:function(t){this.x=t.x,this.y=t.y}}])}(),zl=function(){function r(e,t,n,i){(0,_.Z)(this,r),this.x=e,this.y=t,this.width=n,this.height=i,this.left=e,this.right=e+n,this.top=t,this.bottom=t+i}return(0,F.Z)(r,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(t){return new r(t.x,t.y,t.width,t.height)}},{key:"applyTransform",value:function(t,n){var i=Dt(t.x,t.y,0,1),a=Dt(t.x+t.width,t.y,0,1),s=Dt(t.x,t.y+t.height,0,1),o=Dt(t.x+t.width,t.y+t.height,0,1),l=xt(),u=xt(),h=xt(),p=xt();En(l,i,n),En(u,a,n),En(h,s,n),En(p,o,n);var S=Math.min(l[0],u[0],h[0],p[0]),N=Math.min(l[1],u[1],h[1],p[1]),U=Math.max(l[0],u[0],h[0],p[0]),H=Math.max(l[1],u[1],h[1],p[1]);return r.fromRect({x:S,y:N,width:U-S,height:H-N})}}])}(),Ar="Method not implemented.",Ul="Use document.documentElement instead.",kw="Cannot append a destroyed element.";function Wl(r){return r===void 0?0:r>360||r<-360?r%360:r}var hv=P();function ia(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(r)&&r.length===3?n?L(r):D(hv,r):un(r)?n?f(r,e,t):R(hv,r,e,t):n?f(r[0],r[1]||e,r[2]||t):R(hv,r[0],r[1]||e,r[2]||t)}var Fw=Math.PI/180;function Tr(r){return r*Fw}var zw=180/Math.PI;function ga(r){return r*zw}var Uw=.9;function u6(r){return r%=400,r<0&&(r+=400),r*Uw}function c6(r){return r/360}function Ww(r){return 360*r}var Vc=Math.PI/2;function Hw(r,e){var t=e[0],n=e[1],i=e[2],a=e[3],s=t*t,o=n*n,l=i*i,u=a*a,h=s+o+l+u,p=t*a-n*i;return p>.499995*h?(r[0]=Vc,r[1]=2*Math.atan2(n,t),r[2]=0):p<-.499995*h?(r[0]=-Vc,r[1]=2*Math.atan2(n,t),r[2]=0):(r[0]=Math.asin(2*(t*i-a*n)),r[1]=Math.atan2(2*(t*a+n*i),1-2*(l+u)),r[2]=Math.atan2(2*(t*n+i*a),1-2*(o+l))),r}function Gw(r,e){var t,n,i=pn(P(),e),a=(0,b.Z)(i,3),s=a[0],o=a[1],l=a[2],u=Math.asin(-e[2]/s);return u<Vc?u>-Vc?(t=Math.atan2(e[6]/o,e[10]/l),n=Math.atan2(e[1]/s,e[0]/s)):(n=0,t=-Math.atan2(e[4]/o,e[5]/o)):(n=0,t=Math.atan2(e[4]/o,e[5]/o)),r[0]=t,r[1]=u,r[2]=n,r}function fv(r,e){return e.length===16?Gw(r,e):Hw(r,e)}function jw(r,e,t,n,i){var a=Math.cos(r),s=Math.sin(r);return gi(n*a,i*s,0,-n*s,i*a,0,e,t,1)}function Vw(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,l=2*a,u=t-e,h=n-i,p=l/u,S=l/h,N=(t+e)/u,U=(n+i)/h,H,V,Y=s-a,q=s*a;return o?(H=-s/Y,V=-q/Y):(H=-(s+a)/Y,V=-2*q/Y),r[0]=p,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=S,r[6]=0,r[7]=0,r[8]=N,r[9]=U,r[10]=H,r[11]=-1,r[12]=0,r[13]=0,r[14]=V,r[15]=0,r}function fm(r){var e=r[0],t=r[1],n=r[3],i=r[4],a=Math.sqrt(e*e+t*t),s=Math.sqrt(n*n+i*i),o=e*i-t*n;if(o<0&&(e<i?a=-a:s=-s),a){var l=1/a;e*=l,t*=l}if(s){var u=1/s;n*=u,i*=u}var h=Math.atan2(t,e),p=ga(h);return[r[6],r[7],a,s,p]}var Os=De(),ss=De(),Du=xt(),Nn=[P(),P(),P()],dm=P();function Zw(r,e,t,n,i,a){if(!Kw(Os,r)||(He(ss,Os),ss[3]=0,ss[7]=0,ss[11]=0,ss[15]=1,Math.abs(It(ss))<1e-8))return!1;var s=Os[3],o=Os[7],l=Os[11],u=Os[12],h=Os[13],p=Os[14],S=Os[15];if(s!==0||o!==0||l!==0){Du[0]=s,Du[1]=o,Du[2]=l,Du[3]=S;var N=mt(ss,ss);if(!N)return!1;tt(ss,ss),En(i,Du,ss)}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=u,e[1]=h,e[2]=p,Xw(Nn,Os),t[0]=c(Nn[0]),ge(Nn[0],Nn[0]),n[0]=Ee(Nn[0],Nn[1]),dv(Nn[1],Nn[1],Nn[0],1,-n[0]),t[1]=c(Nn[1]),ge(Nn[1],Nn[1]),n[0]/=t[1],n[1]=Ee(Nn[0],Nn[2]),dv(Nn[2],Nn[2],Nn[0],1,-n[1]),n[2]=Ee(Nn[1],Nn[2]),dv(Nn[2],Nn[2],Nn[1],1,-n[2]),t[2]=c(Nn[2]),ge(Nn[2],Nn[2]),n[1]/=t[2],n[2]/=t[2],Ae(dm,Nn[1],Nn[2]),Ee(Nn[0],dm)<0)for(var U=0;U<3;U++)t[U]*=-1,Nn[U][0]*=-1,Nn[U][1]*=-1,Nn[U][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Nn[0][0]-Nn[1][1]-Nn[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Nn[0][0]+Nn[1][1]-Nn[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Nn[0][0]-Nn[1][1]+Nn[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Nn[0][0]+Nn[1][1]+Nn[2][2],0)),Nn[2][1]>Nn[1][2]&&(a[0]=-a[0]),Nn[0][2]>Nn[2][0]&&(a[1]=-a[1]),Nn[1][0]>Nn[0][1]&&(a[2]=-a[2]),!0}function Kw(r,e){var t=e[15];if(t===0)return!1;for(var n=1/t,i=0;i<16;i++)r[i]=e[i]*n;return!0}function Xw(r,e){r[0][0]=e[0],r[0][1]=e[1],r[0][2]=e[2],r[1][0]=e[4],r[1][1]=e[5],r[1][2]=e[6],r[2][0]=e[8],r[2][1]=e[9],r[2][2]=e[10]}function dv(r,e,t,n,i){r[0]=e[0]*n+t[0]*i,r[1]=e[1]*n+t[1]*i,r[2]=e[2]*n+t[2]*i}var Pr=function(r){return r[r.ORBITING=0]="ORBITING",r[r.EXPLORING=1]="EXPLORING",r[r.TRACKING=2]="TRACKING",r}({}),vv=function(r){return r[r.DEFAULT=0]="DEFAULT",r[r.ROTATIONAL=1]="ROTATIONAL",r[r.TRANSLATIONAL=2]="TRANSLATIONAL",r[r.CINEMATIC=3]="CINEMATIC",r}({}),Za=function(r){return r[r.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",r[r.PERSPECTIVE=1]="PERSPECTIVE",r}({}),vm={UPDATED:"updated"},gm=2e-4,pm=function(){function r(){(0,_.Z)(this,r),this.clipSpaceNearZ=jc.NEGATIVE_ONE,this.eventEmitter=new g,this.matrix=De(),this.right=f(1,0,0),this.up=f(0,1,0),this.forward=f(0,0,1),this.position=f(0,0,1),this.focalPoint=f(0,0,0),this.distanceVector=f(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=De(),this.projectionMatrixInverse=De(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Pr.EXPLORING,this.trackingMode=vv.DEFAULT,this.projectionMode=Za.PERSPECTIVE,this.frustum=new Bw,this.orthoMatrix=De()}return(0,F.Z)(r,[{key:"isOrtho",value:function(){return this.projectionMode===Za.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(t){this.enableUpdate=t}},{key:"setType",value:function(t,n){return this.type=t,this.type===Pr.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Pr.TRACKING&&n!==void 0&&this.setTrackingMode(n),this}},{key:"setProjectionMode",value:function(t){return this.projectionMode=t,this}},{key:"setTrackingMode",value:function(t){if(this.type!==Pr.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=t,this}},{key:"setWorldRotation",value:function(t){return this.rotateWorld=t,this._getAngles(),this}},{key:"getViewTransform",value:function(){return mt(De(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(t,n){var i=on(De(),[t,n,0]);this.jitteredProjectionMatrix=vt(De(),i,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(t){return this.matrix=t,this._update(),this}},{key:"setProjectionMatrix",value:function(t){this.projectionMatrix=t}},{key:"setFov",value:function(t){return this.setPerspective(this.near,this.far,t,this.aspect),this}},{key:"setAspect",value:function(t){return this.setPerspective(this.near,this.far,this.fov,t),this}},{key:"setNear",value:function(t){return this.projectionMode===Za.PERSPECTIVE?this.setPerspective(t,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,t,this.far),this}},{key:"setFar",value:function(t){return this.projectionMode===Za.PERSPECTIVE?this.setPerspective(this.near,t,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,t),this}},{key:"setViewOffset",value:function(t,n,i,a,s,o){return this.aspect=t/n,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=i,this.view.offsetY=a,this.view.width=s,this.view.height=o,this.projectionMode===Za.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===Za.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(t){return this.zoom=t,this.projectionMode===Za.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Za.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(t,n){var i=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),a=i.x,s=i.y,o=this.roll;this.rotate(0,0,-o),this.setPosition(a,s),this.setFocalPoint(a,s),this.setZoom(t),this.rotate(0,0,o);var l=this.canvas.viewport2Canvas({x:n[0],y:n[1]}),u=l.x,h=l.y,p=f(u-a,h-s,0),S=Ee(p,this.right)/c(this.right),N=Ee(p,this.up)/c(this.up),U=this.getPosition(),H=(0,b.Z)(U,2),V=H[0],Y=H[1],q=this.getFocalPoint(),ne=(0,b.Z)(q,2),le=ne[0],ue=ne[1];return this.setPosition(V-S,Y-N),this.setFocalPoint(le-S,ue-N),this}},{key:"setPerspective",value:function(t,n,i,a){var s;this.projectionMode=Za.PERSPECTIVE,this.fov=i,this.near=t,this.far=n,this.aspect=a;var o=this.near*Math.tan(Tr(.5*this.fov))/this.zoom,l=2*o,u=this.aspect*l,h=-.5*u;if((s=this.view)!==null&&s!==void 0&&s.enabled){var p=this.view.fullWidth,S=this.view.fullHeight;h+=this.view.offsetX*u/p,o-=this.view.offsetY*l/S,u*=this.view.width/p,l*=this.view.height/S}return Vw(this.projectionMatrix,h,h+u,o-l,o,t,this.far,this.clipSpaceNearZ===jc.ZERO),mt(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(t,n,i,a,s,o){var l;this.projectionMode=Za.ORTHOGRAPHIC,this.rright=n,this.left=t,this.top=i,this.bottom=a,this.near=s,this.far=o;var u=(this.rright-this.left)/(2*this.zoom),h=(this.top-this.bottom)/(2*this.zoom),p=(this.rright+this.left)/2,S=(this.top+this.bottom)/2,N=p-u,U=p+u,H=S+h,V=S-h;if((l=this.view)!==null&&l!==void 0&&l.enabled){var Y=(this.rright-this.left)/this.view.fullWidth/this.zoom,q=(this.top-this.bottom)/this.view.fullHeight/this.zoom;N+=Y*this.view.offsetX,U=N+Y*this.view.width,H-=q*this.view.offsetY,V=H-q*this.view.height}return this.clipSpaceNearZ===jc.NEGATIVE_ONE?Fr(this.projectionMatrix,N,U,H,V,s,o):ei(this.projectionMatrix,N,U,H,V,s,o),mt(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],a=ia(t,n,i);return this._setPosition(a),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],a=f(0,1,0);if(this.focalPoint=ia(t,n,i),this.trackingMode===vv.CINEMATIC){var s=W(P(),this.focalPoint,this.position);t=s[0],n=s[1],i=s[2];var o=c(s),l=ga(Math.asin(n/o)),u=90+ga(Math.atan2(i,t)),h=De();Pt(h,h,Tr(u)),gt(h,h,Tr(l)),a=qe(P(),[0,1,0],h)}return mt(this.matrix,ti(De(),this.position,this.focalPoint,a)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(t){if(this.distance===t||t<0)return this;this.distance=t,this.distance<gm&&(this.distance=gm),this.dollyingStep=this.distance/100;var n=P();t=this.distance;var i=this.forward,a=this.focalPoint;return n[0]=t*i[0]+a[0],n[1]=t*i[1]+a[1],n[2]=t*i[2]+a[2],this._setPosition(n),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(t){return this.maxDistance=t,this}},{key:"setMinDistance",value:function(t){return this.minDistance=t,this}},{key:"setAzimuth",value:function(t){return this.azimuth=Wl(t),this.computeMatrix(),this._getAxes(),this.type===Pr.ORBITING||this.type===Pr.EXPLORING?this._getPosition():this.type===Pr.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(t){return this.elevation=Wl(t),this.computeMatrix(),this._getAxes(),this.type===Pr.ORBITING||this.type===Pr.EXPLORING?this._getPosition():this.type===Pr.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(t){return this.roll=Wl(t),this.computeMatrix(),this._getAxes(),this.type===Pr.ORBITING||this.type===Pr.EXPLORING?this._getPosition():this.type===Pr.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var t=Ta(Gr(),[0,0,1],Tr(this.roll));Ze(this.matrix);var n=Ta(Gr(),[1,0,0],Tr((this.rotateWorld&&this.type!==Pr.TRACKING||this.type===Pr.TRACKING?1:-1)*this.elevation)),i=Ta(Gr(),[0,1,0],Tr((this.rotateWorld&&this.type!==Pr.TRACKING||this.type===Pr.TRACKING?1:-1)*this.azimuth)),a=On(Gr(),i,n);a=On(Gr(),a,t);var s=Cn(De(),a);this.type===Pr.ORBITING||this.type===Pr.EXPLORING?(Rt(this.matrix,this.matrix,this.focalPoint),vt(this.matrix,this.matrix,s),Rt(this.matrix,this.matrix,[0,0,this.distance])):this.type===Pr.TRACKING&&(Rt(this.matrix,this.matrix,this.position),vt(this.matrix,this.matrix,s))}},{key:"_setPosition",value:function(t,n,i){this.position=ia(t,n,i);var a=this.matrix;a[12]=this.position[0],a[13]=this.position[1],a[14]=this.position[2],a[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){D(this.right,ia(En(xt(),[1,0,0,0],this.matrix))),D(this.up,ia(En(xt(),[0,1,0,0],this.matrix))),D(this.forward,ia(En(xt(),[0,0,1,0],this.matrix))),ge(this.right,this.right),ge(this.up,this.up),ge(this.forward,this.forward)}},{key:"_getAngles",value:function(){var t=this.distanceVector[0],n=this.distanceVector[1],i=this.distanceVector[2],a=c(this.distanceVector);if(a===0){this.elevation=0,this.azimuth=0;return}this.type===Pr.TRACKING?(this.elevation=ga(Math.asin(n/a)),this.azimuth=ga(Math.atan2(-t,-i))):this.rotateWorld?(this.elevation=ga(Math.asin(n/a)),this.azimuth=ga(Math.atan2(-t,-i))):(this.elevation=-ga(Math.asin(n/a)),this.azimuth=-ga(Math.atan2(-t,-i)))}},{key:"_getPosition",value:function(){D(this.position,ia(En(xt(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){dt(this.distanceVector,[0,0,-this.distance],ar(Tn(),this.matrix)),k(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=W(P(),this.focalPoint,this.position),this.distance=c(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===Za.ORTHOGRAPHIC){var t=this.position,n=Ta(Gr(),[0,0,1],-this.roll*Math.PI/180);Gn(this.orthoMatrix,n,f((this.rright-this.left)/2-t[0],(this.top-this.bottom)/2-t[1],0),f(this.zoom,this.zoom,1),t)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var t=this.getViewTransform(),n=vt(De(),this.getPerspective(),t);this.getFrustum().extractFromVPMatrix(n),this.eventEmitter.emit(vm.UPDATED)}}},{key:"rotate",value:function(t,n,i){throw new Error(Ar)}},{key:"pan",value:function(t,n){throw new Error(Ar)}},{key:"dolly",value:function(t){throw new Error(Ar)}},{key:"createLandmark",value:function(t,n){throw new Error(Ar)}},{key:"gotoLandmark",value:function(t,n){throw new Error(Ar)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(Ar)}}])}(),Yw=function(r){return r[r.Standard=0]="Standard",r}({}),Zc=function(r){return r[r.ADDED=0]="ADDED",r[r.REMOVED=1]="REMOVED",r[r.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",r}({}),mm={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new zl(0,0,0,0)},qt=function(r){return r.COORDINATE="<coordinate>",r.COLOR="<color>",r.PAINT="<paint>",r.NUMBER="<number>",r.ANGLE="<angle>",r.OPACITY_VALUE="<opacity-value>",r.SHADOW_BLUR="<shadow-blur>",r.LENGTH="<length>",r.PERCENTAGE="<percentage>",r.LENGTH_PERCENTAGE="<length> | <percentage>",r.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",r.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",r.LIST_OF_POINTS="<list-of-points>",r.PATH="<path>",r.FILTER="<filter>",r.Z_INDEX="<z-index>",r.OFFSET_DISTANCE="<offset-distance>",r.DEFINED_PATH="<defined-path>",r.MARKER="<marker>",r.TRANSFORM="<transform>",r.TRANSFORM_ORIGIN="<transform-origin>",r.TEXT="<text>",r.TEXT_TRANSFORM="<text-transform>",r}({});function gv(r,e,t){r.prototype=e.prototype=t,t.constructor=r}function ym(r,e){var t=Object.create(r.prototype);for(var n in e)t[n]=e[n];return t}function Cu(){}var Lu=.7,Kc=1/Lu,Hl="\\s*([+-]?\\d+)\\s*",Ru="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ds="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Qw=/^#([0-9a-f]{3,8})$/,Jw=new RegExp(`^rgb\\(${Hl},${Hl},${Hl}\\)$`),qw=new RegExp(`^rgb\\(${Ds},${Ds},${Ds}\\)$`),$w=new RegExp(`^rgba\\(${Hl},${Hl},${Hl},${Ru}\\)$`),eM=new RegExp(`^rgba\\(${Ds},${Ds},${Ds},${Ru}\\)$`),tM=new RegExp(`^hsl\\(${Ru},${Ds},${Ds}\\)$`),nM=new RegExp(`^hsla\\(${Ru},${Ds},${Ds},${Ru}\\)$`),_m={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};gv(Cu,Xc,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:Em,formatHex:Em,formatHex8:rM,formatHsl:iM,formatRgb:xm,toString:xm});function Em(){return this.rgb().formatHex()}function rM(){return this.rgb().formatHex8()}function iM(){return Tm(this).formatHsl()}function xm(){return this.rgb().formatRgb()}function Xc(r){var e,t;return r=(r+"").trim().toLowerCase(),(e=Qw.exec(r))?(t=e[1].length,e=parseInt(e[1],16),t===6?bm(e):t===3?new pa(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?Yc(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?Yc(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Jw.exec(r))?new pa(e[1],e[2],e[3],1):(e=qw.exec(r))?new pa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=$w.exec(r))?Yc(e[1],e[2],e[3],e[4]):(e=eM.exec(r))?Yc(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=tM.exec(r))?Am(e[1],e[2]/100,e[3]/100,1):(e=nM.exec(r))?Am(e[1],e[2]/100,e[3]/100,e[4]):_m.hasOwnProperty(r)?bm(_m[r]):r==="transparent"?new pa(NaN,NaN,NaN,0):null}function bm(r){return new pa(r>>16&255,r>>8&255,r&255,1)}function Yc(r,e,t,n){return n<=0&&(r=e=t=NaN),new pa(r,e,t,n)}function aM(r){return r instanceof Cu||(r=Xc(r)),r?(r=r.rgb(),new pa(r.r,r.g,r.b,r.opacity)):new pa}function sM(r,e,t,n){return arguments.length===1?aM(r):new pa(r,e,t,n==null?1:n)}function pa(r,e,t,n){this.r=+r,this.g=+e,this.b=+t,this.opacity=+n}gv(pa,sM,ym(Cu,{brighter(r){return r=r==null?Kc:Math.pow(Kc,r),new pa(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?Lu:Math.pow(Lu,r),new pa(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new pa(Jo(this.r),Jo(this.g),Jo(this.b),Qc(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wm,formatHex:wm,formatHex8:oM,formatRgb:Mm,toString:Mm}));function wm(){return`#${qo(this.r)}${qo(this.g)}${qo(this.b)}`}function oM(){return`#${qo(this.r)}${qo(this.g)}${qo(this.b)}${qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Mm(){const r=Qc(this.opacity);return`${r===1?"rgb(":"rgba("}${Jo(this.r)}, ${Jo(this.g)}, ${Jo(this.b)}${r===1?")":`, ${r})`}`}function Qc(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function Jo(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function qo(r){return r=Jo(r),(r<16?"0":"")+r.toString(16)}function Am(r,e,t,n){return n<=0?r=e=t=NaN:t<=0||t>=1?r=e=NaN:e<=0&&(r=NaN),new os(r,e,t,n)}function Tm(r){if(r instanceof os)return new os(r.h,r.s,r.l,r.opacity);if(r instanceof Cu||(r=Xc(r)),!r)return new os;if(r instanceof os)return r;r=r.rgb();var e=r.r/255,t=r.g/255,n=r.b/255,i=Math.min(e,t,n),a=Math.max(e,t,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(t-n)/o+(t<n)*6:t===a?s=(n-e)/o+2:s=(e-t)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new os(s,o,l,r.opacity)}function lM(r,e,t,n){return arguments.length===1?Tm(r):new os(r,e,t,n==null?1:n)}function os(r,e,t,n){this.h=+r,this.s=+e,this.l=+t,this.opacity=+n}gv(os,lM,ym(Cu,{brighter(r){return r=r==null?Kc:Math.pow(Kc,r),new os(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?Lu:Math.pow(Lu,r),new os(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,e=isNaN(r)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,i=2*t-n;return new pa(pv(r>=240?r-240:r+120,i,n),pv(r,i,n),pv(r<120?r+240:r-120,i,n),this.opacity)},clamp(){return new os(Pm(this.h),Jc(this.s),Jc(this.l),Qc(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=Qc(this.opacity);return`${r===1?"hsl(":"hsla("}${Pm(this.h)}, ${Jc(this.s)*100}%, ${Jc(this.l)*100}%${r===1?")":`, ${r})`}`}}));function Pm(r){return r=(r||0)%360,r<0?r+360:r}function Jc(r){return Math.max(0,Math.min(1,r||0))}function pv(r,e,t){return(r<60?e+(t-e)*r/60:r<180?t:r<240?e+(t-e)*(240-r)/60:e)*255}function yi(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");var t=function(){for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=e?e.apply(this,a):a[0],l=t.cache;if(l.has(o))return l.get(o);var u=r.apply(this,a);return t.cache=l.set(o,u)||l,u};return t.cache=new(yi.Cache||Map),yi.cacheList.push(t.cache),t}yi.Cache=Map,yi.cacheList=[],yi.clearCache=function(){yi.cacheList.forEach(function(r){return r.clear()})};var $t=function(r){return r[r.kUnknown=0]="kUnknown",r[r.kNumber=1]="kNumber",r[r.kPercentage=2]="kPercentage",r[r.kEms=3]="kEms",r[r.kPixels=4]="kPixels",r[r.kRems=5]="kRems",r[r.kDegrees=6]="kDegrees",r[r.kRadians=7]="kRadians",r[r.kGradians=8]="kGradians",r[r.kTurns=9]="kTurns",r[r.kMilliseconds=10]="kMilliseconds",r[r.kSeconds=11]="kSeconds",r[r.kInteger=12]="kInteger",r}({}),ls=function(r){return r[r.kUNumber=0]="kUNumber",r[r.kUPercent=1]="kUPercent",r[r.kULength=2]="kULength",r[r.kUAngle=3]="kUAngle",r[r.kUTime=4]="kUTime",r[r.kUOther=5]="kUOther",r}({}),uM=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),cM=function(r){return r[r.kYes=0]="kYes",r[r.kNo=1]="kNo",r}({}),hM=[{name:"em",unit_type:$t.kEms},{name:"px",unit_type:$t.kPixels},{name:"deg",unit_type:$t.kDegrees},{name:"rad",unit_type:$t.kRadians},{name:"grad",unit_type:$t.kGradians},{name:"ms",unit_type:$t.kMilliseconds},{name:"s",unit_type:$t.kSeconds},{name:"rem",unit_type:$t.kRems},{name:"turn",unit_type:$t.kTurns}],Gl=function(r){return r[r.kUnknownType=0]="kUnknownType",r[r.kUnparsedType=1]="kUnparsedType",r[r.kKeywordType=2]="kKeywordType",r[r.kUnitType=3]="kUnitType",r[r.kSumType=4]="kSumType",r[r.kProductType=5]="kProductType",r[r.kNegateType=6]="kNegateType",r[r.kInvertType=7]="kInvertType",r[r.kMinType=8]="kMinType",r[r.kMaxType=9]="kMaxType",r[r.kClampType=10]="kClampType",r[r.kTransformType=11]="kTransformType",r[r.kPositionType=12]="kPositionType",r[r.kURLImageType=13]="kURLImageType",r[r.kColorType=14]="kColorType",r[r.kUnsupportedColorType=15]="kUnsupportedColorType",r}({}),fM=function(e){return hM.find(function(t){return t.name===e}).unit_type},dM=function(e){return e?e==="number"?$t.kNumber:e==="percent"||e==="%"?$t.kPercentage:fM(e):$t.kUnknown},vM=function(e){switch(e){case $t.kNumber:case $t.kInteger:return ls.kUNumber;case $t.kPercentage:return ls.kUPercent;case $t.kPixels:return ls.kULength;case $t.kMilliseconds:case $t.kSeconds:return ls.kUTime;case $t.kDegrees:case $t.kRadians:case $t.kGradians:case $t.kTurns:return ls.kUAngle;default:return ls.kUOther}},gM=function(e){switch(e){case ls.kUNumber:return $t.kNumber;case ls.kULength:return $t.kPixels;case ls.kUPercent:return $t.kPercentage;case ls.kUTime:return $t.kSeconds;case ls.kUAngle:return $t.kDegrees;default:return $t.kUnknown}},Sm=function(e){var t=1;switch(e){case $t.kPixels:case $t.kDegrees:case $t.kSeconds:break;case $t.kMilliseconds:t=.001;break;case $t.kRadians:t=180/Math.PI;break;case $t.kGradians:t=.9;break;case $t.kTurns:t=360;break}return t},mv=function(e){switch(e){case $t.kNumber:case $t.kInteger:return"";case $t.kPercentage:return"%";case $t.kEms:return"em";case $t.kRems:return"rem";case $t.kPixels:return"px";case $t.kDegrees:return"deg";case $t.kRadians:return"rad";case $t.kGradians:return"grad";case $t.kMilliseconds:return"ms";case $t.kSeconds:return"s";case $t.kTurns:return"turn"}return""},qc=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"toString",value:function(){return this.buildCSSText(uM.kNo,cM.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=Gl.kUnitType&&this.getType()<=Gl.kClampType}}],[{key:"isAngle",value:function(t){return t===$t.kDegrees||t===$t.kRadians||t===$t.kGradians||t===$t.kTurns}},{key:"isLength",value:function(t){return t>=$t.kEms&&t<$t.kDegrees}},{key:"isRelativeUnit",value:function(t){return t===$t.kPercentage||t===$t.kEms||t===$t.kRems}},{key:"isTime",value:function(t){return t===$t.kSeconds||t===$t.kMilliseconds}}])}(),pM=function(r){function e(t){var n;return(0,_.Z)(this,e),n=(0,x.Z)(this,e),n.colorSpace=t,n}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"getType",value:function(){return Gl.kColorType}},{key:"to",value:function(n){return this}}])}(qc),yo=function(r){return r[r.Constant=0]="Constant",r[r.LinearGradient=1]="LinearGradient",r[r.RadialGradient=2]="RadialGradient",r}({}),$c=function(r){function e(t,n){var i;return(0,_.Z)(this,e),i=(0,x.Z)(this,e),i.type=t,i.value=n,i}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clone",value:function(){return new e(this.type,this.value)}},{key:"buildCSSText",value:function(n,i,a){return a}},{key:"getType",value:function(){return Gl.kColorType}}])}(qc),Ka=function(r){function e(t){var n;return(0,_.Z)(this,e),n=(0,x.Z)(this,e),n.value=t,n}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clone",value:function(){return new e(this.value)}},{key:"getType",value:function(){return Gl.kKeywordType}},{key:"buildCSSText",value:function(n,i,a){return a+this.value}}])}(qc),mM=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",n="";return Number.isFinite(e)?n="NaN":e>0?n="infinity":n="-infinity",n+=t},yv=function(e){return gM(vM(e))},Sr=function(r){function e(t){var n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$t.kNumber;(0,_.Z)(this,e),n=(0,x.Z)(this,e);var a;return typeof i=="string"?a=dM(i):a=i,n.unit=a,n.value=t,n}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clone",value:function(){return new e(this.value,this.unit)}},{key:"equals",value:function(n){var i=n;return this.value===i.value&&this.unit===i.unit}},{key:"getType",value:function(){return Gl.kUnitType}},{key:"convertTo",value:function(n){if(this.unit===n)return new e(this.value,this.unit);var i=yv(this.unit);if(i!==yv(n)||i===$t.kUnknown)return null;var a=Sm(this.unit)/Sm(n);return new e(this.value*a,n)}},{key:"buildCSSText",value:function(n,i,a){var s;switch(this.unit){case $t.kUnknown:break;case $t.kInteger:s=Number(this.value).toFixed(0);break;case $t.kNumber:case $t.kPercentage:case $t.kEms:case $t.kRems:case $t.kPixels:case $t.kDegrees:case $t.kRadians:case $t.kGradians:case $t.kMilliseconds:case $t.kSeconds:case $t.kTurns:{var o=-999999,l=999999,u=this.value,h=mv(this.unit);if(u<o||u>l){var p=mv(this.unit);!Number.isFinite(u)||Number.isNaN(u)?s=mM(u,p):s=u+(p||"")}else s="".concat(u).concat(h)}}return a+=s,a}}])}(qc),us=new Sr(0,"px");new Sr(1,"px");var $o=new Sr(0,"deg"),_v=function(r){function e(t,n,i){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,_.Z)(this,e),a=(0,x.Z)(this,e,["rgb"]),a.r=t,a.g=n,a.b=i,a.alpha=s,a.isNone=o,a}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clone",value:function(){return new e(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(n,i,a){return"".concat(a,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(pM),Om=new Ka("unset"),yM=new Ka("initial"),_M=new Ka("inherit"),Ev={"":Om,unset:Om,initial:yM,inherit:_M},EM=function(e){return Ev[e]||(Ev[e]=new Ka(e)),Ev[e]},Dm=new _v(0,0,0,0,!0),Cm=new _v(0,0,0,0),xM=yi(function(r,e,t,n){return new _v(r,e,t,n)},function(r,e,t,n){return"rgba(".concat(r,",").concat(e,",").concat(t,",").concat(n,")")}),jr=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$t.kNumber;return new Sr(e,t)};new Sr(50,"%");function bM(r){var e=r.type,t=r.value;return e==="hex"?"#".concat(t):e==="literal"?t:e==="rgb"?"rgb(".concat(t.join(","),")"):"rgba(".concat(t.join(","),")")}var wM=function(){var r={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},e="";function t(_t){throw new Error("".concat(e,": ").concat(_t))}function n(){var _t=i();return e.length>0&&t("Invalid input not EOF"),_t}function i(){return ne(a)}function a(){return s("linear-gradient",r.linearGradient,l)||s("repeating-linear-gradient",r.repeatingLinearGradient,l)||s("radial-gradient",r.radialGradient,p)||s("repeating-radial-gradient",r.repeatingRadialGradient,p)||s("conic-gradient",r.conicGradient,p)}function s(_t,ct,ft){return o(ct,function(At){var Ft=ft();return Ft&&(st(r.comma)||t("Missing comma before color stops")),{type:_t,orientation:Ft,colorStops:ne(le)}})}function o(_t,ct){var ft=st(_t);if(ft){st(r.startCall)||t("Missing (");var At=ct(ft);return st(r.endCall)||t("Missing )"),At}}function l(){return u()||h()}function u(){return et("directional",r.sideOrCorner,1)}function h(){return et("angular",r.angleValue,1)}function p(){var _t,ct=S(),ft;return ct&&(_t=[],_t.push(ct),ft=e,st(r.comma)&&(ct=S(),ct?_t.push(ct):e=ft)),_t}function S(){var _t=N()||U();if(_t)_t.at=V();else{var ct=H();if(ct){_t=ct;var ft=V();ft&&(_t.at=ft)}else{var At=Y();At&&(_t={type:"default-radial",at:At})}}return _t}function N(){var _t=et("shape",/^(circle)/i,0);return _t&&(_t.style=Xe()||H()),_t}function U(){var _t=et("shape",/^(ellipse)/i,0);return _t&&(_t.style=Ie()||H()),_t}function H(){return et("extent-keyword",r.extentKeywords,1)}function V(){if(et("position",/^at/,0)){var _t=Y();return _t||t("Missing positioning value"),_t}}function Y(){var _t=q();if(_t.x||_t.y)return{type:"position",value:_t}}function q(){return{x:Ie(),y:Ie()}}function ne(_t){var ct=_t(),ft=[];if(ct)for(ft.push(ct);st(r.comma);)ct=_t(),ct?ft.push(ct):t("One extra comma");return ft}function le(){var _t=ue();return _t||t("Expected color definition"),_t.length=Ie(),_t}function ue(){return de()||Te()||ve()||fe()}function fe(){return et("literal",r.literalColor,0)}function de(){return et("hex",r.hexColor,1)}function ve(){return o(r.rgbColor,function(){return{type:"rgb",value:ne(Oe)}})}function Te(){return o(r.rgbaColor,function(){return{type:"rgba",value:ne(Oe)}})}function Oe(){return st(r.number)[1]}function Ie(){return et("%",r.percentageValue,1)||ze()||Xe()}function ze(){return et("position-keyword",r.positionKeywords,1)}function Xe(){return et("px",r.pixelValue,1)||et("em",r.emValue,1)}function et(_t,ct,ft){var At=st(ct);if(At)return{type:_t,value:At[ft]}}function st(_t){var ct=/^[\n\r\t\s]+/.exec(e);ct&&bt(ct[0].length);var ft=_t.exec(e);return ft&&bt(ft[0].length),ft}function bt(_t){e=e.substring(_t)}return function(_t){return e=_t,n()}}();function MM(r,e,t,n){var i=Tr(n.value),a=0,s=0,o=a+e/2,l=s+t/2,u=Math.abs(e*Math.cos(i))+Math.abs(t*Math.sin(i)),h=r[0]+o-Math.cos(i)*u/2,p=r[1]+l-Math.sin(i)*u/2,S=r[0]+o+Math.cos(i)*u/2,N=r[1]+l+Math.sin(i)*u/2;return{x1:h,y1:p,x2:S,y2:N}}function AM(r,e,t,n,i,a){var s=n.value,o=i.value;n.unit===$t.kPercentage&&(s=n.value/100*e),i.unit===$t.kPercentage&&(o=i.value/100*t);var l=Math.max(da([0,0],[s,o]),da([0,t],[s,o]),da([e,t],[s,o]),da([e,0],[s,o]));return a&&(a instanceof Sr?l=a.value:a instanceof Ka&&(a.value==="closest-side"?l=Math.min(s,e-s,o,t-o):a.value==="farthest-side"?l=Math.max(s,e-s,o,t-o):a.value==="closest-corner"&&(l=Math.min(da([0,0],[s,o]),da([0,t],[s,o]),da([e,t],[s,o]),da([e,0],[s,o]))))),{x:s+r[0],y:o+r[1],r:l}}var TM=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,PM=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,SM=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,Lm=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function OM(r){var e,t=r.length;if(r[t-1].length=(e=r[t-1].length)!==null&&e!==void 0?e:{type:"%",value:"100"},t>1){var n;r[0].length=(n=r[0].length)!==null&&n!==void 0?n:{type:"%",value:"0"}}for(var i=0,a=Number(r[0].length.value),s=1;s<t;s++){var o,l=(o=r[s].length)===null||o===void 0?void 0:o.value;if(!Pn(l)&&!Pn(a)){for(var u=1;u<s-i;u++)r[i+u].length={type:"%",value:"".concat(a+(Number(l)-a)*u/(s-i))};i=s,a=Number(l)}}}var DM={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},CM=yi(function(r){var e;return r.type==="angular"?e=Number(r.value):e=DM[r.value]||0,jr(e,"deg")}),LM=yi(function(r){var e=50,t=50,n="%",i="%";if((r==null?void 0:r.type)==="position"){var a=r.value,s=a.x,o=a.y;(s==null?void 0:s.type)==="position-keyword"&&(s.value==="left"?e=0:s.value==="center"?e=50:s.value==="right"?e=100:s.value==="top"?t=0:s.value==="bottom"&&(t=100)),(o==null?void 0:o.type)==="position-keyword"&&(o.value==="left"?e=0:o.value==="center"?t=50:o.value==="right"?e=100:o.value==="top"?t=0:o.value==="bottom"&&(t=100)),((s==null?void 0:s.type)==="px"||(s==null?void 0:s.type)==="%"||(s==null?void 0:s.type)==="em")&&(n=s==null?void 0:s.type,e=Number(s.value)),((o==null?void 0:o.type)==="px"||(o==null?void 0:o.type)==="%"||(o==null?void 0:o.type)==="em")&&(i=o==null?void 0:o.type,t=Number(o.value))}return{cx:jr(e,n),cy:jr(t,i)}}),RM=yi(function(r){if(r.indexOf("linear")>-1||r.indexOf("radial")>-1){var e=wM(r);return e.map(function(o){var l=o.type,u=o.orientation,h=o.colorStops;OM(h);var p=h.map(function(ne){return{offset:jr(Number(ne.length.value),"%"),color:bM(ne)}});if(l==="linear-gradient")return new $c(yo.LinearGradient,{angle:u?CM(u):$o,steps:p});if(l==="radial-gradient"&&(u||(u=[{type:"shape",value:"circle"}]),u[0].type==="shape"&&u[0].value==="circle")){var S=LM(u[0].at),N=S.cx,U=S.cy,H;if(u[0].style){var V=u[0].style,Y=V.type,q=V.value;Y==="extent-keyword"?H=EM(q):H=jr(q,Y)}return new $c(yo.RadialGradient,{cx:N,cy:U,size:H,steps:p})}})}var t=r[0];if(r[1]==="("||r[2]==="("){if(t==="l"){var n=TM.exec(r);if(n){var i,a=((i=n[2].match(Lm))===null||i===void 0?void 0:i.map(function(o){return o.split(":")}))||[];return[new $c(yo.LinearGradient,{angle:jr(parseFloat(n[1]),"deg"),steps:a.map(function(o){var l=(0,b.Z)(o,2),u=l[0],h=l[1];return{offset:jr(Number(u)*100,"%"),color:h}})})]}}else if(t==="r"){var s=IM(r);if(s)if(ur(s))r=s;else return[new $c(yo.RadialGradient,s)]}else if(t==="p")return NM(r)}});function IM(r){var e=PM.exec(r);if(e){var t,n=((t=e[4].match(Lm))===null||t===void 0?void 0:t.map(function(i){return i.split(":")}))||[];return{cx:jr(50,"%"),cy:jr(50,"%"),steps:n.map(function(i){var a=(0,b.Z)(i,2),s=a[0],o=a[1];return{offset:jr(Number(s)*100,"%"),color:o}})}}return null}function NM(r){var e=SM.exec(r);if(e){var t=e[1],n=e[2];switch(t){case"a":t="repeat";break;case"x":t="repeat-x";break;case"y":t="repeat-y";break;case"n":t="no-repeat";break;default:t="no-repeat"}return{image:n,repetition:t}}return null}function h6(r){return!!r.type&&!!r.value}function el(r){return r&&!!r.image}function eh(r){return r&&!Pn(r.r)&&!Pn(r.g)&&!Pn(r.b)}var Iu=yi(function(r){if(el(r))return(0,G.Z)({repetition:"repeat"},r);if(Pn(r)&&(r=""),r==="transparent")return Cm;if(r==="currentColor")r="black";else if(r==="none")return Dm;var e=RM(r);if(e)return e;var t=Xc(r),n=[0,0,0,0];return t!==null&&(n[0]=t.r||0,n[1]=t.g||0,n[2]=t.b||0,n[3]=t.opacity),xM.apply(void 0,n)});function BM(r,e){if(!(!eh(r)||!eh(e)))return[[Number(r.r),Number(r.g),Number(r.b),Number(r.alpha)],[Number(e.r),Number(e.g),Number(e.b),Number(e.alpha)],function(t){var n=t.slice();if(n[3])for(var i=0;i<3;i++)n[i]=Math.round(Jr(n[i],0,255));return n[3]=Jr(n[3],0,1),"rgba(".concat(n.join(","),")")}]}function Nu(r,e){if(Pn(e))return jr(0,"px");if(e="".concat(e).trim().toLowerCase(),isFinite(Number(e))){if("px".search(r)>=0)return jr(Number(e),"px");if("deg".search(r)>=0)return jr(Number(e),"deg")}var t=[];e=e.replace(r,function(i){return t.push(i),"U".concat(i)});var n="U(".concat(r.source,")");return t.map(function(i){return jr(Number(e.replace(new RegExp("U".concat(i),"g"),"").replace(new RegExp(n,"g"),"*0")),i)})[0]}var Rm=function(e){return Nu(new RegExp("px","g"),e)},kM=yi(Rm),FM=function(e){return Nu(new RegExp("%","g"),e)};yi(FM);var Im=function(e){return un(e)||isFinite(Number(e))?jr(Number(e)||0,"px"):Nu(new RegExp("px|%|em|rem","g"),e)},xv=yi(Im),Nm=function(e){return Nu(new RegExp("deg|rad|grad|turn","g"),e)},zM=yi(Nm);function UM(r,e,t,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a="",s=r.value||0,o=e.value||0,l=yv(r.unit),u=r.convertTo(l),h=e.convertTo(l);return u&&h?(s=u.value,o=h.value,a=mv(r.unit)):(Sr.isLength(r.unit)||Sr.isLength(e.unit))&&(s=Pa(r,i,t),o=Pa(e,i,t),a="px"),[s,o,function(p){return n&&(p=Math.max(p,0)),p+a}]}function ma(r){var e=0;return r.unit===$t.kDegrees?e=r.value:r.unit===$t.kRadians?e=ga(Number(r.value)):r.unit===$t.kTurns?e=Ww(Number(r.value)):r.value&&(e=r.value),e}function Bm(r,e){var t;return Array.isArray(r)?t=r.map(function(n){return Number(n)}):ur(r)?t=r.split(" ").map(function(n){return Number(n)}):un(r)&&(t=[r]),e===2?t.length===1?[t[0],t[0]]:[t[0],t[1]]:e===4?t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:[t[0],t[1],t[2],t[3]]:e==="even"&&t.length%2===1?[].concat((0,w.Z)(t),(0,w.Z)(t)):t}function Pa(r,e,t){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r.unit===$t.kPixels)return Number(r.value);if(r.unit===$t.kPercentage&&t){var i=t.nodeName===Ct.GROUP?t.getLocalBounds():t.getGeometryBounds();return(n?i.min[e]:0)+r.value/100*i.halfExtents[e]*2}return 0}var WM=function(e){return Nu(/deg|rad|grad|turn|px|%/g,e)},HM=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function GM(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(r=r.toLowerCase().trim(),r==="none")return[];for(var e=/\s*([\w-]+)\(([^)]*)\)/g,t=[],n,i=0;n=e.exec(r);){if(n.index!==i)return[];if(i=n.index+n[0].length,HM.indexOf(n[1])>-1&&t.push({name:n[1],params:n[2].split(" ").map(function(a){return WM(a)||Iu(a)})}),e.lastIndex===r.length)return t}return[]}function km(r){return r.toString()}var Fm=function(e){return typeof e=="number"?jr(e):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e)?jr(Number(e)):jr(0)},bv=yi(Fm);yi(function(r){return ur(r)?r.split(" ").map(bv):r.map(bv)});function wv(r,e){return[r,e,km]}function Mv(r,e){return function(t,n){return[t,n,function(i){return km(Jr(i,r,e))}]}}function zm(r,e){if(r.length===e.length)return[r,e,function(t){return t}]}function Av(r){return r.parsedStyle.d.totalLength===0&&(r.parsedStyle.d.totalLength=G2(r.parsedStyle.d.absolutePath)),r.parsedStyle.d.totalLength}function jM(r){return r.parsedStyle.points.totalLength===0&&(r.parsedStyle.points.totalLength=Aw(r.parsedStyle.points.points)),r.parsedStyle.points.totalLength}function VM(r){for(var e=0;e<r.length;e++){var t=r[e-1],n=r[e],i=n[0];if(i==="M"&&t){var a=t[0],s=[n[1],n[2]],o=void 0;a==="L"||a==="M"?o=[t[1],t[2]]:(a==="C"||a==="A"||a==="Q")&&(o=[t[t.length-2],t[t.length-1]]),o&&th(s,o)&&(r.splice(e,1),e--)}}}function ZM(r){for(var e=!1,t=r.length,n=0;n<t;n++){var i=r[n],a=i[0];if(a==="C"||a==="A"||a==="Q"){e=!0;break}}return e}function KM(r){for(var e=[],t=[],n=[],i=0;i<r.length;i++){var a=r[i],s=a[0];s==="M"?(n.length&&(t.push(n),n=[]),n.push([a[1],a[2]])):s==="Z"?n.length&&(e.push(n),n=[]):n.push([a[1],a[2]])}return n.length>0&&t.push(n),{polygons:e,polylines:t}}function th(r,e){return r[0]===e[0]&&r[1]===e[1]}function XM(r,e){for(var t=[],n=[],i=[],a=0;a<r.length;a++){var s=r[a],o=s.currentPoint,l=s.params,u=s.prePoint,h=void 0;switch(s.command){case"Q":h=Pw(u[0],u[1],l[1],l[2],l[3],l[4]);break;case"C":h=bw(u[0],u[1],l[1],l[2],l[3],l[4],l[5],l[6]);break;case"A":var p=s.arcParams;h=mw(p.cx,p.cy,p.rx,p.ry,p.xRotation,p.startAngle,p.endAngle);break;default:t.push(o[0]),n.push(o[1]);break}h&&(s.box=h,t.push(h.x,h.x+h.width),n.push(h.y,h.y+h.height)),e&&(s.command==="L"||s.command==="M")&&s.prePoint&&s.nextPoint&&i.push(s)}t=t.filter(function(le){return!Number.isNaN(le)&&le!==1/0&&le!==-1/0}),n=n.filter(function(le){return!Number.isNaN(le)&&le!==1/0&&le!==-1/0});var S=zc(t),N=zc(n),U=Uc(t),H=Uc(n);if(i.length===0)return{x:S,y:N,width:U-S,height:H-N};for(var V=0;V<i.length;V++){var Y=i[V],q=Y.currentPoint,ne=void 0;q[0]===S?(ne=nh(Y,e),S-=ne.xExtra):q[0]===U&&(ne=nh(Y,e),U+=ne.xExtra),q[1]===N?(ne=nh(Y,e),N-=ne.yExtra):q[1]===H&&(ne=nh(Y,e),H+=ne.yExtra)}return{x:S,y:N,width:U-S,height:H-N}}function nh(r,e){var t=r.prePoint,n=r.currentPoint,i=r.nextPoint,a=Math.pow(n[0]-t[0],2)+Math.pow(n[1]-t[1],2),s=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2),o=Math.pow(t[0]-i[0],2)+Math.pow(t[1]-i[1],2),l=Math.acos((a+s-o)/(2*Math.sqrt(a)*Math.sqrt(s)));if(!l||Math.sin(l)===0||Pu(l,0))return{xExtra:0,yExtra:0};var u=Math.abs(Math.atan2(i[1]-n[1],i[0]-n[0])),h=Math.abs(Math.atan2(i[0]-n[0],i[1]-n[1]));u=u>Math.PI/2?Math.PI-u:u,h=h>Math.PI/2?Math.PI-h:h;var p={xExtra:Math.cos(l/2-u)*(e/2*(1/Math.sin(l/2)))-e/2||0,yExtra:Math.cos(h-l/2)*(e/2*(1/Math.sin(l/2)))-e/2||0};return p}function Um(r,e){return[e[0]+(e[0]-r[0]),e[1]+(e[1]-r[1])]}var Wm=function(e,t){var n=e.x*t.x+e.y*t.y,i=Math.sqrt((Math.pow(e.x,2)+Math.pow(e.y,2))*(Math.pow(t.x,2)+Math.pow(t.y,2))),a=e.x*t.y-e.y*t.x<0?-1:1,s=a*Math.acos(n/i);return s},Hm=function(e,t,n,i,a,s,o,l){t=Math.abs(t),n=Math.abs(n),i=Up(i,360);var u=Tr(i);if(e.x===o.x&&e.y===o.y)return{x:e.x,y:e.y,ellipticalArcAngle:0};if(t===0||n===0)return{x:0,y:0,ellipticalArcAngle:0};var h=(e.x-o.x)/2,p=(e.y-o.y)/2,S={x:Math.cos(u)*h+Math.sin(u)*p,y:-Math.sin(u)*h+Math.cos(u)*p},N=Math.pow(S.x,2)/Math.pow(t,2)+Math.pow(S.y,2)/Math.pow(n,2);N>1&&(t*=Math.sqrt(N),n*=Math.sqrt(N));var U=Math.pow(t,2)*Math.pow(n,2)-Math.pow(t,2)*Math.pow(S.y,2)-Math.pow(n,2)*Math.pow(S.x,2),H=Math.pow(t,2)*Math.pow(S.y,2)+Math.pow(n,2)*Math.pow(S.x,2),V=U/H;V=V<0?0:V;var Y=(a!==s?1:-1)*Math.sqrt(V),q={x:Y*(t*S.y/n),y:Y*(-(n*S.x)/t)},ne={x:Math.cos(u)*q.x-Math.sin(u)*q.y+(e.x+o.x)/2,y:Math.sin(u)*q.x+Math.cos(u)*q.y+(e.y+o.y)/2},le={x:(S.x-q.x)/t,y:(S.y-q.y)/n},ue=Wm({x:1,y:0},le),fe={x:(-S.x-q.x)/t,y:(-S.y-q.y)/n},de=Wm(le,fe);!s&&de>0?de-=2*Math.PI:s&&de<0&&(de+=2*Math.PI),de%=2*Math.PI;var ve=ue+de*l,Te=t*Math.cos(ve),Oe=n*Math.sin(ve),Ie={x:Math.cos(u)*Te-Math.sin(u)*Oe+ne.x,y:Math.sin(u)*Te+Math.cos(u)*Oe+ne.y,ellipticalArcStartAngle:ue,ellipticalArcEndAngle:ue+de,ellipticalArcAngle:ve,ellipticalArcCenter:ne,resultantRx:t,resultantRy:n};return Ie};function YM(r){for(var e=[],t=null,n=null,i=null,a=0,s=r.length,o=0;o<s;o++){var l=r[o];n=r[o+1];var u=l[0],h={command:u,prePoint:t,params:l,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(u){case"M":i=[l[1],l[2]],a=o;break;case"A":var p=QM(t,l);h.arcParams=p;break}if(u==="Z")t=i,n=r[a+1];else{var S=l.length;t=[l[S-2],l[S-1]]}n&&n[0]==="Z"&&(n=r[a],e[a]&&(e[a].prePoint=t)),h.currentPoint=t,e[a]&&th(t,e[a].currentPoint)&&(e[a].prePoint=h.prePoint);var N=n?[n[n.length-2],n[n.length-1]]:null;h.nextPoint=N;var U=h.prePoint;if(["L","H","V"].includes(u))h.startTangent=[U[0]-t[0],U[1]-t[1]],h.endTangent=[t[0]-U[0],t[1]-U[1]];else if(u==="Q"){var H=[l[1],l[2]];h.startTangent=[U[0]-H[0],U[1]-H[1]],h.endTangent=[t[0]-H[0],t[1]-H[1]]}else if(u==="T"){var V=e[o-1],Y=Um(V.currentPoint,U);V.command==="Q"?(h.command="Q",h.startTangent=[U[0]-Y[0],U[1]-Y[1]],h.endTangent=[t[0]-Y[0],t[1]-Y[1]]):(h.command="TL",h.startTangent=[U[0]-t[0],U[1]-t[1]],h.endTangent=[t[0]-U[0],t[1]-U[1]])}else if(u==="C"){var q=[l[1],l[2]],ne=[l[3],l[4]];h.startTangent=[U[0]-q[0],U[1]-q[1]],h.endTangent=[t[0]-ne[0],t[1]-ne[1]],h.startTangent[0]===0&&h.startTangent[1]===0&&(h.startTangent=[q[0]-ne[0],q[1]-ne[1]]),h.endTangent[0]===0&&h.endTangent[1]===0&&(h.endTangent=[ne[0]-q[0],ne[1]-q[1]])}else if(u==="S"){var le=e[o-1],ue=Um(le.currentPoint,U),fe=[l[1],l[2]];le.command==="C"?(h.command="C",h.startTangent=[U[0]-ue[0],U[1]-ue[1]],h.endTangent=[t[0]-fe[0],t[1]-fe[1]]):(h.command="SQ",h.startTangent=[U[0]-fe[0],U[1]-fe[1]],h.endTangent=[t[0]-fe[0],t[1]-fe[1]])}else if(u==="A"){var de=Gm(h,0),ve=de.x,Te=de.y,Oe=Gm(h,1,!1),Ie=Oe.x,ze=Oe.y;h.startTangent=[ve,Te],h.endTangent=[Ie,ze]}e.push(h)}return e}function Gm(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=r.arcParams,i=n.rx,a=i===void 0?0:i,s=n.ry,o=s===void 0?0:s,l=n.xRotation,u=n.arcFlag,h=n.sweepFlag,p=Hm({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!h,{x:r.currentPoint[0],y:r.currentPoint[1]},e),S=Hm({x:r.prePoint[0],y:r.prePoint[1]},a,o,l,!!u,!!h,{x:r.currentPoint[0],y:r.currentPoint[1]},t?e+.005:e-.005),N=S.x-p.x,U=S.y-p.y,H=Math.sqrt(N*N+U*U);return{x:-N/H,y:-U/H}}function rh(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function Tv(r,e){return rh(r)*rh(e)?(r[0]*e[0]+r[1]*e[1])/(rh(r)*rh(e)):1}function jm(r,e){return(r[0]*e[1]<r[1]*e[0]?-1:1)*Math.acos(Tv(r,e))}function QM(r,e){var t=e[1],n=e[2],i=Up(Tr(e[3]),Math.PI*2),a=e[4],s=e[5],o=r[0],l=r[1],u=e[6],h=e[7],p=Math.cos(i)*(o-u)/2+Math.sin(i)*(l-h)/2,S=-1*Math.sin(i)*(o-u)/2+Math.cos(i)*(l-h)/2,N=p*p/(t*t)+S*S/(n*n);N>1&&(t*=Math.sqrt(N),n*=Math.sqrt(N));var U=t*t*(S*S)+n*n*(p*p),H=U?Math.sqrt((t*t*(n*n)-U)/U):1;a===s&&(H*=-1),isNaN(H)&&(H=0);var V=n?H*t*S/n:0,Y=t?H*-n*p/t:0,q=(o+u)/2+Math.cos(i)*V-Math.sin(i)*Y,ne=(l+h)/2+Math.sin(i)*V+Math.cos(i)*Y,le=[(p-V)/t,(S-Y)/n],ue=[(-1*p-V)/t,(-1*S-Y)/n],fe=jm([1,0],le),de=jm(le,ue);return Tv(le,ue)<=-1&&(de=Math.PI),Tv(le,ue)>=1&&(de=0),s===0&&de>0&&(de-=2*Math.PI),s===1&&de<0&&(de+=2*Math.PI),{cx:q,cy:ne,rx:th(r,[u,h])?0:t,ry:th(r,[u,h])?0:n,startAngle:fe,endAngle:fe+de,xRotation:i,arcFlag:a,sweepFlag:s}}function JM(r,e,t){return r.reduce(function(n,i){var a="";if(i[0]==="M"||i[0]==="L"){var s=vec3.fromValues(i[1],i[2],0);t&&vec3.transformMat4(s,s,t),a="".concat(i[0]).concat(s[0],",").concat(s[1])}else if(i[0]==="Z")a=i[0];else if(i[0]==="C"){var o=vec3.fromValues(i[1],i[2],0),l=vec3.fromValues(i[3],i[4],0),u=vec3.fromValues(i[5],i[6],0);t&&(vec3.transformMat4(o,o,t),vec3.transformMat4(l,l,t),vec3.transformMat4(u,u,t)),a="".concat(i[0]).concat(o[0],",").concat(o[1],",").concat(l[0],",").concat(l[1],",").concat(u[0],",").concat(u[1])}else if(i[0]==="A"){var h=vec3.fromValues(i[6],i[7],0);t&&vec3.transformMat4(h,h,t),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],",").concat(i[5],",").concat(h[0],",").concat(h[1])}else if(i[0]==="Q"){var p=vec3.fromValues(i[1],i[2],0),S=vec3.fromValues(i[3],i[4],0);t&&(vec3.transformMat4(p,p,t),vec3.transformMat4(S,S,t)),a="".concat(i[0]).concat(i[1],",").concat(i[2],",").concat(i[3],",").concat(i[4],"}")}return n+=a},"")}function qM(r,e,t,n){return[["M",r,e],["L",t,n]]}function Vm(r,e,t,n){var i=(-1+Math.sqrt(2))/3*4,a=r*i,s=e*i,o=t-r,l=t+r,u=n-e,h=n+e;return[["M",o,n],["C",o,n-s,t-a,u,t,u],["C",t+a,u,l,n-s,l,n],["C",l,n+s,t+a,h,t,h],["C",t-a,h,o,n+s,o,n],["Z"]]}function $M(r,e){var t=r.map(function(n,i){return[i===0?"M":"L",n[0],n[1]]});return e&&t.push(["Z"]),t}function eA(r,e,t,n,i){if(i){var a=_slicedToArray(i,4),s=a[0],o=a[1],l=a[2],u=a[3],h=r>0?1:-1,p=e>0?1:-1,S=h+p!==0?1:0;return[["M",h*s+t,n],["L",r-h*o+t,n],o?["A",o,o,0,0,S,r+t,p*o+n]:null,["L",r+t,e-p*l+n],l?["A",l,l,0,0,S,r+t-h*l,e+n]:null,["L",t+h*u,e+n],u?["A",u,u,0,0,S,t,e+n-p*u]:null,["L",t,p*s+n],s?["A",s,s,0,0,S,h*s+t,n]:null,["Z"]].filter(function(N){return N})}return[["M",t,n],["L",t+r,n],["L",t+r,n+e],["L",t,n+e],["Z"]]}function f6(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r.getLocalTransform(),t=[];switch(r.nodeName){case Ct.LINE:var n=r.parsedStyle,i=n.x1,a=i===void 0?0:i,s=n.y1,o=s===void 0?0:s,l=n.x2,u=l===void 0?0:l,h=n.y2,p=h===void 0?0:h;t=qM(a,o,u,p);break;case Ct.CIRCLE:{var S=r.parsedStyle,N=S.r,U=N===void 0?0:N,H=S.cx,V=H===void 0?0:H,Y=S.cy,q=Y===void 0?0:Y;t=Vm(U,U,V,q);break}case Ct.ELLIPSE:{var ne=r.parsedStyle,le=ne.rx,ue=le===void 0?0:le,fe=ne.ry,de=fe===void 0?0:fe,ve=ne.cx,Te=ve===void 0?0:ve,Oe=ne.cy,Ie=Oe===void 0?0:Oe;t=Vm(ue,de,Te,Ie);break}case Ct.POLYLINE:case Ct.POLYGON:var ze=r.parsedStyle.points;t=$M(ze.points,r.nodeName===Ct.POLYGON);break;case Ct.RECT:var Xe=r.parsedStyle,et=Xe.width,st=et===void 0?0:et,bt=Xe.height,_t=bt===void 0?0:bt,ct=Xe.x,ft=ct===void 0?0:ct,At=Xe.y,Ft=At===void 0?0:At,Vt=Xe.radius,nn=Vt&&Vt.some(function(rn){return rn!==0});t=eA(st,_t,ft,Ft,nn&&Vt.map(function(rn){return clamp(rn,0,Math.min(Math.abs(st)/2,Math.abs(_t)/2))}));break;case Ct.PATH:var hn=r.parsedStyle.d.absolutePath;t=_toConsumableArray(hn);break}if(t.length)return JM(t,r,e)}function d6(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=r.map(function(s,o){var l=s[0],u=r[o+1],h=o===0&&(e!==0||t!==0),p=(o===r.length-1||u&&(u[0]==="M"||u[0]==="Z"))&&n!==0&&i!==0,S=h?[e,t]:[0,0],N=_slicedToArray(S,2),U=N[0],H=N[1],V=p?[n,i]:[0,0],Y=_slicedToArray(V,2),q=Y[0],ne=Y[1];switch(l){case"M":return"M ".concat(s[1]+U,",").concat(s[2]+H);case"L":return"L ".concat(s[1]+q,",").concat(s[2]+ne);case"Q":return"Q ".concat(s[1]," ").concat(s[2],",").concat(s[3]+q," ").concat(s[4]+ne);case"C":return"C ".concat(s[1]," ").concat(s[2],",").concat(s[3]," ").concat(s[4],",").concat(s[5]+q," ").concat(s[6]+ne);case"A":return"A ".concat(s[1]," ").concat(s[2]," ").concat(s[3]," ").concat(s[4]," ").concat(s[5]," ").concat(s[6]," ").concat(s[7]).concat(p?" L ".concat(s[6]+n,",").concat(s[7]+i):"");case"Z":return"Z";default:return null}}).filter(function(s){return s!==null}).join(" ");return~a.indexOf("NaN")?"":a}var Zm=function(e){if(e===""||Array.isArray(e)&&e.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var t;try{t=Fc(e)}catch(N){t=Fc(""),console.error("[g]: Invalid SVG Path definition: ".concat(e))}VM(t);var n=ZM(t),i=KM(t),a=i.polygons,s=i.polylines,o=YM(t),l=XM(o,0),u=l.x,h=l.y,p=l.width,S=l.height;return{absolutePath:t,hasArc:n,segments:o,polygons:a,polylines:s,totalLength:0,rect:{x:Number.isFinite(u)?u:0,y:Number.isFinite(h)?h:0,width:Number.isFinite(p)?p:0,height:Number.isFinite(S)?S:0}}},tA=yi(Zm);function Km(r){return ur(r)?tA(r):Zm(r)}function nA(r,e,t){var n=r.curve,i=e.curve;(!n||n.length===0)&&(n=av(r.absolutePath,!1),r.curve=n),(!i||i.length===0)&&(i=av(e.absolutePath,!1),e.curve=i);var a=[n,i];n.length!==i.length&&(a=Gp(n,i));var s=jp(a[0])!==jp(a[1])?$2(a[0]):ew(a[0]);return[s,nw(a[1],s),function(o){return o}]}function rA(r,e){var t;return ur(r)?t=r.split(" ").map(function(n){var i=n.split(","),a=(0,b.Z)(i,2),s=a[0],o=a[1];return[Number(s),Number(o)]}):t=r,{points:t,totalLength:0,segments:[]}}function iA(r,e){return[r.points,e.points,function(t){return t}]}var qr=null,jl=/\s*(\w+)\(([^)]*)\)/g;function ya(r){return function(e){var t=0;return r.map(function(n){return n===qr?e[t++]:n})}}function tl(r){return r}var Bu={matrix:["NNNNNN",[qr,qr,0,0,qr,qr,0,0,0,0,1,0,qr,qr,0,1],tl],matrix3d:["NNNNNNNNNNNNNNNN",tl],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",ya([qr,qr,new Sr(1)]),tl],scaleX:["N",ya([qr,new Sr(1),new Sr(1)]),ya([qr,new Sr(1)])],scaleY:["N",ya([new Sr(1),qr,new Sr(1)]),ya([new Sr(1),qr])],scaleZ:["N",ya([new Sr(1),new Sr(1),qr])],scale3d:["NNN",tl],skew:["Aa",null,tl],skewX:["A",null,ya([qr,$o])],skewY:["A",null,ya([$o,qr])],translate:["Tt",ya([qr,qr,us]),tl],translateX:["T",ya([qr,us,us]),ya([qr,us])],translateY:["T",ya([us,qr,us]),ya([us,qr])],translateZ:["L",ya([us,us,qr])],translate3d:["TTL",tl]};function Xm(r){for(var e=[],t=r.length,n=0;n<t;n++){var i=r[n],a=i[0],s=i.slice(1);a==="translate"||a==="skew"?s.length===1&&s.push(0):a==="scale"&&s.length===1&&s.push(s[0]);var o=Bu[a];if(!o)return[];var l=s.map(function(u){return jr(u)});e.push({t:a,d:l})}return e}function Ym(r){if(Array.isArray(r))return Xm(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(jl.lastIndex=0;t=jl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Bu[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var h=s[u],p=o[u],S=void 0;if(h?S={A:function(U){return U.trim()==="0"?$o:zM(U)},N:bv,T:xv,L:kM}[p.toUpperCase()](h):S={a:$o,n:l[0],t:us}[p],S===void 0)return[];l.push(S)}if(e.push({t:i,d:l}),jl.lastIndex===r.length)return e}return[]}function aA(r){if(Array.isArray(r))return Xm(r);if(r=(r||"none").trim(),r==="none")return[];var e=[],t,n=0;for(jl.lastIndex=0;t=jl.exec(r);){if(t.index!==n)return[];n=t.index+t[0].length;var i=t[1],a=Bu[i];if(!a)return[];var s=t[2].split(","),o=a[0];if(o.length<s.length)return[];for(var l=[],u=0;u<o.length;u++){var h=s[u],p=o[u],S=void 0;if(h?S={A:function(U){return U.trim()==="0"?$o:Nm(U)},N:Fm,T:Im,L:Rm}[p.toUpperCase()](h):S={a:$o,n:l[0],t:us}[p],S===void 0)return[];l.push(S)}if(e.push({t:i,d:l}),jl.lastIndex===r.length)return e}return[]}function sA(r){var e,t,n,i;switch(r.t){case"rotateX":return i=Tr(ma(r.d[0])),[1,0,0,0,0,Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1];case"rotateY":return i=Tr(ma(r.d[0])),[Math.cos(i),0,-Math.sin(i),0,0,1,0,0,Math.sin(i),0,Math.cos(i),0,0,0,0,1];case"rotate":case"rotateZ":return i=Tr(ma(r.d[0])),[Math.cos(i),Math.sin(i),0,0,-Math.sin(i),Math.cos(i),0,0,0,0,1,0,0,0,0,1];case"rotate3d":e=r.d[0].value,t=r.d[1].value,n=r.d[2].value,i=Tr(ma(r.d[3]));var a=e*e+t*t+n*n;if(a===0)e=1,t=0,n=0;else if(a!==1){var s=Math.sqrt(a);e/=s,t/=s,n/=s}var o=Math.sin(i/2),l=o*Math.cos(i/2),u=o*o;return[1-2*(t*t+n*n)*u,2*(e*t*u+n*l),2*(e*n*u-t*l),0,2*(e*t*u-n*l),1-2*(e*e+n*n)*u,2*(t*n*u+e*l),0,2*(e*n*u+t*l),2*(t*n*u-e*l),1-2*(e*e+t*t)*u,0,0,0,0,1];case"scale":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[r.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,r.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,r.d[0].value,0,0,0,0,1];case"scale3d":return[r.d[0].value,0,0,0,0,r.d[1].value,0,0,0,0,r.d[2].value,0,0,0,0,1];case"skew":var h=Tr(ma(r.d[0])),p=Tr(ma(r.d[1]));return[1,Math.tan(p),0,0,Math.tan(h),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return i=Tr(ma(r.d[0])),[1,0,0,0,Math.tan(i),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return i=Tr(ma(r.d[0])),[1,Math.tan(i),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return e=Pa(r.d[0],0,null)||0,t=Pa(r.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,0,1];case"translateX":return e=Pa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,0,0,1];case"translateY":return t=Pa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,t,0,1];case"translateZ":return n=Pa(r.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,n,1];case"translate3d":return e=Pa(r.d[0],0,null)||0,t=Pa(r.d[1],0,null)||0,n=Pa(r.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1];case"perspective":var S=Pa(r.d[0],0,null)||0,N=S?-1/S:0;return[1,0,0,0,0,1,0,0,0,0,1,N,0,0,0,1];case"matrix":return[r.d[0].value,r.d[1].value,0,0,r.d[2].value,r.d[3].value,0,0,0,0,1,0,r.d[4].value,r.d[5].value,0,1];case"matrix3d":return r.d.map(function(U){return U.value})}}function oA(r,e){return[r[0]*e[0]+r[4]*e[1]+r[8]*e[2]+r[12]*e[3],r[1]*e[0]+r[5]*e[1]+r[9]*e[2]+r[13]*e[3],r[2]*e[0]+r[6]*e[1]+r[10]*e[2]+r[14]*e[3],r[3]*e[0]+r[7]*e[1]+r[11]*e[2]+r[15]*e[3],r[0]*e[4]+r[4]*e[5]+r[8]*e[6]+r[12]*e[7],r[1]*e[4]+r[5]*e[5]+r[9]*e[6]+r[13]*e[7],r[2]*e[4]+r[6]*e[5]+r[10]*e[6]+r[14]*e[7],r[3]*e[4]+r[7]*e[5]+r[11]*e[6]+r[15]*e[7],r[0]*e[8]+r[4]*e[9]+r[8]*e[10]+r[12]*e[11],r[1]*e[8]+r[5]*e[9]+r[9]*e[10]+r[13]*e[11],r[2]*e[8]+r[6]*e[9]+r[10]*e[10]+r[14]*e[11],r[3]*e[8]+r[7]*e[9]+r[11]*e[10]+r[15]*e[11],r[0]*e[12]+r[4]*e[13]+r[8]*e[14]+r[12]*e[15],r[1]*e[12]+r[5]*e[13]+r[9]*e[14]+r[13]*e[15],r[2]*e[12]+r[6]*e[13]+r[10]*e[14]+r[14]*e[15],r[3]*e[12]+r[7]*e[13]+r[11]*e[14]+r[15]*e[15]]}function lA(r){return r.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:r.map(sA).reduce(oA)}function Qm(r){var e=[0,0,0],t=[1,1,1],n=[0,0,0],i=[0,0,0,1],a=[0,0,0,1];return Zw(lA(r),e,t,n,i,a),[[e,t,n,a,i]]}var uA=function(){function r(n,i){for(var a=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],s=0;s<4;s++)for(var o=0;o<4;o++)for(var l=0;l<4;l++)a[s][o]+=i[s][l]*n[l][o];return a}function e(n){return n[0][2]===0&&n[0][3]===0&&n[1][2]===0&&n[1][3]===0&&n[2][0]===0&&n[2][1]===0&&n[2][2]===1&&n[2][3]===0&&n[3][2]===0&&n[3][3]===1}function t(n,i,a,s,o){for(var l=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],u=0;u<4;u++)l[u][3]=o[u];for(var h=0;h<3;h++)for(var p=0;p<3;p++)l[3][h]+=n[p]*l[p][h];var S=s[0],N=s[1],U=s[2],H=s[3],V=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];V[0][0]=1-2*(N*N+U*U),V[0][1]=2*(S*N-U*H),V[0][2]=2*(S*U+N*H),V[1][0]=2*(S*N+U*H),V[1][1]=1-2*(S*S+U*U),V[1][2]=2*(N*U-S*H),V[2][0]=2*(S*U-N*H),V[2][1]=2*(N*U+S*H),V[2][2]=1-2*(S*S+N*N),l=r(l,V);var Y=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];a[2]&&(Y[2][1]=a[2],l=r(l,Y)),a[1]&&(Y[2][1]=0,Y[2][0]=a[0],l=r(l,Y)),a[0]&&(Y[2][0]=0,Y[1][0]=a[0],l=r(l,Y));for(var q=0;q<3;q++)for(var ne=0;ne<3;ne++)l[q][ne]*=i[q];return e(l)?[l[0][0],l[0][1],l[1][0],l[1][1],l[3][0],l[3][1]]:l[0].concat(l[1],l[2],l[3])}return t}();function cA(r){return r.toFixed(6).replace(".000000","")}function Pv(r,e){var t,n;return r.decompositionPair!==e&&(r.decompositionPair=e,t=Qm(r)),e.decompositionPair!==r&&(e.decompositionPair=r,n=Qm(e)),t[0]===null||n[0]===null?[[!1],[!0],function(i){return i?e[0].d:r[0].d}]:(t[0].push(0),n[0].push(1),[t,n,function(i){var a=fA(t[0][3],n[0][3],i[5]),s=uA(i[0],i[1],i[2],a,i[4]),o=s.map(cA).join(",");return o}])}function hA(r,e){for(var t=0,n=0;n<r.length;n++)t+=r[n]*e[n];return t}function fA(r,e,t){var n=hA(r,e);n=Jr(n,-1,1);var i=[];if(n===1)i=r;else for(var a=Math.acos(n),s=Math.sin(t*a)*1/Math.sqrt(1-n*n),o=0;o<4;o++)i.push(r[o]*(Math.cos(t*a)-n*s)+e[o]*s);return i}function Sv(r){return r.replace(/[XY]/,"")}function Ov(r){return r.replace(/(X|Y|Z|3d)?$/,"3d")}var dA=function(e,t){return e==="perspective"&&t==="perspective"||(e==="matrix"||e==="matrix3d")&&(t==="matrix"||t==="matrix3d")};function vA(r,e,t){var n=!1;if(!r.length||!e.length){r.length||(n=!0,r=e,e=[]);for(var i=function(){var Ie=r[a],ze=Ie.t,Xe=Ie.d,et=ze.substring(0,5)==="scale"?1:0;e.push({t:ze,d:Xe.map(function(st){return typeof st=="number"?jr(et):jr(et,st.unit)})})},a=0;a<r.length;a++)i()}var s=[],o=[],l=[];if(r.length!==e.length){var u=Pv(r,e);s=[u[0]],o=[u[1]],l=[["matrix",[u[2]]]]}else for(var h=0;h<r.length;h++){var p=r[h].t,S=e[h].t,N=r[h].d,U=e[h].d,H=Bu[p],V=Bu[S],Y=void 0;if(dA(p,S)){var q=Pv([r[h]],[e[h]]);s.push(q[0]),o.push(q[1]),l.push(["matrix",[q[2]]]);continue}else if(p===S)Y=p;else if(H[2]&&V[2]&&Sv(p)===Sv(S))Y=Sv(p),N=H[2](N),U=V[2](U);else if(H[1]&&V[1]&&Ov(p)===Ov(S))Y=Ov(p),N=H[1](N),U=V[1](U);else{var ne=Pv(r,e);s=[ne[0]],o=[ne[1]],l=[["matrix",[ne[2]]]];break}for(var le=[],ue=[],fe=[],de=0;de<N.length;de++){var ve=UM(N[de],U[de],t,!1,de);le[de]=ve[0],ue[de]=ve[1],fe.push(ve[2])}s.push(le),o.push(ue),l.push([Y,fe])}if(n){var Te=s;s=o,o=Te}return[s,o,function(Oe){return Oe.map(function(Ie,ze){var Xe=Ie.map(function(et,st){return l[ze][1][st](et)}).join(",");return l[ze][0]==="matrix"&&Xe.split(",").length===16&&(l[ze][0]="matrix3d"),l[ze][0]==="matrix3d"&&Xe.split(",").length===6&&(l[ze][0]="matrix"),"".concat(l[ze][0],"(").concat(Xe,")")}).join(" ")}]}var gA=yi(function(r){if(ur(r)){if(r==="text-anchor")return[jr(0,"px"),jr(0,"px")];var e=r.split(" ");return e.length===1&&(e[0]==="top"||e[0]==="bottom"?(e[1]=e[0],e[0]="center"):e[1]="center"),e.length!==2?null:[xv(Jm(e[0])),xv(Jm(e[1]))]}return[jr(r[0]||0,"px"),jr(r[1]||0,"px")]});function Jm(r){return r==="center"?"50%":r==="left"||r==="top"?"0%":r==="right"||r==="bottom"?"100%":r}var Dv=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:qt.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:qt.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:qt.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:qt.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:qt.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:qt.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:qt.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:qt.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:qt.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:qt.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:qt.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:qt.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:qt.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:qt.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:qt.FILTER},{n:"clipPath",syntax:qt.DEFINED_PATH},{n:"textPath",syntax:qt.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:qt.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:qt.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:qt.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:qt.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:qt.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:qt.COORDINATE},{n:"y1",int:!0,l:!0,syntax:qt.COORDINATE},{n:"z1",int:!0,l:!0,syntax:qt.COORDINATE},{n:"x2",int:!0,l:!0,syntax:qt.COORDINATE},{n:"y2",int:!0,l:!0,syntax:qt.COORDINATE},{n:"z2",int:!0,l:!0,syntax:qt.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:qt.PATH,p:50},{n:"points",int:!0,l:!0,syntax:qt.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:qt.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:qt.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:qt.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:qt.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:qt.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:qt.NUMBER,d:function(e){return e===Ct.PATH||e===Ct.POLYGON||e===Ct.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:qt.MARKER},{n:"markerEnd",syntax:qt.MARKER},{n:"markerMid",syntax:qt.MARKER},{n:"markerStartOffset",syntax:qt.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:qt.LENGTH,l:!0,int:!0,d:"0"}],pA=new Set(Dv.filter(function(r){return!!r.l}).map(function(r){return r.n})),qm={},mA=function(){function r(e){var t=this;(0,_.Z)(this,r),this.runtime=e,Dv.forEach(function(n){t.registerMetadata(n)})}return(0,F.Z)(r,[{key:"registerMetadata",value:function(t){[t.n].concat((0,w.Z)(t.a||[])).forEach(function(n){qm[n]=t})}},{key:"getPropertySyntax",value:function(t){return this.runtime.CSSPropertySyntaxFactory[t]}},{key:"processProperties",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(t.attributes,n);var a=t.parsedStyle.clipPath,s=t.parsedStyle.offsetPath;yA(t,n);var o=!!i.forceUpdateGeometry;if(!o){for(var l in n)if(pA.has(l)){o=!0;break}}var u=$m(t);u.has("fill")&&n.fill&&(t.parsedStyle.fill=Iu(n.fill)),u.has("stroke")&&n.stroke&&(t.parsedStyle.stroke=Iu(n.stroke)),u.has("shadowColor")&&n.shadowColor&&(t.parsedStyle.shadowColor=Iu(n.shadowColor)),u.has("filter")&&n.filter&&(t.parsedStyle.filter=GM(n.filter)),u.has("radius")&&!Pn(n.radius)&&(t.parsedStyle.radius=Bm(n.radius,4)),u.has("lineDash")&&!Pn(n.lineDash)&&(t.parsedStyle.lineDash=Bm(n.lineDash,"even")),u.has("points")&&n.points&&(t.parsedStyle.points=rA(n.points)),u.has("d")&&n.d===""&&(t.parsedStyle.d=(0,G.Z)({},mm)),u.has("d")&&n.d&&(t.parsedStyle.d=Km(n.d)),u.has("textTransform")&&n.textTransform&&this.runtime.CSSPropertySyntaxFactory[qt.TEXT_TRANSFORM].calculator(null,null,{value:n.textTransform},t,null),u.has("clipPath")&&!Bn(n.clipPath)&&this.runtime.CSSPropertySyntaxFactory[qt.DEFINED_PATH].calculator("clipPath",a,n.clipPath,t,this.runtime),u.has("offsetPath")&&n.offsetPath&&this.runtime.CSSPropertySyntaxFactory[qt.DEFINED_PATH].calculator("offsetPath",s,n.offsetPath,t,this.runtime),u.has("transform")&&n.transform&&(t.parsedStyle.transform=Ym(n.transform)),u.has("transformOrigin")&&n.transformOrigin&&(t.parsedStyle.transformOrigin=gA(n.transformOrigin)),u.has("markerStart")&&n.markerStart&&(t.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[qt.MARKER].calculator(null,n.markerStart,n.markerStart,null,null)),u.has("markerEnd")&&n.markerEnd&&(t.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[qt.MARKER].calculator(null,n.markerEnd,n.markerEnd,null,null)),u.has("markerMid")&&n.markerMid&&(t.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[qt.MARKER].calculator("",n.markerMid,n.markerMid,null,null)),u.has("zIndex")&&!Pn(n.zIndex)&&this.runtime.CSSPropertySyntaxFactory[qt.Z_INDEX].postProcessor(t),u.has("offsetDistance")&&!Pn(n.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[qt.OFFSET_DISTANCE].postProcessor(t),u.has("transform")&&n.transform&&this.runtime.CSSPropertySyntaxFactory[qt.TRANSFORM].postProcessor(t),u.has("transformOrigin")&&n.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[qt.TRANSFORM_ORIGIN].postProcessor(t),o&&(t.geometry.dirty=!0,t.renderable.boundsDirty=!0,t.renderable.renderBoundsDirty=!0,i.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(t))}},{key:"updateGeometry",value:function(t){var n=t.nodeName,i=this.runtime.geometryUpdaterFactory[n];if(i){var a=t.geometry;a.contentBounds||(a.contentBounds=new Nr),a.renderBounds||(a.renderBounds=new Nr);var s=t.parsedStyle,o=i.update(s,t),l=o.cx,u=l===void 0?0:l,h=o.cy,p=h===void 0?0:h,S=o.cz,N=S===void 0?0:S,U=o.hwidth,H=U===void 0?0:U,V=o.hheight,Y=V===void 0?0:V,q=o.hdepth,ne=q===void 0?0:q,le=[Math.abs(H),Math.abs(Y),ne],ue=s.stroke,fe=s.lineWidth,de=fe===void 0?1:fe,ve=s.increasedLineWidthForHitTesting,Te=ve===void 0?0:ve,Oe=s.shadowType,Ie=Oe===void 0?"outer":Oe,ze=s.shadowColor,Xe=s.filter,et=Xe===void 0?[]:Xe,st=s.transformOrigin,bt=[u,p,N];a.contentBounds.update(bt,le);var _t=n===Ct.POLYLINE||n===Ct.POLYGON||n===Ct.PATH?Math.SQRT2:.5,ct=ue&&!ue.isNone;if(ct){var ft=((de||0)+(Te||0))*_t;le[0]+=ft,le[1]+=ft}if(a.renderBounds.update(bt,le),ze&&Ie&&Ie!=="inner"){var At=a.renderBounds,Ft=At.min,Vt=At.max,nn=s.shadowBlur,hn=s.shadowOffsetX,rn=s.shadowOffsetY,bn=nn||0,Dn=hn||0,kn=rn||0,$n=Ft[0]-bn+Dn,or=Vt[0]+bn+Dn,$i=Ft[1]-bn+kn,mr=Vt[1]+bn+kn;Ft[0]=Math.min(Ft[0],$n),Vt[0]=Math.max(Vt[0],or),Ft[1]=Math.min(Ft[1],$i),Vt[1]=Math.max(Vt[1],mr),a.renderBounds.setMinMax(Ft,Vt)}et.forEach(function(Ii){var so=Ii.name,Gi=Ii.params;if(so==="blur"){var wa=Gi[0].value;a.renderBounds.update(a.renderBounds.center,k(a.renderBounds.halfExtents,a.renderBounds.halfExtents,[wa,wa,0]))}else if(so==="drop-shadow"){var Xn=Gi[0].value,yr=Gi[1].value,Qn=Gi[2].value,fr=a.renderBounds,wr=fr.min,xn=fr.max,dr=wr[0]-Qn+Xn,_r=xn[0]+Qn+Xn,wi=wr[1]-Qn+yr,Er=xn[1]+Qn+yr;wr[0]=Math.min(wr[0],dr),xn[0]=Math.max(xn[0],_r),wr[1]=Math.min(wr[1],wi),xn[1]=Math.max(xn[1],Er),a.renderBounds.setMinMax(wr,xn)}}),t.geometry.dirty=!1;var za=H<0,ea=Y<0,Ho=(za?-1:1)*(st?Pa(st[0],0,t,!0):0),Hi=(ea?-1:1)*(st?Pa(st[1],1,t,!0):0);(Ho||Hi)&&t.setOrigin(Ho,Hi)}}},{key:"updateSizeAttenuation",value:function(t,n){t.style.isSizeAttenuation?(t.style.rawLineWidth||(t.style.rawLineWidth=t.style.lineWidth),t.style.lineWidth=(t.style.rawLineWidth||1)/n,t.nodeName===Ct.CIRCLE&&(t.style.rawR||(t.style.rawR=t.style.r),t.style.r=(t.style.rawR||1)/n)):(t.style.rawLineWidth&&(t.style.lineWidth=t.style.rawLineWidth,delete t.style.rawLineWidth),t.nodeName===Ct.CIRCLE&&t.style.rawR&&(t.style.r=t.style.rawR,delete t.style.rawR))}}])}();function yA(r,e){var t=$m(r);for(var n in e)t.has(n)&&(r.parsedStyle[n]=e[n])}function $m(r){return r.constructor.PARSED_STYLE_LIST}var _A=function(){function r(){(0,_.Z)(this,r),this.mixer=wv}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){return ma(i)}}])}(),EA=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a,s){return i instanceof Ka&&(i=null),s.sceneGraphService.updateDisplayObjectDependency(t,n,i,a),t==="clipPath"&&a.forEach(function(o){o.childNodes.length===0&&s.sceneGraphService.dirtifyToRoot(o)}),i}}])}(),xA=function(){function r(){(0,_.Z)(this,r),this.parser=Iu,this.mixer=BM}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ka?i.value==="none"?Dm:Cm:i}}])}(),bA=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ka?[]:i}}])}();function ey(r){var e=r.parsedStyle,t=e.fontSize;return Pn(t)?null:t}var Cv=function(){function r(){(0,_.Z)(this,r),this.mixer=wv}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a,s){if(un(i))return i;if(Sr.isRelativeUnit(i.unit)){if(i.unit===$t.kPercentage)return 0;if(i.unit===$t.kEms){if(a.parentNode){var o=ey(a.parentNode);if(o)return o*=i.value,o}return 0}if(i.unit===$t.kRems){var l;if(a!=null&&(l=a.ownerDocument)!==null&&l!==void 0&&l.documentElement){var u=ey(a.ownerDocument.documentElement);if(u)return u*=i.value,u}return 0}}else return i.value}}])}(),wA=function(){function r(){(0,_.Z)(this,r),this.mixer=zm}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),MA=function(){function r(){(0,_.Z)(this,r),this.mixer=zm}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i.map(function(a){return a.value})}}])}(),AA=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){var s;i instanceof Ka&&(i=null);var o=(s=i)===null||s===void 0?void 0:s.cloneNode(!0);return o&&(o.style.isMarker=!0),o}}])}(),TA=function(){function r(){(0,_.Z)(this,r),this.mixer=wv}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),PA=function(){function r(){(0,_.Z)(this,r),this.mixer=Mv(0,1)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}},{key:"postProcessor",value:function(t){var n=t.parsedStyle,i=n.offsetPath,a=n.offsetDistance;if(i){var s=i.nodeName;if(s===Ct.LINE||s===Ct.PATH||s===Ct.POLYLINE){var o=i.getPoint(a);o&&t.setLocalPosition(o.x,o.y)}}}}])}(),SA=function(){function r(){(0,_.Z)(this,r),this.mixer=Mv(0,1)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i.value}}])}(),OA=function(){function r(){(0,_.Z)(this,r),this.parser=Km,this.mixer=nA}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i){return i instanceof Ka&&i.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new zl(0,0,0,0)}:i}}])}(),DA=(0,F.Z)(function r(){(0,_.Z)(this,r),this.mixer=iA}),CA=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.mixer=Mv(0,1/0),t}return(0,y.Z)(e,r),(0,F.Z)(e)}(Cv),LA=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ka?i.value==="unset"?"":i.value:"".concat(i)}},{key:"postProcessor",value:function(t){t.nodeValue="".concat(t.parsedStyle.text)||""}}])}(),RA=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){var s=a.getAttribute("text");if(s){var o=s;i.value==="capitalize"?o=s.charAt(0).toUpperCase()+s.slice(1):i.value==="lowercase"?o=s.toLowerCase():i.value==="uppercase"&&(o=s.toUpperCase()),a.parsedStyle.text=o}return i.value}}])}(),v6=function(e){return Object.fromEntries(Object.entries(e).filter(function(t){var n=_slicedToArray(t,2),i=n[1];return i!==void 0}))},Lv=new WeakMap;function IA(r,e,t){if(r){var n=typeof r=="string"?document.getElementById(r):r;Lv.has(n)&&Lv.get(n).destroy(t),Lv.set(n,e)}}var Rv=typeof window!="undefined"&&typeof window.document!="undefined";function NA(r){return!!r.getAttribute}function BA(r,e){for(var t=0,n=r.length;t<n;){var i=t+n>>>1;ty(r[i],e)<0?t=i+1:n=i}return t}function ty(r,e){var t=Number(r.parsedStyle.zIndex||0),n=Number(e.parsedStyle.zIndex||0);if(t===n){var i=r.parentNode;if(i){var a=i.childNodes||[];return a.indexOf(r)-a.indexOf(e)}}return t-n}function ny(r){var e=r;do{var t,n=(t=e.parsedStyle)===null||t===void 0?void 0:t.clipPath;if(n)return e;e=e.parentElement}while(e!==null);return null}var ry="px";function kA(r,e,t){Rv&&r.style&&(r.style.width=e+ry,r.style.height=t+ry)}function iy(r,e){if(Rv)return document.defaultView.getComputedStyle(r,null).getPropertyValue(e)}function FA(r){var e=iy(r,"width");return e==="auto"?r.offsetWidth:parseFloat(e)}function zA(r){var e=iy(r,"height");return e==="auto"?r.offsetHeight:parseFloat(e)}var UA=1,WA={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Iv=typeof performance=="object"&&performance.now?performance:Date;function ih(r){return r.nodeName===Ct.FRAGMENT?!0:r.getRootNode().nodeName===Ct.FRAGMENT}function nl(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=!1,i=!1,a=!!e&&!e.isNone,s=!!t&&!t.isNone;return r==="visiblepainted"||r==="painted"||r==="auto"?(n=a,i=s):r==="visiblefill"||r==="fill"?n=!0:r==="visiblestroke"||r==="stroke"?i=!0:(r==="visible"||r==="all")&&(n=!0,i=!0),[n,i]}var HA=1,GA=function(){return HA++},Cs=typeof self=="object"&&self.self===self?self:typeof X.g=="object"&&X.g.global===X.g?X.g:{},jA=Date.now(),VA=function(){return Cs.performance&&typeof Cs.performance.now=="function"?Cs.performance.now():Date.now()-jA},ku={},ay=Date.now(),ZA=function(e){if(typeof e!="function")throw new TypeError("".concat(e," is not a function"));var t=Date.now(),n=t-ay,i=n>16?0:16-n,a=GA();return ku[a]=e,Object.keys(ku).length>1||setTimeout(function(){ay=t;var s=ku;ku={},Object.keys(s).forEach(function(o){return s[o](VA())})},i),a},KA=function(e){delete ku[e]},XA=["","webkit","moz","ms","o"],sy=function(e){return typeof e!="string"?ZA:e===""?Cs.requestAnimationFrame:Cs["".concat(e,"RequestAnimationFrame")]},YA=function(e){return typeof e!="string"?KA:e===""?Cs.cancelAnimationFrame:Cs["".concat(e,"CancelAnimationFrame")]||Cs["".concat(e,"CancelRequestAnimationFrame")]},QA=function(e,t){for(var n=0;e[n]!==void 0;){if(t(e[n]))return e[n];n+=1}},oy=QA(XA,function(r){return!!sy(r)}),Nv=sy(oy),ly=YA(oy);Cs.requestAnimationFrame=Nv,Cs.cancelAnimationFrame=ly;var JA=function(){function r(){(0,_.Z)(this,r),this.callbacks=[]}return(0,F.Z)(r,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return Promise.all(this.callbacks.map(function(a){return a.apply(void 0,n)}))}}])}(),qA=function(){function r(){(0,_.Z)(this,r),this.callbacks=[]}return(0,F.Z)(r,[{key:"tapPromise",value:function(t,n){this.callbacks.push(n)}},{key:"promise",value:function(){var e=(0,po.Z)((0,Yi.Z)().mark(function n(){var i,a,s,o,l=arguments;return(0,Yi.Z)().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!this.callbacks.length){h.next=14;break}return h.next=3,(i=this.callbacks)[0].apply(i,l);case 3:a=h.sent,s=0;case 5:if(!(s<this.callbacks.length-1)){h.next=13;break}return o=this.callbacks[s],h.next=9,o(a);case 9:a=h.sent;case 10:s++,h.next=5;break;case 13:return h.abrupt("return",a);case 14:return h.abrupt("return",null);case 15:case"end":return h.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),aa=function(){function r(){(0,_.Z)(this,r),this.callbacks=[]}return(0,F.Z)(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var a=arguments;this.callbacks.forEach(function(s){s.apply(void 0,a)})}}])}(),Bv=function(){function r(){(0,_.Z)(this,r),this.callbacks=[]}return(0,F.Z)(r,[{key:"tap",value:function(t,n){this.callbacks.push(n)}},{key:"call",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];if(this.callbacks.length){for(var a=arguments,s=this.callbacks[0].apply(void 0,a),o=0;o<this.callbacks.length-1;o++){var l=this.callbacks[o];s=l(s)}return s}return null}}])}(),$A=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],eT=/([\"\'])[^\'\"]+\1/;function tT(r){for(var e=r.fontSize,t=e===void 0?16:e,n=r.fontFamily,i=n===void 0?"sans-serif":n,a=r.fontStyle,s=a===void 0?"normal":a,o=r.fontVariant,l=o===void 0?"normal":o,u=r.fontWeight,h=u===void 0?"normal":u,p=un(t)&&"".concat(t,"px")||"16px",S=i.split(","),N=S.length-1;N>=0;N--){var U=S[N].trim();!eT.test(U)&&$A.indexOf(U)<0&&(U='"'.concat(U,'"')),S[N]=U}return"".concat(s," ").concat(l," ").concat(h," ").concat(p," ").concat(S.join(","))}function kv(r,e,t){return Ze(r),r[4]=Math.tan(e),r[1]=Math.tan(t),r}var ui=De(),nT=De(),rT={scale:function(e){ln(ui,[e[0].value,e[1].value,1])},scaleX:function(e){ln(ui,[e[0].value,1,1])},scaleY:function(e){ln(ui,[1,e[0].value,1])},scaleZ:function(e){ln(ui,[1,1,e[0].value])},scale3d:function(e){ln(ui,[e[0].value,e[1].value,e[2].value])},translate:function(e){on(ui,[e[0].value,e[1].value,0])},translateX:function(e){on(ui,[e[0].value,0,0])},translateY:function(e){on(ui,[0,e[0].value,0])},translateZ:function(e){on(ui,[0,0,e[0].value])},translate3d:function(e){on(ui,[e[0].value,e[1].value,e[2].value])},rotate:function(e){dn(ui,Tr(ma(e[0])))},rotateX:function(e){Jt(ui,Tr(ma(e[0])))},rotateY:function(e){Xt(ui,Tr(ma(e[0])))},rotateZ:function(e){dn(ui,Tr(ma(e[0])))},rotate3d:function(e){Zt(ui,Tr(ma(e[3])),[e[0].value,e[1].value,e[2].value])},skew:function(e){kv(ui,Tr(e[0].value),Tr(e[1].value))},skewX:function(e){kv(ui,Tr(e[0].value),0)},skewY:function(e){kv(ui,0,Tr(e[0].value))},matrix:function(e){ke(ui,e[0].value,e[1].value,0,0,e[2].value,e[3].value,0,0,0,0,1,0,e[4].value,e[5].value,0,1)},matrix3d:function(e){ke.apply(K,[ui].concat((0,w.Z)(e.map(function(t){return t.value}))))}},iT=f(1,1,1),aT=P(),uy={translate:function(e,t){Ht.sceneGraphService.setLocalScale(e,iT,!1),Ht.sceneGraphService.setLocalEulerAngles(e,aT,void 0,void 0,!1),Ht.sceneGraphService.setLocalPosition(e,[t[0].value,t[1].value,0],!1),Ht.sceneGraphService.dirtifyLocal(e,e.transformable)}};function cy(r,e){if(r.length){if(r.length===1&&uy[r[0].t]){uy[r[0].t](e,r[0].d);return}for(var t=Ze(nT),n=0;n<r.length;n++){var i=r[n],a=i.t,s=i.d,o=rT[a];o&&(o(s),mn(t,t,ui))}e.setLocalTransform(t)}else e.resetLocalTransform();return e.getLocalTransform()}var sT=function(){function r(){(0,_.Z)(this,r),this.parser=aA,this.mixer=vA}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i instanceof Ka?[]:i}},{key:"postProcessor",value:function(t){cy(t.parsedStyle.transform,t)}}])}(),oT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"postProcessor",value:function(t){var n=t.parsedStyle.transformOrigin;n[0].unit===$t.kPixels&&n[1].unit===$t.kPixels?t.setOrigin(n[0].value,n[1].value):t.getGeometryBounds()}}])}(),lT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"calculator",value:function(t,n,i,a){return i.value}},{key:"postProcessor",value:function(t){if(t.parentNode){var n=t.parentNode,i=n.renderable,a=n.sortable;i&&(i.dirty=!0),a&&(a.dirty=!0,a.dirtyReason=Zc.Z_INDEX_CHANGED)}}}])}(),uT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.r,u=l===void 0?0:l;return{cx:a,cy:o,hwidth:u,hheight:u}}}])}(),cT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t,n){var i=t.cx,a=i===void 0?0:i,s=t.cy,o=s===void 0?0:s,l=t.rx,u=l===void 0?0:l,h=t.ry,p=h===void 0?0:h;return{cx:a,cy:o,hwidth:u,hheight:p}}}])}(),hT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t){var n=t.x1,i=t.y1,a=t.x2,s=t.y2,o=Math.min(n,a),l=Math.max(n,a),u=Math.min(i,s),h=Math.max(i,s),p=l-o,S=h-u,N=p/2,U=S/2;return{cx:o+N,cy:u+U,hwidth:N,hheight:U}}}])}(),fT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t){var n=t.d,i=n.rect,a=i.x,s=i.y,o=i.width,l=i.height,u=o/2,h=l/2;return{cx:a+u,cy:s+h,hwidth:u,hheight:h}}}])}(),dT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t){if(t.points&&va(t.points.points)){var n=t.points.points,i=Math.min.apply(Math,(0,w.Z)(n.map(function(S){return S[0]}))),a=Math.max.apply(Math,(0,w.Z)(n.map(function(S){return S[0]}))),s=Math.min.apply(Math,(0,w.Z)(n.map(function(S){return S[1]}))),o=Math.max.apply(Math,(0,w.Z)(n.map(function(S){return S[1]}))),l=a-i,u=o-s,h=l/2,p=u/2;return{cx:i+h,cy:s+p,hwidth:h,hheight:p}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),vT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.src,u=t.width,h=u===void 0?0:u,p=t.height,S=p===void 0?0:p,N=h,U=S;return l&&!ur(l)&&(N||(N=l.width,t.width=N),U||(U=l.height,t.height=U)),{cx:a+N/2,cy:o+U/2,hwidth:N/2,hheight:U/2}}}])}(),gT=function(){function r(e){(0,_.Z)(this,r),this.globalRuntime=e}return(0,F.Z)(r,[{key:"isReadyToMeasure",value:function(t,n){var i=t.text;return i}},{key:"update",value:function(t,n){var i,a=t.text,s=t.textAlign,o=s===void 0?"start":s,l=t.lineWidth,u=l===void 0?1:l,h=t.textBaseline,p=h===void 0?"alphabetic":h,S=t.dx,N=S===void 0?0:S,U=t.dy,H=U===void 0?0:U,V=t.x,Y=V===void 0?0:V,q=t.y,ne=q===void 0?0:q;if(!this.isReadyToMeasure(t,n))return t.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var le=(n==null||(i=n.ownerDocument)===null||i===void 0||(i=i.defaultView)===null||i===void 0?void 0:i.getConfig())||{},ue=le.offscreenCanvas,fe=this.globalRuntime.textService.measureText(a,t,ue);t.metrics=fe;var de=fe.width,ve=fe.height,Te=de/2,Oe=ve/2,Ie=Y+Te;o==="center"||o==="middle"?Ie+=u/2-Te:(o==="right"||o==="end")&&(Ie+=u-Te*2);var ze=ne-Oe;return p==="middle"?ze+=Oe:p==="top"||p==="hanging"?ze+=Oe*2:p==="alphabetic"||(p==="bottom"||p==="ideographic")&&(ze+=0),N&&(Ie+=N),H&&(ze+=H),{cx:Ie,cy:ze,hwidth:Te,hheight:Oe}}}])}(),pT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t,n){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),mT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"update",value:function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=t.width,u=l===void 0?0:l,h=t.height,p=h===void 0?0:h;return{cx:a+u/2,cy:o+p/2,hwidth:u/2,hheight:p/2}}}])}();function g6(r){return!!r.type}var ah=function(){function r(e){(0,_.Z)(this,r),this.eventPhase=r.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new Bi,this.page=new Bi,this.canvas=new Bi,this.viewport=new Bi,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}return(0,F.Z)(r,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(Ar)}}])}(),hy=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.client=new Bi,t.movement=new Bi,t.offset=new Bi,t.global=new Bi,t.screen=new Bi,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(n){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(n)}},{key:"initMouseEvent",value:function(){throw new Error(Ar)}}])}(ah),sh=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.width=0,t.height=0,t.isPrimary=!1,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(hy),Fv=function(r){function e(){return(0,_.Z)(this,e),(0,x.Z)(this,e,arguments)}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(hy),_i=function(r){function e(t,n){var i;return(0,_.Z)(this,e),i=(0,x.Z)(this,e,[null]),i.type=t,i.detail=n,Object.assign(i,n),i}return(0,y.Z)(e,r),(0,F.Z)(e)}(ah),fy=new WeakMap,dy=function(){function r(){(0,_.Z)(this,r),this.emitter=new g}return(0,F.Z)(r,[{key:"on",value:function(t,n,i){return this.addEventListener(t,n,i),this}},{key:"addEventListener",value:function(t,n,i){var a=!1,s=!1;if(Su(i))a=i;else if(i){var o=i.capture;a=o===void 0?!1:o;var l=i.once;s=l===void 0?!1:l}a&&(t+="capture"),n=yn(n)?n:n.handleEvent;var u=yn(n)?void 0:n;return s?this.emitter.once(t,n,u):this.emitter.on(t,n,u),this}},{key:"off",value:function(t,n,i){return t?this.removeEventListener(t,n,i):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var t;(t=this.emitter)===null||t===void 0||t.removeAllListeners()}},{key:"removeEventListener",value:function(t,n,i){var a;if(!this.emitter)return this;var s=Su(i)?i:i==null?void 0:i.capture;s&&(t+="capture"),n=yn(n)?n:(a=n)===null||a===void 0?void 0:a.handleEvent;var o=yn(n)?void 0:n;return this.emitter.off(t,n,o),this}},{key:"emit",value:function(t,n){this.dispatchEvent(new _i(t,n))}},{key:"dispatchEvent",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=fy.get(this);if(!i){var a;this.document?i=this:this.defaultView?i=this.defaultView:i=(a=this.ownerDocument)===null||a===void 0?void 0:a.defaultView,i&&fy.set(this,i)}if(i){if(t.manager=i.getEventService(),!t.manager)return!1;t.defaultPrevented=!1,t.path?t.path.length=0:t.page=[],n||(t.target=this),t.manager.dispatchEvent(t,t.type,n)}else this.emitter.emit(t.type,t);return!t.defaultPrevented}}])}(),Yr=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.shadow=!1,t.ownerDocument=null,t.isConnected=!1,t.baseURI="",t.childNodes=[],t.nodeType=0,t.nodeName="",t.nodeValue=null,t.parentNode=null,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"textContent",get:function(){var n="";this.nodeName===Ct.TEXT&&(n+=this.style.text);var i=(0,Yo.Z)(this.childNodes),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;s.nodeName===Ct.TEXT?n+=s.nodeValue:n+=s.textContent}}catch(o){i.e(o)}finally{i.f()}return n},set:function(n){var i=this;this.childNodes.slice().forEach(function(a){i.removeChild(a)}),this.nodeName===Ct.TEXT&&(this.style.text="".concat(n))}},{key:"getRootNode",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(n):n.composed&&this.host?this.host.getRootNode(n):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(n){throw new Error(Ar)}},{key:"lookupNamespaceURI",value:function(n){throw new Error(Ar)}},{key:"lookupPrefix",value:function(n){throw new Error(Ar)}},{key:"normalize",value:function(){throw new Error(Ar)}},{key:"isEqualNode",value:function(n){return this===n}},{key:"isSameNode",value:function(n){return this.isEqualNode(n)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(n){if(n===this)return 0;for(var i=n,a=this,s=[i],o=[a];(l=i.parentNode)!==null&&l!==void 0?l:a.parentNode;){var l;i=i.parentNode?(s.push(i.parentNode),i.parentNode):i,a=a.parentNode?(o.push(a.parentNode),a.parentNode):a}if(i!==a)return e.DOCUMENT_POSITION_DISCONNECTED|e.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|e.DOCUMENT_POSITION_PRECEDING;var u=s.length>o.length?s:o,h=u===s?o:s;if(u[u.length-h.length]===h[0])return u===s?e.DOCUMENT_POSITION_CONTAINED_BY|e.DOCUMENT_POSITION_FOLLOWING:e.DOCUMENT_POSITION_CONTAINS|e.DOCUMENT_POSITION_PRECEDING;for(var p=u.length-h.length,S=h.length-1;S>=0;S--){var N=h[S],U=u[p+S];if(U!==N){var H=N.parentNode.childNodes;return H.indexOf(N)<H.indexOf(U)?h===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING:u===s?e.DOCUMENT_POSITION_PRECEDING:e.DOCUMENT_POSITION_FOLLOWING}}return e.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(n){return this.contains(n)}},{key:"contains",value:function(n){for(var i=n;i&&this!==i;)i=i.parentNode;return!!i}},{key:"getAncestor",value:function(n){for(var i=this;n>0&&i;)i=i.parentNode,n--;return i}},{key:"forEach",value:function(n){for(var i=[this];i.length>0;){var a=i.pop(),s=n(a);if(s===!1)break;for(var o=a.childNodes.length-1;o>=0;o--)i.push(a.childNodes[o])}}}],[{key:"isNode",value:function(n){return!!n.childNodes}}])}(dy);Yr.DOCUMENT_POSITION_DISCONNECTED=1,Yr.DOCUMENT_POSITION_PRECEDING=2,Yr.DOCUMENT_POSITION_FOLLOWING=4,Yr.DOCUMENT_POSITION_CONTAINS=8,Yr.DOCUMENT_POSITION_CONTAINED_BY=16,Yr.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var yT=2048,_T=function(){function r(e,t){var n=this;(0,_.Z)(this,r),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=De(),this.tmpVec3=P(),this.onPointerDown=function(i){var a=n.createPointerEvent(i);if(n.dispatchEvent(a,"pointerdown"),a.pointerType==="touch")n.dispatchEvent(a,"touchstart");else if(a.pointerType==="mouse"||a.pointerType==="pen"){var s=a.button===2;n.dispatchEvent(a,s?"rightdown":"mousedown")}var o=n.trackingData(i.pointerId);o.pressTargetsByButton[i.button]=a.composedPath(),n.freeEvent(a)},this.onPointerUp=function(i){var a=Iv.now(),s=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);if(n.dispatchEvent(s,"pointerup"),s.pointerType==="touch")n.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var o=s.button===2;n.dispatchEvent(s,o?"rightup":"mouseup")}var l=n.trackingData(i.pointerId),u=n.findMountedTarget(l.pressTargetsByButton[i.button]),h=u;if(u&&!s.composedPath().includes(u)){for(var p=u;p&&!s.composedPath().includes(p);){if(s.currentTarget=p,n.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")n.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){var S=s.button===2;n.notifyTarget(s,S?"rightupoutside":"mouseupoutside")}Yr.isNode(p)&&(p=p.parentNode)}delete l.pressTargetsByButton[i.button],h=p}if(h){var N,U=n.clonePointerEvent(s,"click");U.target=h,U.path=[],l.clicksByButton[i.button]||(l.clicksByButton[i.button]={clickCount:0,target:U.target,timeStamp:a});var H=n.context.renderingContext.root.ownerDocument.defaultView,V=l.clicksByButton[i.button];V.target===U.target&&a-V.timeStamp<H.getConfig().dblClickSpeed?++V.clickCount:V.clickCount=1,V.target=U.target,V.timeStamp=a,U.detail=V.clickCount,(N=s.detail)!==null&&N!==void 0&&N.preventClick||(!n.context.config.useNativeClickEvent&&(U.pointerType==="mouse"||U.pointerType==="touch")&&n.dispatchEvent(U,"click"),n.dispatchEvent(U,"pointertap")),n.freeEvent(U)}n.freeEvent(s)},this.onPointerMove=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0),s=a.pointerType==="mouse"||a.pointerType==="pen",o=n.trackingData(i.pointerId),l=n.findMountedTarget(o.overTargets);if(o.overTargets&&l!==a.target){var u=i.type==="mousemove"?"mouseout":"pointerout",h=n.createPointerEvent(i,u,l||void 0);if(n.dispatchEvent(h,"pointerout"),s&&n.dispatchEvent(h,"mouseout"),!a.composedPath().includes(l)){var p=n.createPointerEvent(i,"pointerleave",l||void 0);for(p.eventPhase=p.AT_TARGET;p.target&&!a.composedPath().includes(p.target);)p.currentTarget=p.target,n.notifyTarget(p),s&&n.notifyTarget(p,"mouseleave"),Yr.isNode(p.target)&&(p.target=p.target.parentNode);n.freeEvent(p)}n.freeEvent(h)}if(l!==a.target){var S=i.type==="mousemove"?"mouseover":"pointerover",N=n.clonePointerEvent(a,S);n.dispatchEvent(N,"pointerover"),s&&n.dispatchEvent(N,"mouseover");for(var U=l&&Yr.isNode(l)&&l.parentNode;U&&U!==(Yr.isNode(n.rootTarget)&&n.rootTarget.parentNode)&&U!==a.target;)U=U.parentNode;var H=!U||U===(Yr.isNode(n.rootTarget)&&n.rootTarget.parentNode);if(H){var V=n.clonePointerEvent(a,"pointerenter");for(V.eventPhase=V.AT_TARGET;V.target&&V.target!==l&&V.target!==(Yr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)V.currentTarget=V.target,n.notifyTarget(V),s&&n.notifyTarget(V,"mouseenter"),Yr.isNode(V.target)&&(V.target=V.target.parentNode);n.freeEvent(V)}n.freeEvent(N)}n.dispatchEvent(a,"pointermove"),a.pointerType==="touch"&&n.dispatchEvent(a,"touchmove"),s&&(n.dispatchEvent(a,"mousemove"),n.cursor=n.getCursor(a.target)),o.overTargets=a.composedPath(),n.freeEvent(a)},this.onPointerOut=function(i){var a=n.trackingData(i.pointerId);if(a.overTargets){var s=i.pointerType==="mouse"||i.pointerType==="pen",o=n.findMountedTarget(a.overTargets),l=n.createPointerEvent(i,"pointerout",o||void 0);n.dispatchEvent(l),s&&n.dispatchEvent(l,"mouseout");var u=n.createPointerEvent(i,"pointerleave",o||void 0);for(u.eventPhase=u.AT_TARGET;u.target&&u.target!==(Yr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)u.currentTarget=u.target,n.notifyTarget(u),s&&n.notifyTarget(u,"mouseleave"),Yr.isNode(u.target)&&(u.target=u.target.parentNode);a.overTargets=null,n.freeEvent(l),n.freeEvent(u)}n.cursor=null},this.onPointerOver=function(i){var a=n.trackingData(i.pointerId),s=n.createPointerEvent(i),o=s.pointerType==="mouse"||s.pointerType==="pen";n.dispatchEvent(s,"pointerover"),o&&n.dispatchEvent(s,"mouseover"),s.pointerType==="mouse"&&(n.cursor=n.getCursor(s.target));var l=n.clonePointerEvent(s,"pointerenter");for(l.eventPhase=l.AT_TARGET;l.target&&l.target!==(Yr.isNode(n.rootTarget)&&n.rootTarget.parentNode);)l.currentTarget=l.target,n.notifyTarget(l),o&&n.notifyTarget(l,"mouseenter"),Yr.isNode(l.target)&&(l.target=l.target.parentNode);a.overTargets=s.composedPath(),n.freeEvent(s),n.freeEvent(l)},this.onPointerUpOutside=function(i){var a=n.trackingData(i.pointerId),s=n.findMountedTarget(a.pressTargetsByButton[i.button]),o=n.createPointerEvent(i);if(s){for(var l=s;l;)o.currentTarget=l,n.notifyTarget(o,"pointerupoutside"),o.pointerType==="touch"||(o.pointerType==="mouse"||o.pointerType==="pen")&&n.notifyTarget(o,o.button===2?"rightupoutside":"mouseupoutside"),Yr.isNode(l)&&(l=l.parentNode);delete a.pressTargetsByButton[i.button]}n.freeEvent(o)},this.onWheel=function(i){var a=n.createWheelEvent(i);n.dispatchEvent(a),n.freeEvent(a)},this.onClick=function(i){if(n.context.config.useNativeClickEvent){var a=n.createPointerEvent(i);n.dispatchEvent(a),n.freeEvent(a)}},this.onPointerCancel=function(i){var a=n.createPointerEvent(i,void 0,void 0,n.context.config.alwaysTriggerPointerEventOnCanvas?n.rootTarget:void 0);n.dispatchEvent(a),n.freeEvent(a)},this.globalRuntime=e,this.context=t}return(0,F.Z)(r,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var t=this.context.contextService.getBoundingClientRect(),n=1,i=1,a=this.context.contextService.getDomElement();if(a&&t){var s=a.offsetWidth,o=a.offsetHeight;s&&o&&(n=t.width/s,i=t.height/o)}return{scaleX:n,scaleY:i,bbox:t}}},{key:"client2Viewport",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Bi((t.x-((s==null?void 0:s.left)||0))/i,(t.y-((s==null?void 0:s.top)||0))/a)}},{key:"viewport2Client",value:function(t){var n=this.getScale(),i=n.scaleX,a=n.scaleY,s=n.bbox;return new Bi((t.x+((s==null?void 0:s.left)||0))*i,(t.y+((s==null?void 0:s.top)||0))*a)}},{key:"viewport2Canvas",value:function(t){var n=t.x,i=t.y,a=this.rootTarget.defaultView,s=a.getCamera(),o=this.context.config,l=o.width,u=o.height,h=s.getPerspectiveInverse(),p=s.getWorldTransform(),S=vt(this.tmpMatrix,p,h),N=R(this.tmpVec3,n/l*2-1,(1-i/u)*2-1,0);return qe(N,N,S),new Bi(N[0],N[1])}},{key:"canvas2Viewport",value:function(t){var n=this.rootTarget.defaultView,i=n.getCamera(),a=i.getPerspective(),s=i.getViewTransform(),o=vt(this.tmpMatrix,a,s),l=R(this.tmpVec3,t.x,t.y,0);qe(this.tmpVec3,this.tmpVec3,o);var u=this.context.config,h=u.width,p=u.height;return new Bi((l[0]+1)/2*h,(1-(l[1]+1)/2)*p)}},{key:"setPickHandler",value:function(t){this.pickHandler=t}},{key:"addEventMapping",value:function(t,n){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:n,priority:0}),this.mappingTable[t].sort(function(i,a){return i.priority-a.priority})}},{key:"mapEvent",value:function(t){if(this.rootTarget){var n=this.mappingTable[t.type];if(n)for(var i=0,a=n.length;i<a;i++)n[i].fn(t);else console.warn("[EventService]: Event mapping not defined for ".concat(t.type))}}},{key:"dispatchEvent",value:function(t,n,i){if(!i)t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,n);else{t.eventPhase=t.AT_TARGET;var a=this.rootTarget.defaultView||null;t.currentTarget=a,this.notifyListeners(t,n)}}},{key:"propagate",value:function(t,n){if(t.target){var i=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(var a=i.length-1;a>=1;a--)if(t.currentTarget=i[a],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,n),!(t.propagationStopped||t.propagationImmediatelyStopped)){var s=i.indexOf(t.currentTarget);t.eventPhase=t.BUBBLING_PHASE;for(var o=s+1;o<i.length;o++)if(t.currentTarget=i[o],this.notifyTarget(t,n),t.propagationStopped||t.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(t){var n=[t],i=this.rootTarget.defaultView||null;if(i&&i===t)return n.unshift(i.document),n;for(var a=0;a<yT&&t!==this.rootTarget;a++)Yr.isNode(t)&&t.parentNode&&(n.push(t.parentNode),t=t.parentNode);return i&&n.push(i),n}},{key:"hitTest",value:function(t){var n=t.viewportX,i=t.viewportY,a=this.context.config,s=a.width,o=a.height,l=a.disableHitTesting;return n<0||i<0||n>s||i>o?null:!l&&this.pickHandler(t)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(t,n){var i,a=n==null?void 0:n.target;if((i=a)!==null&&i!==void 0&&i.shadowRoot&&(a=n.composedPath()[0]),a){if(a===t)return!0;if(t&&t.contains)return t.contains(a)}return n!=null&&n.composedPath?n.composedPath().indexOf(t)>-1:!1}},{key:"getExistedHTML",value:function(t){if(t.nativeEvent.composedPath)for(var n=0,i=t.nativeEvent.composedPath();n<i.length;n++){var a=i[n],s=this.nativeHTMLMap.get(a);if(s)return s}return null}},{key:"pickTarget",value:function(t){return this.hitTest({clientX:t.clientX,clientY:t.clientY,viewportX:t.viewportX,viewportY:t.viewportY,x:t.canvasX,y:t.canvasY})}},{key:"createPointerEvent",value:function(t,n,i,a){var s=this.allocateEvent(sh);this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t;var o=this.getExistedHTML(s),l=this.context.contextService.getDomElement();return s.target=i!=null?i:o||this.isNativeEventFromCanvas(l,s.nativeEvent)&&this.pickTarget(s)||a,typeof n=="string"&&(s.type=n),s}},{key:"createWheelEvent",value:function(t){var n=this.allocateEvent(Fv);this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.nativeEvent=t.nativeEvent,n.originalEvent=t;var i=this.getExistedHTML(n),a=this.context.contextService.getDomElement();return n.target=i||this.isNativeEventFromCanvas(a,n.nativeEvent)&&this.pickTarget(n),n}},{key:"trackingData",value:function(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}},{key:"cloneWheelEvent",value:function(t){var n=this.allocateEvent(Fv);return n.nativeEvent=t.nativeEvent,n.originalEvent=t.originalEvent,this.copyWheelData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.target=t.target,n.path=t.composedPath().slice(),n.type=t.type,n}},{key:"clonePointerEvent",value:function(t,n){var i=this.allocateEvent(sh);return i.nativeEvent=t.nativeEvent,i.originalEvent=t.originalEvent,this.copyPointerData(t,i),this.copyMouseData(t,i),this.copyData(t,i),i.target=t.target,i.path=t.composedPath().slice(),i.type=n!=null?n:i.type,i}},{key:"copyPointerData",value:function(t,n){n.pointerId=t.pointerId,n.width=t.width,n.height=t.height,n.isPrimary=t.isPrimary,n.pointerType=t.pointerType,n.pressure=t.pressure,n.tangentialPressure=t.tangentialPressure,n.tiltX=t.tiltX,n.tiltY=t.tiltY,n.twist=t.twist}},{key:"copyMouseData",value:function(t,n){n.altKey=t.altKey,n.button=t.button,n.buttons=t.buttons,n.ctrlKey=t.ctrlKey,n.metaKey=t.metaKey,n.shiftKey=t.shiftKey,n.client.copyFrom(t.client),n.movement.copyFrom(t.movement),n.canvas.copyFrom(t.canvas),n.screen.copyFrom(t.screen),n.global.copyFrom(t.global),n.offset.copyFrom(t.offset)}},{key:"copyWheelData",value:function(t,n){n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ}},{key:"copyData",value:function(t,n){n.isTrusted=t.isTrusted,n.timeStamp=Iv.now(),n.type=t.type,n.detail=t.detail,n.view=t.view,n.page.copyFrom(t.page),n.viewport.copyFrom(t.viewport)}},{key:"allocateEvent",value:function(t){this.eventPool.has(t)||this.eventPool.set(t,[]);var n=this.eventPool.get(t).pop()||new t(this);return n.eventPhase=n.NONE,n.currentTarget=null,n.path=[],n.target=null,n}},{key:"freeEvent",value:function(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var n=t.constructor;this.eventPool.has(n)||this.eventPool.set(n,[]),this.eventPool.get(n).push(t)}},{key:"notifyTarget",value:function(t,n){n=n!=null?n:t.type;var i=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?"".concat(n,"capture"):n;this.notifyListeners(t,i),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,n)}},{key:"notifyListeners",value:function(t,n){var i=t.currentTarget.emitter,a=i._events[n];if(a)if("fn"in a)a.once&&i.removeListener(n,a.fn,void 0,!0),a.fn.call(t.currentTarget||a.context,t);else for(var s=0;s<a.length&&!t.propagationImmediatelyStopped;s++)a[s].once&&i.removeListener(n,a[s].fn,void 0,!0),a[s].fn.call(t.currentTarget||a[s].context,t)}},{key:"findMountedTarget",value:function(t){if(!t)return null;for(var n=t[t.length-1],i=t.length-2;i>=0;i--){var a=t[i];if(a===this.rootTarget||Yr.isNode(a)&&a.parentNode===n)n=t[i];else break}return n}},{key:"getCursor",value:function(t){for(var n=t;n;){var i=NA(n)&&n.getAttribute("cursor");if(i)return i;n=Yr.isNode(n)&&n.parentNode}}}])}(),zv=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"getOrCreateCanvas",value:function(t,n){if(this.canvas)return this.canvas;if(t||Ht.offscreenCanvas)this.canvas=t||Ht.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,G.Z)({willReadFrequently:!0},n));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,G.Z)({willReadFrequently:!0},n)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(i){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,G.Z)({willReadFrequently:!0},n))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(t,n){return this.context?this.context:(this.getOrCreateCanvas(t,n),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(t){}try{return document.createElement("canvas")}catch(t){}return null}}])}(),Vl=function(r){return r[r.CAMERA_CHANGED=0]="CAMERA_CHANGED",r[r.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",r[r.NONE=2]="NONE",r}({}),ET=function(){function r(e,t){(0,_.Z)(this,r),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new aa,initAsync:new JA,dirtycheck:new Bv,cull:new Bv,beginFrame:new aa,beforeRender:new aa,render:new aa,afterRender:new aa,endFrame:new aa,destroy:new aa,pick:new qA,pickSync:new Bv,pointerDown:new aa,pointerUp:new aa,pointerMove:new aa,pointerOut:new aa,pointerOver:new aa,pointerWheel:new aa,pointerCancel:new aa,click:new aa},this.globalRuntime=e,this.context=t}return(0,F.Z)(r,[{key:"init",value:function(t){var n=this,i=(0,G.Z)((0,G.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(a){a.apply(i,n.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,t()):this.hooks.initAsync.promise().then(function(){n.inited=!0,t()}).catch(function(a){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var t=this.context.config.renderer,n=t.getConfig(),i=n.enableDirtyRectangleRendering;return!i||this.context.renderingContext.renderReasons.has(Vl.CAMERA_CHANGED)}},{key:"render",value:function(t,n,i){var a=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var s=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(s.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),s.renderReasons.size&&this.inited){s.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var o=s.renderReasons.size===1&&s.renderReasons.has(Vl.CAMERA_CHANGED),l=!t.disableRenderHooks||!(t.disableRenderHooks&&o);l&&this.renderDisplayObject(s.root,t,s),this.hooks.beginFrame.call(n),l&&s.renderListCurrentFrame.forEach(function(u){a.hooks.beforeRender.call(u),a.hooks.render.call(u),a.hooks.afterRender.call(u)}),this.hooks.endFrame.call(n),s.renderListCurrentFrame=[],s.renderReasons.clear(),i()}}},{key:"renderDisplayObject",value:function(t,n,i){var a=this,s=n.renderer.getConfig(),o=s.enableDirtyCheck,l=s.enableCulling;function u(H){var V=H.renderable,Y=H.sortable,q=o?V.dirty||i.dirtyRectangleRenderingDisabled?H:null:H;if(q){var ne=l?a.hooks.cull.call(q,a.context.camera):q;ne&&(a.stats.rendered+=1,i.renderListCurrentFrame.push(ne))}V.dirty=!1,Y.renderOrder=a.zIndexCounter,a.zIndexCounter+=1,a.stats.total+=1,Y.dirty&&(a.sort(H,Y),Y.dirty=!1,Y.dirtyChildren=[],Y.dirtyReason=void 0)}for(var h=[t];h.length>0;){var p,S=h.pop();u(S);for(var N=((p=S.sortable)===null||p===void 0||(p=p.sorted)===null||p===void 0?void 0:p.length)>0?S.sortable.sorted:S.childNodes,U=N.length-1;U>=0;U--)h.push(N[U])}}},{key:"sort",value:function(t,n){var i,a;(n==null||(i=n.sorted)===null||i===void 0?void 0:i.length)>0&&n.dirtyReason!==Zc.Z_INDEX_CHANGED?n.dirtyChildren.forEach(function(s){var o=n.sorted.indexOf(s);o>-1&&n.sorted.splice(o,1);var l=t.childNodes.indexOf(s);if(l>-1)if(n.sorted.length===0)n.sorted.push(s);else{var u=BA(n.sorted,s);n.sorted.splice(u,0,s)}}):n.sorted=t.childNodes.slice().sort(ty),((a=n.sorted)===null||a===void 0?void 0:a.length)>0&&t.childNodes.filter(function(s){return s.parsedStyle.zIndex}).length===0&&(n.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(Vl.DISPLAY_OBJECT_CHANGED)}}])}(),xT=/\[\s*(.*)=(.*)\s*\]/,bT=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"selectOne",value:function(t,n){var i=this;if(t.startsWith("."))return n.find(function(l){return((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.find(function(l){return l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.find(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):null}return n.find(function(l){return n!==l&&l.nodeName===t})}},{key:"selectAll",value:function(t,n){var i=this;if(t.startsWith("."))return n.findAll(function(l){return n!==l&&((l==null?void 0:l.classList)||[]).indexOf(i.getIdOrClassname(t))>-1});if(t.startsWith("#"))return n.findAll(function(l){return n!==l&&l.id===i.getIdOrClassname(t)});if(t.startsWith("[")){var a=this.getAttribute(t),s=a.name,o=a.value;return s?n.findAll(function(l){return n!==l&&(s==="name"?l.name===o:i.attributeToString(l,s)===o)}):[]}return n.findAll(function(l){return n!==l&&l.nodeName===t})}},{key:"is",value:function(t,n){if(t.startsWith("."))return n.className===this.getIdOrClassname(t);if(t.startsWith("#"))return n.id===this.getIdOrClassname(t);if(t.startsWith("[")){var i=this.getAttribute(t),a=i.name,s=i.value;return a==="name"?n.name===s:this.attributeToString(n,a)===s}return n.nodeName===t}},{key:"getIdOrClassname",value:function(t){return t.substring(1)}},{key:"getAttribute",value:function(t){var n=t.match(xT),i="",a="";return n&&n.length>2&&(i=n[1].replace(/"/g,""),a=n[2].replace(/"/g,"")),{name:i,value:a}}},{key:"attributeToString",value:function(t,n){if(!t.getAttribute)return"";var i=t.getAttribute(n);return Pn(i)?"":i.toString?i.toString():""}}])}(),Kn=function(r){return r.ATTR_MODIFIED="DOMAttrModified",r.INSERTED="DOMNodeInserted",r.MOUNTED="DOMNodeInsertedIntoDocument",r.REMOVED="removed",r.UNMOUNTED="DOMNodeRemovedFromDocument",r.REPARENT="reparent",r.DESTROY="destroy",r.BOUNDS_CHANGED="bounds-changed",r.CULLED="culled",r}({}),Ls=function(r){function e(t,n,i,a,s,o,l,u){var h;return(0,_.Z)(this,e),h=(0,x.Z)(this,e,[null]),h.relatedNode=n,h.prevValue=i,h.newValue=a,h.attrName=s,h.attrChange=o,h.prevParsedValue=l,h.newParsedValue=u,h.type=t,h}return(0,y.Z)(e,r),(0,F.Z)(e)}(ah);Ls.ADDITION=2,Ls.MODIFICATION=1,Ls.REMOVAL=3;function vy(r){var e=r.renderable;e&&(e.renderBoundsDirty=!0,e.boundsDirty=!0)}var wT=new Ls(Kn.REPARENT,null,"","","",0,"",""),MT=Nl(),oh=P(),AT=f(1,1,1),TT=De(),PT=Nl(),_o=P(),Zl=De(),Eo=Gr(),ST=P(),OT=Gr(),DT=P(),Fu=P(),rl=P(),lh=De(),gy=Gr(),py=Gr(),uh=Gr(),Uv={affectChildren:!0},CT=function(){function r(e){(0,_.Z)(this,r),this.pendingEvents=new Map,this.boundsChangedEvent=new _i(Kn.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=e}return(0,F.Z)(r,[{key:"matches",value:function(t,n){return this.runtime.sceneGraphSelector.is(t,n)}},{key:"querySelector",value:function(t,n){return this.runtime.sceneGraphSelector.selectOne(t,n)}},{key:"querySelectorAll",value:function(t,n){return this.runtime.sceneGraphSelector.selectAll(t,n)}},{key:"attach",value:function(t,n,i){var a,s=!1;t.parentNode&&(s=t.parentNode!==n,this.detach(t));var o=t.nodeName===Ct.FRAGMENT,l=ih(n);t.parentNode=n;var u=o?t.childNodes:[t];un(i)?u.forEach(function(N){n.childNodes.splice(i,0,N),N.parentNode=n}):u.forEach(function(N){n.childNodes.push(N),N.parentNode=n});var h=n,p=h.sortable;if((p!=null&&(a=p.sorted)!==null&&a!==void 0&&a.length||p.dirty||t.parsedStyle.zIndex)&&(p.dirtyChildren.indexOf(t)===-1&&p.dirtyChildren.push(t),p.dirty=!0,p.dirtyReason=Zc.ADDED),!l){if(o)this.dirtifyFragment(t);else{var S=t.transformable;S&&this.dirtifyWorld(t,S)}s&&t.dispatchEvent(wT)}}},{key:"detach",value:function(t){var n,i;if(t.parentNode){var a=t.transformable,s=t.parentNode,o=s.sortable;(o!=null&&(n=o.sorted)!==null&&n!==void 0&&n.length||(i=t.style)!==null&&i!==void 0&&i.zIndex)&&(o.dirtyChildren.indexOf(t)===-1&&o.dirtyChildren.push(t),o.dirty=!0,o.dirtyReason=Zc.REMOVED);var l=t.parentNode.childNodes.indexOf(t);l>-1&&t.parentNode.childNodes.splice(l,1),a&&this.dirtifyWorld(t,a),t.parentNode=null}}},{key:"getOrigin",value:function(t){return t.getGeometryBounds(),t.transformable.origin}},{key:"setOrigin",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=[n,i,a]);var s=t.transformable;if(!(n[0]===s.origin[0]&&n[1]===s.origin[1]&&n[2]===s.origin[2])){var o=s.origin;o[0]=n[0],o[1]=n[1],o[2]=n[2]||0,this.dirtifyLocal(t,s)}}},{key:"rotate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=f(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.rotateLocal(t,n);else{var o=Eo;As(o,n[0],n[1],n[2]);var l=this.getRotation(t),u=this.getRotation(t.parentNode);Rl(uh,u),is(uh,uh),On(o,uh,o),On(s.localRotation,o,l),Il(s.localRotation,s.localRotation),this.dirtifyLocal(t,s)}}},{key:"rotateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=f(n,i,a));var s=t.transformable;As(py,n[0],n[1],n[2]),Nc(s.localRotation,s.localRotation,py),this.dirtifyLocal(t,s)}},{key:"setEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=f(n,i,a));var s=t.transformable;if(t.parentNode===null||!t.parentNode.transformable)this.setLocalEulerAngles(t,n);else{As(s.localRotation,n[0],n[1],n[2]);var o=this.getRotation(t.parentNode);Rl(gy,is(Eo,o)),Nc(s.localRotation,s.localRotation,gy),this.dirtifyLocal(t,s)}}},{key:"setLocalEulerAngles",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof n=="number"&&(n=f(n,i,a));var o=t.transformable;As(o.localRotation,n[0],n[1],n[2]),s&&this.dirtifyLocal(t,o)}},{key:"translateLocal",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=f(n,i,a));var s=t.transformable;ot(n,oh)||(yt(n,n,s.localRotation),k(s.localPosition,s.localPosition,n),this.dirtifyLocal(t,s))}},{key:"setPosition",value:function(t,n){var i,a=t.transformable;if(rl[0]=n[0],rl[1]=n[1],rl[2]=(i=n[2])!==null&&i!==void 0?i:0,!ot(this.getPosition(t),rl)){if(D(a.position,rl),t.parentNode===null||!t.parentNode.transformable)D(a.localPosition,rl);else{var s=t.parentNode.transformable;He(lh,s.worldTransform),mt(lh,lh),qe(a.localPosition,rl,lh)}this.dirtifyLocal(t,a)}}},{key:"setLocalPosition",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;Fu[0]=n[0],Fu[1]=n[1],Fu[2]=(i=n[2])!==null&&i!==void 0?i:0,!ot(s.localPosition,Fu)&&(D(s.localPosition,Fu),a&&this.dirtifyLocal(t,s))}},{key:"scaleLocal",value:function(t,n){var i,a=t.transformable;z(a.localScale,a.localScale,R(_o,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:1)),this.dirtifyLocal(t,a)}},{key:"setLocalScale",value:function(t,n){var i,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=t.transformable;R(_o,n[0],n[1],(i=n[2])!==null&&i!==void 0?i:s.localScale[2]),!ot(_o,s.localScale)&&(D(s.localScale,_o),a&&this.dirtifyLocal(t,s))}},{key:"translate",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof n=="number"&&(n=R(_o,n,i,a)),!ot(n,oh)&&(k(_o,this.getPosition(t),n),this.setPosition(t,_o))}},{key:"setRotation",value:function(t,n,i,a,s){var o=t.transformable;if(typeof n=="number"&&(n=Qd(n,i,a,s)),t.parentNode===null||!t.parentNode.transformable)this.setLocalRotation(t,n);else{var l=this.getRotation(t.parentNode);Rl(Eo,l),is(Eo,Eo),On(o.localRotation,Eo,n),Il(o.localRotation,o.localRotation),this.dirtifyLocal(t,o)}}},{key:"setLocalRotation",value:function(t,n,i,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof n=="number"&&(n=Zs(Eo,n,i,a,s));var l=t.transformable;Rl(l.localRotation,n),o&&this.dirtifyLocal(t,l)}},{key:"setLocalSkew",value:function(t,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof n=="number"&&(n=Ki(PT,n,i));var s=t.transformable;jn(s.localSkew,n),a&&this.dirtifyLocal(t,s)}},{key:"dirtifyLocal",value:function(t,n){ih(t)||n.localDirtyFlag||(n.localDirtyFlag=!0,n.dirtyFlag||this.dirtifyWorld(t,n))}},{key:"dirtifyWorld",value:function(t,n){n.dirtyFlag||this.unfreezeParentToRoot(t),this.dirtifyWorldInternal(t,n),this.dirtifyToRoot(t,!0)}},{key:"dirtifyFragment",value:function(t){var n=t.transformable;n&&(n.frozen=!1,n.dirtyFlag=!0,n.localDirtyFlag=!0);var i=t.renderable;i&&(i.renderBoundsDirty=!0,i.boundsDirty=!0,i.dirty=!0);for(var a=t.childNodes.length,s=0;s<a;s++)this.dirtifyFragment(t.childNodes[s]);t.nodeName===Ct.FRAGMENT&&this.pendingEvents.set(t,!1)}},{key:"triggerPendingEvents",value:function(){var t=this,n=new Set,i=function(s,o){!s.isConnected||n.has(s)||s.nodeName===Ct.FRAGMENT||(t.boundsChangedEvent.detail=o,t.boundsChangedEvent.target=s,s.isMutationObserved?s.dispatchEvent(t.boundsChangedEvent):s.ownerDocument.defaultView.dispatchEvent(t.boundsChangedEvent,!0),n.add(s))};this.pendingEvents.forEach(function(a,s){s.nodeName!==Ct.FRAGMENT&&(Uv.affectChildren=a,a?s.forEach(function(o){i(o,Uv)}):i(s,Uv))}),n.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t;for(i.renderable&&(i.renderable.dirty=!0);i;)vy(i),i=i.parentNode;n&&t.forEach(function(a){vy(a)}),this.informDependentDisplayObjects(t),this.pendingEvents.set(t,n)}},{key:"updateDisplayObjectDependency",value:function(t,n,i,a){if(n&&n!==i){var s=this.displayObjectDependencyMap.get(n);if(s&&s[t]){var o=s[t].indexOf(a);s[t].splice(o,1)}}if(i){var l=this.displayObjectDependencyMap.get(i);l||(this.displayObjectDependencyMap.set(i,{}),l=this.displayObjectDependencyMap.get(i)),l[t]||(l[t]=[]),l[t].push(a)}}},{key:"informDependentDisplayObjects",value:function(t){var n=this,i=this.displayObjectDependencyMap.get(t);i&&Object.keys(i).forEach(function(a){i[a].forEach(function(s){n.dirtifyToRoot(s,!0),s.dispatchEvent(new Ls(Kn.ATTR_MODIFIED,s,n,n,a,Ls.MODIFICATION,n,n)),s.isCustomElement&&s.isConnected&&s.attributeChangedCallback&&s.attributeChangedCallback(a,n,n)})})}},{key:"getPosition",value:function(t){var n=t.transformable;return Hn(n.position,this.getWorldTransform(t,n))}},{key:"getRotation",value:function(t){var n=t.transformable;return Rn(n.rotation,this.getWorldTransform(t,n))}},{key:"getScale",value:function(t){var n=t.transformable;return pn(n.scaling,this.getWorldTransform(t,n))}},{key:"getWorldTransform",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.transformable;return!n.localDirtyFlag&&!n.dirtyFlag||(t.parentNode&&t.parentNode.transformable&&this.getWorldTransform(t.parentNode),this.sync(t,n)),n.worldTransform}},{key:"getLocalPosition",value:function(t){return t.transformable.localPosition}},{key:"getLocalRotation",value:function(t){return t.transformable.localRotation}},{key:"getLocalScale",value:function(t){return t.transformable.localScale}},{key:"getLocalSkew",value:function(t){return t.transformable.localSkew}},{key:"calcLocalTransform",value:function(t){var n=t.localSkew[0]!==0||t.localSkew[1]!==0;if(n){Gn(t.localTransform,t.localRotation,t.localPosition,f(1,1,1),t.origin),(t.localSkew[0]!==0||t.localSkew[1]!==0)&&(Ze(Zl),Zl[4]=Math.tan(t.localSkew[0]),Zl[1]=Math.tan(t.localSkew[1]),vt(t.localTransform,t.localTransform,Zl));var i=Gn(Zl,Zs(Eo,0,0,0,1),R(_o,1,1,1),t.localScale,t.origin);vt(t.localTransform,t.localTransform,i)}else{var a=t.localTransform,s=t.localPosition,o=t.localRotation,l=t.localScale,u=t.origin,h=s[0]!==0||s[1]!==0||s[2]!==0,p=o[3]!==1||o[0]!==0||o[1]!==0||o[2]!==0,S=l[0]!==1||l[1]!==1||l[2]!==1,N=u[0]!==0||u[1]!==0||u[2]!==0;!p&&!S&&!N?h?on(a,s):Ze(a):Gn(a,o,s,l,u)}}},{key:"getLocalTransform",value:function(t){var n=t.transformable;return n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.localTransform}},{key:"setLocalTransform",value:function(t,n){var i=Hn(ST,n),a=Rn(OT,n),s=pn(DT,n);this.setLocalScale(t,s,!1),this.setLocalPosition(t,i,!1),this.setLocalRotation(t,a,void 0,void 0,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"resetLocalTransform",value:function(t){this.setLocalScale(t,AT,!1),this.setLocalPosition(t,oh,!1),this.setLocalEulerAngles(t,oh,void 0,void 0,!1),this.setLocalSkew(t,MT,void 0,!1),this.dirtifyLocal(t,t.transformable)}},{key:"getTransformedGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2?arguments[2]:void 0,a=this.getGeometryBounds(t,n);if(!Nr.isEmpty(a)){var s=i||new Nr;return s.setFromTransformedAABB(a,this.getWorldTransform(t)),s}return null}},{key:"getGeometryBounds",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=t,a=i.geometry;a.dirty&&Ht.styleValueRegistry.updateGeometry(t);var s=n?a.renderBounds:a.contentBounds||null;return s||new Nr}},{key:"getBounds",value:function(t){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=t,s=a.renderable;if(!s.boundsDirty&&!i&&s.bounds)return s.bounds;if(!s.renderBoundsDirty&&i&&s.renderBounds)return s.renderBounds;var o=i?s.renderBounds:s.bounds,l=this.getTransformedGeometryBounds(t,i,o),u=t.childNodes;if(u.forEach(function(S){var N=n.getBounds(S,i);N&&(l?l.add(N):(l=o||new Nr,l.update(N.center,N.halfExtents)))}),l||(l=new Nr),i){var h=ny(t);if(h){var p=h.parsedStyle.clipPath.getBounds(i);l?p&&(l=p.intersection(l)):l.update(p.center,p.halfExtents)}}return i?(s.renderBounds=l,s.renderBoundsDirty=!1):(s.bounds=l,s.boundsDirty=!1),l}},{key:"getLocalBounds",value:function(t){if(t.parentNode){var n=TT;t.parentNode.transformable&&(n=mt(Zl,this.getWorldTransform(t.parentNode)));var i=this.getBounds(t);if(!Nr.isEmpty(i)){var a=new Nr;return a.setFromTransformedAABB(i,n),a}}return this.getBounds(t)}},{key:"getBoundingClientRect",value:function(t){var n,i,a=this.getGeometryBounds(t);Nr.isEmpty(a)||(i=new Nr,i.setFromTransformedAABB(a,this.getWorldTransform(t)));var s=(n=t.ownerDocument)===null||n===void 0||(n=n.defaultView)===null||n===void 0?void 0:n.getContextService().getBoundingClientRect();if(i){var o=i.getMin(),l=(0,b.Z)(o,2),u=l[0],h=l[1],p=i.getMax(),S=(0,b.Z)(p,2),N=S[0],U=S[1];return new zl(u+((s==null?void 0:s.left)||0),h+((s==null?void 0:s.top)||0),N-u,U-h)}return new zl((s==null?void 0:s.left)||0,(s==null?void 0:s.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(t,n){var i=this;if(!n.dirtyFlag){n.dirtyFlag=!0,n.frozen=!1,t.childNodes.forEach(function(o){var l=o.transformable;l.dirtyFlag||i.dirtifyWorldInternal(o,l)});var a=t,s=a.renderable;s&&(s.renderBoundsDirty=!0,s.boundsDirty=!0,s.dirty=!0)}}},{key:"syncHierarchy",value:function(t){var n=t.transformable;if(!n.frozen){n.frozen=!0,(n.localDirtyFlag||n.dirtyFlag)&&this.sync(t,n);for(var i=t.childNodes,a=0;a<i.length;a++)this.syncHierarchy(i[a])}}},{key:"sync",value:function(t,n){if(n.localDirtyFlag&&(this.calcLocalTransform(n),n.localDirtyFlag=!1),n.dirtyFlag){var i=t.parentNode,a=i&&i.transformable;i===null||!a?He(n.worldTransform,n.localTransform):vt(n.worldTransform,a.worldTransform,n.localTransform),n.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(t){for(var n=t.parentNode;n;){var i=n.transformable;i&&(i.frozen=!1),n=n.parentNode}}}])}(),il={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},my=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,LT=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,RT=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,IT=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,NT=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,BT=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,kT=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,FT=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,zT=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,UT=new RegExp("".concat(LT.source,"|").concat(IT.source,"|").concat(BT.source,"|").concat(FT.source)),WT=new RegExp("".concat(RT.source,"|").concat(NT.source,"|").concat(kT.source,"|").concat(zT.source)),HT=function(){function r(e){var t=this;(0,_.Z)(this,r),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(n,i){return t.isBreakingSpace(i)?!1:!!(n&&(WT.exec(i)||UT.exec(n)))},this.trimByKinsokuShorui=function(n){var i=(0,w.Z)(n),a=i[i.length-2];if(!a)return n;var s=a[a.length-1];return i[i.length-2]=a.slice(0,-1),i[i.length-1]=s+i[i.length-1],i},this.runtime=e}return(0,F.Z)(r,[{key:"measureFont",value:function(t,n){if(this.fontMetricsCache[t])return this.fontMetricsCache[t];var i={ascent:0,descent:0,fontSize:0},a=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(n),s=this.runtime.offscreenCanvasCreator.getOrCreateContext(n,{willReadFrequently:!0});s.font=t;var o=il.MetricsString+il.BaselineSymbol,l=Math.ceil(s.measureText(o).width),u=Math.ceil(s.measureText(il.BaselineSymbol).width),h=il.HeightMultiplier*u;u=u*il.BaselineMultiplier|0,a.width=l,a.height=h,s.fillStyle="#f00",s.fillRect(0,0,l,h),s.font=t,s.textBaseline="alphabetic",s.fillStyle="#000",s.fillText(o,0,u);var p=s.getImageData(0,0,l||1,h||1).data,S=p.length,N=l*4,U=0,H=0,V=!1;for(U=0;U<u;++U){for(var Y=0;Y<N;Y+=4)if(p[H+Y]!==255){V=!0;break}if(!V)H+=N;else break}for(i.ascent=u-U,H=S-N,V=!1,U=h;U>u;--U){for(var q=0;q<N;q+=4)if(p[H+q]!==255){V=!0;break}if(!V)H-=N;else break}return i.descent=U-u,i.fontSize=i.ascent+i.descent,this.fontMetricsCache[t]=i,i}},{key:"measureText",value:function(t,n,i){var a=n.fontSize,s=a===void 0?16:a,o=n.wordWrap,l=o===void 0?!1:o,u=n.lineHeight,h=n.lineWidth,p=h===void 0?1:h,S=n.textBaseline,N=S===void 0?"alphabetic":S,U=n.textAlign,H=U===void 0?"start":U,V=n.letterSpacing,Y=V===void 0?0:V,q=n.textPath;n.textPathSide,n.textPathStartOffset;var ne=n.leading,le=ne===void 0?0:ne,ue=tT(n),fe=this.measureFont(ue,i);fe.fontSize===0&&(fe.fontSize=s,fe.ascent=s);var de=this.runtime.offscreenCanvasCreator.getOrCreateContext(i);de.font=ue,n.isOverflowing=!1;var ve=l?this.wordWrap(t,n,i):t,Te=ve.split(/(?:\r\n|\r|\n)/),Oe=new Array(Te.length),Ie=0;if(q){q.getTotalLength();for(var ze=0;ze<Te.length;ze++)de.measureText(Te[ze]).width+(Te[ze].length-1)*Y}else{for(var Xe=0;Xe<Te.length;Xe++){var et=de.measureText(Te[Xe]).width+(Te[Xe].length-1)*Y;Oe[Xe]=et,Ie=Math.max(Ie,et)}var st=Ie+p,bt=u||fe.fontSize+p,_t=Math.max(bt,fe.fontSize+p)+(Te.length-1)*(bt+le);bt+=le;var ct=0;return N==="middle"?ct=-_t/2:N==="bottom"||N==="alphabetic"||N==="ideographic"?ct=-_t:(N==="top"||N==="hanging")&&(ct=0),{font:ue,width:st,height:_t,lines:Te,lineWidths:Oe,lineHeight:bt,maxLineWidth:Ie,fontProperties:fe,lineMetrics:Oe.map(function(ft,At){var Ft=0;return H==="center"||H==="middle"?Ft-=ft/2:(H==="right"||H==="end")&&(Ft-=ft),new zl(Ft-p/2,ct+At*bt,ft+p,bt)})}}}},{key:"wordWrap",value:function(t,n,i){var a=this,s=this,o=n.wordWrapWidth,l=o===void 0?0:o,u=n.letterSpacing,h=u===void 0?0:u,p=n.maxLines,S=p===void 0?1/0:p,N=n.textOverflow,U=this.runtime.offscreenCanvasCreator.getOrCreateContext(i),H=l+h,V="";N==="ellipsis"?V="...":N&&N!=="clip"&&(V=N);var Y=Array.from(t),q=[],ne=0,le=0,ue=-1,fe={},de=function(ct){return a.getFromCache(ct,h,fe,U)},ve=de(V);function Te(_t,ct,ft,At){for(;de(_t)<At&&ct<Y.length-1&&!s.isNewline(Y[ct+1]);)ct+=1,_t+=Y[ct];for(;de(_t)>At&&ct>=ft;)ct-=1,_t=_t.slice(0,-1);return{lineTxt:_t,txtLastCharIndex:ct}}function Oe(_t,ct){if(!(ve<=0||ve>H)){if(!q[_t]){q[_t]=V;return}var ft=Te(q[_t],ct,ue+1,H-ve);q[_t]=ft.lineTxt+V}}for(var Ie=0;Ie<Y.length;Ie++){var ze=Y[Ie],Xe=Y[Ie-1],et=Y[Ie+1],st=de(ze);if(this.isNewline(ze)){if(ne+1>=S){n.isOverflowing=!0,Ie<Y.length-1&&Oe(ne,Ie-1);break}ue=Ie-1,ne+=1,le=0,q[ne]="";continue}if(le>0&&le+st>H){var bt=Te(q[ne],Ie-1,ue+1,H);if(bt.txtLastCharIndex!==Ie-1){if(q[ne]=bt.lineTxt,bt.txtLastCharIndex===Y.length-1)break;Ie=bt.txtLastCharIndex+1,ze=Y[Ie],Xe=Y[Ie-1],et=Y[Ie+1],st=de(ze)}if(ne+1>=S){n.isOverflowing=!0,Oe(ne,Ie-1);break}if(ue=Ie-1,ne+=1,le=0,q[ne]="",this.isBreakingSpace(ze))continue;this.canBreakInLastChar(ze)||(q=this.trimToBreakable(q),le=this.sumTextWidthByCache(q[ne]||"",de)),this.shouldBreakByKinsokuShorui(ze,et)&&(q=this.trimByKinsokuShorui(q),le+=de(Xe||""))}le+=st,q[ne]=(q[ne]||"")+ze}return q.join(`
`)}},{key:"isBreakingSpace",value:function(t){return typeof t!="string"?!1:il.BreakingSpaces.indexOf(t.charCodeAt(0))>=0}},{key:"isNewline",value:function(t){return typeof t!="string"?!1:il.Newlines.indexOf(t.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(t){var n=(0,w.Z)(t),i=n[n.length-2],a=this.findBreakableIndex(i);if(a===-1||!i)return n;var s=i.slice(a,a+1),o=this.isBreakingSpace(s),l=a+1,u=a+(o?0:1);return n[n.length-1]+=i.slice(l,i.length),n[n.length-2]=i.slice(0,u),n}},{key:"canBreakInLastChar",value:function(t){return!(t&&my.test(t))}},{key:"sumTextWidthByCache",value:function(t,n){return t.split("").reduce(function(i,a){return i+n(a)},0)}},{key:"findBreakableIndex",value:function(t){for(var n=t.length-1;n>=0;n--)if(!my.test(t[n]))return n;return-1}},{key:"getFromCache",value:function(t,n,i,a){var s=i[t];if(typeof s!="number"){var o=t.length*n,l=a.measureText(t);s=l.width+o,i[t]=s}return s}}])}(),Ht={},GT=function(r){var e=new vT,t=new dT;return r={},(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(r,Ct.FRAGMENT,null),Ct.CIRCLE,new uT),Ct.ELLIPSE,new cT),Ct.RECT,e),Ct.IMAGE,e),Ct.GROUP,new pT),Ct.LINE,new hT),Ct.TEXT,new gT(Ht)),Ct.POLYLINE,t),Ct.POLYGON,t),(0,fn.Z)((0,fn.Z)((0,fn.Z)(r,Ct.PATH,new fT),Ct.HTML,new mT),Ct.MESH,null)}(),jT=function(r){var e=new xA,t=new Cv;return r={},(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(r,qt.PERCENTAGE,null),qt.NUMBER,new TA),qt.ANGLE,new _A),qt.DEFINED_PATH,new EA),qt.PAINT,e),qt.COLOR,e),qt.FILTER,new bA),qt.LENGTH,t),qt.LENGTH_PERCENTAGE,t),qt.LENGTH_PERCENTAGE_12,new wA),(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(r,qt.LENGTH_PERCENTAGE_14,new MA),qt.COORDINATE,new Cv),qt.OFFSET_DISTANCE,new PA),qt.OPACITY_VALUE,new SA),qt.PATH,new OA),qt.LIST_OF_POINTS,new DA),qt.SHADOW_BLUR,new CA),qt.TEXT,new LA),qt.TEXT_TRANSFORM,new RA),qt.TRANSFORM,new sT),(0,fn.Z)((0,fn.Z)((0,fn.Z)(r,qt.TRANSFORM_ORIGIN,new oT),qt.Z_INDEX,new lT),qt.MARKER,new AA)}(),VT=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof X.g!="undefined"?X.g:{}};Ht.CameraContribution=pm,Ht.AnimationTimeline=null,Ht.EasingFunction=null,Ht.offscreenCanvasCreator=new zv,Ht.sceneGraphSelector=new bT,Ht.sceneGraphService=new CT(Ht),Ht.textService=new HT(Ht),Ht.geometryUpdaterFactory=GT,Ht.CSSPropertySyntaxFactory=jT,Ht.styleValueRegistry=new mA(Ht),Ht.layoutRegistry=null,Ht.globalThis=VT(),Ht.enableStyleSyntax=!0,Ht.enableSizeAttenuation=!1;var yy=0;function p6(){yy=0}var Wv=new Ls(Kn.INSERTED,null,"","","",0,"",""),Hv=new Ls(Kn.REMOVED,null,"","","",0,"",""),_y=new _i(Kn.DESTROY),ZT=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.entity=yy++,t.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},t.cullable={strategy:Yw.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},t.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},t.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},t.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},t.rBushNode={aabb:void 0},t.namespaceURI="g",t.scrollLeft=0,t.scrollTop=0,t.clientTop=0,t.clientLeft=0,t.destroyed=!1,t.style={},t.computedStyle={},t.parsedStyle={},t.attributes={},t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(n){this.setAttribute("class",n)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(n){return n!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var n=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[n-1]||null}return null}},{key:"cloneNode",value:function(n){throw new Error(Ar)}},{key:"appendChild",value:function(n,i){var a;if(n.destroyed)throw new Error(kw);return Ht.sceneGraphService.attach(n,this,i),(a=this.ownerDocument)!==null&&a!==void 0&&a.defaultView&&(!ih(this)&&n.nodeName===Ct.FRAGMENT?this.ownerDocument.defaultView.mountFragment(n):this.ownerDocument.defaultView.mountChildren(n)),this.isMutationObserved&&(Wv.relatedNode=this,n.dispatchEvent(Wv)),n}},{key:"insertBefore",value:function(n,i){if(!i)this.appendChild(n);else{n.parentElement&&n.parentElement.removeChild(n);var a=this.childNodes.indexOf(i);a===-1?this.appendChild(n):this.appendChild(n,a)}return n}},{key:"replaceChild",value:function(n,i){var a=this.childNodes.indexOf(i);return this.removeChild(i),this.appendChild(n,a),i}},{key:"removeChild",value:function(n){var i;return Hv.relatedNode=this,n.dispatchEvent(Hv),(i=n.ownerDocument)!==null&&i!==void 0&&i.defaultView&&n.ownerDocument.defaultView.unmountChildren(n),Ht.sceneGraphService.detach(n),n}},{key:"removeChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];this.removeChild(i)}}},{key:"destroyChildren",value:function(){for(var n=this.childNodes.length-1;n>=0;n--){var i=this.childNodes[n];i.childNodes.length>0&&i.destroyChildren(),i.destroy()}}},{key:"matches",value:function(n){return Ht.sceneGraphService.matches(n,this)}},{key:"getElementById",value:function(n){return Ht.sceneGraphService.querySelector("#".concat(n),this)}},{key:"getElementsByName",value:function(n){return Ht.sceneGraphService.querySelectorAll('[name="'.concat(n,'"]'),this)}},{key:"getElementsByClassName",value:function(n){return Ht.sceneGraphService.querySelectorAll(".".concat(n),this)}},{key:"getElementsByTagName",value:function(n){return Ht.sceneGraphService.querySelectorAll(n,this)}},{key:"querySelector",value:function(n){return Ht.sceneGraphService.querySelector(n,this)}},{key:"querySelectorAll",value:function(n){return Ht.sceneGraphService.querySelectorAll(n,this)}},{key:"closest",value:function(n){var i=this;do{if(Ht.sceneGraphService.matches(n,i))return i;i=i.parentElement}while(i!==null);return null}},{key:"find",value:function(n){var i=this,a=null;return this.forEach(function(s){return s!==i&&n(s)?(a=s,!1):!0}),a}},{key:"findAll",value:function(n){var i=this,a=[];return this.forEach(function(s){s!==i&&n(s)&&a.push(s)}),a}},{key:"after",value:function(){var n=this;if(this.parentNode){for(var i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];s.forEach(function(l,u){var h;return(h=n.parentNode)===null||h===void 0?void 0:h.appendChild(l,i+u+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var n,i=this.parentNode.childNodes.indexOf(this),a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];var l=s[0],u=s.slice(1);this.parentNode.appendChild(l,i),(n=l).after.apply(n,(0,w.Z)(u))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o){return n.appendChild(o)})}},{key:"prepend",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];a.forEach(function(o,l){return n.appendChild(o,l)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(_y),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return Ht.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return Ht.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return Ht.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return Ht.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Ht.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(n){if(typeof n!="symbol"){var i=this.attributes[n];return i}}},{key:"hasAttribute",value:function(n){return this.getAttributeNames().includes(n)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(n){this.setAttribute(n,null),delete this.attributes[n]}},{key:"setAttribute",value:function(n,i,a,s){this.attributes[n]=i}},{key:"getAttributeNS",value:function(n,i){throw new Error(Ar)}},{key:"getAttributeNode",value:function(n){throw new Error(Ar)}},{key:"getAttributeNodeNS",value:function(n,i){throw new Error(Ar)}},{key:"hasAttributeNS",value:function(n,i){throw new Error(Ar)}},{key:"removeAttributeNS",value:function(n,i){throw new Error(Ar)}},{key:"removeAttributeNode",value:function(n){throw new Error(Ar)}},{key:"setAttributeNS",value:function(n,i,a){throw new Error(Ar)}},{key:"setAttributeNode",value:function(n){throw new Error(Ar)}},{key:"setAttributeNodeNS",value:function(n){throw new Error(Ar)}},{key:"toggleAttribute",value:function(n,i){throw new Error(Ar)}}])}(Yr);function cr(r){return!!(r!=null&&r.nodeName)}var KT=Ht.globalThis.Proxy?Ht.globalThis.Proxy:function(){},Rs=new Ls(Kn.ATTR_MODIFIED,null,null,null,null,Ls.MODIFICATION,null,null),zu=P(),XT=Gr(),Ur=function(r){function e(t){var n;return(0,_.Z)(this,e),n=(0,x.Z)(this,e),n.isCustomElement=!1,n.isMutationObserved=!1,n.activeAnimations=[],n.config=t,n.id=t.id||"",n.name=t.name||"",(t.className||t.class)&&(n.className=t.className||t.class),n.nodeName=t.type||Ct.GROUP,t.initialParsedStyle&&Object.assign(n.parsedStyle,t.initialParsedStyle),n.initAttributes(t.style),Ht.enableStyleSyntax&&(n.style=new KT({setProperty:function(a,s){n.setAttribute(a,s)},getPropertyValue:function(a){return n.getAttribute(a)},removeProperty:function(a){n.removeAttribute(a)},item:function(){return""}},{get:function(a,s){return a[s]!==void 0?a[s]:n.getAttribute(s)},set:function(a,s,o){return n.setAttribute(s,o),!0}})),n}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"destroy",value:function(){Kp(e,"destroy",this,3)([]),this.getAnimations().forEach(function(n){n.cancel()})}},{key:"cloneNode",value:function(n,i){var a=(0,G.Z)({},this.attributes);for(var s in a){var o=a[s];cr(o)&&s!=="clipPath"&&s!=="offsetPath"&&s!=="textPath"&&(a[s]=o.cloneNode(n)),i&&(a[s]=i(s,o))}var l=new this.constructor((0,G.Z)((0,G.Z)({},this.config),{},{style:a}));return l.setLocalTransform(this.getLocalTransform()),n&&this.children.forEach(function(u){if(!u.style.isMarker){var h=u.cloneNode(n);l.appendChild(h)}}),l}},{key:"initAttributes",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i={forceUpdateGeometry:!0};Ht.styleValueRegistry.processProperties(this,n,i),this.renderable.dirty=!0}},{key:"setAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Bn(i)||(a||i!==this.attributes[n])&&(this.internalSetAttribute(n,i,{memoize:s}),Kp(e,"setAttribute",this,3)([n,i]))}},{key:"internalSetAttribute",value:function(n,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=this.renderable,o=this.attributes[n],l=this.parsedStyle[n];Ht.styleValueRegistry.processProperties(this,(0,fn.Z)({},n,i),a),s.dirty=!0;var u=this.parsedStyle[n];if(this.isConnected&&(Rs.relatedNode=this,Rs.prevValue=o,Rs.newValue=i,Rs.attrName=n,Rs.prevParsedValue=l,Rs.newParsedValue=u,this.isMutationObserved?this.dispatchEvent(Rs):(Rs.target=this,this.ownerDocument.defaultView.dispatchEvent(Rs,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var h,p;(h=(p=this).attributeChangedCallback)===null||h===void 0||h.call(p,n,o,i,l,u)}}},{key:"getBBox",value:function(){var n=this.getBounds(),i=n.getMin(),a=(0,b.Z)(i,2),s=a[0],o=a[1],l=n.getMax(),u=(0,b.Z)(l,2),h=u[0],p=u[1];return new zl(s,o,h-s,p-o)}},{key:"setOrigin",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setOrigin(this,ia(n,i,a,!1)),this}},{key:"getOrigin",value:function(){return Ht.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setPosition(this,ia(n,i,a,!1)),this}},{key:"setLocalPosition",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.setLocalPosition(this,ia(n,i,a,!1)),this}},{key:"translate",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.translate(this,ia(n,i,a,!1)),this}},{key:"translateLocal",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ht.sceneGraphService.translateLocal(this,ia(n,i,a,!1)),this}},{key:"getPosition",value:function(){return Ht.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Ht.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(n,i,a){return this.scaleLocal(n,i,a)}},{key:"scaleLocal",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=ia(n,i,a,!1)),Ht.sceneGraphService.scaleLocal(this,n),this}},{key:"setLocalScale",value:function(n,i,a){return typeof n=="number"&&(i=i||n,a=a||n,n=ia(n,i,a,!1)),Ht.sceneGraphService.setLocalScale(this,n),this}},{key:"getLocalScale",value:function(){return Ht.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Ht.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var n=fv(zu,Ht.sceneGraphService.getWorldTransform(this)),i=(0,b.Z)(n,3),a=i[2];return ga(a)}},{key:"getLocalEulerAngles",value:function(){var n=fv(zu,Ht.sceneGraphService.getLocalRotation(this)),i=(0,b.Z)(n,3),a=i[2];return ga(a)}},{key:"setEulerAngles",value:function(n){return Ht.sceneGraphService.setEulerAngles(this,0,0,n),this}},{key:"setLocalEulerAngles",value:function(n){return Ht.sceneGraphService.setLocalEulerAngles(this,0,0,n),this}},{key:"rotateLocal",value:function(n,i,a){return Pn(i)&&Pn(a)?Ht.sceneGraphService.rotateLocal(this,0,0,n):Ht.sceneGraphService.rotateLocal(this,n,i,a),this}},{key:"rotate",value:function(n,i,a){return Pn(i)&&Pn(a)?Ht.sceneGraphService.rotate(this,0,0,n):Ht.sceneGraphService.rotate(this,n,i,a),this}},{key:"setRotation",value:function(n,i,a,s){return Ht.sceneGraphService.setRotation(this,n,i,a,s),this}},{key:"setLocalRotation",value:function(n,i,a,s){return Ht.sceneGraphService.setLocalRotation(this,n,i,a,s),this}},{key:"setLocalSkew",value:function(n,i){return Ht.sceneGraphService.setLocalSkew(this,n,i),this}},{key:"getRotation",value:function(){return Ht.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Ht.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Ht.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Ht.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Ht.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(n){return Ht.sceneGraphService.setLocalTransform(this,n),this}},{key:"resetLocalTransform",value:function(){Ht.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(n,i){var a,s=(a=this.ownerDocument)===null||a===void 0?void 0:a.timeline;return s?s.play(this,n,i):null}},{key:"isVisible",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(n){this.style.pointerEvents=n?"auto":"none"}},{key:"isInteractive",value:function(){var n;return((n=this.parsedStyle)===null||n===void 0?void 0:n.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,(0,w.Z)(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,w.Z)(this.parentNode.children.map(function(n){return Number(n.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var n=this,i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];var o=a[0],l=a[1];return o?li(o)?(Object.keys(o).forEach(function(u){n.setAttribute(u,o[u])}),this):a.length===2?(this.setAttribute(o,l),this):this.attributes[o]:this.attributes}},{key:"getMatrix",value:function(n){var i=n||this.getWorldTransform(),a=Hn(zu,i),s=(0,b.Z)(a,2),o=s[0],l=s[1],u=pn(zu,i),h=(0,b.Z)(u,2),p=h[0],S=h[1],N=Rn(XT,i),U=fv(zu,N),H=(0,b.Z)(U,3),V=H[0],Y=H[2];return jw(V||Y,o,l,p,S)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(n){var i=fm(n),a=(0,b.Z)(i,5),s=a[0],o=a[1],l=a[2],u=a[3],h=a[4];this.setEulerAngles(h).setPosition(s,o).setLocalScale(l,u)}},{key:"setLocalMatrix",value:function(n){var i=fm(n),a=(0,b.Z)(i,5),s=a[0],o=a[1],l=a[2],u=a[3],h=a[4];this.setLocalEulerAngles(h).setLocalPosition(s,o).setLocalScale(l,u)}},{key:"show",value:function(){this.forEach(function(n){n.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(n){n.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(n){return this.children[n]||null}},{key:"add",value:function(n,i){return this.appendChild(n,i)}},{key:"set",value:function(n,i){this.config[n]=i}},{key:"get",value:function(n){return this.config[n]}},{key:"moveTo",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"move",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(n,i,a),this}},{key:"setZIndex",value:function(n){return this.style.zIndex=n,this}}])}(ZT);Ur.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var Ks=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.CIRCLE},t)])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);Ks.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var YT=["style"],Gv=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,Qo.Z)(n,YT);return(0,_.Z)(this,e),t=(0,x.Z)(this,e,[(0,G.Z)({style:i},a)]),t.isCustomElement=!0,t}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);Gv.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var Uu=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.ELLIPSE},t)])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);Uu.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var QT=function(r){function e(){return(0,_.Z)(this,e),(0,x.Z)(this,e,[{type:Ct.FRAGMENT}])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);QT.PARSED_STYLE_LIST=new Set(["class","className"]);var Ai=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.GROUP},t)])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);Ai.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var JT=["style"],Wu=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,Qo.Z)(n,JT);return(0,_.Z)(this,e),t=(0,x.Z)(this,e,[(0,G.Z)({type:Ct.HTML,style:i},a)]),t.cullable.enable=!1,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var n=mt(De(),this.parentNode.getWorldTransform()),i=this.getBounds();if(!Nr.isEmpty(i)){var a=new Nr;return a.setFromTransformedAABB(i,n),a}}return this.getBounds()}}])}(Ur);Wu.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Hu=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.IMAGE},t)])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);Hu.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var qT=["style"],al=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,Qo.Z)(n,qT);(0,_.Z)(this,e),t=(0,x.Z)(this,e,[(0,G.Z)({type:Ct.LINE,style:(0,G.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},i)},a)]),t.markerStartAngle=0,t.markerEndAngle=0;var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd;return o&&cr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),l&&cr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="x1"||n==="y1"||n==="x2"||n==="y2"||n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&cr(s)&&(this.markerStartAngle=0,s.remove()),o&&cr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"&&(s&&cr(s)&&(this.markerEndAngle=0,s.remove()),o&&cr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1)))}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.x1,h=i.x2,p=i.y1,S=i.y2,N=n?a:s;if(!(!N||!cr(N))){var U=0,H,V,Y,q,ne,le;n?(Y=u,q=p,H=h-u,V=S-p,ne=o||0,le=this.markerStartAngle):(Y=h,q=S,H=u-h,V=p-S,ne=l||0,le=this.markerEndAngle),U=Math.atan2(V,H),N.setLocalEulerAngles(U*180/Math.PI+le),N.setLocalPosition(Y+Math.cos(U)*ne,q+Math.sin(U)*ne)}}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle,s=a.x1,o=a.y1,l=a.x2,u=a.y2,h=Ss(s,o,l,u,n),p=h.x,S=h.y,N=qe(P(),f(p,S,0),i?this.getWorldTransform():this.getLocalTransform());return new Bi(N[0],N[1])}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getTotalLength",value:function(){var n=this.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2;return $p(i,a,s,o)}}])}(Ur);al.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var $T=["style"],Sa=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,Qo.Z)(n,$T);(0,_.Z)(this,e),t=(0,x.Z)(this,e,[(0,G.Z)({type:Ct.PATH,style:i,initialParsedStyle:{miterLimit:4,d:(0,G.Z)({},mm)}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&cr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&cr(u)&&t.placeMarkerMid(u),l&&cr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&cr(s)&&(this.markerStartAngle=0,s.remove()),o&&cr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&cr(s)&&(this.markerEndAngle=0,s.remove()),o&&cr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=n?a:s;if(!(!u||!cr(u))){var h=0,p,S,N,U,H,V;if(n){var Y=this.getStartTangent(),q=(0,b.Z)(Y,2),ne=q[0],le=q[1];N=le[0],U=le[1],p=ne[0]-le[0],S=ne[1]-le[1],H=o||0,V=this.markerStartAngle}else{var ue=this.getEndTangent(),fe=(0,b.Z)(ue,2),de=fe[0],ve=fe[1];N=ve[0],U=ve[1],p=de[0]-ve[0],S=de[1]-ve[1],H=l||0,V=this.markerEndAngle}h=Math.atan2(S,p),u.setLocalEulerAngles(h*180/Math.PI+V),u.setLocalPosition(N+Math.cos(h)*H,U+Math.sin(h)*H)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(h){h.remove()}),n&&cr(n))for(var a=1;a<i.length-1;a++){var s=(0,b.Z)(i[a].currentPoint,2),o=s[0],l=s[1],u=a===1?n:n.cloneNode(!0);this.markerMidList.push(u),this.appendChild(u),u.setLocalPosition(o,l)}}},{key:"getTotalLength",value:function(){return Av(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.d.absolutePath,s=ow(a,n),o=s.x,l=s.y,u=qe(P(),f(o,l,0),i?this.getWorldTransform():this.getLocalTransform());return new Bi(u[0],u[1])}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(n*Av(this),i)}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.d.segments,i=[];if(n.length>1){var a=n[0].currentPoint,s=n[1].currentPoint,o=n[1].startTangent;i=[],o?(i.push([a[0]-o[0],a[1]-o[1]]),i.push([a[0],a[1]])):(i.push([s[0],s[1]]),i.push([a[0],a[1]]))}return i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.d.segments,i=n.length,a=[];if(i>1){var s=n[i-2].currentPoint,o=n[i-1].currentPoint,l=n[i-1].endTangent;a=[],l?(a.push([o[0]-l[0],o[1]-l[1]]),a.push([o[0],o[1]])):(a.push([s[0],s[1]]),a.push([o[0],o[1]]))}return a}}])}(Ur);Sa.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var eP=["style"],sl=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.style,a=(0,Qo.Z)(n,eP);(0,_.Z)(this,e),t=(0,x.Z)(this,e,[(0,G.Z)({type:Ct.POLYGON,style:i,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},a)]),t.markerStartAngle=0,t.markerEndAngle=0,t.markerMidList=[];var s=t.parsedStyle,o=s.markerStart,l=s.markerEnd,u=s.markerMid;return o&&cr(o)&&(t.markerStartAngle=o.getLocalEulerAngles(),t.appendChild(o)),u&&cr(u)&&t.placeMarkerMid(u),l&&cr(l)&&(t.markerEndAngle=l.getLocalEulerAngles(),t.appendChild(l)),t.transformMarker(!0),t.transformMarker(!1),t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"attributeChangedCallback",value:function(n,i,a,s,o){n==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):n==="markerStartOffset"||n==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):n==="markerStart"?(s&&cr(s)&&(this.markerStartAngle=0,s.remove()),o&&cr(o)&&(this.markerStartAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!0))):n==="markerEnd"?(s&&cr(s)&&(this.markerEndAngle=0,s.remove()),o&&cr(o)&&(this.markerEndAngle=o.getLocalEulerAngles(),this.appendChild(o),this.transformMarker(!1))):n==="markerMid"&&this.placeMarkerMid(o)}},{key:"transformMarker",value:function(n){var i=this.parsedStyle,a=i.markerStart,s=i.markerEnd,o=i.markerStartOffset,l=i.markerEndOffset,u=i.points,h=u||{},p=h.points,S=n?a:s;if(!(!S||!cr(S)||!p)){var N=0,U,H,V,Y,q,ne;if(V=p[0][0],Y=p[0][1],n)U=p[1][0]-p[0][0],H=p[1][1]-p[0][1],q=o||0,ne=this.markerStartAngle;else{var le=p.length;this.parsedStyle.isClosed?(U=p[le-1][0]-p[0][0],H=p[le-1][1]-p[0][1]):(V=p[le-1][0],Y=p[le-1][1],U=p[le-2][0]-p[le-1][0],H=p[le-2][1]-p[le-1][1]),q=l||0,ne=this.markerEndAngle}N=Math.atan2(H,U),S.setLocalEulerAngles(N*180/Math.PI+ne),S.setLocalPosition(V+Math.cos(N)*q,Y+Math.sin(N)*q)}}},{key:"placeMarkerMid",value:function(n){var i=this.parsedStyle.points,a=i||{},s=a.points;if(this.markerMidList.forEach(function(p){p.remove()}),this.markerMidList=[],n&&cr(n)&&s)for(var o=1;o<(this.parsedStyle.isClosed?s.length:s.length-1);o++){var l=s[o][0],u=s[o][1],h=o===1?n:n.cloneNode(!0);this.markerMidList.push(h),this.appendChild(h),h.setLocalPosition(l,u)}}}])}(Ur);sl.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var tP=["style"],ch=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=(0,Qo.Z)(t,tP);return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.POLYLINE,style:n,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},i)])}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"getTotalLength",value:function(){return jM(this)}},{key:"getPointAtLength",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(n/this.getTotalLength(),i)}},{key:"getPoint",value:function(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var s=[],o=0,l,u,h=this.getTotalLength();a.forEach(function(Y,q){a[q+1]&&(l=[0,0],l[0]=o/h,u=$p(Y[0],Y[1],a[q+1][0],a[q+1][1]),o+=u,l[1]=o/h,s.push(l))}),this.parsedStyle.points.segments=s}var p=0,S=0;this.parsedStyle.points.segments.forEach(function(Y,q){n>=Y[0]&&n<=Y[1]&&(p=(n-Y[0])/(Y[1]-Y[0]),S=q)});var N=Ss(a[S][0],a[S][1],a[S+1][0],a[S+1][1],p),U=N.x,H=N.y,V=qe(P(),f(U,H,0),i?this.getWorldTransform():this.getLocalTransform());return new Bi(V[0],V[1])}},{key:"getStartTangent",value:function(){var n=this.parsedStyle.points.points,i=[];return i.push([n[1][0],n[1][1]]),i.push([n[0][0],n[0][1]]),i}},{key:"getEndTangent",value:function(){var n=this.parsedStyle.points.points,i=n.length-1,a=[];return a.push([n[i-1][0],n[i-1][1]]),a.push([n[i][0],n[i][1]]),a}}])}(sl);ch.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(sl.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var ki=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.RECT},t)])}return(0,y.Z)(e,r),(0,F.Z)(e)}(Ur);ki.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var nP=["style"],ol=function(r){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.style,i=(0,Qo.Z)(t,nP);return(0,_.Z)(this,e),(0,x.Z)(this,e,[(0,G.Z)({type:Ct.TEXT,style:(0,G.Z)({fill:"black"},n)},i)])}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"getComputedTextLength",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var n;return this.getGeometryBounds(),((n=this.parsedStyle.metrics)===null||n===void 0?void 0:n.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Ur);ol.PARSED_STYLE_LIST=new Set([].concat((0,w.Z)(Ur.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var rP=function(){function r(){(0,_.Z)(this,r),this.registry={},this.define(Ct.CIRCLE,Ks),this.define(Ct.ELLIPSE,Uu),this.define(Ct.RECT,ki),this.define(Ct.IMAGE,Hu),this.define(Ct.LINE,al),this.define(Ct.GROUP,Ai),this.define(Ct.PATH,Sa),this.define(Ct.POLYGON,sl),this.define(Ct.POLYLINE,ch),this.define(Ct.TEXT,ol),this.define(Ct.HTML,Wu)}return(0,F.Z)(r,[{key:"define",value:function(t,n){this.registry[t]=n}},{key:"get",value:function(t){return this.registry[t]}}])}(),m6={number:function(e){return new Sr(e)},percent:function(e){return new Sr(e,"%")},px:function(e){return new Sr(e,"px")},em:function(e){return new Sr(e,"em")},rem:function(e){return new Sr(e,"rem")},deg:function(e){return new Sr(e,"deg")},grad:function(e){return new Sr(e,"grad")},rad:function(e){return new Sr(e,"rad")},turn:function(e){return new Sr(e,"turn")},s:function(e){return new Sr(e,"s")},ms:function(e){return new Sr(e,"ms")},registerProperty:function(e){var t=e.name,n=e.inherits,i=e.interpolable,a=e.initialValue,s=e.syntax;Ht.styleValueRegistry.registerMetadata({n:t,inh:n,int:i,d:a,syntax:s})},registerLayout:function(e,t){Ht.layoutRegistry.registerLayout(e,t)}},Ey=function(r){function e(){var t;(0,_.Z)(this,e),t=(0,x.Z)(this,e),t.defaultView=null,t.ownerDocument=null,t.nodeName="document";try{t.timeline=new Ht.AnimationTimeline(t)}catch(i){}var n={};return Dv.forEach(function(i){var a=i.n,s=i.inh,o=i.d;s&&o&&(n[a]=yn(o)?o(Ct.GROUP):o)}),t.documentElement=new Ai({id:"g-root",style:n}),t.documentElement.ownerDocument=t,t.documentElement.parentNode=t,t.childNodes=[t.documentElement],t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(n,i){if(n==="svg")return this.documentElement;var a=this.defaultView.customElements.get(n);a||(console.warn("Unsupported tagName: ",n),a=n==="tspan"?ol:Ai);var s=new a(i);return s.ownerDocument=this,s}},{key:"createElementNS",value:function(n,i,a){return this.createElement(i,a)}},{key:"cloneNode",value:function(n){throw new Error(Ar)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(n){}}},{key:"elementsFromBBox",value:function(n,i,a,s){var o=this.defaultView.context.rBushRoot,l=o.search({minX:n,minY:i,maxX:a,maxY:s}),u=[];return l.forEach(function(h){var p=h.displayObject,S=p.parsedStyle.pointerEvents,N=S===void 0?"auto":S,U=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(N);(!U||U&&p.isVisible())&&!p.isCulled()&&p.isInteractive()&&u.push(p)}),u.sort(function(h,p){return p.sortable.renderOrder-h.sortable.renderOrder}),u}},{key:"elementFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),u=l.width,h=l.height;if(s<0||o<0||s>u||o>h)return null;var p=this.defaultView.viewport2Client({x:s,y:o}),S=p.x,N=p.y,U=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:S,clientY:N},picked:[]}),H=U.picked;return H&&H[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var t=(0,po.Z)((0,Yi.Z)().mark(function i(a,s){var o,l,u,h,p,S,N,U,H,V,Y;return(0,Yi.Z)().wrap(function(ne){for(;;)switch(ne.prev=ne.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,u=o.y,h=this.defaultView.getConfig(),p=h.width,S=h.height,!(l<0||u<0||l>p||u>S)){ne.next=4;break}return ne.abrupt("return",null);case 4:return N=this.defaultView.viewport2Client({x:l,y:u}),U=N.x,H=N.y,ne.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:a,y:s,viewportX:l,viewportY:u,clientX:U,clientY:H},picked:[]});case 7:return V=ne.sent,Y=V.picked,ne.abrupt("return",Y&&Y[0]||this.documentElement);case 10:case"end":return ne.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"elementsFromPointSync",value:function(n,i){var a=this.defaultView.canvas2Viewport({x:n,y:i}),s=a.x,o=a.y,l=this.defaultView.getConfig(),u=l.width,h=l.height;if(s<0||o<0||s>u||o>h)return[];var p=this.defaultView.viewport2Client({x:s,y:o}),S=p.x,N=p.y,U=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:n,y:i,viewportX:s,viewportY:o,clientX:S,clientY:N},picked:[]}),H=U.picked;return H[H.length-1]!==this.documentElement&&H.push(this.documentElement),H}},{key:"elementsFromPoint",value:function(){var t=(0,po.Z)((0,Yi.Z)().mark(function i(a,s){var o,l,u,h,p,S,N,U,H,V,Y;return(0,Yi.Z)().wrap(function(ne){for(;;)switch(ne.prev=ne.next){case 0:if(o=this.defaultView.canvas2Viewport({x:a,y:s}),l=o.x,u=o.y,h=this.defaultView.getConfig(),p=h.width,S=h.height,!(l<0||u<0||l>p||u>S)){ne.next=4;break}return ne.abrupt("return",[]);case 4:return N=this.defaultView.viewport2Client({x:l,y:u}),U=N.x,H=N.y,ne.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:a,y:s,viewportX:l,viewportY:u,clientX:U,clientY:H},picked:[]});case 7:return V=ne.sent,Y=V.picked,Y[Y.length-1]!==this.documentElement&&Y.push(this.documentElement),ne.abrupt("return",Y);case 11:case"end":return ne.stop()}},i,this)}));function n(i,a){return t.apply(this,arguments)}return n}()},{key:"appendChild",value:function(n,i){throw new Error(Ul)}},{key:"insertBefore",value:function(n,i){throw new Error(Ul)}},{key:"removeChild",value:function(n,i){throw new Error(Ul)}},{key:"replaceChild",value:function(n,i,a){throw new Error(Ul)}},{key:"append",value:function(){throw new Error(Ul)}},{key:"prepend",value:function(){throw new Error(Ul)}},{key:"getElementById",value:function(n){return this.documentElement.getElementById(n)}},{key:"getElementsByName",value:function(n){return this.documentElement.getElementsByName(n)}},{key:"getElementsByTagName",value:function(n){return this.documentElement.getElementsByTagName(n)}},{key:"getElementsByClassName",value:function(n){return this.documentElement.getElementsByClassName(n)}},{key:"querySelector",value:function(n){return this.documentElement.querySelector(n)}},{key:"querySelectorAll",value:function(n){return this.documentElement.querySelectorAll(n)}},{key:"find",value:function(n){return this.documentElement.find(n)}},{key:"findAll",value:function(n){return this.documentElement.findAll(n)}}])}(Yr),xy=function(){function r(e){(0,_.Z)(this,r),this.strategies=e}return(0,F.Z)(r,[{key:"apply",value:function(t){var n=t.camera,i=t.renderingService,a=t.renderingContext,s=this.strategies;i.hooks.cull.tap(r.tag,function(o){if(o){var l=o.cullable;return s.length===0?l.visible=a.unculledEntities.indexOf(o.entity)>-1:l.visible=s.every(function(u){return u.isVisible(n,o)}),!o.isCulled()&&o.isVisible()?o:(o.dispatchEvent(new _i(Kn.CULLED)),null)}return o}),i.hooks.afterRender.tap(r.tag,function(o){o.cullable.visibilityPlaneMask=-1})}}])}();xy.tag="Culling";var by=function(){function r(){var e=this;(0,_.Z)(this,r),this.autoPreventDefault=!1,this.rootPointerEvent=new sh(null),this.rootWheelEvent=new Fv(null),this.onPointerMove=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView;if(!(i.supportsTouchEvents&&t.pointerType==="touch")){var a=e.normalizeToPointerEvent(t,i),s=(0,Yo.Z)(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(h){s.e(h)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}},this.onClick=function(t){var n,i=(n=e.context.renderingContext.root)===null||n===void 0||(n=n.ownerDocument)===null||n===void 0?void 0:n.defaultView,a=e.normalizeToPointerEvent(t,i),s=(0,Yo.Z)(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=e.bootstrapEvent(e.rootPointerEvent,l,i,t);e.context.eventService.mapEvent(u)}}catch(h){s.e(h)}finally{s.f()}e.setCursor(e.context.eventService.cursor)}}return(0,F.Z)(r,[{key:"apply",value:function(t){var n=this;this.context=t;var i=t.renderingService,a=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(s){var o=n.context.renderingService.hooks.pickSync.call({position:s,picked:[],topmost:!0}),l=o.picked;return l[0]||null}),i.hooks.pointerWheel.tap(r.tag,function(s){var o=n.normalizeWheelEvent(s);n.context.eventService.mapEvent(o)}),i.hooks.pointerDown.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.normalizeToPointerEvent(s,a);if(n.autoPreventDefault&&o[0].isNormalized){var l=s.cancelable||!("cancelable"in s);l&&s.preventDefault()}var u=(0,Yo.Z)(o),h;try{for(u.s();!(h=u.n()).done;){var p=h.value,S=n.bootstrapEvent(n.rootPointerEvent,p,a,s);n.context.eventService.mapEvent(S)}}catch(N){u.e(N)}finally{u.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerUp.tap(r.tag,function(s){if(!(a.supportsTouchEvents&&s.pointerType==="touch")){var o=n.context.contextService.getDomElement(),l=n.context.eventService.isNativeEventFromCanvas(o,s),u=l?"":"outside",h=n.normalizeToPointerEvent(s,a),p=(0,Yo.Z)(h),S;try{for(p.s();!(S=p.n()).done;){var N=S.value,U=n.bootstrapEvent(n.rootPointerEvent,N,a,s);U.type+=u,n.context.eventService.mapEvent(U)}}catch(H){p.e(H)}finally{p.f()}n.setCursor(n.context.eventService.cursor)}}),i.hooks.pointerMove.tap(r.tag,this.onPointerMove),i.hooks.pointerOver.tap(r.tag,this.onPointerMove),i.hooks.pointerOut.tap(r.tag,this.onPointerMove),i.hooks.click.tap(r.tag,this.onClick),i.hooks.pointerCancel.tap(r.tag,function(s){var o=n.normalizeToPointerEvent(s,a),l=(0,Yo.Z)(o),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,p=n.bootstrapEvent(n.rootPointerEvent,h,a,s);n.context.eventService.mapEvent(p)}}catch(S){l.e(S)}finally{l.f()}n.setCursor(n.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(t,n,i,a){t.view=i,t.originalEvent=null,t.nativeEvent=a,t.pointerId=n.pointerId,t.width=n.width,t.height=n.height,t.isPrimary=n.isPrimary,t.pointerType=n.pointerType,t.pressure=n.pressure,t.tangentialPressure=n.tangentialPressure,t.tiltX=n.tiltX,t.tiltY=n.tiltY,t.twist=n.twist,this.transferMouseData(t,n);var s=this.context.eventService.client2Viewport({x:n.clientX,y:n.clientY}),o=s.x,l=s.y;t.viewport.x=o,t.viewport.y=l;var u=this.context.eventService.viewport2Canvas(t.viewport),h=u.x,p=u.y;return t.canvas.x=h,t.canvas.y=p,t.global.copyFrom(t.canvas),t.offset.copyFrom(t.canvas),t.isTrusted=a.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=WA[t.type]||t.type),t}},{key:"normalizeWheelEvent",value:function(t){var n=this.rootWheelEvent;this.transferMouseData(n,t),n.deltaMode=t.deltaMode,n.deltaX=t.deltaX,n.deltaY=t.deltaY,n.deltaZ=t.deltaZ;var i=this.context.eventService.client2Viewport({x:t.clientX,y:t.clientY}),a=i.x,s=i.y;n.viewport.x=a,n.viewport.y=s;var o=this.context.eventService.viewport2Canvas(n.viewport),l=o.x,u=o.y;return n.canvas.x=l,n.canvas.y=u,n.global.copyFrom(n.canvas),n.offset.copyFrom(n.canvas),n.nativeEvent=t,n.type=t.type,n}},{key:"transferMouseData",value:function(t,n){t.isTrusted=n.isTrusted,t.srcElement=n.srcElement,t.timeStamp=Iv.now(),t.type=n.type,t.altKey=n.altKey,t.metaKey=n.metaKey,t.shiftKey=n.shiftKey,t.ctrlKey=n.ctrlKey,t.button=n.button,t.buttons=n.buttons,t.client.x=n.clientX,t.client.y=n.clientY,t.movement.x=n.movementX,t.movement.y=n.movementY,t.page.x=n.pageX,t.page.y=n.pageY,t.screen.x=n.screenX,t.screen.y=n.screenY,t.relatedTarget=null}},{key:"setCursor",value:function(t){this.context.contextService.applyCursorStyle(t||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(t,n){var i=[];if(n.isTouchEvent(t))for(var a=0;a<t.changedTouches.length;a++){var s=t.changedTouches[a];Bn(s.button)&&(s.button=0),Bn(s.buttons)&&(s.buttons=1),Bn(s.isPrimary)&&(s.isPrimary=t.touches.length===1&&t.type==="touchstart"),Bn(s.width)&&(s.width=s.radiusX||1),Bn(s.height)&&(s.height=s.radiusY||1),Bn(s.tiltX)&&(s.tiltX=0),Bn(s.tiltY)&&(s.tiltY=0),Bn(s.pointerType)&&(s.pointerType="touch"),Bn(s.pointerId)&&(s.pointerId=s.identifier||0),Bn(s.pressure)&&(s.pressure=s.force||.5),Bn(s.twist)&&(s.twist=0),Bn(s.tangentialPressure)&&(s.tangentialPressure=0),s.isNormalized=!0,s.type=t.type,i.push(s)}else if(n.isMouseEvent(t)){var o=t;Bn(o.isPrimary)&&(o.isPrimary=!0),Bn(o.width)&&(o.width=1),Bn(o.height)&&(o.height=1),Bn(o.tiltX)&&(o.tiltX=0),Bn(o.tiltY)&&(o.tiltY=0),Bn(o.pointerType)&&(o.pointerType="mouse"),Bn(o.pointerId)&&(o.pointerId=UA),Bn(o.pressure)&&(o.pressure=.5),Bn(o.twist)&&(o.twist=0),Bn(o.tangentialPressure)&&(o.tangentialPressure=0),o.isNormalized=!0,i.push(o)}else i.push(t);return i}}])}();by.tag="Event";var iP=[Ct.CIRCLE,Ct.ELLIPSE,Ct.IMAGE,Ct.RECT,Ct.LINE,Ct.POLYLINE,Ct.POLYGON,Ct.TEXT,Ct.PATH,Ct.HTML],aP=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"isVisible",value:function(t,n){var i,a=n.cullable;if(!a.enable)return!0;var s=n.getRenderBounds();if(Nr.isEmpty(s))return!1;var o=t.getFrustum(),l=(i=n.parentNode)===null||i===void 0||(i=i.cullable)===null||i===void 0?void 0:i.visibilityPlaneMask;return a.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(n,s,l||Fl.INDETERMINATE,o.planes),a.visible=a.visibilityPlaneMask!==Fl.OUTSIDE,a.visible}},{key:"computeVisibilityWithPlaneMask",value:function(t,n,i,a){if(i===Fl.OUTSIDE||i===Fl.INSIDE)return i;for(var s=Fl.INSIDE,o=iP.indexOf(t.nodeName)>-1,l=0,u=a.length;l<u;++l){var h=1<<l;if(i&h&&!(o&&(l===4||l===5))){var p=a[l],S=p.normal,N=p.distance;if(Ee(S,n.getPositiveFarPoint(a[l]))+N<0)return Fl.OUTSIDE;Ee(S,n.getNegativeFarPoint(a[l]))+N<0&&(s|=h)}}return s}}])}(),wy=function(){function r(){(0,_.Z)(this,r),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return(0,F.Z)(r,[{key:"apply",value:function(t){var n=this,i,a=t.renderingService,s=t.renderingContext,o=t.rBushRoot,l=s.root.ownerDocument.defaultView;this.rBush=o;var u=function(H){var V=H.target;V.renderable.dirty=!0,a.dirtify()},h=function(H){n.syncTasks.set(H.target,H.detail.affectChildren),a.dirtify()},p=function(H){var V=H.target;Ht.enableSizeAttenuation&&Ht.styleValueRegistry.updateSizeAttenuation(V,l.getCamera().getZoom())},S=function(H){var V=H.target,Y=V.rBushNode;Y.aabb&&n.rBush.remove(Y.aabb),n.syncTasks.delete(V),Ht.sceneGraphService.dirtifyToRoot(V),a.dirtify()};a.hooks.init.tap(r.tag,function(){l.addEventListener(Kn.MOUNTED,p),l.addEventListener(Kn.UNMOUNTED,S),l.addEventListener(Kn.ATTR_MODIFIED,u),l.addEventListener(Kn.BOUNDS_CHANGED,h)}),a.hooks.destroy.tap(r.tag,function(){l.removeEventListener(Kn.MOUNTED,p),l.removeEventListener(Kn.UNMOUNTED,S),l.removeEventListener(Kn.ATTR_MODIFIED,u),l.removeEventListener(Kn.BOUNDS_CHANGED,h),n.syncTasks.clear()});var N=(i=Ht.globalThis.requestIdleCallback)!==null&&i!==void 0?i:Nv.bind(Ht.globalThis);a.hooks.endFrame.tap(r.tag,function(){n.isFirstTimeRendering?(n.isFirstTimeRendering=!1,n.syncing=!0,N(function(){n.syncRTree(!0),n.isFirstTimeRenderingFinished=!0})):n.syncRTree()})}},{key:"syncNode",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(t.isConnected){var i=t.rBushNode;i.aabb&&this.rBush.remove(i.aabb);var a=t.getRenderBounds();if(a){var s=t.renderable;n&&(s.dirtyRenderBounds||(s.dirtyRenderBounds=new Nr),s.dirtyRenderBounds.update(a.center,a.halfExtents));var o=a.getMin(),l=(0,b.Z)(o,2),u=l[0],h=l[1],p=a.getMax(),S=(0,b.Z)(p,2),N=S[0],U=S[1];i.aabb||(i.aabb={}),i.aabb.displayObject=t,i.aabb.minX=u,i.aabb.minY=h,i.aabb.maxX=N,i.aabb.maxY=U}if(i.aabb&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.maxX)&&!isNaN(i.aabb.minX)&&!isNaN(i.aabb.minY))return i.aabb}}},{key:"syncRTree",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!n&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var i=[],a=new Set,s=function(l){if(!a.has(l)&&l.renderable){var u=t.syncNode(l,n);u&&(i.push(u),a.add(l))}};this.syncTasks.forEach(function(o,l){o&&l.forEach(s);for(var u=l;u;)s(u),u=u.parentElement}),this.rBush.load(i),i.length=0,this.syncing=!1}}}])}();wy.tag="Prepare";function y6(r){return!!r.document}var Oa=function(r){return r.READY="ready",r.BEFORE_RENDER="beforerender",r.RERENDER="rerender",r.AFTER_RENDER="afterrender",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.RESIZE="resize",r.DIRTY_RECTANGLE="dirtyrectangle",r.RENDERER_CHANGED="rendererchanged",r}({}),My=500,sP=.1,oP=1e3,hh=new _i(Kn.MOUNTED),fh=new _i(Kn.UNMOUNTED),jv=new _i(Oa.BEFORE_RENDER),Ay=new _i(Oa.RERENDER),Vv=new _i(Oa.AFTER_RENDER),Zv=function(r){function e(t){var n;(0,_.Z)(this,e),n=(0,x.Z)(this,e),n.Element=Ur,n.inited=!1,n.context={};var i=t.container,a=t.canvas,s=t.renderer,o=t.width,l=t.height,u=t.background,h=t.cursor,p=t.supportsMutipleCanvasesInOneContainer,S=t.cleanUpOnDestroy,N=S===void 0?!0:S,U=t.offscreenCanvas,H=t.devicePixelRatio,V=t.requestAnimationFrame,Y=t.cancelAnimationFrame,q=t.createImage,ne=t.supportsTouchEvents,le=t.supportsPointerEvents,ue=t.isTouchEvent,fe=t.isMouseEvent,de=t.dblClickSpeed,ve=o,Te=l,Oe=H||Rv&&window.devicePixelRatio||1;return Oe=Oe>=1?Math.ceil(Oe):1,a&&(ve=o||FA(a)||a.width/Oe,Te=l||zA(a)||a.height/Oe),n.customElements=new rP,n.devicePixelRatio=Oe,n.requestAnimationFrame=V!=null?V:Nv.bind(Ht.globalThis),n.cancelAnimationFrame=Y!=null?Y:ly.bind(Ht.globalThis),n.supportsTouchEvents=ne!=null?ne:"ontouchstart"in Ht.globalThis,n.supportsPointerEvents=le!=null?le:!!Ht.globalThis.PointerEvent,n.isTouchEvent=ue!=null?ue:function(Ie){return n.supportsTouchEvents&&Ie instanceof Ht.globalThis.TouchEvent},n.isMouseEvent=fe!=null?fe:function(Ie){return!Ht.globalThis.MouseEvent||Ie instanceof Ht.globalThis.MouseEvent&&(!n.supportsPointerEvents||!(Ie instanceof Ht.globalThis.PointerEvent))},U&&(Ht.offscreenCanvas=U),n.document=new Ey,n.document.defaultView=n,p||IA(i,n,N),n.initRenderingContext((0,G.Z)((0,G.Z)({},t),{},{width:ve,height:Te,background:u!=null?u:"transparent",cursor:h!=null?h:"default",cleanUpOnDestroy:N,devicePixelRatio:Oe,requestAnimationFrame:n.requestAnimationFrame,cancelAnimationFrame:n.cancelAnimationFrame,supportsTouchEvents:n.supportsTouchEvents,supportsPointerEvents:n.supportsPointerEvents,isTouchEvent:n.isTouchEvent,isMouseEvent:n.isMouseEvent,dblClickSpeed:de!=null?de:200,createImage:q!=null?q:function(){return new window.Image}})),n.initDefaultCamera(ve,Te,s.clipSpaceNearZ),n.initRenderer(s,!0),n}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"initRenderingContext",value:function(n){this.context.config=n,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(n,i,a){var s=this,o=new Ht.CameraContribution;o.clipSpaceNearZ=a,o.setType(Pr.EXPLORING,vv.DEFAULT).setPosition(n/2,i/2,My).setFocalPoint(n/2,i/2,0).setOrthographic(n/-2,n/2,i/2,i/-2,sP,oP),o.canvas=this,o.eventEmitter.on(vm.UPDATED,function(){s.context.renderingContext.renderReasons.add(Vl.CAMERA_CHANGED),Ht.enableSizeAttenuation&&s.getConfig().renderer.getConfig().enableSizeAttenuation&&s.updateSizeAttenuation()}),this.context.camera=o}},{key:"updateSizeAttenuation",value:function(){var n=this.getCamera().getZoom();this.document.documentElement.forEach(function(i){Ht.styleValueRegistry.updateSizeAttenuation(i,n)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var n=this;return this.readyPromise||(this.readyPromise=new Promise(function(i){n.resolveReadyPromise=function(){i(n)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,i=arguments.length>1?arguments[1]:void 0;yi.clearCache(),i||this.dispatchEvent(new _i(Oa.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var a=this.getRoot();n&&(this.unmountChildren(a),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),i||this.dispatchEvent(new _i(Oa.AFTER_DESTROY));var s=function(l){l.currentTarget=null,l.manager=null,l.target=null,l.relatedNode=null};s(hh),s(fh),s(jv),s(Ay),s(Vv),s(Rs),s(Wv),s(Hv),s(_y)}},{key:"changeSize",value:function(n,i){this.resize(n,i)}},{key:"resize",value:function(n,i){var a=this.context.config;a.width=n,a.height=i,this.getContextService().resize(n,i);var s=this.context.camera,o=s.getProjectionMode();s.setPosition(n/2,i/2,My).setFocalPoint(n/2,i/2,0),o===Za.ORTHOGRAPHIC?s.setOrthographic(n/-2,n/2,i/2,i/-2,s.getNear(),s.getFar()):s.setAspect(n/i),this.dispatchEvent(new _i(Oa.RESIZE,{width:n,height:i}))}},{key:"appendChild",value:function(n,i){return this.document.documentElement.appendChild(n,i)}},{key:"insertBefore",value:function(n,i){return this.document.documentElement.insertBefore(n,i)}},{key:"removeChild",value:function(n){return this.document.documentElement.removeChild(n)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(n){var i=this;n&&(jv.detail=n,Vv.detail=n),this.dispatchEvent(jv);var a=this.getRenderingService();a.render(this.getConfig(),n,function(){i.dispatchEvent(Ay)}),this.dispatchEvent(Vv)}},{key:"run",value:function(){var n=this,i=function(s,o){n.render(o),n.frameId=n.requestAnimationFrame(i)};i()}},{key:"initRenderer",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!n)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new Cw,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new by,new wy,new xy([new aP])),this.loadRendererContainerModule(n),this.context.contextService=new this.context.ContextService((0,G.Z)((0,G.Z)({},Ht),this.context)),this.context.renderingService=new ET(Ht,this.context),this.context.eventService=new _T(Ht,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(n,a,!0)):this.context.contextService.initAsync().then(function(){i.initRenderingService(n,a)}).catch(function(s){console.error(s)})}},{key:"initRenderingService",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){i.inited=!0,a?s?i.requestAnimationFrame(function(){i.dispatchEvent(new _i(Oa.READY))}):i.dispatchEvent(new _i(Oa.READY)):i.dispatchEvent(new _i(Oa.RENDERER_CHANGED)),i.readyPromise&&i.resolveReadyPromise(),a||i.getRoot().forEach(function(o){var l=o,u=l.renderable;u&&(u.renderBoundsDirty=!0,u.boundsDirty=!0,u.dirty=!0)}),i.mountChildren(i.getRoot()),n.getConfig().enableAutoRendering&&i.run()})}},{key:"loadRendererContainerModule",value:function(n){var i=this,a=n.getPlugins();a.forEach(function(s){s.context=i.context,s.init(Ht)})}},{key:"setRenderer",value:function(n){var i=this.getConfig();if(i.renderer!==n){var a=i.renderer;i.renderer=n,this.destroy(!1,!0),(0,w.Z)((a==null?void 0:a.getPlugins())||[]).reverse().forEach(function(s){s.destroy(Ht)}),this.initRenderer(n)}}},{key:"setCursor",value:function(n){var i=this.getConfig();i.cursor=n,this.getContextService().applyCursorStyle(n)}},{key:"unmountChildren",value:function(n){var i=this;n.childNodes.forEach(function(a){i.unmountChildren(a)}),this.inited&&(n.isMutationObserved?n.dispatchEvent(fh):(fh.target=n,this.dispatchEvent(fh,!0)),n!==this.document.documentElement&&(n.ownerDocument=null),n.isConnected=!1),n.isCustomElement&&n.disconnectedCallback&&n.disconnectedCallback()}},{key:"mountChildren",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ih(n);this.inited?n.isConnected||(n.ownerDocument=this.document,n.isConnected=!0,a||(n.isMutationObserved?n.dispatchEvent(hh):(hh.target=n,this.dispatchEvent(hh,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",n.nodeName),n.childNodes.forEach(function(s){i.mountChildren(s,a)}),n.isCustomElement&&n.connectedCallback&&n.connectedCallback()}},{key:"mountFragment",value:function(n){this.mountChildren(n,!1)}},{key:"client2Viewport",value:function(n){return this.getEventService().client2Viewport(n)}},{key:"viewport2Client",value:function(n){return this.getEventService().viewport2Client(n)}},{key:"viewport2Canvas",value:function(n){return this.getEventService().viewport2Canvas(n)}},{key:"canvas2Viewport",value:function(n){return this.getEventService().canvas2Viewport(n)}},{key:"getPointByClient",value:function(n,i){return this.client2Viewport({x:n,y:i})}},{key:"getClientByPoint",value:function(n,i){return this.viewport2Client({x:n,y:i})}}])}(dy);var lP=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.landmarks=[],t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"rotate",value:function(n,i,a){if(this.relElevation=Wl(i),this.relAzimuth=Wl(n),this.relRoll=Wl(a),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===Pr.EXPLORING){var s=Ta(Gr(),[1,0,0],Tr((this.rotateWorld?1:-1)*this.relElevation)),o=Ta(Gr(),[0,1,0],Tr((this.rotateWorld?1:-1)*this.relAzimuth)),l=Ta(Gr(),[0,0,1],Tr(this.relRoll)),u=On(Gr(),o,s);u=On(Gr(),u,l);var h=Cn(De(),u);Rt(this.matrix,this.matrix,[0,0,-this.distance]),vt(this.matrix,this.matrix,h),Rt(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===Pr.ORBITING||this.type===Pr.EXPLORING?this._getPosition():this.type===Pr.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(n,i){var a=ia(n,i,0),s=L(this.position);return k(s,s,re(P(),this.right,a[0])),k(s,s,re(P(),this.up,a[1])),this._setPosition(s),this.triggerUpdate(),this}},{key:"dolly",value:function(n){var i=this.forward,a=L(this.position),s=n*this.dollyingStep,o=this.distance+n*this.dollyingStep;return s=Math.max(Math.min(o,this.maxDistance),this.minDistance)-this.distance,a[0]+=s*i[0],a[1]+=s*i[1],a[2]+=s*i[2],this._setPosition(a),this.type===Pr.ORBITING||this.type===Pr.EXPLORING?this._getDistance():this.type===Pr.TRACKING&&k(this.focalPoint,a,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(n){var i,a,s,o,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u=l.position,h=u===void 0?this.position:u,p=l.focalPoint,S=p===void 0?this.focalPoint:p,N=l.roll,U=l.zoom,H=new Ht.CameraContribution;H.setType(this.type,void 0),H.setPosition(h[0],(i=h[1])!==null&&i!==void 0?i:this.position[1],(a=h[2])!==null&&a!==void 0?a:this.position[2]),H.setFocalPoint(S[0],(s=S[1])!==null&&s!==void 0?s:this.focalPoint[1],(o=S[2])!==null&&o!==void 0?o:this.focalPoint[2]),H.setRoll(N!=null?N:this.roll),H.setZoom(U!=null?U:this.zoom);var V={name:n,matrix:Ke(H.getWorldTransform()),right:L(H.right),up:L(H.up),forward:L(H.forward),position:L(H.getPosition()),focalPoint:L(H.getFocalPoint()),distanceVector:L(H.getDistanceVector()),distance:H.getDistance(),dollyingStep:H.getDollyingStep(),azimuth:H.getAzimuth(),elevation:H.getElevation(),roll:H.getRoll(),relAzimuth:H.relAzimuth,relElevation:H.relElevation,relRoll:H.relRoll,zoom:H.getZoom()};return this.landmarks.push(V),V}},{key:"gotoLandmark",value:function(n){var i=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=ur(n)?this.landmarks.find(function(Ie){return Ie.name===n}):n;if(s){var o=un(a)?{duration:a}:a,l=o.easing,u=l===void 0?"linear":l,h=o.duration,p=h===void 0?100:h,S=o.easingFunction,N=S===void 0?void 0:S,U=o.onfinish,H=U===void 0?void 0:U,V=o.onframe,Y=V===void 0?void 0:V,q=.01;this.cancelLandmarkAnimation();var ne=s.position,le=s.focalPoint,ue=s.zoom,fe=s.roll,de=N||Ht.EasingFunction(u),ve,Te=function(){i.setFocalPoint(le),i.setPosition(ne),i.setRoll(fe),i.setZoom(ue),i.computeMatrix(),i.triggerUpdate(),H==null||H()};if(p===0)return Te();var Oe=function(ze){ve===void 0&&(ve=ze);var Xe=ze-ve;if(Xe>=p){Te();return}var et=de(Xe/p),st=P(),bt=P(),_t=1,ct=0;Fe(st,i.focalPoint,le,et),Fe(bt,i.position,ne,et),ct=i.roll*(1-et)+fe*et,_t=i.zoom*(1-et)+ue*et,i.setFocalPoint(st),i.setPosition(bt),i.setRoll(ct),i.setZoom(_t);var ft=Be(st,le)+Be(bt,ne);if(ft<=q&&ue===void 0&&fe===void 0)return Te();i.computeMatrix(),i.triggerUpdate(),Xe<p&&(Y==null||Y(et),i.landmarkAnimationID=i.canvas.requestAnimationFrame(Oe))};this.canvas.requestAnimationFrame(Oe)}}}])}(pm);Ht.CameraContribution=lP;var Ty=null,_6=0,Py=new WeakMap,E6=null,x6=null,dh,Xs;function b6(r,e){return dh=new Ty(r,e)}function w6(r){return Xs||(Xs=Ty.copy(dh),Xs.oldValue=r,Xs)}function M6(){dh=Xs=void 0}function uP(r){return r===Xs||r===dh}function A6(r,e){return r===e?r:Xs&&uP(r)?Xs:null}function cP(r){r.nodes.forEach(function(e){var t=Py.get(e);t&&t.forEach(function(n){n.observer===r&&n.removeTransientObservers()})})}function T6(r,e){for(var t=r;t;t=t.parentNode){var n=Py.get(t);if(n)for(var i=0;i<n.length;i++){var a=n[i],s=a.options;if(!(t!==r&&!s.subtree)){var o=e(s);o&&a.enqueue(o)}}}}var Kv=!1,Xv=null;function P6(r){Xv.push(r),Kv||(Kv=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(Yv):Yv())}function Yv(){Kv=!1;var r=Xv;Xv=[],r.sort(function(t,n){return t.uid-n.uid});var e=!1;r.forEach(function(t){var n=t.takeRecords();cP(t),n.length&&(t.callback(n,t),e=!0)}),e&&Yv()}var Qv=function(r){function e(t,n,i,a){var s;return(0,_.Z)(this,e),s=(0,x.Z)(this,e,[t]),s.currentTime=i,s.timelineTime=a,s.target=n,s.type="finish",s.bubbles=!1,s.currentTarget=n,s.defaultPrevented=!1,s.eventPhase=s.AT_TARGET,s.timeStamp=Date.now(),s.currentTime=i,s.timelineTime=a,s}return(0,y.Z)(e,r),(0,F.Z)(e)}(ah),hP=0,fP=function(){function r(e,t){var n;(0,_.Z)(this,r),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=e,e.animation=this,this.timeline=t,this.id="".concat(hP++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((n=this.effect)===null||n===void 0?void 0:n.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,F.Z)(r,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var t=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(n,i){t.resolveReadyPromise=function(){n(t)},t.rejectReadyPromise=function(){i(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var t=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(n,i){t.resolveFinishedPromise=function(){n(t)},t.rejectFinishedPromise=function(){i(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(t){if(t=Number(t),!isNaN(t)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var n;this._startTime=Number((n=this.timeline)===null||n===void 0?void 0:n.currentTime)-t/this.playbackRate}this.currentTimePending=!1,this._currentTime!==t&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(t,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(t){if(t!==null){if(this.updatePromises(),t=Number(t),isNaN(t)||this._paused||this._idle)return;this._startTime=t,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(t){if(t!==this._playbackRate){this.updatePromises();var n=this.currentTime;this._playbackRate=t,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),n!==null&&(this.currentTime=n),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var t;if((t=this.effect.target)!==null&&t!==void 0&&t.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var n=this.oldPlayState,i=this.pending?"pending":this.playState;return this.readyPromise&&i!==n&&(i==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):n==="pending"?this.resolveReadyPromise():i==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&i!==n&&(i==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):i==="finished"?this.resolveFinishedPromise():n==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=i,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var t=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var n=new Qv(null,this,this.currentTime,null);setTimeout(function(){t.oncancel(n)})}}},{key:"reverse",value:function(){this.updatePromises();var t=this.currentTime;this.playbackRate*=-1,this.play(),t!==null&&(this.currentTime=t),this.updatePromises()}},{key:"updatePlaybackRate",value:function(t){this.playbackRate=t}},{key:"targetAnimations",value:function(){var t,n=(t=this.effect)===null||t===void 0?void 0:t.target;return n.getAnimations()}},{key:"markTarget",value:function(){var t=this.targetAnimations();t.indexOf(this)===-1&&t.push(this)}},{key:"unmarkTarget",value:function(){var t=this.targetAnimations(),n=t.indexOf(this);n!==-1&&t.splice(n,1)}},{key:"tick",value:function(t,n){!this._idle&&!this._paused&&(this._startTime===null?n&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((t-this._startTime)*this.playbackRate)),n&&(this.currentTimePending=!1,this.fireEvents(t))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(Ar)}},{key:"addEventListener",value:function(t,n,i){throw new Error(Ar)}},{key:"removeEventListener",value:function(t,n,i){throw new Error(Ar)}},{key:"dispatchEvent",value:function(t){throw new Error(Ar)}},{key:"commitStyles",value:function(){throw new Error(Ar)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var t;this._inEffect=!!((t=this.effect)!==null&&t!==void 0&&t.update(-1))}else{var n;this._inEffect=!!((n=this.effect)!==null&&n!==void 0&&n.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(t,n){t!==this._currentTime&&(this._currentTime=t,this._isFinished&&!n&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(t){var n=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var i=new Qv(null,this,this.currentTime,t);setTimeout(function(){n.onfinish&&n.onfinish(i)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var a=new Qv(null,this,this.currentTime,t);this.onframe(a)}this._finishedFlag=!1}}}])}(),dP=4,vP=.001,gP=1e-7,pP=10,Gu=11,vh=1/(Gu-1),mP=typeof Float32Array=="function",Sy=function(e,t){return 1-3*t+3*e},Oy=function(e,t){return 3*t-6*e},Dy=function(e){return 3*e},gh=function(e,t,n){return((Sy(t,n)*e+Oy(t,n))*e+Dy(t))*e},Cy=function(e,t,n){return 3*Sy(t,n)*e*e+2*Oy(t,n)*e+Dy(t)},yP=function(e,t,n,i,a){var s,o,l=0;do o=t+(n-t)/2,s=gh(o,i,a)-e,s>0?n=o:t=o;while(Math.abs(s)>gP&&++l<pP);return o},_P=function(e,t,n,i){for(var a=0;a<dP;++a){var s=Cy(t,n,i);if(s===0)return t;var o=gh(t,n,i)-e;t-=o/s}return t},Jv=function(e,t,n,i){if(!(e>=0&&e<=1&&n>=0&&n<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&n===i)return function(l){return l};for(var a=mP?new Float32Array(Gu):new Array(Gu),s=0;s<Gu;++s)a[s]=gh(s*vh,e,n);var o=function(u){for(var h=0,p=1,S=Gu-1;p!==S&&a[p]<=u;++p)h+=vh;--p;var N=(u-a[p])/(a[p+1]-a[p]),U=h+N*vh,H=Cy(U,e,n);return H>=vP?_P(u,U,e,n):H===0?U:yP(u,h,h+vh,e,n)};return function(l){return l===0||l===1?l:gh(o(l),t,i)}},EP=function(e){return e=e.replace(/([A-Z])/g,function(t){return"-".concat(t.toLowerCase())}),e.charAt(0)==="-"?e.substring(1):e},ph=function(e){return Math.pow(e,2)},mh=function(e){return Math.pow(e,3)},yh=function(e){return Math.pow(e,4)},_h=function(e){return Math.pow(e,5)},Eh=function(e){return Math.pow(e,6)},xh=function(e){return 1-Math.cos(e*Math.PI/2)},bh=function(e){return 1-Math.sqrt(1-e*e)},wh=function(e){return e*e*(3*e-2)},Mh=function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)},Ah=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=(0,b.Z)(t,2),i=n[0],a=i===void 0?1:i,s=n[1],o=s===void 0?.5:s,l=Jr(Number(a),1,10),u=Jr(Number(o),.1,2);return e===0||e===1?e:-l*Math.pow(2,10*(e-1))*Math.sin((e-1-u/(Math.PI*2)*Math.asin(1/l))*(Math.PI*2)/u)},ju=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,i=(0,b.Z)(t,4),a=i[0],s=a===void 0?1:a,o=i[1],l=o===void 0?100:o,u=i[2],h=u===void 0?10:u,p=i[3],S=p===void 0?0:p;s=Jr(s,.1,1e3),l=Jr(l,.1,1e3),h=Jr(h,.1,1e3),S=Jr(S,.1,1e3);var N=Math.sqrt(l/s),U=h/(2*Math.sqrt(l*s)),H=U<1?N*Math.sqrt(1-U*U):0,V=1,Y=U<1?(U*N+-S)/H:-S+N,q=n?n*e/1e3:e;return U<1?q=Math.exp(-q*U*N)*(V*Math.cos(H*q)+Y*Math.sin(H*q)):q=(V+Y*q)*Math.exp(-q*N),e===0||e===1?e:1-q},qv=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=t,i=(0,b.Z)(n,2),a=i[0],s=a===void 0?10:a,o=i[1],l=o==="start"?Math.ceil:Math.floor;return l(Jr(e,0,1)*s)/s},Ly=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=(0,b.Z)(t,4),i=n[0],a=n[1],s=n[2],o=n[3];return Jv(i,a,s,o)(e)},Th=Jv(.42,0,1,1),Xa=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return 1-e(1-t,n,i)}},Ya=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?e(t*2,n,i)/2:1-e(t*-2+2,n,i)/2}},Qa=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;return t<.5?(1-e(1-t*2,n,i))/2:(e(t*2-1,n,i)+1)/2}},Ry={steps:qv,"step-start":function(e){return qv(e,[1,"start"])},"step-end":function(e){return qv(e,[1,"end"])},linear:function(e){return e},"cubic-bezier":Ly,ease:function(e){return Ly(e,[.25,.1,.25,1])},in:Th,out:Xa(Th),"in-out":Ya(Th),"out-in":Qa(Th),"in-quad":ph,"out-quad":Xa(ph),"in-out-quad":Ya(ph),"out-in-quad":Qa(ph),"in-cubic":mh,"out-cubic":Xa(mh),"in-out-cubic":Ya(mh),"out-in-cubic":Qa(mh),"in-quart":yh,"out-quart":Xa(yh),"in-out-quart":Ya(yh),"out-in-quart":Qa(yh),"in-quint":_h,"out-quint":Xa(_h),"in-out-quint":Ya(_h),"out-in-quint":Qa(_h),"in-expo":Eh,"out-expo":Xa(Eh),"in-out-expo":Ya(Eh),"out-in-expo":Qa(Eh),"in-sine":xh,"out-sine":Xa(xh),"in-out-sine":Ya(xh),"out-in-sine":Qa(xh),"in-circ":bh,"out-circ":Xa(bh),"in-out-circ":Ya(bh),"out-in-circ":Qa(bh),"in-back":wh,"out-back":Xa(wh),"in-out-back":Ya(wh),"out-in-back":Qa(wh),"in-bounce":Mh,"out-bounce":Xa(Mh),"in-out-bounce":Ya(Mh),"out-in-bounce":Qa(Mh),"in-elastic":Ah,"out-elastic":Xa(Ah),"in-out-elastic":Ya(Ah),"out-in-elastic":Qa(Ah),spring:ju,"spring-in":ju,"spring-out":Xa(ju),"spring-in-out":Ya(ju),"spring-out-in":Qa(ju)},xP=function(e){return EP(e).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},bP=function(e){return Ry[xP(e)]||Ry.linear},wP=function(e){return e},MP=1,AP=.5,Iy=0;function Ny(r,e){return function(t){if(t>=1)return 1;var n=1/r;return t+=e*n,t-t%n}}var Ph="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",TP=new RegExp("cubic-bezier\\(".concat(Ph,",").concat(Ph,",").concat(Ph,",").concat(Ph,"\\)")),PP=/steps\(\s*(\d+)\s*\)/,SP=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function $v(r){var e=TP.exec(r);if(e)return Jv.apply(void 0,(0,w.Z)(e.slice(1).map(Number)));var t=PP.exec(r);if(t)return Ny(Number(t[1]),Iy);var n=SP.exec(r);return n?Ny(Number(n[1]),{start:MP,middle:AP,end:Iy}[n[2]]):bP(r)}function OP(r){return Math.abs(DP(r)/(r.playbackRate||1))}function DP(r){var e;return r.duration===0||r.iterations===0?0:(r.duration==="auto"?0:Number(r.duration))*((e=r.iterations)!==null&&e!==void 0?e:1)}var By=0,eg=1,Sh=2,ky=3;function CP(r,e,t){if(e===null)return By;var n=t.endTime;return e<Math.min(t.delay,n)?eg:e>=Math.min(t.delay+r+t.endDelay,n)?Sh:ky}function LP(r,e,t,n,i){switch(n){case eg:return e==="backwards"||e==="both"?0:null;case ky:return t-i;case Sh:return e==="forwards"||e==="both"?r:null;case By:return null}}function RP(r,e,t,n,i){var a=i;return r===0?e!==eg&&(a+=t):a+=n/r,a}function IP(r,e,t,n,i,a){var s=r===1/0?e%1:r%1;return s===0&&t===Sh&&n!==0&&(i!==0||a===0)&&(s=1),s}function NP(r,e,t,n){return r===Sh&&e===1/0?1/0:t===1?Math.floor(n)-1:Math.floor(n)}function BP(r,e,t){var n=r;if(r!=="normal"&&r!=="reverse"){var i=e;r==="alternate-reverse"&&(i+=1),n="normal",i!==1/0&&i%2!==0&&(n="reverse")}return n==="normal"?t:1-t}function kP(r,e,t){var n=CP(r,e,t),i=LP(r,t.fill,e,n,t.delay);if(i===null)return null;var a=t.duration==="auto"?0:t.duration,s=RP(a,n,t.iterations,i,t.iterationStart),o=IP(s,t.iterationStart,n,t.iterations,i,a),l=NP(n,t.iterations,o,s),u=BP(t.direction,l,o);return t.currentIteration=l,t.progress=u,t.easingFunction(u)}function FP(r,e,t){var n=zP(r,e),i=UP(n,t);return function(a,s){if(s!==null)i.filter(function(l){return s>=l.applyFrom&&s<l.applyTo}).forEach(function(l){var u=s-l.startOffset,h=l.endOffset-l.startOffset,p=h===0?0:u/h;a.setAttribute(l.property,l.interpolation(p),!1,!1)});else for(var o in n)Fy(o)&&a.setAttribute(o,null)}}function Fy(r){return r!=="offset"&&r!=="easing"&&r!=="composite"&&r!=="computedOffset"}function zP(r,e){for(var t={},n=0;n<r.length;n++)for(var i in r[n])if(Fy(i)){var a={offset:r[n].offset,computedOffset:r[n].computedOffset,easing:r[n].easing,easingFunction:$v(r[n].easing)||e.easingFunction,value:r[n][i]};t[i]=t[i]||[],t[i].push(a)}return t}function UP(r,e){var t=[];for(var n in r)for(var i=r[n],a=0;a<i.length-1;a++){var s=a,o=a+1,l=i[s].computedOffset,u=i[o].computedOffset,h=l,p=u;a===0&&(h=-1/0,u===0&&(o=s)),a===i.length-2&&(p=1/0,l===1&&(s=o)),t.push({applyFrom:h,applyTo:p,startOffset:i[s].computedOffset,endOffset:i[o].computedOffset,easingFunction:i[s].easingFunction,property:n,interpolation:WP(n,i[s].value,i[o].value,e)})}return t.sort(function(S,N){return S.startOffset-N.startOffset}),t}var zy=function(e,t,n){return function(i){var a=Uy(e,t,i);return un(a)?a:n(a)}};function WP(r,e,t,n){var i=qm[r];if(i&&i.syntax&&i.int){var a=Ht.styleValueRegistry.getPropertySyntax(i.syntax);if(a){var s=a.parser,o=s?s(e,n):e,l=s?s(t,n):t,u=a.mixer(o,l,n);if(u){var h=zy.apply(void 0,(0,w.Z)(u));return function(p){return p===0?e:p===1?t:h(p)}}}}return zy(!1,!0,function(p){return p?t:e})}function Uy(r,e,t){if(typeof r=="number"&&typeof e=="number")return r*(1-t)+e*t;if(typeof r=="boolean"&&typeof e=="boolean"||typeof r=="string"&&typeof e=="string")return t<.5?r:e;if(Array.isArray(r)&&Array.isArray(e)){for(var n=r.length,i=e.length,a=Math.max(n,i),s=[],o=0;o<a;o++)s.push(Uy(r[o<n?o:n-1],e[o<i?o:i-1],t));return s}throw new Error("Mismatched interpolation arguments ".concat(r,":").concat(e))}var HP=function(){function r(){(0,_.Z)(this,r),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=wP,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return(0,F.Z)(r,[{key:"easing",get:function(){return this._easing},set:function(t){this.easingFunction=$v(t),this._easing=t}}])}();function GP(r){var e=[];for(var t in r)if(!(t in["easing","offset","composite"])){var n=r[t];Array.isArray(n)||(n=[n]);for(var i=n.length,a=0;a<i;a++){if(!e[a]){var s={};"offset"in r&&(s.offset=Number(r.offset)),"easing"in r&&(s.easing=r.easing),"composite"in r&&(s.composite=r.composite),e[a]=s}n[a]!==void 0&&n[a]!==null&&(e[a][t]=n[a])}}return e.sort(function(o,l){return(o.computedOffset||0)-(l.computedOffset||0)}),e}function Wy(r,e){if(r===null)return[];Array.isArray(r)||(r=GP(r));for(var t=r.map(function(l){var u={};e!=null&&e.composite&&(u.composite="auto");for(var h in l){var p=l[h];if(h==="offset"){if(p!==null){if(p=Number(p),!isFinite(p))throw new Error("Keyframe offsets must be numbers.");if(p<0||p>1)throw new Error("Keyframe offsets must be between 0 and 1.");u.computedOffset=p}}else if(h==="composite"&&["replace","add","accumulate","auto"].indexOf(p)===-1)throw new Error("".concat(p," compositing is not supported"));u[h]=p}return u.offset===void 0&&(u.offset=null),u.easing===void 0&&(u.easing=(e==null?void 0:e.easing)||"linear"),u.composite===void 0&&(u.composite="auto"),u}),n=!0,i=-1/0,a=0;a<t.length;a++){var s=t[a].offset;if(Pn(s))n=!1;else{if(s<i)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");i=s}}t=t.filter(function(l){return Number(l.offset)>=0&&Number(l.offset)<=1});function o(){var l,u=t,h=u.length;if(t[h-1].computedOffset=Number((l=t[h-1].offset)!==null&&l!==void 0?l:1),h>1){var p;t[0].computedOffset=Number((p=t[0].offset)!==null&&p!==void 0?p:0)}for(var S=0,N=Number(t[0].computedOffset),U=1;U<h;U++){var H=t[U].computedOffset;if(!Pn(H)&&!Pn(N)){for(var V=1;V<U-S;V++)t[S+V].computedOffset=N+(Number(H)-N)*V/(U-S);S=U,N=Number(H)}}}return n||o(),t}var jP="backwards|forwards|both|none".split("|"),VP="reverse|alternate|alternate-reverse".split("|");function ZP(r,e){var t=new HP;return e&&(t.fill="both",t.duration="auto"),typeof r=="number"&&!isNaN(r)?t.duration=r:r!==void 0&&Object.keys(r).forEach(function(n){if(r[n]!==void 0&&r[n]!==null&&r[n]!=="auto"){if((typeof t[n]=="number"||n==="duration")&&(typeof r[n]!="number"||isNaN(r[n]))||n==="fill"&&jP.indexOf(r[n])===-1||n==="direction"&&VP.indexOf(r[n])===-1)return;t[n]=r[n]}}),t}function KP(r,e){return r=XP(r!=null?r:{duration:"auto"}),ZP(r,e)}function XP(r){return typeof r=="number"&&(isNaN(r)?r={duration:"auto"}:r={duration:r}),r}var YP=function(){function r(e,t,n){var i=this;(0,_.Z)(this,r),this.composite="replace",this.iterationComposite="replace",this.target=e,this.timing=KP(n,!1),this.timing.effect=this,this.timing.activeDuration=OP(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=Wy(t,this.timing),this.interpolations=FP(this.normalizedKeyframes,this.timing,this.target);var a=Ht.globalThis.Proxy;this.computedTiming=a?new a(this.timing,{get:function(o,l){return l==="duration"?o.duration==="auto"?0:o.duration:l==="fill"?o.fill==="auto"?"none":o.fill:l==="localTime"?i.animation&&i.animation.currentTime||null:l==="currentIteration"?!i.animation||i.animation.playState!=="running"?null:o.currentIteration||0:l==="progress"?!i.animation||i.animation.playState!=="running"?null:o.progress||0:o[l]},set:function(){return!0}}):this.timing}return(0,F.Z)(r,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(t){return t===null?!1:(this.timeFraction=kP(this.timing.activeDuration,t,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(t){this.normalizedKeyframes=Wy(t)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(t){var n=this;Object.keys(t||{}).forEach(function(i){n.timing[i]=t[i]})}}])}();function Hy(r,e){return Number(r.id)-Number(e.id)}var QP=function(){function r(e){var t=this;(0,_.Z)(this,r),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(n){t.currentTime=n,t.discardAnimations(),t.animations.length===0?t.timelineTicking=!1:t.requestAnimationFrame(t.webAnimationsNextTick)},this.processRafCallbacks=function(n){var i=t.rafCallbacks;t.rafCallbacks=[],n<Number(t.currentTime)&&(n=Number(t.currentTime)),t.animations.sort(Hy),t.animations=t.tick(n,!0,t.animations)[0],i.forEach(function(a){a[1](n)}),t.applyPendingEffects()},this.document=e}return(0,F.Z)(r,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(t,n,i){var a=new YP(t,n,i),s=new fP(a,this);return this.animations.push(s),this.restartWebAnimationsNextTick(),s.updatePromises(),s.play(),s.updatePromises(),s}},{key:"applyDirtiedAnimation",value:function(t){var n=this;if(!this.inTick){t.markTarget();var i=t.targetAnimations();i.sort(Hy);var a=this.tick(Number(this.currentTime),!1,i.slice())[1];a.forEach(function(s){var o=n.animations.indexOf(s);o!==-1&&n.animations.splice(o,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(t){t==null||t.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(t){return t.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(t){return t.playState!=="finished"&&t.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(t){var n=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([n,t]),n}},{key:"requestAnimationFrame",value:function(t){var n=this;return this.rAF(function(i){n.updateAnimationsPromises(),t(i),n.updateAnimationsPromises()})}},{key:"tick",value:function(t,n,i){var a=this,s,o;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=t,this.ticking=!1;var l=[],u=[],h=[],p=[];return i.forEach(function(S){S.tick(t,n),S._inEffect?(u.push(S.effect),S.markTarget()):(l.push(S.effect),S.unmarkTarget()),S._needsTick&&(a.ticking=!0);var N=S._inEffect||S._needsTick;S._inTimeline=N,N?h.push(S):p.push(S)}),(s=this.pendingEffects).push.apply(s,l),(o=this.pendingEffects).push.apply(o,u),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[h,p]}}])}();Ht.EasingFunction=$v,Ht.AnimationTimeline=QP;var Gy=function(r){return Pn(r)?"":r.toString()},JP=function(r){var e=Gy(r);return e.charAt(0).toUpperCase()+e.substring(1)},Oh=JP,qP=function(r){return typeof r=="object"&&r!==null},tg=qP,$P=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},Vu=$P,ng=function(r,e){if(r===e)return!0;if(!r||!e||ur(r)||ur(e))return!1;if(Vu(r)||Vu(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=ng(r[n],e[n]),!!t);n++);return t}if(tg(r)||tg(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=ng(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},ci=ng;const eS={duration:500},tS={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},S6={CHANGE:"change"};var Vr;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(Vr||(Vr={}));var _a;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(_a||(_a={}));var Ys;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(Ys||(Ys={}));var ll;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(ll||(ll={}));var Lt;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel",r.PINCH="pinch"})(Lt||(Lt={}));var Kl;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(Kl||(Kl={}));var Dh;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(Dh||(Dh={}));var Qt;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(Qt||(Qt={}));var xo;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(xo||(xo={}));var Ja;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})(Ja||(Ja={}));const Cr="combo",Da="tree";var Zu;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(Zu||(Zu={}));const rg={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function Qs(r,e){var t;const n=(t=rg[r])===null||t===void 0?void 0:t[e];if(n)return n}function O6(r){return EXTENSION_REGISTRY[r]}const nS="5.0.48",rS="G6";function Js(r){return`[${rS} v${nS}] ${r}`}const Ea={mute:!1,debug:r=>{!Ea.mute&&console.debug(Js(r))},info:r=>{!Ea.mute&&console.info(Js(r))},warn:r=>{!Ea.mute&&console.warn(Js(r))},error:r=>{!Ea.mute&&console.error(Js(r))}};function jy(r){const{theme:e}=r;if(!e)return{};const t=Qs(Zu.THEME,e);return t||(Ea.warn(`The theme of ${e} is not registered.`),{})}function ig(r,e){if(Array.isArray(r)&&r.length===0)return null;const t=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):e||[];return new Proxy(t,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...s)=>{i[a](...s),n.forEach(o=>{var l;return(l=o[a])===null||l===void 0?void 0:l.call(o,...s)})}:a==="finished"?Promise.all([t.finished,...n.map(s=>s.finished)]):Reflect.get(i,a)},set(i,a,s){return["onframe","onfinish"].includes(a)||n.forEach(o=>{o[a]=s}),Reflect.set(i,a,s)}})}function ag(r){const e=r.reduce((n,i)=>(Object.entries(i).forEach(([a,s])=>{n[a]===void 0?n[a]=[s]:n[a].push(s)}),n),{});Object.entries(e).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>Pn(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&ci(a,i[0])))&&delete e[n]});const t=Object.entries(e).reduce((n,[i,a])=>(a.forEach((s,o)=>{n[o]?n[o][i]=s:n[o]={[i]:s}}),n),[]);return r.length!==0&&t.length===0&&t.push({_:0},{_:0}),t}function Ku(r){switch(r){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function Vy(r,e){const{animation:t}=r;if(t===!1||e===!1)return!1;const n=Object.assign({},eS);return li(t)&&Object.assign(n,t),li(e)&&Object.assign(n,e),n}function iS(r){if(typeof r=="string"){const e=Qs(Zu.ANIMATION,r);return e||(Ea.warn(`The animation of ${r} is not registered.`),[])}return r}function aS(r,e,t,n){var i,a;const{animation:s}=r;if(s===!1||n===!1)return[];const o=(i=r==null?void 0:r[e])===null||i===void 0?void 0:i.animation;if(o===!1)return[];const l=o==null?void 0:o[t];if(l===!1)return[];const u=(a=jy(r)[e])===null||a===void 0?void 0:a.animation,h=(S=[])=>iS(S).map(N=>Object.assign(Object.assign(Object.assign(Object.assign({},tS),li(s)&&s),N),li(n)&&n));if(l)return h(l);if(!u)return[];const p=u[t];return p===!1?[]:h(p)}function Zy(r,e,t,n=[]){if(!n&&r===0&&e===0&&t===0)return null;if(Array.isArray(n)){let a=-1;const s=[];for(let o=0;o<n.length;o++){const l=n[o];if(l[0]==="translate"){if(l[1]===r&&l[2]===e)return null;a=o,s.push(["translate",r,e])}else if(l[0]==="translate3d"){if(l[1]===r&&l[2]===e&&l[3]===t)return null;a=o,s.push(["translate3d",r,e,t!=null?t:0])}else s.push(l)}return a===-1&&s.splice(0,0,un(t)?["translate3d",r,e,t!=null?t:0]:["translate",r,e]),s.length===0?null:s}const i=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return t===0?`translate(${r}, ${e})${i}`:`translate3d(${r}, ${e}, ${t})${i}`}var sS=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const oS=(r,e,t)=>{if(!t.length)return null;const[n,i]=e,a=u=>{var h;if(u){const p=r.getShape(u);if(!p)return null;const S=`get${Oh(u)}Style`,N=((h=r==null?void 0:r[S])===null||h===void 0?void 0:h.bind(r))||(V=>V),U=(N==null?void 0:N(n))||{},H=(N==null?void 0:N(i))||{};return{shape:p,fromStyle:U,toStyle:H}}else return{shape:r,fromStyle:n,toStyle:i}};let s;const o=t.map(u=>{var{fields:h,shape:p,states:S}=u,N=sS(u,["fields","shape","states"]);const U=a(p);if(!U)return null;const{shape:H,fromStyle:V,toStyle:Y}=U,q=[{},{}];if(h.forEach(le=>{var ue,fe;Object.assign(q[0],{[le]:(ue=V[le])!==null&&ue!==void 0?ue:Ku(le)}),Object.assign(q[1],{[le]:(fe=Y[le])!==null&&fe!==void 0?fe:Ku(le)})}),q.some(le=>Object.keys(le).some(ue=>["x","y","z"].includes(ue)))){const{x:le=0,y:ue=0,z:fe,transform:de=""}=H.attributes||{};q.forEach(ve=>{var Te,Oe,Ie;ve.transform=Zy((Te=ve.x)!==null&&Te!==void 0?Te:le,(Oe=ve.y)!==null&&Oe!==void 0?Oe:ue,(Ie=ve.z)!==null&&Ie!==void 0?Ie:fe,de)})}const ne=H.animate(ag(q),N);return p===void 0&&(s=ne),ne}).filter(Boolean),l=s||(o==null?void 0:o[0]);return l?ig(l,o.filter(u=>u!==u)):null},lS=[{fields:["opacity"]}],uS=[{fields:["x","y"]}],Ky=[{fields:["x","y"]}],cS=Ky,Xy=[{fields:["sourceNode","targetNode"]}],hS=Xy,Yy=[{fields:["childrenNode","x","y"]}],fS=Yy,D6=[{fields:["childrenNode","x","y"]}];var dS=Object.prototype.hasOwnProperty;function vS(r,e){if(!e||!va(r))return{};for(var t={},n=yn(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),dS.call(t,i)?t[i].push(s):t[i]=[s]}return t}var Ch=vS,Qy=function(r,e,t){var n,i,a,s,o=0;t||(t={});var l=function(){o=t.leading===!1?0:Date.now(),n=null,s=r.apply(i,a),n||(i=a=null)},u=function(){var h=Date.now();!o&&t.leading===!1&&(o=h);var p=e-(h-o);return i=this,a=arguments,p<=0||p>e?(n&&(clearTimeout(n),n=null),o=h,s=r.apply(i,a),n||(i=a=null)):!n&&t.trailing!==!1&&(n=setTimeout(l,p)),s};return u.cancel=function(){clearTimeout(n),o=0,n=i=a=null},u},sg=function(r){if(typeof r!="object"||r===null)return r;var e;if(va(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=sg(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=sg(r[i]):e[i]=r[i]}return e},Xl=sg;function gS(r){return"source"in r&&"target"in r}function pS(r){return r.length===2}function C6(r){return r.length===3}function Yl(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(e=>typeof e=="number"):!1}function Is(r,e,t){return r>=e&&r<=t}function cs(r=0){if(Array.isArray(r)){const[e=0,t=e,n=e,i=t]=r;return[e,t,n,i]}return[r,r,r,r]}function mS(r=0){const e=cs(r);return e[0]+e[2]}function L6(r=0){const e=cs(r);return e[1]+e[3]}function Ns(r){return r.max[0]-r.min[0]}function Bs(r){return r.max[1]-r.min[1]}function bo(r){return[Ns(r),Bs(r)]}function wo(r,e){const t=Yl(r)?og(r):r.getShape("key").getBounds();return e?Mo(t,e):t}function og(r){const[e,t,n=0]=r,i=new Nr;return i.setMinMax([e,t,n],[e,t,n]),i}function Mo(r,e){const[t,n,i,a]=cs(e),[s,o,l]=r.min,[u,h,p]=r.max,S=new Nr;return S.setMinMax([s-a,o-t,l],[u+n,h+i,p]),S}function Xu(r){if(r.length===0)return new Nr;if(r.length===1)return r[0];const e=new Nr;e.setMinMax(r[0].min,r[0].max);for(let t=1;t<r.length;t++){const n=r[t];e.setMinMax([Math.min(e.min[0],n.min[0]),Math.min(e.min[1],n.min[1]),Math.min(e.min[2],n.min[2])],[Math.max(e.max[0],n.max[0]),Math.max(e.max[1],n.max[1]),Math.max(e.max[2],n.max[2])])}return e}function yS(r,e){const[t,n]=r.min,[i,a]=r.max,[s,o]=e.min,[l,u]=e.max;return t>=s&&i<=l&&n>=o&&a<=u}function hs(r,e){return Is(r[0],e.min[0],e.max[0])&&Is(r[1],e.min[1],e.max[1])}function Jy(r,e,t=!1){const{min:[n,i],max:[a,s]}=e,o=(r[1]===i||r[1]===s)&&(t||Is(r[0],n,a)),l=(r[0]===n||r[0]===a)&&(t||Is(r[1],i,s));return o||l}function _S(r,e){return!hs(r,e)}function Lh(r,e){const{center:t}=e;return r[0]===t[0]&&r[1]===t[1]}function Yu(r,e){const[t,n]=r,[i,a]=e.min,[s,o]=e.max,l=t-i,u=s-t,h=n-a,p=o-n,S=Math.min(l,u,h,p);return S===l?"left":S===u?"right":S===h?"top":S===p?"bottom":"left"}function ul(r,e){const t=Xl(r);if(hs(r,e))switch(Yu(r,e)){case"left":t[0]=e.min[0];break;case"right":t[0]=e.max[0];break;case"top":t[1]=e.min[1];break;case"bottom":t[1]=e.max[1];break}else{const[n,i]=r,[a,s]=e.min,[o,l]=e.max;t[0]=Is(n,a,o)?n:n<a?a:o,t[1]=Is(i,s,l)?i:i<s?s:l}return t}function ES(r,e){const{center:t}=r,[n,i]=bo(r),a=e==="up"||e==="down"?t[0]:e==="right"?t[0]-n/6:t[0]+n/6,s=e==="left"||e==="right"?t[1]:e==="down"?t[1]-i/6:t[1]+i/6;return[a,s]}function xS(r,e){let[t,n]=bo(r);return[t,n]=e==="up"||e==="down"?[t,n]:[n,t],(Math.pow(n,2)-Math.pow(Math.sqrt(Math.pow(t/2,2)+Math.pow(n,2))-t/2,2))/(2*n)}function bS(r){const{min:[e,t],max:[n,i]}=r,a=[e,i],s=[n,i],o=[n,t],l=[e,t];return[[a,s],[s,o],[o,l],[l,a]]}var wS=function(e,t){var n=e.nodes,i=e.edges,a=[],s={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(o,l){s[o.id]=l;var u=[];a.push(u)}),i&&i.forEach(function(o){var l=o.source,u=o.target,h=s[l],p=s[u];!h&&h!==0||!p&&p!==0||(a[h][p]=1,t||(a[p][h]=1))}),a},Rh=wS,MS=function(e,t){return e===t},qy=function(){function r(e,t){t===void 0&&(t=null),this.value=e,this.next=t}return r.prototype.toString=function(e){return e?e(this.value):"".concat(this.value)},r}(),AS=function(){function r(e){e===void 0&&(e=MS),this.head=null,this.tail=null,this.compare=e}return r.prototype.prepend=function(e){var t=new qy(e,this.head);return this.head=t,this.tail||(this.tail=t),this},r.prototype.append=function(e){var t=new qy(e);return this.head?(this.tail.next=t,this.tail=t,this):(this.head=t,this.tail=t,this)},r.prototype.delete=function(e){if(!this.head)return null;for(var t=null;this.head&&this.compare(this.head.value,e);)t=this.head,this.head=this.head.next;var n=this.head;if(n!==null)for(;n.next;)this.compare(n.next.value,e)?(t=n.next,n.next=n.next.next):n=n.next;return this.compare(this.tail.value,e)&&(this.tail=n),t},r.prototype.find=function(e){var t=e.value,n=t===void 0?void 0:t,i=e.callback,a=i===void 0?void 0:i;if(!this.head)return null;for(var s=this.head;s;){if(a&&a(s.value)||n!==void 0&&this.compare(s.value,n))return s;s=s.next}return null},r.prototype.deleteTail=function(){var e=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,e;for(var t=this.head;t.next;)t.next.next?t=t.next:t.next=null;return this.tail=t,e},r.prototype.deleteHead=function(){if(!this.head)return null;var e=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),e},r.prototype.fromArray=function(e){var t=this;return e.forEach(function(n){return t.append(n)}),this},r.prototype.toArray=function(){for(var e=[],t=this.head;t;)e.push(t),t=t.next;return e},r.prototype.reverse=function(){for(var e=this.head,t=null,n=null;e;)n=e.next,e.next=t,t=e,e=n;this.tail=this.head,this.head=t},r.prototype.toString=function(e){return e===void 0&&(e=void 0),this.toArray().map(function(t){return t.toString(e)}).toString()},r}(),$y=AS,TS=function(){function r(){this.linkedList=new $y}return r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},r.prototype.enqueue=function(e){this.linkedList.append(e)},r.prototype.dequeue=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toString=function(e){return this.linkedList.toString(e)},r}(),PS=TS,qa=function(e,t,n){t===void 0&&(t=[]);var i=t.filter(function(l){return l.source===e||l.target===e});if(n==="target"){var a=function(u){return u.source===e};return i.filter(a).map(function(l){return l.target})}if(n==="source"){var s=function(u){return u.target===e};return i.filter(s).map(function(l){return l.source})}var o=function(u){return u.source===e?u.target:u.source};return i.map(o)},SS=function(e,t){return t.filter(function(n){return n.source===e})},Ih=function(e,t){return t.filter(function(n){return n.source===e||n.target===e})},e_=function(e){e===void 0&&(e=0);var t="".concat(Math.random()).split(".")[1].substr(0,5),n="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(e,"-").concat(t).concat(n)};function OS(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next,o=s;return i[o]?!1:(i[o]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}var DS=function(e,t,n,i){i===void 0&&(i=!0);var a=OS(n),s=new PS,o=e.edges,l=o===void 0?[]:o;s.enqueue(t);for(var u="",h=function(){var S=s.dequeue();a.enter({current:S,previous:u}),qa(S,l,i?"target":void 0).forEach(function(N){a.allowTraversal({previous:u,current:S,next:N})&&s.enqueue(N)}),a.leave({current:S,previous:u}),u=S};!s.isEmpty();)h()},CS=DS,LS=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l=[],u=function N(U){l.push(U),o[U.id]=!0;for(var H=qa(U.id,a),V=function(ne){var le=H[ne];if(!o[le]){var ue=n.filter(function(fe){return fe.id===le});ue.length>0&&N(ue[0])}},Y=0;Y<H.length;++Y)V(Y)},h=0;h<n.length;h++){var p=n[h];if(!o[p.id]){u(p);for(var S=[];l.length>0;)S.push(l.pop());s.push(S)}}return s},t_=function(e){for(var t=e.nodes,n=t===void 0?[]:t,i=e.edges,a=i===void 0?[]:i,s=[],o={},l={},u={},h=[],p=0,S=function V(Y){l[Y.id]=p,u[Y.id]=p,p+=1,s.push(Y),o[Y.id]=!0;for(var q=qa(Y.id,a,"target").filter(function(de){return n.map(function(ve){return ve.id}).indexOf(de)>-1}),ne=function(ve){var Te=q[ve];if(!l[Te]&&l[Te]!==0){var Oe=n.filter(function(Ie){return Ie.id===Te});Oe.length>0&&V(Oe[0]),u[Y.id]=Math.min(u[Y.id],u[Te])}else o[Te]&&(u[Y.id]=Math.min(u[Y.id],l[Te]))},le=0;le<q.length;le++)ne(le);if(u[Y.id]===l[Y.id]){for(var ue=[];s.length>0;){var fe=s.pop();if(o[fe.id]=!1,ue.push(fe),fe===Y)break}ue.length>0&&h.push(ue)}},N=0,U=n;N<U.length;N++){var H=U[N];!l[H.id]&&l[H.id]!==0&&S(H)}return h};function n_(r,e){return e?t_(r):LS(r)}var Qu=function(e){var t={},n=e.nodes,i=n===void 0?[]:n,a=e.edges,s=a===void 0?[]:a;return i.forEach(function(o){t[o.id]={degree:0,inDegree:0,outDegree:0}}),s.forEach(function(o){t[o.source].degree++,t[o.source].outDegree++,t[o.target].degree++,t[o.target].inDegree++}),t},lg=Qu,RS=function(e,t){var n=Qu(e);return n[t]?Qu(e)[t].inDegree:0},IS=function(e,t){var n=Qu(e);return n[t]?Qu(e)[t].outDegree:0};function NS(r){r===void 0&&(r={});var e=r,t=function(){},n=function(){var i={};return function(a){var s=a.next;return i[s]?!1:(i[s]=!0,!0)}}();return e.allowTraversal=r.allowTraversal||n,e.enter=r.enter||t,e.leave=r.leave||t,e}function r_(r,e,t,n,i){i===void 0&&(i=!0),n.enter({current:e,previous:t});var a=r.edges,s=a===void 0?[]:a;qa(e,s,i?"target":void 0).forEach(function(o){n.allowTraversal({previous:t,current:e,next:o})&&r_(r,o,e,n,i)}),n.leave({current:e,previous:t})}function i_(r,e,t,n){n===void 0&&(n=!0),r_(r,e,"",NS(t),n)}var BS=function(e){var t=null,n=e.nodes,i=n===void 0?[]:n,a={},s={},o={},l={};i.forEach(function(p){s[p.id]=p});for(var u={enter:function(S){var N=S.current,U=S.previous;if(o[N]){t={};for(var H=N,V=U;V!==N;)t[H]=V,H=V,V=a[V];t[H]=V}else o[N]=N,delete s[N],a[N]=U},leave:function(S){var N=S.current;l[N]=N,delete o[N]},allowTraversal:function(S){var N=S.next;return t?!1:!l[N]}};Object.keys(s).length;){var h=Object.keys(s)[0];i_(e,h,u)}return t},a_=function(e,t,n){var i,a;n===void 0&&(n=!0);for(var s=[],o=n_(e,!1),l=0,u=o;l<u.length;l++){var h=u[l];if(h.length)for(var p=h[0],S=p.id,N=[p],U=(i={},i[S]=p,i),H=(a={},a[S]=new Set,a);N.length>0;)for(var V=N.pop(),Y=V.id,q=qa(Y,e.edges),ne=function(fe){var de,ve=q[fe],Te=e.nodes.find(function(st){return st.id===ve});if(ve===Y)s.push((de={},de[ve]=V,de));else if(!(ve in H))U[ve]=V,N.push(Te),H[ve]=new Set([V]);else if(!H[Y].has(Te)){for(var Oe=!0,Ie=[Te,V],ze=U[Y];H[ve].size&&!H[ve].has(ze)&&(Ie.push(ze),ze!==U[ze.id]);)ze=U[ze.id];if(Ie.push(ze),t&&n?(Oe=!1,Ie.findIndex(function(st){return t.indexOf(st.id)>-1})>-1&&(Oe=!0)):t&&!n&&Ie.findIndex(function(st){return t.indexOf(st.id)>-1})>-1&&(Oe=!1),Oe){for(var Xe={},et=1;et<Ie.length;et+=1)Xe[Ie[et-1].id]=Ie[et];Ie.length&&(Xe[Ie[Ie.length-1].id]=Ie[0]),s.push(Xe)}H[ve].add(V)}},le=0;le<q.length;le+=1)ne(le)}return s},s_=function(e,t,n){n===void 0&&(n=!0);for(var i=[],a=new Set,s=[],o=[],l={},u={},h=function(ze){for(var Xe=[ze];Xe.length>0;){var et=Xe.pop();a.has(et)&&(a.delete(et),s[et.id].forEach(function(st){Xe.push(st)}),s[et.id].clear())}},p=function Ie(ze,Xe,et){var st=!1;if(t&&n===!1&&t.indexOf(ze.id)>-1)return st;i.push(ze),a.add(ze);for(var bt=et[ze.id],_t=0;_t<bt.length;_t+=1){var ct=l[bt[_t]];if(ct===Xe){for(var ft={},At=1;At<i.length;At+=1)ft[i[At-1].id]=i[At];i.length&&(ft[i[i.length-1].id]=i[0]),o.push(ft),st=!0}else a.has(ct)||Ie(ct,Xe,et)&&(st=!0)}if(st)h(ze);else for(var _t=0;_t<bt.length;_t+=1){var ct=l[bt[_t]];s[ct.id].has(ze)||s[ct.id].add(ze)}return i.pop(),st},S=e.nodes,N=S===void 0?[]:S,U=0;U<N.length;U+=1){var H=N[U],V=H.id;u[V]=U,l[U]=H}if(t&&n)for(var Y=function(ze){var Xe=t[ze];u[N[ze].id]=u[Xe],u[Xe]=0,l[0]=N.find(function(et){return et.id===Xe}),l[u[N[ze].id]]=N[ze]},U=0;U<t.length;U++)Y(U);for(var q=function(ze){for(var Xe,et,st=1/0,bt=0;bt<ze.length;bt+=1)for(var _t=ze[bt],ct=0;ct<_t.length;ct++){var ft=u[_t[ct].id];ft<st&&(st=ft,et=bt)}for(var At=ze[et],Ft=[],bt=0;bt<At.length;bt+=1){var Vt=At[bt];Ft[Vt.id]=[];for(var nn=0,hn=qa(Vt.id,e.edges,"target").filter(function(Dn){return At.map(function(kn){return kn.id}).indexOf(Dn)>-1});nn<hn.length;nn++){var rn=hn[nn];rn===Vt.id&&!(n===!1&&t.indexOf(Vt.id)>-1)?o.push((Xe={},Xe[Vt.id]=Vt,Xe)):Ft[Vt.id].push(u[rn])}}return{component:At,adjList:Ft,minIdx:st}},ne=0;ne<N.length;){var le=N.filter(function(Ie){return u[Ie.id]>=ne}),ue=t_({nodes:le,edges:e.edges}).filter(function(Ie){return Ie.length>1});if(ue.length===0)break;var fe=q(ue),de=fe.minIdx,ve=fe.adjList,Te=fe.component;if(Te.length>1){Te.forEach(function(Ie){s[Ie.id]=new Set});var Oe=l[de];if(t&&n&&t.indexOf(Oe.id)===-1)return o;p(Oe,Oe,ve),ne=de+1}else break}return o},kS=function(e,t,n,i){return i===void 0&&(i=!0),t?s_(e,n,i):a_(e,n,i)},o_=BS,FS={}.toString,zS=function(r,e){return FS.call(r)==="[object "+e+"]"},Nh=zS,ug=function(r){return Nh(r,"Function")},cg=function(r){return Array.isArray?Array.isArray(r):Nh(r,"Array")},US=function(r){var e=typeof r;return r!==null&&e==="object"||e==="function"};function WS(r,e){if(r){var t;if(cg(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(US(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var l_=WS,R6=Object.keys?function(r){return Object.keys(r)}:function(r){var e=[];return l_(r,function(t,n){ug(r)&&n==="prototype"||e.push(n)}),e},I6=null;function N6(r,e){var t=keys(e),n=t.length;if(isNil(r))return!n;for(var i=0;i<n;i+=1){var a=t[i];if(e[a]!==r[a]||!(a in r))return!1}return!0}var B6=null,k6=function(r){if(!isObjectLike(r)||!isType(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},F6=null;function z6(r,e){if(!isArray(r))return null;var t;if(isFunction(e)&&(t=e),isPlainObject(e)&&(t=function(i){return isMatch(i,e)}),t){for(var n=0;n<r.length;n+=1)if(t(r[n]))return r[n]}return null}var U6=null,W6=function(r,e){for(var t=null,n=0;n<r.length;n++){var i=r[n],a=i[e];if(!isNil(a)){isArray(a)?t=a[0]:t=a;break}}return t},H6=null,G6=function(r){if(!isArray(r))return[];for(var e=[],t=0;t<r.length;t++)e=e.concat(r[t]);return e},j6=null,HS=function(r,e){if(e===void 0&&(e=[]),!isArray(r))e.push(r);else for(var t=0;t<r.length;t+=1)HS(r[t],e);return e},V6=null,Z6=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.max(e,t)},r[0])},K6=function(r){if(isArray(r))return r.reduce(function(e,t){return Math.min(e,t)},r[0])},X6=function(r){var e=r.filter(function(s){return!isNaN(s)});if(!e.length)return{min:0,max:0};if(isArray(r[0])){for(var t=[],n=0;n<r.length;n++)t=t.concat(r[n]);e=t}var i=getMax(e),a=getMin(e);return{min:a,max:i}},Y6=null,u_=Array.prototype,GS=u_.splice,jS=u_.indexOf,Q6=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n++)for(var i=e[n],a=-1;(a=jS.call(r,i))>-1;)GS.call(r,a,1);return r},J6=null,VS=Array.prototype.splice,q6=function(e,t){if(!isArrayLike(e))return[];for(var n=e?t.length:0,i=n-1;n--;){var a=void 0,s=t[n];(n===i||s!==a)&&(a=s,VS.call(e,s,1))}return e},$6=null,ez=function(r,e,t){if(!isArray(r)&&!isPlainObject(r))return r;var n=t;return each(r,function(i,a){n=e(n,i,a)}),n},tz=null,nz=function(r,e){var t=[];if(!isArrayLike(r))return t;for(var n=-1,i=[],a=r.length;++n<a;){var s=r[n];e(s,n,r)&&(t.push(s),i.push(n))}return pullAt(r,i),t},rz=null,hg=function(r){return Nh(r,"String")};function iz(r,e){var t;if(isFunction(e))t=function(i,a){return e(i)-e(a)};else{var n=[];isString(e)?n.push(e):isArray(e)&&(n=e),t=function(i,a){for(var s=0;s<n.length;s+=1){var o=n[s];if(i[o]>a[o])return 1;if(i[o]<a[o])return-1}return 0}}return r.sort(t),r}var az=null;function fg(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var sz=function(r,e){for(var t=[],n={},i=0;i<r.length;i++){var a=r[i],s=a[e];if(!isNil(s)){isArray(s)||(s=[s]);for(var o=0;o<s.length;o++){var l=s[o];n[l]||(t.push(l),n[l]=!0)}}}return t};function oz(r,e){return isArray(r)||isString(r)?r[0]===e:!1}var lz=null;function uz(r,e){return isArray(r)||isString(r)?r[r.length-1]===e:!1}var cz=null,ZS=Object.prototype.hasOwnProperty;function hz(r,e){if(!e||!isArray(r))return{};for(var t={},n=isFunction(e)?e:function(o){return o[e]},i,a=0;a<r.length;a++){var s=r[a];i=n(s),ZS.call(t,i)?t[i].push(s):t[i]=[s]}return t}var fz=null;function dz(r,e){if(!e)return{0:r};if(!isFunction(e)){var t=isArray(e)?e:e.replace(/\s+/g,"").split("*");e=function(n){for(var i="_",a=0,s=t.length;a<s;a++)i+=n[t[a]]&&n[t[a]].toString();return i}}return groupBy(r,e)}var vz=function(r,e){if(!e)return[r];var t=groupToMap(r,e),n=[];for(var i in t)n.push(t[i]);return n},c_={};function gz(r){var e=c_[r];if(!e){for(var t=r.toString(16),n=t.length;n<6;n++)t="0"+t;e="#"+t,c_[r]=e}return e}var pz=null;function mz(r){var e=0,t=0,n=0,i=0;return isArray(r)?r.length===1?e=t=n=i=r[0]:r.length===2?(e=n=r[0],t=i=r[1]):r.length===3?(e=r[0],t=i=r[1],n=r[2]):(e=r[0],t=r[1],n=r[2],i=r[3]):e=t=n=i=r,{r1:e,r2:t,r3:n,r4:i}}var yz=null,KS=function(r){return Nh(r,"Number")},XS=KS,_z=function(r){return isNumber(r)&&r%1!==0},Ez=null,xz=function(r){return isNumber(r)&&r%2===0},bz=null,wz=Number.isInteger?Number.isInteger:function(r){return XS(r)&&r%1===0},Mz=null,Az=function(r){return isNumber(r)&&r<0},Tz=null,Pz=function(r){return isNumber(r)&&r%2!==0},Sz=null,Oz=function(r){return isNumber(r)&&r>0},Dz=null,Cz=function(r,e){if(isArray(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}},Lz=function(r,e){if(isArray(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=isFunction(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},YS=180/Math.PI,Rz=function(r){return YS*r},Iz=null,QS=Math.PI/180,Nz=function(r){return QS*r},Bz=null,kz=null,JS=Object.values?function(r){return Object.values(r)}:function(r){var e=[];return l_(r,function(t,n){ug(r)&&n==="prototype"||e.push(t)}),e},qS=JS,Fz=function(r,e){return contains(values(r),e)},$S={}.toString,zz=function(r){return $S.call(r).replace(/^\[object /,"").replace(/]$/,"")},Uz=null,Wz=function(r){return isType(r,"Arguments")},Hz=null,Gz=function(r){return isType(r,"Boolean")},jz=null,Vz=function(r){return isType(r,"Date")},Zz=null,Kz=function(r){return isType(r,"Error")},Xz=null;function Yz(r){return isNumber(r)&&isFinite(r)}var eO=Object.prototype,Qz=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||eO;return r===t},Jz=null,qz=function(r){return isType(r,"RegExp")},$z=null,eU=function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=r[0],n=1;n<r.length;n++){var i=r[n];isFunction(i)&&(i=i.prototype),mix(t.prototype,i)}},tU=null,dg=function(r){if(typeof r!="object"||r===null)return r;var e;if(cg(r)){e=[];for(var t=0,n=r.length;t<n;t++)typeof r[t]=="object"&&r[t]!=null?e[t]=dg(r[t]):e[t]=r[t]}else{e={};for(var i in r)typeof r[i]=="object"&&r[i]!=null?e[i]=dg(r[i]):e[i]=r[i]}return e},Ju=dg,tO=function(r,e){if(!ug(r))throw new TypeError("Expected a function");var t=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var a=e?e.apply(this,n):n[0],s=t.cache;if(s.has(a))return s.get(a);var o=r.apply(this,n);return s.set(a,o),o};return t.cache=new Map,t},nO=5;function h_(r,e,t,n){t=t||0,n=n||nO;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];a!==null&&isPlainObject(a)?(isPlainObject(r[i])||(r[i]={}),t<n?h_(r[i],a,t+1,n):r[i]=e[i]):isArray(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var nU=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)h_(r,e[n]);return r},rU=null,iU=function(r,e,t,n){isFunction(e)||(t=e,e=r,r=function(){});var i=Object.create?function(s,o){return Object.create(s,{constructor:{value:o}})}:function(s,o){function l(){}l.prototype=s;var u=new l;return u.constructor=o,u},a=i(e.prototype,r);return r.prototype=mix(a,r.prototype),r.superclass=i(e.prototype,e),mix(a,t),mix(r,n),r},aU=null,rO=Object.prototype.hasOwnProperty;function sU(r){if(isNil(r))return!0;if(isArrayLike(r))return!r.length;var e=getType(r);if(e==="Map"||e==="Set")return!r.size;if(isPrototype(r))return!Object.keys(r).length;for(var t in r)if(rO.call(r,t))return!1;return!0}var oU=null,iO=function(r){return typeof r=="object"&&r!==null},f_=iO,aO=function(r){return r!==null&&typeof r!="function"&&isFinite(r.length)},d_=aO,vg=function(r,e){if(r===e)return!0;if(!r||!e||hg(r)||hg(e))return!1;if(d_(r)||d_(e)){if(r.length!==e.length)return!1;for(var t=!0,n=0;n<r.length&&(t=vg(r[n],e[n]),!!t);n++);return t}if(f_(r)||f_(e)){var i=Object.keys(r),a=Object.keys(e);if(i.length!==a.length)return!1;for(var t=!0,n=0;n<i.length&&(t=vg(r[i[n]],e[i[n]]),!!t);n++);return t}return!1},sO=vg,lU=function(r,e,t){return isFunction(t)?!!t(r,e):isEqual(r,e)},uU=function(r,e,t){for(var n=0,i=isString(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},cU=function(r,e,t){var n=r,i=isString(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(isObject(n[a])||(n[a]=isNumber(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},oO=Object.prototype.hasOwnProperty,hU=function(r,e){if(r===null||!isPlainObject(r))return{};var t={};return each(e,function(n){oO.call(r,n)&&(t[n]=r[n])}),t},fU=function(r,e){return reduce(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})},Bh={},dU=function(r){return r=r||"g",Bh[r]?Bh[r]+=1:Bh[r]=1,r+Bh[r]},kh,vU=tO(function(r,e){e===void 0&&(e={});var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return kh||(kh=document.createElement("canvas").getContext("2d")),kh.font=[a,s,i,t+"px",n].join(" "),kh.measureText(hg(r)?r:"").width},function(r,e){return e===void 0&&(e={}),(0,xe.pr)([r],qS(e)).join("")}),gU=function(r,e,t,n){n===void 0&&(n="...");var i=16,a=measureTextWidth(n,t),s=isString(r)?r:toString(r),o=e,l=[],u,h;if(measureTextWidth(r,t)<=e)return r;for(;u=s.substr(0,i),h=measureTextWidth(u,t),!(h+a>o&&h>o);)if(l.push(u),o-=h,s=s.substr(i),!s)return l.join("");for(;u=s.substr(0,1),h=measureTextWidth(u,t),!(h+a>o);)if(l.push(u),o-=h,s=s.substr(1),!s)return l.join("");return""+l.join("")+n},pU=function(){function r(){this.map={}}return r.prototype.has=function(e){return this.map[e]!==void 0},r.prototype.get=function(e,t){var n=this.map[e];return n===void 0?t:n},r.prototype.set=function(e,t){this.map[e]=t},r.prototype.clear=function(){this.map={}},r.prototype.delete=function(e){delete this.map[e]},r.prototype.size=function(){return Object.keys(this.map).length},r}(),mU=null,lO=function(e,t,n){for(var i=1/0,a,s=0;s<t.length;s++){var o=t[s].id;!n[o]&&e[o]<=i&&(i=e[o],a=t[s])}return a},uO=function(e,t,n,i){var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,u=[],h={},p={},S={};s.forEach(function(ne,le){var ue=ne.id;u.push(ue),p[ue]=1/0,ue===t&&(p[ue]=0)});for(var N=s.length,U=function(le){var ue=lO(p,s,h),fe=ue.id;if(h[fe]=!0,p[fe]===1/0)return"continue";var de=[];n?de=SS(fe,l):de=Ih(fe,l),de.forEach(function(ve){var Te=ve.target,Oe=ve.source,Ie=Te===fe?Oe:Te,ze=i&&ve[i]?ve[i]:1;p[Ie]>p[ue.id]+ze?(p[Ie]=p[ue.id]+ze,S[Ie]=[ue.id]):p[Ie]===p[ue.id]+ze&&S[Ie].push(ue.id)})},H=0;H<N;H++)U(H);S[t]=[t];var V={};for(var Y in p)p[Y]!==1/0&&v_(t,Y,S,V);var q={};for(var Y in V)q[Y]=V[Y][0];return{length:p,path:q,allPath:V}},Fh=uO;function v_(r,e,t,n){if(r===e)return[r];if(n[e])return n[e];for(var i=[],a=0,s=t[e];a<s.length;a++){var o=s[a],l=v_(r,o,t,n);if(!l)return;for(var u=0,h=l;u<h.length;u++){var p=h[u];cg(p)?i.push((0,xe.ev)((0,xe.ev)([],p,!0),[e],!1)):i.push([p,e])}}return n[e]=i,n[e]}var gg=function(e,t,n,i,a){var s=Fh(e,t,i,a),o=s.length,l=s.path,u=s.allPath;return{length:o[n],path:l[n],allPath:u[n]}},cO=function(e,t,n,i){var a;if(t===n)return[[t]];var s=e.edges,o=s===void 0?[]:s,l=[t],u=(a={},a[t]=!0,a),h=[],p=[],S=i?qa(t,o,"target"):qa(t,o);for(h.push(S);l.length>0&&h.length>0;){var N=h[h.length-1];if(N.length){var U=N.shift();U&&(l.push(U),u[U]=!0,S=i?qa(U,o,"target"):qa(U,o),h.push(S.filter(function(Y){return!u[Y]})))}else{var H=l.pop();u[H]=!1,h.pop();continue}if(l[l.length-1]===n){var V=l.map(function(q){return q});p.push(V);var H=l.pop();u[H]=!1,h.pop()}}return p},hO=function(e,t){for(var n=Rh(e,t),i=[],a=n.length,s=0;s<a;s+=1){i[s]=[];for(var o=0;o<a;o+=1)s===o?i[s][o]=0:n[s][o]===0||!n[s][o]?i[s][o]=1/0:i[s][o]=n[s][o]}for(var l=0;l<a;l+=1)for(var s=0;s<a;s+=1)for(var o=0;o<a;o+=1)i[s][o]>i[s][l]+i[l][o]&&(i[s][o]=i[s][l]+i[l][o]);return i},pg=hO,fO=function(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e3);var a=e.nodes,s=a===void 0?[]:a,o=e.edges,l=o===void 0?[]:o,u={},h={};s.forEach(function(le,ue){var fe=e_();le.clusterId=fe,u[fe]={id:fe,nodes:[le]},h[le.id]={node:le,idx:ue}});var p=Rh(e,t),S=[],N={};p.forEach(function(le,ue){var fe=0,de=s[ue].id;N[de]={},le.forEach(function(ve,Te){if(ve){fe+=ve;var Oe=s[Te].id;N[de][Oe]=ve}}),S.push(fe)});for(var U=0,H=function(){var ue=!1;if(s.forEach(function(fe){var de={};Object.keys(N[fe.id]).forEach(function(st){var bt=N[fe.id][st],_t=h[st].node,ct=_t.clusterId;de[ct]||(de[ct]=0),de[ct]+=bt});var ve=-1/0,Te=[];if(Object.keys(de).forEach(function(st){ve<de[st]?(ve=de[st],Te=[st]):ve===de[st]&&Te.push(st)}),!(Te.length===1&&Te[0]===fe.clusterId)){var Oe=Te.indexOf(fe.clusterId);if(Oe>=0&&Te.splice(Oe,1),Te&&Te.length){ue=!0;var Ie=u[fe.clusterId],ze=Ie.nodes.indexOf(fe);Ie.nodes.splice(ze,1);var Xe=Math.floor(Math.random()*Te.length),et=u[Te[Xe]];et.nodes.push(fe),fe.clusterId=et.id}}}),!ue)return"break";U++};U<i;){var V=H();if(V==="break")break}Object.keys(u).forEach(function(le){var ue=u[le];(!ue.nodes||!ue.nodes.length)&&delete u[le]});var Y=[],q={};l.forEach(function(le){var ue=le.source,fe=le.target,de=le[n]||1,ve=h[ue].node.clusterId,Te=h[fe].node.clusterId,Oe="".concat(ve,"---").concat(Te);if(q[Oe])q[Oe].weight+=de,q[Oe].count++;else{var Ie={source:ve,target:Te,weight:de,count:1};q[Oe]=Ie,Y.push(Ie)}});var ne=[];return Object.keys(u).forEach(function(le){ne.push(u[le])}),{clusters:ne,clusterEdges:Y}},dO=fO,vO=function(){function r(e){this.arr=e}return r.prototype.getArr=function(){return this.arr||[]},r.prototype.add=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]+n[a];return new r(i)}},r.prototype.subtract=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length))return new r(n);if(!(n!=null&&n.length))return new r(this.arr);if(this.arr.length===n.length){var i=[];for(var a in this.arr)i[a]=this.arr[a]-n[a];return new r(i)}},r.prototype.avg=function(e){var t=[];if(e!==0)for(var n in this.arr)t[n]=this.arr[n]/e;return new r(t)},r.prototype.negate=function(){var e=[];for(var t in this.arr)e[t]=-this.arr[t];return new r(e)},r.prototype.squareEuclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return i}},r.prototype.euclideanDistance=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=Math.pow(this.arr[a]-e.arr[a],2);return Math.sqrt(i)}else console.error("The two vectors are unequal in length.")},r.prototype.normalize=function(){var e=[],t=Ju(this.arr);t.sort(function(s,o){return s-o});var n=t[t.length-1],i=t[0];for(var a in this.arr)e[a]=(this.arr[a]-i)/(n-i);return new r(e)},r.prototype.norm2=function(){var e;if(!(!((e=this.arr)===null||e===void 0)&&e.length))return 0;var t=0;for(var n in this.arr)t+=Math.pow(this.arr[n],2);return Math.sqrt(t)},r.prototype.dot=function(e){var t,n=e.arr;if(!(!((t=this.arr)===null||t===void 0)&&t.length)||!(n!=null&&n.length))return 0;if(this.arr.length===n.length){var i=0;for(var a in this.arr)i+=this.arr[a]*e.arr[a];return i}else console.error("The two vectors are unequal in length.")},r.prototype.equal=function(e){var t,n=e.arr;if(((t=this.arr)===null||t===void 0?void 0:t.length)!==(n==null?void 0:n.length))return!1;for(var i in this.arr)if(this.arr[i]!==n[i])return!1;return!0},r}(),$a=vO,gO=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,pO=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,g_=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=100);var n={};e.forEach(function(a){a.properties&&Object.keys(a.properties).forEach(function(s){if(s==="id"||!"".concat(a.properties[s]).match(gO)&&!"".concat(a.properties[s]).match(pO)&&isNaN(Number(a.properties[s]))){n.hasOwnProperty(s)&&delete n[s];return}n.hasOwnProperty(s)?n[s]+=1:n[s]=1})});var i=Object.keys(n).sort(function(a,s){return n[s]-n[a]});return i.length<t?i:i.slice(0,t)},mO=function(e,t){return t.map(function(n){return e.hasOwnProperty(n)?e[n]:0})},yO=function(e){for(var t=g_(e),n=[],i=0;i<e.length;i++)n[i]=mO(e[i].properties,t);return n},zh=function(e,t){t===void 0&&(t=void 0);var n=[];return e.forEach(function(i){t===void 0&&n.push(i),i[t]!==void 0&&n.push(i[t])}),n},yU={getAllSortProperties:g_,getPropertyWeight:yO,getAllProperties:zh},fs;(function(r){r.EuclideanDistance="euclideanDistance"})(fs||(fs={}));var p_=function(e,t,n){var i=[];t!=null&&t.length?i=t:(e.forEach(function(s){i=i.concat(Object.keys(s))}),i=fg(i));var a={};return i.forEach(function(s){var o=[];e.forEach(function(l){l[s]!==void 0&&l[s]!==""&&o.push(l[s])}),o.length&&!(n!=null&&n.includes(s))&&(a[s]=fg(o))}),a},Uh=function(e,t,n){var i=p_(e,t,n),a=[];if(!Object.keys(i).length)return a;var s=Object.values(i),o=s.every(function(l){return l.every(function(u){return typeof u=="number"})});return e.forEach(function(l,u){var h=[];Object.keys(i).forEach(function(p){var S=l[p],N=i[p],U=N.findIndex(function(Y){return S===Y}),H=[];if(o)H.push(S);else for(var V=0;V<N.length;V++)V===U?H.push(1):H.push(0);h=h.concat(H)}),a[u]=h}),a},mg=function(e,t,n,i){n===void 0&&(n=fs.EuclideanDistance);var a=0;switch(n){case fs.EuclideanDistance:a=new $a(e).euclideanDistance(new $a(t));break;default:break}return a},_U={getAllKeyValueMap:p_,oneHot:Uh,getDistance:mg},m_=function(e,t,n,i){for(var a=t.length,s=2*i,o=0,l=0;l<a;l++)for(var u=e[l].clusterId,h=0;h<a;h++){var p=e[h].clusterId;if(u===p){var S=t[l][h]||0,N=n[l]||0,U=n[h]||0;o+=S-N*U/s}}return o*=1/s,o},yg=function(e,t){e===void 0&&(e=[]);for(var n=e.length,i=new $a([]),a=0;a<n;a++)i=i.add(new $a(t[a]));var s=i.avg(n);s.normalize();for(var o=0,a=0;a<n;a++){var l=new $a(t[a]),u=l.squareEuclideanDistance(s);o+=u}var h=[];e.forEach(function(){h.push([])});for(var a=0;a<n;a++){var l=new $a(t[a]);e[a].clusterInertial=0;for(var p=0;p<n;p++){if(a===p){h[a][p]=0;continue}var S=new $a(t[p]);h[a][p]=l.squareEuclideanDistance(S),e[a].clusterInertial+=h[a][p]}}for(var N=0,U=2*n*o,a=0;a<n;a++)for(var H=e[a].clusterId,p=0;p<n;p++){var V=e[p].clusterId;if(!(a===p||H!==V)){var Y=e[a].clusterInertial*e[p].clusterInertial/Math.pow(U,2)-h[a][p]/U;N+=Y}}return Number(N.toFixed(4))},_O=function(e,t,n,i,a,s,o,l,u){t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=!1),s===void 0&&(s=void 0),o===void 0&&(o=[]),l===void 0&&(l=["id"]),u===void 0&&(u=1);var h=e.nodes,p=h===void 0?[]:h,S=e.edges,N=S===void 0?[]:S,U=[];if(a){p.forEach(function(ft,At){ft.properties=ft.properties||{},ft.originIndex=At});var H=[];p.every(function(ft){return ft.hasOwnProperty("nodeType")})&&(H=Array.from(new Set(p.map(function(ft){return ft.nodeType}))),p.forEach(function(ft){ft.properties.nodeType=H.findIndex(function(At){return At===ft.nodeType})}));var V=zh(p,s);U=Uh(V,o,l)}var Y=1,q={},ne={};p.forEach(function(ft,At){var Ft=String(Y++);ft.clusterId=Ft,q[Ft]={id:Ft,nodes:[ft]},ne[ft.id]={node:ft,idx:At}});var le=Rh(e,t),ue=[],fe={},de=0;le.forEach(function(ft,At){var Ft=0,Vt=p[At].id;fe[Vt]={},ft.forEach(function(nn,hn){if(nn){Ft+=nn;var rn=p[hn].id;fe[Vt][rn]=nn,de+=nn}}),ue.push(Ft)}),de/=2;for(var ve=1/0,Te=1/0,Oe=0,Ie=[],ze={};;){a&&p.every(function(ft){return ft.hasOwnProperty("properties")})?ve=m_(p,le,ue,de)+yg(p,U)*u:ve=m_(p,le,ue,de),Oe===0&&(Te=ve,Ie=p,ze=q);var Xe=ve>0&&ve>Te&&ve-Te<i;if(ve>Te&&(Ie=p.map(function(ft){return{node:ft,clusterId:ft.clusterId}}),ze=Ju(q),Te=ve),Xe||Oe>100)break;Oe++,Object.keys(q).forEach(function(ft){var At=0;N.forEach(function(Ft){var Vt=Ft.source,nn=Ft.target,hn=ne[Vt].node.clusterId,rn=ne[nn].node.clusterId;(hn===ft&&rn!==ft||rn===ft&&hn!==ft)&&(At=At+(Ft[n]||1))}),q[ft].sumTot=At}),p.forEach(function(ft,At){var Ft=q[ft.clusterId],Vt=0,nn,hn=ue[At]/(2*de),rn=0,bn=Ft.nodes;bn.forEach(function(Hi){var Ii=ne[Hi.id].idx;rn+=le[At][Ii]||0});var Dn=rn-Ft.sumTot*hn,kn=bn.filter(function(Hi){return Hi.id!==ft.id}),$n=[];kn.forEach(function(Hi,Ii){$n[Ii]=U[Hi.originIndex]});var or=yg(kn,U)*u,$i=fe[ft.id];if(Object.keys($i).forEach(function(Hi){var Ii=ne[Hi].node,so=Ii.clusterId;if(so!==ft.clusterId){var Gi=q[so],wa=Gi.nodes;if(!(!wa||!wa.length)){var Xn=0;wa.forEach(function(dr){var _r=ne[dr.id].idx;Xn+=le[At][_r]||0});var yr=Xn-Gi.sumTot*hn,Qn=wa.concat([ft]),fr=[];Qn.forEach(function(dr,_r){fr[_r]=U[dr.originIndex]});var wr=yg(Qn,U)*u,xn=yr-Dn;a&&(xn=yr+wr-(Dn+or)),xn>Vt&&(Vt=xn,nn=Gi)}}}),Vt>0){nn.nodes.push(ft);var mr=ft.clusterId;ft.clusterId=nn.id;var za=Ft.nodes.indexOf(ft);Ft.nodes.splice(za,1);var ea=0,Ho=0;N.forEach(function(Hi){var Ii=Hi.source,so=Hi.target,Gi=ne[Ii].node.clusterId,wa=ne[so].node.clusterId;(Gi===nn.id&&wa!==nn.id||wa===nn.id&&Gi!==nn.id)&&(ea=ea+(Hi[n]||1)),(Gi===mr&&wa!==mr||wa===mr&&Gi!==mr)&&(Ho=Ho+(Hi[n]||1))}),nn.sumTot=ea,Ft.sumTot=Ho}})}var et={},st=0;Object.keys(ze).forEach(function(ft){var At=ze[ft];if(!At.nodes||!At.nodes.length){delete ze[ft];return}var Ft=String(st+1);Ft!==ft&&(At.id=Ft,At.nodes=At.nodes.map(function(Vt){return{id:Vt.id,clusterId:Ft}}),ze[Ft]=At,et[ft]=Ft,delete ze[ft],st++)}),Ie.forEach(function(ft){var At=ft.node,Ft=ft.clusterId;At&&(At.clusterId=Ft,At.clusterId&&et[At.clusterId]&&(At.clusterId=et[At.clusterId]))});var bt=[],_t={};N.forEach(function(ft){var At=ft.source,Ft=ft.target,Vt=ft[n]||1,nn=ne[At].node.clusterId,hn=ne[Ft].node.clusterId;if(!(!nn||!hn)){var rn="".concat(nn,"---").concat(hn);if(_t[rn])_t[rn].weight+=Vt,_t[rn].count++;else{var bn={source:nn,target:hn,weight:Vt,count:1};_t[rn]=bn,bt.push(bn)}}});var ct=[];return Object.keys(ze).forEach(function(ft){ct.push(ze[ft])}),{clusters:ct,clusterEdges:bt}},y_=_O,EO=function(e,t,n,i,a,s,o,l){return t===void 0&&(t=!1),n===void 0&&(n="weight"),i===void 0&&(i=1e-4),a===void 0&&(a=void 0),s===void 0&&(s=[]),o===void 0&&(o=["id"]),l===void 0&&(l=1),y_(e,t,n,i,!0,a,s,o,l)},xO=EO,bO=function(e,t){var n;t===void 0&&(t=1);for(var i=Ju(e),a=i.nodes,s=a===void 0?[]:a,o=i.edges,l=o===void 0?[]:o,u=function(){var S=lg({nodes:s,edges:l}),N=Object.keys(S);N.sort(function(V,Y){var q,ne;return((q=S[V])===null||q===void 0?void 0:q.degree)-((ne=S[Y])===null||ne===void 0?void 0:ne.degree)});var U=N[0];if(!s.length||((n=S[U])===null||n===void 0?void 0:n.degree)>=t)return"break";var H=s.findIndex(function(V){return V.id===U});s.splice(H,1),l=l.filter(function(V){return!(V.source===U||V.target===U)})};;){var h=u();if(h==="break")break}return{nodes:s,edges:l}},wO=bO,__=function(e,t,n){var i=[];switch(e){case fs.EuclideanDistance:i=t[n];break;default:i=[];break}return i},MO=function(e,t,n,i,a,s){t===void 0&&(t=3),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=["id"]),s===void 0&&(s=fs.EuclideanDistance);var o=e.nodes,l=o===void 0?[]:o,u=e.edges,h=u===void 0?[]:u,p={clusters:[{id:"0",nodes:l}],clusterEdges:[]};if(s===fs.EuclideanDistance&&!l.every(function(Ft){return Ft.hasOwnProperty(n)}))return p;var S=[],N=[];if(s===fs.EuclideanDistance&&(S=zh(l,n),N=Uh(S,i,a)),!N.length)return p;for(var U=fg(N.map(function(Ft){return Ft.join("")})),H=Math.min(t,l.length,U.length),V=0;V<l.length;V++)l[V].originIndex=V;for(var Y=[],q=[],ne=[],V=0;V<H;V++)if(V===0){var le=Math.floor(Math.random()*l.length);switch(s){case fs.EuclideanDistance:Y[V]=N[le];break;default:Y[V]=[];break}q.push(le),ne[V]=[l[le]],l[le].clusterId=String(V)}else{for(var ue=-1/0,fe=0,de=function(nn){if(!q.includes(nn)){for(var hn=0,rn=0;rn<Y.length;rn++){var bn=0;switch(s){case fs.EuclideanDistance:bn=mg(N[l[nn].originIndex],Y[rn],s);break;default:break}hn+=bn}var Dn=hn/Y.length;Dn>ue&&!Y.find(function(kn){return sO(kn,__(s,N,l[nn].originIndex))})&&(ue=Dn,fe=nn)}},ve=0;ve<l.length;ve++)de(ve);Y[V]=__(s,N,fe),q.push(fe),ne[V]=[l[fe]],l[fe].clusterId=String(V)}for(var Te=0;;){for(var V=0;V<l.length;V++){var Oe=0,Ie=1/0;if(!(Te===0&&q.includes(V))){for(var ze=0;ze<Y.length;ze++){var Xe=0;switch(s){case fs.EuclideanDistance:Xe=mg(N[V],Y[ze],s);break;default:break}Xe<Ie&&(Ie=Xe,Oe=ze)}if(l[V].clusterId!==void 0)for(var et=ne[Number(l[V].clusterId)].length-1;et>=0;et--)ne[Number(l[V].clusterId)][et].id===l[V].id&&ne[Number(l[V].clusterId)].splice(et,1);l[V].clusterId=String(Oe),ne[Oe].push(l[V])}}for(var st=!1,V=0;V<ne.length;V++){for(var bt=ne[V],_t=new $a([]),ze=0;ze<bt.length;ze++)_t=_t.add(new $a(N[bt[ze].originIndex]));var ct=_t.avg(bt.length);ct.equal(new $a(Y[V]))||(st=!0,Y[V]=ct.getArr())}if(Te++,l.every(function(Ft){return Ft.clusterId!==void 0})&&st||Te>=1e3)break}var ft=[],At={};return h.forEach(function(Ft){var Vt,nn,hn=Ft.source,rn=Ft.target,bn=(Vt=l.find(function(or){return or.id===hn}))===null||Vt===void 0?void 0:Vt.clusterId,Dn=(nn=l.find(function(or){return or.id===rn}))===null||nn===void 0?void 0:nn.clusterId,kn="".concat(bn,"---").concat(Dn);if(At[kn])At[kn].count++;else{var $n={source:bn,target:Dn,count:1};At[kn]=$n,ft.push($n)}}),{clusters:ne,clusterEdges:ft}},AO=MO,TO=function(e,t){var n=new $a(t),i=n.norm2(),a=new $a(e),s=a.norm2(),o=n.dot(a),l=i*s,u=l?o/l:0;return u},E_=TO,PO=function(e,t,n,i,a){e===void 0&&(e=[]),n===void 0&&(n=void 0),i===void 0&&(i=[]),a===void 0&&(a=[]);var s=Ju(e.filter(function(S){return S.id!==t.id})),o=e.findIndex(function(S){return S.id===t.id}),l=zh(e,n),u=Uh(l,i,a),h=u[o],p=[];return s.forEach(function(S,N){if(S.id!==t.id){var U=u[N],H=E_(U,h);p.push(H),S.cosineSimilarity=H}}),s.sort(function(S,N){return N.cosineSimilarity-S.cosineSimilarity}),{allCosineSimilarity:p,similarNodes:s}},SO=PO,OO=function(){function r(e){this.count=e.length,this.parent={};for(var t=0,n=e;t<n.length;t++){var i=n[t];this.parent[i]=i}}return r.prototype.find=function(e){for(;this.parent[e]!==e;)e=this.parent[e];return e},r.prototype.union=function(e,t){var n=this.find(e),i=this.find(t);n!==i&&(n<i?(this.parent[t]!==t&&this.union(this.parent[t],e),this.parent[t]=this.parent[e]):(this.parent[e]!==e&&this.union(this.parent[e],t),this.parent[e]=this.parent[t]))},r.prototype.connected=function(e,t){return this.find(e)===this.find(t)},r}(),DO=OO,CO=function(e,t){return e-t},LO=function(){function r(e){e===void 0&&(e=CO),this.compareFn=e,this.list=[]}return r.prototype.getLeft=function(e){return 2*e+1},r.prototype.getRight=function(e){return 2*e+2},r.prototype.getParent=function(e){return e===0?null:Math.floor((e-1)/2)},r.prototype.isEmpty=function(){return this.list.length<=0},r.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},r.prototype.delMin=function(){var e=this.top(),t=this.list.pop();return this.list.length>0&&(this.list[0]=t,this.moveDown(0)),e},r.prototype.insert=function(e){if(e!==null){this.list.push(e);var t=this.list.length-1;return this.moveUp(t),!0}return!1},r.prototype.moveUp=function(e){for(var t=this.getParent(e);e&&e>0&&this.compareFn(this.list[t],this.list[e])>0;){var n=this.list[t];this.list[t]=this.list[e],this.list[e]=n,e=t,t=this.getParent(e)}},r.prototype.moveDown=function(e){var t,n=e,i=this.getLeft(e),a=this.getRight(e),s=this.list.length;i!==null&&i<s&&this.compareFn(this.list[n],this.list[i])>0?n=i:a!==null&&a<s&&this.compareFn(this.list[n],this.list[a])>0&&(n=a),e!==n&&(t=[this.list[n],this.list[e]],this.list[e]=t[0],this.list[n]=t[1],this.moveDown(n))},r}(),RO=LO,IO=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=a[0],u=new Set;u.add(l);var h=function(V,Y){return t?V.weight-Y.weight:0},p=new RO(h);for(Ih(l.id,o).forEach(function(H){p.insert(H)});!p.isEmpty();){var S=p.delMin(),N=S.source,U=S.target;u.has(N)&&u.has(U)||(n.push(S),u.has(N)||(u.add(N),Ih(N,o).forEach(function(H){p.insert(H)})),u.has(U)||(u.add(U),Ih(U,o).forEach(function(H){p.insert(H)})))}return n},x_=function(e,t){var n=[],i=e.nodes,a=i===void 0?[]:i,s=e.edges,o=s===void 0?[]:s;if(a.length===0)return n;var l=o.map(function(N){return N});t&&l.sort(function(N,U){return N.weight-U.weight});for(var u=new DO(a.map(function(N){return N.id}));l.length>0;){var h=l.shift(),p=h.source,S=h.target;u.connected(p,S)||(n.push(h),u.union(p,S))}return n},NO=function(e,t,n){var i={prim:IO,kruskal:x_};return n?i[n](e,t):x_(e,t)},BO=NO,kO=function(e,t,n){typeof t!="number"&&(t=1e-6),typeof n!="number"&&(n=.85);for(var i=1,a=0,s=1e3,o=e.nodes,l=o===void 0?[]:o,u=e.edges,h=u===void 0?[]:u,p=l.length,S,N={},U={},H=0;H<p;++H){var V=l[H],Y=V.id;N[Y]=1/p,U[Y]=1/p}for(var q=lg(e);s>0&&i>t;){a=0;for(var H=0;H<p;++H){var V=l[H],Y=V.id;if(S=0,q[V.id].inDegree===0)N[Y]=0;else{for(var ne=qa(Y,h,"source"),le=0;le<ne.length;++le){var ue=ne[le],fe=q[ue].outDegree;fe>0&&(S+=U[ue]/fe)}N[Y]=n*S,a+=N[Y]}}a=(1-a)/p,i=0;for(var H=0;H<p;++H){var V=l[H],Y=V.id;S=N[Y]+a,i+=Math.abs(S-U[Y]),U[Y]=S}s-=1}return U},b_=kO,FO=-1,Wh=-1,w_="-1",ks="-1",M_=-1,EU="-1",A_=function(){function r(e,t,n,i){e===void 0&&(e=FO),t===void 0&&(t=Wh),n===void 0&&(n=Wh),i===void 0&&(i=w_),this.id=e,this.from=t,this.to=n,this.label=i}return r}(),zO=function(){function r(e,t){e===void 0&&(e=Wh),t===void 0&&(t=ks),this.id=e,this.label=t,this.edges=[],this.edgeMap={}}return r.prototype.addEdge=function(e){this.edges.push(e),this.edgeMap[e.id]=e},r}(),T_=function(){function r(e,t,n){e===void 0&&(e=Wh),t===void 0&&(t=!0),n===void 0&&(n=!1),this.id=e,this.edgeIdAutoIncrease=t,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=n}return r.prototype.getNodeNum=function(){return this.nodes.length},r.prototype.addNode=function(e,t){if(!this.nodeMap[e]){var n=new zO(e,t);this.nodes.push(n),this.nodeMap[e]=n,this.nodeLabelMap[t]||(this.nodeLabelMap[t]=[]),this.nodeLabelMap[t].push(e)}},r.prototype.addEdge=function(e,t,n,i){if((this.edgeIdAutoIncrease||e===void 0)&&(e=this.counter++),!(this.nodeMap[t]&&this.nodeMap[n]&&this.nodeMap[n].edgeMap[e])){var a=new A_(e,t,n,i);if(this.edges.push(a),this.edgeMap[e]=a,this.nodeMap[t].addEdge(a),this.edgeLabelMap[i]||(this.edgeLabelMap[i]=[]),this.edgeLabelMap[i].push(a),!this.directed){var s=new A_(e,n,t,i);this.nodeMap[n].addEdge(s),this.edgeLabelMap[i].push(s)}}},r}(),cl=function(){function r(e,t,n,i,a){this.fromNode=e,this.toNode=t,this.nodeEdgeNodeLabel={nodeLabel1:n||ks,edgeLabel:i||w_,nodeLabel2:a||ks}}return r.prototype.equalTo=function(e){return this.fromNode===e.formNode&&this.toNode===e.toNode&&this.nodeEdgeNodeLabel===e.nodeEdgeNodeLabel},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r}(),P_=function(){function r(){this.rmpath=[],this.dfsEdgeList=[]}return r.prototype.equalTo=function(e){var t=this.dfsEdgeList.length,n=e.length;if(t!==n)return!1;for(var i=0;i<t;i++)if(this.dfsEdgeList[i]!==e[i])return!1;return!0},r.prototype.notEqualTo=function(e){return!this.equalTo(e)},r.prototype.pushBack=function(e,t,n,i,a){return this.dfsEdgeList.push(new cl(e,t,n,i,a)),this.dfsEdgeList},r.prototype.toGraph=function(e,t){e===void 0&&(e=M_),t===void 0&&(t=!1);var n=new T_(e,!0,t);return this.dfsEdgeList.forEach(function(i){var a=i.fromNode,s=i.toNode,o=i.nodeEdgeNodeLabel,l=o.nodeLabel1,u=o.edgeLabel,h=o.nodeLabel2;l!==ks&&n.addNode(a,l),h!==ks&&n.addNode(s,h),l!==ks&&h!==l&&n.addEdge(void 0,a,s,u)}),n},r.prototype.buildRmpath=function(){this.rmpath=[];for(var e=void 0,t=this.dfsEdgeList.length,n=t-1;n>=0;n--){var i=this.dfsEdgeList[n],a=i.fromNode,s=i.toNode;a<s&&(e===void 0||s===e)&&(this.rmpath.push(n),e=a)}return this.rmpath},r.prototype.getNodeNum=function(){var e={};return this.dfsEdgeList.forEach(function(t){e[t.fromNode]||(e[t.fromNode]=!0),e[t.toNode]||(e[t.toNode]=!0)}),Object.keys(e).length},r}(),Hh=function(){function r(e){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!e){for(;e;){var t=e.edge;this.edges.push(t),this.nodesUsed[t.from]=1,this.nodesUsed[t.to]=1,this.edgesUsed[t.id]=1,e=e.preNode}this.edges=this.edges.reverse()}}return r.prototype.hasNode=function(e){return this.nodesUsed[e.id]===1},r.prototype.hasEdge=function(e){return this.edgesUsed[e.id]===1},r}(),UO=function(){function r(e){var t=e.graphs,n=e.minSupport,i=n===void 0?2:n,a=e.minNodeNum,s=a===void 0?1:a,o=e.maxNodeNum,l=o===void 0?4:o,u=e.top,h=u===void 0?10:u,p=e.directed,S=p===void 0?!1:p,N=e.verbose,U=N===void 0?!1:N;this.graphs=t,this.dfsCode=new P_,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=i,this.top=h,this.directed=S,this.counter=0,this.maxNodeNum=l,this.minNodeNum=s,this.verbose=U,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return r.prototype.findForwardRootEdges=function(e,t){var n=this,i=[],a=e.nodeMap;return t.edges.forEach(function(s){(n.directed||t.label<=a[s.to].label)&&i.push(s)}),i},r.prototype.findBackwardEdge=function(e,t,n,i){if(!this.directed&&t===n)return null;for(var a=e.nodeMap,s=a[n.to],o=s.edges,l=o.length,u=0;u<l;u++){var h=o[u];if(!(i.hasEdge(h)||h.to!==t.from)){if(this.directed){if(a[t.from].label<a[n.to].label||a[t.from].label===a[n.to].label&&t.label<=h.label)return h}else if(t.label<h.label||t.label===h.label&&a[t.to].label<=a[n.to].label)return h}}return null},r.prototype.findForwardPureEdges=function(e,t,n,i){for(var a=[],s=t.to,o=e.nodeMap[s].edges,l=o.length,u=0;u<l;u++){var h=o[u],p=e.nodeMap[h.to];n<=p.label&&!i.hasNode(p)&&a.push(h)}return a},r.prototype.findForwardRmpathEdges=function(e,t,n,i){for(var a=[],s=e.nodeMap,o=s[t.to].label,l=s[t.from],u=l.edges,h=u.length,p=0;p<h;p++){var S=u[p],N=s[S.to].label;t.to===S.to||n>N||i.hasNode(s[S.to])||(t.label<S.label||t.label===S.label&&o<=N)&&a.push(S)}return a},r.prototype.getSupport=function(e){var t={};return e.forEach(function(n){t[n.graphId]||(t[n.graphId]=!0)}),Object.keys(t).length},r.prototype.findMinLabel=function(e){var t=void 0;return Object.keys(e).forEach(function(n){var i=e[n],a=i.nodeLabel1,s=i.edgeLabel,o=i.nodeLabel2;if(!t){t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o};return}(a<t.nodeLabel1||a===t.nodeLabel1&&s<t.edgeLabel||a===t.nodeLabel1&&s===t.edgeLabel&&o<t.nodeLabel2)&&(t={nodeLabel1:a,edgeLabel:s,nodeLabel2:o})}),t},r.prototype.isMin=function(){var e=this,t=this.dfsCode;if(this.verbose&&console.log("isMin checking",t),t.dfsEdgeList.length===1)return!0;var n=this.directed,i=t.toGraph(M_,n),a=i.nodeMap,s=new P_,o={};i.nodes.forEach(function(p){var S=e.findForwardRootEdges(i,p);S.forEach(function(N){var U=a[N.to],H="".concat(p.label,"-").concat(N.label,"-").concat(U.label);o[H]||(o[H]={projected:[],nodeLabel1:p.label,edgeLabel:N.label,nodeLabel2:U.label});var V={graphId:i.id,edge:N,preNode:null};o[H].projected.push(V)})});var l=this.findMinLabel(o);if(l){s.dfsEdgeList.push(new cl(0,1,l.nodeLabel1,l.edgeLabel,l.nodeLabel2));var u=function p(S){for(var N=s.buildRmpath(),U=s.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,H=s.dfsEdgeList[N[0]].toNode,V={},Y=!1,q=0,ne=n?-1:0,le=function(_t){if(Y)return"break";S.forEach(function(ct){var ft=new Hh(ct),At=e.findBackwardEdge(i,ft.edges[N[_t]],ft.edges[N[0]],ft);At&&(V[At.label]||(V[At.label]={projected:[],edgeLabel:At.label}),V[At.label].projected.push({graphId:i.id,edge:V,preNode:ct}),q=s.dfsEdgeList[N[_t]].fromNode,Y=!0)})},ue=N.length-1;ue>ne;ue--){var fe=le(ue);if(fe==="break")break}if(Y){var de=e.findMinLabel(V);s.dfsEdgeList.push(new cl(H,q,ks,de.edgeLabel,ks));var ve=s.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[ve]!==s.dfsEdgeList[ve]?!1:p(V[de.edgeLabel].projected)}var Te={};Y=!1;var Oe=0;S.forEach(function(bt){var _t=new Hh(bt),ct=e.findForwardPureEdges(i,_t.edges[N[0]],U,_t);ct.length>0&&(Y=!0,Oe=H,ct.forEach(function(ft){var At="".concat(ft.label,"-").concat(a[ft.to].label);Te[At]||(Te[At]={projected:[],edgeLabel:ft.label,nodeLabel2:a[ft.to].label}),Te[At].projected.push({graphId:i.id,edge:ft,preNode:bt})}))});for(var Ie=N.length,ze=function(_t){if(Y)return"break";var ct=N[_t];S.forEach(function(ft){var At=new Hh(ft),Ft=e.findForwardRmpathEdges(i,At.edges[ct],U,At);Ft.length>0&&(Y=!0,Oe=s.dfsEdgeList[ct].fromNode,Ft.forEach(function(Vt){var nn="".concat(Vt.label,"-").concat(a[Vt.to].label);Te[nn]||(Te[nn]={projected:[],edgeLabel:Vt.label,nodeLabel2:a[Vt.to].label}),Te[nn].projected.push({graphId:i.id,edge:Vt,preNode:ft})}))})},ue=0;ue<Ie;ue++){var Xe=ze(ue);if(Xe==="break")break}if(!Y)return!0;var et=e.findMinLabel(Te);s.dfsEdgeList.push(new cl(Oe,H+1,ks,et.edgeLabel,et.nodeLabel2));var st=s.dfsEdgeList.length-1;return t.dfsEdgeList[st]!==s.dfsEdgeList[st]?!1:p(Te["".concat(et.edgeLabel,"-").concat(et.nodeLabel2)].projected)},h="".concat(l.nodeLabel1,"-").concat(l.edgeLabel,"-").concat(l.nodeLabel2);return u(o[h].projected)}},r.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var e=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(Ju(e))}},r.prototype.subGraphMining=function(e){var t=this,n=this.getSupport(e);if(!(n<this.minSupport)&&this.isMin()){this.report();var i=this.dfsCode.getNodeNum(),a=this.dfsCode.buildRmpath(),s=this.dfsCode.dfsEdgeList[a[0]].toNode,o=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,l={},u={};e.forEach(function(h){for(var p=t.graphs[h.graphId],S=p.nodeMap,N=new Hh(h),U=a.length-1;U>=0;U--){var H=t.findBackwardEdge(p,N.edges[a[U]],N.edges[a[0]],N);if(H){var V="".concat(t.dfsCode.dfsEdgeList[a[U]].fromNode,"-").concat(H.label);u[V]||(u[V]={projected:[],toNodeId:t.dfsCode.dfsEdgeList[a[U]].fromNode,edgeLabel:H.label}),u[V].projected.push({graphId:h.graphId,edge:H,preNode:h})}}if(!(i>=t.maxNodeNum)){var Y=t.findForwardPureEdges(p,N.edges[a[0]],o,N);Y.forEach(function(ne){var le="".concat(s,"-").concat(ne.label,"-").concat(S[ne.to].label);l[le]||(l[le]={projected:[],fromNodeId:s,edgeLabel:ne.label,nodeLabel2:S[ne.to].label}),l[le].projected.push({graphId:h.graphId,edge:ne,preNode:h})});for(var q=function(le){var ue=t.findForwardRmpathEdges(p,N.edges[a[le]],o,N);ue.forEach(function(fe){var de="".concat(t.dfsCode.dfsEdgeList[a[le]].fromNode,"-").concat(fe.label,"-").concat(S[fe.to].label);l[de]||(l[de]={projected:[],fromNodeId:t.dfsCode.dfsEdgeList[a[le]].fromNode,edgeLabel:fe.label,nodeLabel2:S[fe.to].label}),l[de].projected.push({graphId:h.graphId,edge:fe,preNode:h})})},U=0;U<a.length;U++)q(U)}}),Object.keys(u).forEach(function(h){var p=u[h],S=p.toNodeId,N=p.edgeLabel;t.dfsCode.dfsEdgeList.push(new cl(s,S,"-1",N,"-1")),t.subGraphMining(u[h].projected),t.dfsCode.dfsEdgeList.pop()}),Object.keys(l).forEach(function(h){var p=l[h],S=p.fromNodeId,N=p.edgeLabel,U=p.nodeLabel2;t.dfsCode.dfsEdgeList.push(new cl(S,s+1,ks,N,U)),t.subGraphMining(l[h].projected),t.dfsCode.dfsEdgeList.pop()})}},r.prototype.generate1EdgeFrequentSubGraphs=function(){var e=this.graphs,t=this.directed,n=this.minSupport,i=this.frequentSize1Subgraphs,a={},s={},o={},l={};return Object.keys(e).forEach(function(u){var h=e[u],p=h.nodeMap;h.nodes.forEach(function(S,N){var U=S.label,H="".concat(u,"-").concat(U);if(!o[H]){var V=a[U]||0;V++,a[U]=V}o[H]={graphKey:u,label:U},S.edges.forEach(function(Y){var q=U,ne=p[Y.to].label;if(!t&&q>ne){var le=ne;ne=q,q=le}var ue=Y.label,fe="".concat(u,"-").concat(q,"-").concat(ue,"-").concat(ne),de="".concat(q,"-").concat(ue,"-").concat(ne);if(!s[de]){var ve=s[de]||0;ve++,s[de]=ve}l[fe]={graphId:u,nodeLabel1:q,edgeLabel:ue,nodeLabel2:ne}})})}),Object.keys(a).forEach(function(u){var h=a[u];if(!(h<n)){var p={nodes:[],edges:[]};p.nodes.push({id:"0",label:u}),i.push(p)}}),i},r.prototype.run=function(){var e=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var t=this.graphs,n=this.directed,i={};Object.keys(t).forEach(function(a){var s=t[a],o=s.nodeMap;s.nodes.forEach(function(l){var u=e.findForwardRootEdges(s,l);u.forEach(function(h){var p=o[h.to],S="".concat(l.label,"-").concat(h.label,"-").concat(p.label);i[S]||(i[S]={projected:[],nodeLabel1:l.label,edgeLabel:h.label,nodeLabel2:p.label});var N={graphId:a,edge:h,preNode:null};i[S].projected.push(N)})})}),Object.keys(i).forEach(function(a){var s=i[a],o=s.projected,l=s.nodeLabel1,u=s.edgeLabel,h=s.nodeLabel2;e.dfsCode.dfsEdgeList.push(new cl(0,1,l,u,h)),e.subGraphMining(o),e.dfsCode.dfsEdgeList.pop()})}},r}(),WO=function(e,t,n,i){var a={};return Object.keys(e).forEach(function(s,o){var l=e[s],u=new T_(o,!0,t),h={};l.nodes.forEach(function(p,S){u.addNode(S,p[n]),h[p.id]=S}),l.edges.forEach(function(p,S){var N=h[p.source],U=h[p.target];u.addEdge(-1,N,U,p[i])}),u&&u.getNodeNum()&&(a[u.id]=u)}),a},HO=function(e,t,n){var i=[];return e.forEach(function(a){var s={nodes:[],edges:[]};a.nodes.forEach(function(o){var l;s.nodes.push((l={id:"".concat(o.id)},l[t]=o.label,l))}),a.edges.forEach(function(o){var l;s.edges.push((l={source:"".concat(o.from),target:"".concat(o.to)},l[n]=o.label,l))}),i.push(s)}),i},S_="cluster",GO=function(e){var t=e.graphs,n=e.directed,i=n===void 0?!1:n,a=e.nodeLabelProp,s=a===void 0?S_:a,o=e.edgeLabelProp,l=o===void 0?S_:o,u=WO(t,i,s,l),h=e.minSupport,p=e.maxNodeNum,S=e.minNodeNum,N=e.verbose,U=e.top,H={graphs:u,minSupport:h,maxNodeNum:p,minNodeNum:S,top:U,verbose:N,directed:i},V=new UO(H);V.run();var Y=HO(V.frequentSubgraphs,s,l);return Y},jO=GO,O_=function(e,t,n,i){n===void 0&&(n="cluster"),i===void 0&&(i=2);var a=[],s=e.nodes;return t.forEach(function(o,l){a.push(D_(s,o,l,n,i))}),a},D_=function(e,t,n,i,a){var s=[n],o=[],l={};return t.forEach(function(u,h){if(u<=a&&n!==h){s.push(h),o.push(e[h]);var p=e[h][i];l[p]?(l[p].count++,l[p].dists.push(u)):l[p]={count:1,dists:[u]}}}),Object.keys(l).forEach(function(u){l[u].dists=l[u].dists.sort(function(h,p){return h-p})}),{nodeIdx:n,nodeId:e[n].id,nodeIdxs:s,neighbors:o,neighborNum:s.length-1,nodeLabelCountMap:l}},VO=function(e,t,n,i,a){var s=Math.ceil(n/t),o={},l=0;return i.forEach(function(u,h){for(var p=0,S=0,N=u.nodeIdxs,U=u.neighborNum-1;p<s;){for(var H=N[1+Math.floor(Math.random()*U)],V=0;(o["".concat(h,"-").concat(H)]||o["".concat(H,"-").concat(h)])&&(H=Math.floor(Math.random()*t),V++,!(V>2*t)););if(V<2*t&&(o["".concat(h,"-").concat(H)]={start:h,end:H,distance:a[h][H]},p++,l++,l>=n))return o;if(S++,S>2*t)break}if(p<s){var Y=s-p;s=(s+Y)/(t-h-1)}}),o},Gh=function(e,t,n,i){var a=n.nodes;return i||(i={}),Object.keys(e).forEach(function(s){var o,l;if(!(i&&i[s])){i[s]={nodes:[],edges:[]};var u=e[s],h=(o=t[u.start])===null||o===void 0?void 0:o.nodeIdxs,p=(l=t[u.end])===null||l===void 0?void 0:l.nodeIdxs;if(!(!h||!p)){var S=new Set(p),N=h.filter(function(q){return S.has(q)});if(!(!N||!N.length)){for(var U={},H=N.length,V=0;V<H;V++){var Y=a[N[V]];i[s].nodes.push(Y),U[Y.id]=!0}n.edges.forEach(function(q){U[q.source]&&U[q.target]&&i[s].edges.push(q)})}}}}),i},jh=function(e,t,n,i){var a,s,o={};e.nodes.forEach(function(u){o[u.id]=u});var l=0;return!(!((a=t==null?void 0:t.edges)===null||a===void 0)&&a.length)||((s=t==null?void 0:t.nodes)===null||s===void 0?void 0:s.length)<2?0:(e.edges.forEach(function(u){var h=o[u.source][n],p=o[u.target][n],S=t==null?void 0:t.nodes[0][n],N=t==null?void 0:t.nodes[1][n],U=t==null?void 0:t.edges[0][i];u[i]===U&&(h===S&&p===N||h===N&&p===S)&&l++}),l)},ZO=function(e,t,n){for(var i=1/0,a=0,s=function(u){var h=e[u],p=Object.keys(h).sort(function(q,ne){return h[q]-h[ne]}),S=10,N=[];p.forEach(function(q,ne){N[ne%S]||(N[ne%S]={graphs:[],totalCount:0,aveCount:0}),N[ne%S].graphs.push(q),N[ne%S].totalCount+=h[q]});var U=0,H=[];N.forEach(function(q){var ne=q.totalCount/q.graphs.length;q.aveCount=ne,H.push(ne);var le=0,ue=q.length;q.graphs.forEach(function(fe,de){var ve=h[fe];q.graphs.forEach(function(Te,Oe){de!==Oe&&(le+=Math.abs(ve-h[Te]))})}),le/=ue*(ue-1)/2,U+=le}),U/=N.length;var V=0;H.forEach(function(q,ne){H.forEach(function(le,ue){ne!==ue&&(V+=Math.abs(q-le))}),V/=H.length*(H.length-1)/2});var Y=V-U;i<Y&&(i=Y,a=u)},o=0;o<t;o++)s(o);return{structure:n[a],structureCountMap:e[a]}},C_=function(e,t){var n={},i={};return e.forEach(function(a,s){n[a.id]={idx:s,node:a,degree:0,inDegree:0,outDegree:0};var o=a[t];i[o]||(i[o]=[]),i[o].push(a)}),{nodeMap:n,nodeLabelMap:i}},L_=function(e,t,n){var i={},a={};return e.forEach(function(s,o){i["".concat(e_)]={idx:o,edge:s};var l=s[t];a[l]||(a[l]=[]),a[l].push(s);var u=n[s.source];u&&(u.degree++,u.outDegree++);var h=n[s.target];h&&(h.degree++,h.inDegree++)}),{edgeMap:i,edgeLabelMap:a}},R_=function(e,t,n){var i=t.length,a={};return t.forEach(function(s,o){for(var l=n?0:o+1,u=e[o].id,h=l;h<i;h++)if(o!==h){var p=e[h].id,S=s[h];a["".concat(u,"-").concat(p)]=S,n||(a["".concat(p,"-").concat(u)]=S)}}),a},KO=function(e,t,n,i,a,s,o,l,u,h,p){var S,N="".concat(t.id,"-").concat(n.id);if(h&&h[N])return h[N];var U=p?p[N]:void 0;if(!U){var H=(S={},S[N]={start:i[t.id].idx,end:i[n.id].idx,distance:a},S);p=Gh(H,s,e,p),U=p[N]}return jh(U,o,l,u)},I_=function(e,t,n,i){var a,s,o,l=(a=e[t])===null||a===void 0?void 0:a.degree,u=(s=e[t])===null||s===void 0?void 0:s.inDegree,h=(o=e[t])===null||o===void 0?void 0:o.outDegree;return e[t]===void 0&&(l=1/0,u=1/0,h=1/0,i[t].forEach(function(p){var S=n[p.id].degree;l>S&&(l=S);var N=n[p.id].inDegree;u>N&&(u=N);var U=n[p.id].outDegree;h>U&&(h=U)}),e[t]={degree:l,inDegree:u,outDegree:h}),{minPatternNodeLabelDegree:l,minPatternNodeLabelInDegree:u,minPatternNodeLabelOutDegree:h}},XO=function(e,t,n,i,a,s,o){var l;if(n===void 0&&(n=!1),s===void 0&&(s="cluster"),o===void 0&&(o="cluster"),!(!e||!e.nodes)){var u=e.nodes.length;if(u){var h=pg(e,n),p=pg(t,n),S=R_(e.nodes,h,n),N=R_(t.nodes,p,n),U=C_(e.nodes,s),H=U.nodeMap,V=U.nodeLabelMap,Y=C_(t.nodes,s),q=Y.nodeMap,ne=Y.nodeLabelMap;L_(e.edges,o,H);var le=L_(t.edges,o,q).edgeLabelMap,ue=[];p==null||p.forEach(function(Xn){ue=ue.concat(Xn)}),a||(a=Math.max.apply(Math,(0,xe.ev)((0,xe.ev)([],ue,!1),[2],!1))),i||(i=a);var fe=O_(e,h,s,i),de=O_(t,p,s,i),ve=Math.min(100,u*(u-1)/2),Te=VO(i,u,ve,fe,h),Oe=Gh(Te,fe,e),Ie=10,ze=1,Xe=1,et=4,st={graphs:Oe,nodeLabelProp:s,edgeLabelProp:o,minSupport:ze,minNodeNum:Xe,maxNodeNum:et,directed:n},bt=jO(st).slice(0,Ie),_t=bt.length,ct=[];bt.forEach(function(Xn,yr){ct[yr]={},Object.keys(Oe).forEach(function(Qn){var fr=Oe[Qn],wr=jh(fr,Xn,s,o);ct[yr][Qn]=wr})});var ft=ZO(ct,_t,bt),At=ft.structure,Ft=ft.structureCountMap,Vt=t.nodes[0],nn=[],hn=(l=t.nodes[0])===null||l===void 0?void 0:l[s],rn=-1/0;t.nodes.forEach(function(Xn){var yr=Xn[s],Qn=V[yr];(Qn==null?void 0:Qn.length)>rn&&(rn=Qn.length,nn=Qn,hn=yr,Vt=Xn)});var bn={},Dn={},kn={},$n={},or={},$i={};Object.keys(ne).forEach(function(Xn,yr){or[Xn]=[],n&&($i[Xn]=[]);var Qn=-1/0,fr=ne[Xn],wr={};fr.forEach(function(Er){var vr=N["".concat(Vt.id,"-").concat(Er.id)];if(vr&&or[Xn].push(vr),Qn<vr&&(Qn=vr),wr["".concat(Vt.id,"-").concat(Er.id)]={start:0,end:q[Er.id].idx,distance:vr},n){var si=N["".concat(Er.id,"-").concat(Vt.id)];si&&$i[Xn].push(si)}}),or[Xn]=or[Xn].sort(function(Er,vr){return Er-vr}),n&&($i[Xn]=$i[Xn].sort(function(Er,vr){return Er-vr})),Dn=Gh(wr,de,t,Dn);var xn=[];if(Object.keys(wr).forEach(function(Er){if(kn[Er]){xn.push(kn[Er]);return}var vr=Dn[Er];kn[Er]=jh(vr,At,s,o),xn.push(kn[Er])}),xn=xn.sort(function(Er,vr){return vr-Er}),$n["".concat(Vt.id,"-").concat(Xn)]=xn,Xn!==hn)for(var dr=(nn==null?void 0:nn.length)||0,_r=function(vr){var si=nn[vr],Ua=fe[H[si.id].idx],vi=Ua.nodeLabelCountMap[Xn],Ol=ne[Xn].length;if(!vi||vi.count<Ol)return nn.splice(vr,1),"continue";for(var mu=!1,ua=0;ua<Ol;ua++)if(vi.dists[ua]>or[Xn][ua]){mu=!0;break}if(mu)return nn.splice(vr,1),"continue";var ns={};Ua.neighbors.forEach(function(ca){var bs=S["".concat(si.id,"-").concat(ca.id)];ns["".concat(si.id,"-").concat(ca.id)]={start:H[si.id].idx,end:H[ca.id].idx,distance:bs}}),Oe=Gh(ns,fe,e,Oe);var Ws=[];Object.keys(ns).forEach(function(ca){if(Ft[ca]){Ws.push(Ft[ca]);return}var bs=Oe[ca];Ft[ca]=jh(bs,At,s,o),Ws.push(Ft[ca])}),Ws=Ws.sort(function(ca,bs){return bs-ca});for(var Go=!1,ua=0;ua<Ol;ua++)if(Ws[ua]<xn[ua]){Go=!0;break}if(Go)return nn.splice(vr,1),"continue"},wi=dr-1;wi>=0;wi--)_r(wi)});var mr=[];nn==null||nn.forEach(function(Xn){for(var yr=H[Xn.id].idx,Qn=D_(e.nodes,h[yr],yr,s,a),fr=Qn.neighbors,wr=fr.length,xn=!1,dr=wr-1;dr>=0;dr--){if(fr.length+1<t.nodes.length){xn=!0;return}var _r=fr[dr],wi=_r[s];if(!ne[wi]||!ne[wi].length){fr.splice(dr,1);continue}if(!or[wi]||!or[wi].length){fr.splice(dr,1);continue}var Er="".concat(Xn.id,"-").concat(_r.id),vr=S[Er],si=or[wi].length-1,Ua=or[wi][si];if(vr>Ua){fr.splice(dr,1);continue}if(n){var vi="".concat(_r.id,"-").concat(Xn.id),Ol=S[vi];si=$i[wi].length-1;var mu=$i[wi][si];if(Ol>mu){fr.splice(dr,1);continue}}var ua=Ft[Er]?Ft[Er]:KO(e,Xn,_r,H,vr,fe,At,s,o,Ft,Oe),ns="".concat(Vt.id,"-").concat(wi),Ws=$n[ns][$n[ns].length-1];if(ua<Ws){fr.splice(dr,1);continue}var Go=I_(bn,wi,q,ne),ca=Go.minPatternNodeLabelDegree,bs=Go.minPatternNodeLabelInDegree,oo=Go.minPatternNodeLabelOutDegree;if(H[_r.id].degree<ca){fr.splice(dr,1);continue}}xn||mr.push({nodes:[Xn].concat(fr)})});var za=Fh(t,Vt.id,!1).length,ea={};n?(Object.keys(za).forEach(function(Xn){var yr=q[Xn].node[s];ea[yr]?ea[yr].push(za[Xn]):ea[yr]=[za[Xn]]}),Object.keys(ea).forEach(function(Xn){ea[Xn].sort(function(yr,Qn){return yr-Qn})})):ea=or;for(var Ho=mr.length,Hi=function(yr){var Qn=mr[yr],fr=Qn.nodes[0],wr={},xn={};Qn.nodes.forEach(function(Hr,Wa){xn[Hr.id]={idx:Wa,node:Hr,degree:0,inDegree:0,outDegree:0};var Oi=Hr[s];wr[Oi]?wr[Oi]++:wr[Oi]=1});var dr=[],_r={};e.edges.forEach(function(Hr){xn[Hr.source]&&xn[Hr.target]&&(dr.push(Hr),_r[Hr[o]]?_r[Hr[o]]++:_r[Hr[o]]=1,xn[Hr.source].degree++,xn[Hr.target].degree++,xn[Hr.source].outDegree++,xn[Hr.target].inDegree++)});for(var wi=Object.keys(le).length,Er=!1,vr=0;vr<wi;vr++){var si=Object.keys(le)[vr];if(!_r[si]||_r[si]<le[si].length){Er=!0;break}}if(Er)return mr.splice(yr,1),"continue";var Ua=dr.length;if(Ua<t.edges.length)return mr.splice(yr,1),"break";for(var vi=!1,Ol=function(Wa){var Oi=dr[Wa],Hs=Oi[o],Dl=le[Hs];if(!Dl||!Dl.length)return _r[Hs]--,Dl&&_r[Hs]<Dl.length?(vi=!0,"break"):(dr.splice(Wa,1),xn[Oi.source].degree--,xn[Oi.target].degree--,xn[Oi.source].outDegree--,xn[Oi.target].inDegree--,"continue");var p2=xn[Oi.source].node[s],m2=xn[Oi.target].node[s],Ep=!1;if(Dl.forEach(function(y2){var _2=q[y2.source].node,E2=q[y2.target].node;_2[s]===p2&&E2[s]===m2&&(Ep=!0),!n&&_2[s]===m2&&E2[s]===p2&&(Ep=!0)}),!Ep)return _r[Hs]--,Dl&&_r[Hs]<Dl.length?(vi=!0,"break"):(dr.splice(Wa,1),xn[Oi.source].degree--,xn[Oi.target].degree--,xn[Oi.source].outDegree--,xn[Oi.target].inDegree--,"continue")},vr=Ua-1;vr>=0;vr--){var mu=Ol(vr);if(mu==="break")break}if(vi)return mr.splice(yr,1),"continue";Qn.edges=dr;var ua=Fh(Qn,Qn.nodes[0].id,!1).length;if(Object.keys(ua).reverse().forEach(function(Hr){if(!(Hr===Qn.nodes[0].id||vi)){if(ua[Hr]===1/0){var Wa=xn[Hr].node[s];if(wr[Wa]--,wr[Wa]<ne[Wa].length){vi=!0;return}var Oi=Qn.nodes.indexOf(xn[Hr].node);Qn.nodes.splice(Oi,1),xn[Hr]=void 0;return}var Hs=H[Hr].node[s];if(!ea[Hs]||!ea[Hs].length||ua[Hr]>ea[Hs][ea[Hs].length-1]){var Wa=xn[Hr].node[s];if(wr[Wa]--,wr[Wa]<ne[Wa].length){vi=!0;return}var Oi=Qn.nodes.indexOf(xn[Hr].node);Qn.nodes.splice(Oi,1),xn[Hr]=void 0}}}),vi)return mr.splice(yr,1),"continue";for(var ns=!0,Ws=0;ns&&!vi;){ns=!1;var Go=n?xn[fr.id].degree<q[Vt.id].degree||xn[fr.id].inDegree<q[Vt.id].inDegree||xn[fr.id].outDegree<q[Vt.id].outDegree:xn[fr.id].degree<q[Vt.id].degree;if(Go){vi=!0;break}if(wr[fr[s]]<ne[fr[s]].length){vi=!0;break}for(var ca=Qn.nodes.length,bs=ca-1;bs>=0;bs--){var oo=Qn.nodes[bs],v2=xn[oo.id].degree,u8=xn[oo.id].inDegree,c8=xn[oo.id].outDegree,h8=oo[s],_p=I_(bn,h8,q,ne),g2=_p.minPatternNodeLabelDegree,f8=_p.minPatternNodeLabelInDegree,d8=_p.minPatternNodeLabelOutDegree,v8=n?v2<g2||u8<f8||c8<d8:v2<g2;if(v8){if(wr[oo[s]]--,wr[oo[s]]<ne[oo[s]].length){vi=!0;break}Qn.nodes.splice(bs,1),xn[oo.id]=void 0,ns=!0}}if(vi||!ns&&Ws!==0)break;Ua=dr.length;for(var Xd=Ua-1;Xd>=0;Xd--){var lo=dr[Xd];if(!xn[lo.source]||!xn[lo.target]){dr.splice(Xd,1);var Yd=lo[o];if(_r[Yd]--,xn[lo.source]&&(xn[lo.source].degree--,xn[lo.source].outDegree--),xn[lo.target]&&(xn[lo.target].degree--,xn[lo.target].inDegree--),le[Yd]&&_r[Yd]<le[Yd].length){vi=!0;break}ns=!0}}Ws++}if(vi||vi||Qn.nodes.length<t.nodes.length||dr.length<t.edges.length)return mr.splice(yr,1),"continue"},Ii=Ho-1;Ii>=0;Ii--){var so=Hi(Ii);if(so==="break")break}for(var Gi=mr.length,wa=function(yr){var Qn=mr[yr],fr={};Qn.edges.forEach(function(dr){var _r="".concat(dr.source,"-").concat(dr.target,"-").concat(dr.label);fr[_r]?fr[_r]++:fr[_r]=1});for(var wr=function(_r){var wi=mr[_r],Er={};wi.edges.forEach(function(si){var Ua="".concat(si.source,"-").concat(si.target,"-").concat(si.label);Er[Ua]?Er[Ua]++:Er[Ua]=1});var vr=!0;Object.keys(Er).length!==Object.keys(fr).length?vr=!1:Object.keys(fr).forEach(function(si){Er[si]!==fr[si]&&(vr=!1)}),vr&&mr.splice(_r,1)},xn=Gi-1;xn>yr;xn--)wr(xn);Gi=mr.length},Ii=0;Ii<=Gi-1;Ii++)wa(Ii);return mr}}},YO=XO,QO=function(){function r(e){e===void 0&&(e=10),this.linkedList=new $y,this.maxStep=e}return Object.defineProperty(r.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),r.prototype.isEmpty=function(){return!this.linkedList.head},r.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},r.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},r.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},r.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},r.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},r.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},r}(),JO=QO,qO=o_,xU={getAdjMatrix:Rh,breadthFirstSearch:CS,connectedComponent:n_,getDegree:lg,getInDegree:RS,getOutDegree:IS,detectCycle:o_,detectDirectedCycle:qO,detectAllCycles:kS,detectAllDirectedCycle:s_,detectAllUndirectedCycle:a_,depthFirstSearch:i_,dijkstra:Fh,findAllPath:cO,findShortestPath:gg,floydWarshall:pg,labelPropagation:dO,louvain:y_,iLouvain:xO,kCore:wO,kMeans:AO,cosineSimilarity:E_,nodesCosineSimilarity:SO,minimumSpanningTree:BO,pageRank:b_,getNeighbors:qa,Stack:JO,GADDI:YO};function Et(r){if(r.id!==void 0)return r.id;if(r.source!==void 0&&r.target!==void 0)return`${r.source}-${r.target}`;throw new Error(Js("The datum does not have available id."))}function Vh(r){return r.combo}function N_(r,e){const t={nodes:(r.nodes||[]).map(Et),edges:(r.edges||[]).map(Et),combos:(r.combos||[]).map(Et)};return e?Object.values(t).flat():t}const B_=(r,e,t)=>{var n;switch(t.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const s=e(Et(a),t.direction).length;i.set(Et(a),s)}),i}case"betweenness":return $O(r,t.directed,t.weightPropertyName);case"closeness":return eD(r,t.directed,t.weightPropertyName);case"eigenvector":return nD(r,t.directed);case"pagerank":return tD(r,t.epsilon,t.linkProb);default:return k_(r)}},k_=r=>{var e;const t=new Map;return(e=r.nodes)===null||e===void 0||e.forEach(n=>{t.set(Et(n),0)}),t},$O=(r,e,t)=>{const n=k_(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(s=>{if(a!==s){const{allPath:o}=gg(r,Et(a),Et(s),e,t),l=o.length;o.flat().forEach(u=>{u!==Et(a)&&u!==Et(s)&&n.set(u,n.get(u)+1/l)})}})}),n},eD=(r,e,t)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const s=i.reduce((o,l)=>{if(a!==l){const{length:u}=gg(r,Et(a),Et(l),e,t);o+=u}return o},0);n.set(Et(a),1/s)}),n},tD=(r,e,t)=>{var n;const i=new Map,a=b_(r,e,t);return(n=r.nodes)===null||n===void 0||n.forEach(s=>{i.set(Et(s),a[Et(s)])}),i},nD=(r,e)=>{const{nodes:t=[]}=r,n=rD(r,e),i=iD(n,t.length),a=new Map;return t.forEach((s,o)=>{a.set(Et(s),i[o])}),a},rD=(r,e)=>{const{nodes:t=[],edges:n=[]}=r,i=Array(t.length).fill(null).map(()=>Array(t.length).fill(0));return n.forEach(({source:a,target:s})=>{const o=t.findIndex(u=>Et(u)===a),l=t.findIndex(u=>Et(u)===s);e?i[o][l]=1:(i[o][l]=1,i[l][o]=1)}),i},iD=(r,e,t=100,n=1e-6)=>{let i=Array(e).fill(1),a=1/0;for(let s=0;s<t&&a>n;s++){const o=Array(e).fill(0);for(let u=0;u<e;u++)for(let h=0;h<e;h++)o[u]+=r[u][h]*i[h];const l=Math.sqrt(o.reduce((u,h)=>u+h*h,0));for(let u=0;u<e;u++)o[u]/=l;a=Math.sqrt(o.reduce((u,h,p)=>u+(h-i[p])*h,0)),i=o}return i};function Ao(r,e,t,n=ci){const i=new Map(r.map(S=>[t(S),S])),a=new Map(e.map(S=>[t(S),S])),s=new Set(i.keys()),o=new Set(a.keys()),l=[],u=[],h=[],p=[];return o.forEach(S=>{s.has(S)?n(i.get(S),a.get(S))?p.push(a.get(S)):u.push(a.get(S)):l.push(a.get(S))}),s.forEach(S=>{o.has(S)||h.push(i.get(S))}),{enter:l,exit:h,keep:p,update:u}}function hl(r,e,t){const n=i=>{t&&!t(i)||(i.style.visibility=e)};r.forEach(i=>{n(i)})}function aD(r,e,t){const n={},i=a=>(a in n||(n[a]=0),`${e}-${a}-${n[a]++}`);return t.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class _g{constructor(e){this.extensions=[],this.extensionMap={},this.context=e}setExtensions(e){const t=aD(this.context.graph,this.category,e),{enter:n,update:i,exit:a,keep:s}=Ao(this.extensions,t,o=>o.key);this.createExtensions(n),this.updateExtensions([...i,...s]),this.destroyExtensions(a),this.extensions=t}createExtension(e){const{category:t}=this,{key:n,type:i}=e,a=Qs(t,i);if(!a)return Ea.warn(`The extension ${i} of ${t} is not registered.`);const s=new a(this.context,e);this.extensionMap[n]=s}createExtensions(e){e.forEach(t=>this.createExtension(t))}updateExtension(e){const{key:t}=e,n=this.extensionMap[t];n&&n.update(e)}updateExtensions(e){e.forEach(t=>this.updateExtension(t))}destroyExtension(e){const t=this.extensionMap[e];t&&(t.destroy(),delete this.extensionMap[e])}destroyExtensions(e){e.forEach(({key:t})=>this.destroyExtension(t))}destroy(){Object.values(this.extensionMap).forEach(e=>e.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class Eg{constructor(e,t){this.events=[],this.destroyed=!1,this.context=e,this.options=t}update(e){this.options=Object.assign(this.options,e)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Ca extends Eg{}class Zh extends Ca{constructor(e,t){super(e,Object.assign({},Zh.defaultOptions,t)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(s=>{const o=s.getShape("label").getRenderBounds();i.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(a.show.push(s),this.occupiedBounds.push(Mo(o,this.options.padding))):a.hide.push(s)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=Ao(n,i,s=>s.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,s=a.getData(),o=a.getRelatedEdgesData.bind(a);return n.map(u=>(this.nodeCentralities.has(u.id)||(this.nodeCentralities=B_(s,o,i)),{node:u,centrality:this.nodeCentralities.get(u.id)})).sort((u,h)=>h.centrality-u.centrality).map(u=>u.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:s,sortEdge:o}=this.options,{model:l}=this.context;if(yn(i))return n.sort((H,V)=>i(l.getElementDataById(H.id),l.getElementDataById(V.id)));const{node:u=[],edge:h=[],combo:p=[]}=Ch(n,H=>H.type),S=yn(s)?p.sort((H,V)=>s(...l.getComboData([H.id,V.id]))):p,N=yn(a)?u.sort((H,V)=>a(...l.getNodeData([H.id,V.id]))):this.sortNodesByCentrality(u,a),U=yn(o)?h.sort((H,V)=>o(...l.getEdgeData([H.id,V.id]))):h;return[...S,...N,...U]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:o,hide:l}=this.detectLabelCollision(s);for(let u=o.length-1;u>=0;u--)this.showLabel(o[u]);l.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&hl(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&hl(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=Qy(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:e}=this.context.element,t=[];for(const n in e){const i=e[n];i.isVisible()&&i.getShape("label")&&t.push(i)}return t}getLabelElementsInView(){const e=this.context.viewport;return this.getLabelElements().filter(t=>e.isInViewport(t.getShape("key").getRenderBounds()))}bindEvents(){const{graph:e}=this.context;e.on(Qt.BEFORE_RENDER,this.onBeforeRender),e.on(Qt.AFTER_RENDER,this.onAfterRender),e.on(Qt.AFTER_DRAW,this.toggle),e.on(Qt.AFTER_LAYOUT,this.toggle),e.on(Qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(Qt.BEFORE_RENDER,this.onBeforeRender),e.off(Qt.AFTER_RENDER,this.onAfterRender),e.off(Qt.AFTER_DRAW,this.toggle),e.off(Qt.AFTER_LAYOUT,this.toggle),e.off(Qt.AFTER_TRANSFORM,this.onTransform)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Zh.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var sD=function(r){if(!tg(r)||!Vp(r,"Object"))return!1;if(Object.getPrototypeOf(r)===null)return!0;for(var e=r;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e},Ql=sD,oD=5;function lD(r,e){if(Object.hasOwn)return Object.hasOwn(r,e);if(r==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(r),e)}function F_(r,e,t,n){t=t||0,n=n||oD;for(var i in e)if(lD(e,i)){var a=e[i];a!==null&&Ql(a)?(Ql(r[i])||(r[i]={}),t<n?F_(r[i],a,t+1,n):r[i]=e[i]):va(a)?(r[i]=[],r[i]=r[i].concat(a)):a!==void 0&&(r[i]=a)}}var uD=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)F_(r,e[n]);return r},sa=uD;const z_=[0,0,0];function Un(r,e){return r.map((t,n)=>t+e[n])}function Or(r,e){return r.map((t,n)=>t-e[n])}function ds(r,e){return typeof e=="number"?r.map(t=>t*e):r.map((t,n)=>t*e[n])}function vs(r,e){return typeof e=="number"?r.map(t=>t/e):r.map((t,n)=>t/e[n])}function cD(r,e){return r.reduce((t,n,i)=>t+n*e[i],0)}function hD(r,e){const t=qu(r),n=qu(e);return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function To(r,e){return r.map(t=>t*e)}function Wr(r,e){return Math.sqrt(r.reduce((t,n,i)=>t+Math.pow(n-e[i]||0,2),0))}function Kh(r,e){return r.reduce((t,n,i)=>t+Math.abs(n-e[i]),0)}function qs(r){const e=r.reduce((t,n)=>t+Math.pow(n,2),0);return r.map(t=>t/Math.sqrt(e))}function xg(r,e,t=!1){const n=r[0]*e[1]-r[1]*e[0];let i=Math.acos(ds(r,e).reduce((a,s)=>a+s,0)/(Wr(r,z_)*Wr(e,z_)));return t&&n<0&&(i=2*Math.PI-i),i}function bU(r,e){return r.every((t,n)=>t===e[n])}function Xh(r,e=!0){return e?[-r[1],r[0]]:[r[1],-r[0]]}function bg(r,e){return r.map(t=>t%e)}function fl(r){return[r[0],r[1]]}function qu(r){return pS(r)?[r[0],r[1],0]:r}function U_(r){const[e,t]=r;return!e&&!t?0:Math.atan2(t,e)}function W_(r,e){const[t,n]=r,[i,a]=e,s=Or(t,n),o=Or(i,a);return hD(s,o).every(l=>l===0)}function wg(r,e,t=!1){if(W_(r,e))return;const[n,i]=r,[a,s]=e,o=((n[0]-a[0])*(a[1]-s[1])-(n[1]-a[1])*(a[0]-s[0]))/((n[0]-i[0])*(a[1]-s[1])-(n[1]-i[1])*(a[0]-s[0])),l=s[0]-a[0]?(n[0]-a[0]+o*(i[0]-n[0]))/(s[0]-a[0]):(n[1]-a[1]+o*(i[1]-n[1]))/(s[1]-a[1]);if(!(!t&&(!Is(o,0,1)||!Is(l,0,1))))return[n[0]+o*(i[0]-n[0]),n[1]+o*(i[1]-n[1])]}function H_(r){if(Array.isArray(r))return Is(r[0],0,1)&&Is(r[1],0,1)?r:[.5,.5];const e=r.split("-"),t=e.includes("left")?0:e.includes("right")?1:.5,n=e.includes("top")?0:e.includes("bottom")?1:.5;return[t,n]}function Ti(r){const{x:e=0,y:t=0,z:n=0}=r.style||{};return[+e,+t,+n]}function fD(r){const{x:e,y:t,z:n}=r.style||{};return e!==void 0||t!==void 0||n!==void 0}function G_(r,e){const[t,n]=e,{min:i,max:a}=r;return[i[0]+t*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function $s(r,e="center"){const t=H_(e);return G_(r,t)}function wU(r,e){const t=parseAnchor(e);return G_(r,t)}const MU=r=>{const[e,t]=r;return{left:Math.min(e[0],t[0]),right:Math.max(e[0],t[0]),top:Math.min(e[1],t[1]),bottom:Math.max(e[1],t[1])}};function Fi(r){var e;return[r.x,r.y,(e=r.z)!==null&&e!==void 0?e:0]}function gs(r){var e;return{x:r[0],y:r[1],z:(e=r[2])!==null&&e!==void 0?e:0}}function AU(r){return r.sort((e,t)=>e[0]-t[0]||e[1]-t[1])}function TU(r){const e=new Set;return r.filter(t=>{const n=t.join(",");return e.has(n)?!1:(e.add(n),!0)})}function $u(r,e=0){return r.map(t=>parseFloat(t.toFixed(e)))}function Po(r,e,t,n=!1){if(ci(r,e))return r;const i=n?Or(r,e):Or(e,r),a=qs(i),s=[a[0]*t,a[1]*t];return Un(fl(r),s)}function j_(r,e){return r[1]===e[1]}function dD(r,e){return r[0]===e[0]}function vD(r,e){return j_(r,e)||dD(r,e)}function V_(r,e,t){return W_([r,e],[e,t])}function Z_(r,e){return[2*e[0]-r[0],2*e[1]-r[1]]}function K_(r,e,t,n=!0,i=!1){for(let a=0;a<t.length;a++){let s=t[a],o=t[(a+1)%t.length];n&&(s=Un(e,s),o=Un(e,o));const l=i?Z_(r,e):r,u=wg([e,l],[s,o]);if(u)return{point:u,line:[s,o]}}return{point:e,line:void 0}}function gD(r,e,t,n){const i=r[0],a=r[1];let s=!1;t===void 0&&(t=0),n===void 0&&(n=e.length);const o=n-t;for(let l=0,u=o-1;l<o;u=l++){const h=e[l+t][0],p=e[l+t][1],S=e[u+t][0],N=e[u+t][1];p>a!=N>a&&i<(S-h)*(a-p)/(N-p)+h&&(s=!s)}return s}function pD(r,e,t=!1){const n=$s(e,"center"),i=[$s(e,"left-top"),$s(e,"right-top"),$s(e,"right-bottom"),$s(e,"left-bottom")];return K_(r,n,i,!1,t).point}function Yh(r,e,t=!1){const n=e.center,i=t?Z_(r,n):r,a=Or(i,e.center),s=Math.atan2(a[1],a[0]);if(isNaN(s))return n;const o=Ns(e)/2,l=Bs(e)/2,u=n[0]+o*Math.cos(s),h=n[1]+l*Math.sin(s);return[u,h]}function mD(r,e){let t=1/0,n=[r[0],e[0]];return r.forEach(i=>{e.forEach(a=>{const s=Wr(i,a);s<t&&(t=s,n=[i,a])})}),n}function yD(r,e){let t=1/0,n=[[0,0],[0,0]];return e.forEach(i=>{const a=_D(r,i);a<t&&(t=a,n=i)}),n}function _D(r,e){const t=X_(r,e);return Wr(r,t)}function X_(r,e){const[t,n]=e[0],[i,a]=e[1],[s,o]=r,l=i-t,u=a-n;if(l===0&&u===0)return[t,n];let h=((s-t)*l+(o-n)*u)/(l*l+u*u);h>1?h=1:h<0&&(h=0);const p=t+h*l,S=n+h*u;return[p,S]}function ED(r){const e=r.reduce((t,n)=>Un(t,n),[0,0]);return vs(e,r.length)}function Mg(r,e=!0){const t=ED(r);return r.sort(([n,i],[a,s])=>{const o=Math.atan2(i-t[1],n-t[0]),l=Math.atan2(s-t[1],a-t[0]);return e?l-o:o-l})}function Y_(r,e){return[r,[r[0],e[1]],e,[e[0],r[1]]]}class hi{constructor(e,t,n){if(this.phase=t,this.pointerByTouch=[],this.initialDistance=null,this.emitter=e,hi.instance)return hi.callbacks[this.phase].push(n),hi.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),hi.instance=this,hi.callbacks[this.phase].push(n)}bindEvents(){const{emitter:e}=this;e.on(Lt.POINTER_DOWN,this.onPointerDown),e.on(Lt.POINTER_MOVE,this.onPointerMove),e.on(Lt.POINTER_UP,this.onPointerUp)}updatePointerPosition(e,t,n){const i=this.pointerByTouch.findIndex(a=>a.pointerId===e);i>=0&&(this.pointerByTouch[i]={x:t,y:n,pointerId:e})}onPointerDown(e){const{x:t,y:n}=e.client||{};if(!(t===void 0||n===void 0)&&(this.pointerByTouch.push({x:t,y:n,pointerId:e.pointerId}),e.pointerType==="touch"&&this.pointerByTouch.length===2)){hi.isPinching=!0;const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a),hi.callbacks.pinchstart.forEach(s=>s(e,{scale:0}))}}onPointerMove(e){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:t,y:n}=e.client||{};if(t===void 0||n===void 0)return;this.updatePointerPosition(e.pointerId,t,n);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,o=Math.sqrt(i*i+a*a)/this.initialDistance;hi.callbacks.pinchmove.forEach(l=>l(e,{scale:(o-1)*5}))}onPointerUp(e){var t;hi.callbacks.pinchend.forEach(n=>n(e,{scale:0})),hi.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(t=hi.instance)===null||t===void 0||t.tryDestroy()}destroy(){this.emitter.off(Lt.POINTER_DOWN,this.onPointerDown),this.emitter.off(Lt.POINTER_MOVE,this.onPointerMove),this.emitter.off(Lt.POINTER_UP,this.onPointerUp),hi.instance=null}off(e,t){const n=hi.callbacks[e].indexOf(t);n>-1&&hi.callbacks[e].splice(n,1),this.tryDestroy()}tryDestroy(){Object.values(hi.callbacks).every(e=>e.length===0)&&this.destroy()}}hi.isPinching=!1,hi.instance=null,hi.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const Q_=r=>r.map(e=>ur(e)?e.toLocaleLowerCase():e);class Jl{constructor(e){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=t=>{t!=null&&t.key&&(this.recordKey.add(t.key),this.trigger(t))},this.onKeyUp=t=>{t!=null&&t.key&&this.recordKey.delete(t.key)},this.onWheel=t=>{this.triggerExtendKey(Lt.WHEEL,t)},this.onDrag=t=>{this.triggerExtendKey(Lt.DRAG,t)},this.handlePinch=(t,n)=>{this.triggerExtendKey(Lt.PINCH,Object.assign(Object.assign({},t),n))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=e,this.bindEvents()}bind(e,t){e.length!==0&&(e.includes(Lt.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new hi(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(e,t))}unbind(e,t){this.map.forEach((n,i)=>{ci(i,e)&&(!t||t===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(e){const t=Q_(Array.from(this.recordKey)).sort(),n=Q_(e).sort();return ci(t,n)}bindEvents(){var e;const{emitter:t}=this;t.on(Lt.KEY_DOWN,this.onKeyDown),t.on(Lt.KEY_UP,this.onKeyUp),t.on(Lt.WHEEL,this.onWheel),t.on(Lt.DRAG,this.onDrag),(e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}trigger(e){this.map.forEach((t,n)=>{this.match(n)&&t(e)})}triggerExtendKey(e,t){this.map.forEach((n,i)=>{i.includes(e)&&ci(Array.from(this.recordKey),i.filter(a=>a!==e))&&n(t)})}destroy(){var e,t;this.unbindAll(),this.emitter.off(Lt.KEY_DOWN,this.onKeyDown),this.emitter.off(Lt.KEY_UP,this.onKeyUp),this.emitter.off(Lt.WHEEL,this.onWheel),this.emitter.off(Lt.DRAG,this.onDrag),(e=this.pinchHandler)===null||e===void 0||e.off("pinchmove",this.boundHandlePinch),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"blur",this.onFocus)}}class ec extends Ca{constructor(e,t){super(e,sa({},ec.defaultOptions,t)),this.shortcut=new Jl(e.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(e){if(!this.validate(e)||!this.isKeydown()||this.startPoint)return;const{canvas:t,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new ki({id:"g6-brush-select",style:i}),t.appendChild(this.rectShape),this.startPoint=[e.canvas.x,e.canvas.y]}onPointerMove(e){var t;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=Qh(e),(t=this.rectShape)===null||t===void 0||t.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),n&&i==="default"&&this.updateElementsStates(Y_(this.startPoint,this.endPoint))}onPointerUp(e){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=Qh(e),this.updateElementsStates(Y_(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:e}=this.context,t=Object.values(e.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,s)=>{var o;const l=(o=s.states||[])===null||o===void 0?void 0:o.filter(u=>u!==this.options.state);return a[Et(s)]=l,a},{})),{});e.setElementState(t,this.options.animation)}updateElementsStates(e){const{graph:t}=this.context,{enableElements:n,state:i,mode:a,onSelect:s}=this.options,o=this.selector(t,e,n);let l={};switch(a){case"union":o.forEach(u=>{l[u]=[...t.getElementState(u),i]});break;case"diff":o.forEach(u=>{const h=t.getElementState(u);l[u]=h.includes(i)?h.filter(p=>p!==i):[...h,i]});break;case"intersect":o.forEach(u=>{const h=t.getElementState(u);l[u]=h.includes(i)?[i]:[]});break;case"default":default:o.forEach(u=>{l[u]=[i]});break}yn(s)&&(l=s(l)),t.setElementState(l,this.options.animation)}selector(e,t,n){if(!n||n.length===0)return[];const i=[],a=e.getData();if(n.forEach(s=>{a[`${s}s`].forEach(o=>{const l=Et(o);e.getElementVisibility(l)!=="hidden"&&gD(e.getElementPosition(l),t)&&i.push(l)})}),n.includes("edge")){const s=a.edges;s==null||s.forEach(o=>{const{source:l,target:u}=o;i.includes(l)&&i.includes(u)&&i.push(Et(o))})}return i}clearBrush(){var e;(e=this.rectShape)===null||e===void 0||e.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:e}=this.options,t=Array.isArray(e)?e:[e];return this.shortcut.match(t.filter(n=>n!=="drag"))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}bindEvents(){const{graph:e}=this.context;e.on(Lt.POINTER_DOWN,this.onPointerDown),e.on(Lt.POINTER_MOVE,this.onPointerMove),e.on(Lt.POINTER_UP,this.onPointerUp),e.on(Ys.CLICK,this.clearStates)}unbindEvents(){const{graph:e}=this.context;e.off(Lt.POINTER_DOWN,this.onPointerDown),e.off(Lt.POINTER_MOVE,this.onPointerMove),e.off(Lt.POINTER_UP,this.onPointerUp),e.off(Ys.CLICK,this.clearStates)}update(e){this.unbindEvents(),this.options=sa(this.options,e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ec.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const Qh=r=>[r.canvas.x,r.canvas.y],eo=.8,dl=["node","edge","combo"];function vl(r,e,t,n,i=0){n==="TB"&&e(r,i);const a=t(r);if(a)for(const s of a)vl(s,e,t,n,i+1);n==="BT"&&e(r,i)}function xD(r,e,t){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();e(i,a);const s=t(i);if(s)for(const o of s)n.push([o,a+1])}}function J_(r,e,t,n,i="both"){if(e==="combo"||e==="node")return Ag(r,t,n,i);const a=r.getEdgeData(t);if(!a)return[];const s=Ag(r,a.source,n-1,i),o=Ag(r,a.target,n-1,i);return Array.from(new Set([...s,...o,t]))}function Ag(r,e,t,n="both"){const i=new Set,a=new Set,s=new Set;return xD(e,(o,l)=>{l>t||(s.add(o),r.getRelatedEdgesData(o,n).forEach(u=>{const h=Et(u);!a.has(h)&&l<t&&(s.add(h),a.add(h))}))},o=>r.getRelatedEdgesData(o,n).map(l=>l.source===o?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(s)}function Tg(r){return r.states||[]}var Jh=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class qh extends Ca{constructor(e,t){super(e,Object.assign({},qh.defaultOptions,t)),this.onClickSelect=n=>Jh(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>Jh(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Jl(e.graph),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),dl.forEach(t=>{e.on(`${t}:${Lt.CLICK}`,this.onClickSelect)}),e.on(Ys.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:e,trigger:t}=this.options;return e&&this.shortcut.match(t)}getNeighborIds(e){const{target:t,targetType:n}=e,{graph:i}=this.context,{degree:a}=this.options;return J_(i,n,t.id,typeof a=="function"?a(e):a).filter(s=>s!==t.id)}updateState(e){return Jh(this,void 0,void 0,function*(){const{state:t,unselectedState:n,neighborState:i,animation:a}=this.options;if(!t&&!i&&!n)return;const{target:s}=e,{graph:o}=this.context,l=o.getElementData(s.id),u=Tg(l).includes(t)?"unselect":"select",h={},p=this.isMultipleSelect,S=[s.id],N=this.getNeighborIds(e);if(p)if(Object.assign(h,this.getDataStates()),u==="select"){const U=(H,V)=>{H.forEach(Y=>{const q=new Set(o.getElementState(Y));q.add(V),q.delete(n),h[Y]=Array.from(q)})};U(S,t),U(N,i),n&&Object.keys(h).forEach(H=>{const V=h[H];!V.includes(t)&&!V.includes(i)&&!V.includes(n)&&h[H].push(n)})}else{const U=h[s.id];h[s.id]=U.filter(H=>H!==t&&H!==i),U.includes(n)||h[s.id].push(n),N.forEach(H=>{h[H]=h[H].filter(V=>V!==i),h[H].includes(t)||h[H].push(n)})}else if(u==="select"){Object.assign(h,this.getClearStates(!!n));const U=(H,V)=>{H.forEach(Y=>{h[Y]||(h[Y]=o.getElementState(Y)),h[Y].push(V)})};U(S,t),U(N,i),n&&Object.keys(h).forEach(H=>{!S.includes(H)&&!N.includes(H)&&h[H].push(n)})}else Object.assign(h,this.getClearStates());yield o.setElementState(h,a)})}getDataStates(){const{graph:e}=this.context,{nodes:t,edges:n,combos:i}=e.getData(),a={};return[...t,...n,...i].forEach(s=>{a[Et(s)]=Tg(s)}),a}getClearStates(e=!1){const{graph:t}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,s=new Set([n,i,a]),{nodes:o,edges:l,combos:u}=t.getData(),h={};return[...o,...l,...u].forEach(p=>{const S=Tg(p),N=S.filter(U=>!s.has(U));(e||N.length!==S.length)&&(h[Et(p)]=N)}),h}clearState(){return Jh(this,void 0,void 0,function*(){const{graph:e}=this.context;yield e.setElementState(this.getClearStates(),this.options.animation)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;dl.forEach(t=>{e.off(`${t}:${Lt.CLICK}`,this.onClickSelect)}),e.off(Ys.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}qh.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function xa(r){var e;return!!(!((e=r.style)===null||e===void 0)&&e.collapsed)}var ba=function(r,e,t){for(var n=0,i=ur(e)?e.split("."):e;r&&n<i.length;)r=r[i[n++]];return r===void 0||n<i.length?t:r},tc=function(r,e,t){var n=r,i=ur(e)?e.split("."):e;return i.forEach(function(a,s){s<i.length-1?(li(n[a])||(n[a]=un(i[s+1])?[]:{}),n=n[a]):n[a]=t}),r},bD=function(r){var e=Gy(r);return e.charAt(0).toLowerCase()+e.substring(1)},wD=bD;function nc(r,e){if(!r.startsWith(e))return!1;const t=r[e.length];return t>="A"&&t<="Z"}function q_(r,e){return`${e}${Oh(r)}`}function $_(r,e,t=!0){if(!e||!nc(r,e))return r;const n=r.slice(e.length);return t?wD(n):n}function Ei(r,e){const t=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||nc(i,e)&&Object.assign(n,{[$_(i,e)]:a}),n),{});if("opacity"in r){const n=q_("opacity",e),i=r.opacity;if(n in r){const a=r[n];Object.assign(t,{opacity:i*a})}else Object.assign(t,{opacity:i})}return t}function Pg(r,e){const t=e.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(e)){const a=i.slice(t);n[a]=r[i]}return n},{})}function e1(r,e){const t=typeof e=="string"?[e]:e,n={};return Object.keys(r).forEach(i=>{t.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function PU(r,e,t){return Object.entries(r).reduce((n,[i,a])=>(nc(i,e)?n[q_($_(i,e,!1),t)]=a:n[i]=a,n),{})}function La(r=0){if(typeof r=="number")return[r,r,r];const[e,t=e,n=e]=r;return[e,t,n]}var MD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function t1(r,e){const{datum:t,graph:n}=e;return typeof r=="function"?r.call(n,t):Object.fromEntries(Object.entries(r).map(([i,a])=>typeof a=="function"?[i,a.call(n,t)]:[i,a]))}function Di(r,e){const t=(r==null?void 0:r.style)||{},n=(e==null?void 0:e.style)||{};for(const i in t)i in n||(n[i]=t[i]);return Object.assign({},r,e,{style:n})}function AD(r){const{x:e,y:t,z:n,class:i,className:a,transform:s,transformOrigin:o,zIndex:l,visibility:u}=r;return MD(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function TD(r,e){const t=La(r);let n={};return e.text&&!e.fontSize&&(n={fontSize:Math.min(...t)*.5}),e.src&&(!e.width||!e.height)&&(n={width:t[0]*.5,height:t[1]*.5}),n}function n1(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:e=>e.id,color:r,invert:!1}:r}function PD(r,e){if(!e)return{};const{type:t,color:n,field:i,invert:a}=e,s=l=>{const u=typeof n=="string"?Qs("palette",n):n;if(typeof u=="function"){const h={};return l.forEach(([p,S])=>{h[p]=u(a?1-S:S)}),h}else if(Array.isArray(u)){const h=a?[...u].reverse():u,p={};return l.forEach(([S,N])=>{p[S]=h[N%u.length]}),p}return{}},o=(l,u)=>{var h;return typeof l=="string"?(h=u.data)===null||h===void 0?void 0:h[l]:l==null?void 0:l(u)};if(t==="group"){const l=Ch(r,S=>{if(!i)return"default";const N=o(i,S);return N?String(N):"default"}),u=Object.keys(l),h=s(u.map((S,N)=>[S,N])),p={};return Object.entries(l).forEach(([S,N])=>{N.forEach(U=>{p[Et(U)]=h[S]})}),p}else if(t==="value"){const[l,u]=r.reduce(([p,S],N)=>{const U=o(i,N);if(typeof U!="number")throw new Error(Js(`Palette field ${i} is not a number`));return[Math.min(p,U),Math.max(S,U)]},[1/0,-1/0]),h=u-l;return s(r.map(p=>[p.id,(o(i,p)-l)/h]))}}function r1(r){const e=typeof r=="string"?Qs("palette",r):r;if(typeof e!="function")return e}function i1(r,e){let t=2*r;return typeof e=="string"?t=r*Number(e.replace("%",""))/100:typeof e=="number"&&(t=e),isNaN(t)&&(t=2*r),t}function a1(r,e,t=1,n=!1){const i=n?t:1,a=(r.max[0]-r.min[0])*i;return i1(a,e)}function SD(r,e,t=1){const n=Wr(r[0],r[1])*t;return i1(n,e)}var OD={}.toString,DD=function(r){return OD.call(r).replace(/^\[object /,"").replace(/]$/,"")},CD=DD,LD=Object.prototype,RD=function(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||LD;return r===t},ID=RD,ND=Object.prototype.hasOwnProperty;function BD(r){if(Pn(r))return!0;if(Vu(r))return!r.length;var e=CD(r);if(e==="Map"||e==="Set")return!r.size;if(ID(r))return!Object.keys(r).length;for(var t in r)if(ND.call(r,t))return!1;return!0}var Fs=BD;class rc extends Gv{constructor(e){s1(e.style),super(e),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(e,t,n,i,a){var s,o,l,u,h,p,S,N;const U=this.shapeMap[e];if(n===!1){U&&((s=a==null?void 0:a.beforeDestroy)===null||s===void 0||s.call(a,U),i.removeChild(U),delete this.shapeMap[e],(o=a==null?void 0:a.afterDestroy)===null||o===void 0||o.call(a,U));return}const H=typeof t=="string"?Qs(Zu.SHAPE,t):t;if(!H)throw new Error(Js(`Shape ${t} not found`));if(!U||U.destroyed||!(U instanceof H)){U&&((l=a==null?void 0:a.beforeDestroy)===null||l===void 0||l.call(a,U),U==null||U.destroy(),(u=a==null?void 0:a.afterDestroy)===null||u===void 0||u.call(a,U)),(h=a==null?void 0:a.beforeCreate)===null||h===void 0||h.call(a);const V=new H({className:e,style:n});return i.appendChild(V),this.shapeMap[e]=V,(p=a==null?void 0:a.afterCreate)===null||p===void 0||p.call(a,V),V}return(S=a==null?void 0:a.beforeUpdate)===null||S===void 0||S.call(a,U),Yg(U,n),(N=a==null?void 0:a.afterUpdate)===null||N===void 0||N.call(a,U),U}update(e={}){const t=Object.assign({},this.attributes,e);s1(t),FL(this,t),this.render(t,this),this.setVisibility()}bindEvents(){}getGraphicStyle(e){return AD(e)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(e,t){if(e.length===0)return null;const n=[];if(e[0].x!==void 0||e[0].y!==void 0||e[0].z!==void 0){const{x:a=0,y:s=0,z:o=0}=this.attributes;e.forEach(l=>{const{x:u=a,y:h=s,z:p=o}=l;Object.assign(l,{transform:p?[["translate3d",u,h,p]]:[["translate",u,h]]})})}const i=super.animate(e,t);if(i&&(Sg(this,i),n.push(i)),Array.isArray(e)&&e.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(e[0]).some(s=>!a.includes(s))){Object.entries(this.shapeMap).forEach(([o,l])=>{const u=`get${Oh(o)}Style`,h=this[u];if(yn(h)){const p=e.map(N=>h.call(this,Object.assign(Object.assign({},this.attributes),N))),S=l.animate(ag(p),t);S&&(Sg(l,S),n.push(S))}});const s=(o,l)=>{if(!Fs(o)){const u=`get${Oh(l)}Style`,h=this[u];if(yn(h)){const p=e.map(S=>h.call(this,Object.assign(Object.assign({},this.attributes),S)));Object.entries(p[0]).map(([S])=>{const N=p.map(H=>H[S]),U=o[S];if(U){const H=U.animate(ag(N),t);H&&(Sg(U,H),n.push(H))}})}}};this.compositeShapes.forEach(([o,l])=>{const u=Pg(this.shapeMap,l);s(u,o)})}}return ig(n)}getShape(e){return this.shapeMap[e]}setVisibility(){const{visibility:e}=this.attributes;hl(this,e)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function Sg(r,e){e==null||e.finished.then(()=>{const t=r.activeAnimations.findIndex(n=>n===e);t>-1&&r.activeAnimations.splice(t,1)})}function s1(r){if(!r)return{};if("x"in r||"y"in r||"z"in r){const{x:e=0,y:t=0,z:n,transform:i}=r,a=Zy(e,t,n,i);a&&(r.transform=a)}return r}var kD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class So extends rc{constructor(e){super(Di({style:So.defaultStyleProps},e))}isTextStyle(e){return nc(e,"label")}isBackgroundStyle(e){return nc(e,"background")}getTextStyle(e){const t=this.getGraphicStyle(e),{padding:n}=t,i=kD(t,["padding"]);return e1(i,"background")}getBackgroundStyle(e){if(e.background===!1)return!1;const t=this.getGraphicStyle(e),{wordWrap:n,wordWrapWidth:i,padding:a}=t,s=Ei(t,"background"),{min:[o,l],center:[u,h],halfExtents:[p,S]}=this.shapeMap.text.getGeometryBounds(),[N,U,H,V]=cs(a),Y=p*2+V+U,{width:q,height:ne}=s;q&&ne?Object.assign(s,{x:u-Number(q)/2,y:h-Number(ne)/2}):Object.assign(s,{x:o-V,y:l-N,width:n?Math.min(Y,i+V+U):Y,height:S*2+N+H});const{radius:le}=s;if(typeof le=="string"&&le.endsWith("%")){const ue=Number(le.replace("%",""))/100;s.radius=Math.min(+s.width,+s.height)*ue}return s}render(e=this.parsedAttributes,t=this){this.upsert("text",ol,this.getTextStyle(e),t),this.upsert("background",ki,this.getBackgroundStyle(e),t)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}So.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class ql extends rc{constructor(e){super(Di({style:ql.defaultStyleProps},e))}getBadgeStyle(e){return this.getGraphicStyle(e)}render(e=this.parsedAttributes,t=this){this.upsert("label",So,this.getBadgeStyle(e),t)}getGeometryBounds(){const e=this.getShape("label");return(e.getShape("background")||e.getShape("text")).getGeometryBounds()}}ql.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function FD(r,e=!0){const t=[];return r.forEach((n,i)=>{t.push([i===0?"M":"L",...n])}),e&&t.push(["Z"]),t}const o1={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function zD(r){const e=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),t=[];let n="",i={};for(;e.length>0;){let a=e.shift();a in o1?n=a:e.unshift(a),i={type:n},o1[n].forEach(l=>{a=e.shift(),i[l]=a}),n==="M"?n="L":n==="m"&&(n="l");const[s,...o]=Object.values(i);t.push([s,...o.map(Number)])}return t}function UD(r){const e=[];return(typeof r=="string"?zD(r):r).forEach(n=>{const i=n[0];if(i==="Z"){e.push(e[0]);return}if(i!=="A")for(let a=1;a<n.length;a=a+2)e.push([n[a],n[a+1],0]);else{const a=n.length;e.push([n[a-2],n[a-1],0])}}),e}const l1=r=>{if(r.length<2)return[["M",0,0],["L",0,0]];const e=r[0],t=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(e,t);const a=[["M",n[0],n[1]]];for(let s=1;s<r.length-2;s+=1){const[o,l]=r[s-1],[u,h]=r[s],[p,S]=r[s+1],[N,U]=s!==r.length-2?r[s+2]:[p,S],H=u+(p-o)/6,V=h+(S-l)/6,Y=p-(N-u)/6,q=S-(U-h)/6;a.push(["C",H,V,Y,q,p,S])}return a};function WD(r,e,t,n,i,a,s){const[o,l]=$s(r,e),u={textAlign:e==="left"?"right":e==="right"?"left":"center",textBaseline:e==="top"?"bottom":e==="bottom"?"top":"middle",transform:[["translate",o+t,l+n]]};if(e==="center"||!i)return u;const h=UD(a);if(!h||h.length<=3)return u;const p=h.map((U,H)=>{const V=U,Y=h[(H+1)%h.length];return ci(V,Y)?null:[V,Y]}).filter(Boolean),S=yD([o,l],p),N=X_([o,l],S);if(N&&S&&(u.transform=[["translate",N[0]+t,N[1]+n]],s)){const U=Math.atan((S[0][1]-S[1][1])/(S[0][0]-S[1][0]));u.transform.push(["rotate",U/Math.PI*180]),u.textAlign="center",(e==="right"||e==="left")&&(U>0?u.textBaseline=e==="right"?"bottom":"top":u.textBaseline=e==="right"?"top":"bottom")}return u}var HD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class ic extends rc{constructor(e){super(Di({style:ic.defaultStyleProps},e))}getLabelStyle(e){if(!e.label||!e.d||e.d.length===0)return!1;const t=Ei(this.getGraphicStyle(e),"label"),{maxWidth:n,offsetX:i,offsetY:a,autoRotate:s,placement:o,closeToPath:l}=t,u=HD(t,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),h=this.shapeMap.key,p=h==null?void 0:h.getRenderBounds();return Object.assign(WD(p,o,i,a,l,e.d,s),{wordWrapWidth:a1(p,n)},u)}getKeyStyle(e){return this.getGraphicStyle(e)}render(e,t){this.upsert("key",Sa,this.getKeyStyle(e),t),this.upsert("label",So,this.getLabelStyle(e),t)}}ic.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function GD(r){const e=[],t=n=>{n!=null&&n.children.length&&n.children.forEach(i=>{e.push(i),t(i)})};return t(r),e}function jD(r){const e=[];let t=r.parentNode;for(;t;)e.push(t),t=t.parentNode;return e}class Og extends Hu{constructor(e){super(e),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},$l=this,this.isMutationObserved=!0,this.addEventListener(Kn.MOUNTED,this.onMounted),this.addEventListener(Kn.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:e,clipPath:t,width:n=0,height:i=0}=this.attributes;if(e&&n&&i){const[a,s]=this.getBounds().min,o={x:a,y:s,radius:e,width:n,height:i};if(t)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new ki({style:o});this.style.clipPath=l}}else t&&(this.style.clipPath=null)}}const Dg=new WeakMap;let $l=null;const Cg=r=>{if($l&&jD($l).includes(r)){const e=Dg.get(r);e?e.includes($l)||e.push($l):Dg.set(r,[$l])}},Lg=r=>{const e=Dg.get(r);e&&e.forEach(t=>t.handleRadius())};class u1 extends rc{constructor(e){super(e)}isImage(){const{src:e}=this.attributes;return!!e}getIconStyle(e=this.attributes){const{width:t=0,height:n=0}=e,i=this.getGraphicStyle(e);return this.isImage()?Object.assign({x:-t/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(e=this.attributes,t=this){this.upsert("icon",this.isImage()?Og:ol,this.getIconStyle(e),t)}}class c1 extends rc{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(e,t){const n=super.animate(e,t);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var $h=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class ps extends c1{constructor(e){super(Di({style:ps.defaultStyleProps},e)),this.type="node"}getSize(e=this.attributes){const{size:t}=e;return La(t)}getKeyStyle(e){const t=this.getGraphicStyle(e);return Object.assign(e1(t,["label","halo","icon","badge","port"]))}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=Ei(this.getGraphicStyle(e),"label"),{placement:n,maxWidth:i,offsetX:a,offsetY:s}=t,o=$h(t,["placement","maxWidth","offsetX","offsetY"]),l=this.getShape("key").getLocalBounds();return Object.assign(G1(l,n,a,s),{wordWrapWidth:a1(l,i)},o)}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),{fill:n}=t,i=$h(t,["fill"]),a=Ei(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign(Object.assign({},i),{stroke:n}),a)}getIconStyle(e){if(e.icon===!1||!e.iconText&&!e.iconSrc)return!1;const t=Ei(this.getGraphicStyle(e),"icon");return Object.assign(TD(e.size,t),t)}getBadgesStyle(e){var t;const n=Pg(this.shapeMap,"badge-"),i={};if(Object.keys(n).forEach(p=>{i[p]=!1}),e.badge===!1||!(!((t=e.badges)===null||t===void 0)&&t.length))return i;const{badges:a=[],badgePalette:s,opacity:o=1}=e,l=$h(e,["badges","badgePalette","opacity"]),u=r1(s),h=Ei(this.getGraphicStyle(l),"badge");return a.forEach((p,S)=>{i[S]=Object.assign(Object.assign({backgroundFill:u?u[S%(u==null?void 0:u.length)]:void 0,opacity:o},h),this.getBadgeStyle(p))}),i}getBadgeStyle(e){const t=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=e,s=$h(e,["placement","offsetX","offsetY"]),o=G1(t.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},o),s)}getPortsStyle(e){var t;const n=this.getPorts(),i={};if(Object.keys(n).forEach(o=>{i[o]=!1}),e.port===!1||!(!((t=e.ports)===null||t===void 0)&&t.length))return i;const a=Ei(this.getGraphicStyle(e),"port"),{ports:s=[]}=e;return s.forEach((o,l)=>{const u=o.key||l,h=Object.assign(Object.assign({},a),o);if(U1(h))i[u]=!1;else{const[p,S]=this.getPortXY(e,o);i[u]=Object.assign({transform:[["translate",p,S]]},h)}}),i}getPortXY(e,t){const{placement:n="left"}=t,i=this.getShape("key");return Zg(VD(this.context,i),n)}getPorts(){return Pg(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return pD(e,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e),i=this.getShape("key");this.upsert("halo",i.constructor,n,t)}drawIconShape(e,t){const n=this.getIconStyle(e);this.upsert("icon",u1,n,t),Cg(this)}drawBadgeShapes(e,t){const n=this.getBadgesStyle(e);Object.keys(n).forEach(i=>{const a=n[i];this.upsert(`badge-${i}`,ql,a,t)})}drawPortShapes(e,t){const n=this.getPortsStyle(e);Object.keys(n).forEach(i=>{const a=n[i],s=`port-${i}`;this.upsert(s,Ks,a,t)})}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",So,n,t)}_drawKeyShape(e,t){return this.drawKeyShape(e,t)}render(e=this.parsedAttributes,t=this){this._drawKeyShape(e,t),this.getShape("key")&&(this.drawHaloShape(e,t),this.drawIconShape(e,t),this.drawBadgeShapes(e,t),this.drawLabelShape(e,t),this.drawPortShapes(e,t))}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Lg(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}ps.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function VD(r,e){if(!r)return e.getLocalBounds();const t=r.canvas.getLayer(),n=e.cloneNode();hl(n,"hidden"),t.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}class gl extends ps{constructor(e){super(Di({style:gl.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ks,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{r:Math.min(...this.getSize(e))/2})}getIconStyle(e){const t=super.getIconStyle(e),{r:n}=this.getShape("key").attributes,i=n*2*eo;return t?Object.assign({width:i,height:i},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Yh(e,n,t)}}gl.defaultStyleProps={size:32};class ef extends ps{constructor(e){super(e)}get parsedAttributes(){return this.attributes}drawKeyShape(e,t){return this.upsert("key",sl,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{points:this.getPoints(e)})}getIntersectPoint(e,t=!1){var n,i;const{points:a}=this.getShape("key").attributes,s=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return K_(e,s,a,!0,t).point}}class ZD extends ef{constructor(e){super(e)}getPoints(e){const[t,n]=this.getSize(e);return BL(t,n)}}var KD=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class tf extends gl{constructor(e){super(Di({style:tf.defaultStyleProps},e))}parseOuterR(){const{size:e}=this.parsedAttributes;return Math.min(...La(e))/2}parseInnerR(){const{innerR:e}=this.parsedAttributes;return ur(e)?parseInt(e)/100*this.parseOuterR():e}drawDonutShape(e,t){const{donuts:n}=e;if(!(n!=null&&n.length))return;const i=n.map(p=>un(p)?{value:p}:p),a=Ei(this.getGraphicStyle(e),"donut"),s=r1(e.donutPalette);if(!s)return;const o=i.reduce((p,S)=>{var N;return p+((N=S.value)!==null&&N!==void 0?N:0)},0),l=this.parseOuterR(),u=this.parseInnerR();let h=0;i.forEach((p,S)=>{const{value:N=0,color:U=s[S%s.length]}=p,H=KD(p,["value","color"]),V=(o===0?1/i.length:N/o)*360;this.upsert(`round${S}`,Sa,Object.assign(Object.assign(Object.assign({},a),{d:QD(l,u,h,h+V),fill:U}),H),t),h+=V})}render(e,t=this){super.render(e,t),this.drawDonutShape(e,t)}}tf.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const nf=(r,e,t,n)=>[r+Math.sin(n)*t,e-Math.cos(n)*t],XD=(r,e,t,n)=>n<=0||t<=n?[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"]]:[["M",r-t,e],["A",t,t,0,1,1,r+t,e],["A",t,t,0,1,1,r-t,e],["Z"],["M",r+n,e],["A",n,n,0,1,0,r-n,e],["A",n,n,0,1,0,r+n,e],["Z"]],YD=(r,e,t,n,i,a)=>{const[s,o]=[i/360*2*Math.PI,a/360*2*Math.PI],l=[nf(r,e,n,s),nf(r,e,t,s),nf(r,e,t,o),nf(r,e,n,o)],u=o-s>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",t,t,0,u,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,u,0,l[0][0],l[0][1]],["Z"]]},QD=(r=0,e=0,t,n)=>{const[i,a]=[0,0];return Math.abs(t-n)%360<1e-6?XD(i,a,r,e):YD(i,a,r,e,t,n)};class rf extends ps{constructor(e){super(Di({style:rf.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Uu,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getSize(e);return Object.assign(Object.assign({},t),{rx:n/2,ry:i/2})}getIconStyle(e){const t=super.getIconStyle(e),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*eo;return t?Object.assign({width:a,height:a},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Yh(e,n,t)}}rf.defaultStyleProps={size:[45,35]};class JD extends ef{constructor(e){super(e)}getOuterR(e){return e.outerR||Math.min(...this.getSize(e))/2}getPoints(e){return zL(this.getOuterR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getOuterR(e)*eo;return t?Object.assign({width:n,height:n},t):!1}}function qD(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.r;r.arc(n,a,s,0,Math.PI*2,!1)}function $D(r,e){var t=e.cx,n=t===void 0?0:t,i=e.cy,a=i===void 0?0:i,s=e.rx,o=e.ry;if(r.ellipse)r.ellipse(n,a,s,o,0,0,Math.PI*2,!1);else{var l=s>o?s:o,u=s>o?1:s/o,h=s>o?o/s:1;r.save(),r.scale(u,h),r.arc(n,a,l,0,Math.PI*2)}}function eC(r,e){var t=e.x1,n=e.y1,i=e.x2,a=e.y2,s=e.markerStart,o=e.markerEnd,l=e.markerStartOffset,u=e.markerEndOffset,h=0,p=0,S=0,N=0,U=0,H,V;s&&cr(s)&&l&&(H=i-t,V=a-n,U=Math.atan2(V,H),h=Math.cos(U)*(l||0),p=Math.sin(U)*(l||0)),o&&cr(o)&&u&&(H=t-i,V=n-a,U=Math.atan2(V,H),S=Math.cos(U)*(u||0),N=Math.sin(U)*(u||0)),r.moveTo(t+h,n+p),r.lineTo(i+S,a+N)}function tC(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.d,o=s.absolutePath,l=s.segments,u=0,h=0,p=0,S=0,N=0,U,H;if(t&&cr(t)&&i){var V=t.parentNode.getStartTangent(),Y=(0,b.Z)(V,2),q=Y[0],ne=Y[1];U=q[0]-ne[0],H=q[1]-ne[1],N=Math.atan2(H,U),u=Math.cos(N)*(i||0),h=Math.sin(N)*(i||0)}if(n&&cr(n)&&a){var le=n.parentNode.getEndTangent(),ue=(0,b.Z)(le,2),fe=ue[0],de=ue[1];U=fe[0]-de[0],H=fe[1]-de[1],N=Math.atan2(H,U),p=Math.cos(N)*(a||0),S=Math.sin(N)*(a||0)}for(var ve=0;ve<o.length;ve++){var Te=o[ve],Oe=Te[0],Ie=o[ve+1],ze=ve===0&&(u!==0||h!==0),Xe=(ve===o.length-1||Ie&&(Ie[0]==="M"||Ie[0]==="Z"))&&p!==0&&S!==0,et=ze?[u,h]:[0,0],st=(0,b.Z)(et,2),bt=st[0],_t=st[1],ct=Xe?[p,S]:[0,0],ft=(0,b.Z)(ct,2),At=ft[0],Ft=ft[1];switch(Oe){case"M":r.moveTo(Te[1]+bt,Te[2]+_t);break;case"L":r.lineTo(Te[1]+At,Te[2]+Ft);break;case"Q":r.quadraticCurveTo(Te[1],Te[2],Te[3]+At,Te[4]+Ft);break;case"C":r.bezierCurveTo(Te[1],Te[2],Te[3],Te[4],Te[5]+At,Te[6]+Ft);break;case"A":{var Vt=l[ve].arcParams,nn=Vt.cx,hn=Vt.cy,rn=Vt.rx,bn=Vt.ry,Dn=Vt.startAngle,kn=Vt.endAngle,$n=Vt.xRotation,or=Vt.sweepFlag;if(r.ellipse)r.ellipse(nn,hn,rn,bn,$n,Dn,kn,!!(1-or));else{var $i=rn>bn?rn:bn,mr=rn>bn?1:rn/bn,za=rn>bn?bn/rn:1;r.translate(nn,hn),r.rotate($n),r.scale(mr,za),r.arc(0,0,$i,Dn,kn,!!(1-or)),r.scale(1/mr,1/za),r.rotate(-$n),r.translate(-nn,-hn)}Xe&&r.lineTo(Te[6]+p,Te[7]+S);break}case"Z":r.closePath();break}}}function nC(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],u=s[0][1],h=s[o-1][0],p=s[o-1][1],S=0,N=0,U=0,H=0,V=0,Y,q;t&&cr(t)&&i&&(Y=s[1][0]-s[0][0],q=s[1][1]-s[0][1],V=Math.atan2(q,Y),S=Math.cos(V)*(i||0),N=Math.sin(V)*(i||0)),n&&cr(n)&&a&&(Y=s[o-1][0]-s[0][0],q=s[o-1][1]-s[0][1],V=Math.atan2(q,Y),U=Math.cos(V)*(a||0),H=Math.sin(V)*(a||0)),r.moveTo(l+(S||U),u+(N||H));for(var ne=1;ne<o-1;ne++){var le=s[ne];r.lineTo(le[0],le[1])}r.lineTo(h,p)}function rC(r,e){var t=e.markerStart,n=e.markerEnd,i=e.markerStartOffset,a=e.markerEndOffset,s=e.points.points,o=s.length,l=s[0][0],u=s[0][1],h=s[o-1][0],p=s[o-1][1],S=0,N=0,U=0,H=0,V=0,Y,q;t&&cr(t)&&i&&(Y=s[1][0]-s[0][0],q=s[1][1]-s[0][1],V=Math.atan2(q,Y),S=Math.cos(V)*(i||0),N=Math.sin(V)*(i||0)),n&&cr(n)&&a&&(Y=s[o-2][0]-s[o-1][0],q=s[o-2][1]-s[o-1][1],V=Math.atan2(q,Y),U=Math.cos(V)*(a||0),H=Math.sin(V)*(a||0)),r.moveTo(l+S,u+N);for(var ne=1;ne<o-1;ne++){var le=s[ne];r.lineTo(le[0],le[1])}r.lineTo(h+U,p+H)}function iC(r,e){var t=e.x,n=t===void 0?0:t,i=e.y,a=i===void 0?0:i,s=e.radius,o=e.width,l=e.height,u=o,h=l,p=s&&s.some(function(ue){return ue!==0});if(!p)r.rect(n,a,u,h);else{var S=o>0?1:-1,N=l>0?1:-1,U=S+N===0,H=s.map(function(ue){return Jr(ue,0,Math.min(Math.abs(u)/2,Math.abs(h)/2))}),V=(0,b.Z)(H,4),Y=V[0],q=V[1],ne=V[2],le=V[3];r.moveTo(S*Y+n,a),r.lineTo(u-S*q+n,a),q!==0&&r.arc(u-S*q+n,N*q+a,q,-N*Math.PI/2,S>0?0:Math.PI,U),r.lineTo(u+n,h-N*ne+a),ne!==0&&r.arc(u-S*ne+n,h-N*ne+a,ne,S>0?0:Math.PI,N>0?Math.PI/2:1.5*Math.PI,U),r.lineTo(S*le+n,h+a),le!==0&&r.arc(S*le+n,h-N*le+a,le,N>0?Math.PI/2:-Math.PI/2,S>0?Math.PI:0,U),r.lineTo(n,N*Y+a),Y!==0&&r.arc(S*Y+n,N*Y+a,Y,S>0?Math.PI:0,N>0?Math.PI*1.5:Math.PI/2,U)}}var aC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="canvas-path-generator",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){var n,i=(n={},(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(n,Ct.CIRCLE,qD),Ct.ELLIPSE,$D),Ct.RECT,iC),Ct.LINE,eC),Ct.POLYLINE,rC),Ct.POLYGON,nC),Ct.PATH,tC),Ct.TEXT,void 0),Ct.GROUP,void 0),Ct.IMAGE,void 0),(0,fn.Z)((0,fn.Z)((0,fn.Z)(n,Ct.HTML,void 0),Ct.MESH,void 0),Ct.FRAGMENT,void 0));this.context.pathGeneratorFactory=i}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(mo);var sC=P(),oC=P(),lC=P(),uC=De(),h1=function(){function r(){var e=this;(0,_.Z)(this,r),this.isHit=function(t,n,i,a){var s=e.context.pointInPathPickerFactory[t.nodeName];if(s){var o=mt(uC,i),l=qe(oC,R(lC,n[0],n[1],0),o);if(s(t,new Bi(l[0],l[1]),a,e.isPointInPath,e.context,e.runtime))return!0}return!1},this.isPointInPath=function(t,n){var i=e.runtime.offscreenCanvasCreator.getOrCreateContext(e.context.config.offscreenCanvas),a=e.context.pathGeneratorFactory[t.nodeName];return a&&(i.beginPath(),a(i,t.parsedStyle),i.closePath()),i.isPointInPath(n.x,n.y)}}return(0,F.Z)(r,[{key:"apply",value:function(t,n){var i,a=this,s=t.renderingService,o=t.renderingContext;this.context=t,this.runtime=n;var l=(i=o.root)===null||i===void 0?void 0:i.ownerDocument;s.hooks.pick.tapPromise(r.tag,function(){var u=(0,po.Z)((0,Yi.Z)().mark(function h(p){return(0,Yi.Z)().wrap(function(N){for(;;)switch(N.prev=N.next){case 0:return N.abrupt("return",a.pick(l,p));case 1:case"end":return N.stop()}},h)}));return function(h){return u.apply(this,arguments)}}()),s.hooks.pickSync.tap(r.tag,function(u){return a.pick(l,u)})}},{key:"pick",value:function(t,n){var i=n.topmost,a=n.position,s=a.x,o=a.y,l=R(sC,s,o,0),u=t.elementsFromBBox(l[0],l[1],l[0],l[1]),h=[],p=(0,Yo.Z)(u),S;try{for(p.s();!(S=p.n()).done;){var N=S.value,U=N.getWorldTransform(),H=this.isHit(N,l,U,!1);if(H){var V=ny(N);if(V){var Y=V.parsedStyle.clipPath,q=this.isHit(Y,l,Y.getWorldTransform(),!0);if(q){if(i)return n.picked=[N],n;h.push(N)}}else{if(i)return n.picked=[N],n;h.push(N)}}}}catch(ne){p.e(ne)}finally{p.f()}return n.picked=h,n}}])}();h1.tag="CanvasPicker";function cC(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.r,u=n.fill,h=n.stroke,p=n.lineWidth,S=p===void 0?1:p,N=n.increasedLineWidthForHitTesting,U=N===void 0?0:N,H=n.pointerEvents,V=H===void 0?"auto":H,Y=(S+U)/2,q=Xi(a,o,e.x,e.y),ne=nl(V,u,h),le=(0,b.Z)(ne,2),ue=le[0],fe=le[1];return ue&&fe||t?q<=l+Y:ue?q<=l:fe?q>=l-Y&&q<=l+Y:!1}function af(r,e,t,n){return r/(t*t)+e/(n*n)}function hC(r,e,t){var n=r.parsedStyle,i=n.cx,a=i===void 0?0:i,s=n.cy,o=s===void 0?0:s,l=n.rx,u=n.ry,h=n.fill,p=n.stroke,S=n.lineWidth,N=S===void 0?1:S,U=n.increasedLineWidthForHitTesting,H=U===void 0?0:U,V=n.pointerEvents,Y=V===void 0?"auto":V,q=e.x,ne=e.y,le=nl(Y,h,p),ue=(0,b.Z)(le,2),fe=ue[0],de=ue[1],ve=(N+H)/2,Te=(q-a)*(q-a),Oe=(ne-o)*(ne-o);return fe&&de||t?af(Te,Oe,l+ve,u+ve)<=1:fe?af(Te,Oe,l,u)<=1:de?af(Te,Oe,l-ve,u-ve)>=1&&af(Te,Oe,l+ve,u+ve)<=1:!1}function pl(r,e,t,n,i,a){return i>=r&&i<=r+t&&a>=e&&a<=e+n}function fC(r,e,t,n,i,a,s){var o=i/2;return pl(r-o,e-o,t,i,a,s)||pl(r+t-o,e-o,i,n,a,s)||pl(r+o,e+n-o,t,i,a,s)||pl(r-o,e+o,i,n,a,s)}function sf(r,e,t,n,i,a,s,o){var l=(Math.atan2(o-e,s-r)+Math.PI*2)%(Math.PI*2),u={x:r+t*Math.cos(l),y:e+t*Math.sin(l)};return Xi(u.x,u.y,s,o)<=a/2}function Oo(r,e,t,n,i,a,s){var o=Math.min(r,t),l=Math.max(r,t),u=Math.min(e,n),h=Math.max(e,n),p=i/2;return a>=o-p&&a<=l+p&&s>=u-p&&s<=h+p?em(r,e,t,n,a,s)<=i/2:!1}function f1(r,e,t,n,i){var a=r.length;if(a<2)return!1;for(var s=0;s<a-1;s++){var o=r[s][0],l=r[s][1],u=r[s+1][0],h=r[s+1][1];if(Oo(o,l,u,h,e,t,n))return!0}if(i){var p=r[0],S=r[a-1];if(Oo(p[0],p[1],S[0],S[1],e,t,n))return!0}return!1}var dC=1e-6;function Rg(r){return Math.abs(r)<dC?0:r<0?-1:1}function vC(r,e,t){return(t[0]-r[0])*(e[1]-r[1])===(e[0]-r[0])*(t[1]-r[1])&&Math.min(r[0],e[0])<=t[0]&&t[0]<=Math.max(r[0],e[0])&&Math.min(r[1],e[1])<=t[1]&&t[1]<=Math.max(r[1],e[1])}function d1(r,e,t){var n=!1,i=r.length;if(i<=2)return!1;for(var a=0;a<i;a++){var s=r[a],o=r[(a+1)%i];if(vC(s,o,[e,t]))return!0;Rg(s[1]-t)>0!=Rg(o[1]-t)>0&&Rg(e-(t-s[1])*(s[0]-o[0])/(s[1]-o[1])-s[0])<0&&(n=!n)}return n}function v1(r,e,t){for(var n=!1,i=0;i<r.length;i++){var a=r[i];if(n=d1(a,e,t),n)break}return n}function gC(r,e,t){var n=r.parsedStyle,i=n.x1,a=n.y1,s=n.x2,o=n.y2,l=n.lineWidth,u=l===void 0?1:l,h=n.increasedLineWidthForHitTesting,p=h===void 0?0:h,S=n.pointerEvents,N=S===void 0?"auto":S,U=n.fill,H=n.stroke,V=nl(N,U,H),Y=(0,b.Z)(V,2),q=Y[1];return!q&&!t||!u?!1:Oo(i,a,s,o,u+p,e.x,e.y)}function pC(r,e,t,n,i){for(var a=!1,s=e/2,o=0;o<r.length;o++){var l=r[o],u=l.currentPoint,h=l.params,p=l.prePoint,S=l.box;if(!(S&&!pl(S.x-s,S.y-s,S.width+e,S.height+e,t,n)))switch(l.command){case"L":case"Z":if(a=Oo(p[0],p[1],u[0],u[1],e,t,n),a)return!0;break;case"Q":var N=Ow(p[0],p[1],h[1],h[2],h[3],h[4],t,n);if(a=N<=e/2,a)return!0;break;case"C":var U=rm(p[0],p[1],h[1],h[2],h[3],h[4],h[5],h[6],t,n,i);if(a=U<=e/2,a)return!0;break;case"A":l.cubicParams||(l.cubicParams=iv(p[0],p[1],h[1],h[2],h[3],h[4],h[5],h[6],h[7],void 0));for(var H=l.cubicParams,V=p,Y=0;Y<H.length;Y+=6){var q=rm(V[0],V[1],H[Y],H[Y+1],H[Y+2],H[Y+3],H[Y+4],H[Y+5],t,n,i);if(V=[H[Y+4],H[Y+5]],a=q<=e/2,a)return!0}break}}return a}function mC(r,e,t,n,i,a){var s=r.parsedStyle,o=s.lineWidth,l=o===void 0?1:o,u=s.increasedLineWidthForHitTesting,h=u===void 0?0:u,p=s.stroke,S=s.fill,N=s.d,U=s.pointerEvents,H=U===void 0?"auto":U,V=N.segments,Y=N.hasArc,q=N.polylines,ne=N.polygons,le=nl(H,(ne==null?void 0:ne.length)&&S,p),ue=(0,b.Z)(le,2),fe=ue[0],de=ue[1],ve=Av(r),Te=!1;return fe||t?(Y?Te=n(r,e):Te=v1(ne,e.x,e.y)||v1(q,e.x,e.y),Te):((de||t)&&(Te=pC(V,l+h,e.x,e.y,ve)),Te)}function yC(r,e,t){var n=r.parsedStyle,i=n.stroke,a=n.fill,s=n.lineWidth,o=s===void 0?1:s,l=n.increasedLineWidthForHitTesting,u=l===void 0?0:l,h=n.points,p=n.pointerEvents,S=p===void 0?"auto":p,N=nl(S,a,i),U=(0,b.Z)(N,2),H=U[0],V=U[1],Y=!1;return(V||t)&&(Y=f1(h.points,o+u,e.x,e.y,!0)),!Y&&(H||t)&&(Y=d1(h.points,e.x,e.y)),Y}function _C(r,e,t){var n=r.parsedStyle,i=n.lineWidth,a=i===void 0?1:i,s=n.increasedLineWidthForHitTesting,o=s===void 0?0:s,l=n.points,u=n.pointerEvents,h=u===void 0?"auto":u,p=n.fill,S=n.stroke,N=nl(h,p,S),U=(0,b.Z)(N,2),H=U[1];return!H&&!t||!a?!1:f1(l.points,a+o,e.x,e.y,!1)}function EC(r,e,t,n,i){var a=r.parsedStyle,s=a.radius,o=a.fill,l=a.stroke,u=a.lineWidth,h=u===void 0?1:u,p=a.increasedLineWidthForHitTesting,S=p===void 0?0:p,N=a.x,U=N===void 0?0:N,H=a.y,V=H===void 0?0:H,Y=a.width,q=a.height,ne=a.pointerEvents,le=ne===void 0?"auto":ne,ue=nl(le,o,l),fe=(0,b.Z)(ue,2),de=fe[0],ve=fe[1],Te=s&&s.some(function(Xe){return Xe!==0}),Oe=h+S;if(Te){var ze=!1;return(ve||t)&&(ze=xC(U,V,Y,q,s.map(function(Xe){return Jr(Xe,0,Math.min(Math.abs(Y)/2,Math.abs(q)/2))}),Oe,e.x,e.y)),!ze&&(de||t)&&(ze=n(r,e)),ze}else{var Ie=Oe/2;if(de&&ve||t)return pl(U-Ie,V-Ie,Y+Ie,q+Ie,e.x,e.y);if(de)return pl(U,V,Y,q,e.x,e.y);if(ve)return fC(U,V,Y,q,Oe,e.x,e.y)}return!1}function xC(r,e,t,n,i,a,s,o){var l=(0,b.Z)(i,4),u=l[0],h=l[1],p=l[2],S=l[3];return Oo(r+u,e,r+t-h,e,a,s,o)||Oo(r+t,e+h,r+t,e+n-p,a,s,o)||Oo(r+t-p,e+n,r+S,e+n,a,s,o)||Oo(r,e+n-S,r,e+u,a,s,o)||sf(r+t-h,e+h,h,1.5*Math.PI,2*Math.PI,a,s,o)||sf(r+t-p,e+n-p,p,0,.5*Math.PI,a,s,o)||sf(r+S,e+n-S,S,.5*Math.PI,Math.PI,a,s,o)||sf(r+u,e+u,u,Math.PI,1.5*Math.PI,a,s,o)}function bC(r,e,t,n,i,a){var s=r.parsedStyle,o=s.pointerEvents,l=o===void 0?"auto":o,u=s.x,h=u===void 0?0:u,p=s.y,S=p===void 0?0:p,N=s.width,U=s.height;if(l==="non-transparent-pixel"){var H=i.config.offscreenCanvas,V=a.offscreenCanvasCreator.getOrCreateCanvas(H),Y=a.offscreenCanvasCreator.getOrCreateContext(H,{willReadFrequently:!0});V.width=N,V.height=U,i.defaultStyleRendererFactory[Ct.IMAGE].render(Y,(0,G.Z)((0,G.Z)({},r.parsedStyle),{},{x:0,y:0}),r,void 0,void 0,void 0);var q=Y.getImageData(e.x-h,e.y-S,1,1).data;return q.every(function(ne){return ne!==0})}return!0}function wC(r,e,t,n){var i=r.getGeometryBounds();return e.x>=i.min[0]&&e.y>=i.min[1]&&e.x<=i.max[0]&&e.y<=i.max[1]}var MC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="canvas-picker",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){var n,i=(n={},(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(n,Ct.CIRCLE,cC),Ct.ELLIPSE,hC),Ct.RECT,EC),Ct.LINE,gC),Ct.POLYLINE,_C),Ct.POLYGON,yC),Ct.PATH,mC),Ct.TEXT,wC),Ct.GROUP,null),Ct.IMAGE,bC),(0,fn.Z)((0,fn.Z)(n,Ct.HTML,null),Ct.MESH,null));this.context.pointInPathPickerFactory=i,this.addRenderingPlugin(new h1)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(mo);function zs(r,e){if(!{}.hasOwnProperty.call(r,e))throw new TypeError("attempted to use private field on non-instance");return r}var AC=0;function TC(r){return"__private_"+AC+++"_"+r}var PC=function(){function r(){(0,_.Z)(this,r),this.cacheStore=new Map}return(0,F.Z)(r,[{key:"onRefAdded",value:function(t){}},{key:"has",value:function(t){return this.cacheStore.has(t)}},{key:"put",value:function(t,n,i){return this.cacheStore.has(t)?!1:(this.cacheStore.set(t,{value:n,counter:new Set([i.entity])}),this.onRefAdded(i),!0)}},{key:"get",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.has(n.entity)||(i.counter.add(n.entity),this.onRefAdded(n)),i.value):null}},{key:"update",value:function(t,n,i){var a=this.cacheStore.get(t);return a?(a.value=(0,G.Z)((0,G.Z)({},a.value),n),a.counter.has(i.entity)||(a.counter.add(i.entity),this.onRefAdded(i)),!0):!1}},{key:"release",value:function(t,n){var i=this.cacheStore.get(t);return i?(i.counter.delete(n.entity),i.counter.size<=0&&this.cacheStore.delete(t),!0):!1}},{key:"releaseRef",value:function(t){var n=this;Array.from(this.cacheStore.keys()).forEach(function(i){n.release(i,t)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),Ig=[],Ng=[],Bg=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,null,[{key:"stop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;r.rafId&&(t.cancelAnimationFrame(r.rafId),r.rafId=null)}},{key:"executeTask",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r.api;Ig.length<=0&&Ng.length<=0||(Ng.forEach(function(n){return n()}),Ng=Ig.splice(0,r.TASK_NUM_PER_FRAME),r.rafId=t.requestAnimationFrame(function(){r.executeTask(t)}))}},{key:"sliceImage",value:function(t,n,i,a){for(var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:r.api,l=t.naturalWidth||t.width,u=t.naturalHeight||t.height,h=n-s,p=i-s,S=Math.ceil(l/h),N=Math.ceil(u/p),U={tileSize:[n,i],gridSize:[N,S],tiles:Array(N).fill(null).map(function(){return Array(S).fill(null)})},H=function(q){for(var ne=function(fe){Ig.push(function(){var de=fe*h,ve=q*p,Te=[Math.min(n,l-de),Math.min(i,u-ve)],Oe=Te[0],Ie=Te[1],ze=o.createCanvas();ze.width=n,ze.height=i;var Xe=ze.getContext("2d");Xe.drawImage(t,de,ve,Oe,Ie,0,0,Oe,Ie),U.tiles[q][fe]={x:de,y:ve,tileX:fe,tileY:q,data:ze},a()})},le=0;le<S;le++)ne(le)},V=0;V<N;V++)H(V);return r.stop(),r.executeTask(),U}}])}();Bg.TASK_NUM_PER_FRAME=10;var Ra=new PC;Ra.onRefAdded=function(e){var t=this;e.addEventListener(Kn.DESTROY,function(){t.releaseRef(e)},{once:!0})};var kg=function(){function r(e,t){(0,_.Z)(this,r),this.gradientCache={},this.patternCache={},this.context=e,this.runtime=t}return(0,F.Z)(r,[{key:"getImageSync",value:function(t,n,i){var a=ur(t)?t:t.src;if(Ra.has(a)){var s=Ra.get(a,n);if(s.img.complete)return i==null||i(s),s}return this.getOrCreateImage(t,n).then(function(o){i==null||i(o)}).catch(function(o){console.error(o)}),null}},{key:"getOrCreateImage",value:function(t,n){var i=this,a=ur(t)?t:t.src;if(!ur(t)&&!Ra.has(a)){var s={img:t,size:[t.naturalWidth||t.width,t.naturalHeight||t.height],tileSize:of(t)};Ra.put(a,s,n)}if(Ra.has(a)){var o=Ra.get(a,n);return o.img.complete?Promise.resolve(o):new Promise(function(l,u){o.img.addEventListener("load",function(){o.size=[o.img.naturalWidth||o.img.width,o.img.naturalHeight||o.img.height],o.tileSize=of(o.img),l(o)}),o.img.addEventListener("error",function(h){u(h)})})}return new Promise(function(l,u){var h=i.context.config.createImage();if(h){var p={img:h,size:[0,0],tileSize:of(h)};Ra.put(a,p,n),h.onload=function(){p.size=[h.naturalWidth||h.width,h.naturalHeight||h.height],p.tileSize=of(p.img),l(p)},h.onerror=function(S){u(S)},h.crossOrigin="Anonymous",h.src=a}})}},{key:"createDownSampledImage",value:function(){var e=(0,po.Z)((0,Yi.Z)().mark(function n(i,a){var s,o,l,u,h,p,S,N,U,H,V,Y,q,ne;return(0,Yi.Z)().wrap(function(ue){for(;;)switch(ue.prev=ue.next){case 0:return ue.next=2,this.getOrCreateImage(i,a);case 2:if(s=ue.sent,typeof s.downSamplingRate=="undefined"){ue.next=5;break}return ue.abrupt("return",s);case 5:if(o=this.context.config.enableLargeImageOptimization,l=typeof o=="boolean"?{}:o,u=l.maxDownSampledImageSize,h=u===void 0?2048:u,p=l.downSamplingRateThreshold,S=p===void 0?.5:p,N=this.runtime.globalThis.createImageBitmap,U=(0,b.Z)(s.size,2),H=U[0],V=U[1],Y=s.img,q=Math.min((h+h)/(H+V),Math.max(.01,Math.min(S,.5))),ne=(0,G.Z)((0,G.Z)({},s),{},{downSamplingRate:q}),Ra.update(s.img.src,ne,a),!N){ue.next=25;break}return ue.prev=14,ue.next=17,N(s.img,{resizeWidth:H*q,resizeHeight:V*q});case 17:Y=ue.sent,ue.next=23;break;case 20:ue.prev=20,ue.t0=ue.catch(14),q=1;case 23:ue.next=26;break;case 25:q=1;case 26:return ne=(0,G.Z)((0,G.Z)({},this.getImageSync(i,a)),{},{downSampled:Y,downSamplingRate:q}),Ra.update(s.img.src,ne,a),ue.abrupt("return",ne);case 29:case"end":return ue.stop()}},n,this,[[14,20]])}));function t(n,i){return e.apply(this,arguments)}return t}()},{key:"createImageTiles",value:function(){var e=(0,po.Z)((0,Yi.Z)().mark(function n(i,a,s,o){var l,u,h,p,S;return(0,Yi.Z)().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,this.getOrCreateImage(i,o);case 2:return l=U.sent,u=o.ownerDocument.defaultView,h=u.requestAnimationFrame,p=u.cancelAnimationFrame,Bg.api={requestAnimationFrame:h,cancelAnimationFrame:p,createCanvas:function(){return zv.createCanvas()}},S=(0,G.Z)((0,G.Z)({},l),Bg.sliceImage(l.img,l.tileSize[0],l.tileSize[0],s)),Ra.update(l.img.src,S,o),U.abrupt("return",S);case 8:case"end":return U.stop()}},n,this)}));function t(n,i,a,s){return e.apply(this,arguments)}return t}()},{key:"releaseImage",value:function(t,n){Ra.release(ur(t)?t:t.src,n)}},{key:"releaseImageRef",value:function(t){Ra.releaseRef(t)}},{key:"getOrCreatePatternSync",value:function(t,n,i,a,s,o,l){var u=this.generatePatternKey(n);if(u&&this.patternCache[u])return this.patternCache[u];var h=n.image,p=n.repetition,S=n.transform,N,U=!1;if(ur(h)){var H=this.getImageSync(h,t,l);N=H==null?void 0:H.img}else a?(N=a,U=!0):N=h;var V=N&&i.createPattern(N,p);if(V){var Y;S?Y=cy(Ym(S),new Ur({})):Y=Ze(De()),U&&Bt(Y,Y,[1/s,1/s,1]),V.setTransform({a:Y[0],b:Y[1],c:Y[4],d:Y[5],e:Y[12]+o[0],f:Y[13]+o[1]})}return u&&V&&(this.patternCache[u]=V),V}},{key:"getOrCreateGradient",value:function(t,n){var i=this.generateGradientKey(t),a=t.type,s=t.steps,o=t.min,l=t.width,u=t.height,h=t.angle,p=t.cx,S=t.cy,N=t.size;if(this.gradientCache[i])return this.gradientCache[i];var U=null;if(a===yo.LinearGradient){var H=MM(o,l,u,h),V=H.x1,Y=H.y1,q=H.x2,ne=H.y2;U=n.createLinearGradient(V,Y,q,ne)}else if(a===yo.RadialGradient){var le=AM(o,l,u,p,S,N),ue=le.x,fe=le.y,de=le.r;U=n.createRadialGradient(ue,fe,0,ue,fe,de)}return U&&(s.forEach(function(ve){var Te=ve.offset,Oe=ve.color;if(Te.unit===$t.kPercentage){var Ie;(Ie=U)===null||Ie===void 0||Ie.addColorStop(Te.value/100,Oe.toString())}}),this.gradientCache[i]=U),this.gradientCache[i]}},{key:"generateGradientKey",value:function(t){var n=t.type,i=t.min,a=t.width,s=t.height,o=t.steps,l=t.angle,u=t.cx,h=t.cy,p=t.size;return"gradient-".concat(n,"-").concat((l==null?void 0:l.toString())||0,"-").concat((u==null?void 0:u.toString())||0,"-").concat((h==null?void 0:h.toString())||0,"-").concat((p==null?void 0:p.toString())||0,"-").concat(i[0],"-").concat(i[1],"-").concat(a,"-").concat(s,"-").concat(o.map(function(S){var N=S.offset,U=S.color;return"".concat(N).concat(U)}).join("-"))}},{key:"generatePatternKey",value:function(t){var n=t.image,i=t.repetition;if(ur(n))return"pattern-".concat(n,"-").concat(i);if(n.nodeName==="rect")return"pattern-".concat(n.entity,"-").concat(i)}}])}();kg.isSupportTile=!!zv.createCanvas();function of(r){if(!r.complete)return[0,0];var e=r.naturalWidth||r.width,t=r.naturalHeight||r.height,n=256;return[256,512].forEach(function(i){var a=Math.ceil(t/i),s=Math.ceil(e/i);a*s<1e3&&(n=i)}),[n,n]}var g1=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"apply",value:function(t){var n=t.renderingService,i=t.renderingContext,a=t.imagePool,s=i.root.ownerDocument.defaultView,o=function(p,S,N){var U=p.parsedStyle,H=U.width,V=U.height;H&&!V?p.setAttribute("height",N/S*H):!H&&V&&p.setAttribute("width",S/N*V)},l=function(p){var S=p.target,N=S.nodeName,U=S.attributes;if(N===Ct.IMAGE){var H=U.src,V=U.keepAspectRatio;a.getImageSync(H,S,function(Y){var q=Y.img,ne=q.width,le=q.height;V&&o(S,ne,le),S.renderable.dirty=!0,n.dirtify()})}},u=function(p){var S=p.target,N=p.attrName,U=p.prevValue,H=p.newValue;S.nodeName!==Ct.IMAGE||N!=="src"||(U!==H&&a.releaseImage(U,S),ur(H)&&a.getOrCreateImage(H,S).then(function(V){var Y=V.img,q=Y.width,ne=Y.height;S.attributes.keepAspectRatio&&o(S,q,ne),S.renderable.dirty=!0,n.dirtify()}).catch(function(){}))};n.hooks.init.tap(r.tag,function(){s.addEventListener(Kn.MOUNTED,l),s.addEventListener(Kn.ATTR_MODIFIED,u)}),n.hooks.destroy.tap(r.tag,function(){s.removeEventListener(Kn.MOUNTED,l),s.removeEventListener(Kn.ATTR_MODIFIED,u)})}}])}();g1.tag="LoadImage";var SC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="image-loader",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(n){this.context.imagePool=new kg(this.context,n),this.addRenderingPlugin(new g1)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(mo);var fi=TC("renderState"),p1=function(){function r(e){(0,_.Z)(this,r),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,fi,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=De(),this.dprMatrix=De(),this.tmpMat4=De(),this.vec3a=P(),this.vec3b=P(),this.vec3c=P(),this.vec3d=P(),this.canvasRendererPluginOptions=e}return(0,F.Z)(r,[{key:"apply",value:function(t,n){var i=this;this.context=t;var a=this.context,s=a.config,o=a.camera,l=a.renderingService,u=a.renderingContext,h=a.rBushRoot,p=a.pathGeneratorFactory,S=s.renderer.getConfig().enableRenderingOptimization;s.renderer.getConfig().enableDirtyCheck=!1,s.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=h,this.pathGeneratorFactory=p;var N=t.contextService,U=u.root.ownerDocument.defaultView,H=function(ne){var le=ne.target,ue=le.rBushNode;ue.aabb&&i.removedRBushNodeAABBs.push(ue.aabb)},V=function(ne){var le=ne.target,ue=le.rBushNode;ue.aabb&&i.removedRBushNodeAABBs.push(ue.aabb)};l.hooks.init.tap(r.tag,function(){U.addEventListener(Kn.UNMOUNTED,H),U.addEventListener(Kn.CULLED,V);var q=N.getDPR(),ne=s.width,le=s.height,ue=N.getContext();i.clearRect(ue,0,0,ne*q,le*q,s.background)}),l.hooks.destroy.tap(r.tag,function(){U.removeEventListener(Kn.UNMOUNTED,H),U.removeEventListener(Kn.CULLED,V),i.renderQueue=[],i.removedRBushNodeAABBs=[],zs(i,fi)[fi]={restoreStack:[],prevObject:null,currentContext:null}}),l.hooks.beginFrame.tap(r.tag,function(){var q,ne=N.getContext(),le=N.getDPR(),ue=s.width,fe=s.height,de=i.canvasRendererPluginOptions,ve=de.dirtyObjectNumThreshold,Te=de.dirtyObjectRatioThreshold,Oe=l.getStats(),Ie=Oe.total,ze=Oe.rendered,Xe=ze/Ie;i.clearFullScreen=i.clearFullScreenLastFrame||!((q=U.context.renderingPlugins[1])!==null&&q!==void 0&&q.isFirstTimeRenderingFinished)||l.disableDirtyRectangleRendering()||ze>ve&&Xe>Te,ne&&(typeof ne.resetTransform=="function"?ne.resetTransform():ne.setTransform(1,0,0,1,0,0),i.clearFullScreen&&i.clearRect(ne,0,0,ue*le,fe*le,s.background))});var Y=function(ne,le){for(var ue=[ne];ue.length>0;){var fe,de=ue.pop();de.isVisible()&&!de.isCulled()&&(S?i.renderDisplayObjectOptimized(de,le,i.context,zs(i,fi)[fi],n):i.renderDisplayObject(de,le,i.context,zs(i,fi)[fi],n));for(var ve=((fe=de.sortable)===null||fe===void 0||(fe=fe.sorted)===null||fe===void 0?void 0:fe.length)>0?de.sortable.sorted:de.childNodes,Te=ve.length-1;Te>=0;Te--)ue.push(ve[Te])}};l.hooks.endFrame.tap(r.tag,function(){if(u.root.childNodes.length===0){i.clearFullScreenLastFrame=!0;return}S=s.renderer.getConfig().enableRenderingOptimization,zs(i,fi)[fi]={restoreStack:[],prevObject:null,currentContext:zs(i,fi)[fi].currentContext},zs(i,fi)[fi].currentContext.clear(),i.clearFullScreenLastFrame=!1;var q=N.getContext(),ne=N.getDPR();if(ln(i.dprMatrix,[ne,ne,1]),vt(i.vpMatrix,i.dprMatrix,o.getOrthoMatrix()),i.clearFullScreen)S?(q.save(),Y(u.root,q),q.restore()):Y(u.root,q),i.removedRBushNodeAABBs=[];else{var le=i.safeMergeAABB.apply(i,[i.mergeDirtyAABBs(i.renderQueue)].concat((0,w.Z)(i.removedRBushNodeAABBs.map(function(rn){var bn=rn.minX,Dn=rn.minY,kn=rn.maxX,$n=rn.maxY,or=new Nr;return or.setMinMax([bn,Dn,0],[kn,$n,0]),or}))));if(i.removedRBushNodeAABBs=[],Nr.isEmpty(le)){i.renderQueue=[];return}var ue=i.convertAABB2Rect(le),fe=ue.x,de=ue.y,ve=ue.width,Te=ue.height,Oe=qe(i.vec3a,[fe,de,0],i.vpMatrix),Ie=qe(i.vec3b,[fe+ve,de,0],i.vpMatrix),ze=qe(i.vec3c,[fe,de+Te,0],i.vpMatrix),Xe=qe(i.vec3d,[fe+ve,de+Te,0],i.vpMatrix),et=Math.min(Oe[0],Ie[0],Xe[0],ze[0]),st=Math.min(Oe[1],Ie[1],Xe[1],ze[1]),bt=Math.max(Oe[0],Ie[0],Xe[0],ze[0]),_t=Math.max(Oe[1],Ie[1],Xe[1],ze[1]),ct=Math.floor(et),ft=Math.floor(st),At=Math.ceil(bt-et),Ft=Math.ceil(_t-st);q.save(),i.clearRect(q,ct,ft,At,Ft,s.background),q.beginPath(),q.rect(ct,ft,At,Ft),q.clip(),q.setTransform(i.vpMatrix[0],i.vpMatrix[1],i.vpMatrix[4],i.vpMatrix[5],i.vpMatrix[12],i.vpMatrix[13]);var Vt=s.renderer.getConfig(),nn=Vt.enableDirtyRectangleRenderingDebug;nn&&U.dispatchEvent(new _i(Oa.DIRTY_RECTANGLE,{dirtyRect:{x:ct,y:ft,width:At,height:Ft}}));var hn=i.searchDirtyObjects(le);hn.sort(function(rn,bn){return rn.sortable.renderOrder-bn.sortable.renderOrder}).forEach(function(rn){rn&&rn.isVisible()&&!rn.isCulled()&&i.renderDisplayObject(rn,q,i.context,zs(i,fi)[fi],n)}),q.restore(),i.renderQueue.forEach(function(rn){i.saveDirtyAABB(rn)}),i.renderQueue=[]}zs(i,fi)[fi].restoreStack.forEach(function(){q.restore()}),zs(i,fi)[fi].restoreStack=[]}),l.hooks.render.tap(r.tag,function(q){i.clearFullScreen||i.renderQueue.push(q)})}},{key:"clearRect",value:function(t,n,i,a,s,o){t.clearRect(n,i,a,s),o&&(t.fillStyle=o,t.fillRect(n,i,a,s))}},{key:"renderDisplayObjectOptimized",value:function(t,n,i,a,s){var o=t.nodeName,l=!1,u=!1,h=this.context.styleRendererFactory[o],p=this.pathGeneratorFactory[o],S=t.parsedStyle.clipPath;if(S){l=!a.prevObject||!Ut(S.getWorldTransform(),a.prevObject.getWorldTransform()),l&&(this.applyWorldTransform(n,S),a.prevObject=null);var N=this.pathGeneratorFactory[S.nodeName];N&&(n.save(),u=!0,n.beginPath(),N(n,S.parsedStyle),n.closePath(),n.clip())}if(h){l=!a.prevObject||!Ut(t.getWorldTransform(),a.prevObject.getWorldTransform()),l&&this.applyWorldTransform(n,t);var U=!a.prevObject;if(!U){var H=a.prevObject.nodeName;o===Ct.TEXT?U=H!==Ct.TEXT:o===Ct.IMAGE?U=H!==Ct.IMAGE:U=H===Ct.TEXT||H===Ct.IMAGE}h.applyStyleToContext(n,t,U,a),a.prevObject=t}p&&(n.beginPath(),p(n,t.parsedStyle),o!==Ct.LINE&&o!==Ct.PATH&&o!==Ct.POLYLINE&&n.closePath()),h&&h.drawToContext(n,t,zs(this,fi)[fi],this,s),u&&n.restore(),t.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(t,n,i,a,s){var o=t.nodeName,l=a.restoreStack[a.restoreStack.length-1];l&&!(t.compareDocumentPosition(l)&Yr.DOCUMENT_POSITION_CONTAINS)&&(n.restore(),a.restoreStack.pop());var u=this.context.styleRendererFactory[o],h=this.pathGeneratorFactory[o],p=t.parsedStyle.clipPath;if(p){this.applyWorldTransform(n,p);var S=this.pathGeneratorFactory[p.nodeName];S&&(n.save(),a.restoreStack.push(t),n.beginPath(),S(n,p.parsedStyle),n.closePath(),n.clip())}u&&(this.applyWorldTransform(n,t),n.save(),this.applyAttributesToContext(n,t)),h&&(n.beginPath(),h(n,t.parsedStyle),o!==Ct.LINE&&o!==Ct.PATH&&o!==Ct.POLYLINE&&n.closePath()),u&&(u.render(n,t.parsedStyle,t,i,this,s),n.restore()),t.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(t,n){var i=n.parsedStyle,a=i.stroke,s=i.fill,o=i.opacity,l=i.lineDash,u=i.lineDashOffset;l&&t.setLineDash(l),Pn(u)||(t.lineDashOffset=u),Pn(o)||(t.globalAlpha*=o),!Pn(a)&&!Array.isArray(a)&&!a.isNone&&(t.strokeStyle=n.attributes.stroke),!Pn(s)&&!Array.isArray(s)&&!s.isNone&&(t.fillStyle=n.attributes.fill)}},{key:"convertAABB2Rect",value:function(t){var n=t.getMin(),i=t.getMax(),a=Math.floor(n[0]),s=Math.floor(n[1]),o=Math.ceil(i[0]),l=Math.ceil(i[1]),u=o-a,h=l-s;return{x:a,y:s,width:u,height:h}}},{key:"mergeDirtyAABBs",value:function(t){var n=new Nr;return t.forEach(function(i){var a=i.getRenderBounds();n.add(a);var s=i.renderable.dirtyRenderBounds;s&&n.add(s)}),n}},{key:"searchDirtyObjects",value:function(t){var n=t.getMin(),i=(0,b.Z)(n,2),a=i[0],s=i[1],o=t.getMax(),l=(0,b.Z)(o,2),u=l[0],h=l[1],p=this.rBush.search({minX:a,minY:s,maxX:u,maxY:h});return p.map(function(S){var N=S.displayObject;return N})}},{key:"saveDirtyAABB",value:function(t){var n=t.renderable;n.dirtyRenderBounds||(n.dirtyRenderBounds=new Nr);var i=t.getRenderBounds();i&&n.dirtyRenderBounds.update(i.center,i.halfExtents)}},{key:"applyWorldTransform",value:function(t,n,i){i?(He(this.tmpMat4,n.getLocalTransform()),vt(this.tmpMat4,i,this.tmpMat4),vt(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(He(this.tmpMat4,n.getWorldTransform()),vt(this.tmpMat4,this.vpMatrix,this.tmpMat4)),t.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var t=new Nr,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return i.forEach(function(s){t.add(s)}),t}}])}();p1.tag="CanvasRenderer";function lf(r,e,t,n,i,a,s){var o,l;if(r.image.nodeName==="rect"){var u=r.image.parsedStyle,h=u.width,p=u.height;l=n.contextService.getDPR();var S=n.config.offscreenCanvas;o=a.offscreenCanvasCreator.getOrCreateCanvas(S),o.width=h*l,o.height=p*l;var N=a.offscreenCanvasCreator.getOrCreateContext(S),U={restoreStack:[],prevObject:null,currentContext:new Map};r.image.forEach(function(V){i.renderDisplayObject(V,N,n,U,a)}),U.restoreStack.forEach(function(){N.restore()})}var H=s.getOrCreatePatternSync(e,r,t,o,l,e.getGeometryBounds().min,function(){e.renderable.dirty=!0,n.renderingService.dirtify()});return H}function uf(r,e,t,n){var i;if(r.type===yo.LinearGradient||r.type===yo.RadialGradient){var a=e.getGeometryBounds(),s=a&&a.halfExtents[0]*2||1,o=a&&a.halfExtents[1]*2||1,l=a&&a.min||[0,0];i=n.getOrCreateGradient((0,G.Z)((0,G.Z)({type:r.type},r.value),{},{min:l,width:s,height:o}),t)}return i}var cf=["shadowBlur","shadowOffsetX","shadowOffsetY"],m1=["lineCap","lineJoin","miterLimit"],xi={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},y1={};function $r(r,e,t,n){var i=n.has(e)?n.get(e):xi[e];return i!==t&&(e==="lineDash"?r.setLineDash(t):r[e]=t,n.set(e,t)),i}var OC=function(){function r(e){(0,_.Z)(this,r),this.imagePool=e}return(0,F.Z)(r,[{key:"applyAttributesToContext",value:function(t,n){}},{key:"render",value:function(t,n,i,a,s,o){}},{key:"applyCommonStyleToContext",value:function(t,n,i,a){var s=i?y1:a.prevObject.parsedStyle,o=n.parsedStyle;(i||o.opacity!==s.opacity)&&$r(t,"globalAlpha",Pn(o.opacity)?xi.globalAlpha:o.opacity,a.currentContext),(i||o.blend!==s.blend)&&$r(t,"globalCompositeOperation",Pn(o.blend)?xi.globalCompositeOperation:o.blend,a.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(t,n,i,a){var s=i?y1:a.prevObject.parsedStyle,o=n.parsedStyle,l=o.lineWidth,u=l===void 0?xi.lineWidth:l,h=o.fill&&!o.fill.isNone,p=o.stroke&&!o.stroke.isNone&&u>0;if(p){if(i||n.attributes.stroke!==a.prevObject.attributes.stroke){var S=!Pn(o.stroke)&&!Array.isArray(o.stroke)&&!o.stroke.isNone?n.attributes.stroke:xi.strokeStyle;$r(t,"strokeStyle",S,a.currentContext)}(i||o.lineWidth!==s.lineWidth)&&$r(t,"lineWidth",Pn(o.lineWidth)?xi.lineWidth:o.lineWidth,a.currentContext),(i||o.lineDash!==s.lineDash)&&$r(t,"lineDash",o.lineDash||xi.lineDash,a.currentContext),(i||o.lineDashOffset!==s.lineDashOffset)&&$r(t,"lineDashOffset",Pn(o.lineDashOffset)?xi.lineDashOffset:o.lineDashOffset,a.currentContext);for(var N=0;N<m1.length;N++){var U=m1[N];(i||o[U]!==s[U])&&$r(t,U,Pn(o[U])?xi[U]:o[U],a.currentContext)}}if(h&&(i||n.attributes.fill!==a.prevObject.attributes.fill)){var H=!Pn(o.fill)&&!Array.isArray(o.fill)&&!o.fill.isNone?n.attributes.fill:xi.fillStyle;$r(t,"fillStyle",H,a.currentContext)}}},{key:"applyStyleToContext",value:function(t,n,i,a){var s=n.nodeName;this.applyCommonStyleToContext(t,n,i,a),s===Ct.IMAGE||this.applyStrokeFillStyleToContext(t,n,i,a)}},{key:"applyShadowAndFilterStyleToContext",value:function(t,n,i,a){var s=n.parsedStyle;if(i){$r(t,"shadowColor",s.shadowColor.toString(),a.currentContext);for(var o=0;o<cf.length;o++){var l=cf[o];$r(t,l,s[l]||xi[l],a.currentContext)}}s.filter&&s.filter.length&&$r(t,"filter",n.attributes.filter,a.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(t,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(n){$r(t,"shadowColor",xi.shadowColor,a.currentContext);for(var o=0;o<cf.length;o++){var l=cf[o];$r(t,l,xi[l],a.currentContext)}}if(i)if(n&&s){var u=t.filter;!Pn(u)&&u.indexOf("drop-shadow")>-1&&$r(t,"filter",u.replace(/drop-shadow\([^)]*\)/,"").trim()||xi.filter,a.currentContext)}else $r(t,"filter",xi.filter,a.currentContext)}},{key:"fillToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle,u=l.fill,h=l.fillRule,p=null;if(Array.isArray(u)&&u.length>0)u.forEach(function(N){var U=$r(t,"fillStyle",uf(N,n,t,o.imagePool),i.currentContext);p=p!=null?p:U,h?t.fill(h):t.fill()});else{if(el(u)){var S=lf(u,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);S&&(t.fillStyle=S,p=!0)}h?t.fill(h):t.fill()}p!==null&&$r(t,"fillStyle",p,i.currentContext)}},{key:"strokeToContext",value:function(t,n,i,a,s){var o=this,l=n.parsedStyle.stroke,u=null;if(Array.isArray(l)&&l.length>0)l.forEach(function(S){var N=$r(t,"strokeStyle",uf(S,n,t,o.imagePool),i.currentContext);u=u!=null?u:N,t.stroke()});else{if(el(l)){var h=lf(l,n,t,n.ownerDocument.defaultView.context,a,s,this.imagePool);if(h){var p=$r(t,"strokeStyle",h,i.currentContext);u=u!=null?u:p}}t.stroke()}u!==null&&$r(t,"strokeStyle",u,i.currentContext)}},{key:"drawToContext",value:function(t,n,i,a,s){var o,l=n.nodeName,u=n.parsedStyle,h=u.opacity,p=h===void 0?xi.globalAlpha:h,S=u.fillOpacity,N=S===void 0?xi.fillOpacity:S,U=u.strokeOpacity,H=U===void 0?xi.strokeOpacity:U,V=u.lineWidth,Y=V===void 0?xi.lineWidth:V,q=u.fill&&!u.fill.isNone,ne=u.stroke&&!u.stroke.isNone&&Y>0;if(!(!q&&!ne)){var le=!Pn(u.shadowColor)&&u.shadowBlur>0,ue=u.shadowType==="inner",fe=((o=u.fill)===null||o===void 0?void 0:o.alpha)===0,de=!!(u.filter&&u.filter.length),ve=le&&ne&&(l===Ct.PATH||l===Ct.LINE||l===Ct.POLYLINE||fe||ue),Te=null;if(q){ve||this.applyShadowAndFilterStyleToContext(t,n,le,i);var Oe=p*N;Te=$r(t,"globalAlpha",Oe,i.currentContext),this.fillToContext(t,n,i,a,s),ve||this.clearShadowAndFilterStyleForContext(t,le,de,i)}if(ne){var Ie=!1,ze=p*H,Xe=$r(t,"globalAlpha",ze,i.currentContext);if(Te=q?Te:Xe,ve&&(this.applyShadowAndFilterStyleToContext(t,n,le,i),Ie=!0,ue)){var et=t.globalCompositeOperation;t.globalCompositeOperation="source-atop",this.strokeToContext(t,n,i,a,s),t.globalCompositeOperation=et,this.clearShadowAndFilterStyleForContext(t,le,de,i,!0)}this.strokeToContext(t,n,i,a,s),Ie&&this.clearShadowAndFilterStyleForContext(t,le,de,i)}Te!==null&&$r(t,"globalAlpha",Te,i.currentContext)}}}])}(),Fg=function(r){function e(){return(0,_.Z)(this,e),(0,x.Z)(this,e,arguments)}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"render",value:function(n,i,a,s,o,l){var u=i.fill,h=i.fillRule,p=i.opacity,S=p===void 0?1:p,N=i.fillOpacity,U=N===void 0?1:N,H=i.stroke,V=i.strokeOpacity,Y=V===void 0?1:V,q=i.lineWidth,ne=q===void 0?1:q,le=i.lineCap,ue=i.lineJoin,fe=i.shadowType,de=i.shadowColor,ve=i.shadowBlur,Te=i.filter,Oe=i.miterLimit,Ie=u&&!u.isNone,ze=H&&!H.isNone&&ne>0,Xe=(u==null?void 0:u.alpha)===0,et=!!(Te&&Te.length),st=!Pn(de)&&ve>0,bt=a.nodeName,_t=fe==="inner",ct=ze&&st&&(bt===Ct.PATH||bt===Ct.LINE||bt===Ct.POLYLINE||Xe||_t);Ie&&(n.globalAlpha=S*U,ct||hf(a,n,st),_1(n,a,u,h,s,o,l,this.imagePool),ct||this.clearShadowAndFilter(n,et,st)),ze&&(n.globalAlpha=S*Y,n.lineWidth=ne,Pn(Oe)||(n.miterLimit=Oe),Pn(le)||(n.lineCap=le),Pn(ue)||(n.lineJoin=ue),ct&&(_t&&(n.globalCompositeOperation="source-atop"),hf(a,n,!0),_t&&(zg(n,a,H,s,o,l,this.imagePool),n.globalCompositeOperation=xi.globalCompositeOperation,this.clearShadowAndFilter(n,et,!0))),zg(n,a,H,s,o,l,this.imagePool))}},{key:"clearShadowAndFilter",value:function(n,i,a){if(a&&(n.shadowColor="transparent",n.shadowBlur=0),i){var s=n.filter;!Pn(s)&&s.indexOf("drop-shadow")>-1&&(n.filter=s.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(OC);function hf(r,e,t){var n=r.parsedStyle,i=n.filter,a=n.shadowColor,s=n.shadowBlur,o=n.shadowOffsetX,l=n.shadowOffsetY;i&&i.length&&(e.filter=r.style.filter),t&&(e.shadowColor=a.toString(),e.shadowBlur=s||0,e.shadowOffsetX=o||0,e.shadowOffsetY=l||0)}function _1(r,e,t,n,i,a,s,o){var l=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(t)?t.forEach(function(u){r.fillStyle=uf(u,e,r,o),l||(n?r.fill(n):r.fill())}):(el(t)&&(r.fillStyle=lf(t,e,r,i,a,s,o)),l||(n?r.fill(n):r.fill()))}function zg(r,e,t,n,i,a,s){var o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(t)?t.forEach(function(l){r.strokeStyle=uf(l,e,r,s),o||r.stroke()}):(el(t)&&(r.strokeStyle=lf(t,e,r,n,i,a,s)),o||r.stroke())}function DC(r,e){var t=(0,b.Z)(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=(0,b.Z)(e,4),l=o[0],u=o[1],h=o[2],p=o[3],S=Math.max(n,l),N=Math.max(i,u),U=Math.min(n+a,l+h),H=Math.min(i+s,u+p);return U<=S||H<=N?null:[S,N,U-S,H-N]}function CC(r,e){var t=qe(P(),[r[0],r[1],0],e),n=qe(P(),[r[0]+r[2],r[1],0],e),i=qe(P(),[r[0],r[1]+r[3],0],e),a=qe(P(),[r[0]+r[2],r[1]+r[3],0],e);return[Math.min(t[0],n[0],i[0],a[0]),Math.min(t[1],n[1],i[1],a[1]),Math.max(t[0],n[0],i[0],a[0])-Math.min(t[0],n[0],i[0],a[0]),Math.max(t[1],n[1],i[1],a[1])-Math.min(t[1],n[1],i[1],a[1])]}var LC=function(r){function e(){return(0,_.Z)(this,e),(0,x.Z)(this,e,arguments)}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"renderDownSampled",value:function(n,i,a,s){var o=s.src,l=s.imageCache;if(!l.downSampled){this.imagePool.createDownSampledImage(o,a).then(function(){a.ownerDocument&&(a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify())}).catch(function(u){console.error(u)});return}n.drawImage(l.downSampled,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}},{key:"renderTile",value:function(n,i,a,s){var o=s.src,l=s.imageCache,u=s.imageRect,h=s.drawRect,p=l.size,S=n.getTransform(),N=S.a,U=S.b,H=S.c,V=S.d,Y=S.e,q=S.f;if(n.resetTransform(),!(l!=null&&l.gridSize)){this.imagePool.createImageTiles(o,[],function(){a.ownerDocument&&(a.renderable.dirty=!0,a.ownerDocument.defaultView.context.renderingService.dirtify())},a).catch(function(st){console.error(st)});return}for(var ne=[p[0]/u[2],p[1]/u[3]],le=[l.tileSize[0]/ne[0],l.tileSize[1]/ne[1]],ue=[Math.floor((h[0]-u[0])/le[0]),Math.ceil((h[0]+h[2]-u[0])/le[0])],fe=ue[0],de=ue[1],ve=[Math.floor((h[1]-u[1])/le[1]),Math.ceil((h[1]+h[3]-u[1])/le[1])],Te=ve[0],Oe=ve[1],Ie=Te;Ie<=Oe;Ie++)for(var ze=fe;ze<=de;ze++){var Xe=l.tiles[Ie][ze];if(Xe){var et=[Math.floor(u[0]+Xe.tileX*le[0]),Math.floor(u[1]+Xe.tileY*le[1]),Math.ceil(le[0]),Math.ceil(le[1])];n.drawImage(Xe.data,et[0],et[1],et[2],et[3])}}n.setTransform(N,U,H,V,Y,q)}},{key:"render",value:function(n,i,a){var s=i.x,o=s===void 0?0:s,l=i.y,u=l===void 0?0:l,h=i.width,p=i.height,S=i.src,N=i.shadowColor,U=i.shadowBlur,H=this.imagePool.getImageSync(S,a),V=H==null?void 0:H.img,Y=h,q=p;if(V){Y||(Y=V.width),q||(q=V.height);var ne=!Pn(N)&&U>0;hf(a,n,ne);try{var le=a.ownerDocument.defaultView.getContextService().getDomElement(),ue=le.width,fe=le.height,de=n.getTransform(),ve=de.a,Te=de.b,Oe=de.c,Ie=de.d,ze=de.e,Xe=de.f,et=Je(ve,Oe,0,0,Te,Ie,0,0,0,0,1,0,ze,Xe,0,1),st=CC([o,u,Y,q],et),bt=DC([0,0,ue,fe],st);if(!bt)return;if(!a.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){e.renderFull(n,i,a,{image:V,drawRect:[o,u,Y,q]});return}var _t=st[2]/H.size[0];if(_t<(H.downSamplingRate||.5)){this.renderDownSampled(n,i,a,{src:S,imageCache:H,drawRect:[o,u,Y,q]});return}if(!kg.isSupportTile){e.renderFull(n,i,a,{image:V,drawRect:[o,u,Y,q]});return}this.renderTile(n,i,a,{src:S,imageCache:H,imageRect:st,drawRect:bt})}catch(ct){}}}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i)}}],[{key:"renderFull",value:function(n,i,a,s){n.drawImage(s.image,Math.floor(s.drawRect[0]),Math.floor(s.drawRect[1]),Math.ceil(s.drawRect[2]),Math.ceil(s.drawRect[3]))}}])}(Fg),RC=function(r){function e(){return(0,_.Z)(this,e),(0,x.Z)(this,e,arguments)}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"render",value:function(n,i,a,s,o,l){a.getBounds();var u=i.lineWidth,h=u===void 0?1:u,p=i.textAlign,S=p===void 0?"start":p,N=i.textBaseline,U=N===void 0?"alphabetic":N,H=i.lineJoin,V=H===void 0?"miter":H,Y=i.miterLimit,q=Y===void 0?10:Y,ne=i.letterSpacing,le=ne===void 0?0:ne,ue=i.stroke,fe=i.fill,de=i.fillRule,ve=i.fillOpacity,Te=ve===void 0?1:ve,Oe=i.strokeOpacity,Ie=Oe===void 0?1:Oe,ze=i.opacity,Xe=ze===void 0?1:ze,et=i.metrics,st=i.x,bt=st===void 0?0:st,_t=i.y,ct=_t===void 0?0:_t,ft=i.dx,At=i.dy,Ft=i.shadowColor,Vt=i.shadowBlur,nn=et.font,hn=et.lines,rn=et.height,bn=et.lineHeight,Dn=et.lineMetrics;n.font=nn,n.lineWidth=h,n.textAlign=S==="middle"?"center":S;var kn=U;kn==="alphabetic"&&(kn="bottom"),n.lineJoin=V,Pn(q)||(n.miterLimit=q);var $n=ct;U==="middle"?$n+=-rn/2-bn/2:U==="bottom"||U==="alphabetic"||U==="ideographic"?$n+=-rn:(U==="top"||U==="hanging")&&($n+=-bn);var or=bt+(ft||0);$n+=At||0,hn.length===1&&(kn==="bottom"?(kn="middle",$n-=.5*rn):kn==="top"&&(kn="middle",$n+=.5*rn)),n.textBaseline=kn;var $i=!Pn(Ft)&&Vt>0;hf(a,n,$i);for(var mr=0;mr<hn.length;mr++){var za=h/2+or;$n+=bn,!Pn(ue)&&!ue.isNone&&h&&this.drawLetterSpacing(n,a,hn[mr],Dn[mr],S,za,$n,le,fe,de,Te,ue,Ie,Xe,!0,s,o,l),Pn(fe)||this.drawLetterSpacing(n,a,hn[mr],Dn[mr],S,za,$n,le,fe,de,Te,ue,Ie,Xe,!1,s,o,l)}}},{key:"drawLetterSpacing",value:function(n,i,a,s,o,l,u,h,p,S,N,U,H,V,Y,q,ne,le){if(h===0){Y?this.strokeText(n,i,a,l,u,U,H,q,ne,le):this.fillText(n,i,a,l,u,p,S,N,V,q,ne,le);return}var ue=n.textAlign;n.textAlign="left";var fe=l;o==="center"||o==="middle"?fe=l-s.width/2:(o==="right"||o==="end")&&(fe=l-s.width);for(var de=Array.from(a),ve=n.measureText(a).width,Te=0,Oe=0;Oe<de.length;++Oe){var Ie=de[Oe];Y?this.strokeText(n,i,Ie,fe,u,U,H,q,ne,le):this.fillText(n,i,Ie,fe,u,p,S,N,V,q,ne,le),Te=n.measureText(a.substring(Oe+1)).width,fe+=ve-Te+h,ve=Te}n.textAlign=ue}},{key:"fillText",value:function(n,i,a,s,o,l,u,h,p,S,N,U){_1(n,i,l,u,S,N,U,this.imagePool,!0);var H,V=!Pn(h)&&h!==1;V&&(H=n.globalAlpha,n.globalAlpha=h*p),n.fillText(a,s,o),V&&(n.globalAlpha=H)}},{key:"strokeText",value:function(n,i,a,s,o,l,u,h,p,S){zg(n,i,l,h,p,S,this.imagePool,!0);var N,U=!Pn(u)&&u!==1;U&&(N=n.globalAlpha,n.globalAlpha=u),n.strokeText(a,s,o),U&&(n.globalAlpha=N)}},{key:"drawToContext",value:function(n,i,a,s,o){this.render(n,i.parsedStyle,i,i.ownerDocument.defaultView.context,s,o)}}])}(Fg),IC=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),t=(0,x.Z)(this,e),t.name="canvas-renderer",t.options=n,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){var n,i=(0,G.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),a=this.context.imagePool,s=new Fg(a),o=(n={},(0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)((0,fn.Z)(n,Ct.CIRCLE,s),Ct.ELLIPSE,s),Ct.RECT,s),Ct.IMAGE,new LC(a)),Ct.TEXT,new RC(a)),Ct.LINE,s),Ct.POLYLINE,s),Ct.POLYGON,s),Ct.PATH,s),Ct.GROUP,void 0),(0,fn.Z)((0,fn.Z)((0,fn.Z)(n,Ct.HTML,void 0),Ct.MESH,void 0),Ct.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=o,this.context.styleRendererFactory=o,this.addRenderingPlugin(new p1(i))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(mo);var E1=function(){function r(){(0,_.Z)(this,r)}return(0,F.Z)(r,[{key:"apply",value:function(t,n){var i=this,a=t.renderingService,s=t.renderingContext,o=t.config;this.context=t;var l=s.root.ownerDocument.defaultView,u=function(ve){a.hooks.pointerMove.call(ve)},h=function(ve){a.hooks.pointerUp.call(ve)},p=function(ve){a.hooks.pointerDown.call(ve)},S=function(ve){a.hooks.pointerOver.call(ve)},N=function(ve){a.hooks.pointerOut.call(ve)},U=function(ve){a.hooks.pointerCancel.call(ve)},H=function(ve){a.hooks.pointerWheel.call(ve)},V=function(ve){a.hooks.click.call(ve)},Y=function(ve){n.globalThis.document.addEventListener("pointermove",u,!0),ve.addEventListener("pointerdown",p,!0),ve.addEventListener("pointerleave",N,!0),ve.addEventListener("pointerover",S,!0),n.globalThis.addEventListener("pointerup",h,!0),n.globalThis.addEventListener("pointercancel",U,!0)},q=function(ve){ve.addEventListener("touchstart",p,!0),ve.addEventListener("touchend",h,!0),ve.addEventListener("touchmove",u,!0),ve.addEventListener("touchcancel",U,!0)},ne=function(ve){n.globalThis.document.addEventListener("mousemove",u,!0),ve.addEventListener("mousedown",p,!0),ve.addEventListener("mouseout",N,!0),ve.addEventListener("mouseover",S,!0),n.globalThis.addEventListener("mouseup",h,!0)},le=function(ve){n.globalThis.document.removeEventListener("pointermove",u,!0),ve.removeEventListener("pointerdown",p,!0),ve.removeEventListener("pointerleave",N,!0),ve.removeEventListener("pointerover",S,!0),n.globalThis.removeEventListener("pointerup",h,!0),n.globalThis.removeEventListener("pointercancel",U,!0)},ue=function(ve){ve.removeEventListener("touchstart",p,!0),ve.removeEventListener("touchend",h,!0),ve.removeEventListener("touchmove",u,!0),ve.removeEventListener("touchcancel",U,!0)},fe=function(ve){n.globalThis.document.removeEventListener("mousemove",u,!0),ve.removeEventListener("mousedown",p,!0),ve.removeEventListener("mouseout",N,!0),ve.removeEventListener("mouseover",S,!0),n.globalThis.removeEventListener("mouseup",h,!0)};a.hooks.init.tap(r.tag,function(){var de=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(de.style.msContentZooming="none",de.style.msTouchAction="none"):l.supportsPointerEvents&&(de.style.touchAction="none"),l.supportsPointerEvents?Y(de):ne(de),l.supportsTouchEvents&&q(de),o.useNativeClickEvent&&de.addEventListener("click",V,!0),de.addEventListener("wheel",H,{passive:!0,capture:!0})}),a.hooks.destroy.tap(r.tag,function(){var de=i.context.contextService.getDomElement();n.globalThis.navigator.msPointerEnabled?(de.style.msContentZooming="",de.style.msTouchAction=""):l.supportsPointerEvents&&(de.style.touchAction=""),l.supportsPointerEvents?le(de):fe(de),l.supportsTouchEvents&&ue(de),o.useNativeClickEvent&&de.removeEventListener("click",V,!0),de.removeEventListener("wheel",H,!0)})}}])}();E1.tag="DOMInteraction";var NC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="dom-interaction",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new E1)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(mo);var BC="g-canvas-camera",x1=function(){function r(){(0,_.Z)(this,r),this.displayObjectHTMLElementMap=new WeakMap}return(0,F.Z)(r,[{key:"joinTransformMatrix",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([t[0],t[1],t[4],t[5],t[12]+n[0],t[13]+n[1]].join(","),")")}},{key:"apply",value:function(t,n){var i=this,a=t.camera,s=t.renderingContext,o=t.renderingService;this.context=t;var l=s.root.ownerDocument.defaultView,u=l.context.eventService.nativeHTMLMap,h=function(Y,q){q.style.transform=i.joinTransformMatrix(Y.getWorldTransform(),Y.getOrigin())},p=function(Y){var q=Y.target;if(q.nodeName===Ct.HTML){i.$camera||(i.$camera=i.createCamera(a));var ne=i.getOrCreateEl(q);i.$camera.appendChild(ne),Object.keys(q.attributes).forEach(function(le){i.updateAttribute(le,q)}),h(q,ne),u.set(ne,q)}},S=function(Y){var q=Y.target;if(q.nodeName===Ct.HTML&&i.$camera){var ne=i.getOrCreateEl(q);ne&&(ne.remove(),u.delete(ne))}},N=function(Y){var q=Y.target;if(q.nodeName===Ct.HTML){var ne=Y.attrName;i.updateAttribute(ne,q)}},U=function(Y){var q=Y.target,ne=q.nodeName===Ct.FRAGMENT?q.childNodes:[q];ne.forEach(function(le){if(le.nodeName===Ct.HTML){var ue=i.getOrCreateEl(le);h(le,ue)}})},H=function(){if(i.$camera){var Y=i.context.config,q=Y.width,ne=Y.height;i.$camera.parentElement.style.width="".concat(q||0,"px"),i.$camera.parentElement.style.height="".concat(ne||0,"px")}};o.hooks.init.tap(r.tag,function(){l.addEventListener(Oa.RESIZE,H),l.addEventListener(Kn.MOUNTED,p),l.addEventListener(Kn.UNMOUNTED,S),l.addEventListener(Kn.ATTR_MODIFIED,N),l.addEventListener(Kn.BOUNDS_CHANGED,U)}),o.hooks.endFrame.tap(r.tag,function(){i.$camera&&s.renderReasons.has(Vl.CAMERA_CHANGED)&&(i.$camera.style.transform=i.joinTransformMatrix(a.getOrthoMatrix()))}),o.hooks.destroy.tap(r.tag,function(){i.$camera&&i.$camera.remove(),l.removeEventListener(Oa.RESIZE,H),l.removeEventListener(Kn.MOUNTED,p),l.removeEventListener(Kn.UNMOUNTED,S),l.removeEventListener(Kn.ATTR_MODIFIED,N),l.removeEventListener(Kn.BOUNDS_CHANGED,U)})}},{key:"createCamera",value:function(t){var n=this.context.config,i=n.document,a=n.width,s=n.height,o=this.context.contextService.getDomElement(),l=o.parentNode;if(l){var u=BC,h=l.querySelector("#".concat(u));if(!h){var p=(i||document).createElement("div");p.style.overflow="hidden",p.style.pointerEvents="none",p.style.position="absolute",p.style.left="0px",p.style.top="0px",p.style.width="".concat(a||0,"px"),p.style.height="".concat(s||0,"px");var S=(i||document).createElement("div");h=S,S.id=u,S.style.position="absolute",S.style.left="".concat(o.offsetLeft||0,"px"),S.style.top="".concat(o.offsetTop||0,"px"),S.style.transformOrigin="left top",S.style.transform=this.joinTransformMatrix(t.getOrthoMatrix()),S.style.pointerEvents="none",S.style.width="100%",S.style.height="100%",p.appendChild(S),l.appendChild(p)}return h}return null}},{key:"getOrCreateEl",value:function(t){var n=this.context.config.document,i=this.displayObjectHTMLElementMap.get(t);return i||(i=(n||document).createElement("div"),t.parsedStyle.$el=i,this.displayObjectHTMLElementMap.set(t,i),t.id&&(i.id=t.id),t.name&&i.setAttribute("name",t.name),t.className&&(i.className=t.className),i.style.position="absolute",i.style["will-change"]="transform",i.style.transform=this.joinTransformMatrix(t.getWorldTransform(),t.getOrigin())),i}},{key:"updateAttribute",value:function(t,n){var i=this.getOrCreateEl(n);switch(t){case"innerHTML":var a=n.parsedStyle.innerHTML;ur(a)?i.innerHTML=a:(i.innerHTML="",i.appendChild(a));break;case"x":i.style.left="".concat(n.parsedStyle.x,"px");break;case"y":i.style.top="".concat(n.parsedStyle.y,"px");break;case"transformOrigin":var s=n.parsedStyle.transformOrigin;i.style["transform-origin"]="".concat(s[0].buildCSSText(null,null,"")," ").concat(s[1].buildCSSText(null,null,""));break;case"width":var o=n.parsedStyle.width;i.style.width=un(o)?"".concat(o,"px"):o.toString();break;case"height":var l=n.parsedStyle.height;i.style.height=un(l)?"".concat(l,"px"):l.toString();break;case"zIndex":var u=n.parsedStyle.zIndex;i.style["z-index"]="".concat(u);break;case"visibility":var h=n.parsedStyle.visibility;i.style.visibility=h;break;case"pointerEvents":var p=n.parsedStyle.pointerEvents,S=p===void 0?"auto":p;i.style.pointerEvents=S;break;case"opacity":var N=n.parsedStyle.opacity;i.style.opacity="".concat(N);break;case"fill":var U=n.parsedStyle.fill,H="";eh(U)?U.isNone?H="transparent":H=n.getAttribute("fill"):Array.isArray(U)?H=n.getAttribute("fill"):el(U),i.style.background=H;break;case"stroke":var V=n.parsedStyle.stroke,Y="";eh(V)?V.isNone?Y="transparent":Y=n.getAttribute("stroke"):Array.isArray(V)?Y=n.getAttribute("stroke"):el(V),i.style["border-color"]=Y,i.style["border-style"]="solid";break;case"lineWidth":var q=n.parsedStyle.lineWidth;i.style["border-width"]="".concat(q||0,"px");break;case"lineDash":i.style["border-style"]="dashed";break;case"filter":var ne=n.style.filter;i.style.filter=ne;break;default:!Pn(n.style[t])&&n.style[t]!==""&&(i.style[t]=n.style[t])}}}])}();x1.tag="HTMLRendering";var kC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="html-renderer",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new x1)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(mo);var FC=function(){function r(e){(0,_.Z)(this,r),this.renderingContext=e.renderingContext,this.canvasConfig=e.config}return(0,F.Z)(r,[{key:"init",value:function(){var t=this.canvasConfig,n=t.container,i=t.canvas;if(i)this.$canvas=i,n&&i.parentElement!==n&&n.appendChild(i),this.$container=i.parentElement,this.canvasConfig.container=this.$container;else if(n&&(this.$container=ur(n)?document.getElementById(n):n,this.$container)){var a=document.createElement("canvas");this.$container.appendChild(a),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=a}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(t,n){var i=this.canvasConfig.devicePixelRatio;this.dpr=i,this.$canvas&&(this.$canvas.width=this.dpr*t,this.$canvas.height=this.dpr*n,kA(this.$canvas,t,n)),this.renderingContext.renderReasons.add(Vl.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(t){this.$container&&this.$container.style&&(this.$container.style.cursor=t)}},{key:"toDataURL",value:function(){var e=(0,po.Z)((0,Yi.Z)().mark(function n(){var i,a,s,o=arguments;return(0,Yi.Z)().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return i=o.length>0&&o[0]!==void 0?o[0]:{},a=i.type,s=i.encoderOptions,u.abrupt("return",this.context.canvas.toDataURL(a,s));case 3:case"end":return u.stop()}},n,this)}));function t(){return e.apply(this,arguments)}return t}()}])}(),zC=function(r){function e(){var t;(0,_.Z)(this,e);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return t=(0,x.Z)(this,e,[].concat(i)),t.name="canvas-context-register",t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){this.context.ContextService=FC}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(mo),ac=function(r){function e(t){var n;return(0,_.Z)(this,e),n=(0,x.Z)(this,e,[t]),n.registerPlugin(new zC),n.registerPlugin(new SC),n.registerPlugin(new aC),n.registerPlugin(new IC),n.registerPlugin(new NC),n.registerPlugin(new MC),n.registerPlugin(new kC),n}return(0,y.Z)(e,r),(0,F.Z)(e)}(Lw);function UC(r,e){if(r){var t;if(va(r))for(var n=0,i=r.length;n<i&&(t=e(r[n],n),t!==!1);n++);else if(li(r)){for(var a in r)if(r.hasOwnProperty(a)&&(t=e(r[a],a),t===!1))break}}}var b1=UC,WC=Object.prototype.hasOwnProperty,ml=function(r,e){if(r===null||!Ql(r))return{};var t={};return b1(e,function(n){WC.call(r,n)&&(t[n]=r[n])}),t},HC=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class ff extends ps{constructor(e){super(Object.assign(Object.assign({},e),{style:Object.assign({},ff.defaultStyleProps,e.style)})),this.rootPointerEvent=new sh(null),this.forwardEvents=t=>{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(t,i).forEach(s=>{const o=this.bootstrapEvent(this.rootPointerEvent,s,i,t);tc(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[Lt.CLICK,Lt.POINTER_DOWN,Lt.POINTER_MOVE,Lt.POINTER_UP,Lt.POINTER_OVER,Lt.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.drawPortShapes(e,t)}getKeyStyle(e){const t=ml(e,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=t,a=HC(t,["dx","dy"]),[s,o]=this.getSize(e);return Object.assign(Object.assign({x:n,y:i},a),{width:s,height:o})}drawKeyShape(e,t){const n=this.getKeyStyle(e),{x:i,y:a,width:s=0,height:o=0}=n,l=this.upsert("key-container",ki,{x:i,y:a,width:s,height:o,opacity:0},t);return this.upsert("key",Wu,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof ac))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(e,t,n){e==="zIndex"&&t!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const e=this.getDomElement();this.events.forEach(t=>{e.removeEventListener(t,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(e,t){const n=[];if(t.isTouchEvent(e))for(let i=0;i<e.changedTouches.length;i++){const a=e.changedTouches[i];Bn(a.button)&&(a.button=0),Bn(a.buttons)&&(a.buttons=1),Bn(a.isPrimary)&&(a.isPrimary=e.touches.length===1&&e.type==="touchstart"),Bn(a.width)&&(a.width=a.radiusX||1),Bn(a.height)&&(a.height=a.radiusY||1),Bn(a.tiltX)&&(a.tiltX=0),Bn(a.tiltY)&&(a.tiltY=0),Bn(a.pointerType)&&(a.pointerType="touch"),Bn(a.pointerId)&&(a.pointerId=a.identifier||0),Bn(a.pressure)&&(a.pressure=a.force||.5),Bn(a.twist)&&(a.twist=0),Bn(a.tangentialPressure)&&(a.tangentialPressure=0),a.isNormalized=!0,a.type=e.type,n.push(a)}else if(t.isMouseEvent(e)){const i=e;Bn(i.isPrimary)&&(i.isPrimary=!0),Bn(i.width)&&(i.width=1),Bn(i.height)&&(i.height=1),Bn(i.tiltX)&&(i.tiltX=0),Bn(i.tiltY)&&(i.tiltY=0),Bn(i.pointerType)&&(i.pointerType="mouse"),Bn(i.pointerId)&&(i.pointerId=1),Bn(i.pressure)&&(i.pressure=.5),Bn(i.twist)&&(i.twist=0),Bn(i.tangentialPressure)&&(i.tangentialPressure=0),i.isNormalized=!0,n.push(i)}else n.push(e);return n}transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.metaKey=t.metaKey,e.shiftKey=t.shiftKey,e.ctrlKey=t.ctrlKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.screen.x=t.screenX,e.screen.y=t.screenY,e.relatedTarget=null}bootstrapEvent(e,t,n,i){e.view=n,e.originalEvent=null,e.nativeEvent=i,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this.transferMouseData(e,t);const{x:a,y:s}=this.getViewportXY(t);e.viewport.x=a,e.viewport.y=s;const[o,l]=this.context.canvas.getCanvasByViewport([a,s]);return e.canvas.x=o,e.canvas.y=l,e.global.copyFrom(e.canvas),e.offset.copyFrom(e.canvas),e.isTrusted=i.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e}getViewportXY(e){let t,n;const{offsetX:i,offsetY:a,clientX:s,clientY:o}=e;if(!Pn(i)&&!Pn(a))t=i,n=a;else{const l=this.eventService.client2Viewport({x:s,y:o});t=l.x,n=l.y}return{x:t,y:n}}onframe(){super.onframe();const{opacity:e}=this.attributes;this.getDomElement().style.opacity=`${e}`}}ff.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var w1=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class df extends ps{constructor(e){super(Di({style:df.defaultStyleProps},e))}getKeyStyle(e){const[t,n]=this.getSize(e),i=super.getKeyStyle(e),{fillOpacity:a,opacity:s=a}=i,o=w1(i,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:s},o),{width:t,height:n,x:-t/2,y:-n/2})}getBounds(){return this.getShape("key").getBounds()}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getShape("key").attributes,{fill:n,stroke:i}=t,a=w1(t,["fill","stroke"]),s=Ei(this.getGraphicStyle(e),"halo"),o=Number(s.lineWidth),[l,u]=Un(this.getSize(e),[o,o]),{lineWidth:h}=s,p={fill:"transparent",lineWidth:h/2,width:l-h/2,height:u-h/2,x:-(l-h/2)/2,y:-(u-h/2)/2};return Object.assign(Object.assign({},s),p)}getIconStyle(e){const t=super.getIconStyle(e),[n,i]=this.getSize(e);return t?Object.assign({width:n*eo,height:i*eo},t):!1}drawKeyShape(e,t){const n=this.upsert("key",Og,this.getKeyStyle(e),t);return Cg(this),n}drawHaloShape(e,t){this.upsert("halo",ki,this.getHaloStyle(e),t)}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&Lg(this)}}df.defaultStyleProps={size:32};class GC extends ps{constructor(e){super(e)}getKeyStyle(e){const[t,n]=this.getSize(e);return Object.assign(Object.assign({},super.getKeyStyle(e)),{width:t,height:n,x:-t/2,y:-n/2})}getIconStyle(e){const t=super.getIconStyle(e),{width:n,height:i}=this.getShape("key").attributes;return t?Object.assign({width:n*eo,height:i*eo},t):!1}drawKeyShape(e,t){return this.upsert("key",ki,this.getKeyStyle(e),t)}}class jC extends ef{constructor(e){super(e)}getInnerR(e){return e.innerR||this.getOuterR(e)*3/8}getOuterR(e){return Math.min(...this.getSize(e))/2}getPoints(e){return LL(this.getOuterR(e),this.getInnerR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getInnerR(e)*2*eo;return t?Object.assign({width:n,height:n},t):!1}getPortXY(e,t){const{placement:n="top"}=t,i=this.getShape("key").getLocalBounds(),a=RL(this.getOuterR(e),this.getInnerR(e));return Zg(i,n,a,!1)}}class vf extends ef{constructor(e){super(Di({style:vf.defaultStyleProps},e))}getPoints(e){const{direction:t}=e,[n,i]=this.getSize(e);return IL(n,i,t)}getPortXY(e,t){const{direction:n}=e,{placement:i="top"}=t,a=this.getShape("key").getLocalBounds(),[s,o]=this.getSize(e),l=NL(s,o,n);return Zg(a,i,l,!1)}getIconStyle(e){const{icon:t,iconText:n,iconSrc:i,direction:a}=e;if(t===!1||Fs(n||i))return!1;const s=Ei(this.getGraphicStyle(e),"icon"),o=this.getShape("key").getLocalBounds(),[l,u]=ES(o,a),h=xS(o,a)*2*eo;return Object.assign({x:l,y:u,width:h,height:h},s)}}vf.defaultStyleProps={size:40,direction:"up"};var M1=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class eu extends ps{constructor(e){super(Di({style:eu.defaultStyleProps},e)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(e){const{collapsed:t,childrenNode:n=[]}=e;return n.length===0?this.getEmptyKeySize(e):t?this.getCollapsedKeySize(e):this.getExpandedKeySize(e)}getEmptyKeySize(e){const{padding:t,collapsedSize:n}=e,[i,a,s,o]=cs(t);return Un(La(n),[o+a,i+s,0])}getCollapsedKeySize(e){return La(e.collapsedSize)}getExpandedKeySize(e){const t=this.getContentBBox(e);return[Ns(t),Bs(t),0]}getContentBBox(e){const{childrenNode:t=[],padding:n}=e,i=t.map(s=>this.context.element.getElement(s)).filter(Boolean);if(i.length===0){const s=new Nr,{x:o=0,y:l=0,size:u}=e,[h,p]=La(u);return s.setMinMax([o-h/2,l-p/2,0],[o+h/2,l+p/2,0]),s}const a=Xu(i.map(s=>s.getBounds()));return n?Mo(a,n):a}drawCollapsedMarkerShape(e,t){const n=this.getCollapsedMarkerStyle(e);this.upsert("collapsed-marker",u1,n,t),Cg(this)}getCollapsedMarkerStyle(e){if(!e.collapsed||!e.collapsedMarker)return!1;const t=Ei(this.getGraphicStyle(e),"collapsedMarker"),{type:n}=t,i=M1(t,["type"]),a=this.getShape("key"),[s,o]=$s(a.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:s,y:o});if(n){const u=this.getCollapsedMarkerText(n,e);Object.assign(l,{text:u})}return l}getCollapsedMarkerText(e,t){const{childrenData:n=[]}=t,{model:i}=this.context;return e==="descendant-count"?i.getDescendantsData(this.id).length.toString():e==="child-count"?n.length.toString():e==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(Et(a))==="node").length.toString():yn(e)?e(n):""}getComboPosition(e){const{x:t=0,y:n=0,collapsed:i,childrenData:a=[]}=e;if(a.length===0)return[+t,+n,0];if(i){const{model:s}=this.context,o=s.getDescendantsData(this.id).filter(l=>!s.isCombo(Et(l)));if(o.length>0&&o.some(fD)){const l=o.reduce((u,h)=>Un(u,Ti(h)),[0,0,0]);return vs(l,o.length)}return[+t,+n,0]}return this.getContentBBox(e).center}getComboStyle(e){const[t,n]=this.getComboPosition(e);return{x:t,y:n,transform:[["translate",t,n]]}}updateComboPosition(e){const t=this.getComboStyle(e);Object.assign(this.style,t);const{x:n,y:i}=t;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:n,y:i}}),Lg(this)}render(e,t=this){super.render(e,t),this.drawCollapsedMarkerShape(e,t)}update(e={}){super.update(e),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(this.attributes.collapsed?e:e.map(i=>{var{x:a,y:s,z:o,transform:l}=i,u=M1(i,["x","y","z","transform"]);return u}),t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}eu.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class VC extends eu{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ks,this.getKeyStyle(e),t)}getKeyStyle(e){const{collapsed:t}=e,n=super.getKeyStyle(e),[i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},n),t&&Ei(n,"collapsed")),{r:i/2})}getCollapsedKeySize(e){const[t,n]=La(e.collapsedSize),i=Math.max(t,n)/2;return[i*2,i*2,0]}getExpandedKeySize(e){const t=this.getContentBBox(e),[n,i]=bo(t),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return Yh(e,n,t)}}class ZC extends eu{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",ki,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,i]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},t),e.collapsed&&Ei(t,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var KC=function(r,e){if(!Vu(r))return r;for(var t=[],n=0;n<r.length;n++){var i=r[n];e(i,n)&&t.push(i)}return t},XC=KC,YC=function(r,e){return Vu(r)?r.indexOf(e)>-1:!1},QC=YC,JC=function(r,e){return e===void 0&&(e=[]),XC(r,function(t){return!QC(e,t)})},qC=JC;const $C={padding:10};function A1(r,e,t,n,i,a){const{padding:s}=Object.assign($C,a),o=wo(t,s),l=wo(n,s),u=[r,...i,e];let h=null;const p=[];for(let S=0,N=u.length;S<N-1;S++){const U=S+1,H=u[S],V=u[U],Y=vD(H,V);let q=null;if(S===0)if(U===N-1)if(o.intersects(l))q=Wg(H,V,o,l);else if(!Lh(H,o)&&!Lh(V,l)){const ne=ul(H,o),le=ul(V,l);q=P1(ne,le,oa(ne,le)),q.points.unshift(ne),q.points.push(le)}else Y||(q=tL(H,V,o,l));else hs(V,o)?q=Wg(H,V,o,wo(V,s),h):Y||(q=gf(H,V,o));else U===N-1?hs(H,l)?q=Wg(H,V,wo(H,s),l,h):Y||(q=S1(H,V,l,h)):Y||(q=P1(H,V,h));q?(p.push(...q.points),h=q.direction):h=oa(H,V),U<N-1&&p.push(V)}return p.map(fl)}const eL={N:"S",S:"N",W:"E",E:"W"},T1={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function oa(r,e){const[t,n]=r,[i,a]=e;return t===i?n>a?"N":"S":n===a?t>i?"W":"E":null}function Ug(r,e){return e==="N"||e==="S"?Bs(r):Ns(r)}function P1(r,e,t){const n=[r[0],e[1]],i=[e[0],r[1]],a=oa(r,n),s=oa(r,i),o=t?eL[t]:null,l=a===t||a!==o&&s!==t?n:i;return{points:[l],direction:oa(l,e)}}function gf(r,e,t){if(Lh(r,t)){const n=sc(r,e,t);return{points:[n],direction:oa(n,e)}}else{const n=ul(r,t),a=["left","right"].includes(Yu(r,t))?[e[0],n[1]]:[n[0],e[1]];return{points:[a],direction:oa(a,e)}}}function S1(r,e,t,n){const i=Lh(e,t)?e:ul(e,t),a=[[i[0],r[1]],[r[0],i[1]]],s=a.filter(l=>_S(l,t)&&!Jy(l,t,!0)),o=s.filter(l=>oa(l,r)!==n);if(o.length>0){const l=o.find(u=>oa(r,u)===n)||o[0];return{points:[l],direction:oa(l,e)}}else{const l=qC(a,s)[0],u=Po(e,l,Ug(t,n)/2);return{points:[sc(u,r,t),u],direction:oa(u,e)}}}function tL(r,e,t,n){let i=gf(r,e,t);const a=qu(i.points[0]);if(hs(a,n)){i=gf(e,r,n);const s=qu(i.points[0]);if(hs(s,t)){const o=Po(r,a,Ug(t,oa(r,a))/2),l=Po(e,s,Ug(n,oa(e,s))/2),u=[(o[0]+l[0])/2,(o[1]+l[1])/2],h=gf(r,u,t),p=S1(u,e,n,h.direction);i.points=[h.points[0],p.points[0]],i.direction=p.direction}}return i}function Wg(r,e,t,n,i){const s=Xu([t,n]),o=Wr(e,s.center)>Wr(r,s.center),[l,u]=o?[e,r]:[r,e],h=Bs(s)+Ns(s);let p;if(i){const U=[l[0]+h*Math.cos(T1[i]),l[1]+h*Math.sin(T1[i])];p=Po(ul(U,s),U,.01)}else p=Po(ul(l,s),l,-.01);let S=sc(p,u,s),N=[$u(p,2),$u(S,2)];if(ci($u(p),$u(S))){const U=xg(Or(p,l),[1,0,0])+Math.PI/2;S=[u[0]+h*Math.cos(U),u[1]+h*Math.sin(U),0],S=$u(Po(ul(S,s),u,-.01),2);const H=sc(p,S,s);N=[p,H,S]}return{points:o?N.reverse():N,direction:oa(o?p:S,e)}}function sc(r,e,t){let n=[r[0],e[1]];return hs(n,t)&&(n=[e[0],r[1]]),n}function O1(r,e,t,n,i){let l=typeof e=="number"?e:.5;e==="start"&&(l=0),e==="end"&&(l=.99);const u=Fi(r.getPoint(l)),h=Fi(r.getPoint(l+.01));let p=e==="start"?"left":e==="end"?"right":"center";if(j_(u,h)||!t){const[Y,q]=D1(r,l,n,i);return{transform:[["translate",Y,q]],textAlign:p}}let S=Math.atan2(h[1]-u[1],h[0]-u[0]);h[0]<u[0]&&(p=p==="center"?p:p==="left"?"right":"left",n*=-1,S+=Math.PI);const[U,H]=D1(r,l,n,i,S),V=[["translate",U,H],["rotate",S/Math.PI*180]];return{textAlign:p,transform:V}}function nL(r,e,t,n,i){var a,s;const o=((a=r.badge)===null||a===void 0?void 0:a.getGeometryBounds().halfExtents[0])*2||0,l=((s=r.label)===null||s===void 0?void 0:s.getGeometryBounds().halfExtents[0])*2||0;return O1(r.key,t,!0,(l?(l/2+o/2)*(e==="suffix"?1:-1):0)+n,i)}function D1(r,e,t,n,i){const[a,s]=Fi(r.getPoint(e));let o=t,l=n;return i&&(o=t*Math.cos(i)-n*Math.sin(i),l=t*Math.sin(i)+n*Math.cos(i)),[a+o,s+l]}function Hg(r,e,t,n){if(ci(r,e))return r;const i=Or(e,r),a=[r[0]+t*i[0],r[1]+t*i[1]],s=qs(Xh(i,!1));return a[0]+=n*s[0],a[1]+=n*s[1],a}function rL(r){return un(r)?[r,-r]:r}function iL(r){return un(r)?[r,1-r]:r}function aL(r,e,t){return[["M",r[0],r[1]],["Q",t[0],t[1],e[0],e[1]]]}function C1(r,e,t){return[["M",r[0],r[1]],["C",t[0][0],t[0][1],t[1][0],t[1][1],e[0],e[1]]]}function Gg(r,e=0,t=!1){const n=r.length-1,i=r[0],a=r[n],s=r.slice(1,n),o=[["M",i[0],i[1]]];return s.forEach((l,u)=>{const h=s[u-1]||i,p=s[u+1]||a;if(!V_(h,l,p)&&e){const[S,N]=sL(h,l,p,e);o.push(["L",S[0],S[1]],["Q",l[0],l[1],N[0],N[1]],["L",N[0],N[1]])}else o.push(["L",l[0],l[1]])}),o.push(["L",a[0],a[1]]),t&&o.push(["Z"]),o}function sL(r,e,t,n){const i=Kh(r,e),a=Kh(t,e),s=Math.min(n,Math.min(i,a)/2),o=[e[0]-s/i*(e[0]-r[0]),e[1]-s/i*(e[1]-r[1])],l=[e[0]-s/a*(e[0]-t[0]),e[1]-s/a*(e[1]-t[1])];return[o,l]}const oL=r=>{const e=Math.PI/2,t=Bs(r)/2,n=Ns(r)/2,i=Math.atan2(t,n)/2,a=Math.atan2(n,t)/2;return{top:[-e-a,-e+a],"top-right":[-e+a,-i],"right-top":[-e+a,-i],right:[-i,i],"bottom-right":[i,e-a],"right-bottom":[i,e-a],bottom:[e-a,e+a],"bottom-left":[e+a,Math.PI-i],"left-bottom":[e+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-e-a],"left-top":[Math.PI+i,-e-a]}};function L1(r,e,t,n,i){const a=wo(r),s=r.getCenter();let o=n&&Co(n),l=i&&Co(i);if(!o||!l){const u=oL(a),h=u[e][0],p=u[e][1],[S,N]=bo(a),U=Math.max(S,N),H=Un(s,[U*Math.cos(h),U*Math.sin(h),0]),V=Un(s,[U*Math.cos(p),U*Math.sin(p),0]);o=Xg(r,H),l=Xg(r,V),t||([o,l]=[l,o])}return[o,l]}function lL(r,e,t,n,i,a){const s=r.getPorts()[i||a],o=r.getPorts()[a||i];let[l,u]=L1(r,e,t,s,o);const h=uL(r,l,u,n);return s&&(l=lc(s,h[0])),o&&(u=lc(o,h.at(-1))),C1(l,u,h)}function uL(r,e,t,n){const i=r.getCenter();if(ci(e,t)){const a=Or(e,i),s=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[Un(e,s),Un(t,ds(s,[1,-1,1]))]}return[Po(i,e,Wr(i,e)+n),Po(i,t,Wr(i,t)+n)]}function cL(r,e,t,n,i,a,s){const o=Kg(r),l=o[a||s],u=o[s||a];let[h,p]=L1(r,t,n,l,u);const S=hL(r,h,p,i);return l&&(h=lc(l,S[0])),u&&(p=lc(u,S.at(-1))),Gg([h,...S,p],e)}function hL(r,e,t,n){const i=[],a=wo(r);if(ci(e,t))switch(Yu(e,a)){case"left":i.push([e[0]-n,e[1]]),i.push([e[0]-n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"right":i.push([e[0]+n,e[1]]),i.push([e[0]+n,e[1]+n]),i.push([e[0],e[1]+n]);break;case"top":i.push([e[0],e[1]-n]),i.push([e[0]+n,e[1]-n]),i.push([e[0]+n,e[1]]);break;case"bottom":i.push([e[0],e[1]+n]),i.push([e[0]+n,e[1]+n]),i.push([e[0]+n,e[1]]);break}else{const s=Yu(e,a),o=Yu(t,a);if(s===o){const l=s;let u,h;switch(l){case"left":u=Math.min(e[0],t[0])-n,i.push([u,e[1]]),i.push([u,t[1]]);break;case"right":u=Math.max(e[0],t[0])+n,i.push([u,e[1]]),i.push([u,t[1]]);break;case"top":h=Math.min(e[1],t[1])-n,i.push([e[0],h]),i.push([t[0],h]);break;case"bottom":h=Math.max(e[1],t[1])+n,i.push([e[0],h]),i.push([t[0],h]);break}}else{const l=(S,N)=>({left:[N[0]-n,N[1]],right:[N[0]+n,N[1]],top:[N[0],N[1]-n],bottom:[N[0],N[1]+n]})[S],u=l(s,e),h=l(o,t),p=sc(u,h,a);i.push(u,p,h)}}return i}function jg(r,e){const t=new Set,n=new Set,i=new Set;return r.forEach(a=>{e(a).forEach(o=>{t.add(o),r.includes(o.source)&&r.includes(o.target)?n.add(o):i.add(o)})}),{edges:Array.from(t),internal:Array.from(n),external:Array.from(i)}}function R1(r,e){const t=[];let n=r;for(;n;){t.push(n);const i=e(Et(n));if(i)n=i;else break}if(t.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=t.reverse().findIndex(xa);return t[i]||t.at(-1)}return r}function fL(r,e){return e||(r<4?10:r===4?12:r*2.5)}const dL=(r,e)=>{const t=Math.max(r,e)/2;return[["M",-r/2,0],["A",t,t,0,1,0,2*t-r/2,0],["A",t,t,0,1,0,-r/2,0],["Z"]]},I1=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",r/2,e/2],["Z"]],vL=(r,e)=>[["M",-r/2,0],["L",0,-e/2],["L",r/2,0],["L",0,e/2],["Z"]],gL=(r,e)=>[["M",-r/2,0],["L",r/2,-e/2],["L",4*r/5-r/2,0],["L",r/2,e/2],["Z"]],pL=(r,e)=>[["M",-r/2,-e/2],["L",r/2,-e/2],["L",r/2,e/2],["L",-r/2,e/2],["Z"]],mL=(r,e)=>{const t=r/2,n=r/7,i=r-n;return[["M",-t,0],["L",0,-e/2],["L",0,e/2],["Z"],["M",i-t,-e/2],["L",i+n-t,-e/2],["L",i+n-t,e/2],["L",i-t,e/2],["Z"]]},yL=(r,e)=>[["M",r/2,-e/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,e/2]];var pf=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Do extends c1{constructor(e){super(Di({style:Do.defaultStyleProps},e)),this.type="edge"}get sourceNode(){const{sourceNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}get targetNode(){const{targetNode:e}=this.parsedAttributes;return this.context.element.getElement(e)}getKeyStyle(e){const t=this.getGraphicStyle(e),{loop:n}=t,i=pf(t,["loop"]),{sourceNode:a,targetNode:s}=this,l={d:n&&SL(a,s)?this.getLoopPath(e):this.getKeyPath(e)};return Sa.PARSED_STYLE_LIST.forEach(u=>{u in i&&(l[u]=i[u])}),l}getLoopPath(e){const{sourcePort:t,targetPort:n}=e,i=this.sourceNode,a=wo(i),s=Math.max(Ns(a),Bs(a)),{placement:o,clockwise:l,dist:u=s}=Ei(this.getGraphicStyle(e),"loop");return lL(i,o,l,u,t,n)}getEndpoints(e,t=!0,n=[]){const{sourcePort:i,targetPort:a}=e,{sourceNode:s,targetNode:o}=this,[l,u]=DL(s,o,i,a);if(!t){const N=l?Co(l):s.getCenter(),U=u?Co(u):o.getCenter();return[N,U]}const h=typeof n=="function"?n():n,p=H1(l||s,h[0]||u||o),S=H1(u||o,h[h.length-1]||l||s);return[p,S]}getHaloStyle(e){if(e.halo===!1)return!1;const t=this.getKeyStyle(e),n=Ei(this.getGraphicStyle(e),"halo");return Object.assign(Object.assign({},t),n)}getLabelStyle(e){if(e.label===!1||!e.labelText)return!1;const t=Ei(this.getGraphicStyle(e),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:s,maxWidth:o}=t,l=pf(t,["placement","offsetX","offsetY","autoRotate","maxWidth"]),u=O1(this.shapeMap.key,n,s,i,a),h=this.shapeMap.key.getLocalBounds(),p=SD([h.min,h.max],o);return Object.assign({wordWrapWidth:p},u,l)}getBadgeStyle(e){if(e.badge===!1||!e.badgeText)return!1;const t=Ei(e,"badge"),{offsetX:n,offsetY:i,placement:a}=t,s=pf(t,["offsetX","offsetY","placement"]);return Object.assign(s,nL(this.shapeMap,a,e.labelPlacement,n,i))}drawArrow(e,t){var n;const i=t==="start",s=e[t==="start"?"startArrow":"endArrow"],o=this.shapeMap.key;if(s){const l=this.getArrowStyle(e,i),[u,h,p]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],S=o.parsedStyle[u];if(S)S.attr(l);else{const N=l.src?Hu:Sa,U=new N({style:l});o.style[u]=U}o.style[h]=e[p]||l.width/2+ +l.lineWidth}else{const l=i?"markerStart":"markerEnd";(n=o.style[l])===null||n===void 0||n.destroy(),o.style[l]=null}}getArrowStyle(e,t){const n=this.getShape("key").attributes,i=t?"startArrow":"endArrow",a=Ei(this.getGraphicStyle(e),i),{size:s,type:o}=a,l=pf(a,["size","type"]),[u,h]=La(fL(n.lineWidth,s)),S=(yn(o)?o:ee[o]||I1)(u,h);return Object.assign(ml(n,["stroke","strokeOpacity","fillOpacity"]),{width:u,height:h},Object.assign({},S&&{d:S,fill:o==="simple"?"":n.stroke}),l)}drawLabelShape(e,t){const n=this.getLabelStyle(e);this.upsert("label",So,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);this.upsert("halo",Sa,n,t)}drawBadgeShape(e,t){const n=this.getBadgeStyle(e);this.upsert("badge",ql,n,t)}drawSourceArrow(e){this.drawArrow(e,"start")}drawTargetArrow(e){this.drawArrow(e,"end")}drawKeyShape(e,t){const n=this.getKeyStyle(e);return this.upsert("key",Sa,n,t)}render(e=this.parsedAttributes,t=this){this.drawKeyShape(e,t),this.getShape("key")&&(this.drawSourceArrow(e),this.drawTargetArrow(e),this.drawLabelShape(e,t),this.drawHaloShape(e,t),this.drawBadgeShape(e,t))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(e,t);return n&&new Proxy(n,{set:(i,a,s)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,s))})}}Do.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class yl extends Do{constructor(e){super(Di({style:yl.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e),{controlPoints:i,curvePosition:a,curveOffset:s}=e,o=this.getControlPoints(t,n,iL(a),rL(s),i);return C1(t,n,o)}getControlPoints(e,t,n,i,a){return(a==null?void 0:a.length)===2?a:[Hg(e,t,n[0],i[0]),Hg(e,t,n[1],i[1])]}}yl.defaultStyleProps={curvePosition:.5,curveOffset:20};class mf extends yl{constructor(e){super(Di({style:mf.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[0]-e[0];return[[e[0]+a*n[0]+i[0],e[1]],[t[0]-a*n[1]+i[1],t[1]]]}}mf.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class yf extends yl{constructor(e){super(Di({style:yf.defaultStyleProps},e))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(e){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(e);const t=Ti(this.ref),n=this.sourceNode.getIntersectPoint(t,!0),i=this.targetNode.getIntersectPoint(t);return[n,i]}toRadialCoordinate(e){const t=Ti(this.ref),n=Wr(e,t),i=U_(Or(e,t));return[n,i]}getControlPoints(e,t,n,i){const[a,s]=this.toRadialCoordinate(e),[o]=this.toRadialCoordinate(t),l=o-a;return[[e[0]+(l*n[0]+i[0])*Math.cos(s),e[1]+(l*n[0]+i[0])*Math.sin(s)],[t[0]-(l*n[1]-i[0])*Math.cos(s),t[1]-(l*n[1]-i[0])*Math.sin(s)]]}}yf.defaultStyleProps={curvePosition:.5,curveOffset:20};class _f extends yl{constructor(e){super(Di({style:_f.defaultStyleProps},e))}getControlPoints(e,t,n,i){const a=t[1]-e[1];return[[e[0],e[1]+a*n[0]+i[0]],[t[0],t[1]-a*n[1]+i[1]]]}}_f.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Ef extends Do{constructor(e){super(Di({style:Ef.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e);return[["M",t[0],t[1]],["L",n[0],n[1]]]}}Ef.defaultStyleProps={};const _L={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:Kh},to=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function _l(r,e){const t=n=>Math.round(n/e);return un(r)?t(r):r.map(t)}function EL(r,e){const t=Math.abs(r-e);return t>Math.PI?2*Math.PI-t:t}function N1(r,e){const t=e[0]-r[0],n=e[1]-r[1];return!t&&!n?0:Math.atan2(n,t)}function B1(r,e,t,n){const i=N1(r,e),a=t[to(r)],o=N1(a||n,r);return EL(o,i)}const xL=(r,e)=>{const{offset:t,gridSize:n}=e,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const s=Mo(a.getRenderBounds(),t);for(let o=_l(s.min[0],n);o<=_l(s.max[0],n);o+=1)for(let l=_l(s.min[1],n);l<=_l(s.max[1],n);l+=1)i[`${o}|||${l}`]=!0}),i};function k1(r,e,t){return Math.min(...e.map(n=>t(r,n)))}function bL(r,e,t){let n=r[0],i=t(r[0],e);for(let a=0;a<r.length;a++){const s=r[a],o=t(s,e);o<i&&(n=s,i=o)}return n}const F1=(r,e,t,n)=>{if(!e)return[r];const{directionMap:i,offset:a}=n,s=Mo(e.getRenderBounds(),a),o=Object.keys(i).reduce((l,u)=>{if(t.includes(u)){const h=i[u],[p,S]=bo(s),N=[r[0]+h.stepX*p,r[1]+h.stepY*S],U=bS(s);for(let H=0;H<U.length;H++){const V=wg([r,N],U[H]);V&&Jy(V,s)&&l.push(V)}}return l},[]);return hs(r,s)||o.push(r),o.map(l=>_l(l,n.gridSize))},wL=(r,e,t,n,i,a,s)=>{const o=[];let l=[a[0]===n[0]?n[0]:r[0]*s,a[1]===n[1]?n[1]:r[1]*s];o.unshift(l);let u=r,h=e[to(u)];for(;h;){const N=h,U=u;B1(N,U,e,t)&&(l=[N[0]===U[0]?l[0]:N[0]*s,N[1]===U[1]?l[1]:N[1]*s],o.unshift(l)),h=e[to(N)],u=N}const p=i.map(N=>[N[0]*s,N[1]*s]),S=bL(p,l,Kh);return o.unshift(S),o};function ML(r,e,t,n){const i=fl(r.getCenter()),a=fl(e.getCenter()),s=Object.assign(_L,n),{gridSize:o}=s,l=s.enableObstacleAvoidance?t:[r,e],u=xL(l,s),h=_l(i,o),p=_l(a,o),S=F1(i,r,s.startDirections,s),N=F1(a,e,s.endDirections,s);S.forEach(ve=>delete u[to(ve)]),N.forEach(ve=>delete u[to(ve)]);const U={},H={},V={},Y={},q={},ne=new AL;for(let ve=0;ve<S.length;ve++){const Te=S[ve],Oe=to(Te);U[Oe]=Te,Y[Oe]=0,q[Oe]=k1(Te,N,s.distFunc),ne.add({id:Oe,value:q[Oe]})}const le=N.map(ve=>to(ve));let ue=s.maximumLoops,fe,de=1/0;for(const[ve,Te]of Object.entries(U))q[ve]<=de&&(de=q[ve],fe=Te);for(;Object.keys(U).length>0&&ue>0;){const ve=ne.minId(!1);if(ve)fe=U[ve];else break;const Te=to(fe);if(le.includes(Te))return wL(fe,V,h,a,S,p,o);delete U[Te],ne.remove(Te),H[Te]=!0;for(const Oe of Object.values(s.directionMap)){const Ie=Un(fe,[Oe.stepX,Oe.stepY]),ze=to(Ie);if(H[ze])continue;const Xe=B1(fe,Ie,V,h);if(Xe>s.maxAllowedDirectionChange||u[ze])continue;U[ze]||(U[ze]=Ie);const et=s.penalties[Xe],st=s.distFunc(fe,Ie)+(isNaN(et)?o:et),bt=Y[Te]+st,_t=Y[ze];_t&&bt>=_t||(V[ze]=fe,Y[ze]=bt,q[ze]=bt+k1(Ie,N,s.distFunc),ne.add({id:ze,value:q[ze]}))}ue-=1}return[]}class AL{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(e,t){let n=0,i=t-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>e.value)i=a;else if(this.arr[a].value<e.value)n=a;else{this.arr.splice(a,0,e),this.map[e.id]=!0;return}}this.arr.splice(i,0,e),this.map[e.id]=!0}add(e){delete this.map[e.id];const t=this.arr.length;if(!t||this.arr[t-1].value<e.value){this.arr.push(e),this.map[e.id]=!0;return}this._innerAdd(e,t)}remove(e){this.map[e]&&delete this.map[e]}_clearAndGetMinId(){let e;for(let t=this.arr.length-1;t>=0;t--)this.map[this.arr[t].id]?e=this.arr[t].id:this.arr.splice(t,1);return e}_findFirstId(){for(;this.arr.length;){const e=this.arr.shift();if(this.map[e.id])return e.id}}minId(e){return e?this._clearAndGetMinId():this._findFirstId()}}class xf extends Do{constructor(e){super(Di({style:xf.defaultStyleProps},e))}getControlPoints(e){const{router:t}=e,{sourceNode:n,targetNode:i}=this,[a,s]=this.getEndpoints(e,!1);let o=[];if(!t)o=e.controlPoints;else if(t.type==="shortest-path"){const l=this.context.element.getNodes();o=ML(n,i,l,t),o.length||(o=A1(a,s,n,i,e.controlPoints,{padding:t.offset}))}else t.type==="orth"&&(o=A1(a,s,n,i,e.controlPoints,t));return o}getPoints(e){const t=this.getControlPoints(e),[n,i]=this.getEndpoints(e,!0,t);return[n,...t,i]}getKeyPath(e){const t=this.getPoints(e);return Gg(t,e.radius)}getLoopPath(e){const{sourcePort:t,targetPort:n,radius:i}=e,a=this.sourceNode,s=wo(a),o=Math.max(Ns(s),Bs(s))/4,{placement:l,clockwise:u,dist:h=o}=Ei(this.getGraphicStyle(e),"loop");return cL(a,i,l,u,h,t,n)}}xf.defaultStyleProps={radius:0,controlPoints:[],router:!1};class bf extends Do{constructor(e){super(Di({style:bf.defaultStyleProps},e))}getKeyPath(e){const{curvePosition:t,curveOffset:n}=e,[i,a]=this.getEndpoints(e),s=e.controlPoint||Hg(i,a,t,n);return aL(i,a,s)}}bf.defaultStyleProps={curvePosition:.5,curveOffset:30};var TL=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function oc(r){return r instanceof ps&&r.type==="node"}function z1(r){return r instanceof Do}function Vg(r){return r instanceof eu}function PL(r){return oc(r)||z1(r)||Vg(r)}function SL(r,e){return!r||!e?!1:r===e}const OL={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],"left-top":[0,0],"top-left":[0,0],"left-bottom":[0,1],"bottom-left":[0,1],"right-top":[1,0],"top-right":[1,0],"right-bottom":[1,1],"bottom-right":[1,1],default:[.5,.5]};function Zg(r,e,t=OL,n=!0){const i=[.5,.5],a=ur(e)?ba(t,e.toLocaleLowerCase(),i):e;if(!n&&ur(e))return a;const[s,o]=a||i;return[r.min[0]+Ns(r)*s,r.min[1]+Bs(r)*o]}function Kg(r){if(!r)return{};const e=r.getPorts();return(r.attributes.ports||[]).forEach((n,i)=>{var a;const{key:s,placement:o}=n;U1(n)&&(e[a=s||i]||(e[a]=$s(r.getShape("key").getBounds(),o)))}),e}function U1(r){const{r:e}=r;return!e||Number(e)===0}function Co(r){return Yl(r)?r:r.getPosition()}function DL(r,e,t,n){const i=W1(r,e,t,n),a=W1(e,r,n,t);return[i,a]}function W1(r,e,t,n){const i=Kg(r);if(t)return i[t];const a=Object.values(i);if(a.length===0)return;const s=a.map(u=>Co(u)),o=CL(e,n),[l]=mD(s,o);return a.find(u=>Co(u)===l)}function CL(r,e){const t=Kg(r);if(e)return[Co(t[e])];const n=Object.values(t);return n.length>0?n.map(i=>Co(i)):[r.getCenter()]}function H1(r,e){return Vg(r)||oc(r)?Xg(r,e):lc(r,e)}function lc(r,e){if(!r||!e)return[0,0,0];if(Yl(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const t=Yl(e)?e:oc(e)?e.getCenter():e.getPosition();return Yh(t,r.getBounds())}function Xg(r,e){if(!r||!e)return[0,0,0];const t=Yl(e)?e:oc(e)?e.getCenter():e.getPosition();return r.getIntersectPoint(t)||r.getCenter()}function G1(r,e="bottom",t=0,n=0,i=!1){const a=e.split("-"),[s,o]=$s(r,e),[l,u]=i?["bottom","top"]:["top","bottom"],h=a.includes("top")?u:a.includes("bottom")?l:"middle",p=a.includes("left")?"right":a.includes("right")?"left":"center";return{transform:[["translate",s+t,o+n]],textBaseline:h,textAlign:p}}function LL(r,e){return[[0,-r],[e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,e],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)]]}function RL(r,e){const t={};return t.top=[0,-r],t.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.bottom=[0,e],t["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],t.right=t.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],t}function IL(r,e,t){const n=e/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[t]||a.up}function NL(r,e,t){const n=e/2,i=r/2,a={};return t==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):t==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):t==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function SU(r,e){return[[r/2,-e/2],[r/2,e/2],[-r/2,e/2],[-r/2,-e/2]]}function BL(r,e){return[[0,-e/2],[r/2,0],[0,e/2],[-r/2,0]]}function kL(r){return ba(r,["style","visibility"])!=="hidden"}function FL(r,e){const{zIndex:t,transform:n,transformOrigin:i,visibility:a,cursor:s,clipPath:o,component:l}=e,u=TL(e,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(r.attributes,u),n&&r.setAttribute("transform",n),un(t)&&r.setAttribute("zIndex",t),i&&r.setAttribute("transformOrigin",i),a&&r.setAttribute("visibility",a),s&&r.setAttribute("cursor",s),o&&r.setAttribute("clipPath",o),l&&r.setAttribute("component",l)}function Yg(r,e){"update"in r?r.update(e):r.attr(e)}function zL(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function UL(r){tc(r,"__to_be_destroyed__",!0)}function wf(r){return ba(r,"__to_be_destroyed__",!1)}var WL=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Mf extends Ca{constructor(e,t){super(e,Object.assign({},Mf.defaultOptions,t)),this.onCollapseExpand=n=>WL(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!PL(i))return;const a=i.id,{model:s,graph:o}=this.context,l=s.getElementDataById(a);if(!l)return!1;const{onCollapse:u,onExpand:h,animation:p,align:S}=this.options;xa(l)?(yield o.expandElement(a,{animation:p,align:S}),h==null||h(a)):(yield o.collapseElement(a,{animation:p,align:S}),u==null||u(a))}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`node:${t}`,this.onCollapseExpand),e.on(`combo:${t}`,this.onCollapseExpand)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`node:${t}`,this.onCollapseExpand),e.off(`combo:${t}`,this.onCollapseExpand)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}Mf.defaultOptions={enable:!0,animation:!0,trigger:Lt.DBLCLICK,align:!0};var Af={},HL=function(r){return r=r||"g",Af[r]?Af[r]+=1:Af[r]=1,r+Af[r]},Tf=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};const GL="g6-create-edge-assist-edge-id",Pf="g6-create-edge-assist-node-id";class Sf extends Ca{constructor(e,t){super(e,Object.assign({},Sf.defaultOptions,t)),this.drop=n=>Tf(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>Tf(this,void 0,void 0,function*(){var i,a,s;if(!this.validate(n))return;const{graph:o,canvas:l,batch:u,element:h}=this.context,{style:p}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}u.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const S=o.getElementData(this.source);o.addNodeData([{id:Pf,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=S.style)===null||i===void 0?void 0:i.x,y:(a=S.style)===null||a===void 0?void 0:a.y}}]),o.addEdgeData([{id:GL,source:this.source,target:Pf,style:Object.assign({pointerEvents:"none"},p)}]),yield(s=h.draw({animation:!1}))===null||s===void 0?void 0:s.finished}),this.updateAssistEdge=n=>Tf(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:s}=this.context;a.translateNodeTo(Pf,[n.canvas.x,n.canvas.y]),yield(i=s.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:s}=this.context,{style:o,onFinish:l,onCreate:u}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const p=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],S=`${this.source}-${p}-${HL()}`,N=u({id:S,source:this.source,target:p,style:o});N&&(s.addEdgeData([N]),l(N))},this.cancelEdge=()=>Tf(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:s}=this.context;i.removeNodeData([Pf]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,s.endBatch()}),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;this.unbindEvents(),t==="click"?(e.on(Ja.CLICK,this.handleCreateEdge),e.on(ll.CLICK,this.handleCreateEdge),e.on(Ys.CLICK,this.cancelEdge),e.on(Dh.CLICK,this.cancelEdge)):(e.on(Ja.DRAG_START,this.handleCreateEdge),e.on(ll.DRAG_START,this.handleCreateEdge),e.on(Lt.POINTER_UP,this.drop)),e.on(Lt.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;e.off(Ja.CLICK,this.handleCreateEdge),e.off(ll.CLICK,this.handleCreateEdge),e.off(Ys.CLICK,this.cancelEdge),e.off(Dh.CLICK,this.cancelEdge),e.off(Ja.DRAG_START,this.handleCreateEdge),e.off(ll.DRAG_START,this.handleCreateEdge),e.off(Lt.POINTER_UP,this.drop),e.off(Lt.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}Sf.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};function jL(r,e,t){var n;return function(){var i=this,a=arguments,s=function(){n=null,t||r.apply(i,a)},o=t&&!n;clearTimeout(n),n=setTimeout(s,e),o&&r.apply(i,a)}}var uc=jL,j1=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Of extends Ca{constructor(e,t){super(e,Object.assign({},Of.defaultOptions,t)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{var i,a,s,o;if(!this.isDragging||hi.isPinching)return;const l=(a=(i=n.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:n.dx,u=(o=(s=n.movement)===null||s===void 0?void 0:s.y)!==null&&o!==void 0?o:n.dy;l|u&&this.translate([l,u],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=uc(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Jl(e.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(li(e)){const{up:t=[],down:n=[],left:i=[],right:a=[]}=e;this.shortcut.bind(t,s=>this.onTranslate([0,1],s)),this.shortcut.bind(n,s=>this.onTranslate([0,-1],s)),this.shortcut.bind(i,s=>this.onTranslate([1,0],s)),this.shortcut.bind(a,s=>this.onTranslate([-1,0],s))}else{const{graph:t}=this.context;t.on(Lt.DRAG_START,this.onDragStart),t.on(Lt.DRAG,this.onDrag),t.on(Lt.DRAG_END,this.onDragEnd)}}onTranslate(e,t){return j1(this,void 0,void 0,function*(){if(!this.validate(t))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(ds(e,i),this.options.animation),this.invokeOnFinish()})}translate(e,t){return j1(this,void 0,void 0,function*(){e=this.clampByDirection(e),e=this.clampByRange(e),yield this.context.graph.translateBy(e,t)})}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,u,h]=cs(this.options.range),p=[s*o,a*l,s*u,a*h],S=Mo(og(n.getCanvasCenter()),p),N=Or(n.getViewportCenter(),[e,t,0]);if(!hs(N,S)){const{min:[U,H],max:[V,Y]}=S;(N[0]<U&&e>0||N[0]>V&&e<0)&&(e=0),(N[1]<H&&t>0||N[1]>Y&&t<0)&&(t=0)}return[e,t]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return typeof t=="function"?t(e):!!t}unbindEvents(){this.shortcut.unbindAll();const{graph:e}=this.context;e.off(Lt.DRAG_START,this.onDragStart),e.off(Lt.DRAG,this.onDrag),e.off(Lt.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}Of.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var V1=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class cc extends Ca{constructor(e,t){super(e,Object.assign({},cc.defaultOptions,t)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>V1(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:s}=this.context,o=n.target.id;this.target.forEach(l=>{const u=a.getParentData(l,Cr);u&&Et(u)===o&&a.refreshComboData(o),a.setParent(l,o,Cr)}),yield(i=s==null?void 0:s.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:s}=this.options;i===Lt.POINTER_ENTER?a.setCursor((s==null?void 0:s.grab)||"grab"):a.setCursor((s==null?void 0:s.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.on(`${i}:${Lt.DRAG_START}`,this.onDragStart),e.on(`${i}:${Lt.DRAG}`,this.onDrag),e.on(`${i}:${Lt.DRAG_END}`,this.onDragEnd),e.on(`${i}:${Lt.POINTER_ENTER}`,this.setCursor),e.on(`${i}:${Lt.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(e.on(ll.DROP,this.onDrop),e.on(Ys.DROP,this.onDrop))}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}getDelta(e){const t=this.context.graph.getZoom();return vs([e.dx,e.dy],t)}onDragStart(e){var t;if(this.enable=this.validate(e),!this.enable)return;const{batch:n,canvas:i,graph:a}=this.context;i.setCursor(((t=this.options.cursor)===null||t===void 0?void 0:t.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch();const s=e.target.id;a.getElementState(s).includes(this.options.state)?this.target=this.getSelectedNodeIDs([s]):this.target=[s],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.options.shadow?this.moveShadow(t):this.moveElement(this.target,t)}onDragEnd(){var e,t,n;if(!this.enable)return;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:s=0,y:o=0}=this.shadow.attributes,[l,u]=Or([+s,+o],this.shadowOrigin);this.moveElement(this.target,[l,u])}this.showEdges(),(t=(e=this.options).onFinish)===null||t===void 0||t.call(e,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}moveElement(e,t){return V1(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&e.forEach(s=>i.refreshComboData(s)),n.translateElementBy(Object.fromEntries(e.map(s=>[s,t])),!1)})}moveShadow(e){if(!this.shadow)return;const{x:t=0,y:n=0}=this.shadow.attributes,[i,a]=e;this.shadow.attr({x:+t+i,y:+n+a})}createShadow(e){const t=Ei(this.options,"shadow"),n=Xu(e.map(u=>this.context.element.getElement(u).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[s,o]=bo(n),l={width:s,height:o,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},t),l),{visibility:"visible"})):(this.shadow=new ki({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},t),l),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:e,shadow:t}=this.options;if(e==="none"||t)return;const{graph:n}=this.context;e==="all"?this.hiddenEdges=n.getEdgeData().map(Et):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,e).map(Et)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{e.off(`${i}:${Lt.DRAG_START}`,this.onDragStart),e.off(`${i}:${Lt.DRAG}`,this.onDrag),e.off(`${i}:${Lt.DRAG_END}`,this.onDragEnd),e.off(`${i}:${Lt.POINTER_ENTER}`,this.setCursor),e.off(`${i}:${Lt.POINTER_LEAVE}`,this.setCursor)}),e.off(`combo:${Lt.DROP}`,this.onDrop),e.off(`canvas:${Lt.DROP}`,this.onDrop)}destroy(){var e;this.unbindEvents(),(e=this.shadow)===null||e===void 0||e.destroy(),super.destroy()}}cc.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var VL="*",ZL=function(){function r(){this._events={}}return r.prototype.on=function(e,t,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!n}),this},r.prototype.once=function(e,t){return this.on(e,t,!0)},r.prototype.emit=function(e){for(var t=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var a=this._events[e]||[],s=this._events[VL]||[],o=function(l){for(var u=l.length,h=0;h<u;h++)if(l[h]){var p=l[h],S=p.callback,N=p.once;N&&(l.splice(h,1),l.length===0&&delete t._events[e],u--,h--),S.apply(t,n)}};o(a),o(s)},r.prototype.off=function(e,t){if(!e)this._events={};else if(!t)delete this._events[e];else{for(var n=this._events[e]||[],i=n.length,a=0;a<i;a++)n[a].callback===t&&(n.splice(a,1),i--,a--);n.length===0&&delete this._events[e]}return this},r.prototype.getEvents=function(){return this._events},r}(),Df=ZL;function Qg(r,e,t,n){for(;r.length;){const i=r.shift();if(t(i))return!0;e.add(i.id),n(i.id).forEach(s=>{e.has(s.id)||(e.add(s.id),r.push(s))})}return!1}function Cf(r,e,t,n){if(t(r))return!0;e.add(r.id);for(const a of n(r.id))if(!e.has(a.id)&&Cf(a,e,t,n))return!0;return!1}const Z1=()=>!0;class KL{constructor(e){Qr(this,"graph");Qr(this,"nodeFilter");Qr(this,"edgeFilter");Qr(this,"cacheEnabled");Qr(this,"inEdgesMap",new Map);Qr(this,"outEdgesMap",new Map);Qr(this,"bothEdgesMap",new Map);Qr(this,"allNodesMap",new Map);Qr(this,"allEdgesMap",new Map);Qr(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Qr(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(e=>e.id))});Qr(this,"updateCache",e=>{const t=new Set;e.forEach(n=>{const i=this.bothEdgesMap.get(n);if(i&&i.forEach(a=>t.add(a.id)),!this.hasNode(n))this.inEdgesMap.delete(n),this.outEdgesMap.delete(n),this.bothEdgesMap.delete(n),this.allNodesMap.delete(n);else{const a=this.graph.getRelatedEdges(n,"in").filter(this.edgeFilter),s=this.graph.getRelatedEdges(n,"out").filter(this.edgeFilter),o=Array.from(new Set([...a,...s]));o.forEach(l=>t.add(l.id)),this.inEdgesMap.set(n,a),this.outEdgesMap.set(n,s),this.bothEdgesMap.set(n,o),this.allNodesMap.set(n,this.graph.getNode(n))}}),t.forEach(n=>{this.hasEdge(n)?this.allEdgesMap.set(n,this.graph.getEdge(n)):this.allEdgesMap.delete(n)})});Qr(this,"handleGraphChanged",e=>{const t=new Set;e.changes.forEach(n=>{switch(n.type){case"NodeAdded":t.add(n.value.id);break;case"NodeDataUpdated":t.add(n.id);break;case"EdgeAdded":t.add(n.value.source),t.add(n.value.target);break;case"EdgeUpdated":(n.propertyName==="source"||n.propertyName==="target")&&(t.add(n.oldValue),t.add(n.newValue));break;case"EdgeDataUpdated":if(e.graph.hasEdge(n.id)){const i=e.graph.getEdge(n.id);t.add(i.source),t.add(i.target)}break;case"EdgeRemoved":t.add(n.value.source),t.add(n.value.target);break;case"NodeRemoved":t.add(n.value.id);break;default:break}}),this.updateCache(t)});this.graph=e.graph;const t=e.nodeFilter||Z1,n=e.edgeFilter||Z1;this.nodeFilter=t,this.edgeFilter=i=>{const{source:a,target:s}=this.graph.getEdgeDetail(i.id);return!t(a)||!t(s)?!1:n(i,a,s)},e.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):e.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(e){this.getNode(e)}hasNode(e){if(!this.graph.hasNode(e))return!1;const t=this.graph.getNode(e);return this.nodeFilter(t)}areNeighbors(e,t){return this.checkNodeExistence(e),this.getNeighbors(t).some(n=>n.id===e)}getNode(e){const t=this.graph.getNode(e);if(!this.nodeFilter(t))throw new Error("Node not found for id: "+e);return t}getRelatedEdges(e,t){return this.checkNodeExistence(e),this.cacheEnabled?t==="in"?this.inEdgesMap.get(e):t==="out"?this.outEdgesMap.get(e):this.bothEdgesMap.get(e):this.graph.getRelatedEdges(e,t).filter(this.edgeFilter)}getDegree(e,t){return this.getRelatedEdges(e,t).length}getSuccessors(e){const n=this.getRelatedEdges(e,"out").map(i=>this.getNode(i.target));return Array.from(new Set(n))}getPredecessors(e){const n=this.getRelatedEdges(e,"in").map(i=>this.getNode(i.source));return Array.from(new Set(n))}getNeighbors(e){const t=this.getPredecessors(e),n=this.getSuccessors(e);return Array.from(new Set([...t,...n]))}hasEdge(e){if(!this.graph.hasEdge(e))return!1;const t=this.graph.getEdge(e);return this.edgeFilter(t)}getEdge(e){const t=this.graph.getEdge(e);if(!this.edgeFilter(t))throw new Error("Edge not found for id: "+e);return t}getEdgeDetail(e){const t=this.getEdge(e);return{edge:t,source:this.getNode(t.source),target:this.getNode(t.target)}}hasTreeStructure(e){return this.graph.hasTreeStructure(e)}getRoots(e){return this.graph.getRoots(e).filter(this.nodeFilter)}getChildren(e,t){return this.checkNodeExistence(e),this.graph.getChildren(e,t).filter(this.nodeFilter)}getParent(e,t){this.checkNodeExistence(e);const n=this.graph.getParent(e,t);return!n||!this.nodeFilter(n)?null:n}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];Qg([this.getNode(e)],new Set,t,i)}dfs(e,t,n="out"){const i={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[n];Cf(this.getNode(e),new Set,t,i)}}class di extends Df{constructor(t){super();Qr(this,"nodeMap",new Map);Qr(this,"edgeMap",new Map);Qr(this,"inEdgesMap",new Map);Qr(this,"outEdgesMap",new Map);Qr(this,"bothEdgesMap",new Map);Qr(this,"treeIndices",new Map);Qr(this,"changes",[]);Qr(this,"batchCount",0);Qr(this,"onChanged",()=>{});Qr(this,"batch",t=>{this.batchCount+=1,t(),this.batchCount-=1,this.batchCount||this.commit()});t&&(t.nodes&&this.addNodes(t.nodes),t.edges&&this.addEdges(t.edges),t.tree&&this.addTree(t.tree),t.onChanged&&(this.onChanged=t.onChanged))}commit(){const t=this.changes;this.changes=[];const n={graph:this,changes:t};this.emit("changed",n),this.onChanged(n)}reduceChanges(t){let n=[];return t.forEach(i=>{switch(i.type){case"NodeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="NodeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else{if(s.type==="NodeDataUpdated")return s.id!==i.value.id;if(s.type==="TreeStructureChanged")return s.nodeId!==i.value.id}return!0}),a||n.push(i);break}case"EdgeRemoved":{let a=!1;n=n.filter(s=>{if(s.type==="EdgeAdded"){const o=s.value.id===i.value.id;return o&&(a=!0),!o}else if(s.type==="EdgeDataUpdated"||s.type==="EdgeUpdated")return s.id!==i.value.id;return!0}),a||n.push(i);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const a=n.findIndex(o=>o.type===i.type&&o.id===i.id&&(i.propertyName===void 0||o.propertyName===i.propertyName)),s=n[a];s?i.propertyName!==void 0?s.newValue=i.newValue:(n.splice(a,1),n.push(i)):n.push(i);break}case"TreeStructureDetached":{n=n.filter(a=>a.type==="TreeStructureAttached"||a.type==="TreeStructureChanged"?a.treeKey!==i.treeKey:!0),n.push(i);break}case"TreeStructureChanged":{const a=n.find(s=>s.type==="TreeStructureChanged"&&s.treeKey===i.treeKey&&s.nodeId===i.nodeId);a?a.newParentId=i.newParentId:n.push(i);break}default:n.push(i);break}}),n}checkNodeExistence(t){this.getNode(t)}hasNode(t){return this.nodeMap.has(t)}areNeighbors(t,n){return this.getNeighbors(n).some(i=>i.id===t)}getNode(t){const n=this.nodeMap.get(t);if(!n)throw new Error("Node not found for id: "+t);return n}getRelatedEdges(t,n){if(this.checkNodeExistence(t),n==="in"){const i=this.inEdgesMap.get(t);return Array.from(i)}else if(n==="out"){const i=this.outEdgesMap.get(t);return Array.from(i)}else{const i=this.bothEdgesMap.get(t);return Array.from(i)}}getDegree(t,n){return this.getRelatedEdges(t,n).length}getSuccessors(t){const i=this.getRelatedEdges(t,"out").map(a=>this.getNode(a.target));return Array.from(new Set(i))}getPredecessors(t){const i=this.getRelatedEdges(t,"in").map(a=>this.getNode(a.source));return Array.from(new Set(i))}getNeighbors(t){const n=this.getPredecessors(t),i=this.getSuccessors(t);return Array.from(new Set([...n,...i]))}doAddNode(t){if(this.hasNode(t.id))throw new Error("Node already exists: "+t.id);this.nodeMap.set(t.id,t),this.inEdgesMap.set(t.id,new Set),this.outEdgesMap.set(t.id,new Set),this.bothEdgesMap.set(t.id,new Set),this.treeIndices.forEach(n=>{n.childrenMap.set(t.id,new Set)}),this.changes.push({type:"NodeAdded",value:t})}addNodes(t){this.batch(()=>{for(const n of t)this.doAddNode(n)})}addNode(t){this.addNodes([t])}doRemoveNode(t){const n=this.getNode(t),i=this.bothEdgesMap.get(t);i==null||i.forEach(a=>this.doRemoveEdge(a.id)),this.nodeMap.delete(t),this.treeIndices.forEach(a=>{var o,l;(o=a.childrenMap.get(t))==null||o.forEach(u=>{a.parentMap.delete(u.id)});const s=a.parentMap.get(t);s&&((l=a.childrenMap.get(s.id))==null||l.delete(n)),a.parentMap.delete(t),a.childrenMap.delete(t)}),this.bothEdgesMap.delete(t),this.inEdgesMap.delete(t),this.outEdgesMap.delete(t),this.changes.push({type:"NodeRemoved",value:n})}removeNodes(t){this.batch(()=>{t.forEach(n=>this.doRemoveNode(n))})}removeNode(t){this.removeNodes([t])}updateNodeDataProperty(t,n,i){const a=this.getNode(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"NodeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}mergeNodeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateNodeDataProperty(t,i,a)})})}updateNodeData(...t){const n=t[0],i=this.getNode(n);if(typeof t[1]=="string"){this.updateNodeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"NodeDataUpdated",id:n,oldValue:s,newValue:o})})}checkEdgeExistence(t){if(!this.hasEdge(t))throw new Error("Edge not found for id: "+t)}hasEdge(t){return this.edgeMap.has(t)}getEdge(t){return this.checkEdgeExistence(t),this.edgeMap.get(t)}getEdgeDetail(t){const n=this.getEdge(t);return{edge:n,source:this.getNode(n.source),target:this.getNode(n.target)}}doAddEdge(t){if(this.hasEdge(t.id))throw new Error("Edge already exists: "+t.id);this.checkNodeExistence(t.source),this.checkNodeExistence(t.target),this.edgeMap.set(t.id,t);const n=this.inEdgesMap.get(t.target),i=this.outEdgesMap.get(t.source),a=this.bothEdgesMap.get(t.source),s=this.bothEdgesMap.get(t.target);n.add(t),i.add(t),a.add(t),s.add(t),this.changes.push({type:"EdgeAdded",value:t})}addEdges(t){this.batch(()=>{for(const n of t)this.doAddEdge(n)})}addEdge(t){this.addEdges([t])}doRemoveEdge(t){const n=this.getEdge(t),i=this.outEdgesMap.get(n.source),a=this.inEdgesMap.get(n.target),s=this.bothEdgesMap.get(n.source),o=this.bothEdgesMap.get(n.target);i.delete(n),a.delete(n),s.delete(n),o.delete(n),this.edgeMap.delete(t),this.changes.push({type:"EdgeRemoved",value:n})}removeEdges(t){this.batch(()=>{t.forEach(n=>this.doRemoveEdge(n))})}removeEdge(t){this.removeEdges([t])}updateEdgeSource(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.source,s=n;this.outEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.outEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.source=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"source",oldValue:a,newValue:s})})}updateEdgeTarget(t,n){const i=this.getEdge(t);this.checkNodeExistence(n);const a=i.target,s=n;this.inEdgesMap.get(a).delete(i),this.bothEdgesMap.get(a).delete(i),this.inEdgesMap.get(s).add(i),this.bothEdgesMap.get(s).add(i),i.target=n,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:t,propertyName:"target",oldValue:a,newValue:s})})}updateEdgeDataProperty(t,n,i){const a=this.getEdge(t);this.batch(()=>{const s=a.data[n],o=i;a.data[n]=o,this.changes.push({type:"EdgeDataUpdated",id:t,propertyName:n,oldValue:s,newValue:o})})}updateEdgeData(...t){const n=t[0],i=this.getEdge(n);if(typeof t[1]=="string"){this.updateEdgeDataProperty(n,t[1],t[2]);return}let a;if(typeof t[1]=="function"){const s=t[1];a=s(i.data)}else typeof t[1]=="object"&&(a=t[1]);this.batch(()=>{const s=i.data,o=a;i.data=a,this.changes.push({type:"EdgeDataUpdated",id:n,oldValue:s,newValue:o})})}mergeEdgeData(t,n){this.batch(()=>{Object.entries(n).forEach(([i,a])=>{this.updateEdgeDataProperty(t,i,a)})})}checkTreeExistence(t){if(!this.hasTreeStructure(t))throw new Error("Tree structure not found for treeKey: "+t)}hasTreeStructure(t){return this.treeIndices.has(t)}attachTreeStructure(t){this.treeIndices.has(t)||(this.treeIndices.set(t,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:t})}))}detachTreeStructure(t){this.checkTreeExistence(t),this.treeIndices.delete(t),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:t})})}addTree(t,n){this.batch(()=>{this.attachTreeStructure(n);const i=[],a=Array.isArray(t)?t:[t];for(;a.length;){const s=a.shift();i.push(s),s.children&&a.push(...s.children)}this.addNodes(i),i.forEach(s=>{var o;(o=s.children)==null||o.forEach(l=>{this.setParent(l.id,s.id,n)})})})}getRoots(t){return this.checkTreeExistence(t),this.getAllNodes().filter(n=>!this.getParent(n.id,t))}getChildren(t,n){this.checkNodeExistence(t),this.checkTreeExistence(n);const a=this.treeIndices.get(n).childrenMap.get(t);return Array.from(a||[])}getParent(t,n){return this.checkNodeExistence(t),this.checkTreeExistence(n),this.treeIndices.get(n).parentMap.get(t)||null}getAncestors(t,n){const i=[];let a=this.getNode(t),s;for(;s=this.getParent(a.id,n);)i.push(s),a=s;return i}setParent(t,n,i){var h,p;this.checkTreeExistence(i);const a=this.treeIndices.get(i);if(!a)return;const s=this.getNode(t),o=a.parentMap.get(t);if((o==null?void 0:o.id)===n)return;if(n==null){o&&((h=a.childrenMap.get(o.id))==null||h.delete(s)),a.parentMap.delete(t);return}const l=this.getNode(n);a.parentMap.set(t,l),o&&((p=a.childrenMap.get(o.id))==null||p.delete(s));let u=a.childrenMap.get(l.id);u||(u=new Set,a.childrenMap.set(l.id,u)),u.add(s),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:i,nodeId:t,oldParentId:o==null?void 0:o.id,newParentId:l.id})})}dfsTree(t,n,i){const a=s=>this.getChildren(s,i);return Cf(this.getNode(t),new Set,n,a)}bfsTree(t,n,i){const a=s=>this.getChildren(s,i);return Qg([this.getNode(t)],new Set,n,a)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return Qg([this.getNode(t)],new Set,n,a)}dfs(t,n,i="out"){const a={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[i];return Cf(this.getNode(t),new Set,n,a)}clone(){const t=this.getAllNodes().map(a=>bp(yu({},a),{data:yu({},a.data)})),n=this.getAllEdges().map(a=>bp(yu({},a),{data:yu({},a.data)})),i=new di({nodes:t,edges:n});return this.treeIndices.forEach(({parentMap:a,childrenMap:s},o)=>{const l=new Map;a.forEach((h,p)=>{l.set(p,i.getNode(h.id))});const u=new Map;s.forEach((h,p)=>{u.set(p,new Set(Array.from(h).map(S=>i.getNode(S.id))))}),i.treeIndices.set(o,{parentMap:l,childrenMap:u})}),i}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(t){return new KL(yu({graph:this},t))}}class Lf{constructor(e,t){this.context=e,this.options=t||{}}}var XL=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},YL=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function OU(r){const{type:e}=r;return!!(["comboCombined","comboForce"].includes(e)||e==="antv-dagre"&&r.sortByCombo)}function QL(r){const{type:e}=r;return["compact-box","mindmap","dendrogram","indented"].includes(e)}function DU(r){return isNumber(r.x)&&isNumber(r.y)}function JL(r){return!Array.isArray(r)&&(r==null?void 0:r.preLayout)}function Rf(r){const{nodes:e,edges:t}=r,n={nodes:[],edges:[],combos:[]};return e.forEach(i=>{const a=i.data._isCombo?n.combos:n.nodes,{x:s,y:o,z:l=0}=i.data;a==null||a.push({id:i.id,style:{x:s,y:o,z:l}})}),t.forEach(i=>{const{id:a,source:s,target:o,data:{points:l=[],controlPoints:u=l.slice(1,l.length-1)}}=i;n.edges.push({id:a,source:s,target:o,style:Object.assign({},u!=null&&u.length?{controlPoints:u.map(Fi)}:{})})}),n}function qL(r,e){class t extends Lf{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const s=this.instance;this.stop=s.stop.bind(s),this.tick=o=>{const l=s.tick(o);return Rf(l)}}}execute(i,a){return XL(this,void 0,void 0,function*(){return Rf(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions(sa({},this.options,a))))})}transformOptions(i){const{onTick:a}=i;return a&&(i.onTick=s=>a(Rf(s))),i}graphData2LayoutModel(i){const{nodes:a=[],edges:s=[],combos:o=[]}=i,l=a.map(N=>{const U=Et(N),{data:H,style:V,combo:Y}=N,q=YL(N,["data","style","combo"]),ne={id:U,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},H),{data:H}),Y?{parentId:Y}:{}),{style:V}),q)};return V!=null&&V.x&&Object.assign(ne.data,{x:V.x}),V!=null&&V.y&&Object.assign(ne.data,{y:V.y}),V!=null&&V.z&&Object.assign(ne.data,{z:V.z}),ne}),u=new Map(l.map(N=>[N.id,N])),h=s.filter(N=>{const{source:U,target:H}=N;return u.has(U)&&u.has(H)}).map(N=>{const{source:U,target:H,data:V,style:Y}=N;return{id:Et(N),source:U,target:H,data:Object.assign({},V),style:Object.assign({},Y)}}),p=o.map(N=>({id:Et(N),data:Object.assign({_isCombo:!0},N.data),style:Object.assign({},N.style)})),S=new di({nodes:[...l,...p],edges:h});return e.model.model.hasTreeStructure(Cr)&&(S.attachTreeStructure(Cr),l.forEach(N=>{const U=e.model.model.getParent(N.id,Cr);U&&S.hasNode(U.id)&&S.setParent(N.id,U.id,Cr)})),S}}return t}function Jg(r,e,...t){if(e in r)return r[e](...t);if("instance"in r){const n=r.instance;if(e in n)return n[e](...t)}return null}function K1(r,e){if(e in r)return r[e];if("instance"in r){const t=r.instance;if(e in t)return t[e]}return null}var $L=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class eR extends cc{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(e=>["d3-force","d3-force-3d"].includes(e==null?void 0:e.id))}validate(e){return this.context.layout?this.forceLayoutInstance?super.validate(e):(Ea.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(e,t){return $L(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(e).forEach((i,a)=>{const{x:s=0,y:o=0}=i.style||{};n&&Jg(n,"setFixedPosition",e[a],[...Un([+s,+o],t)])})})}onDragStart(e){if(this.enable=this.validate(e),!this.enable)return;this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const t=this.forceLayoutInstance;t&&K1(t,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};t&&Jg(t,"setFixedPosition",Et(n),[+i,+a])})}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.moveElement(this.target,t)}onDragEnd(){const e=this.forceLayoutInstance;e&&K1(e,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(t=>{e&&Jg(e,"setFixedPosition",Et(t),[null,null,null])})}}var X1=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class If extends Ca{constructor(e,t){super(e,Object.assign({},If.defaultOptions,t)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>X1(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:s,edgeFilter:o,comboFilter:l}=this.options,u=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(s),h=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(o),p=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(l),S=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,N=[...u,...p];N.length>0&&N.forEach(U=>this.fixNodeLike(U,S)),this.updateRelatedEdges(),h.length>0&&h.forEach(U=>this.fixEdge(U,S))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var s;const o=this.cachedStyles.get(n)||[],l=((s=o.find(u=>u.shape===i))===null||s===void 0?void 0:s.style)||{};return a in l||(l[a]=i.attributes[a],this.cachedStyles.set(n,[...o.filter(u=>u.shape!==i),{shape:i,style:l}])),l[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const s=this.cachedStyles.get(n)||[];s.push({shape:i}),this.cachedStyles.set(n,s)},this.scaleSpecificShapes=(n,i,a)=>{const s=GD(n);(Array.isArray(a)?a:[a]).forEach(l=>{const{shape:u,fields:h}=l,p=typeof u=="function"?u(s):n.getShape(u);if(p){if(!h){this.scaleEntireElement(n.id,p,i);return}h.forEach(S=>{const N=this.getOriginalFieldValue(n.id,p,S);un(N)&&(p.style[S]=N/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=Et(n),{element:s,model:o}=this.context,l=s.getElement(a);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(a).forEach(p=>this.relatedEdgeToUpdate.add(Et(p)));const h=this.options[l.type];if(!h){this.scaleEntireElement(a,l,i);return}this.scaleSpecificShapes(l,i,h)},this.fixEdge=(n,i)=>{const a=Et(n),s=this.context.element.getElement(a);if(!s||this.skipIfExceedViewport(s))return;const o=this.options.edge;if(!o){s.style.transformOrigin="center",this.scaleEntireElement(a,s,i);return}this.scaleSpecificShapes(s,i,o)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>X1(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:s})=>{if(Fs(s))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(s).forEach(([o,l])=>a.style[o]=l)}})});const{graph:e,element:t}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&e.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{e.getRelatedEdgesData(a).forEach(s=>i.add(Et(s)))}),i.forEach(a=>{const s=t==null?void 0:t.getElement(a);s==null||s.update({})})}}}bindEvents(){const{graph:e}=this.context;e.on(Qt.AFTER_DRAW,this.resetTransform),e.on(Qt.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:e}=this.context;e.off(Qt.AFTER_DRAW,this.resetTransform),e.off(Qt.AFTER_TRANSFORM,this.fixElementSize)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}If.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var tR=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Nf extends Ca{constructor(e,t){super(e,Object.assign({},Nf.defaultOptions,t)),this.focus=n=>tR(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),dl.forEach(t=>{e.on(`${t}:${Lt.CLICK}`,this.focus)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;dl.forEach(t=>{e.off(`${t}:${Lt.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}Nf.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class Bf extends Ca{constructor(e,t){super(e,Object.assign({},Bf.defaultOptions,t)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===Lt.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:s}=this.options;i?a==null||a(n):s==null||s(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:s,animation:o,inactiveState:l}=this.options,u=this.getActiveIds(n),h={};if(s&&Object.assign(h,this.getElementsState(u,s,i)),l){const p=N_(a.getData(),!0).filter(S=>!u.includes(S));Object.assign(h,this.getElementsState(p,l,i))}a.setElementState(h,o)},this.getElementsState=(n,i,a)=>{const{graph:s}=this.context,o={};return n.forEach(l=>{const u=s.getElementState(l);a?o[l]=u.includes(i)?u:[...u,i]:o[l]=u.filter(h=>h!==i)}),o},this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),dl.forEach(n=>{e.on(`${n}:${Lt.POINTER_ENTER}`,this.hoverElement),e.on(`${n}:${Lt.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.addEventListener(`${Lt.DRAG_START}`,this.toggleFrozen),t.addEventListener(`${Lt.DRAG_END}`,this.toggleFrozen)}getActiveIds(e){const{graph:t}=this.context,{degree:n,direction:i}=this.options,a=e.target.id;return n?J_(t,e.targetType,a,typeof n=="function"?n(e):n,i):[a]}validate(e){if(this.destroyed||this.isFrozen||wf(e.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;dl.forEach(n=>{e.off(`${n}:${Lt.POINTER_ENTER}`,this.hoverElement),e.off(`${n}:${Lt.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.removeEventListener(`${Lt.DRAG_START}`,this.toggleFrozen),t.removeEventListener(`${Lt.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Bf.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class nR extends ec{onPointerDown(e){if(!super.validate(e)||!super.isKeydown()||this.points)return;const{canvas:t}=this.context;this.pathShape=new Sa({id:"g6-lasso-select",style:this.options.style}),t.appendChild(this.pathShape),this.points=[Qh(e)]}onPointerMove(e){var t;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(Qh(e)),(t=this.pathShape)===null||t===void 0||t.setAttribute("d",FD(this.points)),n&&i==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var e;(e=this.pathShape)===null||e===void 0||e.remove(),this.pathShape=void 0,this.points=void 0}}class kf extends Ca{constructor(e,t){super(e,Object.assign({},kf.defaultOptions,t)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(s=>{i==="hidden"&&!s.isVisible()?this.hiddenShapes.push(s):i==="visible"&&this.hiddenShapes.includes(s)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(s),1):hl(s,i,a)})},this.filterShapes=(n,i)=>{if(yn(i))return s=>!i(n,s);const a=i==null?void 0:i[n];return s=>s.className?!(a!=null&&a.includes(s.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=uc(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:e}=this.context;e.on(Qt.BEFORE_TRANSFORM,this.hideShapes),e.on(Qt.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:e}=this.context;e.off(Qt.BEFORE_TRANSFORM,this.hideShapes),e.off(Qt.AFTER_TRANSFORM,this.showShapes)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}kf.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var Y1=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Ff extends Ca{constructor(e,t){super(e,Object.assign({},Ff.defaultOptions,t)),this.onWheel=n=>Y1(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Jl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e,t;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),li(n)){(e=this.graphDom)===null||e===void 0||e.removeEventListener(Lt.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:s=[],right:o=[]}=n;this.shortcut.bind(i,l=>this.scroll([0,-10],l)),this.shortcut.bind(a,l=>this.scroll([0,10],l)),this.shortcut.bind(s,l=>this.scroll([-10,0],l)),this.shortcut.bind(o,l=>this.scroll([10,0],l))}else(t=this.graphDom)===null||t===void 0||t.addEventListener(Lt.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(e){const{sensitivity:t}=this.options;return e=ds(e,t),e=this.clampByDirection(e),e=this.clampByRange(e),e}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:i}=this.context,[a,s]=i.getSize(),[o,l,u,h]=cs(this.options.range),p=[s*o,a*l,s*u,a*h],S=Mo(og(n.getCanvasCenter()),p),N=Or(n.getViewportCenter(),[e,t,0]);if(!hs(N,S)){const{min:[U,H],max:[V,Y]}=S;(N[0]<U&&e>0||N[0]>V&&e<0)&&(e=0),(N[1]<H&&t>0||N[1]>Y&&t<0)&&(t=0)}return[e,t]}scroll(e,t){return Y1(this,void 0,void 0,function*(){if(!this.validate(t))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(e);yield i.translateBy(a,!1),n==null||n()})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.graphDom)===null||e===void 0||e.removeEventListener(Lt.WHEEL,this.onWheel),super.destroy()}}Ff.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var Q1=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class zf extends Ca{constructor(e,t){super(e,Object.assign({},zf.defaultOptions,t)),this.zoom=(n,i,a)=>Q1(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:s}=this.context;let o=this.options.origin;!o&&"viewport"in i&&(o=Fi(i.viewport));const{sensitivity:l,onFinish:u}=this.options,h=1+Jr(n,-50,50)*l/100,p=s.getZoom();yield s.zoomTo(p*h,a,o),u==null||u()}),this.onReset=()=>Q1(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Jl(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if(this.shortcut.unbindAll(),Array.isArray(e))if(e.includes(Lt.PINCH))this.shortcut.bind([Lt.PINCH],t=>{this.zoom(t.scale,t,!1)});else{const t=this.context.canvas.getContainer();t==null||t.addEventListener(Lt.WHEEL,this.preventDefault),this.shortcut.bind([...e,Lt.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})}if(typeof e=="object"){const{zoomIn:t=[],zoomOut:n=[],reset:i=[]}=e;this.shortcut.bind(t,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(n,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return yn(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.context.canvas.getContainer())===null||e===void 0||e.removeEventListener(Lt.WHEEL,this.preventDefault),super.destroy()}}zf.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var Uf=X(13722);const rR=(r,e)=>{if(r!=="next"&&r!=="prev")return e},J1=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};class iR{constructor(){const e={};e.prev=e,e.next=e.prev,this.shortcut=e}dequeue(){const e=this.shortcut,t=e.prev;if(t&&t!==e)return J1(t),t}enqueue(e){const t=this.shortcut;e.prev&&e.next&&J1(e),e.next=t.next,t.next.prev=e,t.next=e,e.prev=t}toString(){const e=[],t=this.shortcut;let n=t.prev;for(;n!==t;)e.push(JSON.stringify(n,rR)),n=n==null?void 0:n.prev;return`[${e.join(", ")}]`}}class aR extends iR{}const sR=()=>1,oR=(r,e)=>{var t;if(r.getAllNodes().length<=1)return[];const n=uR(r,e||sR);return(t=lR(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:s})=>s===a.w)))===null||t===void 0?void 0:t.flat()},lR=(r,e,t)=>{let n=[];const i=e[e.length-1],a=e[0];let s;for(;r.getAllNodes().length;){for(;s=a.dequeue();)qg(r,e,t,s);for(;s=i.dequeue();)qg(r,e,t,s);if(r.getAllNodes().length){for(let o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(qg(r,e,t,s,!0));break}}}return n},qg=(r,e,t,n,i)=>{var a,s;const o=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(l=>{const u=l.data.weight,h=r.getNode(l.source);i&&o.push({v:l.source,w:l.target,in:0,out:0}),h.data.out===void 0&&(h.data.out=0),h.data.out-=u,$g(e,t,Object.assign({v:h.id},h.data))}),(s=r.getRelatedEdges(n.v,"out"))===null||s===void 0||s.forEach(l=>{const u=l.data.weight,h=l.target,p=r.getNode(h);p.data.in===void 0&&(p.data.in=0),p.data.in-=u,$g(e,t,Object.assign({v:p.id},p.data))}),r.removeNode(n.v)),i?o:void 0},uR=(r,e)=>{const t=new di;let n=0,i=0;r.getAllNodes().forEach(l=>{t.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),r.getAllEdges().forEach(l=>{const u=t.getRelatedEdges(l.source,"out").find(p=>p.target===l.target),h=(e==null?void 0:e(l))||1;u?t.updateEdgeData(u==null?void 0:u.id,Object.assign(Object.assign({},u.data),{weight:u.data.weight+h})):t.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:h}}),i=Math.max(i,t.getNode(l.source).data.out+=h),n=Math.max(n,t.getNode(l.target).data.in+=h)});const a=[],s=i+n+3;for(let l=0;l<s;l++)a.push(new aR);const o=n+1;return t.getAllNodes().forEach(l=>{$g(a,o,Object.assign({v:l.id},t.getNode(l.id).data))}),{buckets:a,zeroIdx:o,graph:t}},$g=(r,e,t)=>{t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)},cR=(r,e)=>{const n=e==="greedy"?oR(r,(i=>a=>a.data.weight||1)(r)):hR(r);n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},hR=r=>{const e=[],t={},n={},i=a=>{n[a]||(n[a]=!0,t[a]=!0,r.getRelatedEdges(a,"out").forEach(s=>{t[s.target]?e.push(s):i(s.target)}),delete t[a])};return r.getAllNodes().forEach(a=>i(a.id)),e},fR=r=>{r.getAllEdges().forEach(e=>{const t=e.data;if(t.reversed){r.removeEdge(e.id);const n=t.forwardName;delete t.reversed,delete t.forwardName,r.addEdge({id:e.id,source:e.target,target:e.source,data:Object.assign(Object.assign({},t),{forwardName:n})})}})},dR=(r,e)=>Number(r)-Number(e),tu=(r,e,t,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return t.dummy=e,r.addNode({id:i,data:t}),i},vR=r=>{const e=new di;return r.getAllNodes().forEach(t=>{e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{const n=e.getRelatedEdges(t.source,"out").find(i=>i.target===t.target);n?e.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+t.data.weight||0,minlen:Math.max(n.data.minlen,t.data.minlen||1)})):e.addEdge({id:t.id,source:t.source,target:t.target,data:{weight:t.data.weight||0,minlen:t.data.minlen||1}})}),e},q1=r=>{const e=new di;return r.getAllNodes().forEach(t=>{r.getChildren(t.id).length||e.addNode(Object.assign({},t))}),r.getAllEdges().forEach(t=>{e.addEdge(t)}),e},$1=(r,e)=>r==null?void 0:r.reduce((t,n,i)=>(t[n]=e[i],t),{}),CU=r=>{const e={};return r.getAllNodes().forEach(t=>{const n={};r.getRelatedEdges(t.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),e[t.id]=n}),e},LU=r=>{const e=r.getAllNodes(),t=e.map(n=>{const i={};return r.getRelatedEdges(n.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return $1(e.map(n=>n.id),t)},eE=(r,e)=>{const t=Number(r.x),n=Number(r.y),i=Number(e.x)-t,a=Number(e.y)-n;let s=Number(r.width)/2,o=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:t+l,y:n+u}},hc=r=>{const e=[],t=nE(r)+1;for(let n=0;n<t;n++)e.push([]);r.getAllNodes().forEach(n=>{const i=n.data.rank;i!==void 0&&e[i]&&e[i].push(n.id)});for(let n=0;n<t;n++)e[n]=e[n].sort((i,a)=>dR(r.getNode(i).data.order,r.getNode(a).data.order));return e},gR=r=>{const e=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),t=Math.min(...e);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&t!==1/0&&(n.data.rank-=t)})},pR=(r,e=0)=>{const t=r.getAllNodes(),n=t.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),i=Math.min(...n),a=[];t.forEach(o=>{const l=(o.data.rank||0)-i;a[l]||(a[l]=[]),a[l].push(o.id)});let s=0;for(let o=0;o<a.length;o++){const l=a[o];l===void 0?o%e!==0&&(s-=1):s&&(l==null||l.forEach(u=>{const h=r.getNode(u);h&&(h.data.rank=h.data.rank||0,h.data.rank+=s)}))}},tE=(r,e,t,n)=>{const i={width:0,height:0};return un(t)&&un(n)&&(i.rank=t,i.order=n),tu(r,"border",i,e)},nE=r=>{let e;return r.getAllNodes().forEach(t=>{const n=t.data.rank;n!==void 0&&(e===void 0||n>e)&&(e=n)}),e||(e=0),e},mR=(r,e)=>{const t={lhs:[],rhs:[]};return r==null||r.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},e0=(r,e)=>r.reduce((t,n)=>{const i=e(t),a=e(n);return i>a?n:t}),rE=(r,e,t,n,i,a)=>{n.includes(e.id)||(n.push(e.id),t||a.push(e.id),i(e.id).forEach(s=>rE(r,s,t,n,i,a)),t&&a.push(e.id))},iE=(r,e,t,n)=>{const i=Array.isArray(e)?e:[e],a=l=>n?r.getSuccessors(l):r.getNeighbors(l),s=[],o=[];return i.forEach(l=>{if(r.hasNode(l.id))rE(r,l,t==="post",o,a,s);else throw new Error(`Graph does not have node: ${l}`)}),s},yR=r=>{const e=t=>{const n=r.getChildren(t),i=r.getNode(t);if(n!=null&&n.length&&n.forEach(a=>e(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,s=i.data.maxRank+1;a<s;a+=1)aE(r,"borderLeft","_bl",t,i,a),aE(r,"borderRight","_br",t,i,a)}};r.getRoots().forEach(t=>e(t.id))},aE=(r,e,t,n,i,a)=>{const s={rank:a,borderType:e,width:0,height:0},o=i.data[e][a-1],l=tu(r,"border",s,t);i.data[e][a]=l,r.setParent(l,n),o&&r.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},_R=(r,e)=>{const t=e.toLowerCase();(t==="lr"||t==="rl")&&sE(r)},ER=(r,e)=>{const t=e.toLowerCase();(t==="bt"||t==="rl")&&xR(r),(t==="lr"||t==="rl")&&(bR(r),sE(r))},sE=r=>{r.getAllNodes().forEach(e=>{oE(e)}),r.getAllEdges().forEach(e=>{oE(e)})},oE=r=>{const e=r.data.width;r.data.width=r.data.height,r.data.height=e},xR=r=>{r.getAllNodes().forEach(e=>{t0(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>t0(n)),e.data.hasOwnProperty("y")&&t0(e.data)})},t0=r=>{r!=null&&r.y&&(r.y=-r.y)},bR=r=>{r.getAllNodes().forEach(e=>{n0(e.data)}),r.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>n0(n)),e.data.hasOwnProperty("x")&&n0(e.data)})},n0=r=>{const e=r.x;r.x=r.y,r.y=e},wR=r=>{const e=tu(r,"root",{},"_root"),t=MR(r);let n=Math.max(...Object.values(t));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(o=>{o.data.minlen*=a});const s=AR(r)+1;return r.getRoots().forEach(o=>{lE(r,e,a,s,i,t,o.id)}),{nestingRoot:e,nodeRankFactor:a}},lE=(r,e,t,n,i,a,s)=>{const o=r.getChildren(s);if(!(o!=null&&o.length)){s!==e&&r.addEdge({id:`e${Math.random()}`,source:e,target:s,data:{weight:0,minlen:t}});return}const l=tE(r,"_bt"),u=tE(r,"_bb"),h=r.getNode(s);r.setParent(l,s),h.data.borderTop=l,r.setParent(u,s),h.data.borderBottom=u,o==null||o.forEach(p=>{lE(r,e,t,n,i,a,p.id);const S=p.data.borderTop?p.data.borderTop:p.id,N=p.data.borderBottom?p.data.borderBottom:p.id,U=p.data.borderTop?n:2*n,H=S!==N?1:i-a[s]+1;r.addEdge({id:`e${Math.random()}`,source:l,target:S,data:{minlen:H,weight:U,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:N,target:u,data:{minlen:H,weight:U,nestingEdge:!0}})}),r.getParent(s)||r.addEdge({id:`e${Math.random()}`,source:e,target:l,data:{weight:0,minlen:i+a[s]}})},MR=r=>{const e={},t=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(s=>t(s.id,i+1)),e[n]=i};return r.getRoots().forEach(n=>t(n.id,1)),e},AR=r=>{let e=0;return r.getAllEdges().forEach(t=>{e+=t.data.weight}),e},TR=(r,e)=>{e&&r.removeNode(e),r.getAllEdges().forEach(t=>{t.data.nestingEdge&&r.removeEdge(t.id)})},PR="edge",uE="edge-label",SR=(r,e)=>{r.getAllEdges().forEach(t=>OR(r,t,e))},OR=(r,e,t)=>{let n=e.source,i=r.getNode(n).data.rank;const a=e.target,s=r.getNode(a).data.rank,o=e.data.labelRank;if(s===i+1)return;r.removeEdge(e.id);let l,u,h;for(h=0,++i;i<s;++h,++i)e.data.points=[],u={originalEdge:e,width:0,height:0,rank:i},l=tu(r,PR,u,"_d"),i===o&&(u.width=e.data.width,u.height=e.data.height,u.dummy=uE,u.labelpos=e.data.labelpos),r.addEdge({id:`e${Math.random()}`,source:n,target:l,data:{weight:e.data.weight}}),h===0&&t.push(l),n=l;r.addEdge({id:`e${Math.random()}`,source:n,target:a,data:{weight:e.data.weight}})},DR=(r,e)=>{e.forEach(t=>{let n=r.getNode(t);const{data:i}=n,a=i.originalEdge;let s;a&&r.addEdge(a);let o=t;for(;n.data.dummy;)s=r.getSuccessors(o)[0],r.removeNode(o),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===uE&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),o=s.id,n=r.getNode(o)})},CR=(r,e,t)=>{const n={};let i;t==null||t.forEach(a=>{let s=r.getParent(a),o,l;for(;s;){if(o=r.getParent(s.id),o?(l=n[o.id],n[o.id]=s.id):(l=i,i=s.id),l&&l!==s.id){e.hasNode(l)||e.addNode({id:l,data:{}}),e.hasNode(s.id)||e.addNode({id:s.id,data:{}}),e.hasEdge(`e${l}-${s.id}`)||e.addEdge({id:`e${l}-${s.id}`,source:l,target:s.id,data:{}});return}s=o}})},LR=(r,e,t)=>{const n=RR(r),i=new di({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const s=r.getParent(a.id);(a.data.rank===e||a.data.minRank<=e&&e<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),s!=null&&s.id&&!i.hasNode(s==null?void 0:s.id)&&i.addNode(Object.assign({},s)),i.setParent(a.id,(s==null?void 0:s.id)||n),r.getRelatedEdges(a.id,t).forEach(o=>{const l=o.source===a.id?o.target:o.source;i.hasNode(l)||i.addNode(Object.assign({},r.getNode(l)));const u=i.getRelatedEdges(l,"out").find(({target:p})=>p===a.id),h=u!==void 0?u.data.weight:0;u?i.updateEdgeData(u.id,Object.assign(Object.assign({},u.data),{weight:o.data.weight+h})):i.addEdge({id:o.id,source:l,target:a.id,data:{weight:o.data.weight+h}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[e],borderRight:a.data.borderRight[e]})))}),i},RR=r=>{let e;for(;r.hasNode(e=`_root${Math.random()}`););return e},IR=(r,e,t)=>{const n=$1(t,t.map((h,p)=>p)),a=e.map(h=>{const p=r.getRelatedEdges(h,"out").map(S=>({pos:n[S.target]||0,weight:S.data.weight}));return p==null?void 0:p.sort((S,N)=>S.pos-N.pos)}).flat().filter(h=>h!==void 0);let s=1;for(;s<t.length;)s<<=1;const o=2*s-1;s-=1;const l=Array(o).fill(0,0,o);let u=0;return a==null||a.forEach(h=>{if(h){let p=h.pos+s;l[p]+=h.weight;let S=0;for(;p>0;)p%2&&(S+=l[p+1]),p=p-1>>1,l[p]+=h.weight;u+=h.weight*S}}),u},cE=(r,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);n+=1)t+=IR(r,e[n-1],e[n]);return t},hE=r=>{const e={},t=r.getAllNodes(),n=t.map(u=>{var h;return(h=u.data.rank)!==null&&h!==void 0?h:-1/0}),i=Math.max(...n),a=[];for(let u=0;u<i+1;u++)a.push([]);const s=t.sort((u,h)=>r.getNode(u.id).data.rank-r.getNode(h.id).data.rank),l=s.filter(u=>r.getNode(u.id).data.fixorder!==void 0).sort((u,h)=>r.getNode(u.id).data.fixorder-r.getNode(h.id).data.fixorder);return l==null||l.forEach(u=>{isNaN(r.getNode(u.id).data.rank)||a[r.getNode(u.id).data.rank].push(u.id),e[u.id]=!0}),s==null||s.forEach(u=>r.dfsTree(u.id,h=>{if(e.hasOwnProperty(h.id))return!0;e[h.id]=!0,isNaN(h.data.rank)||a[h.data.rank].push(h.id)})),a},NR=(r,e)=>e.map(t=>{const n=r.getRelatedEdges(t,"in");if(!(n!=null&&n.length))return{v:t};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const s=r.getNode(a.source);i.sum+=a.data.weight*s.data.order,i.weight+=a.data.weight}),{v:t,barycenter:i.sum/i.weight,weight:i.weight}}),BR=(r,e)=>{var t,n,i;const a={};r==null||r.forEach((o,l)=>{a[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const u=a[o.v];o.barycenter!==void 0&&(u.barycenter=o.barycenter,u.weight=o.weight)}),(t=e.getAllEdges())===null||t===void 0||t.forEach(o=>{const l=a[o.source],u=a[o.target];l!==void 0&&u!==void 0&&(u.indegree++,l.out.push(a[o.target]))});const s=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,o=>!o.indegree);return kR(s)},kR=r=>{var e,t;const n=[],i=l=>u=>{u.merged||(u.barycenter===void 0||l.barycenter===void 0||u.barycenter>=l.barycenter)&&FR(l,u)},a=l=>u=>{u.in.push(l),--u.indegree===0&&r.push(u)};for(;r!=null&&r.length;){const l=r.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(u=>i(l)(u)),(t=l.out)===null||t===void 0||t.forEach(u=>a(l)(u))}const s=n.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return s.map(l=>{const u={};return o==null||o.forEach(h=>{l[h]!==void 0&&(u[h]=l[h])}),u})},FR=(r,e)=>{var t;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),r.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(e.i,r.i),e.merged=!0};var zR=BR;const UR=(r,e,t,n)=>{const i=mR(r,S=>{const N=S.hasOwnProperty("fixorder")&&!isNaN(S.fixorder);return n?!N&&S.hasOwnProperty("barycenter"):N||S.hasOwnProperty("barycenter")}),a=i.lhs,s=i.rhs.sort((S,N)=>-S.i- -N.i),o=[];let l=0,u=0,h=0;a==null||a.sort(WR(!!e,!!t)),h=fE(o,s,h),a==null||a.forEach(S=>{var N;h+=(N=S.vs)===null||N===void 0?void 0:N.length,o.push(S.vs),l+=S.barycenter*S.weight,u+=S.weight,h=fE(o,s,h)});const p={vs:o.flat()};return u&&(p.barycenter=l/u,p.weight=u),p},fE=(r,e,t)=>{let n=t,i;for(;e.length&&(i=e[e.length-1]).i<=n;)e.pop(),r==null||r.push(i.vs),n++;return n},WR=(r,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycenter<n.barycenter)return-1;if(t.barycenter>n.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.order<n.order)return-1;if(t.order>n.order)return 1}return r?n.i-t.i:t.i-n.i},dE=(r,e,t,n,i,a)=>{var s,o,l,u;let h=r.getChildren(e).map(q=>q.id);const p=r.getNode(e),S=p?p.data.borderLeft:void 0,N=p?p.data.borderRight:void 0,U={};S&&(h=h==null?void 0:h.filter(q=>q!==S&&q!==N));const H=NR(r,h||[]);H==null||H.forEach(q=>{var ne;if(!((ne=r.getChildren(q.v))===null||ne===void 0)&&ne.length){const le=dE(r,q.v,t,n,a);U[q.v]=le,le.hasOwnProperty("barycenter")&&GR(q,le)}});const V=zR(H,t);HR(V,U),(s=V.filter(q=>q.vs.length>0))===null||s===void 0||s.forEach(q=>{const ne=r.getNode(q.vs[0]);ne&&(q.fixorder=ne.data.fixorder,q.order=ne.data.order)});const Y=UR(V,n,i,a);if(S&&(Y.vs=[S,Y.vs,N].flat(),!((o=r.getPredecessors(S))===null||o===void 0)&&o.length)){const q=r.getNode(((l=r.getPredecessors(S))===null||l===void 0?void 0:l[0].id)||""),ne=r.getNode(((u=r.getPredecessors(N))===null||u===void 0?void 0:u[0].id)||"");Y.hasOwnProperty("barycenter")||(Y.barycenter=0,Y.weight=0),Y.barycenter=(Y.barycenter*Y.weight+q.data.order+ne.data.order)/(Y.weight+2),Y.weight+=2}return Y},HR=(r,e)=>{r==null||r.forEach(t=>{var n;const i=(n=t.vs)===null||n===void 0?void 0:n.map(a=>e[a]?e[a].vs:a);t.vs=i.flat()})},GR=(r,e)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight):(r.barycenter=e.barycenter,r.weight=e.weight)},jR=(r,e)=>{const t=nE(r),n=[],i=[];for(let h=1;h<t+1;h++)n.push(h);for(let h=t-1;h>-1;h--)i.push(h);const a=vE(r,n,"in"),s=vE(r,i,"out");let o=hE(r);r0(r,o);let l=Number.POSITIVE_INFINITY,u;for(let h=0,p=0;p<4;++h,++p){gE(h%2?a:s,h%4>=2,!1,e),o=hc(r);const S=cE(r,o);S<l&&(p=0,u=Xl(o),l=S)}o=hE(r),r0(r,o);for(let h=0,p=0;p<4;++h,++p){gE(h%2?a:s,h%4>=2,!0,e),o=hc(r);const S=cE(r,o);S<l&&(p=0,u=Xl(o),l=S)}r0(r,u)},vE=(r,e,t)=>e.map(n=>LR(r,n,t)),gE=(r,e,t,n)=>{const i=new di;r==null||r.forEach(a=>{var s;const o=a.getRoots()[0].id,l=dE(a,o,i,e,t,n);for(let u=0;u<((s=l.vs)===null||s===void 0?void 0:s.length);u++){const h=a.getNode(l.vs[u]);h&&(h.data.order=u)}CR(a,i,l.vs)})},r0=(r,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,i)=>{r.getNode(n).data.order=i})})},VR=(r,e)=>{const n=r.getAllNodes().filter(s=>{var o;return!(!((o=r.getChildren(s.id))===null||o===void 0)&&o.length)}).map(s=>s.data.rank),i=Math.max(...n),a=[];for(let s=0;s<i+1;s++)a[s]=[];e==null||e.forEach(s=>{const o=r.getNode(s);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=a[o.data.rank].length,a[o.data.rank].push(s))})},ZR=r=>{const e={};let t=0;const n=i=>{const a=t;r.getChildren(i).forEach(s=>n(s.id)),e[i]={low:a,lim:t++}};return r.getRoots().forEach(i=>n(i.id)),e},KR=(r,e,t,n)=>{var i,a;const s=[],o=[],l=Math.min(e[t].low,e[n].low),u=Math.max(e[t].lim,e[n].lim);let h,p;h=t;do h=(i=r.getParent(h))===null||i===void 0?void 0:i.id,s.push(h);while(h&&(e[h].low>l||u>e[h].lim));for(p=h,h=n;h&&h!==p;)o.push(h),h=(a=r.getParent(h))===null||a===void 0?void 0:a.id;return{lca:p,path:s.concat(o.reverse())}},XR=(r,e)=>{const t=ZR(r);e.forEach(n=>{var i,a;let s=n,o=r.getNode(s);const l=o.data.originalEdge;if(!l)return;const u=KR(r,t,l.source,l.target),h=u.path,p=u.lca;let S=0,N=h[S],U=!0;for(;s!==l.target;){if(o=r.getNode(s),U){for(;N!==p&&((i=r.getNode(N))===null||i===void 0?void 0:i.data.maxRank)<o.data.rank;)S++,N=h[S];N===p&&(U=!1)}if(!U){for(;S<h.length-1&&((a=r.getNode(h[S+1]))===null||a===void 0?void 0:a.data.minRank)<=o.data.rank;)S++;N=h[S]}r.hasNode(N)&&r.setParent(s,N),s=r.getSuccessors(s)[0].id}})},pE=(r,e)=>{const t={},n=(i,a)=>{let s=0,o=0;const l=i.length,u=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((h,p)=>{var S;const N=YR(r,h),U=N?r.getNode(N.id).data.order:l;(N||h===u)&&((S=a.slice(o,p+1))===null||S===void 0||S.forEach(H=>{var V;(V=r.getPredecessors(H))===null||V===void 0||V.forEach(Y=>{var q;const ne=r.getNode(Y.id),le=ne.data.order;(le<s||U<le)&&!(ne.data.dummy&&(!((q=r.getNode(H))===null||q===void 0)&&q.data.dummy))&&yE(t,Y.id,H)})}),o=p+1,s=U)}),a};return e!=null&&e.length&&e.reduce(n),t},mE=(r,e)=>{const t={};function n(o,l,u,h,p){var S,N;let U;for(let H=l;H<u;H++)U=o[H],!((S=r.getNode(U))===null||S===void 0)&&S.data.dummy&&((N=r.getPredecessors(U))===null||N===void 0||N.forEach(V=>{const Y=r.getNode(V.id);Y.data.dummy&&(Y.data.order<h||Y.data.order>p)&&yE(t,V.id,U)}))}function i(o){return JSON.stringify(o.slice(1))}function a(o,l){const u=i(o);l.get(u)||(n(...o),l.set(u,!0))}const s=(o,l)=>{let u=-1,h,p=0;const S=new Map;return l==null||l.forEach((N,U)=>{var H;if(((H=r.getNode(N))===null||H===void 0?void 0:H.data.dummy)==="border"){const V=r.getPredecessors(N)||[];V.length&&(h=r.getNode(V[0].id).data.order,a([l,p,U,u,h],S),p=U,u=h)}a([l,p,l.length,h,o.length],S)}),l};return e!=null&&e.length&&e.reduce(s),t},YR=(r,e)=>{var t,n;if(!((t=r.getNode(e))===null||t===void 0)&&t.data.dummy)return(n=r.getPredecessors(e))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},yE=(r,e,t)=>{let n=e,i=t;if(n>i){const s=n;n=i,i=s}let a=r[n];a||(r[n]=a={}),a[i]=!0},QR=(r,e,t)=>{let n=e,i=t;if(n>i){const a=e;n=i,i=a}return!!r[n]},_E=(r,e,t,n)=>{const i={},a={},s={};return e==null||e.forEach(o=>{o==null||o.forEach((l,u)=>{i[l]=l,a[l]=l,s[l]=u})}),e==null||e.forEach(o=>{let l=-1;o==null||o.forEach(u=>{let h=n(u).map(p=>p.id);if(h.length){h=h.sort((S,N)=>s[S]-s[N]);const p=(h.length-1)/2;for(let S=Math.floor(p),N=Math.ceil(p);S<=N;++S){const U=h[S];a[u]===u&&l<s[U]&&!QR(t,u,U)&&(a[U]=u,a[u]=i[u]=i[U],l=s[U])}}})}),{root:i,align:a}},EE=(r,e,t,n,i,a,s)=>{var o;const l={},u=JR(r,e,t,i,a,s),h=s?"borderLeft":"borderRight",p=(U,H)=>{let V=u.getAllNodes(),Y=V.pop();const q={};for(;Y;)q[Y.id]?U(Y.id):(q[Y.id]=!0,V.push(Y),V=V.concat(H(Y.id))),Y=V.pop()},S=U=>{l[U]=(u.getRelatedEdges(U,"in")||[]).reduce((H,V)=>Math.max(H,(l[V.source]||0)+V.data.weight),0)},N=U=>{const H=(u.getRelatedEdges(U,"out")||[]).reduce((Y,q)=>Math.min(Y,(l[q.target]||0)-q.data.weight),Number.POSITIVE_INFINITY),V=r.getNode(U);H!==Number.POSITIVE_INFINITY&&V.data.borderType!==h&&(l[U]=Math.max(l[U],H))};return p(S,u.getPredecessors.bind(u)),p(N,u.getSuccessors.bind(u)),(o=Object.values(n))===null||o===void 0||o.forEach(U=>{l[U]=l[t[U]]}),l},JR=(r,e,t,n,i,a)=>{const s=new di,o=qR(n,i,a);return e==null||e.forEach(l=>{let u;l==null||l.forEach(h=>{const p=t[h];if(s.hasNode(p)||s.addNode({id:p,data:{}}),u){const S=t[u],N=s.getRelatedEdges(S,"out").find(U=>U.target===p);N?s.updateEdgeData(N.id,Object.assign(Object.assign({},N.data),{weight:Math.max(o(r,h,u),N.data.weight||0)})):s.addEdge({id:`e${Math.random()}`,source:S,target:p,data:{weight:Math.max(o(r,h,u),0)}})}u=h})}),s},xE=(r,e)=>e0(Object.values(e),t=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(s=>{const o=t[s],l=$R(r,s)/2;i=Math.max(o+l,i),a=Math.min(o-l,a)}),i-a});function bE(r,e){const t=Object.values(e),n=Math.min(...t),i=Math.max(...t);["u","d"].forEach(a=>{["l","r"].forEach(s=>{const o=a+s,l=r[o];let u;if(l===e)return;const h=Object.values(l);u=s==="l"?n-Math.min(...h):i-Math.max(...h),u&&(r[o]={},Object.keys(l).forEach(p=>{r[o][p]=l[p]+u}))})})}const wE=(r,e)=>{const t={};return Object.keys(r.ul).forEach(n=>{if(e)t[n]=r[e.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);t[n]=(i[0]+i[1])/2}}),t},RU=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=buildLayerMatrix(r),s=Object.assign(pE(r,a),mE(r,a)),o={};let l;["u","d"].forEach(h=>{l=h==="u"?a:Object.values(a).reverse(),["l","r"].forEach(p=>{p==="r"&&(l=l.map(H=>Object.values(H).reverse()));const S=(h==="u"?r.getPredecessors:r.getSuccessors).bind(r),N=_E(r,l,s,S),U=EE(r,l,N.root,N.align,n,i,p==="r");p==="r"&&Object.keys(U).forEach(H=>{U[H]=-U[H]}),o[h+p]=U})});const u=xE(r,o);return bE(o,u),wE(o,t)},qR=(r,e,t)=>(n,i,a)=>{const s=n.getNode(i),o=n.getNode(a);let l=0,u=0;if(l+=s.data.width/2,s.data.hasOwnProperty("labelpos"))switch((s.data.labelpos||"").toLowerCase()){case"l":u=-s.data.width/2;break;case"r":u=s.data.width/2;break}if(u&&(l+=t?u:-u),u=0,l+=(s.data.dummy?e:r)/2,l+=(o.data.dummy?e:r)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":u=o.data.width/2;break;case"r":u=-o.data.width/2;break}return u&&(l+=t?u:-u),u=0,l},$R=(r,e)=>r.getNode(e).data.width||0,e3=(r,e)=>{const{ranksep:t=0}=e||{},n=hc(r);let i=0;n==null||n.forEach(a=>{const s=a.map(l=>r.getNode(l).data.height),o=Math.max(...s,0);a==null||a.forEach(l=>{r.getNode(l).data.y=i+o/2}),i+=o+t})},t3=(r,e)=>{const{align:t,nodesep:n=0,edgesep:i=0}=e||{},a=hc(r),s=Object.assign(pE(r,a),mE(r,a)),o={};let l=[];["u","d"].forEach(h=>{l=h==="u"?a:Object.values(a).reverse(),["l","r"].forEach(p=>{p==="r"&&(l=l.map(H=>Object.values(H).reverse()));const S=(h==="u"?r.getPredecessors:r.getSuccessors).bind(r),N=_E(r,l,s,S),U=EE(r,l,N.root,N.align,n,i,p==="r");p==="r"&&Object.keys(U).forEach(H=>U[H]=-U[H]),o[h+p]=U})});const u=xE(r,o);return u&&bE(o,u),wE(o,t)},n3=(r,e)=>{var t;const n=q1(r);e3(n,e);const i=t3(n,e);(t=Object.keys(i))===null||t===void 0||t.forEach(a=>{n.getNode(a).data.x=i[a]})},ME=r=>{const e={},t=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(e[n])return a.data.rank;e[n]=!0;let s;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(o=>{const l=t(o.target),u=o.data.minlen,h=l-u;h&&(s===void 0||h<s)&&(s=h)}),s||(s=0),a.data.rank=s,s};r.getAllNodes().filter(n=>r.getRelatedEdges(n.id,"in").length===0).forEach(n=>t(n.id))},r3=r=>{const e={};let t;const n=s=>{var o;const l=r.getNode(s);if(!l)return 0;if(e[s])return l.data.rank;e[s]=!0;let u;return(o=r.getRelatedEdges(s,"out"))===null||o===void 0||o.forEach(h=>{const p=n(h.target),S=h.data.minlen,N=p-S;N&&(u===void 0||N<u)&&(u=N)}),u||(u=0),(t===void 0||u<t)&&(t=u),l.data.rank=u,u};r.getAllNodes().filter(s=>r.getRelatedEdges(s.id,"in").length===0).forEach(s=>{s&&n(s.id)}),t===void 0&&(t=0);const i={},a=(s,o)=>{var l;const u=r.getNode(s),h=isNaN(u.data.layer)?o:u.data.layer;(u.data.rank===void 0||u.data.rank<h)&&(u.data.rank=h),!i[s]&&(i[s]=!0,(l=r.getRelatedEdges(s,"out"))===null||l===void 0||l.forEach(p=>{a(p.target,h+p.data.minlen)}))};r.getAllNodes().forEach(s=>{const o=s.data;o&&(isNaN(o.layer)?o.rank-=t:a(s.id,o.layer))})},Lo=(r,e)=>r.getNode(e.target).data.rank-r.getNode(e.source).data.rank-e.data.minlen,i3=r=>{const e=new di({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;a3(e,r)<n;)i=AE(e,r),a=e.hasNode(i.source)?Lo(r,i):-Lo(r,i),TE(e,r,a);return e},a3=(r,e)=>{const t=n=>{e.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,s=n===a?i.target:a;!r.hasNode(s)&&!Lo(e,i)&&(r.addNode({id:s,data:{}}),r.addEdge({id:i.id,source:n,target:s,data:{}}),t(s))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},s3=r=>{const e=new di({tree:[]}),t=r.getAllNodes()[0],n=r.getAllNodes().length;e.addNode(t);let i,a;for(;o3(e,r)<n;)i=AE(e,r),a=e.hasNode(i.source)?Lo(r,i):-Lo(r,i),TE(e,r,a);return e},o3=(r,e)=>{const t=n=>{var i;(i=e.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const s=a.source,o=n===s?a.target:s;!r.hasNode(o)&&(e.getNode(o).data.layer!==void 0||!Lo(e,a))&&(r.addNode({id:o,data:{}}),r.addEdge({id:a.id,source:n,target:o,data:{}}),t(o))})};return r.getAllNodes().forEach(n=>t(n.id)),r.getAllNodes().length},AE=(r,e)=>e0(e.getAllEdges(),t=>r.hasNode(t.source)!==r.hasNode(t.target)?Lo(e,t):1/0),TE=(r,e,t)=>{r.getAllNodes().forEach(n=>{const i=e.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=t})},l3=r=>{const e=vR(r);ME(e);const t=i3(e);SE(t),PE(t,e);let n,i;for(;n=h3(t);)i=f3(t,e,n),d3(t,e,n,i)},PE=(r,e)=>{let t=iE(r,r.getAllNodes(),"post",!1);t=t.slice(0,(t==null?void 0:t.length)-1),t.forEach(n=>{u3(r,e,n)})},u3=(r,e,t)=>{const i=r.getNode(t).data.parent,a=r.getRelatedEdges(t,"both").find(s=>s.target===i||s.source===i);a.data.cutvalue=c3(r,e,t)},c3=(r,e,t)=>{const i=r.getNode(t).data.parent;let a=!0,s=e.getRelatedEdges(t,"out").find(l=>l.target===i),o=0;return s||(a=!1,s=e.getRelatedEdges(i,"out").find(l=>l.target===t)),o=s.data.weight,e.getRelatedEdges(t,"both").forEach(l=>{const u=l.source===t,h=u?l.target:l.source;if(h!==i){const p=u===a,S=l.data.weight;if(o+=p?S:-S,g3(r,t,h)){const N=r.getRelatedEdges(t,"both").find(U=>U.source===h||U.target===h).data.cutvalue;o+=p?-N:N}}}),o},SE=(r,e=r.getAllNodes()[0].id)=>{OE(r,{},1,e)},OE=(r,e,t,n,i)=>{var a;const s=t;let o=t;const l=r.getNode(n);return e[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(u=>{e[u.id]||(o=OE(r,e,o,u.id,n))}),l.data.low=s,l.data.lim=o++,i?l.data.parent=i:delete l.data.parent,o},h3=r=>r.getAllEdges().find(e=>e.data.cutvalue<0),f3=(r,e,t)=>{let n=t.source,i=t.target;e.getRelatedEdges(n,"out").find(h=>h.target===i)||(n=t.target,i=t.source);const a=r.getNode(n),s=r.getNode(i);let o=a,l=!1;a.data.lim>s.data.lim&&(o=s,l=!0);const u=e.getAllEdges().filter(h=>l===DE(r.getNode(h.source),o)&&l!==DE(r.getNode(h.target),o));return e0(u,h=>Lo(e,h))},d3=(r,e,t,n)=>{const i=r.getRelatedEdges(t.source,"both").find(a=>a.source===t.target||a.target===t.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),SE(r),PE(r,e),v3(r,e)},v3=(r,e)=>{const t=r.getAllNodes().find(i=>!i.data.parent);let n=iE(r,t,"pre",!1);n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let s=e.getRelatedEdges(i,"out").find(l=>l.target===a),o=!1;!s&&e.hasNode(a)&&(s=e.getRelatedEdges(a,"out").find(l=>l.target===i),o=!0),e.getNode(i).data.rank=(e.hasNode(a)&&e.getNode(a).data.rank||0)+(o?s==null?void 0:s.data.minlen:-(s==null?void 0:s.data.minlen))})},g3=(r,e,t)=>r.getRelatedEdges(e,"both").find(n=>n.source===t||n.target===t),DE=(r,e)=>e.data.low<=r.data.lim&&r.data.lim<=e.data.lim,p3=(r,e)=>{switch(e){case"network-simplex":y3(r);break;case"tight-tree":CE(r);break;case"longest-path":m3(r);break;default:CE(r)}},m3=ME,CE=r=>{r3(r),s3(r)},y3=r=>{l3(r)},_3=(r,e)=>{const{edgeLabelSpace:t,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:s}=e;!n&&i&&x3(r,i);const o=P3(r);t&&(e.ranksep=S3(o,{rankdir:a,ranksep:s}));let l;try{l=E3(o,e)}catch(u){if(u.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
`,u);return}throw u}return b3(r,o),l},E3=(r,e)=>{const{acyclicer:t,ranker:n,rankdir:i="tb",nodeOrder:a,keepNodeOrder:s,align:o,nodesep:l=50,edgesep:u=20,ranksep:h=50}=e;k3(r),cR(r,t);const{nestingRoot:p,nodeRankFactor:S}=wR(r);p3(q1(r),n),O3(r),pR(r,S),TR(r,p),gR(r),D3(r),C3(r);const N=[];SR(r,N),XR(r,N),yR(r),s&&VR(r,a),jR(r,s),F3(r),_R(r,i),n3(r,{align:o,nodesep:l,edgesep:u,ranksep:h}),z3(r),B3(r),DR(r,N),I3(r),ER(r,i);const{width:U,height:H}=L3(r);return R3(r),N3(r),fR(r),{width:U,height:H}},x3=(r,e)=>{r.getAllNodes().forEach(t=>{const n=r.getNode(t.id);if(e.hasNode(t.id)){const i=e.getNode(t.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},b3=(r,e)=>{r.getAllNodes().forEach(t=>{var n;const i=r.getNode(t.id);if(i){const a=e.getNode(t.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=e.getChildren(t.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(t=>{const n=r.getEdge(t.id),i=e.getEdge(t.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},w3=["width","height","layer","fixorder"],M3={width:0,height:0},A3=["minlen","weight","width","height","labeloffset"],T3={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},i0=["labelpos"],P3=r=>{const e=new di({tree:[]});return r.getAllNodes().forEach(t=>{const n=RE(r.getNode(t.id).data),i=Object.assign(Object.assign({},M3),n),a=LE(i,w3);e.hasNode(t.id)||e.addNode({id:t.id,data:Object.assign({},a)});const s=r.hasTreeStructure("combo")?r.getParent(t.id,"combo"):r.getParent(t.id);Pn(s)||(e.hasNode(s.id)||e.addNode(Object.assign({},s)),e.setParent(t.id,s.id))}),r.getAllEdges().forEach(t=>{const n=RE(r.getEdge(t.id).data),i={};i0==null||i0.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),e.addEdge({id:t.id,source:t.source,target:t.target,data:Object.assign({},T3,LE(n,A3),i)})}),e},S3=(r,e)=>{const{ranksep:t=0,rankdir:n}=e;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),t/2},O3=r=>{r.getAllEdges().forEach(e=>{if(e.data.width&&e.data.height){const t=r.getNode(e.source),n=r.getNode(e.target),i={e,rank:(n.data.rank-t.data.rank)/2+t.data.rank};tu(r,"edge-proxy",i,"_ep")}})},D3=r=>{let e=0;return r.getAllNodes().forEach(t=>{var n,i;t.data.borderTop&&(t.data.minRank=(n=r.getNode(t.data.borderTop))===null||n===void 0?void 0:n.data.rank,t.data.maxRank=(i=r.getNode(t.data.borderBottom))===null||i===void 0?void 0:i.data.rank,e=Math.max(e,t.data.maxRank||-1/0))}),e},C3=r=>{r.getAllNodes().forEach(e=>{e.data.dummy==="edge-proxy"&&(r.getEdge(e.data.e.id).data.labelRank=e.data.rank,r.removeNode(e.id))})},L3=(r,e)=>{let t,n=0,i,a=0;const{marginx:s=0,marginy:o=0}=e||{},l=u=>{if(!u.data)return;const h=u.data.x,p=u.data.y,S=u.data.width,N=u.data.height;!isNaN(h)&&!isNaN(S)&&(t===void 0&&(t=h-S/2),t=Math.min(t,h-S/2),n=Math.max(n,h+S/2)),!isNaN(p)&&!isNaN(N)&&(i===void 0&&(i=p-N/2),i=Math.min(i,p-N/2),a=Math.max(a,p+N/2))};return r.getAllNodes().forEach(u=>{l(u)}),r.getAllEdges().forEach(u=>{u!=null&&u.data.hasOwnProperty("x")&&l(u)}),t-=s,i-=o,r.getAllNodes().forEach(u=>{u.data.x-=t,u.data.y-=i}),r.getAllEdges().forEach(u=>{var h;(h=u.data.points)===null||h===void 0||h.forEach(p=>{p.x-=t,p.y-=i}),u.data.hasOwnProperty("x")&&(u.data.x-=t),u.data.hasOwnProperty("y")&&(u.data.y-=i)}),{width:n-t+s,height:a-i+o}},R3=r=>{r.getAllEdges().forEach(e=>{const t=r.getNode(e.source),n=r.getNode(e.target);let i,a;e.data.points?(i=e.data.points[0],a=e.data.points[e.data.points.length-1]):(e.data.points=[],i={x:n.data.x,y:n.data.y},a={x:t.data.x,y:t.data.y}),e.data.points.unshift(eE(t.data,i)),e.data.points.push(eE(n.data,a))})},I3=r=>{r.getAllEdges().forEach(e=>{if(e.data.hasOwnProperty("x"))switch((e.data.labelpos==="l"||e.data.labelpos==="r")&&(e.data.width-=e.data.labeloffset),e.data.labelpos){case"l":e.data.x-=e.data.width/2+e.data.labeloffset;break;case"r":e.data.x+=e.data.width/2+e.data.labeloffset;break}})},N3=r=>{r.getAllEdges().forEach(e=>{var t;e.data.reversed&&((t=e.data.points)===null||t===void 0||t.reverse())})},B3=r=>{r.getAllNodes().forEach(e=>{var t,n,i;if(!((t=r.getChildren(e.id))===null||t===void 0)&&t.length){const a=r.getNode(e.id),s=r.getNode(a.data.borderTop),o=r.getNode(a.data.borderBottom),l=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),u=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((u==null?void 0:u.data.x)-(l==null?void 0:l.data.x))||10,a.data.height=Math.abs((o==null?void 0:o.data.y)-(s==null?void 0:s.data.y))||10,a.data.x=((l==null?void 0:l.data.x)||0)+a.data.width/2,a.data.y=((s==null?void 0:s.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(e=>{e.data.dummy==="border"&&r.removeNode(e.id)})},k3=r=>{r.getAllEdges().forEach(e=>{if(e.source===e.target){const t=r.getNode(e.source);t.data.selfEdges||(t.data.selfEdges=[]),t.data.selfEdges.push(e),r.removeEdge(e.id)}})},F3=r=>{const e=hc(r);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((i,a)=>{var s;const o=r.getNode(i);o.data.order=a+n,(s=o.data.selfEdges)===null||s===void 0||s.forEach(l=>{tu(r,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:a+ ++n,e:l},"_se")}),delete o.data.selfEdges})})},z3=r=>{r.getAllNodes().forEach(e=>{const t=r.getNode(e.id);if(t.data.dummy==="selfedge"){const n=r.getNode(t.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,s=t.data.x-i,o=n.data.height/2;r.hasEdge(t.data.e.id)?r.updateEdgeData(t.data.e.id,t.data.e.data):r.addEdge({id:t.data.e.id,source:t.data.e.source,target:t.data.e.target,data:t.data.e.data}),r.removeNode(e.id),t.data.e.data.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{y:a,x:i+s},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],t.data.e.data.x=t.data.x,t.data.e.data.y=t.data.y}})},LE=(r,e)=>{const t={};return e==null||e.forEach(n=>{r[n]!==void 0&&(t[n]=+r[n])}),t},RE=(r={})=>{const e={};return Object.keys(r).forEach(t=>{e[t.toLowerCase()]=r[t]}),e};function fc(r){if(!r)return[0,0,0];if(un(r))return[r,r,r];if(r.length===0)return[0,0,0];const[e,t=e,n=e]=r;return[e,t,n]}function El(r,e){let t;return yn(e)?t=e:un(e)?t=()=>e:t=()=>r,t}function a0(r,e,t=!0){return!e&&e!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?t?Math.max(...i)||r:i:li(i)&&i.width&&i.height?t?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:yn(e)?e:un(e)?()=>e:Array.isArray(e)?()=>t?Math.max(...e)||r:e:li(e)&&e.width&&e.height?()=>t?Math.max(e.width,e.height)||r:[e.width,e.height]:()=>r}const s0=(r,e,t=10)=>{let n;const i=typeof e=="function"?e:()=>e||0;return r?Array.isArray(r)?n=s=>r:yn(r)?n=r:n=s=>r:n=s=>{var o,l,u;if(!((o=s.data)===null||o===void 0)&&o.bboxSize)return(l=s.data)===null||l===void 0?void 0:l.bboxSize;if(!((u=s.data)===null||u===void 0)&&u.size){const h=s.data.size;return Array.isArray(h)?h:li(h)?[h.width,h.height]:h}return t},s=>{const o=n(s),l=i(s);return Math.max(...fc(o))+l}},o0=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const e=[];return r.forEach(t=>{e.push(t)}),e.map(t=>o0(t))}if(typeof r=="object"){const e={};return Object.keys(r).forEach(t=>{e[t]=o0(r[t])}),e}return r},Ia=(r,e)=>{const t=o0(r);return t.data=t.data||{},e&&(un(t.data.x)||(t.data.x=Math.random()*e[0]),un(t.data.y)||(t.data.y=Math.random()*e[1])),t},U3={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class W3{constructor(e={}){this.options=e,this.id="antv-dagre",this.options=Object.assign(Object.assign({},U3),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,t)})}genericDagreLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:s,rankdir:o="TB",ranksep:l,nodesep:u,ranksepFunc:h,nodesepFunc:p,edgeLabelSpace:S,ranker:N,nodeOrder:U,begin:H,controlPoints:V,radial:Y,sortByCombo:q,preset:ne}=i,le=new di({tree:[]}),ue=El(l||50,h),fe=El(u||50,p);let de=fe,ve=ue;(o==="LR"||o==="RL")&&(de=ue,ve=fe);const Te=a0(10,a,!1),Oe=t.getAllNodes(),Ie=t.getAllEdges();Oe.forEach(ct=>{const ft=fc(Te(ct)),At=ve(ct),Ft=de(ct),Vt=ft[0]+2*Ft,nn=ft[1]+2*At,hn=ct.data.layer;un(hn)?le.addNode({id:ct.id,data:{width:Vt,height:nn,layer:hn}}):le.addNode({id:ct.id,data:{width:Vt,height:nn}})}),q&&(le.attachTreeStructure("combo"),Oe.forEach(ct=>{const{parentId:ft}=ct.data;ft!==void 0&&le.hasNode(ft)&&le.setParent(ct.id,ft,"combo")})),Ie.forEach(ct=>{le.addEdge({id:ct.id,source:ct.source,target:ct.target,data:{weight:ct.data.weight||1}})});let ze;ne!=null&&ne.length&&(ze=new di({nodes:ne})),_3(le,{prevGraph:ze,edgeLabelSpace:S,keepNodeOrder:!!U,nodeOrder:U||[],acyclicer:"greedy",ranker:N,rankdir:o,nodesep:u,align:s});const Xe=[0,0];if(H){let ct=1/0,ft=1/0;le.getAllNodes().forEach(At=>{ct>At.data.x&&(ct=At.data.x),ft>At.data.y&&(ft=At.data.y)}),le.getAllEdges().forEach(At=>{var Ft;(Ft=At.data.points)===null||Ft===void 0||Ft.forEach(Vt=>{ct>Vt.x&&(ct=Vt.x),ft>Vt.y&&(ft=Vt.y)})}),Xe[0]=H[0]-ct,Xe[1]=H[1]-ft}const et=o==="LR"||o==="RL";if(!Y){const ct=new Set,At=o==="BT"||o==="RL"?(hn,rn)=>rn-hn:(hn,rn)=>hn-rn;le.getAllNodes().forEach(hn=>{hn.data.x=hn.data.x+Xe[0],hn.data.y=hn.data.y+Xe[1],ct.add(et?hn.data.x:hn.data.y)});const Ft=Array.from(ct).sort(At),Vt=et?(hn,rn)=>hn.x!==rn.x:(hn,rn)=>hn.y!==rn.y,nn=et?(hn,rn,bn)=>{const Dn=Math.max(rn.y,bn.y),kn=Math.min(rn.y,bn.y);return hn.filter($n=>$n.y<=Dn&&$n.y>=kn)}:(hn,rn,bn)=>{const Dn=Math.max(rn.x,bn.x),kn=Math.min(rn.x,bn.x);return hn.filter($n=>$n.x<=Dn&&$n.x>=kn)};le.getAllEdges().forEach((hn,rn)=>{var bn;S&&V&&hn.data.type!=="loop"&&(hn.data.controlPoints=H3((bn=hn.data.points)===null||bn===void 0?void 0:bn.map(({x:Dn,y:kn})=>({x:Dn+Xe[0],y:kn+Xe[1]})),le.getNode(hn.source),le.getNode(hn.target),Ft,et,Vt,nn))})}let st=[];st=le.getAllNodes().map(ct=>Ia(ct));const bt=le.getAllEdges();return e&&(st.forEach(ct=>{t.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})}),bt.forEach(ct=>{t.mergeEdgeData(ct.id,{controlPoints:ct.data.controlPoints})})),{nodes:st,edges:bt}})}}const H3=(r,e,t,n,i,a,s)=>{let o=(r==null?void 0:r.slice(1,r.length-1))||[];if(e&&t){let{x:l,y:u}=e.data,{x:h,y:p}=t.data;if(i&&(l=e.data.y,u=e.data.x,h=t.data.y,p=t.data.x),p!==u&&l!==h){const S=n.indexOf(u),N=n[S+1];if(N){const V=o[0],Y=i?{x:(u+N)/2,y:(V==null?void 0:V.y)||h}:{x:(V==null?void 0:V.x)||h,y:(u+N)/2};(!V||a(V,Y))&&o.unshift(Y)}const U=n.indexOf(p),H=Math.abs(U-S);if(H===1)o=s(o,e.data,t.data),o.length||o.push(i?{x:(u+p)/2,y:l}:{x:l,y:(u+p)/2});else if(H>1){const V=n[U-1];if(V){const Y=o[o.length-1],q=i?{x:(p+V)/2,y:(Y==null?void 0:Y.y)||h}:{x:(Y==null?void 0:Y.x)||l,y:(p+V)/2};(!Y||a(Y,q))&&o.push(q)}}}}return o},xl=(r,e,t)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return e&&r.mergeNodeData(n[0].id,{x:t[0],y:t[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:t[0],y:t[1]})})],edges:i}},G3={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class j3{constructor(e={}){this.options=e,this.id="circular",this.options=Object.assign(Object.assign({},G3),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,e,t)})}genericCircularLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,divisions:l,startAngle:u=0,endAngle:h=2*Math.PI,angleRatio:p,ordering:S,clockwise:N,nodeSpacing:U,nodeSize:H}=i,V=t.getAllNodes(),Y=t.getAllEdges(),[q,ne,le]=Z3(a,s,o),ue=V==null?void 0:V.length;if(!ue||ue===1)return xl(t,e,le);const fe=(h-u)/ue;let{radius:de,startRadius:ve,endRadius:Te}=i;if(U){const et=El(10,U),st=a0(10,H);let bt=-1/0;V.forEach(ct=>{const ft=st(ct);bt<ft&&(bt=ft)});let _t=0;V.forEach((ct,ft)=>{ft===0?_t+=bt||10:_t+=(et(ct)||0)+(bt||10)}),de=_t/(2*Math.PI)}else!de&&!ve&&!Te?de=Math.min(ne,q)/2:!ve&&Te?ve=Te:ve&&!Te&&(Te=ve);const Oe=fe*p;let Ie=[];S==="topology"?Ie=IE(t,V):S==="topology-directed"?Ie=IE(t,V,!0):S==="degree"?Ie=V3(t,V):Ie=V.map(et=>Ia(et));const ze=Math.ceil(ue/l);for(let et=0;et<ue;++et){let st=de;!st&&ve!==null&&Te!==null&&(st=ve+et*(Te-ve)/(ue-1)),st||(st=10+et*100/(ue-1));let bt=u+et%ze*Oe+2*Math.PI/l*Math.floor(et/ze);N||(bt=h-et%ze*Oe-2*Math.PI/l*Math.floor(et/ze)),Ie[et].data.x=le[0]+Math.cos(bt)*st,Ie[et].data.y=le[1]+Math.sin(bt)*st}return e&&Ie.forEach(et=>{t.mergeNodeData(et.id,{x:et.data.x,y:et.data.y})}),{nodes:Ie,edges:Y}})}}const IE=(r,e,t=!1)=>{const n=[Ia(e[0])],i={},a=e.length;i[e[0].id]=!0;let s=0;return e.forEach((o,l)=>{if(l!==0)if((l===a-1||r.getDegree(o.id,"both")!==r.getDegree(e[l+1].id,"both")||r.areNeighbors(n[s].id,o.id))&&!i[o.id])n.push(Ia(o)),i[o.id]=!0,s++;else{const u=t?r.getSuccessors(n[s].id):r.getNeighbors(n[s].id);let h=!1;for(let S=0;S<u.length;S++){const N=u[S];if(r.getDegree(N.id)===r.getDegree(o.id)&&!i[N.id]){n.push(Ia(N)),i[N.id]=!0,h=!0;break}}let p=0;for(;!h&&(i[e[p].id]||(n.push(Ia(e[p])),i[e[p].id]=!0,h=!0),p++,p!==a););}}),n};function V3(r,e){const t=[];return e.forEach((n,i)=>{t.push(Ia(n))}),t.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),t}const Z3=(r,e,t)=>{let n=r,i=e,a=t;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},no=Array.isArray,K3={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class l0{constructor(e={}){this.options=e,this.id="concentric",this.options=Object.assign(Object.assign({},K3),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,e,t)})}genericConcentricLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o,sortBy:l,maxLevelDiff:u,sweep:h,clockwise:p,equidistant:S,preventOverlap:N,startAngle:U=3/2*Math.PI,nodeSize:H,nodeSpacing:V}=i,Y=t.getAllNodes(),q=t.getAllEdges(),ne=!s&&typeof window!="undefined"?window.innerWidth:s,le=!o&&typeof window!="undefined"?window.innerHeight:o,ue=a||[ne/2,le/2];if(!(Y!=null&&Y.length)||Y.length===1)return xl(t,e,ue);const fe=[];let de,ve=0;no(H)?de=Math.max(H[0],H[1]):yn(H)?(de=-1/0,Y.forEach(ct=>{const ft=Math.max(...fc(H(ct)));ft>de&&(de=ft)})):de=H,no(V)?ve=Math.max(V[0],V[1]):un(V)&&(ve=V),Y.forEach(ct=>{const ft=Ia(ct);fe.push(ft);let At=de;const{data:Ft}=ft;no(Ft.size)?At=Math.max(Ft.size[0],Ft.size[1]):un(Ft.size)?At=Ft.size:li(Ft.size)&&(At=Math.max(Ft.size.width,Ft.size.height)),de=Math.max(de,At),yn(V)&&(ve=Math.max(V(ct),ve))});const Te={};fe.forEach((ct,ft)=>{Te[ct.id]=ft});let Oe=l;(!ur(Oe)||fe[0].data[Oe]===void 0)&&(Oe="degree"),Oe==="degree"?fe.sort((ct,ft)=>t.getDegree(ft.id,"both")-t.getDegree(ct.id,"both")):fe.sort((ct,ft)=>ft.data[Oe]-ct.data[Oe]);const Ie=fe[0],ze=(u||(Oe==="degree"?t.getDegree(Ie.id,"both"):Ie.data[Oe]))/4,Xe=[{nodes:[]}];let et=Xe[0];fe.forEach(ct=>{if(et.nodes.length>0){const ft=Math.abs(Oe==="degree"?t.getDegree(et.nodes[0].id,"both")-t.getDegree(ct.id,"both"):et.nodes[0].data[Oe]-ct.data[Oe]);ze&&ft>=ze&&(et={nodes:[]},Xe.push(et))}et.nodes.push(ct)});let st=de+ve;if(!N){const ct=Xe.length>0&&Xe[0].nodes.length>1,At=(Math.min(ne,le)/2-st)/(Xe.length+(ct?1:0));st=Math.min(st,At)}let bt=0;if(Xe.forEach(ct=>{const ft=h===void 0?2*Math.PI-2*Math.PI/ct.nodes.length:h;if(ct.dTheta=ft/Math.max(1,ct.nodes.length-1),ct.nodes.length>1&&N){const At=Math.cos(ct.dTheta)-Math.cos(0),Ft=Math.sin(ct.dTheta)-Math.sin(0),Vt=Math.sqrt(st*st/(At*At+Ft*Ft));bt=Math.max(Vt,bt)}ct.r=bt,bt+=st}),S){let ct=0,ft=0;for(let At=0;At<Xe.length;At++){const Vt=(Xe[At].r||0)-ft;ct=Math.max(ct,Vt)}ft=0,Xe.forEach((At,Ft)=>{Ft===0&&(ft=At.r||0),At.r=ft,ft+=ct})}return Xe.forEach(ct=>{const ft=ct.dTheta||0,At=ct.r||0;ct.nodes.forEach((Ft,Vt)=>{const nn=U+(p?1:-1)*ft*Vt;Ft.data.x=ue[0]+At*Math.cos(nn),Ft.data.y=ue[1]+At*Math.sin(nn)})}),e&&fe.forEach(ct=>t.mergeNodeData(ct.id,{x:ct.data.x,y:ct.data.y})),{nodes:fe,edges:q}})}}var u0=X(14301),X3=X(7695);const Y3=.81,c0=.1;function Q3(r,e,t,n,i=2){const a=e/t,s=r.getAllNodes(),o=s.map((h,p)=>{const{nodeStrength:S,x:N,y:U,z:H,size:V}=h.data;return{x:N,y:U,z:H,size:V,index:p,id:h.id,vx:0,vy:0,vz:0,weight:a*S}}),l=(i===2?(0,u0.Z)(o,h=>h.x,h=>h.y):(0,X3.Z)(o,h=>h.x,h=>h.y,h=>h.z)).visitAfter(J3),u=new Map;return o.forEach(h=>{u.set(h.id,h),$3(h,l,i)}),o.map((h,p)=>{const{id:S,data:N}=s[p],{mass:U=1}=N;n[S]={x:h.vx/U,y:h.vy/U,z:h.vz/U}}),n}function J3(r){let e=0,t=0,n=0,i=0,a=0;const s=r.length;if(s){for(let o=0;o<s;o++){const l=r[o];l&&l.weight&&(e+=l.weight,t+=l.x*l.weight,n+=l.y*l.weight,i+=l.z*l.weight,a+=l.size*l.weight)}r.x=t/e,r.y=n/e,r.z=i/e,r.size=a/e,r.weight=e}else{const o=r;r.x=o.data.x,r.y=o.data.y,r.z=o.data.z,r.size=o.data.size,r.weight=o.data.weight}}const q3=(r,e,t,n,i,a,s)=>{var o;if(((o=r.data)===null||o===void 0?void 0:o.id)===a.id)return;const l=[t,n,i][s-1],u=a.x-r.x||c0,h=a.y-r.y||c0,p=a.z-r.z||c0,S=[u,h,p],N=l-e;let U=0;for(let Y=0;Y<s;Y++)U+=S[Y]*S[Y];const V=Math.sqrt(U)*U;if(N*N*Y3<U){const Y=r.weight/V;return a.vx+=u*Y,a.vy+=h*Y,a.vz+=p*Y,!0}if(r.length)return!1;if(r.data!==a){const Y=r.data.weight/V;a.vx+=u*Y,a.vy+=h*Y,a.vz+=p*Y}};function $3(r,e,t){e.visit((n,i,a,s,o)=>q3(n,i,a,s,o,r,t))}const eI={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class NE{constructor(e={}){this.options=e,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},eI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&n<e;n++)this.runOneStep(this.lastCalcGraph,this.lastGraph,n,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericForceLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=t.getAllNodes(),s=t.getAllEdges(),o=this.formatOptions(i,t),{dimensions:l,width:u,height:h,nodeSize:p,getMass:S,nodeStrength:N,edgeStrength:U,linkDistance:H}=o,V=a.map((ve,Te)=>Object.assign(Object.assign({},ve),{data:Object.assign(Object.assign({},ve.data),{x:un(ve.data.x)?ve.data.x:Math.random()*u,y:un(ve.data.y)?ve.data.y:Math.random()*h,z:un(ve.data.z)?ve.data.z:Math.random()*Math.sqrt(u*h),size:p(ve)||30,mass:S(ve),nodeStrength:N(ve)})})),Y=s.map(ve=>Object.assign(Object.assign({},ve),{data:Object.assign(Object.assign({},ve.data),{edgeStrength:U(ve),linkDistance:H(ve,t.getNode(ve.source),t.getNode(ve.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:s},{nodes:[],edges:s};const q={};a.forEach((ve,Te)=>{q[ve.id]={x:0,y:0,z:0}});const ne=new di({nodes:V,edges:Y});this.formatCentripetal(o,ne);const{maxIteration:le,minMovement:ue,onTick:fe}=o;if(this.lastLayoutNodes=V,this.lastLayoutEdges=Y,this.lastAssign=e,this.lastGraph=t,this.lastCalcGraph=ne,this.lastOptions=o,this.lastVelMap=q,typeof window=="undefined")return;let de=0;return new Promise(ve=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&ve({nodes:h0(t,V),edges:s}),this.runOneStep(ne,t,de,q,o),this.updatePosition(t,ne,q,o),e&&V.forEach(Te=>t.mergeNodeData(Te.id,{x:Te.data.x,y:Te.data.y,z:l===3?Te.data.z:void 0})),fe==null||fe({nodes:h0(t,V),edges:s}),de++,(de>=le||this.judgingDistance<ue)&&(window.clearInterval(this.timeInterval),ve({nodes:h0(t,V),edges:s}))},0),this.running=!0})})}formatOptions(e,t){const n=Object.assign({},e),{width:i,height:a,getMass:s}=e;n.width=!i&&typeof window!="undefined"?window.innerWidth:i,n.height=!a&&typeof window!="undefined"?window.innerHeight:a,e.center||(n.center=[n.width/2,n.height/2]),s||(n.getMass=l=>{let u=1;un(l==null?void 0:l.data.mass)&&(u=l==null?void 0:l.data.mass);const h=t.getDegree(l.id,"both");return!h||h<5?u:h*5*u}),n.nodeSize=s0(e.nodeSize,e.nodeSpacing);const o=e.linkDistance?El(1,e.linkDistance):l=>1+n.nodeSize(t.getNode(l.source))+n.nodeSize(t.getNode(l.target));return n.linkDistance=o,n.nodeStrength=El(1,e.nodeStrength),n.edgeStrength=El(1,e.edgeStrength),n}formatCentripetal(e,t){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:s,leafCluster:o,clustering:l,nodeClusterBy:u}=e,h=t.getAllNodes(),p=i||{leaf:2,single:2,others:1,center:Y=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof s!="function"&&(e.clusterNodeStrength=Y=>s);let S,N;if(o&&u&&(S=BE(t,u),N=Array.from(new Set(h==null?void 0:h.map(Y=>Y.data[u])))||[],e.centripetalOptions=Object.assign(p,{single:100,leaf:Y=>{const{siblingLeaves:q,sameTypeLeaves:ne}=S[Y.id]||{};return(ne==null?void 0:ne.length)===(q==null?void 0:q.length)||(N==null?void 0:N.length)===1?1:e.clusterNodeStrength(Y)},others:1,center:Y=>{const q=t.getDegree(Y.id,"both");if(!q)return{x:100,y:100,z:0};let ne;if(q===1){const{sameTypeLeaves:le=[]}=S[Y.id]||{};le.length===1?ne=void 0:le.length>1&&(ne=kE(le))}else ne=void 0;return{x:ne==null?void 0:ne.x,y:ne==null?void 0:ne.y,z:ne==null?void 0:ne.z}}})),l&&u){S||(S=BE(t,u)),N||(N=Array.from(new Set(h.map(q=>q.data[u])))),N=N.filter(q=>q!==void 0);const Y={};N.forEach(q=>{const ne=h.filter(le=>le.data[u]===q).map(le=>t.getNode(le.id));Y[q]=kE(ne)}),e.centripetalOptions=Object.assign(p,{single:q=>e.clusterNodeStrength(q),leaf:q=>e.clusterNodeStrength(q),others:q=>e.clusterNodeStrength(q),center:q=>{const ne=Y[q.data[u]];return{x:ne==null?void 0:ne.x,y:ne==null?void 0:ne.y,z:ne==null?void 0:ne.z}}})}const{leaf:U,single:H,others:V}=e.centripetalOptions||{};U&&typeof U!="function"&&(e.centripetalOptions.leaf=()=>U),H&&typeof H!="function"&&(e.centripetalOptions.single=()=>H),V&&typeof V!="function"&&(e.centripetalOptions.others=()=>V)}runOneStep(e,t,n,i,a){const s={},o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:u}=a;if(this.calRepulsive(e,s,a),l&&this.calAttractive(e,s,a),this.calGravity(e,t,s,a),this.updateVelocity(e,s,i,a),u){const h=this.calTotalEnergy(s,o);u({energy:h,nodes:t.getAllNodes(),edges:t.getAllEdges(),iterations:n})}}calTotalEnergy(e,t){if(!(t!=null&&t.length))return 0;let n=0;return t.forEach((i,a)=>{const s=e[i.id].x,o=e[i.id].y,l=this.options.dimensions===3?e[i.id].z:0,u=s*s+o*o+l*l,{mass:h=1}=i.data;n+=h*u*.5}),n}calRepulsive(e,t,n){const{dimensions:i,factor:a,coulombDisScale:s}=n;Q3(e,a,s*s,t,i)}calAttractive(e,t,n){const{dimensions:i,nodeSize:a}=n;e.getAllEdges().forEach((s,o)=>{const{source:l,target:u}=s,h=e.getNode(l),p=e.getNode(u);if(!h||!p)return;let S=p.data.x-h.data.x,N=p.data.y-h.data.y,U=i===3?p.data.z-h.data.z:0;!S&&!N&&(S=Math.random()*.01,N=Math.random()*.01,i===3&&!U&&(U=Math.random()*.01));const H=Math.sqrt(S*S+N*N+U*U);if(H<a(h)+a(p))return;const V=S/H,Y=N/H,q=U/H,{linkDistance:ne=200,edgeStrength:le=200}=s.data||{},fe=(ne-H)*le,de=h.data.mass||1,ve=p.data.mass||1,Te=1/de,Oe=1/ve,Ie=V*fe,ze=Y*fe,Xe=q*fe;t[l].x-=Ie*Te,t[l].y-=ze*Te,t[l].z-=Xe*Te,t[u].x+=Ie*Oe,t[u].y+=ze*Oe,t[u].z+=Xe*Oe})}calGravity(e,t,n,i){const{getCenter:a}=i,s=e.getAllNodes(),o=t.getAllNodes(),l=t.getAllEdges(),{width:u,height:h,center:p,gravity:S,centripetalOptions:N}=i;s&&s.forEach(U=>{const{id:H,data:V}=U,{mass:Y,x:q,y:ne,z:le}=V,ue=t.getNode(H);let fe=0,de=0,ve=0,Te=S;const Oe=e.getDegree(H,"in"),Ie=e.getDegree(H,"out"),ze=e.getDegree(H,"both"),Xe=a==null?void 0:a(ue,ze);if(Xe){const[et,st,bt]=Xe;fe=q-et,de=ne-st,Te=bt}else fe=q-p[0],de=ne-p[1],ve=le-p[2];if(Te&&(n[H].x-=Te*fe/Y,n[H].y-=Te*de/Y,n[H].z-=Te*ve/Y),N){const{leaf:et,single:st,others:bt,center:_t}=N,{x:ct,y:ft,z:At,centerStrength:Ft}=(_t==null?void 0:_t(ue,o,l,u,h))||{x:0,y:0,z:0,centerStrength:0};if(!un(ct)||!un(ft))return;const Vt=(q-ct)/Y,nn=(ne-ft)/Y,hn=(le-At)/Y;if(Ft&&(n[H].x-=Ft*Vt,n[H].y-=Ft*nn,n[H].z-=Ft*hn),ze===0){const bn=st(ue);if(!bn)return;n[H].x-=bn*Vt,n[H].y-=bn*nn,n[H].z-=bn*hn;return}if(Oe===0||Ie===0){const bn=et(ue,o,l);if(!bn)return;n[H].x-=bn*Vt,n[H].y-=bn*nn,n[H].z-=bn*hn;return}const rn=bt(ue);if(!rn)return;n[H].x-=rn*Vt,n[H].y-=rn*nn,n[H].z-=rn*hn}})}updateVelocity(e,t,n,i){const{damping:a,maxSpeed:s,interval:o,dimensions:l}=i,u=e.getAllNodes();u!=null&&u.length&&u.forEach(h=>{const{id:p}=h;let S=(n[p].x+t[p].x*o)*a||.01,N=(n[p].y+t[p].y*o)*a||.01,U=l===3?(n[p].z+t[p].z*o)*a||.01:0;const H=Math.sqrt(S*S+N*N+U*U);if(H>s){const V=s/H;S=V*S,N=V*N,U=V*U}n[p]={x:S,y:N,z:U}})}updatePosition(e,t,n,i){const{distanceThresholdMode:a,interval:s,dimensions:o}=i,l=t.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let u=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),l.forEach(h=>{const{id:p}=h,S=e.getNode(p);if(un(S.data.fx)&&un(S.data.fy)){t.mergeNodeData(p,{x:S.data.fx,y:S.data.fy,z:o===3?S.data.fz:void 0});return}const N=n[p].x*s,U=n[p].y*s,H=o===3?n[p].z*s:0;t.mergeNodeData(p,{x:h.data.x+N,y:h.data.y+U,z:h.data.z+H});const V=Math.sqrt(N*N+U*U+H*H);switch(a){case"max":this.judgingDistance<V&&(this.judgingDistance=V);break;case"min":this.judgingDistance>V&&(this.judgingDistance=V);break;default:u=u+V;break}}),(!a||a==="mean")&&(this.judgingDistance=u/l.length)}}const BE=(r,e)=>{const t=r.getAllNodes();if(!(t!=null&&t.length))return{};const n={};return t.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=tI(r,"leaf",i,e))}),n},tI=(r,e,t,n)=>{const i=r.getDegree(t.id,"in"),a=r.getDegree(t.id,"out");let s=t,o=[];i===0?(s=r.getSuccessors(t.id)[0],o=r.getNeighbors(s.id)):a===0&&(s=r.getPredecessors(t.id)[0],o=r.getNeighbors(s.id)),o=o.filter(u=>r.getDegree(u.id,"in")===0||r.getDegree(u.id,"out")===0);const l=nI(r,e,n,t,o);return{coreNode:s,siblingLeaves:o,sameTypeLeaves:l}},nI=(r,e,t,n,i)=>{const a=n.data[t]||"";let s=(i==null?void 0:i.filter(o=>o.data[t]===a))||[];return e==="leaf"&&(s=s.filter(o=>r.getDegree(o.id,"in")===0||r.getDegree(o.id,"out")===0)),s},kE=r=>{const e={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;e.x+=i||0,e.y+=a||0});const t=r.length||1;return{x:e.x/t,y:e.y/t}},h0=(r,e)=>e.map(t=>{const{id:n,data:i}=t,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var er=X(81254);const IU=er.XA,NU=er.a_,BU=er.yQ,kU=er.Hs,FU=er.Ec,zU=er.dx,UU=er.LU,WU=er.Rm,Ro=er.y3,HU=er.qK,GU=er.pb,jU=er.j,VU=er.sO,ZU=er.BZ,KU=er.EK,XU=er.Db,YU=er.Fx,QU=er.tU,JU=er.Ym,qU=er.rs,$U=er.QR,e9=er.TB,t9=er.oH,FE=er.Sc,n9=er.BN,r9=er.it,i9=er.$r,a9=er.QM,s9=er.AV;var o9=(er.y3,er.y3);const l9=er.GH,u9=er.SO,c9=er.uZ,h9=er.yU,f9=er.F1,d9=er.re,zE=r=>{const e=[],t=r.length;for(let n=0;n<t;n+=1){e[n]=[];for(let i=0;i<t;i+=1)n===i?e[n][i]=0:r[n][i]===0||!r[n][i]?e[n][i]=1/0:e[n][i]=r[n][i]}for(let n=0;n<t;n+=1)for(let i=0;i<t;i+=1)for(let a=0;a<t;a+=1)e[i][a]>e[i][n]+e[n][a]&&(e[i][a]=e[i][n]+e[n][a]);return e},UE=(r,e)=>{const{nodes:t,edges:n}=r,i=[],a={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((s,o)=>{a[s.id]=o;const l=[];i.push(l)}),n==null||n.forEach(s=>{const{source:o,target:l}=s,u=a[o],h=a[l];u===void 0||h===void 0||(i[u][h]=1,e||(i[h][u]=1))}),i},rI=(r,e)=>{const t=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*e)}),t.push(i)}),t},iI=r=>{let e=1/0,t=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let s=a.data.size;no(s)?s.length===1&&(s=[s[0],s[0]]):un(s)?s=[s,s]:(s===void 0||isNaN(s))&&(s=[30,30]);const o=[s[0]/2,s[1]/2],l=a.data.x-o[0],u=a.data.x+o[0],h=a.data.y-o[1],p=a.data.y+o[1];e>l&&(e=l),t>h&&(t=h),n<u&&(n=u),i<p&&(i=p)}),{minX:e,minY:t,maxX:n,maxY:i}},WE=(r,e)=>Math.sqrt((r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y)),f0=(r,e,t,n="TB",i,a={})=>{if(!(e!=null&&e.length))return;const{stopBranchFn:s,stopAllFn:o}=a;for(let l=0;l<e.length;l++){const u=e[l];if(r.hasNode(u.id)&&!(s!=null&&s(u))){if(o!=null&&o(u))return;n==="TB"&&t(u),f0(r,r.getChildren(u.id,i),t,n,i,a),n!=="TB"&&t(u)}}},aI={center:[0,0],linkDistance:50};class HE{constructor(e={}){this.options=e,this.id="mds",this.options=Object.assign(Object.assign({},aI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,e,t)})}genericMDSLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a=[0,0],linkDistance:s=50}=i,o=t.getAllNodes(),l=t.getAllEdges();if(!(o!=null&&o.length)||o.length===1)return xl(t,e,a);const u=UE({nodes:o,edges:l},!1),h=zE(u);sI(h);const p=rI(h,s),S=oI(p),N=[];return S.forEach((H,V)=>{const Y=Ia(o[V]);Y.data.x=H[0]+a[0],Y.data.y=H[1]+a[1],N.push(Y)}),e&&N.forEach(H=>t.mergeNodeData(H.id,{x:H.data.x,y:H.data.y})),{nodes:N,edges:l}})}}const sI=r=>{let e=-999999;r.forEach(t=>{t.forEach(n=>{n!==1/0&&e<n&&(e=n)})}),r.forEach((t,n)=>{t.forEach((i,a)=>{i===1/0&&(r[n][a]=e)})})},oI=r=>{const t=Ro.mul(Ro.pow(r,2),-.5),n=t.mean("row"),i=t.mean("column"),a=t.mean();t.add(a).subRowVector(n).subColumnVector(i);const s=new FE(t),o=Ro.sqrt(s.diagonalMatrix).diagonal();return s.leftSingularVectors.toJSON().map(l=>Ro.mul([l],[o]).toJSON()[0].splice(0,2))};function d0(r){return!!r.tick&&!!r.stop}const lI={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},uI={center:[0,0],comboPadding:10,treeKey:"combo"};class cI{constructor(e={}){this.options=e,this.id="comboCombined",this.options=Object.assign(Object.assign({},uI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,e,t)})}genericComboCombinedLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:s,outerLayout:o}=i,l=t.getAllNodes().filter(ve=>!ve.data._isCombo),u=t.getAllNodes().filter(ve=>ve.data._isCombo),h=t.getAllEdges(),p=l==null?void 0:l.length;if(!p||p===1)return xl(t,e,a);const S=[],N=new Map;l.forEach(ve=>{N.set(ve.id,ve)});const U=new Map;u.forEach(ve=>{U.set(ve.id,ve)});const H=new Map,V=this.getInnerGraphs(t,s,N,U,h,i,H);yield Promise.all(V);const Y=new Map,q=[],ne=new Map;let le=!0;t.getRoots(s).forEach(ve=>{const Te=H.get(ve.id),Oe=U.get(ve.id)||N.get(ve.id),Ie={id:ve.id,data:Object.assign(Object.assign({},ve.data),{x:Te.data.x||Oe.data.x,y:Te.data.y||Oe.data.y,fx:Te.data.fx||Oe.data.fx,fy:Te.data.fy||Oe.data.fy,mass:Te.data.mass||Oe.data.mass,size:Te.data.size})};q.push(Ie),Y.set(ve.id,!0),!isNaN(Ie.data.x)&&Ie.data.x!==0&&!isNaN(Ie.data.y)&&Ie.data.y!==0?le=!1:(Ie.data.x=Math.random()*100,Ie.data.y=Math.random()*100),f0(t,[ve],ze=>{ze.id!==ve.id&&ne.set(ze.id,ve.id)},"TB",s)});const ue=[];h.forEach(ve=>{const Te=ne.get(ve.source)||ve.source,Oe=ne.get(ve.target)||ve.target;Te!==Oe&&Y.has(Te)&&Y.has(Oe)&&ue.push({id:ve.id,source:Te,target:Oe,data:{}})});let fe;if(q!=null&&q.length){if(q.length===1)q[0].data.x=a[0],q[0].data.y=a[1];else{const ve=new di({nodes:q,edges:ue}),Te=o||new NE;le&&lI[Te.id]&&(yield(q.length<100?new HE:new l0).assign(ve));const Oe=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},Te.id==="force"?{gravity:1,factor:4,linkDistance:(Ie,ze,Xe)=>{const et=Math.max(...ze.data.size)||32,st=Math.max(...Xe.data.size)||32;return et/2+st/2+200}}:{});fe=yield GE(Te,ve,Oe)}H.forEach(ve=>{var Te;const Oe=fe.nodes.find(Xe=>Xe.id===ve.id);if(Oe){const{x:Xe,y:et}=Oe.data;ve.data.visited=!0,ve.data.x=Xe,ve.data.y=et,S.push({id:ve.id,data:{x:Xe,y:et}})}const{x:Ie,y:ze}=ve.data;(Te=ve.data.nodes)===null||Te===void 0||Te.forEach(Xe=>{S.push({id:Xe.id,data:{x:Xe.data.x+Ie,y:Xe.data.y+ze}})})}),H.forEach(({data:ve})=>{const{x:Te,y:Oe,visited:Ie,nodes:ze}=ve;ze==null||ze.forEach(Xe=>{if(!Ie){const et=S.find(st=>st.id===Xe.id);et.data.x+=Te||0,et.data.y+=Oe||0}})})}return e&&S.forEach(ve=>{t.mergeNodeData(ve.id,{x:ve.data.x,y:ve.data.y})}),{nodes:S,edges:h}})}initVals(e){const t=Object.assign({},e),{nodeSize:n,spacing:i,comboPadding:a}=e;let s,o;if(un(i)?o=()=>i:yn(i)?o=i:o=()=>0,t.spacing=o,!n)s=u=>{const h=o(u);return u.size?no(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+h)/2:li(u.size)?((u.size.width>u.size.height?u.size.width:u.size.height)+h)/2:(u.size+h)/2:32+h/2};else if(yn(n))s=u=>{const h=n(u),p=o(u);return no(u.size)?((u.size[0]>u.size[1]?u.size[0]:u.size[1])+p)/2:((h||32)+p)/2};else if(no(n)){const h=(n[0]>n[1]?n[0]:n[1])/2;s=p=>h+o(p)/2}else{const u=n/2;s=h=>u+o(h)/2}t.nodeSize=s;let l;return un(a)?l=()=>a:no(a)?l=()=>Math.max.apply(null,a):yn(a)?l=a:l=()=>0,t.comboPadding=l,t}getInnerGraphs(e,t,n,i,a,s,o){const{nodeSize:l,comboPadding:u,spacing:h,innerLayout:p}=s,S=p||new l0({}),N={center:[0,0],preventOverlap:!0,nodeSpacing:h},U=[],H=V=>{let Y=(u==null?void 0:u(V))||10;return no(Y)&&(Y=Math.max(...Y)),{size:Y?[Y*2,Y*2]:[30,30],padding:Y}};return e.getRoots(t).forEach(V=>{o.set(V.id,{id:V.id,data:{nodes:[],size:H(V).size}});let Y=Promise.resolve();f0(e,[V],q=>{var ne;if(!q.data._isCombo)return;const{size:le,padding:ue}=H(q);if(!(!((ne=e.getChildren(q.id,t))===null||ne===void 0)&&ne.length))o.set(q.id,{id:q.id,data:Object.assign(Object.assign({},q.data),{size:le})});else{const fe=o.get(q.id);o.set(q.id,{id:q.id,data:Object.assign({nodes:[]},fe==null?void 0:fe.data)});const de=new Map,ve=e.getChildren(q.id,t).map(Ie=>{if(Ie.data._isCombo)return o.has(Ie.id)||o.set(Ie.id,{id:Ie.id,data:Object.assign({},Ie.data)}),de.set(Ie.id,!0),o.get(Ie.id);const ze=n.get(Ie.id)||i.get(Ie.id);return de.set(Ie.id,!0),{id:Ie.id,data:Object.assign(Object.assign({},ze.data),Ie.data)}}),Te={nodes:ve,edges:a.filter(Ie=>de.has(Ie.source)&&de.has(Ie.target))};let Oe=1/0;ve.forEach(Ie=>{var ze;let{size:Xe}=Ie.data;Xe||(Xe=((ze=o.get(Ie.id))===null||ze===void 0?void 0:ze.data.size)||(l==null?void 0:l(Ie))||[30,30]),un(Xe)&&(Xe=[Xe,Xe]);const[et,st]=Xe;Oe>et&&(Oe=et),Oe>st&&(Oe=st),Ie.data.size=Xe}),Y=Y.then(()=>(0,xe.mG)(this,void 0,void 0,function*(){const Ie=new di(Te);yield GE(S,Ie,N,!0);const{minX:ze,minY:Xe,maxX:et,maxY:st}=iI(ve),bt={x:(et+ze)/2,y:(st+Xe)/2};Te.nodes.forEach(ct=>{ct.data.x-=bt.x,ct.data.y-=bt.y});const _t=[Math.max(et-ze,Oe)+ue*2,Math.max(st-Xe,Oe)+ue*2];o.get(q.id).data.size=_t,o.get(q.id).data.nodes=ve}))}return!0},"BT",t),U.push(Y)}),U}}function GE(r,e,t,n){var i;return(0,xe.mG)(this,void 0,void 0,function*(){return d0(r)?(r.execute(e,t),r.stop(),r.tick((i=t.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(e,t):yield r.execute(e,t)})}function Pi(r){return function(){return r}}function Io(r){return(r()-.5)*1e-6}function hI(r){return r.index}function jE(r,e){var t=r.get(e);if(!t)throw new Error("node not found: "+e);return t}function fI(r){var e=hI,t=p,n,i=Pi(30),a,s,o,l,u,h=1;r==null&&(r=[]);function p(V){return 1/Math.min(o[V.source.index],o[V.target.index])}function S(V){for(var Y=0,q=r.length;Y<h;++Y)for(var ne=0,le,ue,fe,de,ve,Te,Oe;ne<q;++ne)le=r[ne],ue=le.source,fe=le.target,de=fe.x+fe.vx-ue.x-ue.vx||Io(u),ve=fe.y+fe.vy-ue.y-ue.vy||Io(u),Te=Math.sqrt(de*de+ve*ve),Te=(Te-a[ne])/Te*V*n[ne],de*=Te,ve*=Te,fe.vx-=de*(Oe=l[ne]),fe.vy-=ve*Oe,ue.vx+=de*(Oe=1-Oe),ue.vy+=ve*Oe}function N(){if(s){var V,Y=s.length,q=r.length,ne=new Map(s.map((ue,fe)=>[e(ue,fe,s),ue])),le;for(V=0,o=new Array(Y);V<q;++V)le=r[V],le.index=V,typeof le.source!="object"&&(le.source=jE(ne,le.source)),typeof le.target!="object"&&(le.target=jE(ne,le.target)),o[le.source.index]=(o[le.source.index]||0)+1,o[le.target.index]=(o[le.target.index]||0)+1;for(V=0,l=new Array(q);V<q;++V)le=r[V],l[V]=o[le.source.index]/(o[le.source.index]+o[le.target.index]);n=new Array(q),U(),a=new Array(q),H()}}function U(){if(s)for(var V=0,Y=r.length;V<Y;++V)n[V]=+t(r[V],V,r)}function H(){if(s)for(var V=0,Y=r.length;V<Y;++V)a[V]=+i(r[V],V,r)}return S.initialize=function(V,Y){s=V,u=Y,N()},S.links=function(V){return arguments.length?(r=V,N(),S):r},S.id=function(V){return arguments.length?(e=V,S):e},S.iterations=function(V){return arguments.length?(h=+V,S):h},S.strength=function(V){return arguments.length?(t=typeof V=="function"?V:Pi(+V),U(),S):t},S.distance=function(V){return arguments.length?(i=typeof V=="function"?V:Pi(+V),H(),S):i},S}var dI=X(18609),vI=X(83833);const gI=1664525,pI=1013904223,VE=4294967296;function mI(){let r=1;return()=>(r=(gI*r+pI)%VE)/VE}function yI(r){return r.x}function _I(r){return r.y}var EI=10,xI=Math.PI*(3-Math.sqrt(5));function bI(r){var e,t=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=(0,vI.HT)(p),u=(0,dI.Z)("tick","end"),h=mI();r==null&&(r=[]);function p(){S(),u.call("tick",e),t<n&&(l.stop(),u.call("end",e))}function S(H){var V,Y=r.length,q;H===void 0&&(H=1);for(var ne=0;ne<H;++ne)for(t+=(a-t)*i,o.forEach(function(le){le(t)}),V=0;V<Y;++V)q=r[V],q.fx==null?q.x+=q.vx*=s:(q.x=q.fx,q.vx=0),q.fy==null?q.y+=q.vy*=s:(q.y=q.fy,q.vy=0);return e}function N(){for(var H=0,V=r.length,Y;H<V;++H){if(Y=r[H],Y.index=H,Y.fx!=null&&(Y.x=Y.fx),Y.fy!=null&&(Y.y=Y.fy),isNaN(Y.x)||isNaN(Y.y)){var q=EI*Math.sqrt(.5+H),ne=H*xI;Y.x=q*Math.cos(ne),Y.y=q*Math.sin(ne)}(isNaN(Y.vx)||isNaN(Y.vy))&&(Y.vx=Y.vy=0)}}function U(H){return H.initialize&&H.initialize(r,h),H}return N(),e={tick:S,restart:function(){return l.restart(p),e},stop:function(){return l.stop(),e},nodes:function(H){return arguments.length?(r=H,N(),o.forEach(U),e):r},alpha:function(H){return arguments.length?(t=+H,e):t},alphaMin:function(H){return arguments.length?(n=+H,e):n},alphaDecay:function(H){return arguments.length?(i=+H,e):+i},alphaTarget:function(H){return arguments.length?(a=+H,e):a},velocityDecay:function(H){return arguments.length?(s=1-H,e):1-s},randomSource:function(H){return arguments.length?(h=H,o.forEach(U),e):h},force:function(H,V){return arguments.length>1?(V==null?o.delete(H):o.set(H,U(V)),e):o.get(H)},find:function(H,V,Y){var q=0,ne=r.length,le,ue,fe,de,ve;for(Y==null?Y=1/0:Y*=Y,q=0;q<ne;++q)de=r[q],le=H-de.x,ue=V-de.y,fe=le*le+ue*ue,fe<Y&&(ve=de,Y=fe);return ve},on:function(H,V){return arguments.length>1?(u.on(H,V),e):u.on(H)}}}function wI(){var r,e,t,n,i=Pi(-30),a,s=1,o=1/0,l=.81;function u(N){var U,H=r.length,V=(0,u0.Z)(r,yI,_I).visitAfter(p);for(n=N,U=0;U<H;++U)e=r[U],V.visit(S)}function h(){if(r){var N,U=r.length,H;for(a=new Array(U),N=0;N<U;++N)H=r[N],a[H.index]=+i(H,N,r)}}function p(N){var U=0,H,V,Y=0,q,ne,le;if(N.length){for(q=ne=le=0;le<4;++le)(H=N[le])&&(V=Math.abs(H.value))&&(U+=H.value,Y+=V,q+=V*H.x,ne+=V*H.y);N.x=q/Y,N.y=ne/Y}else{H=N,H.x=H.data.x,H.y=H.data.y;do U+=a[H.data.index];while(H=H.next)}N.value=U}function S(N,U,H,V){if(!N.value)return!0;var Y=N.x-e.x,q=N.y-e.y,ne=V-U,le=Y*Y+q*q;if(ne*ne/l<le)return le<o&&(Y===0&&(Y=Io(t),le+=Y*Y),q===0&&(q=Io(t),le+=q*q),le<s&&(le=Math.sqrt(s*le)),e.vx+=Y*N.value*n/le,e.vy+=q*N.value*n/le),!0;if(N.length||le>=o)return;(N.data!==e||N.next)&&(Y===0&&(Y=Io(t),le+=Y*Y),q===0&&(q=Io(t),le+=q*q),le<s&&(le=Math.sqrt(s*le)));do N.data!==e&&(ne=a[N.data.index]*n/le,e.vx+=Y*ne,e.vy+=q*ne);while(N=N.next)}return u.initialize=function(N,U){r=N,t=U,h()},u.strength=function(N){return arguments.length?(i=typeof N=="function"?N:Pi(+N),h(),u):i},u.distanceMin=function(N){return arguments.length?(s=N*N,u):Math.sqrt(s)},u.distanceMax=function(N){return arguments.length?(o=N*N,u):Math.sqrt(o)},u.theta=function(N){return arguments.length?(l=N*N,u):Math.sqrt(l)},u}function MI(r,e){var t,n=1;r==null&&(r=0),e==null&&(e=0);function i(){var a,s=t.length,o,l=0,u=0;for(a=0;a<s;++a)o=t[a],l+=o.x,u+=o.y;for(l=(l/s-r)*n,u=(u/s-e)*n,a=0;a<s;++a)o=t[a],o.x-=l,o.y-=u}return i.initialize=function(a){t=a},i.x=function(a){return arguments.length?(r=+a,i):r},i.y=function(a){return arguments.length?(e=+a,i):e},i.strength=function(a){return arguments.length?(n=+a,i):n},i}function AI(r){return r.x+r.vx}function TI(r){return r.y+r.vy}function PI(r){var e,t,n,i=1,a=1;typeof r!="function"&&(r=Pi(r==null?1:+r));function s(){for(var u,h=e.length,p,S,N,U,H,V,Y=0;Y<a;++Y)for(p=(0,u0.Z)(e,AI,TI).visitAfter(o),u=0;u<h;++u)S=e[u],H=t[S.index],V=H*H,N=S.x+S.vx,U=S.y+S.vy,p.visit(q);function q(ne,le,ue,fe,de){var ve=ne.data,Te=ne.r,Oe=H+Te;if(ve){if(ve.index>S.index){var Ie=N-ve.x-ve.vx,ze=U-ve.y-ve.vy,Xe=Ie*Ie+ze*ze;Xe<Oe*Oe&&(Ie===0&&(Ie=Io(n),Xe+=Ie*Ie),ze===0&&(ze=Io(n),Xe+=ze*ze),Xe=(Oe-(Xe=Math.sqrt(Xe)))/Xe*i,S.vx+=(Ie*=Xe)*(Oe=(Te*=Te)/(V+Te)),S.vy+=(ze*=Xe)*Oe,ve.vx-=Ie*(Oe=1-Oe),ve.vy-=ze*Oe)}return}return le>N+Oe||fe<N-Oe||ue>U+Oe||de<U-Oe}}function o(u){if(u.data)return u.r=t[u.data.index];for(var h=u.r=0;h<4;++h)u[h]&&u[h].r>u.r&&(u.r=u[h].r)}function l(){if(e){var u,h=e.length,p;for(t=new Array(h),u=0;u<h;++u)p=e[u],t[p.index]=+r(p,u,e)}}return s.initialize=function(u,h){e=u,n=h,l()},s.iterations=function(u){return arguments.length?(a=+u,s):a},s.strength=function(u){return arguments.length?(i=+u,s):i},s.radius=function(u){return arguments.length?(r=typeof u=="function"?u:Pi(+u),l(),s):r},s}function SI(r,e,t){var n,i=Pi(.1),a,s;typeof r!="function"&&(r=Pi(+r)),e==null&&(e=0),t==null&&(t=0);function o(u){for(var h=0,p=n.length;h<p;++h){var S=n[h],N=S.x-e||1e-6,U=S.y-t||1e-6,H=Math.sqrt(N*N+U*U),V=(s[h]-H)*a[h]*u/H;S.vx+=N*V,S.vy+=U*V}}function l(){if(n){var u,h=n.length;for(a=new Array(h),s=new Array(h),u=0;u<h;++u)s[u]=+r(n[u],u,n),a[u]=isNaN(s[u])?0:+i(n[u],u,n)}}return o.initialize=function(u){n=u,l()},o.strength=function(u){return arguments.length?(i=typeof u=="function"?u:Pi(+u),l(),o):i},o.radius=function(u){return arguments.length?(r=typeof u=="function"?u:Pi(+u),l(),o):r},o.x=function(u){return arguments.length?(e=+u,o):e},o.y=function(u){return arguments.length?(t=+u,o):t},o}function OI(r){var e=Pi(.1),t,n,i;typeof r!="function"&&(r=Pi(r==null?0:+r));function a(o){for(var l=0,u=t.length,h;l<u;++l)h=t[l],h.vx+=(i[l]-h.x)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Pi(+o),s(),a):e},a.x=function(o){return arguments.length?(r=typeof o=="function"?o:Pi(+o),s(),a):r},a}function DI(r){var e=Pi(.1),t,n,i;typeof r!="function"&&(r=Pi(r==null?0:+r));function a(o){for(var l=0,u=t.length,h;l<u;++l)h=t[l],h.vy+=(i[l]-h.y)*n[l]*o}function s(){if(t){var o,l=t.length;for(n=new Array(l),i=new Array(l),o=0;o<l;++o)n[o]=isNaN(i[o]=+r(t[o],o,t))?0:+e(t[o],o,t)}}return a.initialize=function(o){t=o,s()},a.strength=function(o){return arguments.length?(e=typeof o=="function"?o:Pi(+o),s(),a):e},a.y=function(o){return arguments.length?(r=typeof o=="function"?o:Pi(+o),s(),a):r},a}class CI{constructor(e){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:fI,manyBody:wI,center:MI,collide:PI,radial:SI,x:OI,y:DI},this.options={link:{id:t=>t.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},sa(this.options,e),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,e,t)})}stop(){this.simulation.stop()}tick(e){return this.simulation.tick(e),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(e,t){const n=this.context.nodes.find(i=>i.id===e);n&&t.forEach((i,a)=>{if(typeof i=="number"||i===null){const s=["fx","fy","fz"][a];n[s]=i}})}getOptions(e){var t,n;const i=sa({},this.options,e);return i.collide&&((t=i.collide)===null||t===void 0?void 0:t.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(e,t,n){var i;return(0,xe.mG)(this,void 0,void 0,function*(){const a=this.getOptions(n),s=t.getAllNodes().map(({id:h,data:p})=>Object.assign(Object.assign({id:h},p),ml(p.data,this.config.inputNodeAttrs))),o=t.getAllEdges().map(h=>Object.assign({},h));Object.assign(this.context,{assign:e,nodes:s,edges:o,graph:t});const l=new Promise(h=>{this.resolver=h}),u=this.setSimulation(a);return u.nodes(s),(i=u.force("link"))===null||i===void 0||i.links(o),l})}getResult(){const{assign:e,nodes:t,edges:n,graph:i}=this.context,a=t.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),ml(o,this.config.outputNodeAttrs))})),s=n.map(({id:o,source:l,target:u,data:h})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof u=="object"?u.id:u,data:h}));return e&&a.forEach(o=>i.mergeNodeData(o.id,o.data)),{nodes:a,edges:s}}initSimulation(){return bI()}setSimulation(e){const t=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=t.on("tick",()=>{var n;return(n=e.onTick)===null||n===void 0?void 0:n.call(e,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),ZE(t,this.config.simulationAttrs.map(n=>[n,e[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(e[n]){let s=t.force(a);s||(s=i(),t.force(a,s)),ZE(s,Object.entries(e[a]))}else t.force(a,null)}),t}}const ZE=(r,e)=>e.reduce((t,[n,i])=>!t[n]||i===void 0?t:t[n].call(r,i),r);var KE=X(92546),LI=X.n(KE);class Wf{constructor(e){this.id="dagre",this.options={},Object.assign(this.options,Wf.defaultOptions,e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,Object.assign(Object.assign({},this.options),t))})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,Object.assign(Object.assign({},this.options),t))})}genericDagreLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new KE.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const s=t.getAllNodes(),o=t.getAllEdges();[...s,...o].some(({id:u})=>un(u))&&console.error("Dagre layout only support string id, it will convert number to string."),t.getAllNodes().forEach(u=>{const{id:h}=u,p=Object.assign({},u.data);if(i!==void 0){const[S,N]=fc(yn(i)?i(u):i);Object.assign(p,{width:S,height:N})}a.setNode(h.toString(),p)}),t.getAllEdges().forEach(({id:u,source:h,target:p})=>{a.setEdge(h.toString(),p.toString(),{id:u})}),LI().layout(a);const l={nodes:[],edges:[]};return a.nodes().forEach(u=>{const h=a.node(u);l.nodes.push({id:u,data:h}),e&&t.mergeNodeData(u,h)}),a.edges().forEach(u=>{const h=a.edge(u),{id:p}=h,S=(0,xe._T)(h,["id"]),{v:N,w:U}=u;l.edges.push({id:p,source:N,target:U,data:S}),e&&t.mergeEdgeData(p,S)}),l})}}Wf.defaultOptions={};class v0{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){const t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){const t=e.rx-this.rx,n=e.ry-this.ry;let i=Math.hypot(t,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(e.degree+1)/i;this.fx+=a*t/i,this.fy+=a*n/i}in(e){return e.contains(this.rx,this.ry)}add(e){const t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,i=(this.ry*this.mass+e.ry*e.mass)/t,a=this.degree+e.degree,s={rx:n,ry:i,mass:t,degree:a};return new v0(s)}}class nu{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){const n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){const e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new nu(i)}NE(){const e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new nu(i)}SW(){const e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new nu(i)}SE(){const e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,i={xmid:e,ymid:t,length:n};return new nu(i)}}class ru{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new ru(this.quad.NW()),this.NE=new ru(this.quad.NE()),this.SW=new ru(this.quad.SW()),this.SE=new ru(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){this.quad&&(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{const t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/n<this.theta?e.addForce(this.body):(this.NW&&this.NW.updateForce(e),this.NE&&this.NE.updateForce(e),this.SW&&this.SW.updateForce(e),this.SE&&this.SE.updateForce(e))}}}const RI={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class II{constructor(e={}){this.options=e,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},RI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,e,t)})}genericForceAtlas2Layout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=t.getAllEdges(),a=t.getAllNodes(),s=this.formatOptions(n,a.length),{width:o,height:l,prune:u,maxIteration:h,nodeSize:p,center:S}=s;if(!(a!=null&&a.length)||a.length===1)return xl(t,e,S);const N=a.map(Y=>Ia(Y,[o,l])),U=i.filter(Y=>{const{source:q,target:ne}=Y;return q!==ne}),H=new di({nodes:N,edges:U}),V=this.getSizes(H,p);if(this.run(H,t,h,V,e,s),u){for(let q=0;q<U.length;q+=1){const{source:ne,target:le}=U[q],ue=H.getDegree(ne),fe=H.getDegree(ne);if(ue<=1){const de=H.getNode(le);H.mergeNodeData(ne,{x:de.data.x,y:de.data.y})}else if(fe<=1){const de=H.getNode(ne);H.mergeNodeData(le,{x:de.data.x,y:de.data.y})}}const Y=Object.assign(Object.assign({},s),{prune:!1,barnesHut:!1});this.run(H,t,100,V,e,Y)}return{nodes:N,edges:i}})}getSizes(e,t){const n=e.getAllNodes(),i={};for(let a=0;a<n.length;a+=1){const s=n[a];i[s.id]=s0(t,void 0)(s)}return i}formatOptions(e={},t){const n=Object.assign(Object.assign({},this.options),e),{center:i,width:a,height:s,barnesHut:o,prune:l,maxIteration:u,kr:h,kg:p}=n;return n.width=!a&&typeof window!="undefined"?window.innerWidth:a,n.height=!s&&typeof window!="undefined"?window.innerHeight:s,n.center=i||[n.width/2,n.height/2],o===void 0&&t>250&&(n.barnesHut=!0),l===void 0&&t>100&&(n.prune=!0),u===0&&!l?(n.maxIteration=250,t<=200&&t>100?n.maxIteration=1e3:t>200&&(n.maxIteration=1200)):u===0&&l&&(n.maxIteration=100,t<=200&&t>100?n.maxIteration=500:t>200&&(n.maxIteration=950)),h||(n.kr=50,t>100&&t<=500?n.kr=20:t>500&&(n.kr=1)),p||(n.kg=20,t>100&&t<=500?n.kg=10:t>500&&(n.kg=1)),n}run(e,t,n,i,a,s){const{kr:o,barnesHut:l,onTick:u}=s,h=e.getAllNodes();let p=0,S=n;const N={},U={},H={};for(let V=0;V<h.length;V+=1){const{data:Y,id:q}=h[V];if(N[q]=[0,0],l){const ne={id:V,rx:Y.x,ry:Y.y,mass:1,g:o,degree:e.getDegree(q)};H[q]=new v0(ne)}}for(;S>0;)p=this.oneStep(e,{iter:S,preventOverlapIters:50,krPrime:100,sg:p,forces:N,preForces:U,bodies:H,sizes:i},s),S--,u==null||u({nodes:h,edges:t.getAllEdges()});return e}oneStep(e,t,n){const{iter:i,preventOverlapIters:a,krPrime:s,sg:o,preForces:l,bodies:u,sizes:h}=t;let{forces:p}=t;const{preventOverlap:S,barnesHut:N}=n,U=e.getAllNodes();for(let H=0;H<U.length;H+=1){const{id:V}=U[H];l[V]=[...p[V]],p[V]=[0,0]}return p=this.getAttrForces(e,i,a,h,p,n),N&&(S&&i>a||!S)?p=this.getOptRepGraForces(e,p,u,n):p=this.getRepGraForces(e,i,a,p,s,h,n),this.updatePos(e,p,l,o,n)}getAttrForces(e,t,n,i,a,s){const{preventOverlap:o,dissuadeHubs:l,mode:u,prune:h}=s,p=e.getAllEdges();for(let S=0;S<p.length;S+=1){const{source:N,target:U}=p[S],H=e.getNode(N),V=e.getNode(U),Y=e.getDegree(N),q=e.getDegree(U);if(h&&(Y<=1||q<=1))continue;const ne=[V.data.x-H.data.x,V.data.y-H.data.y];let le=Math.hypot(ne[0],ne[1]);le=le<1e-4?1e-4:le,ne[0]=ne[0]/le,ne[1]=ne[1]/le,o&&t<n&&(le=le-i[N]-i[U]);let ue=le,fe=ue;u==="linlog"&&(ue=Math.log(1+le),fe=ue),l&&(ue=le/Y,fe=le/q),o&&t<n&&le<=0?(ue=0,fe=0):o&&t<n&&le>0&&(ue=le,fe=le),a[N][0]+=ue*ne[0],a[U][0]-=fe*ne[0],a[N][1]+=ue*ne[1],a[U][1]-=fe*ne[1]}return a}getOptRepGraForces(e,t,n,i){const{kg:a,center:s,prune:o}=i,l=e.getAllNodes(),u=l.length;let h=9e10,p=-9e10,S=9e10,N=-9e10;for(let q=0;q<u;q+=1){const{id:ne,data:le}=l[q];o&&e.getDegree(ne)<=1||(n[ne].setPos(le.x,le.y),le.x>=p&&(p=le.x),le.x<=h&&(h=le.x),le.y>=N&&(N=le.y),le.y<=S&&(S=le.y))}const U=Math.max(p-h,N-S),H={xmid:(p+h)/2,ymid:(N+S)/2,length:U,massCenter:s,mass:u},V=new nu(H),Y=new ru(V);for(let q=0;q<u;q+=1){const{id:ne}=l[q];o&&e.getDegree(ne)<=1||n[ne].in(V)&&Y.insert(n[ne])}for(let q=0;q<u;q+=1){const{id:ne,data:le}=l[q],ue=e.getDegree(ne);if(o&&ue<=1)continue;n[ne].resetForce(),Y.updateForce(n[ne]),t[ne][0]-=n[ne].fx,t[ne][1]-=n[ne].fy;const fe=[le.x-s[0],le.y-s[1]];let de=Math.hypot(fe[0],fe[1]);de=de<1e-4?1e-4:de,fe[0]=fe[0]/de,fe[1]=fe[1]/de;const ve=a*(ue+1);t[ne][0]-=ve*fe[0],t[ne][1]-=ve*fe[1]}return t}getRepGraForces(e,t,n,i,a,s,o){const{preventOverlap:l,kr:u,kg:h,center:p,prune:S}=o,N=e.getAllNodes(),U=N.length;for(let H=0;H<U;H+=1){const V=N[H],Y=e.getDegree(V.id);for(let ue=H+1;ue<U;ue+=1){const fe=N[ue],de=e.getDegree(fe.id);if(S&&(Y<=1||de<=1))continue;const ve=[fe.data.x-V.data.x,fe.data.y-V.data.y];let Te=Math.hypot(ve[0],ve[1]);Te=Te<1e-4?1e-4:Te,ve[0]=ve[0]/Te,ve[1]=ve[1]/Te,l&&t<n&&(Te=Te-s[V.id]-s[fe.id]);let Oe=u*(Y+1)*(de+1)/Te;l&&t<n&&Te<0?Oe=a*(Y+1)*(de+1):l&&t<n&&Te===0?Oe=0:l&&t<n&&Te>0&&(Oe=u*(Y+1)*(de+1)/Te),i[V.id][0]-=Oe*ve[0],i[fe.id][0]+=Oe*ve[0],i[V.id][1]-=Oe*ve[1],i[fe.id][1]+=Oe*ve[1]}const q=[V.data.x-p[0],V.data.y-p[1]],ne=Math.hypot(q[0],q[1]);q[0]=q[0]/ne,q[1]=q[1]/ne;const le=h*(Y+1);i[V.id][0]-=le*q[0],i[V.id][1]-=le*q[1]}return i}updatePos(e,t,n,i,a){const{ks:s,tao:o,prune:l,ksmax:u}=a,h=e.getAllNodes(),p=h.length,S=[],N=[];let U=0,H=0,V=i;for(let q=0;q<p;q+=1){const{id:ne}=h[q],le=e.getDegree(ne);if(l&&le<=1)continue;const ue=[t[ne][0]-n[ne][0],t[ne][1]-n[ne][1]],fe=Math.hypot(ue[0],ue[1]),de=[t[ne][0]+n[ne][0],t[ne][1]+n[ne][1]],ve=Math.hypot(de[0],de[1]);S[q]=fe,N[q]=ve/2,U+=(le+1)*S[q],H+=(le+1)*N[q]}const Y=V;V=o*H/U,Y!==0&&(V=V>1.5*Y?1.5*Y:V);for(let q=0;q<p;q+=1){const{id:ne,data:le}=h[q],ue=e.getDegree(ne);if(l&&ue<=1||un(le.fx)&&un(le.fy))continue;let fe=s*V/(1+V*Math.sqrt(S[q])),de=Math.hypot(t[ne][0],t[ne][1]);de=de<1e-4?1e-4:de;const ve=u/de;fe=fe>ve?ve:fe;const Te=fe*t[ne][0],Oe=fe*t[ne][1];e.mergeNodeData(ne,{x:le.x+Te,y:le.y+Oe})}return V}}const NI={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},BI=800;class kI{constructor(e={}){this.options=e,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},NI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;n<e;n++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const t={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&t.nodes.forEach(n=>this.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericFruchtermanLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:s,height:o,center:l,clustering:u,nodeClusterBy:h,maxIteration:p,onTick:S}=i,N=t.getAllNodes(),U=t.getAllEdges();if(!(N!=null&&N.length)){const ne={nodes:[],edges:U};return this.lastResult=ne,ne}if(N.length===1){e&&t.mergeNodeData(N[0].id,{x:l[0],y:l[1],z:a===3?l[2]:void 0});const ne={nodes:[Object.assign(Object.assign({},N[0]),{data:Object.assign(Object.assign({},N[0].data),{x:l[0],y:l[1],z:a===3?l[2]:void 0})})],edges:U};return this.lastResult=ne,ne}const H=N.map(ne=>Ia(ne,[s,o])),V=new di({nodes:H,edges:U}),Y={};if(u&&H.forEach(ne=>{const le=ne.data[h];Y[le]||(Y[le]={name:le,cx:0,cy:0,count:0})}),this.lastLayoutNodes=H,this.lastLayoutEdges=U,this.lastAssign=e,this.lastGraph=V,this.lastOptions=i,this.lastClusterMap=Y,typeof window=="undefined")return;let q=0;return new Promise(ne=>{this.timeInterval=window.setInterval(()=>{if(!this.running){ne({nodes:H,edges:U});return}this.runOneStep(V,Y,i),e&&H.forEach(({id:le,data:ue})=>t.mergeNodeData(le,{x:ue.x,y:ue.y,z:a===3?ue.z:void 0})),S==null||S({nodes:H,edges:U}),q++,q>=p&&(window.clearInterval(this.timeInterval),ne({nodes:H,edges:U}))},0),this.running=!0})})}formatOptions(e={}){const t=Object.assign(Object.assign({},this.options),e),{clustering:n,nodeClusterBy:i}=t,{center:a,width:s,height:o}=t;return t.width=!s&&typeof window!="undefined"?window.innerWidth:s,t.height=!o&&typeof window!="undefined"?window.innerHeight:o,t.center=a||[t.width/2,t.height/2],t.clustering=n&&!!i,t}runOneStep(e,t,n){const{dimensions:i,height:a,width:s,gravity:o,center:l,speed:u,clustering:h,nodeClusterBy:p,clusterGravity:S}=n,N=a*s,U=Math.sqrt(N)/10,H=e.getAllNodes(),V=N/(H.length+1),Y=Math.sqrt(V),q={};if(this.applyCalculate(e,q,Y,V),h){for(const le in t)t[le].cx=0,t[le].cy=0,t[le].count=0;H.forEach(le=>{const{data:ue}=le,fe=t[ue[p]];un(ue.x)&&(fe.cx+=ue.x),un(ue.y)&&(fe.cy+=ue.y),fe.count++});for(const le in t)t[le].cx/=t[le].count,t[le].cy/=t[le].count;const ne=S||o;H.forEach((le,ue)=>{const{id:fe,data:de}=le;if(!un(de.x)||!un(de.y))return;const ve=t[de[p]],Te=Math.sqrt((de.x-ve.cx)*(de.x-ve.cx)+(de.y-ve.cy)*(de.y-ve.cy)),Oe=Y*ne;q[fe].x-=Oe*(de.x-ve.cx)/Te,q[fe].y-=Oe*(de.y-ve.cy)/Te})}H.forEach((ne,le)=>{const{id:ue,data:fe}=ne;if(!un(fe.x)||!un(fe.y))return;const de=.01*Y*o;q[ue].x-=de*(fe.x-l[0]),q[ue].y-=de*(fe.y-l[1]),i===3&&(q[ue].z-=de*(fe.z-l[2]))}),H.forEach((ne,le)=>{const{id:ue,data:fe}=ne;if(un(fe.fx)&&un(fe.fy)){fe.x=fe.fx,fe.y=fe.fy,i===3&&(fe.z=fe.fz);return}if(!un(fe.x)||!un(fe.y))return;const de=Math.sqrt(q[ue].x*q[ue].x+q[ue].y*q[ue].y+(i===3?q[ue].z*q[ue].z:0));if(de>0){const ve=Math.min(U*(u/BI),de);e.mergeNodeData(ue,{x:fe.x+q[ue].x/de*ve,y:fe.y+q[ue].y/de*ve,z:i===3?fe.z+q[ue].z/de*ve:void 0})}})}applyCalculate(e,t,n,i){this.calRepulsive(e,t,i),this.calAttractive(e,t,n)}calRepulsive(e,t,n){const i=e.getAllNodes();i.forEach(({data:a,id:s},o)=>{t[s]={x:0,y:0,z:0},i.forEach(({data:l,id:u},h)=>{if(o<=h||!un(a.x)||!un(l.x)||!un(a.y)||!un(l.y))return;let p=a.x-l.x,S=a.y-l.y,N=this.options.dimensions===3?a.z-l.z:0,U=p*p+S*S+N*N;U===0&&(U=1,p=.01,S=.01,N=.01);const H=n/U,V=p*H,Y=S*H,q=N*H;t[s].x+=V,t[s].y+=Y,t[u].x-=V,t[u].y-=Y,this.options.dimensions===3&&(t[s].z+=q,t[u].z-=q)})})}calAttractive(e,t,n){e.getAllEdges().forEach(a=>{const{source:s,target:o}=a;if(!s||!o||s===o)return;const{data:l}=e.getNode(s),{data:u}=e.getNode(o);if(!un(u.x)||!un(l.x)||!un(u.y)||!un(l.y))return;const h=u.x-l.x,p=u.y-l.y,S=this.options.dimensions===3?u.z-l.z:0,N=Math.sqrt(h*h+p*p+S*S)/n,U=h*N,H=p*N,V=S*N;t[s].x+=U,t[s].y+=H,t[o].x-=U,t[o].y-=H,this.options.dimensions===3&&(t[s].z+=V,t[o].z-=V)})}}const FI={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class zI{constructor(e={}){this.options=e,this.id="grid",this.options=Object.assign(Object.assign({},FI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,e,t)})}genericGridLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:s,preventOverlapPadding:o,preventOverlap:l,rows:u,cols:h,nodeSpacing:p,nodeSize:S,width:N,height:U,position:H}=i;let{sortBy:V}=i;const Y=t.getAllNodes(),q=t.getAllEdges(),ne=Y==null?void 0:Y.length;if(!ne||ne===1)return xl(t,e,a);const le=Y.map(st=>Ia(st));V!=="id"&&(!ur(V)||le[0].data[V]===void 0)&&(V="degree"),V==="degree"?le.sort((st,bt)=>t.getDegree(bt.id,"both")-t.getDegree(st.id,"both")):V==="id"?le.sort((st,bt)=>un(bt.id)&&un(st.id)?bt.id-st.id:`${st.id}`.localeCompare(`${bt.id}`)):le.sort((st,bt)=>bt.data[V]-st.data[V]);const ue=!N&&typeof window!="undefined"?window.innerWidth:N,fe=!U&&typeof window!="undefined"?window.innerHeight:U,de=ne,ve={rows:u,cols:h};if(u!=null&&h!=null)ve.rows=u,ve.cols=h;else if(u!=null&&h==null)ve.rows=u,ve.cols=Math.ceil(de/ve.rows);else if(u==null&&h!=null)ve.cols=h,ve.rows=Math.ceil(de/ve.cols);else{const st=Math.sqrt(de*fe/ue);ve.rows=Math.round(st),ve.cols=Math.round(ue/fe*st)}if(ve.rows=Math.max(ve.rows,1),ve.cols=Math.max(ve.cols,1),ve.cols*ve.rows>de){const st=Hf(ve),bt=Gf(ve);(st-1)*bt>=de?Hf(ve,st-1):(bt-1)*st>=de&&Gf(ve,bt-1)}else for(;ve.cols*ve.rows<de;){const st=Hf(ve),bt=Gf(ve);(bt+1)*st>=de?Gf(ve,bt+1):Hf(ve,st+1)}let Te=s?0:ue/ve.cols,Oe=s?0:fe/ve.rows;if(l||p){const st=El(10,p),bt=a0(30,S,!1);le.forEach(_t=>{(!_t.data.x||!_t.data.y)&&(_t.data.x=0,_t.data.y=0);const ct=t.getNode(_t.id),[ft,At]=fc(bt(ct)||30),Ft=st!==void 0?st(_t):o,Vt=ft+Ft,nn=At+Ft;Te=Math.max(Te,Vt),Oe=Math.max(Oe,nn)})}const Ie={},ze={row:0,col:0},Xe={};for(let st=0;st<le.length;st++){const bt=le[st];let _t;if(H&&(_t=H(t.getNode(bt.id))),_t&&(_t.row!==void 0||_t.col!==void 0)){const ct={row:_t.row,col:_t.col};if(ct.col===void 0)for(ct.col=0;g0(Ie,ct);)ct.col++;else if(ct.row===void 0)for(ct.row=0;g0(Ie,ct);)ct.row++;Xe[bt.id]=ct,XE(Ie,ct)}UI(bt,a,Te,Oe,Xe,ve,ze,Ie)}const et={nodes:le,edges:q};return e&&le.forEach(st=>{t.mergeNodeData(st.id,{x:st.data.x,y:st.data.y})}),et})}}const Hf=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=e:r.cols=e,t},Gf=(r,e)=>{let t;const n=r.rows||5,i=r.cols||5;return e==null?t=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=e:r.cols=e,t},g0=(r,e)=>r[`c-${e.row}-${e.col}`]||!1,XE=(r,e)=>r[`c-${e.row}-${e.col}`]=!0,YE=(r,e)=>{const t=r.cols||5;e.col++,e.col>=t&&(e.col=0,e.row++)},UI=(r,e,t,n,i,a,s,o)=>{let l,u;const h=i[r.id];if(h)l=h.col*t+t/2+e[0],u=h.row*n+n/2+e[1];else{for(;g0(o,s);)YE(a,s);l=s.col*t+t/2+e[0],u=s.row*n+n/2+e[1],XE(o,s),YE(a,s)}r.data.x=l,r.data.y=u},WI=(r,e,t)=>{try{const n=Ro.mul(Ro.pow(e,2),-.5),i=n.mean("row"),a=n.mean("column"),s=n.mean();n.add(s).subRowVector(i).subColumnVector(a);const o=new FE(n),l=Ro.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(u=>Ro.mul([u],[l]).toJSON()[0].splice(0,r))}catch(n){const i=[];for(let a=0;a<e.length;a++){const s=Math.random()*t,o=Math.random()*t;i.push([s,o])}return i}},HI=800,GI={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},jI=(r,e)=>{const t=Object.assign(Object.assign({},GI),e),{positions:n,iterations:i,width:a,k:s,speed:o=100,strictRadial:l,focusIdx:u,radii:h=[],nodeSizeFunc:p}=t,S=r.getAllNodes(),N=[],U=a/10;for(let H=0;H<i;H++)n.forEach((V,Y)=>{N[Y]={x:0,y:0}}),VI(S,n,N,s,h,p),ZI(n,N,o,l,u,U,a,h);return n},VI=(r,e,t,n,i,a)=>{e.forEach((s,o)=>{t[o]={x:0,y:0},e.forEach((l,u)=>{if(o===u||i[o]!==i[u])return;let h=s.x-l.x,p=s.y-l.y,S=Math.sqrt(h*h+p*p);if(S===0){S=1;const N=o>u?1:-1;h=.01*N,p=.01*N}if(S<a(r[o])/2+a(r[u])/2){const N=n*n/S;t[o].x+=h/S*N,t[o].y+=p/S*N}})})},ZI=(r,e,t,n,i,a,s,o)=>{const l=a||s/10;return n&&e.forEach((u,h)=>{const p=r[h].x-r[i].x,S=r[h].y-r[i].y,N=Math.sqrt(p*p+S*S);let U=S/N,H=-p/N;const V=Math.sqrt(u.x*u.x+u.y*u.y);let Y=Math.acos((U*u.x+H*u.y)/V);Y>Math.PI/2&&(Y-=Math.PI/2,U*=-1,H*=-1);const q=Math.cos(Y)*V;u.x=U*q,u.y=H*q}),r.forEach((u,h)=>{if(h===i)return;const p=Math.sqrt(e[h].x*e[h].x+e[h].y*e[h].y);if(p>0&&h!==i){const S=Math.min(l*(t/HI),p);if(u.x+=e[h].x/p*S,u.y+=e[h].y/p*S,n){let N=u.x-r[i].x,U=u.y-r[i].y;const H=Math.sqrt(N*N+U*U);N=N/H*o[h],U=U/H*o[h],u.x=r[i].x+N,u.y=r[i].y+U}}}),r},KI={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class XI{constructor(e={}){this.options=e,this.id="radial",this.options=Object.assign(Object.assign({},KI),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,e,t)})}genericRadialLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:s,center:o,focusNode:l,unitRadius:u,nodeSize:h,nodeSpacing:p,strictRadial:S,preventOverlap:N,maxPreventOverlapIteration:U,sortBy:H,linkDistance:V=50,sortStrength:Y=10,maxIteration:q=1e3}=i,ne=t.getAllNodes(),le=t.getAllEdges(),ue=!a&&typeof window!="undefined"?window.innerWidth:a,fe=!s&&typeof window!="undefined"?window.innerHeight:s,de=o||[ue/2,fe/2];if(!(ne!=null&&ne.length)||ne.length===1)return xl(t,e,de);let ve=ne[0];if(ur(l)){for(let Dn=0;Dn<ne.length;Dn++)if(ne[Dn].id===l){ve=ne[Dn];break}}else ve=l||ne[0];const Te=JI(ne,ve.id),Oe=UE({nodes:ne,edges:le},!1),Ie=zE(Oe),ze=$I(Ie,Te);qI(Ie,Te,ze+1);const Xe=Ie[Te];let et=ue-de[0]>de[0]?de[0]:ue-de[0],st=fe-de[1]>de[1]?de[1]:fe-de[1];et===0&&(et=ue/2),st===0&&(st=fe/2);const bt=Math.min(et,st),_t=Math.max(...Xe),ct=[],ft=u||bt/_t;Xe.forEach((Dn,kn)=>{ct[kn]=Dn*ft});const At=YI(ne,Ie,V,ct,ft,H,Y),Ft=QI(At),Vt=WI(V,At,V);let nn=Vt.map(([Dn,kn])=>({x:(isNaN(Dn)?Math.random()*V:Dn)-Vt[Te][0],y:(isNaN(kn)?Math.random()*V:kn)-Vt[Te][1]}));this.run(q,nn,Ft,At,ct,Te);let hn;if(N){hn=s0(h,p);const Dn={nodes:ne,nodeSizeFunc:hn,positions:nn,radii:ct,height:fe,width:ue,strictRadial:!!S,focusIdx:Te,iterations:U||200,k:nn.length/4.5};nn=jI(t,Dn)}const rn=[];return nn.forEach((Dn,kn)=>{const $n=Ia(ne[kn]);$n.data.x=Dn.x+de[0],$n.data.y=Dn.y+de[1],rn.push($n)}),e&&rn.forEach(Dn=>t.mergeNodeData(Dn.id,{x:Dn.data.x,y:Dn.data.y})),{nodes:rn,edges:le}})}run(e,t,n,i,a,s){for(let o=0;o<=e;o++){const l=o/e;this.oneIteration(l,t,a,i,n,s)}}oneIteration(e,t,n,i,a,s){const o=1-e;t.forEach((l,u)=>{const h=WE(l,{x:0,y:0}),p=h===0?0:1/h;if(u===s)return;let S=0,N=0,U=0;t.forEach((V,Y)=>{if(u===Y)return;const q=WE(l,V),ne=q===0?0:1/q,le=i[Y][u];U+=a[u][Y],S+=a[u][Y]*(V.x+le*(l.x-V.x)*ne),N+=a[u][Y]*(V.y+le*(l.y-V.y)*ne)});const H=n[u]===0?0:1/n[u];U*=o,U+=e*H*H,S*=o,S+=e*H*l.x*p,l.x=S/U,N*=o,N+=e*H*l.y*p,l.y=N/U})}}const YI=(r,e,t,n,i,a,s)=>{if(!r)return[];const o=[];if(e){const l={};e.forEach((u,h)=>{const p=[];u.forEach((S,N)=>{var U,H;if(h===N)p.push(0);else if(n[h]===n[N])if(a==="data")p.push(S*(Math.abs(h-N)*s)/(n[h]/i));else if(a){let V,Y;if(l[r[h].id])V=l[r[h].id];else{const q=(a==="id"?r[h].id:(U=r[h].data)===null||U===void 0?void 0:U[a])||0;ur(q)?V=q.charCodeAt(0):V=q,l[r[h].id]=V}if(l[r[N].id])Y=l[r[N].id];else{const q=(a==="id"?r[N].id:(H=r[N].data)===null||H===void 0?void 0:H[a])||0;ur(q)?Y=q.charCodeAt(0):Y=q,l[r[N].id]=Y}p.push(S*(Math.abs(V-Y)*s)/(n[h]/i))}else p.push(S*t/(n[h]/i));else{const V=(t+i)/2;p.push(S*V)}}),o.push(p)})}return o},QI=r=>{const e=r.length,t=r[0].length,n=[];for(let i=0;i<e;i++){const a=[];for(let s=0;s<t;s++)r[i][s]!==0?a.push(1/(r[i][s]*r[i][s])):a.push(0);n.push(a)}return n},JI=(r,e)=>{let t=-1;return r.forEach((n,i)=>{n.id===e&&(t=i)}),Math.max(t,0)},qI=(r,e,t)=>{const n=r.length;for(let i=0;i<n;i++)if(r[e][i]===1/0){r[e][i]=t,r[i][e]=t;for(let a=0;a<n;a++)r[i][a]!==1/0&&r[e][a]===1/0&&(r[e][a]=t+r[i][a],r[a][e]=t+r[i][a])}for(let i=0;i<n;i++)if(i!==e){for(let a=0;a<n;a++)if(r[i][a]===1/0){let s=Math.abs(r[e][i]-r[e][a]);s=s===0?1:s,r[i][a]=s}}},$I=(r,e)=>{let t=0;for(let n=0;n<r[e].length;n++)r[e][n]!==1/0&&(t=r[e][n]>t?r[e][n]:t);return t},eN={center:[0,0],width:300,height:300};class tN{constructor(e={}){this.options=e,this.id="random",this.options=Object.assign(Object.assign({},eN),e)}execute(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,e,t)})}assign(e,t){return(0,xe.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,e,t)})}genericRandomLayout(e,t,n){return(0,xe.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:s,height:o}=i,l=t.getAllNodes(),u=.9,h=!s&&typeof window!="undefined"?window.innerWidth:s,p=!o&&typeof window!="undefined"?window.innerHeight:o,S=a||[h/2,p/2],N=[];return l&&l.forEach(H=>{N.push({id:H.id,data:{x:(Math.random()-.5)*u*h+S[0],y:(Math.random()-.5)*u*p+S[1]}})}),e&&N.forEach(H=>t.mergeNodeData(H.id,{x:H.data.x,y:H.data.y})),{nodes:N,edges:t.getAllEdges()}})}}function nN(r){var e,t,n,i=r||1;function a(o,l){++e>i&&(n=t,s(1),++e),t[o]=l}function s(o){e=0,t=Object.create(null),o||(n=Object.create(null))}return s(),{clear:s,has:function(o){return t[o]!==void 0||n[o]!==void 0},get:function(o){var l=t[o];if(l!==void 0)return l;if((l=n[o])!==void 0)return a(o,l),l},set:function(o,l){t[o]!==void 0?t[o]=l:a(o,l)}}}var p0=new Map;function m0(r,e,t){t===void 0&&(t=128);var n=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var s=e?e.apply(this,i):i[0];p0.has(r)||p0.set(r,nN(t));var o=p0.get(r);if(o.has(s))return o.get(s);var l=r.apply(this,i);return o.set(s,l),l};return n}var rN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class jf extends Lf{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const e=this.context.model.getRootsData();if(!(Fs(e)||e.length>2))return e[0]}formatSize(e){const t=typeof e=="function"?e:()=>e;return n=>La(t(n))}doLayout(e,t){const{hGap:n,getRibSep:i,vGap:a,nodeSize:s,height:o}=t,{model:l}=this.context,u=this.formatSize(s);let h=u(e)[0]+i(e);const p=(ne,le=0)=>{var ue;return le+=n*((ne.children||[]).length+1),(ue=ne.children)===null||ue===void 0||ue.forEach(fe=>{var de;(de=l.getNodeLikeDatum(fe).children)===null||de===void 0||de.forEach(Te=>{const Oe=l.getNodeLikeDatum(Te);le=p(Oe,le)})}),le},S=ne=>{if(ne.depth===1)return h;const le=l.getParentData(ne.id,"tree");if(iu(ne)){const ue=l.getParentData(le.id,"tree"),fe=H(ne)-H(ue);return S(le)+fe*n/a}else{const ue=(le.children||[]).indexOf(ne.id),fe=l.getNodeData((le.children||[]).slice(ue));return N(le)-fe.reduce((de,ve)=>de+p(ve),0)-u(le)[0]/2}},N=m0(ne=>{if(y0(ne))return u(ne)[0]/2;const le=l.getParentData(ne.id,"tree");if(iu(ne))return S(ne)+p(ne)+u(ne)[0]/2;{const ue=H(ne)-H(le),fe=n/a;return S(ne)+ue*fe}},ne=>ne.id),U=ne=>H(l.getParentData(ne,"tree")),H=m0(ne=>{if(y0(ne))return o/2;if(iu(ne)){const le=l.getParentData(ne.id,"tree"),ue=le.children.indexOf(ne.id);if(ue===0)return U(le.id)+a;const fe=l.getNodeLikeDatum(le.children[ue-1]);if(Fs(fe.children))return H(fe)+a;const de=l.getDescendantsData(fe.id);return Math.max(...de.map(ve=>iu(ve)?U(ve.id):H(ve)))+a}else{if(Fs(ne.children))return U(ne.id)+a;const le=l.getNodeLikeDatum(ne.children.slice(-1)[0]);if(Fs(le.children))return H(le)+a;const ue=l.getDescendantsData(ne.id).slice(-1)[0];return(iu(ue)?U(ue.id):H(ue))+a}},ne=>ne.id);let V=0;const Y={nodes:[],edges:[]},q=ne=>{var le;(le=ne.children)===null||le===void 0||le.forEach(Te=>q(l.getNodeLikeDatum(Te)));const ue=H(ne),fe=N(ne);if(Y.nodes.push({id:ne.id,x:fe,y:ue}),y0(ne))return;const de=l.getRelatedEdgesData(ne.id,"in")[0],ve=[S(ne),iu(ne)?ue:U(ne.id)];Y.edges.push({id:Et(de),controlPoints:[ve],relatedNodeId:ne.id}),V=Math.max(V,fe+i(ne)),ne.depth===1&&(h=V)};return q(e),Y}placeAlterative(e,t){const n=(t.children||[]).filter((o,l)=>l%2!==0);if(n.length===0)return e;const{model:i}=this.context,a=e.nodes.find(o=>o.id===t.id).y,s=o=>{const l=i.getAncestorsData(o,"tree");if(Fs(l))return!1;const u=l.length===1?o:l[l.length-2].id;return n.includes(u)};e.nodes.forEach(o=>{s(o.id)&&(o.y=2*a-o.y)}),e.edges.forEach(o=>{s(o.relatedNodeId)&&(o.controlPoints=o.controlPoints.map(l=>[l[0],2*a-l[1]]))})}rightToLeft(e,t){return e.nodes.forEach(n=>n.x=t.width-n.x),e.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[t.width-i[0],i[1]])}),e}execute(e,t){return rN(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},jf.defaultOptions),this.options),t),{direction:i,nodeSize:a}=n,s=this.getRoot();if(!s)return e;const o=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(e.nodes||[]).map(S=>o(S)[1]))),n.hGap||(n.hGap=Math.max(...(e.nodes||[]).map(S=>o(S)[0])));let l=this.doLayout(s,n);this.placeAlterative(l,s),i==="RL"&&(l=this.rightToLeft(l,n));const{model:u}=this.context,h=[],p=[];return l.nodes.forEach(S=>{const{id:N,x:U,y:H}=S,V=u.getNodeLikeDatum(N);h.push(QE(V,{x:U,y:H}))}),l.edges.forEach(S=>{const{id:N,controlPoints:U}=S,H=u.getEdgeDatum(N);p.push(QE(H,{controlPoints:U}))}),{nodes:h,edges:p}})}}jf.defaultOptions={direction:"RL",getRibSep:()=>60};const QE=(r,e)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),e)}),y0=r=>r.depth===0,iu=r=>(r.depth||(r.depth=0))%2===0;var iN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Vf extends Lf{constructor(){super(...arguments),this.id="snake"}formatSize(e,t){const n=typeof t=="function"?t:()=>t;return e.reduce((i,a)=>{const[s,o]=La(n(a))||[0,0];return[Math.max(i[0],s),Math.max(i[1],o)]},[0,0])}validate(e){const{nodes:t=[],edges:n=[]}=e,i={},a={},s={};t.forEach(S=>{i[S.id]=0,a[S.id]=0,s[S.id]=[]}),n.forEach(S=>{i[S.target]++,a[S.source]++,s[S.source].push(S.target)});const o=new Set,l=S=>{o.has(S)||(o.add(S),s[S].forEach(l))};if(l(t[0].id),o.size!==t.length)return!1;const u=t.filter(S=>i[S.id]===0),h=t.filter(S=>a[S.id]===0);return!(u.length!==1||h.length!==1||t.filter(S=>i[S.id]===1&&a[S.id]===1).length!==t.length-2)}execute(e,t){return iN(this,void 0,void 0,function*(){var n;if(!this.validate(e))return e;const{nodeSize:i,padding:a,sortBy:s,cols:o,colGap:l,rowGap:u,clockwise:h,width:p,height:S}=Object.assign({},Vf.defaultOptions,this.options,t),[N,U,H,V]=cs(a),Y=this.formatSize(e.nodes||[],i),q=Math.ceil((e.nodes||[]).length/o);let ne=l||(p-V-U-o*Y[0])/(o-1),le=u||(S-N-H-q*Y[1])/(q-1);return(le===1/0||le<0)&&(le=0),(ne===1/0||ne<0)&&(ne=0),{nodes:((s?(n=e.nodes)===null||n===void 0?void 0:n.sort(s):aN(e))||[]).map((de,ve)=>{const Te=Math.floor(ve/o),Oe=ve%o,Ie=h?Te%2===0?Oe:o-1-Oe:Te%2===0?o-1-Oe:Oe,ze=V+Ie*(Y[0]+ne)+Y[0]/2,Xe=N+Te*(Y[1]+le)+Y[1]/2;return{id:de.id,style:{x:ze,y:Xe}}})}})}}Vf.defaultOptions={padding:0,cols:5,clockwise:!0};function aN(r){const{nodes:e=[],edges:t=[]}=r,n={},i={};e.forEach(o=>{n[o.id]=0,i[o.id]=[]}),t.forEach(o=>{n[o.target]++,i[o.source].push(o.target)});const a=[],s=[];for(e.forEach(o=>{n[o.id]===0&&a.push(o.id)});a.length>0;){const o=a.shift(),l=e.find(u=>u.id===o);s.push(l),i[o].forEach(u=>{n[u]--,n[u]===0&&a.push(u)})}return s}const sN=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],oN=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],lN=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],uN=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],cN=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];var hN=function(r,e,t){if(!va(r)&&!Ql(r))return r;var n=t;return b1(r,function(i,a){n=e(n,i,a)}),n},fN=hN,_0=function(r,e){return fN(r,function(t,n,i){return e.includes(i)||(t[i]=n),t},{})};class zi extends Eg{}function au(r,e=!0,t){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),e&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),t&&Object.assign(n.style,t),n}function E0(r,e="div",t={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const s=document.createElement(e);return s.innerHTML=n,s.id=r,Object.assign(s.style,t),i.appendChild(s),s}var dN=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Zf extends zi{constructor(e,t){super(e,Object.assign({},Zf.defaultOptions,t)),this.$element=au("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return dN(this,void 0,void 0,function*(){t.update.call(this,e),Object.assign(this.$element.style,_0(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}Zf.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function x0(r,e,t,n,i,a){const s=r,o=e,l=t-s,u=n-o;let h=i-s,p=a-o,S=h*l+p*u,N=0;S<=0?N=0:(h=l-h,p=u-p,S=h*l+p*u,S<=0?N=0:N=S*S/(l*l+u*u));const U=h*h+p*p-N;return U<0?0:U}function No(r,e,t,n){return(r-t)*(r-t)+(e-n)*(e-n)}function JE(r,e,t,n,i){return No(r,e,t,n)<i*i}function vN(r){if(!Number.isFinite(r))return t=>t;if(r===0)return Math.round;const e=Math.pow(10,r);return t=>Math.round(t*e)/e}function qE(r){const e=Math.min(r.x1,r.x2),t=Math.max(r.x1,r.x2),n=Math.min(r.y1,r.y2),i=Math.max(r.y1,r.y2);return{x:e,y:n,x2:t,y2:i,width:t-e,height:i-n}}class Ci{constructor(e,t,n,i){this.x1=e,this.y1=t,this.x2=n,this.y2=i}equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2}draw(e){e.moveTo(this.x1,this.y1),e.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(e){return new Ci(e.x1,e.y1,e.x2,e.y2)}cuts(e,t){if(this.y1===this.y2||t<this.y1&&t<=this.y2||t>this.y1&&t>=this.y2||e>this.x1&&e>=this.x2)return!1;if(e<this.x1&&e<=this.x2)return!0;const n=this.x1+(t-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return e<=n}distSquare(e,t){return x0(this.x1,this.y1,this.x2,this.y2,e,t)}ptClose(e,t,n){if(this.x1<this.x2){if(e<this.x1-n||e>this.x2+n)return!1}else if(e<this.x2-n||e>this.x1+n)return!1;if(this.y1<this.y2){if(t<this.y1-n||t>this.y2+n)return!1}else if(t<this.y2-n||t>this.y1+n)return!1;return!0}}var ri;(function(r){r[r.POINT=1]="POINT",r[r.PARALLEL=2]="PARALLEL",r[r.COINCIDENT=3]="COINCIDENT",r[r.NONE=4]="NONE"})(ri||(ri={}));class b0{constructor(e,t=0,n=0){this.state=e,this.x=t,this.y=n}}function Kf(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;return 0<=a&&a<=1&&0<=s&&s<=1?new b0(ri.POINT,r.x1+a*(r.x2-r.x1),r.y1+a*(r.y2-r.y1)):new b0(ri.NONE)}return new b0(t===0||n===0?ri.COINCIDENT:ri.PARALLEL)}function $E(r,e){const t=(e.x2-e.x1)*(r.y1-e.y1)-(e.y2-e.y1)*(r.x1-e.x1),n=(r.x2-r.x1)*(r.y1-e.y1)-(r.y2-r.y1)*(r.x1-e.x1),i=(e.y2-e.y1)*(r.x2-r.x1)-(e.x2-e.x1)*(r.y2-r.y1);if(i){const a=t/i,s=n/i;if(0<=a&&a<=1&&0<=s&&s<=1)return a}return Number.POSITIVE_INFINITY}function gN(r,e){function t(i,a,s,o){let l=$E(e,new Ci(i,a,s,o));return l=Math.abs(l-.5),l>=0&&l<=1?1:0}let n=t(r.x,r.y,r.x2,r.y);return n+=t(r.x,r.y,r.x,r.y2),n>1||(n+=t(r.x,r.y2,r.x2,r.y2),n>1)?!0:(n+=t(r.x2,r.y,r.x2,r.y2),n>0)}var ii;(function(r){r[r.LEFT=0]="LEFT",r[r.TOP=1]="TOP",r[r.RIGHT=2]="RIGHT",r[r.BOTTOM=3]="BOTTOM"})(ii||(ii={}));function Xf(r,e,t){const n=new Set;return r.width<=0?(n.add(ii.LEFT),n.add(ii.RIGHT)):e<r.x?n.add(ii.LEFT):e>r.x+r.width&&n.add(ii.RIGHT),r.height<=0?(n.add(ii.TOP),n.add(ii.BOTTOM)):t<r.y?n.add(ii.TOP):t>r.y+r.height&&n.add(ii.BOTTOM),n}function ex(r,e){let t=e.x1,n=e.y1;const i=e.x2,a=e.y2,s=Array.from(Xf(r,i,a));if(s.length===0)return!0;let o=Xf(r,t,n);for(;o.size!==0;){for(const l of s)if(o.has(l))return!1;if(o.has(ii.RIGHT)||o.has(ii.LEFT)){let l=r.x;o.has(ii.RIGHT)&&(l+=r.width),n=n+(l-t)*(a-n)/(i-t),t=l}else{let l=r.y;o.has(ii.BOTTOM)&&(l+=r.height),t=t+(l-n)*(i-t)/(a-n),n=l}o=Xf(r,t,n)}return!0}function pN(r,e){let t=Number.POSITIVE_INFINITY,n=0;function i(a,s,o,l){let u=$E(e,new Ci(a,s,o,l));u=Math.abs(u-.5),u>=0&&u<=1&&(n++,u<t&&(t=u))}return i(r.x,r.y,r.x2,r.y),i(r.x,r.y,r.x,r.y2),n>1||(i(r.x,r.y2,r.x2,r.y2),n>1)?t:(i(r.x2,r.y,r.x2,r.y2),n===0?-1:t)}function mN(r,e){let t=0;const n=Kf(r,new Ci(e.x,e.y,e.x2,e.y));t+=n.state===ri.POINT?1:0;const i=Kf(r,new Ci(e.x,e.y,e.x,e.y2));t+=i.state===ri.POINT?1:0;const a=Kf(r,new Ci(e.x,e.y2,e.x2,e.y2));t+=a.state===ri.POINT?1:0;const s=Kf(r,new Ci(e.x2,e.y,e.x2,e.y2));return t+=s.state===ri.POINT?1:0,{top:n,left:i,bottom:a,right:s,count:t}}class Qi{constructor(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(e){return new Qi(e.x,e.y,e.width,e.height)}equals(e){return this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height}clone(){return new Qi(this.x,this.y,this.width,this.height)}add(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x+e.width),a=Math.max(this.y2,e.y+e.height);this.x=t,this.y=n,this.width=i-t,this.height=a-n}addPoint(e){const t=Math.min(this.x,e.x),n=Math.min(this.y,e.y),i=Math.max(this.x2,e.x),a=Math.max(this.y2,e.y);this.x=t,this.y=n,this.width=i-t,this.height=a-n}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(e){e.rect(this.x,this.y,this.width,this.height)}containsPt(e,t){return e>=this.x&&e<=this.x2&&t>=this.y&&t<=this.y2}get area(){return this.width*this.height}intersects(e){return this.area<=0||e.width<=0||e.height<=0?!1:e.x+e.width>this.x&&e.y+e.height>this.y&&e.x<this.x2&&e.y<this.y2}distSquare(e,t){if(this.containsPt(e,t))return 0;const n=Xf(this,e,t);return n.has(ii.TOP)?n.has(ii.LEFT)?No(e,t,this.x,this.y):n.has(ii.RIGHT)?No(e,t,this.x2,this.y):(this.y-t)*(this.y-t):n.has(ii.BOTTOM)?n.has(ii.LEFT)?No(e,t,this.x,this.y2):n.has(ii.RIGHT)?No(e,t,this.x2,this.y2):(t-this.y2)*(t-this.y2):n.has(ii.LEFT)?(this.x-e)*(this.x-e):n.has(ii.RIGHT)?(e-this.x2)*(e-this.x2):0}}function yN(r){if(r.length===0)return null;const e=r[0],t=new Qi(e.x,e.y,0,0);for(const n of r)t.addPoint(n);return t}class Yf{constructor(e,t,n){this.cx=e,this.cy=t,this.radius=n}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(e){return new Yf(e.cx,e.cy,e.radius)}containsPt(e,t){return No(this.cx,this.cy,e,t)<this.radius*this.radius}distSquare(e,t){const n=No(this.cx,this.cy,e,t);if(n<this.radius*this.radius)return 0;const i=Math.sqrt(n)-this.radius;return i*i}draw(e){e.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class bl{constructor(e,t=0,n=0,i=0,a=0,s=10,o=10,l=new Float32Array(Math.max(0,s*o)).fill(0)){this.pixelGroup=e,this.i=t,this.j=n,this.pixelX=i,this.pixelY=a,this.width=s,this.height=o,this.area=l}createSub(e,t){return new bl(this.pixelGroup,e.x,e.y,t.x,t.y,e.width,e.height)}static fromPixelRegion(e,t){return new bl(t,0,0,e.x,e.y,Math.ceil(e.width/t),Math.ceil(e.height/t))}copy(e,t){return new bl(this.pixelGroup,this.scaleX(t.x),this.scaleY(t.y),t.x,t.y,e.width,e.height,e.area)}boundX(e){return e<this.i?this.i:e>=this.width?this.width-1:e}boundY(e){return e<this.j?this.j:e>=this.height?this.height-1:e}scaleX(e){return this.boundX(Math.floor((e-this.pixelX)/this.pixelGroup))}scaleY(e){return this.boundY(Math.floor((e-this.pixelY)/this.pixelGroup))}scale(e){const t=this.scaleX(e.x),n=this.scaleY(e.y),i=this.boundX(Math.ceil((e.x+e.width-this.pixelX)/this.pixelGroup)),a=this.boundY(Math.ceil((e.y+e.height-this.pixelY)/this.pixelGroup)),s=i-t,o=a-n;return new Qi(t,n,s,o)}invertScaleX(e){return Math.round(e*this.pixelGroup+this.pixelX)}invertScaleY(e){return Math.round(e*this.pixelGroup+this.pixelY)}addPadding(e,t){const n=Math.ceil(t/this.pixelGroup),i=this.boundX(e.x-n),a=this.boundY(e.y-n),s=this.boundX(e.x2+n),o=this.boundY(e.y2+n),l=s-i,u=o-a;return new Qi(i,a,l,u)}get(e,t){return e<0||t<0||e>=this.width||t>=this.height?Number.NaN:this.area[e+t*this.width]}inc(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]+=n)}set(e,t,n){e<0||t<0||e>=this.width||t>=this.height||(this.area[e+t*this.width]=n)}incArea(e,t){if(e.width<=0||e.height<=0||t===0)return;const n=this.width,i=e.width,a=Math.max(0,e.i),s=Math.max(0,e.j),o=Math.min(e.i+e.width,n),l=Math.min(e.j+e.height,this.height);if(!(l<=0||o<=0||a>=n||l>=this.height))for(let u=s;u<l;u++){const h=(u-e.j)*i,p=u*n;for(let S=a;S<o;S++){const N=e.area[S-e.i+h];N!==0&&(this.area[S+p]+=t*N)}}}fill(e){this.area.fill(e)}fillArea(e,t){const n=e.x+e.y*this.width;for(let i=0;i<e.height;i++){const a=n+i*this.width;this.area.fill(t,a,a+e.width)}}fillHorizontalLine(e,t,n,i){const a=e+t*this.width;this.area.fill(i,a,a+n)}fillVerticalLine(e,t,n,i){const a=e+t*this.width;for(let s=0;s<n;s++)this.area[a+s*this.width]=i}clear(){this.area.fill(0)}toString(){let e="";for(let t=0;t<this.height;t++){const n=t*this.width;for(let i=0;i<this.width;i++){const a=this.area[n+i];e+=a.toFixed(1).padStart(6),e+=" "}e+=`
`}return e}draw(e,t=!0){if(this.width<=0||this.height<=0)return;e.save(),t&&e.translate(this.pixelX,this.pixelY);const n=this.area.reduce((s,o)=>Math.min(s,o),Number.POSITIVE_INFINITY),i=this.area.reduce((s,o)=>Math.max(s,o),Number.NEGATIVE_INFINITY),a=s=>(s-n)/(i-n);e.scale(this.pixelGroup,this.pixelGroup);for(let s=0;s<this.width;s++)for(let o=0;o<this.height;o++){const l=this.area[s+o*this.width];e.fillStyle=`rgba(0, 0, 0, ${a(l)})`,e.fillRect(s,o,1,1)}e.restore()}drawThreshold(e,t,n=!0){if(!(this.width<=0||this.height<=0)){e.save(),n&&e.translate(this.pixelX,this.pixelY),e.scale(this.pixelGroup,this.pixelGroup);for(let i=0;i<this.width;i++)for(let a=0;a<this.height;a++){const s=this.area[i+a*this.width];e.fillStyle=s>t?"black":"white",e.fillRect(i,a,1,1)}e.restore()}}}function tx(r,e){const t=n=>({x:n.x-e,y:n.y-e,width:n.width+2*e,height:n.height+2*e});return Array.isArray(r)?r.map(t):t(r)}function nx(r,e,t){return rx(Object.assign(qE(r),{distSquare:(n,i)=>x0(r.x1,r.y1,r.x2,r.y2,n,i)}),e,t)}function rx(r,e,t){const n=tx(r,t),i=e.scale(n),a=e.createSub(i,n);return _N(a,e,t,(s,o)=>r.distSquare(s,o)),a}function _N(r,e,t,n){const i=t*t;for(let a=0;a<r.height;a++)for(let s=0;s<r.width;s++){const o=e.invertScaleX(r.i+s),l=e.invertScaleY(r.j+a),u=n(o,l);if(u===0){r.set(s,a,i);continue}if(u<i){const h=t-Math.sqrt(u);r.set(s,a,h*h)}}return r}function EN(r,e,t){const n=e.scale(r),i=e.addPadding(n,t),a=e.createSub(i,{x:r.x-t,y:r.y-t}),s=n.x-i.x,o=n.y-i.y,l=i.x2-n.x2,u=i.y2-n.y2,h=i.width-s-l,p=i.height-o-u,S=t*t;a.fillArea({x:s,y:o,width:h+1,height:p+1},S);const N=[0],U=Math.max(o,s,l,u);{const q=e.invertScaleX(n.x+n.width/2);for(let ne=1;ne<U;ne++){const le=e.invertScaleY(n.y-ne),ue=r.distSquare(q,le);if(ue<S){const fe=t-Math.sqrt(ue);N.push(fe*fe)}else break}}const H=[],V=Math.max(s,l),Y=Math.max(o,l);for(let q=1;q<V;q++){const ne=e.invertScaleX(n.x-q),le=[];for(let ue=1;ue<Y;ue++){const fe=e.invertScaleY(n.y-ue),de=r.distSquare(ne,fe);if(de<S){const ve=t-Math.sqrt(de);le.push(ve*ve)}else le.push(0)}H.push(le)}for(let q=1;q<Math.min(o,N.length);q++){const ne=N[q];a.fillHorizontalLine(s,o-q,h+1,ne)}for(let q=1;q<Math.min(u,N.length);q++){const ne=N[q];a.fillHorizontalLine(s,o+p+q,h+1,ne)}for(let q=1;q<Math.min(s,N.length);q++){const ne=N[q];a.fillVerticalLine(s-q,o,p+1,ne)}for(let q=1;q<Math.min(u,N.length);q++){const ne=N[q];a.fillVerticalLine(s+h+q,o,p+1,ne)}for(let q=1;q<s;q++){const ne=H[q-1],le=s-q;for(let ue=1;ue<o;ue++)a.set(le,o-ue,ne[ue-1]);for(let ue=1;ue<u;ue++)a.set(le,o+p+ue,ne[ue-1])}for(let q=1;q<l;q++){const ne=H[q-1],le=s+h+q;for(let ue=1;ue<o;ue++)a.set(le,o-ue,ne[ue-1]);for(let ue=1;ue<u;ue++)a.set(le,o+p+ue,ne[ue-1])}return a}function v9(r,e,t,n){return{x:r,y:e,width:t,height:n}}function g9(r,e,t){return{cx:r,cy:e,radius:t}}function p9(r,e,t,n){return{x1:r,y1:e,x2:t,y2:n}}function Zr(r,e){return{x:r,y:e}}function xN(r,e,t,n){if(r.length===0)return[];const i=TN(r);return i.map((a,s)=>{const o=i.slice(0,s);return bN(e,a,o,t,n)}).flat()}function bN(r,e,t,n,i){const a=Zr(e.cx,e.cy),s=AN(a,t,r);if(s==null)return[];const o=new Ci(a.x,a.y,s.cx,s.cy),l=wN(o,r,n,i);return MN(l,r)}function wN(r,e,t,n){const i=[],a=[];a.push(r);let s=!0;for(let o=0;o<t&&s;o++)for(s=!1;!s&&a.length>0;){const l=a.pop(),u=ix(e,l),h=u?mN(l,u):null;if(!u||!h||h.count!==2){s||i.push(l);continue}let p=n,S=Jf(u,p,h,!0),N=Bo(S,a)||Bo(S,i),U=Qf(S,e);for(;!N&&U&&p>=1;)p/=1.5,S=Jf(u,p,h,!0),N=Bo(S,a)||Bo(S,i),U=Qf(S,e);if(S&&!N&&!U&&(a.push(new Ci(l.x1,l.y1,S.x,S.y)),a.push(new Ci(S.x,S.y,l.x2,l.y2)),s=!0),s)continue;p=n,S=Jf(u,p,h,!1);let H=Bo(S,a)||Bo(S,i);for(U=Qf(S,e);!H&&U&&p>=1;)p/=1.5,S=Jf(u,p,h,!1),H=Bo(S,a)||Bo(S,i),U=Qf(S,e);S&&!H&&(a.push(new Ci(l.x1,l.y1,S.x,S.y)),a.push(new Ci(S.x,S.y,l.x2,l.y2)),s=!0),s||i.push(l)}for(;a.length>0;)i.push(a.pop());return i}function MN(r,e){const t=[];for(;r.length>0;){const n=r.pop();if(r.length===0){t.push(n);break}const i=r.pop(),a=new Ci(n.x1,n.y1,i.x2,i.y2);ix(e,a)?(t.push(n),r.push(i)):r.push(a)}return t}function AN(r,e,t){let n=Number.POSITIVE_INFINITY;return e.reduce((i,a)=>{const s=No(r.x,r.y,a.cx,a.cy);if(s>n)return i;const o=new Ci(r.x,r.y,a.cx,a.cy),l=PN(t,o);return s*(l+1)*(l+1)<n&&(i=a,n=s*(l+1)*(l+1)),i},null)}function TN(r){if(r.length<2)return r;let e=0,t=0;return r.forEach(n=>{e+=n.cx,t+=n.cy}),e/=r.length,t/=r.length,r.map(n=>{const i=e-n.cx,a=t-n.cy,s=i*i+a*a;return[n,s]}).sort((n,i)=>n[1]-i[1]).map(n=>n[0])}function Qf(r,e){return e.some(t=>t.containsPt(r.x,r.y))}function Bo(r,e){return e.some(t=>!!(JE(t.x1,t.y1,r.x,r.y,.001)||JE(t.x2,t.y2,r.x,r.y,.001)))}function ix(r,e){let t=Number.POSITIVE_INFINITY,n=null;for(const i of r){if(!ex(i,e))continue;const a=pN(i,e);a>=0&&a<t&&(n=i,t=a)}return n}function PN(r,e){return r.reduce((t,n)=>ex(n,e)&&gN(n,e)?t+1:t,0)}function Jf(r,e,t,n){const i=t.top,a=t.left,s=t.bottom,o=t.right;if(n){if(a.state===ri.POINT){if(i.state===ri.POINT)return Zr(r.x-e,r.y-e);if(s.state===ri.POINT)return Zr(r.x-e,r.y2+e);const S=r.width*r.height;return r.width*((a.y-r.y+(o.y-r.y))*.5)<S*.5?a.y>o.y?Zr(r.x-e,r.y-e):Zr(r.x2+e,r.y-e):a.y<o.y?Zr(r.x-e,r.y2+e):Zr(r.x2+e,r.y2+e)}if(o.state===ri.POINT){if(i.state===ri.POINT)return Zr(r.x2+e,r.y-e);if(s.state===ri.POINT)return Zr(r.x2+e,r.y2+e)}const h=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<h*.5?i.x>s.x?Zr(r.x-e,r.y-e):Zr(r.x-e,r.y2+e):i.x<s.x?Zr(r.x2+e,r.y-e):Zr(r.x2+e,r.y2+e)}if(a.state===ri.POINT){if(i.state===ri.POINT)return Zr(r.x2+e,r.y2+e);if(s.state===ri.POINT)return Zr(r.x2+e,r.y-e);const h=r.height*r.width;return r.width*((a.y-r.y+(o.y-r.y))*.5)<h*.5?a.y>o.y?Zr(r.x2+e,r.y2+e):Zr(r.x-e,r.y2+e):a.y<o.y?Zr(r.x2+e,r.y-e):Zr(r.x-e,r.y-e)}if(o.state===ri.POINT){if(i.state===ri.POINT)return Zr(r.x-e,r.y2+e);if(s.state===ri.POINT)return Zr(r.x-e,r.y-e)}const l=r.height*r.width;return r.height*((i.x-r.x+(o.x-r.x))*.5)<l*.5?i.x>s.x?Zr(r.x2+e,r.y2+e):Zr(r.x2+e,r.y-e):i.x<s.x?Zr(r.x-e,r.y2+e):Zr(r.x-e,r.y-e)}function SN(r,e,t,n){if(!(r.closed?t<r.length:t<r.length-1))return!1;const a=r.get(e),s=r.get(t+1);for(let o=e+1;o<=t;o++){const l=r.get(o);if(x0(a.x,a.y,s.x,s.y,l.x,l.y)>n)return!1}return!0}function ON(r=0){return e=>{if(r<0||e.length<3)return e;const t=[];let n=0;const i=r*r;for(;n<e.length;){let a=n+1;for(;SN(e,n,a,i);)a++;t.push(e.get(n)),n=a}return new wl(t)}}function DN(r,e){switch(r){case-2:return(((-e+3)*e-3)*e+1)/6;case-1:return((3*e-6)*e*e+4)/6;case 0:return(((-3*e+3)*e+3)*e+1)/6;case 1:return e*e*e/6;default:throw new Error("unknown error")}}function CN(r=6){function a(s,o,l){let u=0,h=0;for(let p=-2;p<=1;p++){const S=s.get(o+p),N=DN(p,l);u+=N*S.x,h+=N*S.y}return{x:u,y:h}}return s=>{if(s.length<3)return s;const o=[],l=s.closed,u=s.length+3-1+(l?0:2);o.push(a(s,2-(l?0:2),0));for(let h=2-(l?0:2);h<u;h++)for(let p=1;p<=r;p++)o.push(a(s,h,p/r));return new wl(o)}}function LN(r=8){return e=>{let t=r,n=e.length;if(t>1)for(n=Math.floor(e.length/t);n<3&&t>1;)t-=1,n=Math.floor(e.length/t);const i=[];for(let a=0,s=0;s<n;s++,a+=t)i.push(e.get(a));return new wl(i)}}class wl{constructor(e=[],t=!0){this.points=e,this.closed=t}get(e){const t=e,n=this.points.length;return e<0?this.closed?this.get(e+n):this.points[0]:e>=n?this.closed?this.get(e-n):this.points[n-1]:this.points[t]}get length(){return this.points.length}toString(e=1/0){const t=this.points;if(t.length===0)return"";const n=typeof e=="function"?e:vN(e);let i="M";for(const a of t)i+=`${n(a.x)},${n(a.y)} L`;return i=i.slice(0,-1),this.closed&&(i+=" Z"),i}draw(e){const t=this.points;if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(const n of t)e.lineTo(n.x,n.y);this.closed&&e.closePath()}}sample(e){return LN(e)(this)}simplify(e){return ON(e)(this)}bSplines(e){return CN(e)(this)}apply(e){return e(this)}containsElements(e){const t=yN(this.points);return t?e.every(n=>t.containsPt(n.cx,n.cy)&&this.withinArea(n.cx,n.cy)):!1}withinArea(e,t){if(this.length===0)return!1;let n=0;const i=this.points[0],a=new Ci(i.x,i.y,i.x,i.y);for(let s=1;s<this.points.length;s++){const o=this.points[s];a.x1=a.x2,a.y1=a.y2,a.x2=o.x,a.y2=o.y,a.cuts(e,t)&&n++}return a.x1=a.x2,a.y1=a.y2,a.x2=i.x,a.y2=i.y,a.cuts(e,t)&&n++,n%2===1}}class RN{constructor(e=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=e}add(e){this.set.add(`${e.x}x${e.y}`),this.arr[this.count++]=e}contains(e){return this.set.has(`${e.x}x${e.y}`)}isFirst(e){if(this.count===0)return!1;const t=this.arr[0];return t!=null&&t.x===e.x&&t.y===e.y}path(){return new wl(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(e){return this.arr[e]}get length(){return this.count}}const dc=0,qf=1,$f=2,w0=3;function IN(r,e){const t=(Math.floor(r.width)+Math.floor(r.height))*2,n=new RN(t);function i(l,u,h,p){const S=r.get(l,u);return Number.isNaN(S)?Number.NaN:S>e?h+p:h}function a(l,u){let h=dc;return h=i(l,u,h,1),h=i(l+1,u,h,2),h=i(l,u+1,h,4),h=i(l+1,u+1,h,8),Number.isNaN(h)?-1:h}let s=qf;function o(l,u){let h=l,p=u,S=r.invertScaleX(h),N=r.invertScaleY(p);for(let U=0;U<r.width*r.height;U++){const H={x:S,y:N};if(n.contains(H)){if(n.isFirst(H))return!0}else n.add(H);const V=a(h,p);switch(V){case-1:return!0;case 0:case 3:case 2:case 7:s=$f;break;case 12:case 14:case 4:s=w0;break;case 6:s=s===dc?w0:$f;break;case 1:case 13:case 5:s=dc;break;case 9:s=s===$f?dc:qf;break;case 10:case 8:case 11:s=qf;break;default:return console.warn("Marching squares invalid state: "+V),!0}switch(s){case dc:p--,N-=r.pixelGroup;break;case qf:p++,N+=r.pixelGroup;break;case w0:h--,S-=r.pixelGroup;break;case $f:h++,S+=r.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+V),!0}}return!0}for(let l=0;l<r.width;l++)for(let u=0;u<r.height;u++){if(r.get(l,u)<=e)continue;const h=a(l,u);if(!(h<0||h===15)&&o(l,u))return n.path()}return null}const ed={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function vc(r){return r!=null&&typeof r.radius=="number"}function ax(r,e){if(vc(r)!==vc(e))return!1;if(vc(r)){const n=e;return r.cx===n.cx&&r.cy===n.cy&&r.radius===n.radius}const t=e;return r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height}var ms;(function(r){r[r.MEMBERS=0]="MEMBERS",r[r.NON_MEMBERS=1]="NON_MEMBERS",r[r.EDGES=2]="EDGES"})(ms||(ms={}));class M0{constructor(e={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new Qi(0,0,0,0),this.potentialArea=new bl(1,0,0,0,0,0,0),this.o=Object.assign({},ed,e)}pushMember(...e){if(e.length!==0){this.dirty.add(ms.MEMBERS);for(const t of e)this.members.push({raw:t,obj:vc(t)?Yf.from(t):Qi.from(t),area:null})}}removeMember(e){const t=this.members.findIndex(n=>ax(n.raw,e));return t<0?!1:(this.members.splice(t,1),this.dirty.add(ms.MEMBERS),!0)}removeNonMember(e){const t=this.nonMembers.findIndex(n=>ax(n.raw,e));return t<0?!1:(this.nonMembers.splice(t,1),this.dirty.add(ms.NON_MEMBERS),!0)}removeEdge(e){const t=this.edges.findIndex(n=>n.obj.equals(e));return t<0?!1:(this.edges.splice(t,1),this.dirty.add(ms.NON_MEMBERS),!0)}pushNonMember(...e){if(e.length!==0){this.dirty.add(ms.NON_MEMBERS);for(const t of e)this.nonMembers.push({raw:t,obj:vc(t)?Yf.from(t):Qi.from(t),area:null})}}pushEdge(...e){if(e.length!==0){this.dirty.add(ms.EDGES);for(const t of e)this.edges.push({raw:t,obj:Ci.from(t),area:null})}}update(){const e=this.dirty.has(ms.MEMBERS),t=this.dirty.has(ms.NON_MEMBERS);let n=this.dirty.has(ms.EDGES);this.dirty.clear();const i=this.members.map(u=>u.obj);if(this.o.virtualEdges&&(e||t)){const u=this.nonMembers.map(S=>S.obj),h=xN(i,u,this.o.maxRoutingIterations,this.o.morphBuffer),p=new Map(this.virtualEdges.map(S=>[S.obj.toString(),S.area]));this.virtualEdges=h.map(S=>{var N;return{raw:S,obj:S,area:(N=p.get(S.toString()))!==null&&N!==void 0?N:null}}),n=!0}let a=!1;if(e||n){const u=this.virtualEdges.concat(this.edges).map(N=>N.obj),h=BN(i,u),p=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,S=Qi.from(tx(h,p));S.equals(this.activeRegion)||(a=!0,this.activeRegion=S)}if(a){const u=Math.ceil(this.activeRegion.width/this.o.pixelGroup),h=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=bl.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(p=>p.area=null),this.nonMembers.forEach(p=>p.area=null),this.edges.forEach(p=>p.area=null),this.virtualEdges.forEach(p=>p.area=null)):(u!==this.potentialArea.width||h!==this.potentialArea.height)&&(this.potentialArea=bl.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const s=new Map,o=u=>{if(u.area){const h=`${u.obj.width}x${u.obj.height}x${u.obj instanceof Qi?"R":"C"}`;s.set(h,u.area)}},l=u=>{if(u.area)return;const h=`${u.obj.width}x${u.obj.height}x${u.obj instanceof Qi?"R":"C"}`;if(s.has(h)){const S=s.get(h);u.area=this.potentialArea.copy(S,{x:u.obj.x-this.o.nodeR1,y:u.obj.y-this.o.nodeR1});return}const p=u.obj instanceof Qi?EN(u.obj,this.potentialArea,this.o.nodeR1):rx(u.obj,this.potentialArea,this.o.nodeR1);u.area=p,s.set(h,p)};this.members.forEach(o),this.nonMembers.forEach(o),this.members.forEach(l),this.nonMembers.forEach(u=>{this.activeRegion.intersects(u.obj)?l(u):u.area=null}),this.edges.forEach(u=>{u.area||(u.area=nx(u.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(u=>{u.area||(u.area=nx(u.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(e){for(const t of this.members)t.obj.draw(e)}drawNonMembers(e){for(const t of this.nonMembers)t.obj.draw(e)}drawEdges(e){for(const t of this.edges)t.obj.draw(e)}drawPotentialArea(e,t=!0){this.potentialArea.draw(e,t)}compute(){if(this.members.length===0)return new wl([]);this.dirty.size>0&&this.update();const{o:e,potentialArea:t}=this,n=this.members.map(o=>o.area),i=this.virtualEdges.concat(this.edges).map(o=>o.area),a=this.nonMembers.filter(o=>o.area!=null).map(o=>o.area),s=this.members.map(o=>o.obj);return NN(t,n,i,a,o=>o.containsElements(s),e)}}function NN(r,e,t,n,i,a={}){const s=Object.assign({},ed,a);let o=s.threshold,l=s.memberInfluenceFactor,u=s.edgeInfluenceFactor,h=s.nonMemberInfluenceFactor;const p=(s.nodeR0-s.nodeR1)*(s.nodeR0-s.nodeR1),S=(s.edgeR0-s.edgeR1)*(s.edgeR0-s.edgeR1);for(let N=0;N<s.maxMarchingIterations;N++){if(r.clear(),l!==0){const H=l/p;for(const V of e)r.incArea(V,H)}if(u!==0){const H=u/S;for(const V of t)r.incArea(V,H)}if(h!==0){const H=h/p;for(const V of n)r.incArea(V,H)}const U=IN(r,o);if(U&&i(U))return U;if(o*=.95,N<=s.maxMarchingIterations*.5)l*=1.2,u*=1.2;else if(h!==0&&n.length>0)h*=.8;else break}return new wl([])}function BN(r,e){if(r.length===0)return new Qi(0,0,0,0);const t=Qi.from(r[0]);for(const n of r)t.add(n);for(const n of e)t.add(qE(n));return t}function m9(r,e=[],t=[],n={}){if(r.length===0)return new wl([]);const i=new M0(n);return i.pushMember(...r),i.pushNonMember(...e),i.pushEdge(...t),i.compute()}var kN=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class td extends zi{constructor(e,t){super(e,sa({},td.defaultOptions,t)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:n,bubbleSetOptions:i}=this.parseOptions();ci(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new ic({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=Et(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,s=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&ci(a,s)&&ci(o,l))return this.path;const{enter:u=[],exit:h=[]}=Ao(s,a,V=>V),{enter:p=[],exit:S=[]}=Ao(l,o,V=>V);n&&(h.push(n),u.push(n));const N=(V,Y,q)=>{V.forEach(ne=>{const le=q?this.members:this.avoidMembers,ue=q?"pushMember":"pushNonMember",fe=q?"removeMember":"removeNonMember";if(Y){let de;i.getElementType(ne)==="edge"?([de]=zN(i,ne),this.bubbleSets.pushEdge(de)):([de]=FN(i,ne),this.bubbleSets[ue](de)),le.set(ne,de)}else{const de=le.get(ne);de&&(i.getElementType(ne)==="edge"?this.bubbleSets.removeEdge(de):this.bubbleSets[fe](de),le.delete(ne))}})};N(h,!1,!0),N(u,!0,!0),N(S,!1,!1),N(p,!0,!1);const H=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=l1(H.points.map(Fi)),this.path},this.bindEvents(),this.bubbleSets=new M0(this.options)}bindEvents(){this.context.graph.on(Qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(Qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new M0(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const e=this.options,{type:t,key:n,members:i,avoidMembers:a}=e,s=kN(e,["type","key","members","avoidMembers"]),o=Object.keys(s).reduce((l,u)=>(u in ed?l.bubbleSetOptions[u]=s[u]:l.style[u]=s[u],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:t,key:n,members:i,avoidMembers:a},o)}addMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n))),this.options.members=[...new Set([...this.options.members,...t])],this.drawBubbleSets()}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),this.drawBubbleSets()}updateMember(e){this.options.members=yn(e)?e(this.options.members):e,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!t.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...t])],this.drawBubbleSets()}removeAvoidMember(e){const t=Array.isArray(e)?e:[e];this.options.avoidMembers.some(n=>t.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n)),this.drawBubbleSets())}updateAvoidMember(e){this.options.avoidMembers=Array.isArray(e)?e:[e],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(Qt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(Qt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}td.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},ed);const FN=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getElementRenderBounds(n);return new Qi(i.min[0],i.min[1],Ns(i),Bs(i))}),zN=(r,e)=>(Array.isArray(e)?e:[e]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),s=r.getElementPosition(i.target);return Ci.from({x1:a[0],y1:a[1],x2:s[0],y2:s[1]})});class y9 extends null{constructor(e,t){super(e,t),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},a=(s,o)=>{switch(s){case"projectionMode":return o==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[o];case"aspect":return typeof o=="number"?o:this.getCanvasAspect();default:return o}};Object.entries(i).forEach(([s,o])=>{const l=n[s];if(l!==void 0){const u=a(s,l);this.context.canvas.getCamera()[o](u)}})},this.bindEvents()}update(e){this.setOptions(e),super.update(e)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[e,t]=this.context.viewport.getCanvasSize();return e/t}}function UN(r){return`
<ul class="g6-contextmenu-ul">
${r.map(e=>`<li class="g6-contextmenu-li" value="${e.value}">${e.name}</li>`).join("")}
</ul>
`}const WN=`
.g6-contextmenu {
font-size: 12px;
background-color: rgba(255, 255, 255, 0.96);
border-radius: 4px;
overflow: hidden;
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.g6-contextmenu-ul {
max-width: 256px;
min-width: 96px;
list-style: none;
padding: 0;
margin: 0;
}
.g6-contextmenu-li {
padding: 8px 12px;
cursor: pointer;
user-select: none;
}
.g6-contextmenu-li:hover {
background-color: #f5f5f5;
cursor: pointer;
}
`;var sx=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class nd extends zi{constructor(e,t){super(e,Object.assign({},nd.defaultOptions,t)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const s=n.target.getAttribute("value");i==null||i(s,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(t)}initElement(){this.$element=au("contextmenu",!1,{zIndex:"99"});const{className:e}=this.options;e&&this.$element.classList.add(e),this.context.canvas.getContainer().appendChild(this.$element),E0("g6-contextmenu-css","style",{},WN,document.head)}show(e){return sx(this,void 0,void 0,function*(){const{enable:t,offset:n}=this.options;if(typeof t=="function"&&!t(e)||!t){this.hide();return}const i=yield this.getDOMContent(e);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${e.client.x-a.left+n[0]}px`,this.$element.style.top=`${e.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=e.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(e){return sx(this,void 0,void 0,function*(){const{getContent:t,getItems:n}=this.options;return n?UN(yield n(e)):yield t(e)})}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`canvas:${t}`,this.onTriggerEvent),e.on(`node:${t}`,this.onTriggerEvent),e.on(`edge:${t}`,this.onTriggerEvent),e.on(`combo:${t}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`canvas:${t}`,this.onTriggerEvent),e.off(`node:${t}`,this.onTriggerEvent),e.off(`edge:${t}`,this.onTriggerEvent),e.off(`combo:${t}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}nd.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class rd extends zi{constructor(e,t){super(e,Object.assign({},rd.defaultOptions,t)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:s,iterRate:o,divRate:l}=this.options;let{lambda:u,divisions:h,iterations:p}=this.options;for(let S=0;S<s;S++){for(let N=0;N<p;N++){const U={};a.forEach(H=>{var V;if(H.source===H.target)return;const Y=Et(H);U[Y]=this.getEdgeForces(H,h,u);for(let q=0;q<h+1;q++)(V=this.edgePoints)[Y]||(V[Y]=[]),this.edgePoints[Y][q]=Un(this.edgePoints[Y][q],U[Y][q])})}u/=2,h*=l,p*=o,this.divideEdges(h)}a.forEach(S=>{const N=Et(S),U=i.getElement(N);U==null||U.update({d:Gg(this.edgePoints[N])})})},this.bindEvents()}get nodeMap(){const e=this.context.model.getNodeData();return Object.fromEntries(e.map(t=>[Et(t),fl(Ti(t))]))}divideEdges(e){this.context.model.getEdgeData().forEach(n=>{var i;const a=Et(n);(i=this.edgePoints)[a]||(i[a]=[]);const s=this.nodeMap[n.source],o=this.nodeMap[n.target];if(e===1)this.edgePoints[a].push(s),this.edgePoints[a].push(vs(Un(s,o),2)),this.edgePoints[a].push(o);else{const u=(this.edgePoints[a].length===0?Wr(s,o):ZN(this.edgePoints[a]))/(e+1);let h=u;const p=[s];for(let S=1;S<this.edgePoints[a].length;S++){const N=this.edgePoints[a][S-1],U=this.edgePoints[a][S];let H=Wr(U,N);for(;H>h;){const V=h/H,Y=Un(N,ds(Or(U,N),V));p.push(Y),H-=h,h=u}h-=H}p.push(o),this.edgePoints[a]=p}})}getVectorPosition(e){const t=this.nodeMap[e.source],n=this.nodeMap[e.target],[i,a]=Or(n,t),s=Wr(t,n);return{source:t,target:n,vx:i,vy:a,length:s}}measureEdgeCompatibility(e,t){const n=this.getVectorPosition(e),i=this.getVectorPosition(t),a=HN(n,i),s=GN(n,i),o=jN(n,i),l=VN(n,i);return a*s*o*l}getEdgeBundles(){const e={},t=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((s,o)=>{var l,u;if(o<=a)return;this.measureEdgeCompatibility(i,s)>=t&&(e[l=Et(i)]||(e[l]=[]),e[Et(i)].push(s),e[u=Et(s)]||(e[u]=[]),e[Et(s)].push(i))})}),e}getSpringForce(e,t){const{pre:n,cur:i,next:a}=e;return ds(Or(Un(n,a),ds(i,2)),t)}getElectrostaticForce(e,t){Fs(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[Et(t)];let i=[0,0];return n==null||n.forEach(a=>{const s=this.edgePoints[Et(a)][e],o=this.edgePoints[Et(t)][e],l=Or(s,o),u=Wr(s,o);i=Un(i,ds(l,1/u))}),i}getEdgeForces(e,t,n){const i=this.nodeMap[e.source],a=this.nodeMap[e.target],s=this.options.K/(Wr(i,a)*(t+1)),o=[[0,0]],l=Et(e);for(let u=1;u<t;u++){const h=this.getSpringForce({pre:this.edgePoints[l][u-1],cur:this.edgePoints[l][u],next:this.edgePoints[l][u+1]||[0,0]},s),p=this.getElectrostaticForce(u,e);o.push(ds(Un(h,p),n))}return o.push([0,0]),o}bindEvents(){const{graph:e}=this.context;e.on(Qt.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:e}=this.context;e.off(Qt.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}rd.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const HN=(r,e)=>Math.abs(cD([r.vx,r.vy],[e.vx,e.vy])/(r.length*e.length)),GN=(r,e)=>{const t=(r.length+e.length)/2;return 2/(t/Math.min(r.length,e.length)+Math.max(r.length,e.length)/t)},jN=(r,e)=>{const t=(r.length+e.length)/2,n=vs(Un(r.source,r.target),2),i=vs(Un(e.source,e.target),2);return t/(t+Wr(n,i))},ox=(r,e)=>{if(e.source[0]===e.target[0])return[e.source[0],r[1]];if(e.source[1]===e.target[1])return[r[0],e.source[1]];const t=(e.source[1]-e.target[1])/(e.source[0]-e.target[0]),n=(t*t*e.source[0]+t*(r[1]-e.source[1])+r[0])/(t*t+1),i=t*(n-e.source[0])+e.source[1];return[n,i]},lx=(r,e)=>{const t=ox(e.source,r),n=ox(e.target,r),i=vs(Un(t,n),2),a=vs(Un(r.source,r.target),2);return Wr(t,n)===0?0:Math.max(0,1-2*Wr(a,i)/Wr(t,n))},VN=(r,e)=>Math.min(lx(r,e),lx(e,r)),ZN=r=>{let e=0;for(let t=1;t<r.length;t++)e+=Wr(r[t],r[t-1]);return e},KN={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},ux=.05;class id extends zi{constructor(e,t){super(e,Object.assign({},id.defaultOptions,t)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Fi(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},KN,this.options.style);this.isLensOn||(this.lens=new gl({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,gs(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:s,edges:o,combos:l}=a;return{nodes:s.filter(u=>n(Et(u),"node")),edges:o.filter(u=>n(Et(u),"edge")),combos:l.filter(u=>n(Et(u),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),s=i.filter(u=>Wr(Ti(u),n)<this.r),o=s.map(u=>Et(u)),l=a.filter(u=>{const{source:h,target:p}=u,S=o.includes(h),N=o.includes(p);switch(this.options.nodeType){case"both":return S&&N;case"either":return S!==N;case"source":return S&&!N;case"target":return!S&&N;default:return!1}});return{nodes:s,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:s,edges:o}=this.getFocusElements(a),l=new Set,u=h=>{const p=Et(h);l.add(p);const S=n.getElement(p);if(!S)return;const N=this.shapes.get(p)||S.cloneNode();N.setPosition(S.getPosition()),N.id=S.id,this.shapes.has(p)?Object.entries(S.attributes).forEach(([V,Y])=>{N.style[V]!==Y&&(N.style[V]=Y)}):(this.canvas.appendChild(N),this.shapes.set(p,N));const U=i.getElementType(p),H=this.getElementStyle(U,h);N.update(H)};s.forEach(u),o.forEach(u),this.shapes.forEach((h,p)=>{l.has(p)||(h.destroy(),this.shapes.delete(p))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:s,deltaX:o,deltaY:l}=n,{graph:u,canvas:h}=this.context,p=u.getCanvasByClient([a,s]),S=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||Wr(p,S)>this.r)return;const{maxR:N,minR:U}=this.options,H=o+l>0?1/(1-ux):1-ux,V=Math.min(...h.getSize())/2;this.r=Math.max(U||0,Math.min(N||V,this.r*H)),this.renderLens(S),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=Fi(n.canvas),s=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||Wr(a,s)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Fi(n.canvas);this.renderLens(i),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(e,t){const n=e==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(t):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(Lt.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(Lt.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(Lt.DRAG_START,this.onDragStart),a.addEventListener(Lt.DRAG,this.onDrag),a.addEventListener(Lt.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.addEventListener(Lt.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i}=this.options,a=t.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(Lt.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(Lt.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(Lt.DRAG_START,this.onDragStart),a.removeEventListener(Lt.DRAG,this.onDrag),a.removeEventListener(Lt.DRAG_END,this.onDragEnd)),i==="wheel"&&((e=this.graphDom)===null||e===void 0||e.removeEventListener(Lt.WHEEL,this.scaleRByWheel))}update(e){var t;this.unbindEvents(),super.update(e),this.r=(t=e.r)!==null&&t!==void 0?t:this.r,this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((e,t)=>{e.destroy(),this.shapes.delete(t)}),super.destroy()}}id.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const XN={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},cx=.05,hx=.1;class ad extends zi{constructor(e,t){super(e,Object.assign({},ad.defaultOptions,t)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Fi(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},XN,this.options.style);this.isLensOn||(this.lens=new gl({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,gs(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,s=new Map,o=new Map;n.getNodeData().forEach(u=>{const h=Ti(u),p=Wr(h,i);if(p>this.r)return;const S=a*p/(this.d*p+this.r),[N,U]=h,[H,V]=i,Y=(N-H)/p,q=(U-V)/p,ne=[H+S*Y,V+S*q],le=Et(u),ue=this.getNodeStyle(u),fe=ml(n.getElementRenderStyle(le),Object.keys(ue));s.set(le,Object.assign(Object.assign({},gs(ne)),ue)),o.set(le,Object.assign(Object.assign({},gs(h)),fe))}),this.updateStyle(s,o)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:s}=this.context,{enter:o,exit:l,keep:u}=Ao(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),S=>S),h=new Set,p=(S,N)=>{const U=s.getElement(S);U==null||U.update(N),a.getRelatedEdgesData(S).forEach(H=>{h.add(Et(H))})};[...o,...u].forEach(S=>{p(S,n.get(S))}),l.forEach(S=>{p(S,this.prevOriginStyleMap.get(S)),this.prevOriginStyleMap.delete(S)}),h.forEach(S=>{const N=s.getElement(S);N==null||N.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((S,N)=>{this.prevOriginStyleMap.has(N)||this.prevOriginStyleMap.set(N,S)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,s=this.context.graph.getCanvasByClient([i,a]),o=this.lens.getCenter();return!(Wr(s,o)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,s=n?1/(1-cx):1-cx,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||o,this.r*s))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,s=n?this.d+hx:this.d-hx;this.d=Math.max(a,Math.min(i,s))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=Fi(n.canvas),a=this.lens.getCenter();return!(Wr(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Fi(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const s=this.lens.getCenter();this.onMagnify(s)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.addEventListener(Lt.CLICK,this.onCreateFisheye),n==="pointermove"&&s.addEventListener(Lt.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.addEventListener(Lt.DRAG_START,this.onDragStart),s.addEventListener(Lt.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.addEventListener(Lt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.addEventListener(Lt.WHEEL,o,{passive:!1})}}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,s=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&s.removeEventListener(Lt.CLICK,this.onCreateFisheye),n==="pointermove"&&s.removeEventListener(Lt.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){s.removeEventListener(Lt.DRAG_START,this.onDragStart),s.removeEventListener(Lt.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;s.removeEventListener(Lt.DRAG,o)}if(i==="wheel"||a==="wheel"){const o=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.removeEventListener(Lt.WHEEL,o)}}update(e){var t,n;this.unbindEvents(),super.update(e),this.r=(t=e.r)!==null&&t!==void 0?t:this.r,this.d=(n=e.d)!==null&&n!==void 0?n:this.d,this.bindEvents()}destroy(){var e;this.unbindEvents(),this.isLensOn&&((e=this.lens)===null||e===void 0||e.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}ad.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class sd extends zi{constructor(e,t){super(e,Object.assign({},sd.defaultOptions,t)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,s;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(s=(a=this.options).onExit)===null||s===void 0||s.call(a)},this.shortcut=new Jl(e.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
:not(:root):fullscreen::backdrop {
background: transparent;
}
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:e=[],exit:t=[]}=this.options.trigger;this.shortcut.bind(e,this.request),this.shortcut.bind(t,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(t=>{document.removeEventListener(t,this.onFullscreenChange,!1)})}setGraphSize(e=!0){var t,n;let i,a;e?(i=((t=globalThis.screen)===null||t===void 0?void 0:t.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!YN()||this.$el.requestFullscreen().catch(e=>{Ea.warn(`Error attempting to enable full-screen: ${e.message} (${e.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}sd.defaultOptions={trigger:{},autoFit:!0};function YN(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class od extends zi{constructor(e,t){super(e,Object.assign({},od.defaultOptions,t)),this.$element=au("grid-line",!0),this.offset=[0,0],this.currentScale=1,this.followZoom=i=>{const{data:{scale:a,origin:s}}=i;if(!a)return;const o=this.currentScale;this.currentScale=a;const l=a/o,u=ds(s||this.context.graph.getCanvasCenter(),1-l),h=this.baseSize*a,p=ds(this.offset,l),S=bg(p,h),N=Un(S,u);this.$element.style.backgroundSize=`${h}px ${h}px`,this.$element.style.backgroundPosition=`${N[0]}px ${N[1]}px`,this.offset=bg(N,h)},this.followTranslate=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.onTransform=i=>{const a=this.parseFollow(this.options.follow);a.zoom&&this.followZoom(i),a.translate&&this.followTranslate(i)},this.context.canvas.getContainer().prepend(this.$element),this.baseSize=this.options.size,this.updateStyle(),this.bindEvents()}update(e){super.update(e),e.size!==void 0&&(this.baseSize=e.size),this.updateStyle()}bindEvents(){const{graph:e}=this.context;e.on(Qt.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{stroke:e,lineWidth:t,border:n,borderLineWidth:i,borderStroke:a,borderStyle:s}=this.options,o=this.baseSize*this.currentScale;Object.assign(this.$element.style,{border:n?`${i}px ${s} ${a}`:"none",backgroundImage:`linear-gradient(${e} ${t}px, transparent ${t}px), linear-gradient(90deg, ${e} ${t}px, transparent ${t}px)`,backgroundSize:`${o}px ${o}px`,backgroundRepeat:"repeat"})}updateOffset(e){const t=this.baseSize*this.currentScale;this.offset=bg(Un(this.offset,e),t),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}parseFollow(e){var t,n;return Su(e)?{translate:e,zoom:e}:{translate:(t=e==null?void 0:e.translate)!==null&&t!==void 0?t:!1,zoom:(n=e==null?void 0:e.zoom)!==null&&n!==void 0?n:!1}}destroy(){this.context.graph.off(Qt.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}od.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function A0(r){const e={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(t=>{const{type:n,value:i}=t,a=Et(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")e.Added.set(a,t);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(e.Added.has(a))e.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(e.Updated.has(a)){const{original:s}=e.Updated.get(a);e.Updated.set(a,{type:n,value:i,original:s})}else e.Removed.has(a)||e.Updated.set(a,t);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(e.Added.has(a)?e.Added.delete(a):(e.Updated.has(a)&&e.Updated.delete(a),e.Removed.set(a,t)))}),[...Array.from(e.Added.values()),...Array.from(e.Updated.values()),...Array.from(e.Removed.values())]}function fx(r){const{NodeAdded:e=[],NodeUpdated:t=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:s=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:u=[]}=Ch(r,h=>h.type);return{add:{nodes:e,edges:i,combos:o},update:{nodes:t,edges:a,combos:l},remove:{nodes:n,edges:s,combos:u}}}function dx(r,e){for(const t in r)li(r[t])&&!Array.isArray(r[t])&&r[t]!==null?(e[t]||(e[t]={}),dx(r[t],e[t])):e[t]===void 0&&(e[t]=Ku(t))}function QN(r,e=!1,t){const n={animation:e,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:s}=fx(A0(r));return["nodes","edges","combos"].forEach(o=>{a[o]&&a[o].forEach(l=>{var u,h;const p=Object.assign({},l.value);let S=Object.assign({},l.original);if(t){const N=t.graph.getElementType(Et(l.original)),U=N==="edge"?"stroke":"fill",H=t.element.getElementComputedStyle(N,l.original);S=Object.assign(Object.assign({},l.original),{style:Object.assign({[U]:H[U]},l.original.style)})}dx(p,S),(u=n.current.update)[o]||(u[o]=[]),n.current.update[o].push(p),(h=n.original.update)[o]||(h[o]=[]),n.original.update[o].push(S)}),i[o]&&i[o].forEach(l=>{var u,h;const p=Object.assign({},l.value);(u=n.current.add)[o]||(u[o]=[]),n.current.add[o].push(p),(h=n.original.remove)[o]||(h[o]=[]),n.original.remove[o].push(p)}),s[o]&&s[o].forEach(l=>{var u,h;const p=Object.assign({},l.value);(u=n.current.remove)[o]||(u[o]=[]),n.current.remove[o].push(p),(h=n.original.add)[o]||(h[o]=[]),n.original.add[o].push(p)})}),n}class ld extends zi{constructor(e,t){super(e,Object.assign({},ld.defaultOptions,t)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var s,o,l;this.freezed=!0,(o=(s=this.options).executeCommand)===null||o===void 0||o.call(s,i);const u=a?i.original:i.current;this.context.graph.addData(u.add),this.context.graph.updateData(u.update),this.context.graph.removeData(N_(u.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===Qt.AFTER_DRAW){const{dataChanges:s=[],animation:o=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(s),this.batchAnimation&&(this.batchAnimation=o);return}this.batchChanges=[s],this.batchAnimation=o}this.undoStackPush(QN(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(xo.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new Df;const{graph:n}=this.context;n.on(Qt.AFTER_DRAW,this.addCommand),n.on(Qt.BATCH_START,this.initBatchCommand),n.on(Qt.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var e,t,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((t=(e=this.options).beforeAddCommand)===null||t===void 0?void 0:t.call(e,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(xo.UNDO,a)}return this}redo(){const e=this.redoStack.pop();return e&&(this.executeCommand(e,!1),this.undoStackPush(e),this.notify(xo.REDO,e)),this}undoAndCancel(){const e=this.undoStack.pop();return e&&(this.executeCommand(e,!1),this.redoStack=[],this.notify(xo.CANCEL,e)),this}undoStackPush(e){var t,n,i,a;const{stackSize:s}=this.options;s!==0&&this.undoStack.length>=s&&this.undoStack.shift(),((n=(t=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(t,e,!0))!==!1&&(this.undoStack.push(e),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,e,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(xo.CLEAR,null)}notify(e,t){this.emitter.emit(e,{cmd:t}),this.emitter.emit(xo.CHANGE,{cmd:t})}on(e,t){this.emitter.on(e,t)}destroy(){const{graph:e}=this.context;e.off(Qt.AFTER_DRAW,this.addCommand),e.off(Qt.BATCH_START,this.initBatchCommand),e.off(Qt.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}ld.defaultOptions={stackSize:0};const T0={toXy(r,e){if(!e)return[...r];const t=e[0].slice(1),n=e[1].slice(1);return r.map(i=>[i[t],i[n]])},fromXy(r,e){if(!e)return[...r];const t=e[0].slice(1),n=e[1].slice(1);return r.map(([i,a])=>({[t]:i,[n]:a}))}};class JN{constructor(e,t){this._cells=[],this._cellSize=t,this._reverseCellSize=1/t;for(const n of e){const i=this.coordToCellNum(n[0]),a=this.coordToCellNum(n[1]);this._cells[i]||(this._cells[i]=[]),this._cells[i][a]||(this._cells[i][a]=[]),this._cells[i][a].push(n)}}cellPoints(e,t){var n;return((n=this._cells[e])===null||n===void 0?void 0:n[t])||[]}rangePoints(e){const t=this.coordToCellNum(e[0]),n=this.coordToCellNum(e[1]),i=this.coordToCellNum(e[2]),a=this.coordToCellNum(e[3]),s=[];for(let o=t;o<=i;o++)for(let l=n;l<=a;l++){const u=this.cellPoints(o,l);for(const h of u)s.push(h)}return s}removePoint(e){const t=this.coordToCellNum(e[0]),n=this.coordToCellNum(e[1]),i=this._cells[t][n],a=i.findIndex(([s,o])=>s===e[0]&&o===e[1]);return a>-1&&i.splice(a,1),i}trunc(e){return Math.trunc(e)}coordToCellNum(e){return this.trunc(e*this._reverseCellSize)}extendBbox(e,t){return[e[0]-t*this._cellSize,e[1]-t*this._cellSize,e[2]+t*this._cellSize,e[3]+t*this._cellSize]}}function qN(r,e){return new JN(r,e)}const vx=+(Math.pow(2,27)+1);function ud(r,e,t){const n=r*e,i=vx*r,a=i-r,s=i-a,o=r-s,l=vx*e,u=l-e,h=l-u,p=e-h,U=n-s*h-o*h-s*p,H=o*p-U;return t?(t[0]=H,t[1]=n,t):[H,n]}function $N(r,e,t){const n=r+e,i=n-r,a=n-i,s=e-i,o=r-a;return t?(t[0]=o+s,t[1]=n,t):[o+s,n]}function eB(r,e){const t=r.length;if(t===1){const o=ud(r[0],e);return o[0]?o:[o[1]]}const n=new Array(2*t),i=[.1,.1],a=[.1,.1];let s=0;ud(r[0],e,i),i[0]&&(n[s++]=i[0]);for(let o=1;o<t;++o){ud(r[o],e,a);const l=i[1];$N(l,a[0],i),i[0]&&(n[s++]=i[0]);const u=a[1],h=i[1],p=u+h,S=p-u,N=h-S;i[1]=p,N&&(n[s++]=N)}return i[1]&&(n[s++]=i[1]),s===0&&(n[s++]=0),n.length=s,n}function tB(r,e){const t=r+e,n=t-r,i=t-n,a=e-n,o=r-i+a;return o?[o,t]:[t]}function nB(r,e){const t=r.length|0,n=e.length|0;if(t===1&&n===1)return tB(r[0],-e[0]);const i=t+n,a=new Array(i);let s=0,o=0,l=0;const u=Math.abs;let h=r[o],p=u(h),S=-e[l],N=u(S),U,H;p<N?(H=h,o+=1,o<t&&(h=r[o],p=u(h))):(H=S,l+=1,l<n&&(S=-e[l],N=u(S))),o<t&&p<N||l>=n?(U=h,o+=1,o<t&&(h=r[o],p=u(h))):(U=S,l+=1,l<n&&(S=-e[l],N=u(S)));let V=U+H,Y=V-U,q=H-Y,ne=q,le=V,ue,fe,de,ve,Te;for(;o<t&&l<n;)p<N?(U=h,o+=1,o<t&&(h=r[o],p=u(h))):(U=S,l+=1,l<n&&(S=-e[l],N=u(S))),H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue;for(;o<t;)U=h,H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue,o+=1,o<t&&(h=r[o]);for(;l<n;)U=S,H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue,l+=1,l<n&&(S=-e[l]);return ne&&(a[s++]=ne),le&&(a[s++]=le),s||(a[s++]=0),a.length=s,a}function rB(r,e){const t=r+e,n=t-r,i=t-n,a=e-n,o=r-i+a;return o?[o,t]:[t]}function iB(r,e){const t=r.length|0,n=e.length|0;if(t===1&&n===1)return rB(r[0],e[0]);const i=t+n,a=new Array(i);let s=0,o=0,l=0;const u=Math.abs;let h=r[o],p=u(h),S=e[l],N=u(S),U,H;p<N?(H=h,o+=1,o<t&&(h=r[o],p=u(h))):(H=S,l+=1,l<n&&(S=e[l],N=u(S))),o<t&&p<N||l>=n?(U=h,o+=1,o<t&&(h=r[o],p=u(h))):(U=S,l+=1,l<n&&(S=e[l],N=u(S)));let V=U+H,Y=V-U,q=H-Y,ne=q,le=V,ue,fe,de,ve,Te;for(;o<t&&l<n;)p<N?(U=h,o+=1,o<t&&(h=r[o],p=u(h))):(U=S,l+=1,l<n&&(S=e[l],N=u(S))),H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue;for(;o<t;)U=h,H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue,o+=1,o<t&&(h=r[o]);for(;l<n;)U=S,H=ne,V=U+H,Y=V-U,q=H-Y,q&&(a[s++]=q),ue=le+V,fe=ue-le,de=ue-fe,ve=V-fe,Te=le-de,ne=Te+ve,le=ue,l+=1,l<n&&(S=e[l]);return ne&&(a[s++]=ne),le&&(a[s++]=le),s||(a[s++]=0),a.length=s,a}const gx=5,cd=11102230246251565e-32,aB=(3+16*cd)*cd,sB=(7+56*cd)*cd;function oB(r,e,t,n){return function(a,s,o){const l=r(r(e(s[1],o[0]),e(-o[1],s[0])),r(e(a[1],s[0]),e(-s[1],a[0]))),u=r(e(a[1],o[0]),e(-o[1],a[0])),h=n(l,u);return h[h.length-1]}}function lB(r,e,t,n){return function(a,s,o,l){const u=r(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),s[2]),r(t(r(e(s[1],l[0]),e(-l[1],s[0])),-o[2]),t(r(e(s[1],o[0]),e(-o[1],s[0])),l[2]))),r(t(r(e(s[1],l[0]),e(-l[1],s[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),l[2])))),h=r(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),t(r(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),r(t(r(e(s[1],o[0]),e(-o[1],s[0])),a[2]),r(t(r(e(a[1],o[0]),e(-o[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),o[2])))),p=n(u,h);return p[p.length-1]}}function uB(r,e,t,n){return function(a,s,o,l,u){const h=r(r(r(t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),o[2]),r(t(r(e(o[1],u[0]),e(-u[1],o[0])),-l[2]),t(r(e(o[1],l[0]),e(-l[1],o[0])),u[2]))),s[3]),r(t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),s[2]),r(t(r(e(s[1],u[0]),e(-u[1],s[0])),-l[2]),t(r(e(s[1],l[0]),e(-l[1],s[0])),u[2]))),-o[3]),t(r(t(r(e(o[1],u[0]),e(-u[1],o[0])),s[2]),r(t(r(e(s[1],u[0]),e(-u[1],s[0])),-o[2]),t(r(e(s[1],o[0]),e(-o[1],s[0])),u[2]))),l[3]))),r(t(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),s[2]),r(t(r(e(s[1],l[0]),e(-l[1],s[0])),-o[2]),t(r(e(s[1],o[0]),e(-o[1],s[0])),l[2]))),-u[3]),r(t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),s[2]),r(t(r(e(s[1],u[0]),e(-u[1],s[0])),-l[2]),t(r(e(s[1],l[0]),e(-l[1],s[0])),u[2]))),a[3]),t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-l[2]),t(r(e(a[1],l[0]),e(-l[1],a[0])),u[2]))),-s[3])))),r(r(t(r(t(r(e(s[1],u[0]),e(-u[1],s[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),u[2]))),l[3]),r(t(r(t(r(e(s[1],l[0]),e(-l[1],s[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),-u[3]),t(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),s[2]),r(t(r(e(s[1],l[0]),e(-l[1],s[0])),-o[2]),t(r(e(s[1],o[0]),e(-o[1],s[0])),l[2]))),a[3]))),r(t(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),t(r(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),-s[3]),r(t(r(t(r(e(s[1],l[0]),e(-l[1],s[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),o[3]),t(r(t(r(e(s[1],o[0]),e(-o[1],s[0])),a[2]),r(t(r(e(a[1],o[0]),e(-o[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),o[2]))),-l[3]))))),p=r(r(r(t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),o[2]),r(t(r(e(o[1],u[0]),e(-u[1],o[0])),-l[2]),t(r(e(o[1],l[0]),e(-l[1],o[0])),u[2]))),a[3]),t(r(t(r(e(l[1],u[0]),e(-u[1],l[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-l[2]),t(r(e(a[1],l[0]),e(-l[1],a[0])),u[2]))),-o[3])),r(t(r(t(r(e(o[1],u[0]),e(-u[1],o[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-o[2]),t(r(e(a[1],o[0]),e(-o[1],a[0])),u[2]))),l[3]),t(r(t(r(e(o[1],l[0]),e(-l[1],o[0])),a[2]),r(t(r(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),t(r(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),-u[3]))),r(r(t(r(t(r(e(o[1],u[0]),e(-u[1],o[0])),s[2]),r(t(r(e(s[1],u[0]),e(-u[1],s[0])),-o[2]),t(r(e(s[1],o[0]),e(-o[1],s[0])),u[2]))),a[3]),t(r(t(r(e(o[1],u[0]),e(-u[1],o[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-o[2]),t(r(e(a[1],o[0]),e(-o[1],a[0])),u[2]))),-s[3])),r(t(r(t(r(e(s[1],u[0]),e(-u[1],s[0])),a[2]),r(t(r(e(a[1],u[0]),e(-u[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),u[2]))),o[3]),t(r(t(r(e(s[1],o[0]),e(-o[1],s[0])),a[2]),r(t(r(e(a[1],o[0]),e(-o[1],a[0])),-s[2]),t(r(e(a[1],s[0]),e(-s[1],a[0])),o[2]))),-u[3])))),S=n(h,p);return S[S.length-1]}}function hd(r){return(r===3?oB:r===4?lB:uB)(iB,ud,eB,nB)}const cB=hd(3),hB=hd(4),Ml=[function(){return 0},function(){return 0},function(e,t){return t[0]-e[0]},function(e,t,n){const i=(e[1]-n[1])*(t[0]-n[0]),a=(e[0]-n[0])*(t[1]-n[1]),s=i-a;let o;if(i>0){if(a<=0)return s;o=i+a}else if(i<0){if(a>=0)return s;o=-(i+a)}else return s;const l=aB*o;return s>=l||s<=-l?s:cB(e,t,n)},function(e,t,n,i){const a=e[0]-i[0],s=t[0]-i[0],o=n[0]-i[0],l=e[1]-i[1],u=t[1]-i[1],h=n[1]-i[1],p=e[2]-i[2],S=t[2]-i[2],N=n[2]-i[2],U=s*h,H=o*u,V=o*l,Y=a*h,q=a*u,ne=s*l,le=p*(U-H)+S*(V-Y)+N*(q-ne),ue=(Math.abs(U)+Math.abs(H))*Math.abs(p)+(Math.abs(V)+Math.abs(Y))*Math.abs(S)+(Math.abs(q)+Math.abs(ne))*Math.abs(N),fe=sB*ue;return le>fe||-le>fe?le:hB(e,t,n,i)}];function fB(r){let e=Ml[r.length];return e||(e=Ml[r.length]=hd(r.length)),e.apply(void 0,...r)}function dB(r,e,t,n,i,a,s){return function(...l){switch(l.length){case 0:case 1:return 0;case 2:return n(l[0],l[1]);case 3:return i(l[0],l[1],l[2]);case 4:return a(l[0],l[1],l[2],l[3]);case 5:return s(l[0],l[1],l[2],l[3],l[4])}return r(l)}}function vB(){for(;Ml.length<=gx;)Ml.push(hd(Ml.length));const r=dB(void 0,fB,...Ml);for(let e=0;e<=gx;++e)r[e]=Ml[e];return r}var gc=vB();const px=gc[3];function gB(r){const e=r.length;if(e<3){const o=new Array(e);for(let l=0;l<e;++l)o[l]=l;return e===2&&r[0][0]===r[1][0]&&r[0][1]===r[1][1]?[0]:o}const t=new Array(e);for(let o=0;o<e;++o)t[o]=o;t.sort((o,l)=>{const u=r[o][0]-r[l][0];return u||r[o][1]-r[l][1]});const n=[t[0],t[1]],i=[t[0],t[1]];for(let o=2;o<e;++o){const l=t[o],u=r[l];let h=n.length;for(;h>1&&px(r[n[h-2]],r[n[h-1]],u)<=0;)h-=1,n.pop();for(n.push(l),h=i.length;h>1&&px(r[i[h-2]],r[i[h-1]],u)>=0;)h-=1,i.pop();i.push(l)}const a=new Array(i.length+n.length-2);let s=0;for(let o=0,l=n.length;o<l;++o)a[s++]=n[o];for(let o=i.length-2;o>0;--o)a[s++]=i[o];return a}function pB(r,e,t,n){for(let i=0;i<2;++i){const a=r[i],s=e[i],[o,l]=[Math.min(a,s),Math.max(a,s)],u=t[i],h=n[i],[p,S]=[Math.min(u,h),Math.max(u,h)];if(S<o||l<p)return!1}return!0}function mB(r,e,t,n){const i=gc(r,t,n),a=gc(e,t,n);if(i>0&&a>0||i<0&&a<0)return!1;const s=gc(t,r,e),o=gc(n,r,e);return s>0&&o>0||s<0&&o<0?!1:i===0&&a===0&&s===0&&o===0?pB(r,e,t,n):!0}function yB(r){const e=[r[0]];let t=r[0];for(let n=1;n<r.length;n++){const i=r[n];(t[0]!==i[0]||t[1]!==i[1])&&e.push(i),t=i}return e}function _B(r){return r.sort(function(e,t){return e[0]-t[0]||e[1]-t[1]})}function P0(r,e){return Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2)}function mx(r,e,t){const n=[e[0]-r[0],e[1]-r[1]],i=[t[0]-r[0],t[1]-r[1]],a=P0(r,e),s=P0(r,t);return(n[0]*i[0]+n[1]*i[1])/Math.sqrt(a*s)}function yx(r,e){for(let t=0;t<e.length-1;t++){const n=[e[t],e[t+1]];if(!(r[0][0]===n[0][0]&&r[0][1]===n[0][1]||r[0][0]===n[1][0]&&r[0][1]===n[1][1])&&mB(r[0],r[1],n[0],n[1]))return!0}return!1}function EB(r){let e=1/0,t=1/0,n=-1/0,i=-1/0;for(let a=r.length-1;a>=0;a--)r[a][0]<e&&(e=r[a][0]),r[a][1]<t&&(t=r[a][1]),r[a][0]>n&&(n=r[a][0]),r[a][1]>i&&(i=r[a][1]);return[n-e,i-t]}function xB(r){return[Math.min(r[0][0],r[1][0]),Math.min(r[0][1],r[1][1]),Math.max(r[0][0],r[1][0]),Math.max(r[0][1],r[1][1])]}function bB(r,e,t){let n=null,i=Ex,a=Ex,s,o;for(let l=0;l<e.length;l++)s=mx(r[0],r[1],e[l]),o=mx(r[1],r[0],e[l]),s>i&&o>a&&!yx([r[0],e[l]],t)&&!yx([r[1],e[l]],t)&&(i=s,a=o,n=e[l]);return n}function _x(r,e,t,n,i){let a=!1;for(let s=0;s<r.length-1;s++){const o=[r[s],r[s+1]],l=o[0][0]+","+o[0][1]+","+o[1][0]+","+o[1][1];if(P0(o[0],o[1])<e||i.has(l))continue;let u=0,h=xB(o),p,S,N;do h=n.extendBbox(h,u),p=h[2]-h[0],S=h[3]-h[1],N=bB(o,n.rangePoints(h),r),u++;while(N===null&&(t[0]>p||t[1]>S));p>=t[0]&&S>=t[1]&&i.add(l),N!==null&&(r.splice(s+1,0,N),n.removePoint(N),a=!0)}return a?_x(r,e,t,n,i):r}function wB(r,e,t){const n=e||20,i=yB(_B(T0.toXy(r,t)));if(i.length<4){const p=i.concat([i[0]]);return t?T0.fromXy(p,t):p}const a=EB(i),s=[a[0]*xx,a[1]*xx],o=gB(i).reverse().map(p=>i[p]);o.push(o[0]);const l=i.filter(function(p){return o.indexOf(p)<0}),u=Math.ceil(1/(i.length/(a[0]*a[1]))),h=_x(o,Math.pow(n,2),s,qN(l,u),new Set);return t?T0.fromXy(h,t):h}const Ex=Math.cos(90/(180/Math.PI)),xx=.6;function MB(r,e,t){if(r.length===1)return AB(r[0],e,t);if(r.length===2)return bx(r,e,t);if(r.length===3){const[n,i,a]=Mg(r);if(V_(n,i,a))return bx([n,a],e,t)}switch(t){case"smooth":return PB(r,e);case"sharp":return SB(r,e);case"rounded":default:return TB(r,e)}}const AB=(r,e,t)=>{if(t==="sharp")return[["M",r[0]-e,r[1]-e],["L",r[0]+e,r[1]-e],["L",r[0]+e,r[1]+e],["L",r[0]-e,r[1]+e],["Z"]];const n=[e,e,0,0,0];return[["M",r[0],r[1]-e],["A",...n,r[0],r[1]+e],["A",...n,r[0],r[1]-e]]},bx=(r,e,t)=>{const n=[e,e,0,0,0],i=t==="sharp"?Un(r[0],To(qs(Or(r[0],r[1])),e)):r[0],a=t==="sharp"?Un(r[1],To(qs(Or(r[1],r[0])),e)):r[1],s=To(qs(Xh(Or(i,a),!1)),e),o=To(s,-1),l=Un(i,s),u=Un(a,s),h=Un(a,o),p=Un(i,o);return t==="sharp"?[["M",l[0],l[1]],["L",u[0],u[1]],["L",h[0],h[1]],["L",p[0],p[1]],["Z"]]:[["M",l[0],l[1]],["L",u[0],u[1]],["A",...n,h[0],h[1]],["L",p[0],p[1]],["A",...n,l[0],l[1]]]},TB=(r,e)=>{const t=Mg(r).map((o,l)=>{const u=(l-2+r.length)%r.length,h=(l-1+r.length)%r.length,p=(l+1)%r.length,S=r[u],N=r[h],U=r[p],H=Or(S,N),V=Or(N,o),Y=Or(o,U),q=(de,ve)=>xg(de,ve,!0)<Math.PI,ne=q(H,V),le=q(V,Y),ue=de=>To(qs(Xh(de,!1)),e),fe=ue(V);return[{p:fl(ne?Un(N,ue(H)):Un(N,fe)),concave:ne&&N},{p:fl(le?Un(o,ue(Y)):Un(o,fe)),concave:le&&o}]}),n=[e,e,0,0,0],i=t.findIndex((o,l)=>!t[(l-1+t.length)%t.length][0].concave&&!t[(l-1+t.length)%t.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),a=t.slice(i).concat(t.slice(0,i));let s=[];return a.flatMap((o,l)=>{const u=[],h=a[t.length-1];return l===0&&u.push(["M",...h[1].p]),o[0].concave?s.push(o[0].p,o[1].p):u.push(["A",...n,...o[0].p]),o[1].concave?s.unshift(o[1].p):u.push(["L",...o[1].p]),s.length===3&&(u.pop(),u.push(["C",...s.flat()]),s=[]),u})},PB=(r,e)=>{const t=Mg(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:qs(Or(a,n))}});return t.forEach((n,i)=>{const a=i>0?i-1:r.length-1,s=t[a].v,o=qs(Un(s,To(n.v,xg(s,n.v,!0)<Math.PI?1:-1)));n.p=Un(n.p,To(o,e))}),l1(t.map(n=>n.p))},SB=(r,e)=>{const n=r.map((a,s)=>{const o=r[s===0?r.length-1:s-1],l=qu(To(qs(Xh(Or(o,a),!1)),e));return[Un(o,l),Un(a,l)]}).flat();return n.map((a,s)=>{if(s%2===0)return null;const o=[n[(s-1)%n.length],n[s%n.length]],l=[n[(s+1)%n.length],n[(s+2)%n.length]];return wg(o,l,!0)}).filter(Boolean).map((a,s)=>[s===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var OB=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class fd extends zi{constructor(e,t){super(e,Object.assign({},fd.defaultOptions,t)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new ic({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!ci(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(Et(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const s=a.map(u=>i.getNodeData(u)),o=wB(s.map(Ti),this.options.concavity).slice(1).reverse(),l=o.flatMap(u=>s.filter(h=>ci(Ti(h),u)).map(Et));return ci(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=MB(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(Qt.AFTER_RENDER,this.drawHull),this.context.graph.on(Qt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(e){const t=this.options,{members:n,padding:i,corner:a}=t,s=OB(t,["members","padding","corner"]);return Object.assign(Object.assign({},s),{d:this.getHullPath(e)})}getPadding(){const{graph:e}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=e.getElementRenderBounds(i),s=Math.max(a[0],a[1]);return Math.max(n,s)},0)+this.options.padding}addMember(e){const t=Array.isArray(e)?e:[e];this.options.members=[...new Set([...this.options.members,...t])],this.shape.update({d:this.getHullPath()})}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),t.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(e){this.options.members=yn(e)?e(this.options.members):e,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(Qt.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}fd.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function wx(r,e){e(r),r.children&&r.children.forEach(function(t){t&&wx(t,e)})}function pc(r){dd(r,!0)}function ys(r){dd(r,!1)}function dd(r,e){var t=e?"visible":"hidden";wx(r,function(n){n.attr("visibility",t)})}var DB=5,Mx=function(r,e,t,n){t===void 0&&(t=0),n===void 0&&(n=DB),Object.entries(e).forEach(function(i){var a=(0,xe.CR)(i,2),s=a[0],o=a[1],l=r;Object.prototype.hasOwnProperty.call(e,s)&&(o?Ql(o)?(Ql(r[s])||(l[s]={}),t<n?Mx(r[s],o,t+1,n):l[s]=e[s]):va(o)?(l[s]=[],l[s]=l[s].concat(o)):l[s]=o:l[s]=o)})},Li=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var n=0;n<e.length;n+=1)Mx(r,e[n]);return r},CB=function(r){(0,xe.ZT)(e,r);function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=r.apply(this,(0,xe.ev)([],(0,xe.CR)(t),!1))||this;return i.isMutationObserved=!0,i.addEventListener(Kn.INSERTED,function(){ys(i)}),i}return e}(Ai);function Ax(r){var e=r.appendChild(new CB({class:"offscreen"}));return ys(e),e}function LB(r){for(var e=r;e;){if(e.className==="offscreen")return!0;e=e.parent}return!1}function RB(){dd(this,this.attributes.visibility!=="hidden")}var ai=function(r){(0,xe.ZT)(e,r);function e(t,n){n===void 0&&(n={});var i=r.call(this,Li({},{style:n},t))||this;return i.initialized=!1,i._defaultOptions=n,i}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=Ax(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),e.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e.prototype.attributeChangedCallback=function(t){t==="visibility"&&RB.call(this)},e.prototype.update=function(t,n){var i;return this.attr(Li({},this.attributes,t||{})),(i=this.render)===null||i===void 0?void 0:i.call(this,this.attributes,this,n)},e.prototype.clear=function(){this.removeChildren()},e.prototype.bindEvents=function(t,n){},e.prototype.getSubShapeStyle=function(t){var n=t.x,i=t.y,a=t.transform,s=t.transformOrigin,o=t.class,l=t.className,u=t.zIndex,h=(0,xe._T)(t,["x","y","transform","transformOrigin","class","className","zIndex"]);return h},e}(Gv);function S0(r){return r.toString().charAt(0).toUpperCase()+r.toString().slice(1)}function IB(r){return r.toString().charAt(0).toLowerCase()+r.toString().slice(1)}function NB(r,e){return"".concat(e).concat(S0(r))}function Tx(r,e,t){var n;t===void 0&&(t=!0);var i=e||((n=r.match(/^([a-z][a-z0-9]+)/))===null||n===void 0?void 0:n[0])||"",a=r.replace(new RegExp("^(".concat(i,")")),"");return t?IB(a):a}function BB(r,e){Object.entries(e).forEach(function(t){var n=(0,xe.CR)(t,2),i=n[0],a=n[1];(0,xe.ev)([r],(0,xe.CR)(r.querySelectorAll(i)),!1).filter(function(s){return s.matches(i)}).forEach(function(s){if(s){var o=s;o.style.cssText+=Object.entries(a).reduce(function(l,u){return"".concat(l).concat(u.join(":"),";")},"")}})})}var vd=function(r,e){if(!(r!=null&&r.startsWith(e)))return!1;var t=r[e.length];return t>="A"&&t<="Z"};function Wn(r,e,t){t===void 0&&(t=!1);var n={};return Object.entries(r).forEach(function(i){var a=(0,xe.CR)(i,2),s=a[0],o=a[1];if(!(s==="className"||s==="class")){if(vd(s,"show")&&vd(Tx(s,"show"),e)!==t)s===NB(e,"show")?n[s]=o:n[s.replace(new RegExp(S0(e)),"")]=o;else if(!vd(s,"show")&&vd(s,e)!==t){var l=Tx(s,e);l==="filter"&&typeof o=="function"||(n[l]=o)}}}),n}function su(r,e){return Object.entries(r).reduce(function(t,n){var i=(0,xe.CR)(n,2),a=i[0],s=i[1];return a.startsWith("show")?t["show".concat(e).concat(a.slice(4))]=s:t["".concat(e).concat(S0(a))]=s,t},{})}function ro(r,e){e===void 0&&(e=["x","y","class","className"]);var t=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],n={},i={};return Object.entries(r).forEach(function(a){var s=(0,xe.CR)(a,2),o=s[0],l=s[1];e.includes(o)||(t.indexOf(o)!==-1?i[o]=l:n[o]=l)}),[n,i]}var kB=function(r){if(!va(r))return[];for(var e=[],t=0;t<r.length;t++)e=e.concat(r[t]);return e},FB=kB,O0=function(r){(0,xe.ZT)(e,r);function e(t){t===void 0&&(t={});var n=t.style,i=(0,xe._T)(t,["style"]);return r.call(this,(0,xe.pi)({style:(0,xe.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},n)},i))||this}return Object.defineProperty(e.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=Ax(this)),this._offscreen},enumerable:!1,configurable:!0}),e.prototype.disconnectedCallback=function(){var t;(t=this._offscreen)===null||t===void 0||t.destroy()},e}(ol);function zB(r,e){var t=new Map;return r.forEach(function(n){var i=e(n);t.has(i)||t.set(i,[]),t.get(i).push(n)}),t}function UB(r){throw new Error(r)}var WB=function(){function r(i,a,s,o,l,u,h){i===void 0&&(i=null),a===void 0&&(a=null),s===void 0&&(s=null),o===void 0&&(o=null),l===void 0&&(l=[null,null,null,null,null]),u===void 0&&(u=[]),h===void 0&&(h=[]),e.add(this),this._elements=Array.from(i),this._data=a,this._parent=s,this._document=o,this._enter=l[0],this._update=l[1],this._exit=l[2],this._merge=l[3],this._split=l[4],this._transitions=u,this._facetElements=h}r.prototype.selectAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(a,null,this._elements[0],this._document)},r.prototype.selectFacetAll=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i):i;return new t(this._elements,null,this._parent,this._document,void 0,void 0,a)},r.prototype.select=function(i){var a=typeof i=="string"?this._parent.querySelectorAll(i)[0]||null:i;return new t([a],null,a,this._document)},r.prototype.append=function(i){var a=this,s=typeof i=="function"?i:function(){return a.createElement(i)},o=[];if(this._data!==null){for(var l=0;l<this._data.length;l++){var u=this._data[l],h=(0,xe.CR)(Array.isArray(u)?u:[u,null],2),p=h[0],S=h[1],N=s(p,l);N.__data__=p,S!==null&&(N.__fromElements__=S),this._parent.appendChild(N),o.push(N)}return new t(o,null,this._parent,this._document)}for(var l=0;l<this._elements.length;l++){var U=this._elements[l],p=U.__data__,N=s(p,l);U.appendChild(N),o.push(N)}return new t(o,null,o[0],this._document)},r.prototype.maybeAppend=function(i,a){var s=(0,xe.Q_)(this,e,"m",n).call(this,i[0]==="#"?i:"#".concat(i),a);return s.attr("id",i),s},r.prototype.maybeAppendByClassName=function(i,a){var s=i.toString(),o=(0,xe.Q_)(this,e,"m",n).call(this,s[0]==="."?s:".".concat(s),a);return o.attr("className",s),o},r.prototype.maybeAppendByName=function(i,a){var s=(0,xe.Q_)(this,e,"m",n).call(this,'[name="'.concat(i,'"]'),a);return s.attr("name",i),s},r.prototype.data=function(i,a,s){var o,l;a===void 0&&(a=function(Oe){return Oe}),s===void 0&&(s=function(){return null});for(var u=[],h=[],p=new Set(this._elements),S=[],N=new Set,U=new Map(this._elements.map(function(Oe,Ie){return[a(Oe.__data__,Ie),Oe]})),H=new Map(this._facetElements.map(function(Oe,Ie){return[a(Oe.__data__,Ie),Oe]})),V=zB(this._elements,function(Oe){return s(Oe.__data__)}),Y=0;Y<i.length;Y++){var q=i[Y],ne=a(q,Y),le=s(q,Y);if(U.has(ne)){var ue=U.get(ne);ue.__data__=q,ue.__facet__=!1,h.push(ue),p.delete(ue),U.delete(ne)}else if(H.has(ne)){var ue=H.get(ne);ue.__data__=q,ue.__facet__=!0,h.push(ue),H.delete(ne)}else if(V.has(ne)){var fe=V.get(ne);S.push([q,fe]);try{for(var de=(o=void 0,(0,xe.XA)(fe)),ve=de.next();!ve.done;ve=de.next()){var ue=ve.value;p.delete(ue)}}catch(Oe){o={error:Oe}}finally{try{ve&&!ve.done&&(l=de.return)&&l.call(de)}finally{if(o)throw o.error}}V.delete(ne)}else if(U.has(le)){var ue=U.get(le);ue.__toData__?ue.__toData__.push(q):ue.__toData__=[q],N.add(ue),p.delete(ue)}else u.push(q)}var Te=[new t([],u,this._parent,this._document),new t(h,null,this._parent,this._document),new t(p,null,this._parent,this._document),new t([],S,this._parent,this._document),new t(N,null,this._parent,this._document)];return new t(this._elements,null,this._parent,this._document,Te)},r.prototype.merge=function(i){var a=(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(this._elements),!1),(0,xe.CR)(i._elements),!1),s=(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(this._transitions),!1),(0,xe.CR)(i._transitions),!1);return new t(a,null,this._parent,this._document,void 0,s)},r.prototype.createElement=function(i){if(this._document)return this._document.createElement(i,{});var a=t.registry[i];return a?new a:UB("Unknown node type: ".concat(i))},r.prototype.join=function(i,a,s,o,l){i===void 0&&(i=function(U){return U}),a===void 0&&(a=function(U){return U}),s===void 0&&(s=function(U){return U.remove()}),o===void 0&&(o=function(U){return U}),l===void 0&&(l=function(U){return U.remove()});var u=i(this._enter),h=a(this._update),p=s(this._exit),S=o(this._merge),N=l(this._split);return h.merge(u).merge(p).merge(S).merge(N)},r.prototype.remove=function(){for(var i=function(o){var l=a._elements[o],u=a._transitions[o];u?u.then(function(){return l.remove()}):l.remove()},a=this,s=0;s<this._elements.length;s++)i(s);return new t([],null,this._parent,this._document,void 0,this._transitions)},r.prototype.each=function(i){for(var a=0;a<this._elements.length;a++){var s=this._elements[a],o=s.__data__;i.call(s,o,a)}return this},r.prototype.attr=function(i,a){var s=typeof a!="function"?function(){return a}:a;return this.each(function(o,l){a!==void 0&&(this[i]=s.call(this,o,l))})},r.prototype.style=function(i,a,s){s===void 0&&(s=!0);var o=typeof a!="function"||!s?function(){return a}:a;return this.each(function(l,u){a!==void 0&&(this.style[i]=o.call(this,l,u))})},r.prototype.styles=function(i,a){return i===void 0&&(i={}),a===void 0&&(a=!0),this.each(function(s,o){var l=this;Object.entries(i).forEach(function(u){var h=(0,xe.CR)(u,2),p=h[0],S=h[1],N=typeof S!="function"||!a?function(){return S}:S;S!==void 0&&l.attr(p,N.call(l,s,o))})})},r.prototype.update=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.maybeUpdate=function(i,a){a===void 0&&(a=!0);var s=typeof i!="function"||!a?function(){return i}:i;return this.each(function(o,l){i&&this.update&&this.update(s.call(this,o,l))})},r.prototype.transition=function(i){var a=this._transitions,s=new Array(this._elements.length);return this.each(function(o,l){s[l]=i.call(this,o,l)}),this._transitions=FB(s),this},r.prototype.on=function(i,a){return this.each(function(){this.addEventListener(i,a)}),this},r.prototype.call=function(i){for(var a=[],s=1;s<arguments.length;s++)a[s-1]=arguments[s];return i.call.apply(i,(0,xe.ev)([this._parent,this],(0,xe.CR)(a),!1)),this},r.prototype.node=function(){return this._elements[0]},r.prototype.nodes=function(){return this._elements},r.prototype.transitions=function(){return this._transitions.filter(function(i){return!!i})},r.prototype.parent=function(){return this._parent};var e,t,n;return t=r,e=new WeakSet,n=function(a,s){var o=this._elements[0],l=o.querySelector(a);if(l)return new t([l],null,this._parent,this._document);var u=typeof s=="string"?this.createElement(s):s();return o.appendChild(u),new t([u],null,this._parent,this._document)},r.registry={g:Ai,rect:ki,circle:Ks,path:Sa,text:O0,ellipse:Uu,image:Hu,line:al,polygon:sl,polyline:ch,html:Wu},r}();function _n(r){return new WB([r],null,r,r.ownerDocument)}function HB(r,e,t){return r.querySelector(e)?_n(r).select(e):_n(r).append(t)}var Ji=function(){function r(e,t,n,i){e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=0),i===void 0&&(i=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=t,this.width=n,this.height=i}return Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),r.fromRect=function(e){return new r(e.x,e.y,e.width,e.height)},r.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},r.prototype.isPointIn=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},r}();function _9(r){var e=r.getRenderBounds(),t=__read(e.min,2),n=t[0],i=t[1],a=__read(e.max,2),s=a[0],o=a[1],l=s-n,u=o-i;return new Ji(n,i,l,u)}var _s=function(r,e){var t=function(i){return"".concat(e,"-").concat(i)},n=Object.fromEntries(Object.entries(r).map(function(i){var a=(0,xe.CR)(i,2),s=a[0],o=a[1],l=t(o);return[s,{name:l,class:".".concat(l),id:"#".concat(l),toString:function(){return l}}]}));return Object.assign(n,{prefix:t}),n};function Ui(r){if(un(r))return[r,r,r,r];if(va(r)){var e=r.length;if(e===1)return[r[0],r[0],r[0],r[0]];if(e===2)return[r[0],r[1],r[0],r[1]];if(e===3)return[r[0],r[1],r[2],r[1]];if(e===4)return r}return[0,0,0,0]}function Na(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=function(a){a.node().removeChildren()}),r?t(e):(n&&i(e),null)}var Px=_s({text:"text"},"title");function gd(r){return/\S+-\S+/g.test(r)?r.split("-").map(function(e){return e[0]}):r.length>2?[r[0]]:r.split("")}function GB(r,e){var t=r.attributes,n=t.position,i=t.spacing,a=t.inset,s=t.text,o=r.getBBox(),l=e.getBBox(),u=gd(n),h=(0,xe.CR)(Ui(s?i:0),4),p=h[0],S=h[1],N=h[2],U=h[3],H=(0,xe.CR)(Ui(a),4),V=H[0],Y=H[1],q=H[2],ne=H[3],le=(0,xe.CR)([U+S,p+N],2),ue=le[0],fe=le[1],de=(0,xe.CR)([ne+Y,V+q],2),ve=de[0],Te=de[1];if(u[0]==="l")return new Ji(o.x,o.y,l.width+o.width+ue+ve,Math.max(l.height+Te,o.height));if(u[0]==="t")return new Ji(o.x,o.y,Math.max(l.width+ve,o.width),l.height+o.height+fe+Te);var Oe=(0,xe.CR)([e.attributes.width||l.width,e.attributes.height||l.height],2),Ie=Oe[0],ze=Oe[1];return new Ji(l.x,l.y,Ie+o.width+ue+ve,ze+o.height+fe+Te)}function jB(r,e){var t=Object.entries(e).reduce(function(n,i){var a=(0,xe.CR)(i,2),s=a[0],o=a[1],l=r.node().attr(s);return l||(n[s]=o),n},{});r.styles(t)}function VB(r){var e,t,n,i,a=r,s=a.width,o=a.height,l=a.position,u=(0,xe.CR)([+s/2,+o/2],2),h=u[0],p=u[1],S=(0,xe.CR)([+h,+p,"center","middle"],4),N=S[0],U=S[1],H=S[2],V=S[3],Y=gd(l);return Y.includes("l")&&(e=(0,xe.CR)([0,"start"],2),N=e[0],H=e[1]),Y.includes("r")&&(t=(0,xe.CR)([+s,"end"],2),N=t[0],H=t[1]),Y.includes("t")&&(n=(0,xe.CR)([0,"top"],2),U=n[0],V=n[1]),Y.includes("b")&&(i=(0,xe.CR)([+o,"bottom"],2),U=i[0],V=i[1]),{x:N,y:U,textAlign:H,textBaseline:V}}var ZB=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return e.prototype.getAvailableSpace=function(){var t=this,n=this.attributes,i=n.width,a=n.height,s=n.position,o=n.spacing,l=n.inset,u=t.querySelector(Px.text.class);if(!u)return new Ji(0,0,+i,+a);var h=u.getBBox(),p=h.width,S=h.height,N=(0,xe.CR)(Ui(o),4),U=N[0],H=N[1],V=N[2],Y=N[3],q=(0,xe.CR)([0,0,+i,+a],4),ne=q[0],le=q[1],ue=q[2],fe=q[3],de=gd(s);if(de.includes("i"))return new Ji(ne,le,ue,fe);de.forEach(function(bt,_t){var ct,ft,At,Ft;bt==="t"&&(ct=(0,xe.CR)(_t===0?[S+V,+a-S-V]:[0,+a],2),le=ct[0],fe=ct[1]),bt==="r"&&(ft=(0,xe.CR)([+i-p-Y],1),ue=ft[0]),bt==="b"&&(At=(0,xe.CR)([+a-S-U],1),fe=At[0]),bt==="l"&&(Ft=(0,xe.CR)(_t===0?[p+H,+i-p-H]:[0,+i],2),ne=Ft[0],ue=Ft[1])});var ve=(0,xe.CR)(Ui(l),4),Te=ve[0],Oe=ve[1],Ie=ve[2],ze=ve[3],Xe=(0,xe.CR)([ze+Oe,Te+Ie],2),et=Xe[0],st=Xe[1];return new Ji(ne+ze,le+Te,ue-et,fe-st)},e.prototype.getBBox=function(){return this.title?this.title.getBBox():new Ji(0,0,0,0)},e.prototype.render=function(t,n){var i=this,a=t.width,s=t.height,o=t.position,l=t.spacing,u=(0,xe._T)(t,["width","height","position","spacing"]),h=(0,xe.CR)(ro(u),1),p=h[0],S=VB(t),N=S.x,U=S.y,H=S.textAlign,V=S.textBaseline;Na(!!u.text,_n(n),function(Y){i.title=Y.maybeAppendByClassName(Px.text,"text").styles(p).call(jB,{x:N,y:U,textAlign:H,textBaseline:V}).node()})},e}(ai),D0=function(){};function Ba(r,e){return yn(r)?r.apply(void 0,(0,xe.ev)([],(0,xe.CR)(e),!1)):r}function KB(r,e){return r.reduce(function(t,n){return(t[n[e]]=t[n[e]]||[]).push(n),t},{})}function XB(r){return typeof r=="boolean"?!1:"enter"in r&&"update"in r&&"exit"in r}function Sx(r){if(!r)return{enter:!1,update:!1,exit:!1};var e=["enter","update","exit"],t=Object.fromEntries(Object.entries(r).filter(function(n){var i=(0,xe.CR)(n,1),a=i[0];return!e.includes(a)}));return Object.fromEntries(e.map(function(n){return XB(r)?r[n]===!1?[n,!1]:[n,(0,xe.pi)((0,xe.pi)({},r[n]),t)]:[n,t]}))}function ou(r,e){r?r.finished.then(e):e()}function YB(r,e){r.length===0?e():Promise.all(r.map(function(t){return t==null?void 0:t.finished})).then(e)}function Ox(r,e){"update"in r?r.update(e):r.attr(e)}function Dx(r,e,t){if(e.length===0)return null;if(!t){var n=e.slice(-1)[0];return Ox(r,{style:n}),null}return r.animate(e,t)}function QB(r,e){return!(r.nodeName!=="text"||e.nodeName!=="text"||r.attributes.text!==e.attributes.text)}function JB(r,e,t,n){if(n===void 0&&(n="destroy"),QB(r,e))return r.remove(),[null];var i=function(){n==="destroy"?r.destroy():n==="hide"&&ys(r),e.isVisible()&&pc(e)};if(!t)return i(),[null];var a=t.duration,s=a===void 0?0:a,o=t.delay,l=o===void 0?0:o,u=Math.ceil(+s/2),h=+s/4,p=(0,xe.CR)(r.getGeometryBounds().center,2),S=p[0],N=p[1],U=(0,xe.CR)(e.getGeometryBounds().center,2),H=U[0],V=U[1],Y=(0,xe.CR)([(S+H)/2-S,(N+V)/2-N],2),q=Y[0],ne=Y[1],le=r.style.opacity,ue=le===void 0?1:le,fe=e.style.opacity,de=fe===void 0?1:fe,ve=r.style.transform||"",Te=e.style.transform||"",Oe=r.animate([{opacity:ue,transform:"translate(0, 0) ".concat(ve)},{opacity:0,transform:"translate(".concat(q,", ").concat(ne,") ").concat(ve)}],(0,xe.pi)((0,xe.pi)({fill:"both"},t),{duration:l+u+h})),Ie=e.animate([{opacity:0,transform:"translate(".concat(-q,", ").concat(-ne,") ").concat(Te),offset:.01},{opacity:de,transform:"translate(0, 0) ".concat(Te)}],(0,xe.pi)((0,xe.pi)({fill:"both"},t),{duration:u+h,delay:l+u-h}));return ou(Ie,i),[Oe,Ie]}function Es(r,e,t){var n={},i={};return Object.entries(e).forEach(function(a){var s=(0,xe.CR)(a,2),o=s[0],l=s[1];if(!Pn(l)){var u=r.style[o]||r.parsedStyle[o]||0;u!==l&&(n[o]=u,i[o]=l)}}),t?Dx(r,[n,i],(0,xe.pi)({fill:"both"},t)):(Ox(r,i),null)}function qB(r){var e;return((e=r[0])===null||e===void 0?void 0:e.map(function(t,n){return r.map(function(i){return i[n]})}))||[]}function C0(r,e,t){t===void 0&&(t=!1);var n=r.getBBox(),i=n.width,a=n.height,s=e/Math.max(i,a);return t&&(r.style.transform="scale(".concat(s,")")),s}var Cx=function(r,e,t){return[["M",r-t,e],["A",t,t,0,1,0,r+t,e],["A",t,t,0,1,0,r-t,e],["Z"]]},$B=Cx,e5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e-t],["L",r+t,e+t],["L",r-t,e+t],["Z"]]},t5=function(r,e,t){return[["M",r-t,e],["L",r,e-t],["L",r+t,e],["L",r,e+t],["Z"]]},n5=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e+n],["L",r,e-n],["L",r+t,e+n],["Z"]]},r5=function(r,e,t){var n=t*Math.sin(.3333333333333333*Math.PI);return[["M",r-t,e-n],["L",r+t,e-n],["L",r,e+n],["Z"]]},i5=function(r,e,t){var n=t/2*Math.sqrt(3);return[["M",r,e-t],["L",r+n,e-t/2],["L",r+n,e+t/2],["L",r,e+t],["L",r-n,e+t/2],["L",r-n,e-t/2],["Z"]]},a5=function(r,e,t){var n=t-1.5;return[["M",r-t,e-n],["L",r+t,e+n],["L",r+t,e-n],["L",r-t,e+n],["Z"]]},Lx=function(r,e,t){return[["M",r,e+t],["L",r,e-t]]},s5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e+t],["M",r+t,e-t],["L",r-t,e+t]]},o5=function(r,e,t){return[["M",r-t/2,e-t],["L",r+t/2,e-t],["M",r,e-t],["L",r,e+t],["M",r-t/2,e+t],["L",r+t/2,e+t]]},l5=function(r,e,t){return[["M",r-t,e],["L",r+t,e],["M",r,e-t],["L",r,e+t]]},u5=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},Rx=function(r,e,t){return[["M",r-t,e],["L",r+t,e]]},c5=Rx,h5=function(r,e,t){return[["M",r-t,e],["A",t/2,t/2,0,1,1,r,e],["A",t/2,t/2,0,1,0,r+t,e]]},f5=function(r,e,t){return[["M",r-t-1,e-2.5],["L",r,e-2.5],["L",r,e+2.5],["L",r+t+1,e+2.5]]},d5=function(r,e,t){return[["M",r-t-1,e+2.5],["L",r,e+2.5],["L",r,e-2.5],["L",r+t+1,e-2.5]]},v5=function(r,e,t){return[["M",r-(t+1),e+2.5],["L",r-t/2,e+2.5],["L",r-t/2,e-2.5],["L",r+t/2,e-2.5],["L",r+t/2,e+2.5],["L",r+t+1,e+2.5]]};function g5(r,e){return[["M",r-5,e+2.5],["L",r-5,e],["L",r,e],["L",r,e-3],["L",r,e+3],["L",r+6.5,e+3]]}var p5=function(r,e,t){return[["M",r-t,e-t],["L",r+t,e],["L",r-t,e+t],["Z"]]},es=_s({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),m5=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,t,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:p5(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(i,a){return"".concat(i,"/").concat(a)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return n.playState="idle",n.contentGroup=n.appendChild(new Ai({class:es.contentGroup.name})),n.playWindow=n.contentGroup.appendChild(new Ai({class:es.playWindow.name})),n.innerCurrPage=n.defaultPage,n}return Object.defineProperty(e.prototype,"defaultPage",{get:function(){var t=this.attributes.defaultPage;return Jr(t,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageShape",{get:function(){var t=this.pageViews,n=(0,xe.CR)(qB(t.map(function(p){var S=p.getBBox(),N=S.width,U=S.height;return[N,U]})).map(function(p){return Math.max.apply(Math,(0,xe.ev)([],(0,xe.CR)(p),!1))}),2),i=n[0],a=n[1],s=this.attributes,o=s.pageWidth,l=o===void 0?i:o,u=s.pageHeight,h=u===void 0?a:u;return{pageWidth:l,pageHeight:h}},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(e.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t=r.prototype.getBBox.call(this),n=t.x,i=t.y,a=this.controllerShape,s=this.pageShape,o=s.pageWidth,l=s.pageHeight;return new Ji(n,i,o+a.width,l)},e.prototype.goTo=function(t){var n=this,i=this.attributes.animate,a=this,s=a.currPage,o=a.playState,l=a.playWindow,u=a.pageViews;if(o!=="idle"||t<0||u.length<=0||t>=u.length)return null;u[s].setLocalPosition(0,0),this.prepareFollowingPage(t);var h=(0,xe.CR)(this.getFollowingPageDiff(t),2),p=h[0],S=h[1];this.playState="running";var N=Dx(l,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-p,", ").concat(-S,")")}],i);return ou(N,function(){n.innerCurrPage=t,n.playState="idle",n.setVisiblePages([t]),n.updatePageInfo()}),N},e.prototype.prev=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i<=0)return null;var a=t?(i-1+n)%n:Jr(i-1,0,n);return this.goTo(a)},e.prototype.next=function(){var t=this.attributes.loop,n=this.pageViews.length,i=this.currPage;if(!t&&i>=n-1)return null;var a=t?(i+1)%n:Jr(i+1,0,n);return this.goTo(a)},e.prototype.renderClipPath=function(t){var n=this.pageShape,i=n.pageWidth,a=n.pageHeight;if(!i||!a){this.contentGroup.style.clipPath=void 0;return}this.clipPath=t.maybeAppendByClassName(es.clipPath,"rect").styles({width:i,height:a}),this.contentGroup.attr("clipPath",this.clipPath.node())},e.prototype.setVisiblePages=function(t){this.playWindow.children.forEach(function(n,i){t.includes(i)?pc(n):ys(n)})},e.prototype.adjustControllerLayout=function(){var t=this,n=t.prevBtnGroup,i=t.nextBtnGroup,a=t.pageInfoGroup,s=this.attributes,o=s.orientation,l=s.controllerPadding,u=a.getBBox(),h=u.width,p=u.height,S=(0,xe.CR)(o==="horizontal"?[-180,0]:[-90,90],2),N=S[0],U=S[1];n.setLocalEulerAngles(N),i.setLocalEulerAngles(U);var H=n.getBBox(),V=H.width,Y=H.height,q=i.getBBox(),ne=q.width,le=q.height,ue=Math.max(V,h,ne),fe=o==="horizontal"?{offset:[[0,0],[V/2+l,0],[V+h+l*2,0]],textAlign:"start"}:{offset:[[ue/2,-Y-l],[ue/2,0],[ue/2,le+l]],textAlign:"center"},de=(0,xe.CR)(fe.offset,3),ve=(0,xe.CR)(de[0],2),Te=ve[0],Oe=ve[1],Ie=(0,xe.CR)(de[1],2),ze=Ie[0],Xe=Ie[1],et=(0,xe.CR)(de[2],2),st=et[0],bt=et[1],_t=fe.textAlign,ct=a.querySelector("text");ct&&(ct.style.textAlign=_t),n.setLocalPosition(Te,Oe),a.setLocalPosition(ze,Xe),i.setLocalPosition(st,bt)},e.prototype.updatePageInfo=function(){var t,n=this,i=n.currPage,a=n.pageViews,s=n.attributes.formatter;a.length<2||((t=this.pageInfoGroup.querySelector(es.pageInfo.class))===null||t===void 0||t.attr("text",s(i+1,a.length)),this.adjustControllerLayout())},e.prototype.getFollowingPageDiff=function(t){var n=this.currPage;if(n===t)return[0,0];var i=this.attributes.orientation,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=t<n?-1:1;return i==="horizontal"?[l*s,0]:[0,l*o]},e.prototype.prepareFollowingPage=function(t){var n=this,i=n.currPage,a=n.pageViews;if(this.setVisiblePages([t,i]),t!==i){var s=(0,xe.CR)(this.getFollowingPageDiff(t),2),o=s[0],l=s[1];a[t].setLocalPosition(o,l)}},e.prototype.renderController=function(t){var n=this,i=this.attributes.controllerSpacing,a=this.pageShape,s=a.pageWidth,o=a.pageHeight,l=this.pageViews.length>=2,u=t.maybeAppendByClassName(es.controller,"g");if(dd(u.node(),l),!!l){var h=Wn(this.attributes,"button"),p=Wn(this.attributes,"pageNum"),S=(0,xe.CR)(ro(h),2),N=S[0],U=S[1],H=N.size,V=(0,xe._T)(N,["size"]),Y=!u.select(es.prevBtnGroup.class).node(),q=u.maybeAppendByClassName(es.prevBtnGroup,"g").styles(U);this.prevBtnGroup=q.node();var ne=q.maybeAppendByClassName(es.prevBtn,"path"),le=u.maybeAppendByClassName(es.nextBtnGroup,"g").styles(U);this.nextBtnGroup=le.node();var ue=le.maybeAppendByClassName(es.nextBtn,"path");[ne,ue].forEach(function(de){de.styles((0,xe.pi)((0,xe.pi)({},V),{transformOrigin:"center"})),C0(de.node(),H,!0)});var fe=u.maybeAppendByClassName(es.pageInfoGroup,"g");this.pageInfoGroup=fe.node(),fe.maybeAppendByClassName(es.pageInfo,"text").styles(p),this.updatePageInfo(),u.node().setLocalPosition(s+i,o/2),Y&&(this.prevBtnGroup.addEventListener("click",function(){n.prev()}),this.nextBtnGroup.addEventListener("click",function(){n.next()}))}},e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s;this.attr("transform","translate(".concat(a,", ").concat(o,")"));var l=_n(n);this.renderClipPath(l),this.renderController(l),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},e.prototype.bindEvents=function(){var t=this,n=uc(function(){return t.render(t.attributes,t)},50);this.playWindow.addEventListener(Kn.INSERTED,n),this.playWindow.addEventListener(Kn.REMOVED,n)},e}(ai);function y5(r){var e="default";if(li(r)&&r instanceof Image)e="image";else if(yn(r))e="symbol";else if(ur(r)){var t=new RegExp("data:(image|text)");r.match(t)?e="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(r)?e="url":e="symbol"}return e}function _5(r){var e=y5(r);return["base64","url","image"].includes(e)?"image":r&&e==="symbol"?"path":null}var Lr=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=i===void 0?0:i,s=t.y,o=s===void 0?0:s,l=this.getSubShapeStyle(t),u=l.symbol,h=l.size,p=h===void 0?16:h,S=(0,xe._T)(l,["symbol","size"]),N=_5(u);Na(!!N,_n(n),function(U){U.maybeAppendByClassName("marker",N).attr("className","marker ".concat(N,"-marker")).call(function(H){if(N==="image"){var V=p*2;H.styles({img:u,width:V,height:V,x:a-p,y:o-p})}else{var V=p/2,Y=yn(u)?u:e.getSymbol(u);H.styles((0,xe.pi)({d:Y==null?void 0:Y(a,o,V)},S))}})})},e.MARKER_SYMBOL_MAP=new Map,e.registerSymbol=function(t,n){e.MARKER_SYMBOL_MAP.set(t,n)},e.getSymbol=function(t){return e.MARKER_SYMBOL_MAP.get(t)},e.getSymbols=function(){return Array.from(e.MARKER_SYMBOL_MAP.keys())},e}(ai);Lr.registerSymbol("cross",s5),Lr.registerSymbol("hyphen",u5),Lr.registerSymbol("line",Lx),Lr.registerSymbol("plus",l5),Lr.registerSymbol("tick",o5),Lr.registerSymbol("circle",Cx),Lr.registerSymbol("point",$B),Lr.registerSymbol("bowtie",a5),Lr.registerSymbol("hexagon",i5),Lr.registerSymbol("square",e5),Lr.registerSymbol("diamond",t5),Lr.registerSymbol("triangle",n5),Lr.registerSymbol("triangle-down",r5),Lr.registerSymbol("line",Lx),Lr.registerSymbol("dot",Rx),Lr.registerSymbol("dash",c5),Lr.registerSymbol("smooth",h5),Lr.registerSymbol("hv",f5),Lr.registerSymbol("vh",d5),Lr.registerSymbol("hvh",v5),Lr.registerSymbol("vhv",g5);function E9(r,e,t){var n=Math.round((r-t)/e);return t+n*e}function E5(r,e,t){var n=1.4,i=n*t;return[["M",r-t,e-i],["L",r+t,e-i],["L",r+t,e+i],["L",r-t,e+i],["Z"]]}var Ix=1.4,Nx=.4;function x5(r,e,t){var n=t,i=n*Ix,a=n/2,s=n/6,o=r+i*Nx;return[["M",r,e],["L",o,e+a],["L",r+i,e+a],["L",r+i,e-a],["L",o,e-a],["Z"],["M",o,e+s],["L",r+i-2,e+s],["M",o,e-s],["L",r+i-2,e-s]]}function b5(r,e,t){var n=t,i=n*Ix,a=n/2,s=n/6,o=e+i*Nx;return[["M",r,e],["L",r-a,o],["L",r-a,e+i],["L",r+a,e+i],["L",r+a,o],["Z"],["M",r-s,o],["L",r-s,e+i-2],["M",r+s,o],["L",r+s,e+i-2]]}Lr.registerSymbol("hiddenHandle",E5),Lr.registerSymbol("verticalHandle",x5),Lr.registerSymbol("horizontalHandle",b5);var x9=function(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t};function b9(r,e,t,n){var i;n===void 0&&(n=4);var a=__read(r,2),s=a[0],o=a[1],l=__read(e,2),u=l[0],h=l[1],p=__read(t,2),S=p[0],N=p[1],U=__read([u,h],2),H=U[0],V=U[1],Y=V-H;return H>V&&(i=__read([V,H],2),H=i[0],V=i[1]),Y>o-s?[s,o]:H<s?S===s&&N===V?[s,V]:[s,Y+s]:V>o?N===o&&S===H?[H,o]:[o-Y,o]:[H,V]}function L0(r,e,t){return r===void 0&&(r="horizontal"),r==="horizontal"?e:t}function w9(r){var e=r&&r.getRenderBounds();if(!e)return{width:0,height:0};var t=e.getMax(),n=e.getMin();return{width:t[0]-n[0],height:t[1]-n[1]}}function Bx(r){var e=r.getLocalBounds(),t=e.min,n=e.max,i=(0,xe.CR)([t,n],2),a=(0,xe.CR)(i[0],2),s=a[0],o=a[1],l=(0,xe.CR)(i[1],2),u=l[0],h=l[1];return{x:s,y:o,width:u-s,height:h-o,left:s,bottom:h,top:o,right:u}}function M9(r,e){var t=select(r).append("text").node();return t.attr(__assign(__assign({},e),{visibility:"hidden"})),t}function w5(r,e){var t=(0,xe.CR)(r,2),n=t[0],i=t[1],a=(0,xe.CR)(e,2),s=a[0],o=a[1];return n!==s&&i===o}function A9(r,e){var t=__read(r,2),n=t[0],i=t[1],a=__read(e,2),s=a[0],o=a[1];return n===s&&i!==o}function M5(r,e){var t,n,i=e.attributes;try{for(var a=(0,xe.XA)(Object.entries(i)),s=a.next();!s.done;s=a.next()){var o=(0,xe.CR)(s.value,2),l=o[0],u=o[1];l!=="id"&&l!=="className"&&r.attr(l,u)}}catch(h){t={error:h}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}function io(r){return typeof r=="function"?r():ur(r)||un(r)?new O0({style:{text:String(r)}}):r}var pd,R0;function T9(r){R0=r}var A5=m0(function(r,e){var t=e.fontSize,n=e.fontFamily,i=e.fontWeight,a=e.fontStyle,s=e.fontVariant;return R0?R0(r,t):(pd||(pd=Ht.offscreenCanvasCreator.getOrCreateContext(void 0)),pd.font=[a,s,i,"".concat(t,"px"),n].join(" "),pd.measureText(r).width)},function(r,e){return[r,Object.values(e||kx(r)).join()].join("")},4096),kx=function(r){var e=r.style.fontFamily||"sans-serif",t=r.style.fontWeight||"normal",n=r.style.fontStyle||"normal",i=r.style.fontVariant,a=r.style.fontSize;return a=typeof a=="object"?a.value:a,{fontSize:a,fontFamily:e,fontWeight:t,fontStyle:n,fontVariant:i}};function Fx(r){return r.nodeName==="text"?r:r.nodeName==="g"&&r.children.length===1&&r.children[0].nodeName==="text"?r.children[0]:null}function zx(r,e){var t=Fx(r);t&&t.attr(e)}function I0(r,e,t){t===void 0&&(t="..."),zx(r,{wordWrap:!0,wordWrapWidth:e,maxLines:1,textOverflow:t})}var ka=_s({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function T5(r){var e=r.querySelector(ka.marker.class);return e?e.style:{}}var P5=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,{span:[1,1],marker:function(){return new Ks({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(e.prototype,"showValue",{get:function(){var t=this.attributes.valueText;return t?typeof t=="string"||typeof t=="number"?t!=="":typeof t=="function"?!0:t.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"actualSpace",{get:function(){var t=this.labelGroup,n=this.valueGroup,i=this.attributes.markerSize,a=t.node().getBBox(),s=a.width,o=a.height,l=n.node().getBBox(),u=l.width,h=l.height;return{markerWidth:i,labelWidth:s,valueWidth:u,height:Math.max(i,o,h)}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"span",{get:function(){var t=this.attributes.span;if(!t)return[1,1];var n=(0,xe.CR)(Ui(t),2),i=n[0],a=n[1],s=this.showValue?a:0,o=i+s;return[i/o,s/o]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t,n=this.attributes,i=n.markerSize,a=n.width,s=this.actualSpace,o=s.markerWidth,l=s.height,u=this.actualSpace,h=u.labelWidth,p=u.valueWidth,S=(0,xe.CR)(this.spacing,2),N=S[0],U=S[1];if(a){var H=a-i-N-U,V=(0,xe.CR)(this.span,2),Y=V[0],q=V[1];t=(0,xe.CR)([Y*H,q*H],2),h=t[0],p=t[1]}var ne=o+h+p+N+U;return{width:ne,height:l,markerWidth:o,labelWidth:h,valueWidth:p}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"spacing",{get:function(){var t=this.attributes.spacing;if(!t)return[0,0];var n=(0,xe.CR)(Ui(t),2),i=n[0],a=n[1];return this.showValue?[i,a]:[i,0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"layout",{get:function(){var t=this.shape,n=t.markerWidth,i=t.labelWidth,a=t.valueWidth,s=t.width,o=t.height,l=(0,xe.CR)(this.spacing,2),u=l[0],h=l[1];return{height:o,width:s,markerWidth:n,labelWidth:i,valueWidth:a,position:[n/2,n+u,n+i+u+h]}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scaleSize",{get:function(){var t=T5(this.markerGroup.node()),n=this.attributes,i=n.markerSize,a=n.markerStrokeWidth,s=a===void 0?t.strokeWidth:a,o=n.markerLineWidth,l=o===void 0?t.lineWidth:o,u=n.markerStroke,h=u===void 0?t.stroke:u,p=+(s||l||(h?1:0))*Math.sqrt(2),S=this.markerGroup.node().getBBox(),N=S.width,U=S.height;return(1-p/Math.max(N,U))*i},enumerable:!1,configurable:!0}),e.prototype.renderMarker=function(t){var n=this,i=this.attributes.marker,a=Wn(this.attributes,"marker");this.markerGroup=t.maybeAppendByClassName(ka.markerGroup,"g").style("zIndex",0),Na(!!i,this.markerGroup,function(){var s,o=n.markerGroup.node(),l=(s=o.childNodes)===null||s===void 0?void 0:s[0],u=typeof i=="string"?new Lr({style:{symbol:i},className:ka.marker.name}):i();l?u.nodeName===l.nodeName?l instanceof Lr?l.update((0,xe.pi)((0,xe.pi)({},a),{symbol:i})):(M5(l,u),_n(l).styles(a)):(l.remove(),_n(u).attr("className",ka.marker.name).styles(a),o.appendChild(u)):(u instanceof Lr||_n(u).attr("className",ka.marker.name).styles(a),o.appendChild(u)),n.markerGroup.node().scale(1/n.markerGroup.node().getScale()[0]);var h=C0(n.markerGroup.node(),n.scaleSize,!0);n.markerGroup.node().style._transform="scale(".concat(h,")")})},e.prototype.renderLabel=function(t){var n=Wn(this.attributes,"label"),i=n.text,a=(0,xe._T)(n,["text"]);this.labelGroup=t.maybeAppendByClassName(ka.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(ka.label,function(){return io(i)}).styles(a)},e.prototype.renderValue=function(t){var n=this,i=Wn(this.attributes,"value"),a=i.text,s=(0,xe._T)(i,["text"]);this.valueGroup=t.maybeAppendByClassName(ka.valueGroup,"g").style("zIndex",0),Na(this.showValue,this.valueGroup,function(){n.valueGroup.maybeAppendByClassName(ka.value,function(){return io(a)}).styles(s)})},e.prototype.renderBackground=function(t){var n=this.shape,i=n.width,a=n.height,s=Wn(this.attributes,"background");this.background=t.maybeAppendByClassName(ka.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(ka.background,"rect").styles((0,xe.pi)({width:i,height:a},s))},e.prototype.adjustLayout=function(){var t=this.layout,n=t.labelWidth,i=t.valueWidth,a=t.height,s=(0,xe.CR)(t.position,3),o=s[0],l=s[1],u=s[2],h=a/2;this.markerGroup.styles({transform:"translate(".concat(o,", ").concat(h,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(l,", ").concat(h,")")}),I0(this.labelGroup.select(ka.label.class).node(),Math.ceil(n)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(u,", ").concat(h,")")}),I0(this.valueGroup.select(ka.value.class).node(),Math.ceil(i)))},e.prototype.render=function(t,n){var i=_n(n),a=t.x,s=a===void 0?0:a,o=t.y,l=o===void 0?0:o;i.styles({transform:"translate(".concat(s,", ").concat(l,")")}),this.renderMarker(i),this.renderLabel(i),this.renderValue(i),this.renderBackground(i),this.adjustLayout()},e}(ai),Al=_s({page:"item-page",navigator:"navigator",item:"item"},"items"),Ux=function(r,e,t){return t===void 0&&(t=!0),r?e(r):t},S5=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,t,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:D0,mouseenter:D0,mouseleave:D0})||this;return n.navigatorShape=[0,0],n}return Object.defineProperty(e.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"grid",{get:function(){var t=this.attributes,n=t.gridRow,i=t.gridCol,a=t.data;if(!n&&!i)throw new Error("gridRow and gridCol can not be set null at the same time");return n&&i?[n,i]:n?[n,a.length]:[a.length,i]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"renderData",{get:function(){var t=this.attributes,n=t.data,i=t.layout,a=Wn(this.attributes,"item"),s=n.map(function(o,l){var u=o.id,h=u===void 0?l:u,p=o.label,S=o.value;return{id:"".concat(h),index:l,style:(0,xe.pi)({layout:i,labelText:p,valueText:S},Object.fromEntries(Object.entries(a).map(function(N){var U=(0,xe.CR)(N,2),H=U[0],V=U[1];return[H,Ba(V,[o,l,n])]})))}});return s},enumerable:!1,configurable:!0}),e.prototype.getGridLayout=function(){var t=this,n=this.attributes,i=n.orientation,a=n.width,s=n.rowPadding,o=n.colPadding,l=(0,xe.CR)(this.navigatorShape,1),u=l[0],h=(0,xe.CR)(this.grid,2),p=h[0],S=h[1],N=S*p,U=0;return this.pageViews.children.map(function(H,V){var Y,q,ne=Math.floor(V/N),le=V%N,ue=t.ifHorizontal(S,p),fe=[Math.floor(le/ue),le%ue];i==="vertical"&&fe.reverse();var de=(0,xe.CR)(fe,2),ve=de[0],Te=de[1],Oe=(a-u-(S-1)*o)/S,Ie=H.getBBox().height,ze=(0,xe.CR)([0,0],2),Xe=ze[0],et=ze[1];return i==="horizontal"?(Y=(0,xe.CR)([U,ve*(Ie+s)],2),Xe=Y[0],et=Y[1],U=Te===S-1?0:U+Oe+o):(q=(0,xe.CR)([Te*(Oe+o),U],2),Xe=q[0],et=q[1],U=ve===p-1?0:U+Ie+s),{page:ne,index:V,row:ve,col:Te,pageIndex:le,width:Oe,height:Ie,x:Xe,y:et}})},e.prototype.getFlexLayout=function(){var t=this.attributes,n=t.width,i=t.height,a=t.rowPadding,s=t.colPadding,o=(0,xe.CR)(this.navigatorShape,1),l=o[0],u=(0,xe.CR)(this.grid,2),h=u[0],p=u[1],S=(0,xe.CR)([n-l,i],2),N=S[0],U=S[1],H=(0,xe.CR)([0,0,0,0,0,0,0,0],8),V=H[0],Y=H[1],q=H[2],ne=H[3],le=H[4],ue=H[5],fe=H[6],de=H[7];return this.pageViews.children.map(function(ve,Te){var Oe,Ie,ze,Xe,et=ve.getBBox(),st=et.width,bt=et.height,_t=fe===0?0:s,ct=fe+_t+st;if(ct<=N&&Ux(le,function(At){return At<p}))return Oe=(0,xe.CR)([fe+_t,de,ct],3),V=Oe[0],Y=Oe[1],fe=Oe[2],{width:st,height:bt,x:V,y:Y,page:q,index:Te,pageIndex:ne++,row:ue,col:le++};Ie=(0,xe.CR)([ue+1,0,0,de+bt+a],4),ue=Ie[0],le=Ie[1],fe=Ie[2],de=Ie[3];var ft=de+bt;return ft<=U&&Ux(ue,function(At){return At<h})?(ze=(0,xe.CR)([fe,de,st],3),V=ze[0],Y=ze[1],fe=ze[2],{width:st,height:bt,x:V,y:Y,page:q,index:Te,pageIndex:ne++,row:ue,col:le++}):(Xe=(0,xe.CR)([0,0,st,0,q+1,0,0,0],8),V=Xe[0],Y=Xe[1],fe=Xe[2],de=Xe[3],q=Xe[4],ne=Xe[5],ue=Xe[6],le=Xe[7],{width:st,height:bt,x:V,y:Y,page:q,index:Te,pageIndex:ne++,row:ue,col:le++})})},Object.defineProperty(e.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var t=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,n=t.call(this);return n.slice(-1)[0].page>0?(this.navigatorShape=[55,0],t.call(this)):n},enumerable:!1,configurable:!0}),e.prototype.ifHorizontal=function(t,n){var i=this.attributes.orientation;return L0(i,t,n)},e.prototype.flattenPage=function(t){t.querySelectorAll(Al.item.class).forEach(function(n){t.appendChild(n)}),t.querySelectorAll(Al.page.class).forEach(function(n){var i=t.removeChild(n);i.destroy()})},e.prototype.renderItems=function(t){var n=this.attributes,i=n.click,a=n.mouseenter,s=n.mouseleave;this.flattenPage(t);var o=this.dispatchCustomEvent.bind(this);_n(t).selectAll(Al.item.class).data(this.renderData,function(l){return l.id}).join(function(l){return l.append(function(u){var h=u.style;return new P5({style:h})}).attr("className",Al.item.name).on("click",function(){i==null||i(this),o("itemClick",{item:this})}).on("pointerenter",function(){a==null||a(this),o("itemMouseenter",{item:this})}).on("pointerleave",function(){s==null||s(this),o("itemMouseleave",{item:this})})},function(l){return l.each(function(u){var h=u.style;this.update(h)})},function(l){return l.remove()})},e.prototype.relayoutNavigator=function(){var t,n=this.attributes,i=n.layout,a=n.width,s=((t=this.pageViews.children[0])===null||t===void 0?void 0:t.getBBox().height)||0,o=(0,xe.CR)(this.navigatorShape,2),l=o[0],u=o[1];this.navigator.update(i==="grid"?{pageWidth:a-l,pageHeight:s-u}:{})},e.prototype.adjustLayout=function(){var t=this,n=Object.entries(KB(this.itemsLayout,"page")).map(function(a){var s=(0,xe.CR)(a,2),o=s[0],l=s[1];return{page:o,layouts:l}}),i=(0,xe.ev)([],(0,xe.CR)(this.navigator.getContainer().children),!1);n.forEach(function(a){var s=a.layouts,o=t.pageViews.appendChild(new Ai({className:Al.page.name}));s.forEach(function(l){var u=l.x,h=l.y,p=l.index,S=l.width,N=l.height,U=i[p];o.appendChild(U),tc(U,"__layout__",l),U.update({x:u,y:h,width:S,height:N})})}),this.relayoutNavigator()},e.prototype.renderNavigator=function(t){var n=this.attributes.orientation,i=Wn(this.attributes,"nav"),a=Li({orientation:n},i),s=this;return t.selectAll(Al.navigator.class).data(["nav"]).join(function(o){return o.append(function(){return new m5({style:a})}).attr("className",Al.navigator.name).each(function(){s.navigator=this})},function(o){return o.each(function(){this.update(a)})},function(o){return o.remove()}),this.navigator},e.prototype.getBBox=function(){return this.navigator.getBBox()},e.prototype.render=function(t,n){var i=this.attributes.data;if(!(!i||i.length===0)){var a=this.renderNavigator(_n(n));this.renderItems(a.getContainer()),this.adjustLayout()}},e.prototype.dispatchCustomEvent=function(t,n){var i=new _i(t,{detail:n});this.dispatchEvent(i)},e}(ai),mc=_s({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),Wx={showLabel:!0,formatter:function(r){return r.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},P9=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,Wx)||this}return e.prototype.render=function(t,n){var i=_n(n).maybeAppendByClassName(mc.markerGroup,"g");this.renderMarker(i);var a=_n(n).maybeAppendByClassName(mc.labelGroup,"g");this.renderLabel(a)},e.prototype.renderMarker=function(t){var n=this,i=this.attributes,a=i.orientation,s=i.markerSymbol,o=s===void 0?L0(a,"horizontalHandle","verticalHandle"):s;Na(!!o,t,function(l){var u=Wn(n.attributes,"marker"),h=(0,xe.pi)({symbol:o},u);n.marker=l.maybeAppendByClassName(mc.marker,function(){return new Lr({style:h})}).update(h)})},e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.showLabel,s=i.orientation,o=i.spacing,l=o===void 0?0:o,u=i.formatter;Na(a,t,function(h){var p,S=Wn(n.attributes,"label"),N=S.text,U=(0,xe._T)(S,["text"]),H=((p=h.select(mc.marker.class))===null||p===void 0?void 0:p.node().getBBox())||{},V=H.width,Y=V===void 0?0:V,q=H.height,ne=q===void 0?0:q,le=(0,xe.CR)(L0(s,[0,ne+l,"center","top"],[Y+l,0,"start","middle"]),4),ue=le[0],fe=le[1],de=le[2],ve=le[3];h.maybeAppendByClassName(mc.label,"text").styles((0,xe.pi)((0,xe.pi)({},U),{x:ue,y:fe,text:u(N).toString(),textAlign:de,textBaseline:ve}))})},e}(ai),Hx={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},O5=Li({},Hx,{}),S9=Li({},Hx,su(Wx,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),O9=.01,D9=.5,yc=_s({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),D5=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,O5)||this}return e.prototype.renderTitle=function(t,n,i){var a=this.attributes,s=a.showTitle,o=a.titleText,l=Wn(this.attributes,"title"),u=(0,xe.CR)(ro(l),2),h=u[0],p=u[1];this.titleGroup=t.maybeAppendByClassName(yc.titleGroup,"g").styles(p);var S=(0,xe.pi)((0,xe.pi)({width:n,height:i},h),{text:s?o:""});this.title=this.titleGroup.maybeAppendByClassName(yc.title,function(){return new ZB({style:S})}).update(S)},e.prototype.renderItems=function(t,n){var i=n.x,a=n.y,s=n.width,o=n.height,l=Wn(this.attributes,"title",!0),u=(0,xe.CR)(ro(l),2),h=u[0],p=u[1],S=(0,xe.pi)((0,xe.pi)({},h),{width:s,height:o,x:0,y:0});this.itemsGroup=t.maybeAppendByClassName(yc.itemsGroup,"g").styles((0,xe.pi)((0,xe.pi)({},p),{transform:"translate(".concat(i,", ").concat(a,")")}));var N=this;this.itemsGroup.selectAll(yc.items.class).data(["items"]).join(function(U){return U.append(function(){return new S5({style:S})}).attr("className",yc.items.name).each(function(){N.items=_n(this)})},function(U){return U.update(S)},function(U){return U.remove()})},e.prototype.adjustLayout=function(){var t=this.attributes.showTitle;if(t){var n=this.title.node().getAvailableSpace(),i=n.x,a=n.y;this.itemsGroup.node().style.transform="translate(".concat(i,", ").concat(a,")")}},Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.showTitle,i=t.width,a=t.height;return n?this.title.node().getAvailableSpace():new Ji(0,0,i,a)},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t,n,i=(t=this.title)===null||t===void 0?void 0:t.node(),a=(n=this.items)===null||n===void 0?void 0:n.node();return!i||!a?r.prototype.getBBox.call(this):GB(i,a)},e.prototype.render=function(t,n){var i=this.attributes,a=i.width,s=i.height,o=i.x,l=o===void 0?0:o,u=i.y,h=u===void 0?0:u,p=_n(n);n.style.transform="translate(".concat(l,", ").concat(h,")"),this.renderTitle(p,a,s),this.renderItems(p,this.availableSpace),this.adjustLayout()},e}(ai);function N0(r){const{width:e,height:t,renderer:n}=r,i=C5(r),a=new Zv({width:e,height:t,container:i,renderer:n||new ac});return[i,a]}function C5(r){var e;const{container:t,className:n,graphCanvas:i}=r;if(t)return typeof t=="string"?document.getElementById(t):t;const a=au(n,!1),{width:s,height:o,containerStyle:l}=r,[u,h]=L5(r);return Object.assign(a.style,Object.assign({position:"absolute",left:u+"px",top:h+"px",width:s+"px",height:o+"px"},l)),(e=i.getContainer())===null||e===void 0||e.appendChild(a),a}function L5(r){const{width:e,height:t,placement:n,graphCanvas:i}=r,[a,s]=i.getSize(),[o,l]=H_(n);return[o*(a-e),l*(s-t)]}var R5=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class md extends zi{constructor(e,t){super(e,Object.assign({},md.defaultOptions,t)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:n}=this.context;n.on(Qt.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:s}=this,o=ba(n,[s,"id"]),l=ba(n,[s,"style","labelText"]),[u]=o.split("__"),h=this.fieldMap[u].get(l)||[];a.setElementState(Object.fromEntries(h==null?void 0:h.map(p=>[p,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=ba(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=ba(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const s=this.fieldMap[a];if(s)if(!s.has(n))s.set(n,[i]);else{const o=s.get(n);o&&(o.push(i),s.set(n,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:s}=this.context,{nodes:o,edges:l,combos:u}=a.getData(),h={},p=V=>yn(n)?n(V):n,S={node:"circle",edge:"line",combo:"rect"},N={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},U=(V,Y)=>s==null?void 0:s.getElementComputedStyle(V,Y),H=(V,Y)=>{V.forEach(q=>{const{id:ne}=q,le=ba(q,["data",p(q)]),ue=(s==null?void 0:s.getElementType(Y,q))||"circle",fe=U(Y,q),de=(Y==="edge"?fe==null?void 0:fe.stroke:fe==null?void 0:fe.fill)||"#1783ff";ne&&le&&le.replace(/\s+/g,"")&&(this.setFieldMap(le,ne,Y),h[le]||(h[le]={id:`${Y}__${ne}`,label:le,marker:N[ue]||S[Y],elementType:Y,lineWidth:1,stroke:de,fill:de}))})};switch(i){case"node":H(o,"node");break;case"edge":H(l,"edge");break;case"combo":H(u,"combo");break;default:return[]}return Object.values(h)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:s,edgeField:o,comboField:l,trigger:u,position:h,container:p,containerStyle:S,className:N}=n,U=R5(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),H=this.getMarkerData(s,"node"),V=this.getMarkerData(o,"edge"),Y=this.getMarkerData(l,"combo"),q=[...H,...Y,...V],ne=Object.assign({width:i,height:a,data:q,itemMarkerLineWidth:({lineWidth:fe})=>fe,itemMarker:({marker:fe})=>fe,itemMarkerStroke:({stroke:fe})=>fe,itemMarkerFill:({fill:fe})=>fe,gridCol:H.length},U,this.getEvents()),le=new D5({className:"legend",style:ne});this.category=le,this.upsertCanvas().appendChild(le),this.draw=!0},this.bindEvents()}update(e){super.update(e),this.clear(),this.createElement()}clear(){var e,t;(e=this.canvas)===null||e===void 0||e.destroy(),(t=this.container)===null||t===void 0||t.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5,itemLabelOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const e=this.context.canvas,[t,n]=e.getSize(),{width:i=t,height:a=n,position:s,container:o,containerStyle:l,className:u}=this.options,[h,p]=N0({width:i,height:a,graphCanvas:e,container:o,containerStyle:l,placement:s,className:"legend"});return this.container=h,u&&h.classList.add(u),this.canvas=p,this.canvas}destroy(){this.clear(),this.context.graph.off(Qt.AFTER_DRAW,this.createElement),super.destroy()}}md.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class yd extends zi{constructor(e,t){super(e,Object.assign({},yd.defaultOptions,t)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:s,movementY:o}=n,{left:l,top:u,width:h,height:p}=this.mask.style,[,,S,N]=this.maskBBox;let U=parseInt(l)+s,H=parseInt(u)+o,V=parseInt(h),Y=parseInt(p);U<0&&(U=0),H<0&&(H=0),U+V>i&&(U=Fo(i-V,0)),H+Y>a&&(H=Fo(a-Y,0)),V<S&&(s>0?(U=Fo(U-s,0),V=ko(V+s,i)):s<0&&(V=ko(V-s,i))),Y<N&&(o>0?(H=Fo(H-o,0),Y=ko(Y+o,a)):o<0&&(Y=ko(Y-o,a))),Object.assign(this.mask.style,{left:U+"px",top:H+"px",width:V+"px",height:Y+"px"});const q=parseInt(l)-U,ne=parseInt(u)-H;if(q===0&&ne===0)return;const le=this.context.canvas.getCamera().getZoom(),ue=this.canvas.getCamera().getZoom(),fe=le/ue;this.context.graph.translateBy([q*fe,ne*fe],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=Qy(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),"delay"in e&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=uc(()=>{this.renderMinimap(),this.renderMask()},this.options.delay)}bindEvents(){const{graph:e}=this.context;e.on(Qt.AFTER_DRAW,this.onDraw),e.on(Qt.AFTER_RENDER,this.onRender),e.on(Qt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(Qt.AFTER_DRAW,this.onDraw),e.off(Qt.AFTER_RENDER,this.onRender),e.off(Qt.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const e=this.getElements(),t=this.initCanvas();this.setShapes(t,e)}getElements(){const{filter:e}=this.options,{model:t}=this.context,n=t.getData();if(!e)return n;const{nodes:i,edges:a,combos:s}=n;return{nodes:i.filter(o=>e(Et(o),"node")),edges:a.filter(o=>e(Et(o),"edge")),combos:s.filter(o=>e(Et(o),"combo"))}}setShapes(e,t){const{nodes:n,edges:i,combos:a}=t,{shape:s}=this.options,{element:o}=this.context;if(s==="key"){const u=new Set,h=p=>{const S=Et(p);u.add(S);const N=o.getElement(S);if(!N)return;const U=N.getShape("key"),H=this.shapes.get(S)||U.cloneNode();H.setPosition(U.getPosition()),N.style.zIndex&&(H.style.zIndex=N.style.zIndex),H.id=N.id,this.shapes.has(S)?Object.entries(U.attributes).forEach(([V,Y])=>{H.style[V]!==Y&&(H.style[V]=Y)}):(e.appendChild(H),this.shapes.set(S,H))};i.forEach(h),a.forEach(h),n.forEach(h),this.shapes.forEach((p,S)=>{u.has(S)||(e.removeChild(p),this.shapes.delete(S))});return}const l=(u,h)=>{const S=o.getElement(u).getPosition();return h.setPosition(S),h};e.removeChildren(),i.forEach(u=>e.appendChild(s(Et(u),"edge"))),a.forEach(u=>{e.appendChild(l(Et(u),s(Et(u),"combo")))}),n.forEach(u=>{e.appendChild(l(Et(u),s(Et(u),"node")))})}initCanvas(){const{renderer:e,size:[t,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(t!==i||n!==a)&&this.canvas.resize(t,n),e&&this.canvas.setRenderer(e)}else{const{className:i,position:a,container:s,containerStyle:o}=this.options,[l,u]=N0({renderer:e,width:t,height:n,placement:a,className:"minimap",container:s,containerStyle:o,graphCanvas:this.context.canvas});i&&l.classList.add(i),this.container=l,this.canvas=u}return this.setCamera(),this.canvas}createLandmark(e,t,n){const i=`${e.join(",")}-${t.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const s=this.canvas.getCamera().createLandmark(i,{position:e,focalPoint:t,zoom:n});return this.landmarkMap.set(i,s),s}setCamera(){var e;const{canvas:t}=this.context,n=(e=this.canvas)===null||e===void 0?void 0:e.getCamera();if(!n)return;const{size:[i,a],padding:s}=this.options,[o,l,u,h]=cs(s),{min:p,max:S,center:N}=t.getBounds("elements"),U=S[0]-p[0],H=S[1]-p[1],V=i-h-l,Y=a-o-u,q=V/U,ne=Y/H,le=Math.min(q,ne),ue=this.createLandmark(N,N,le);n.gotoLandmark(ue,0)}get maskBBox(){const{canvas:e}=this.context,t=e.getSize(),n=e.getCanvasByViewport([0,0]),i=e.getCanvasByViewport(t),a=this.canvas.canvas2Viewport(gs(n)),s=this.canvas.canvas2Viewport(gs(i)),o=s.x-a.x,l=s.y-a.y;return[a.x,a.y,o,l]}calculateMaskBBox(){const{size:[e,t]}=this.options;let[n,i,a,s]=this.maskBBox;return n<0&&(a=ko(a+n,e),n=0),i<0&&(s=ko(s+i,t),i=0),n+a>e&&(a=Fo(e-n,0)),i+s>t&&(s=Fo(t-i,0)),[ko(n,e),ko(i,t),Fo(a,0),Fo(s,0)]}renderMask(){const{maskStyle:e}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart),this.mask.draggable=!0,this.mask.addEventListener("dragstart",t=>t.preventDefault&&t.preventDefault())),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},e),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[e,t,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:t+"px",left:e+"px",width:n+"px",height:i+"px"})}destroy(){var e;this.unbindEvents(),this.canvas.destroy(),(e=this.mask)===null||e===void 0||e.remove(),super.destroy()}}yd.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const ko=(r,e)=>Math.min(r,e),Fo=(r,e)=>Math.max(r,e);var B0=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};const k0={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class _d extends zi{constructor(e,t){super(e,Object.assign({},_d.defaultOptions,t)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new al({style:Object.assign(Object.assign({},k0),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new al({style:Object.assign(Object.assign({},k0),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>B0(this,void 0,void 0,function*(){const{verticalX:s,horizontalY:o}=a,{tolerance:l}=this.options,{min:[u,h],max:[p,S],center:[N,U]}=i;let H=0,V=0;s!==null&&(qi(p,s)<l&&(H=s-p),qi(u,s)<l&&(H=s-u),qi(N,s)<l&&(H=s-N),H!==0&&(this.isVerticalSticking=!0)),o!==null&&(qi(S,o)<l&&(V=o-S),qi(h,o)<l&&(V=o-h),qi(U,o)<l&&(V=o-U),V!==0&&(this.isHorizontalSticking=!0)),(H!==0||V!==0)&&(yield this.context.graph.translateElementBy({[n]:[H,V]},!1))}),this.enableSnap=n=>{const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[s,o]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(s)<=a&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,-o]},!1),!1;if(this.isHorizontalSticking&&Math.abs(o)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-o]},!1),!1;if(this.isVerticalSticking&&Math.abs(s)<=a)return this.context.graph.translateElementBy({[i.id]:[-s,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:s}=this.options,{min:[o,l],max:[u,h],center:[p,S]}=i;let N=null,U=null,H=null,V=null,Y=null,q=null;return this.getNodes().some(ne=>{if(ci(n.id,ne.id))return!1;const le=Gx(ne,s).getRenderBounds(),{min:[ue,fe],max:[de,ve],center:[Te,Oe]}=le;return N===null&&(qi(Te,p)<a?N=Te:qi(ue,o)<a||qi(ue,u)<a?N=ue:(qi(de,u)<a||qi(de,o)<a)&&(N=de),N!==null&&(U=Math.min(fe,l),H=Math.max(ve,h))),V===null&&(qi(Oe,S)<a?V=Oe:qi(fe,l)<a||qi(fe,h)<a?V=fe:(qi(ve,h)<a||qi(ve,l)<a)&&(V=ve),V!==null&&(Y=Math.min(ue,o),q=Math.max(de,u))),N!==null&&V!==null}),{verticalX:N,verticalMinY:U,verticalMaxY:H,horizontalY:V,horizontalMinX:Y,horizontalMaxX:q}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=n=>B0(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=Gx(i,this.options.shape).getRenderBounds(),s=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(s.verticalX!==null||s.horizontalY!==null)&&this.updateSnapline(s),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,s))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var e;const{filter:t}=this.options,i=(((e=this.context.element)===null||e===void 0?void 0:e.getNodes())||[]).filter(a=>{var s;return kL(a)&&((s=this.context.viewport)===null||s===void 0?void 0:s.isInViewport(a.getRenderBounds()))});return t?i.filter(a=>t(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(e){const{lineWidth:t}=this.options[`${e}LineStyle`];return+(t||k0.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(e){const{verticalX:t,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:s,horizontalMaxX:o}=e,[l,u]=this.context.canvas.getSize(),{offset:h}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:h===1/0?0:s-h,y1:a,x2:h===1/0?l:o+h,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",t!==null?Object.assign(this.verticalLine.style,{x1:t,y1:h===1/0?0:n-h,x2:t,y2:h===1/0?u:i+h,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(e){const t=this.context.graph.getZoom();return vs([e.dx,e.dy],t)}bindEvents(){return B0(this,void 0,void 0,function*(){const{graph:e}=this.context;e.on(Ja.DRAG_START,this.onDragStart),e.on(Ja.DRAG,this.onDrag),e.on(Ja.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:e}=this.context;e.off(Ja.DRAG_START,this.onDragStart),e.off(Ja.DRAG,this.onDrag),e.off(Ja.DRAG_END,this.onDragEnd)}destroyElements(){var e,t;(e=this.horizontalLine)===null||e===void 0||e.destroy(),(t=this.verticalLine)===null||t===void 0||t.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}_d.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const qi=(r,e)=>Math.abs(r-e),Gx=(r,e)=>typeof e=="function"?e(r):r.getShape(e);var jx=null,I5=null;function Ed(r){return r instanceof Date?r:new Date(r)}function N5(r){for(var e=__read(r,2),t=e[0],n=e[1],i=jx.indexOf(t),a=jx.indexOf(n),s="",o=i;o<=a;o+=1)if(s+=I5[o],o<a){var l="-";o===2?l=" ":o>2&&(l=":"),s+=l}return s}function la(r,e){var t={YYYY:r.getFullYear(),MM:r.getMonth()+1,DD:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds()},n=e;return Object.keys(t).forEach(function(i){var a=t[i];n=n.replace(i,i==="YYYY"?"".concat(a):"".concat(a).padStart(2,"0"))}),n}function C9(r,e){return Ed(r).getTime()-Ed(e).getTime()}function L9(r,e){var t=__read([Ed(r),Ed(e)],2),n=t[0],i=t[1];return n.getFullYear()!==i.getFullYear()?"year":n.getMonth()!==i.getMonth()?"month":n.getDay()!==i.getDay()?"day":n.getHours()!==i.getHours()?"hour":n.getMinutes()!==i.getMinutes()?"minute":"second"}function R9(r,e){var t=new Date(r),n={year:function(i){i.setMonth(0),i.setHours(0,0,0,0)},month:function(i){i.setDate(1),i.setHours(0,0,0,0)},day:function(i){return i.setHours(0,0,0,0)},hour:function(i){return i.setMinutes(0,0,0)},minute:function(i){return i.setSeconds(0,0)},second:function(i){return i.setMilliseconds(0)}};return n[e](t),la(t,N5(["year",e]))}function B5(r,e){if(r.length<=e)return r;for(var t=Math.floor(r.length/e),n=[],i=0;i<r.length;i+=t)n.push(r[i]);return n}var F0={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Sa({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},I9=sa({},F0,{style:{type:"arc"}}),N9=sa({},F0,{style:{}}),Dr=_s({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis");function ao(r,e){return[r[0]*e,r[1]*e]}function _c(r,e){return[r[0]+e[0],r[1]+e[1]]}function z0(r,e){return[r[0]-e[0],r[1]-e[1]]}function Tl(r,e){return[Math.min(r[0],e[0]),Math.min(r[1],e[1])]}function Pl(r,e){return[Math.max(r[0],e[0]),Math.max(r[1],e[1])]}function Ec(r,e){return Math.sqrt(Math.pow(r[0]-e[0],2)+Math.pow(r[1]-e[1],2))}function Vx(r){if(r[0]===0&&r[1]===0)return[0,0];var e=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2));return[r[0]/e,r[1]/e]}function B9(r,e,t){var n=__read(r,2),i=n[0],a=n[1],s=__read(e,2),o=s[0],l=s[1],u=i-o,h=a-l,p=Math.sin(t),S=Math.cos(t);return[u*S-h*p+o,u*p+h*S+l]}function k5(r,e){return e?[r[1],-r[0]]:[-r[1],r[0]]}function lu(r){return r*Math.PI/180}function Zx(r){return Number((r*180/Math.PI).toPrecision(5))}function xd(r,e){return r.style.opacity||(r.style.opacity=1),Es(r,{opacity:0},e)}var F5=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function z5(r){return F5.includes(r)}function Kx(r){var e={};for(var t in r)z5(t)&&(e[t]=r[t]);return e}var uu=_s({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function Xx(r){return r.reduce(function(e,t,n){return e.push((0,xe.ev)([n===0?"M":"L"],(0,xe.CR)(t),!1)),e},[])}function U5(r,e,t){var n=e.connect,i=n===void 0?"line":n,a=e.center;if(i==="line")return Xx(r);if(!a)return[];var s=Ec(r[0],a),o=t?0:1;return r.reduce(function(l,u,h){return h===0?l.push((0,xe.ev)(["M"],(0,xe.CR)(u),!1)):l.push((0,xe.ev)(["A",s,s,0,0,o],(0,xe.CR)(u),!1)),l},[])}function U0(r,e,t){return e.type==="surround"?U5(r,e,t):Xx(r)}function W5(r,e,t){var n=t.type,i=t.connect,a=t.center,s=t.closed,o=s?[["Z"]]:[],l=(0,xe.CR)([U0(r,t),U0(e.slice().reverse(),t,!0)],2),u=l[0],h=l[1],p=(0,xe.CR)([r[0],e.slice(-1)[0]],2),S=p[0],N=p[1],U=function(q,ne){return[u,q,h,ne,o].flat()};if(i==="line"||n==="surround")return U([(0,xe.ev)(["L"],(0,xe.CR)(N),!1)],[(0,xe.ev)(["L"],(0,xe.CR)(S),!1)]);if(!a)throw new Error("Arc grid need to specified center");var H=(0,xe.CR)([Ec(N,a),Ec(S,a)],2),V=H[0],Y=H[1];return U([(0,xe.ev)(["A",V,V,0,0,1],(0,xe.CR)(N),!1),(0,xe.ev)(["L"],(0,xe.CR)(N),!1)],[(0,xe.ev)(["A",Y,Y,0,0,0],(0,xe.CR)(S),!1),(0,xe.ev)(["L"],(0,xe.CR)(S),!1)])}function H5(r,e,t,n){var i=t.animate,a=t.isBillboard,s=e.map(function(o,l){return{id:o.id||"grid-line-".concat(l),d:U0(o.points,t)}});return r.selectAll(uu.line.class).data(s,function(o){return o.id}).join(function(o){return o.append("path").each(function(l,u){var h=Ba(Kx((0,xe.pi)({d:l.d},n)),[l,u,s]);this.attr((0,xe.pi)({class:uu.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:a},h))})},function(o){return o.transition(function(l,u){var h=Ba(Kx((0,xe.pi)({d:l.d},n)),[l,u,s]);return Es(this,h,i.update)})},function(o){return o.transition(function(){var l=this,u=xd(this,i.exit);return ou(u,function(){return l.remove()}),u})}).transitions()}function G5(r,e,t){var n=t.animate,i=t.connect,a=t.areaFill;if(e.length<2||!a||!i)return[];for(var s=Array.isArray(a)?a:[a,"transparent"],o=function(U){return s[U%s.length]},l=[],u=0;u<e.length-1;u++){var h=(0,xe.CR)([e[u].points,e[u+1].points],2),p=h[0],S=h[1],N=W5(p,S,t);l.push({d:N,fill:o(u)})}return r.selectAll(uu.region.class).data(l,function(U,H){return H}).join(function(U){return U.append("path").each(function(H,V){var Y=Ba(H,[H,V,l]);this.attr(Y)}).attr("className",uu.region.name)},function(U){return U.transition(function(H,V){var Y=Ba(H,[H,V,l]);return Es(this,Y,n.update)})},function(U){return U.transition(function(){var H=this,V=xd(this,n.exit);return ou(V,function(){return H.remove()}),V})}).transitions()}function j5(r){var e=r.data,t=e===void 0?[]:e,n=r.closed;return n?t.map(function(i){var a=i.points,s=(0,xe.CR)(a,1),o=s[0];return(0,xe.pi)((0,xe.pi)({},i),{points:(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(a),!1),[o],!1)})}):t}var V5=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.type,a=t.center,s=t.areaFill,o=t.closed,l=(0,xe._T)(t,["type","center","areaFill","closed"]),u=j5(t),h=_n(n).maybeAppendByClassName(uu.lineGroup,"g"),p=_n(n).maybeAppendByClassName(uu.regionGroup,"g"),S=H5(h,u,t,l),N=G5(p,u,t);return(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(S),!1),(0,xe.CR)(N),!1)},e}(ai),Z5=function(r,e){return function(t){return r*(1-t)+e*t}};function K5(r,e){var t=e?e.length:0,n=r?Math.min(t,r.length):0;return function(i){var a=new Array(n),s=new Array(t),o=0;for(o=0;o<n;++o)a[o]=W0(r[o],e[o]);for(;o<t;++o)s[o]=e[o];for(o=0;o<n;++o)s[o]=a[o](i);return s}}function X5(r,e){r===void 0&&(r={}),e===void 0&&(e={});var t={},n={};return Object.entries(e).forEach(function(i){var a=(0,xe.CR)(i,2),s=a[0],o=a[1];s in r?t[s]=W0(r[s],o):n[s]=o}),function(i){return Object.entries(t).forEach(function(a){var s=(0,xe.CR)(a,2),o=s[0],l=s[1];return n[o]=l(i)}),n}}function W0(r,e){return typeof r=="number"&&typeof e=="number"?Z5(r,e):Array.isArray(r)&&Array.isArray(e)?K5(r,e):typeof r=="object"&&typeof e=="object"?X5(r,e):function(t){return r}}function Y5(r,e,t,n){if(!n)return r.attr("__keyframe_data__",t),null;var i=n.duration,a=i===void 0?0:i,s=W0(e,t),o=Math.ceil(+a/16),l=new Array(o).fill(0).map(function(u,h,p){return{__keyframe_data__:s(h/(p.length-1))}});return r.animate(l,(0,xe.pi)({fill:"both"},n))}function Yx(r,e){var t={},n=Array.isArray(e)?e:[e];for(var i in r)n.includes(i)||(t[i]=r[i]);return t}function Qx(r,e){return Object.fromEntries(Object.entries(r).map(function(t){var n=(0,xe.CR)(t,2),i=n[0],a=n[1];return[i,Ba(a,e)]}))}function k9(r){if(r.type==="linear"){var e=r.startPos,t=r.endPos;return __spreadArray(__spreadArray([],__read(e),!1),__read(t),!1)}var n=r.startAngle,i=r.endAngle,a=r.center,s=r.radius;return __spreadArray(__spreadArray([n,i],__read(a),!1),[s],!1)}function H0(r,e){return e&&yn(e)?r.filter(e):r}function Jx(r,e){var t=e.startAngle,n=e.endAngle;return(n-t)*r+t}function bd(r,e){if(e.type==="linear"){var t=(0,xe.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,xe.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,xe.CR)([s-n,o-i],2),u=l[0],h=l[1];return Vx([u,h])}var p=lu(Jx(r,e));return[-Math.sin(p),Math.cos(p)]}function G0(r,e,t){var n=bd(r,t);return k5(n,e!=="positive")}function xc(r,e){return G0(r,e.labelDirection,e)}function Q5(r,e){var t=(0,xe.CR)(e.startPos,2),n=t[0],i=t[1],a=(0,xe.CR)(e.endPos,2),s=a[0],o=a[1],l=(0,xe.CR)([s-n,o-i],2),u=l[0],h=l[1];return[n+u*r,i+h*r]}function J5(r,e){var t=e.radius,n=(0,xe.CR)(e.center,2),i=n[0],a=n[1],s=lu(Jx(r,e));return[i+t*Math.cos(s),a+t*Math.sin(s)]}function wd(r,e){return e.type==="linear"?Q5(r,e):J5(r,e)}function j0(r){return bd(0,r)[1]===0}function qx(r){return bd(0,r)[0]===0}function $x(r,e){return e-r===360}function eb(r,e,t,n,i){var a=e-r,s=(0,xe.CR)([i,i],2),o=s[0],l=s[1],u=(0,xe.CR)([lu(r),lu(e)],2),h=u[0],p=u[1],S=function(Oe){return[t+i*Math.cos(Oe),n+i*Math.sin(Oe)]},N=(0,xe.CR)(S(h),2),U=N[0],H=N[1],V=(0,xe.CR)(S(p),2),Y=V[0],q=V[1];if($x(r,e)){var ne=(p+h)/2,le=(0,xe.CR)(S(ne),2),ue=le[0],fe=le[1];return[["M",U,H],["A",o,l,0,1,0,ue,fe],["A",o,l,0,1,0,Y,q]]}var de=a>180?1:0,ve=r>e?0:1,Te=!1;return Te?"M".concat(t,",").concat(n,",L").concat(U,",").concat(H,",A").concat(o,",").concat(l,",0,").concat(de,",").concat(ve,",").concat(Y,",").concat(q,",L").concat(t,",").concat(n):"M".concat(U,",").concat(H,",A").concat(o,",").concat(l,",0,").concat(de,",").concat(ve,",").concat(Y,",").concat(q)}function q5(r){var e=r.attributes,t=e.startAngle,n=e.endAngle,i=e.center,a=e.radius;return(0,xe.ev)((0,xe.ev)([t,n],(0,xe.CR)(i),!1),[a],!1)}function $5(r,e,t,n){var i=e.startAngle,a=e.endAngle,s=e.center,o=e.radius;return r.selectAll(Dr.line.class).data([{d:eb.apply(void 0,(0,xe.ev)((0,xe.ev)([i,a],(0,xe.CR)(s),!1),[o],!1))}],function(l,u){return u}).join(function(l){return l.append("path").attr("className",Dr.line.name).styles(e).styles({d:function(u){return u.d}})},function(l){return l.transition(function(){var u=this,h=Y5(this,q5(this),(0,xe.ev)((0,xe.ev)([i,a],(0,xe.CR)(s),!1),[o],!1),n.update);if(h){var p=function(){var S=ba(u.attributes,"__keyframe_data__");u.style.d=eb.apply(void 0,(0,xe.ev)([],(0,xe.CR)(S),!1))};h.onframe=p,h.onfinish=p}return h}).styles(e)},function(l){return l.remove()}).styles(t).transitions()}function e4(r,e){var t=e.truncRange,n=e.truncShape,i=e.lineExtension}function t4(r,e,t){t===void 0&&(t=[0,0]);var n=(0,xe.CR)([r,e,t],3),i=(0,xe.CR)(n[0],2),a=i[0],s=i[1],o=(0,xe.CR)(n[1],2),l=o[0],u=o[1],h=(0,xe.CR)(n[2],2),p=h[0],S=h[1],N=(0,xe.CR)([l-a,u-s],2),U=N[0],H=N[1],V=Math.sqrt(Math.pow(U,2)+Math.pow(H,2)),Y=(0,xe.CR)([-p/V,S/V],2),q=Y[0],ne=Y[1];return[q*U,q*H,ne*U,ne*H]}function tb(r){var e=(0,xe.CR)(r,2),t=(0,xe.CR)(e[0],2),n=t[0],i=t[1],a=(0,xe.CR)(e[1],2),s=a[0],o=a[1];return{x1:n,y1:i,x2:s,y2:o}}function n4(r,e,t,n){var i=e.showTrunc,a=e.startPos,s=e.endPos,o=e.truncRange,l=e.lineExtension,u=(0,xe.CR)([a,s],2),h=(0,xe.CR)(u[0],2),p=h[0],S=h[1],N=(0,xe.CR)(u[1],2),U=N[0],H=N[1],V=(0,xe.CR)(l?t4(a,s,l):new Array(4).fill(0),4),Y=V[0],q=V[1],ne=V[2],le=V[3],ue=function(ct){return r.selectAll(Dr.line.class).data(ct,function(ft,At){return At}).join(function(ft){return ft.append("line").attr("className",function(At){return"".concat(Dr.line.name," ").concat(At.className)}).styles(t).transition(function(At){return Es(this,tb(At.line),!1)})},function(ft){return ft.styles(t).transition(function(At){var Ft=At.line;return Es(this,tb(Ft),n.update)})},function(ft){return ft.remove()}).transitions()};if(!i||!o)return ue([{line:[[p+Y,S+q],[U+ne,H+le]],className:Dr.line.name}]);var fe=(0,xe.CR)(o,2),de=fe[0],ve=fe[1],Te=U-p,Oe=H-S,Ie=(0,xe.CR)([p+Te*de,S+Oe*de],2),ze=Ie[0],Xe=Ie[1],et=(0,xe.CR)([p+Te*ve,S+Oe*ve],2),st=et[0],bt=et[1],_t=ue([{line:[[p+Y,S+q],[ze,Xe]],className:Dr.lineFirst.name},{line:[[st,bt],[U+ne,H+le]],className:Dr.lineSecond.name}]);return e4(r,e),_t}function r4(r,e,t,n){var i=t.showArrow,a=t.showTrunc,s=t.lineArrow,o=t.lineArrowOffset,l=t.lineArrowSize,u;if(e==="arc"?u=r.select(Dr.line.class):a?u=r.select(Dr.lineSecond.class):u=r.select(Dr.line.class),!i||!s||t.type==="arc"&&$x(t.startAngle,t.endAngle)){var h=u.node();h&&(h.style.markerEnd=void 0);return}var p=io(s);p.attr(n),C0(p,l,!0),u.style("markerEnd",p).style("markerEndOffset",-o)}function i4(r,e,t){var n=e.type,i,a=Wn(e,"line");return n==="linear"?i=n4(r,e,Yx(a,"arrow"),t):i=$5(r,e,Yx(a,"arrow"),t),r4(r,n,e,a),i}function a4(r,e){return G0(r,e.gridDirection,e)}function nb(r){var e=r.type,t=r.gridCenter;return e==="linear"?t:t||r.center}function s4(r,e){var t=e.gridLength;return r.map(function(n,i){var a=n.value,s=(0,xe.CR)(wd(a,e),2),o=s[0],l=s[1],u=(0,xe.CR)(ao(a4(a,e),t),2),h=u[0],p=u[1];return{id:i,points:[[o,l],[o+h,l+p]]}})}function o4(r,e){var t=e.gridControlAngles,n=nb(e);if(!n)throw new Error("grid center is not provide");if(r.length<2)throw new Error("Invalid grid data");if(!t||t.length===0)throw new Error("Invalid gridControlAngles");var i=(0,xe.CR)(n,2),a=i[0],s=i[1];return r.map(function(o,l){var u=o.value,h=(0,xe.CR)(wd(u,e),2),p=h[0],S=h[1],N=(0,xe.CR)([p-a,S-s],2),U=N[0],H=N[1],V=[];return t.forEach(function(Y){var q=lu(Y),ne=(0,xe.CR)([Math.cos(q),Math.sin(q)],2),le=ne[0],ue=ne[1],fe=U*le-H*ue+a,de=U*ue+H*le+s;V.push([fe,de])}),{points:V,id:l}})}function l4(r,e,t,n){var i=Wn(t,"grid"),a=i.type,s=i.areaFill,o=nb(t),l=H0(e,t.gridFilter),u=a==="segment"?s4(l,t):o4(l,t),h=(0,xe.pi)((0,xe.pi)({},i),{center:o,areaFill:yn(s)?l.map(function(p,S){return Ba(s,[p,S,l])}):s,animate:n,data:u});return r.selectAll(Dr.grid.class).data([1]).join(function(p){return p.append(function(){return new V5({style:h})}).attr("className",Dr.grid.name)},function(p){return p.transition(function(){return this.update(h)})},function(p){return p.remove()}).transitions()}function Wi(r,e,t,n,i){return n===void 0&&(n=!0),i===void 0&&(i=!1),n&&r===e||i&&r===t?!0:r>e&&r<t}function u4(r,e,t,n){t===void 0&&(t=2),n===void 0&&(n="top"),zx(r,{wordWrap:!0,wordWrapWidth:e,maxLines:t,textBaseline:n})}function c4(r,e,t){var n=r.getBBox(),i=n.width,a=n.height,s=(0,xe.CR)([e,t].map(function(u,h){var p;return u.includes("%")?parseFloat(((p=u.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||p===void 0?void 0:p[0])||"0")/100*(h===0?i:a):u}),2),o=s[0],l=s[1];return[o,l]}function rb(r,e){if(e)try{var t=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,n=e.replace(t,function(i,a,s){return"translate(".concat(c4(r,a,s),")")});r.attr("transform",n)}catch(i){}}var V0=function(){function r(e,t,n,i){this.set(e,t,n,i)}return Object.defineProperty(r.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),r.prototype.rotatedPoints=function(e,t,n){var i=this,a=i.x1,s=i.y1,o=i.x2,l=i.y2,u=Math.cos(e),h=Math.sin(e),p=t-t*u+n*h,S=n-t*h-n*u,N=[[u*a-h*l+p,h*a+u*l+S],[u*o-h*l+p,h*o+u*l+S],[u*a-h*s+p,h*a+u*s+S],[u*o-h*s+p,h*o+u*s+S]];return N},r.prototype.set=function(e,t,n,i){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),i<t?(this.y2=t,this.y1=i):(this.y1=t,this.y2=i),this},r.prototype.defined=function(e){return this[e]!==Number.MAX_VALUE&&this[e]!==-Number.MAX_VALUE},r}();function Md(r,e){var t=r.getEulerAngles()||0;r.setEulerAngles(0);var n=r.getBounds(),i=(0,xe.CR)(n.min,2),a=i[0],s=i[1],o=(0,xe.CR)(n.max,2),l=o[0],u=o[1],h=r.getBBox(),p=h.width,S=h.height,N=S,U=0,H=0,V=a,Y=s,q=Fx(r);if(q){N-=1.5;var ne=q.style.textAlign,le=q.style.textBaseline;ne==="center"?V=(a+l)/2:(ne==="right"||ne==="end")&&(V=l),le==="middle"?Y=(s+u)/2:le==="bottom"&&(Y=u)}var ue=(0,xe.CR)(Ui(e),4),fe=ue[0],de=fe===void 0?0:fe,ve=ue[1],Te=ve===void 0?0:ve,Oe=ue[2],Ie=Oe===void 0?de:Oe,ze=ue[3],Xe=ze===void 0?Te:ze,et=new V0((U+=a)-Xe,(H+=s)-de,U+p+Te,H+N+Ie);return r.setEulerAngles(t),et.rotatedPoints(lu(t),V,Y)}function bc(r,e){return e[0]<=Math.max(r[0][0],r[1][0])&&e[0]<=Math.min(r[0][0],r[1][0])&&e[1]<=Math.max(r[0][1],r[1][1])&&e[1]<=Math.min(r[0][1],r[1][1])}function wc(r,e,t){var n=(e[1]-r[1])*(t[0]-e[0])-(e[0]-r[0])*(t[1]-e[1]);return n===0?0:n<0?2:1}function h4(r,e){var t=wc(r[0],r[1],e[0]),n=wc(r[0],r[1],e[1]),i=wc(e[0],e[1],r[0]),a=wc(e[0],e[1],r[1]);return!!(t!==n&&i!==a||t===0&&bc(r,e[0])||n===0&&bc(r,e[1])||i===0&&bc(e,r[0])||a===0&&bc(e,r[1]))}function f4(r,e){var t=r.length;if(t<3)return!1;var n=[e,[9999,e[1]]],i=0,a=0;do{var s=[r[a],r[(a+1)%t]];if(h4(s,n)){if(wc(s[0],e,s[1])===0)return bc(s,e);i++}a=(a+1)%t}while(a!==0);return!!(i&1)}function d4(r,e){return e.every(function(t){return f4(r,t)})}function v4(r,e,t){var n=r.x1,i=r.x2,a=r.y1,s=r.y2,o=[[n,a],[i,a],[i,s],[n,s]],l=Md(e,t);return d4(o,l)}function ib(r,e){var t=(0,xe.CR)(r,4),n=t[0],i=t[1],a=t[2],s=t[3],o=(0,xe.CR)(e,4),l=o[0],u=o[1],h=o[2],p=o[3],S=a-n,N=s-i,U=h-l,H=p-u,V=S*H-U*N;if(V===0)return!1;var Y=V>0,q=n-l,ne=i-u,le=S*ne-N*q;if(le<0===Y)return!1;var ue=U*ne-H*q;return!(ue<0===Y||le>V===Y||ue>V===Y)}function ab(r,e){var t=[[r[0],r[1],r[2],r[3]],[r[2],r[3],r[4],r[5]],[r[4],r[5],r[6],r[7]],[r[6],r[7],r[0],r[1]]];return t.some(function(n){return ib(e,n)})}var F9={lineToLine:ib,intersectBoxLine:ab,getBounds:Md};function g4(r,e,t){var n,i,a=Md(r,t).flat(1),s=Md(e,t).flat(1),o=[[a[0],a[1],a[2],a[3]],[a[0],a[1],a[4],a[5]],[a[4],a[5],a[6],a[7]],[a[2],a[3],a[6],a[7]]];try{for(var l=(0,xe.XA)(o),u=l.next();!u.done;u=l.next()){var h=u.value;if(ab(s,h))return!0}}catch(p){n={error:p}}finally{try{u&&!u.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return!1}function p4(r,e){var t=r.type,n=r.labelDirection,i=r.crossSize;if(!i)return!1;if(t==="arc"){var a=r.center,s=r.radius,o=(0,xe.CR)(a,2),l=o[0],u=o[1],h=n==="negative"?0:i,p=-s-h,S=s+h,N=(0,xe.CR)(Ui(e),4),U=N[0],H=N[1],V=N[2],Y=N[3];return new V0(l+p-Y,u+p-U,l+S+H,u+S+V)}var q=(0,xe.CR)(r.startPos,2),ne=q[0],le=q[1],ue=(0,xe.CR)(r.endPos,2),fe=ue[0],de=ue[1],ve=(0,xe.CR)(qx(r)?[-e,0,e,0]:[0,e,0,-e],4),Te=ve[0],Oe=ve[1],Ie=ve[2],ze=ve[3],Xe=xc(0,r),et=ao(Xe,i),st=new V0(ne,le,fe,de);return st.x1+=ze,st.y1+=Te,st.x2+=Oe+et[0],st.y2+=Ie+et[1],st}function Ad(r,e,t){var n,i,a=e.crossPadding,s=new Set,o=null,l=p4(e,a),u=function(U){return l?v4(l,U):!0},h=function(U,H){return!U||!U.firstChild?!0:!g4(U.firstChild,H.firstChild,Ui(t))};try{for(var p=(0,xe.XA)(r),S=p.next();!S.done;S=p.next()){var N=S.value;u(N)?!o||h(o,N)?o=N:(s.add(o),s.add(N)):s.add(N)}}catch(U){n={error:U}}finally{try{S&&!S.done&&(i=p.return)&&i.call(p)}finally{if(n)throw n.error}}return Array.from(s)}function Z0(r,e){return e===void 0&&(e={}),Pn(r)?0:typeof r=="number"?r:Math.floor(A5(r,e))}function m4(r,e,t,n){if(!(r.length<=0)){var i=e.suffix,a=i===void 0?"...":i,s=e.minLength,o=e.maxLength,l=o===void 0?1/0:o,u=e.step,h=u===void 0?" ":u,p=e.margin,S=p===void 0?[0,0,0,0]:p,N=kx(n.getTextShape(r[0])),U=Z0(h,N),H=s?Z0(s,N):U,V=Z0(l,N);(Pn(V)||V===1/0)&&(V=Math.max.apply(null,r.map(function(et){return et.getBBox().width})));for(var Y=r.slice(),q=(0,xe.CR)(S,4),ne=q[0],le=ne===void 0?0:ne,ue=q[1],fe=ue===void 0?0:ue,de=q[2],ve=de===void 0?le:de,Te=q[3],Oe=Te===void 0?fe:Te,Ie=function(et){if(Y.forEach(function(st){n.ellipsis(n.getTextShape(st),et,a)}),Y=Ad(r,t,S),Y.length<1)return{value:void 0}},ze=V;ze>H+U;ze-=U){var Xe=Ie(ze);if(typeof Xe=="object")return Xe.value}}}var y4=function(r){return r!==void 0&&r!=null&&!Number.isNaN(r)},_4={parity:function(r,e){var t=e.seq,n=t===void 0?2:t;return r.filter(function(i,a){return a%n?(ys(i),!1):!0})}},E4=function(r){return r.filter(y4)};function x4(r,e,t,n){var i=r.length,a=e.keepHeader,s=e.keepTail;if(!(i<=1||i===2&&a&&s)){var o=_4.parity,l=function(ne){return ne.forEach(n.show),ne},u=2,h=r.slice(),p=r.slice(),S=Math.min.apply(Math,(0,xe.ev)([1],(0,xe.CR)(r.map(function(ne){return ne.getBBox().width})),!1));if(t.type==="linear"&&(j0(t)||qx(t))){var N=Bx(r[0]).left,U=Bx(r[i-1]).right,H=Math.abs(U-N)||1;u=Math.max(Math.floor(i*S/H),u)}var V,Y;for(a&&(V=h.splice(0,1)[0]),s&&(Y=h.splice(-1,1)[0],h.reverse()),l(h);u<r.length&&Ad(E4(Y?(0,xe.ev)((0,xe.ev)([Y],(0,xe.CR)(p),!1),[V],!1):(0,xe.ev)([V],(0,xe.CR)(p),!1)),t,e==null?void 0:e.margin).length;){if(Y&&!V&&u%2===0){var q=h.splice(0,1);q.forEach(n.hide)}else if(Y&&V){var q=h.splice(0,1);q.forEach(n.hide)}p=o(l(h),{seq:u}),u++}}}function b4(r,e,t,n){var i,a,s=e.optionalAngles,o=s===void 0?[0,45,90]:s,l=e.margin,u=e.recoverWhenFailed,h=u===void 0?!0:u,p=r.map(function(Y){return Y.getLocalEulerAngles()}),S=function(){return Ad(r,t,l).length<1},N=function(Y){return r.forEach(function(q,ne){var le=Array.isArray(Y)?Y[ne]:Y;n.rotate(q,+le)})};try{for(var U=(0,xe.XA)(o),H=U.next();!H.done;H=U.next()){var V=H.value;if(N(V),S())return}}catch(Y){i={error:Y}}finally{try{H&&!H.done&&(a=U.return)&&a.call(U)}finally{if(i)throw i.error}}h&&N(p)}function w4(r){var e=r.type,t=r.labelDirection;return e==="linear"&&j0(r)?t==="negative"?"bottom":"top":"middle"}function M4(r,e,t,n,i){var a,s=e.maxLines,o=s===void 0?3:s,l=e.recoverWhenFailed,u=l===void 0?!0:l,h=e.margin,p=h===void 0?[0,0,0,0]:h,S=Ba((a=e.wordWrapWidth)!==null&&a!==void 0?a:50,[i]),N=r.map(function(ne){return ne.attr("maxLines")||1}),U=Math.min.apply(Math,(0,xe.ev)([],(0,xe.CR)(N),!1)),H=function(){return Ad(r,t,p).length<1},V=w4(t),Y=function(ne){return r.forEach(function(le,ue){var fe=Array.isArray(ne)?ne[ue]:ne;n.wrap(le,S,fe,V)})};if(!(U>o)){if(t.type==="linear"&&j0(t)){if(Y(o),H())return}else for(var q=U;q<=o;q++)if(Y(q),H())return;u&&Y(N)}}var A4=new Map([["hide",x4],["rotate",b4],["ellipsis",m4],["wrap",M4]]);function T4(r,e,t){return e.labelOverlap.length<1?!1:t==="hide"?!LB(r[0]):t==="rotate"?!r.some(function(n){var i;return!!(!((i=n.attr("transform"))===null||i===void 0)&&i.includes("rotate"))}):t==="ellipsis"||t==="wrap"?r.filter(function(n){return n.querySelector("text")}).length>=1:!0}function P4(r,e,t,n){var i=e.labelOverlap,a=i===void 0?[]:i;a.length&&a.forEach(function(s){var o=s.type,l=A4.get(o);T4(r,e,o)&&(l==null||l(r,s,e,n,t))})}function S4(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=function(n){return n==="positive"?-1:1};return r.reduce(function(n,i){return n*t(i)},1)}function sb(r){for(var e=r;e<0;)e+=360;return Math.round(e%360)}function K0(r,e){var t=(0,xe.CR)(r,2),n=t[0],i=t[1],a=(0,xe.CR)(e,2),s=a[0],o=a[1],l=(0,xe.CR)([n*s+i*o,n*o-i*s],2),u=l[0],h=l[1];return Math.atan2(h,u)}function O4(r){var e=(r+360)%180;return Wi(e,-90,90)||(e+=180),e}function D4(r,e,t){var n,i=t.labelAlign,a=(n=e.style.transform)===null||n===void 0?void 0:n.includes("rotate");if(a)return e.getLocalEulerAngles();var s=0,o=xc(r.value,t),l=bd(r.value,t);return i==="horizontal"?0:(i==="perpendicular"?s=K0([1,0],o):s=K0([l[0]<0?-1:1,0],l),O4(Zx(s)))}function ob(r,e,t){var n=t.type,i=t.labelAlign,a=xc(r,t),s=sb(e),o=sb(Zx(K0([1,0],a))),l="center",u="middle";return n==="linear"?[90,270].includes(o)&&s===0?(l="center",u=a[1]===1?"top":"bottom"):!(o%180)&&[90,270].includes(s)?l="center":o===0?(Wi(s,0,90,!1,!0)||Wi(s,0,90)||Wi(s,270,360))&&(l="start"):o===90?Wi(s,0,90,!1,!0)?l="start":(Wi(s,90,180)||Wi(s,270,360))&&(l="end"):o===270?Wi(s,0,90,!1,!0)?l="end":(Wi(s,90,180)||Wi(s,270,360))&&(l="start"):o===180&&(s===90?l="start":(Wi(s,0,90)||Wi(s,270,360))&&(l="end")):i==="parallel"?Wi(o,0,180,!0)?u="top":u="bottom":i==="horizontal"?Wi(o,90,270,!1)?l="end":(Wi(o,270,360,!1)||Wi(o,0,90))&&(l="start"):i==="perpendicular"&&(Wi(o,90,270)?l="end":l="start"),{textAlign:l,textBaseline:u}}function C4(r,e,t){e.setLocalEulerAngles(r);var n=e.__data__.value,i=ob(n,r,t),a=e.querySelector(Dr.labelItem.class);a&&ub(a,i)}function lb(r,e,t){var n=t.showTick,i=t.tickLength,a=t.tickDirection,s=t.labelDirection,o=t.labelSpacing,l=e.indexOf(r),u=Ba(o,[r,l,e]),h=(0,xe.CR)([xc(r.value,t),S4(s,a)],2),p=h[0],S=h[1],N=S===1?Ba(n?i:0,[r,l,e]):0,U=(0,xe.CR)(_c(ao(p,u+N),wd(r.value,t)),2),H=U[0],V=U[1];return{x:H,y:V}}function L4(r,e,t,n){var i=n.labelFormatter,a=yn(i)?function(){return io(Ba(i,[r,e,t,xc(r.value,n)]))}:function(){return io(r.label||"")};return a}function ub(r,e){r.nodeName==="text"&&r.attr(e)}function R4(r,e){P4(this.node().childNodes,r,e,{hide:ys,show:pc,rotate:function(t,n){C4(+n,t,r)},ellipsis:function(t,n,i){t&&I0(t,n||1/0,i)},wrap:function(t,n,i){t&&u4(t,n,i)},getTextShape:function(t){return t.querySelector("text")}})}function cb(r,e,t,n,i){var a=t.indexOf(e),s=_n(r).append(L4(e,a,t,i)).attr("className",Dr.labelItem.name).node(),o=(0,xe.CR)(ro(Qx(n,[e,a,t])),2),l=o[0],u=o[1],h=u.transform,p=(0,xe._T)(u,["transform"]);rb(s,h);var S=D4(e,s,i);return s.getLocalEulerAngles()||s.setLocalEulerAngles(S),ub(s,(0,xe.pi)((0,xe.pi)({},ob(e.value,S,i)),l)),r.attr(p),s}function I4(r,e,t,n,i){var a=H0(e,t.labelFilter),s=Wn(t,"label"),o,l=r.selectAll(Dr.label.class).data(a,function(u,h){return h}).join(function(u){return u.append("g").attr("className",Dr.label.name).transition(function(h){cb(this,h,e,s,t);var p=lb(h,e,t),S=p.x,N=p.y;return this.style.transform="translate(".concat(S,", ").concat(N,")"),null})},function(u){return u.transition(function(h){var p=this.querySelector(Dr.labelItem.class),S=cb(this,h,e,s,t),N=JB(p,S,n.update),U=lb(h,e,t),H=U.x,V=U.y,Y=Es(this,{transform:"translate(".concat(H,", ").concat(V,")")},n.update);return(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(N),!1),[Y],!1)})},function(u){return o=u,u.transition(function(){var h=this,p=xd(this.childNodes[0],n.exit);return ou(p,function(){return _n(h).remove()}),p}),o}).transitions();return YB(l,function(){R4.call(r,t,i)}),l}function hb(r,e){return G0(r,e.tickDirection,e)}function N4(r,e){var t=(0,xe.CR)(r,2),n=t[0],i=t[1];return[[0,0],[n*e,i*e]]}function B4(r,e,t,n,i){var a=i.tickLength,s=(0,xe.CR)(N4(n,Ba(a,[r,e,t])),2),o=(0,xe.CR)(s[0],2),l=o[0],u=o[1],h=(0,xe.CR)(s[1],2),p=h[0],S=h[1];return{x1:l,x2:p,y1:u,y2:S}}function k4(r,e,t,n,i){var a=i.tickFormatter,s=hb(e.value,i),o="line";return yn(a)&&(o=function(){return Ba(a,[e,t,n,s])}),r.append(o).attr("className",Dr.tickItem.name)}function F4(r,e,t,n,i,a,s){var o=hb(r.value,a),l=B4(r,e,t,o,a),u=l.x1,h=l.x2,p=l.y1,S=l.y2,N=(0,xe.CR)(ro(Qx(s,[r,e,t,o])),2),U=N[0],H=N[1];n.node().nodeName==="line"&&n.styles((0,xe.pi)({x1:u,x2:h,y1:p,y2:S},U)),i.attr(H),n.styles(U)}function fb(r,e,t,n,i,a){var s=k4(_n(this),r,e,t,n);F4(r,e,t,s,this,n,i);var o=(0,xe.CR)(wd(r.value,n),2),l=o[0],u=o[1];return Es(this,{transform:"translate(".concat(l,", ").concat(u,")")},a)}function z4(r,e,t,n){var i=H0(e,t.tickFilter),a=Wn(t,"tick");return r.selectAll(Dr.tick.class).data(i,function(s){return s.id||s.label}).join(function(s){return s.append("g").attr("className",Dr.tick.name).transition(function(o,l){return fb.call(this,o,l,i,t,a,!1)})},function(s){return s.transition(function(o,l){return this.removeChildren(),fb.call(this,o,l,i,t,a,n.update)})},function(s){return s.transition(function(){var o=this,l=xd(this.childNodes[0],n.exit);return ou(l,function(){return o.remove()}),l})}).transitions()}function U4(r,e,t){var n=t.titlePosition,i=n===void 0?"lb":n,a=t.titleSpacing,s=gd(i),o=r.node().getLocalBounds(),l=(0,xe.CR)(o.min,2),u=l[0],h=l[1],p=(0,xe.CR)(o.halfExtents,2),S=p[0],N=p[1],U=(0,xe.CR)(e.node().getLocalBounds().halfExtents,2),H=U[0],V=U[1],Y=(0,xe.CR)([u+S,h+N],2),q=Y[0],ne=Y[1],le=(0,xe.CR)(Ui(a),4),ue=le[0],fe=le[1],de=le[2],ve=le[3];if(["start","end"].includes(i)&&t.type==="linear"){var Te=t.startPos,Oe=t.endPos,Ie=(0,xe.CR)(i==="start"?[Te,Oe]:[Oe,Te],2),ze=Ie[0],Xe=Ie[1],et=Vx([-Xe[0]+ze[0],-Xe[1]+ze[1]]),st=(0,xe.CR)(ao(et,ue),2),bt=st[0],_t=st[1];return{x:ze[0]+bt,y:ze[1]+_t}}return s.includes("t")&&(ne-=N+V+ue),s.includes("r")&&(q+=S+H+fe),s.includes("l")&&(q-=S+H+ve),s.includes("b")&&(ne+=N+V+de),{x:q,y:ne}}function W4(r,e,t){var n=r.getGeometryBounds().halfExtents,i=n[1]*2;if(e==="vertical"){if(t==="left")return"rotate(-90) translate(0, ".concat(i/2,")");if(t==="right")return"rotate(-90) translate(0, -".concat(i/2,")")}return""}function db(r,e,t,n,i){var a=Wn(n,"title"),s=(0,xe.CR)(ro(a),2),o=s[0],l=s[1],u=l.transform,h=l.transformOrigin,p=(0,xe._T)(l,["transform","transformOrigin"]);e.styles(p);var S=u||W4(r.node(),o.direction,o.position);r.styles((0,xe.pi)((0,xe.pi)({},o),{transformOrigin:h})),rb(r.node(),S);var N=U4(_n(t._offscreen||t.querySelector(Dr.mainGroup.class)),e,n),U=N.x,H=N.y,V=Es(e.node(),{transform:"translate(".concat(U,", ").concat(H,")")},i);return V}function H4(r,e,t,n){var i=t.titleText;return r.selectAll(Dr.title.class).data([{title:i}].filter(function(a){return!!a.title}),function(a,s){return a.title}).join(function(a){return a.append(function(){return io(i)}).attr("className",Dr.title.name).transition(function(){return db(_n(this),r,e,t,n.enter)})},function(a){return a.transition(function(){return db(_n(this),r,e,t,n.update)})},function(a){return a.remove()}).transitions()}function vb(r,e,t,n){var i=r.showLine,a=r.showTick,s=r.showLabel,o=e.maybeAppendByClassName(Dr.lineGroup,"g"),l=Na(i,o,function(N){return i4(N,r,n)})||[],u=e.maybeAppendByClassName(Dr.tickGroup,"g"),h=Na(a,u,function(N){return z4(N,t,r,n)})||[],p=e.maybeAppendByClassName(Dr.labelGroup,"g"),S=Na(s,p,function(N){return I4(N,t,r,n,e.node())})||[];return(0,xe.ev)((0,xe.ev)((0,xe.ev)([],(0,xe.CR)(l),!1),(0,xe.CR)(h),!1),(0,xe.CR)(S),!1).filter(function(N){return!!N})}var G4=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,F0)||this}return e.prototype.render=function(t,n,i){var a=this,s=t.titleText,o=t.data,l=t.animate,u=t.showTitle,h=t.showGrid,p=t.dataThreshold,S=t.truncRange,N=B5(o,p).filter(function(ue){var fe=ue.value;return!(S&&fe>S[0]&&fe<S[1])}),U=Sx(i===void 0?l:i),H=_n(n).maybeAppendByClassName(Dr.gridGroup,"g"),V=Na(h,H,function(ue){return l4(ue,N,t,U)})||[],Y=_n(n).maybeAppendByClassName(Dr.mainGroup,"g");s&&(!this.initialized&&U.enter||this.initialized&&U.update)&&vb(t,_n(this.offscreenGroup),N,Sx(!1));var q=vb(t,_n(Y.node()),N,U),ne=_n(n).maybeAppendByClassName(Dr.titleGroup,"g"),le=Na(u,ne,function(ue){return H4(ue,a,t,U)})||[];return(0,xe.ev)((0,xe.ev)((0,xe.ev)([],(0,xe.CR)(V),!1),(0,xe.CR)(q),!1),(0,xe.CR)(le),!1).flat().filter(function(ue){return!!ue})},e}(ai);function gb(r){var e=r.canvas,t=r.touches,n=r.offsetX,i=r.offsetY;if(e){var a=e.x,s=e.y;return[a,s]}if(t){var o=t[0],l=o.clientX,u=o.clientY;return[l,u]}return n&&i?[n,i]:[0,0]}function X0(r,e){return+r.toPrecision(e)}function z9(r){return r.toLocaleString()}function U9(r){return r.toExponential()}function W9(r,e){return e===void 0&&(e=0),Math.abs(r)<1e3?String(r):"".concat(X0(r/1e3,e).toLocaleString(),"K")}var H9=function(r,e,t){return r<0&&Number.isFinite(r)?e:t},G9=function(r,e,t){return r>0&&Number.isFinite(r)?e:t},j9=function(r,e){return r*e},V9=function(r,e){return r/2+(e||0)/2},Y0=function(r){return r};class pb{constructor(e){this.options=sa({},this.getDefaultOptions()),this.update(e)}getOptions(){return this.options}update(e={}){this.options=sa({},this.options,e),this.rescale(e)}rescale(e){}}function Q0(r,e){return e-r?t=>(t-r)/(e-r):t=>.5}function Td(r,...e){return e.reduce((t,n)=>i=>t(n(i)),r)}function j4(r,e,t,n,i){let a=t||0,s=n||r.length;const o=i||(l=>l);for(;a<s;){const l=Math.floor((a+s)/2);o(r[l])>e?s=l:a=l+1}return a}var V4=X(75196),Z4=X.n(V4);function J0(r,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?r+(e-r)*6*n:n<1/2?e:n<2/3?r+(e-r)*(2/3-n)*6:r}function K4(r){const e=r[0]/360,t=r[1]/100,n=r[2]/100,i=r[3];if(t===0)return[n*255,n*255,n*255,i];const a=n<.5?n*(1+t):n+t-n*t,s=2*n-a,o=J0(s,a,e+1/3),l=J0(s,a,e),u=J0(s,a,e-1/3);return[o*255,l*255,u*255,i]}function mb(r){const e=Z4().get(r);if(!e)return null;const{model:t,value:n}=e;return t==="rgb"?n:t==="hsl"?K4(n):null}const Pd=(r,e)=>t=>r*(1-t)+e*t,X4=(r,e)=>{const t=mb(r),n=mb(e);return t===null||n===null?t?()=>r:()=>e:i=>{const a=new Array(4);for(let h=0;h<4;h+=1){const p=t[h],S=n[h];a[h]=p*(1-i)+S*i}const[s,o,l,u]=a;return`rgba(${Math.round(s)}, ${Math.round(o)}, ${Math.round(l)}, ${u})`}},Y4=(r,e)=>typeof r=="number"&&typeof e=="number"?Pd(r,e):typeof r=="string"&&typeof e=="string"?X4(r,e):()=>r,Q4=(r,e)=>{const t=Pd(r,e);return n=>Math.round(t(n))};function J4(r){return r===null}function yb(r){return!Bn(r)&&!J4(r)&&!Number.isNaN(r)}const q0=Math.sqrt(50),$0=Math.sqrt(10),ep=Math.sqrt(2);function Sd(r,e,t){const n=(e-r)/Math.max(0,t),i=Math.floor(Math.log(n)/Math.LN10),a=n/jo(10,i);return i>=0?(a>=q0?10:a>=$0?5:a>=ep?2:1)*jo(10,i):-jo(10,-i)/(a>=q0?10:a>=$0?5:a>=ep?2:1)}function Z9(r,e,t){const n=Math.abs(e-r)/Math.max(0,t);let i=jo(10,Math.floor(Math.log(n)/Math.LN10));const a=n/i;return a>=q0?i*=10:a>=$0?i*=5:a>=ep&&(i*=2),e<r?-i:i}const q4=(r,e,t=5)=>{const n=[r,e];let i=0,a=n.length-1,s=n[i],o=n[a],l;return o<s&&([s,o]=[o,s],[i,a]=[a,i]),l=Sd(s,o,t),l>0?(s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l,l=Sd(s,o,t)):l<0&&(s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l,l=Sd(s,o,t)),l>0?(n[i]=Math.floor(s/l)*l,n[a]=Math.ceil(o/l)*l):l<0&&(n[i]=Math.ceil(s*l)/l,n[a]=Math.floor(o*l)/l),n};function $4(r,e){const t=e<r?e:r,n=r>e?r:e;return i=>Math.min(Math.max(t,i),n)}const ek=(r,e,t)=>{const[n,i]=r,[a,s]=e;let o,l;return n<i?(o=Q0(n,i),l=t(a,s)):(o=Q0(i,n),l=t(s,a)),Td(l,o)},tk=(r,e,t)=>{const n=Math.min(r.length,e.length)-1,i=new Array(n),a=new Array(n),s=r[0]>r[n],o=s?[...r].reverse():r,l=s?[...e].reverse():e;for(let u=0;u<n;u+=1)i[u]=Q0(o[u],o[u+1]),a[u]=t(l[u],l[u+1]);return u=>{const h=j4(r,u,1,n)-1,p=i[h],S=a[h];return Td(S,p)(u)}},_b=(r,e,t,n)=>(Math.min(r.length,e.length)>2?tk:ek)(r,e,n?Q4:t);class nk extends pb{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Pd,tickCount:5}}map(e){return yb(e)?this.output(e):this.options.unknown}invert(e){return yb(e)?this.input(e):this.options.unknown}nice(){if(!this.options.nice)return;const[e,t,n,...i]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(e,t,n,...i)}getTicks(){const{tickMethod:e}=this.options,[t,n,i,...a]=this.getTickMethodOptions();return e(t,n,i,...a)}getTickMethodOptions(){const{domain:e,tickCount:t}=this.options,n=e[0],i=e[e.length-1];return[n,i,t]}chooseNice(){return q4}rescale(){this.nice();const[e,t]=this.chooseTransforms();this.composeOutput(e,this.chooseClamp(e)),this.composeInput(e,t,this.chooseClamp(t))}chooseClamp(e){const{clamp:t,range:n}=this.options,i=this.options.domain.map(e),a=Math.min(i.length,n.length);return t?$4(i[0],i[a-1]):Y0}composeOutput(e,t){const{domain:n,range:i,round:a,interpolate:s}=this.options,o=_b(n.map(e),i,s,a);this.output=Td(o,t,e)}composeInput(e,t,n){const{domain:i,range:a}=this.options,s=_b(a,i.map(e),Pd);this.input=Td(t,n,s)}}const rk=(r,e,t)=>{let n,i,a=r,s=e;if(a===s&&t>0)return[a];let o=Sd(a,s,t);if(o===0||!Number.isFinite(o))return[];if(o>0){a=Math.ceil(a/o),s=Math.floor(s/o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)*o}else{o=-o,a=Math.ceil(a*o),s=Math.floor(s*o),i=new Array(n=Math.ceil(s-a+1));for(let l=0;l<n;l+=1)i[l]=(a+l)/o}return i};class Mc extends nk{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:Y4,tickMethod:rk,tickCount:5}}chooseTransforms(){return[Y0,Y0]}clone(){return new Mc(this.options)}}function Eb({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):t}function ik({map:r,initKey:e},t){const n=e(t);return r.has(n)?r.get(n):(r.set(n,t),t)}function ak({map:r,initKey:e},t){const n=e(t);return r.has(n)&&(t=r.get(n),r.delete(n)),t}function sk(r){return typeof r=="object"?r.valueOf():r}class xb extends Map{constructor(e){if(super(),this.map=new Map,this.initKey=sk,e!==null)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(Eb({map:this.map,initKey:this.initKey},e))}has(e){return super.has(Eb({map:this.map,initKey:this.initKey},e))}set(e,t){return super.set(ik({map:this.map,initKey:this.initKey},e),t)}delete(e){return super.delete(ak({map:this.map,initKey:this.initKey},e))}}const tp=Symbol("defaultUnknown");function bb(r,e,t){for(let n=0;n<e.length;n+=1)r.has(e[n])||r.set(t(e[n]),n)}function wb(r){const{value:e,from:t,to:n,mapper:i,notFoundReturn:a}=r;let s=i.get(e);if(s===void 0){if(a!==tp)return a;s=t.push(e)-1,i.set(e,s)}return n[s%n.length]}function Mb(r){return r instanceof Date?e=>`${e}`:typeof r=="object"?e=>JSON.stringify(e):e=>e}class np extends pb{getDefaultOptions(){return{domain:[],range:[],unknown:tp}}constructor(e){super(e)}map(e){return this.domainIndexMap.size===0&&bb(this.domainIndexMap,this.getDomain(),this.domainKey),wb({value:this.domainKey(e),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(e){return this.rangeIndexMap.size===0&&bb(this.rangeIndexMap,this.getRange(),this.rangeKey),wb({value:this.rangeKey(e),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(e){const[t]=this.options.domain,[n]=this.options.range;if(this.domainKey=Mb(t),this.rangeKey=Mb(n),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!e||e.range)&&this.rangeIndexMap.clear(),(!e||e.domain||e.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new np(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:e,compare:t}=this.options;return this.sortedDomain=t?[...e].sort(t):e,this.sortedDomain}}function ok(r){const e=Math.min(...r);return r.map(t=>t/e)}function lk(r,e){const t=r.length,n=e-t;return n>0?[...r,...new Array(n).fill(1)]:n<0?r.slice(0,e):r}function uk(r){return Math.round(r*1e12)/1e12}function ck(r){const{domain:e,range:t,paddingOuter:n,paddingInner:i,flex:a,round:s,align:o}=r,l=e.length,u=lk(a,l),[h,p]=t,S=p-h,N=2/l*n+1-1/l*i,U=S/N,H=U*i/l,V=U-l*H,Y=ok(u),q=Y.reduce((ze,Xe)=>ze+Xe),ne=V/q,le=new xb(e.map((ze,Xe)=>{const et=Y[Xe]*ne;return[ze,s?Math.floor(et):et]})),ue=new xb(e.map((ze,Xe)=>{const st=Y[Xe]*ne+H;return[ze,s?Math.floor(st):st]})),fe=Array.from(ue.values()).reduce((ze,Xe)=>ze+Xe),ve=(S-(fe-fe/l*i))*o,Te=h+ve;let Oe=s?Math.round(Te):Te;const Ie=new Array(l);for(let ze=0;ze<l;ze+=1){Ie[ze]=uk(Oe);const Xe=e[ze];Oe+=ue.get(Xe)}return{valueBandWidth:le,valueStep:ue,adjustedRange:Ie}}function hk(r){var e;const{domain:t}=r,n=t.length;if(n===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((e=r.flex)===null||e===void 0)&&e.length))return ck(r);const{range:a,paddingOuter:s,paddingInner:o,round:l,align:u}=r;let h,p,S=a[0];const U=a[1]-S,H=s*2,V=n-o;h=U/Math.max(1,H+V),l&&(h=Math.floor(h)),S+=(U-h*(n-o))*u,p=h*(1-o),l&&(S=Math.round(S),p=Math.round(p));const Y=new Array(n).fill(0).map((q,ne)=>S+ne*h);return{valueStep:h,valueBandWidth:p,adjustedRange:Y}}class rp extends np{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:tp,flex:[]}}constructor(e){super(e)}clone(){return new rp(this.options)}getStep(e){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:e===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(e)}getBandWidth(e){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:e===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(e)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:e,paddingInner:t}=this.options;return e>0?e:t}getPaddingOuter(){const{padding:e,paddingOuter:t}=this.options;return e>0?e:t}rescale(){super.rescale();const{align:e,domain:t,range:n,round:i,flex:a}=this.options,{adjustedRange:s,valueBandWidth:o,valueStep:l}=hk({align:e,range:n,round:i,flex:a,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:t});this.valueStep=l,this.valueBandWidth=o,this.adjustedRange=s}}var fk=function(r){(0,xe.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,xe._T)(t,["style"]);return n=r.call(this,sa({},{type:"column"},(0,xe.pi)({style:i},a)))||this,n.columnsGroup=new Ai({name:"columns"}),n.appendChild(n.columnsGroup),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.columns,i=t.x,a=t.y;this.columnsGroup.style.transform="translate(".concat(i,", ").concat(a,")"),_n(this.columnsGroup).selectAll(".column").data(n.flat()).join(function(s){return s.append("rect").attr("className","column").each(function(o){this.attr(o)})},function(s){return s.each(function(o){this.attr(o)})},function(s){return s.remove()})},e.prototype.update=function(t){this.attr(Li({},this.attributes,t)),this.render()},e.prototype.clear=function(){this.removeChildren()},e}(Ur),dk=function(r){(0,xe.ZT)(e,r);function e(t){var n=this,i=t.style,a=(0,xe._T)(t,["style"]);return n=r.call(this,sa({},{type:"lines"},(0,xe.pi)({style:i},a)))||this,n.linesGroup=n.appendChild(new Ai),n.areasGroup=n.appendChild(new Ai),n.render(),n}return e.prototype.render=function(){var t=this.attributes,n=t.lines,i=t.areas,a=t.x,s=t.y;this.style.transform="translate(".concat(a,", ").concat(s,")"),n&&this.renderLines(n),i&&this.renderAreas(i)},e.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},e.prototype.update=function(t){this.attr(Li({},this.attributes,t)),this.render()},e.prototype.renderLines=function(t){_n(this.linesGroup).selectAll(".line").data(t).join(function(n){return n.append("path").attr("className","line").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.attr(i)})},function(n){return n.remove()})},e.prototype.renderAreas=function(t){_n(this.linesGroup).selectAll(".area").data(t).join(function(n){return n.append("path").attr("className","area").each(function(i){this.attr(i)})},function(n){return n.each(function(i){this.style(i)})},function(n){return n.remove()})},e}(Ur);function vk(r,e,t,n){var i,a=[],s=!!n,o,l,u=[1/0,1/0],h=[-1/0,-1/0],p,S,N;if(s){i=(0,xe.CR)(n,2),u=i[0],h=i[1];for(var U=0,H=r.length;U<H;U+=1){var V=r[U];u=Tl(u,V),h=Pl(h,V)}}for(var U=0,Y=r.length;U<Y;U+=1){var V=r[U];if(U===0&&!t)N=V;else if(U===Y-1&&!t)S=V,a.push(N),a.push(S);else{var q=[U?U-1:Y-1,U-1][t?0:1];o=r[q],l=r[t?(U+1)%Y:U+1];var ne=[0,0];ne=z0(l,o),ne=ao(ne,e);var le=Ec(V,o),ue=Ec(V,l),fe=le+ue;fe!==0&&(le/=fe,ue/=fe);var de=ao(ne,-le),ve=ao(ne,ue);S=_c(V,de),p=_c(V,ve),p=Tl(p,Pl(l,V)),p=Pl(p,Tl(l,V)),de=z0(p,V),de=ao(de,-le/ue),S=_c(V,de),S=Tl(S,Pl(o,V)),S=Pl(S,Tl(o,V)),ve=z0(V,S),ve=ao(ve,ue/le),p=_c(V,ve),s&&(S=Pl(S,u),S=Tl(S,h),p=Pl(p,u),p=Tl(p,h)),a.push(N),a.push(S),N=p}}return t&&a.push(a.shift()),a}function gk(r,e,t){var n;e===void 0&&(e=!1),t===void 0&&(t=[[0,0],[1,1]]);for(var i=!!e,a=[],s=0,o=r.length;s<o;s+=2)a.push([r[s],r[s+1]]);for(var l=vk(a,.4,i,t),u=a.length,h=[],p,S,N,s=0;s<u-1;s+=1)p=l[s*2],S=l[s*2+1],N=a[s+1],h.push(["C",p[0],p[1],S[0],S[1],N[0],N[1]]);return i&&(p=l[u],S=l[u+1],n=(0,xe.CR)(a,1),N=n[0],h.push(["C",p[0],p[1],S[0],S[1],N[0],N[1]])),h}function pk(r,e){var t,n=e.x,i=e.y,a=(0,xe.CR)(i.getOptions().range||[0,0],2),s=a[0],o=a[1];return o>s&&(t=(0,xe.CR)([s,o],2),o=t[0],s=t[1]),r.map(function(l){var u=l.map(function(h,p){return[n.map(p),Jr(i.map(h),o,s)]});return u})}function Ac(r,e){e===void 0&&(e=!1);var t=e?r.length-1:0,n=r.map(function(i,a){return(0,xe.ev)([a===t?"M":"L"],(0,xe.CR)(i),!1)});return e?n.reverse():n}function Od(r,e){if(e===void 0&&(e=!1),r.length<=2)return Ac(r);for(var t=[],n=r.length,i=0;i<n;i+=1){var a=e?r[n-i-1]:r[i];ci(a,t.slice(-2))||t.push.apply(t,(0,xe.ev)([],(0,xe.CR)(a),!1))}var s=gk(t,!1);return e?s.unshift((0,xe.ev)(["M"],(0,xe.CR)(r[n-1]),!1)):s.unshift((0,xe.ev)(["M"],(0,xe.CR)(r[0]),!1)),s}function ip(r,e,t){var n=Xl(r);return n.push(["L",e,t],["L",0,t],["Z"]),n}function mk(r,e,t,n){return r.map(function(i){return ip(e?Od(i):Ac(i),t,n)})}function yk(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Ac(a),o=void 0;if(i===0)o=ip(s,e,t);else{var l=r[i-1],u=Ac(l,!0);u[0][0]="L",o=(0,xe.ev)((0,xe.ev)((0,xe.ev)([],(0,xe.CR)(s),!1),(0,xe.CR)(u),!1),[["Z"]],!1)}n.push(o)}return n}function _k(r,e,t){for(var n=[],i=r.length-1;i>=0;i-=1){var a=r[i],s=Od(a),o=void 0;if(i===0)o=ip(s,e,t);else{var l=r[i-1],u=Od(l,!0),h=a[0];u[0][0]="L",o=(0,xe.ev)((0,xe.ev)((0,xe.ev)([],(0,xe.CR)(s),!1),(0,xe.CR)(u),!1),[(0,xe.ev)(["M"],(0,xe.CR)(h),!1),["Z"]],!1)}n.push(o)}return n}var Ek=function(r,e){if(va(r)){for(var t,n=1/0,i=0;i<r.length;i++){var a=r[i],s=yn(e)?e(a):a[e];s<n&&(t=a,n=s)}return t}},xk=function(r,e){if(va(r)){for(var t,n=-1/0,i=0;i<r.length;i++){var a=r[i],s=yn(e)?e(a):a[e];s>n&&(t=a,n=s)}return t}};function Ab(r){return r.length===0?[0,0]:[zc(Ek(r,function(e){return zc(e)||0})),Uc(xk(r,function(e){return Uc(e)||0}))]}function Tb(r){for(var e=Xl(r),t=e[0].length,n=(0,xe.CR)([Array(t).fill(0),Array(t).fill(0)],2),i=n[0],a=n[1],s=0;s<e.length;s+=1)for(var o=e[s],l=0;l<t;l+=1)o[l]>=0?(o[l]+=i[l],i[l]=o[l]):(o[l]+=a[l],a[l]=o[l]);return e}var bk=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(e.prototype,"rawData",{get:function(){var t=this.attributes.data;if(!t||(t==null?void 0:t.length)===0)return[[]];var n=Xl(t);return un(n[0])?[n]:n},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.attributes.isStack?Tb(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseline",{get:function(){var t=this.scales.y,n=(0,xe.CR)(t.getOptions().domain||[0,0],2),i=n[0],a=n[1];return a<0?t.map(a):t.map(i<0?0:i)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"containerShape",{get:function(){var t=this.attributes,n=t.width,i=t.height;return{width:n,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linesStyle",{get:function(){var t=this,n=this.attributes,i=n.type,a=n.isStack,s=n.smooth;if(i!=="line")throw new Error("linesStyle can only be used in line type");var o=Wn(this.attributes,"area"),l=Wn(this.attributes,"line"),u=this.containerShape.width,h=this.data;if(h[0].length===0)return{lines:[],areas:[]};var p=this.scales,S=p.x,N=p.y,U=pk(h,{type:"line",x:S,y:N}),H=[];if(o){var V=this.baseline;a?H=s?_k(U,u,V):yk(U,u,V):H=mk(U,s,u,V)}return{lines:U.map(function(Y,q){return(0,xe.pi)({stroke:t.getColor(q),d:s?Od(Y):Ac(Y)},l)}),areas:H.map(function(Y,q){return(0,xe.pi)({d:Y,fill:t.getColor(q)},o)})}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"columnsStyle",{get:function(){var t=this,n=Wn(this.attributes,"column"),i=this.attributes,a=i.isStack,s=i.type,o=i.scale;if(s!=="column")throw new Error("columnsStyle can only be used in column type");var l=this.containerShape.height,u=this.rawData;if(!u)return{columns:[]};a&&(u=Tb(u));var h=this.createScales(u),p=h.x,S=h.y,N=(0,xe.CR)(Ab(u),2),U=N[0],H=N[1],V=new Mc({domain:[0,H-(U>0?0:U)],range:[0,l*o]}),Y=p.getBandWidth(),q=this.rawData;return{columns:u.map(function(ne,le){return ne.map(function(ue,fe){var de=Y/u.length,ve=function(){return{x:p.map(fe)+de*le,y:ue>=0?S.map(ue):S.map(0),width:de,height:V.map(Math.abs(ue))}},Te=function(){return{x:p.map(fe),y:S.map(ue),width:Y,height:V.map(q[le][fe])}};return(0,xe.pi)((0,xe.pi)({fill:t.getColor(le)},n),a?Te():ve())})})}},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){HB(n,".container","rect").attr("className","container").node();var i=t.type,a=t.x,s=t.y,o="spark".concat(i),l=(0,xe.pi)({x:a,y:s},i==="line"?this.linesStyle:this.columnsStyle);_n(n).selectAll(".spark").data([i]).join(function(u){return u.append(function(h){return h==="line"?new dk({className:o,style:l}):new fk({className:o,style:l})}).attr("className","spark ".concat(o))},function(u){return u.update(l)},function(u){return u.remove()})},e.prototype.getColor=function(t){var n=this.attributes.color;return va(n)?n[t%n.length]:yn(n)?n.call(null,t):n},e.prototype.createScales=function(t){var n,i,a=this.attributes,s=a.type,o=a.scale,l=a.range,u=l===void 0?[]:l,h=a.spacing,p=this.containerShape,S=p.width,N=p.height,U=(0,xe.CR)(Ab(t),2),H=U[0],V=U[1],Y=new Mc({domain:[(n=u[0])!==null&&n!==void 0?n:H,(i=u[1])!==null&&i!==void 0?i:V],range:[N,N*(1-o)]});return s==="line"?{type:s,x:new Mc({domain:[0,t[0].length-1],range:[0,S]}),y:Y}:{type:s,x:new rp({domain:t[0].map(function(q,ne){return ne}),range:[0,S],paddingInner:h,paddingOuter:h/2,align:.5}),y:Y}},e.tag="sparkline",e}(ai),Pb={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},Sb={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},Ob={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},Us=_s({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),zo=_s({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),wk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n){var i=t.x,a=t.y,s=t.size,o=s===void 0?10:s,l=t.radius,u=l===void 0?o/4:l,h=t.orientation,p=(0,xe._T)(t,["x","y","size","radius","orientation"]),S=o,N=S*2.4,U=_n(n).maybeAppendByClassName(zo.iconRect,"rect").styles((0,xe.pi)((0,xe.pi)({},p),{width:S,height:N,radius:u,x:i-S/2,y:a-N/2,transformOrigin:"center"})),H=i+1/3*S-S/2,V=i+2/3*S-S/2,Y=a+1/4*N-N/2,q=a+3/4*N-N/2;U.maybeAppendByClassName("".concat(zo.iconLine,"-1"),"line").styles((0,xe.pi)({x1:H,x2:H,y1:Y,y2:q},p)),U.maybeAppendByClassName("".concat(zo.iconLine,"-2"),"line").styles((0,xe.pi)({x1:V,x2:V,y1:Y,y2:q},p)),h==="vertical"&&(U.node().style.transform="rotate(90)")},e}(ai),Mk=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,t,Ob)||this}return e.prototype.renderLabel=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.showLabel,l=Wn(this.attributes,"label"),u=l.x,h=u===void 0?0:u,p=l.y,S=p===void 0?0:p,N=l.transform,U=l.transformOrigin,H=(0,xe._T)(l,["x","y","transform","transformOrigin"]),V=(0,xe.CR)(ro(H,[]),2),Y=V[0],q=V[1],ne=_n(t).maybeAppendByClassName(zo.labelGroup,"g").styles(q),le=(0,xe.pi)((0,xe.pi)({},Sb),Y),ue=le.text,fe=(0,xe._T)(le,["text"]);Na(!!o,ne,function(de){n.label=de.maybeAppendByClassName(zo.label,"text").styles((0,xe.pi)((0,xe.pi)({},fe),{x:a+h,y:s+S,transform:N,transformOrigin:U,text:"".concat(ue)})),n.label.on("mousedown",function(ve){ve.stopPropagation()}),n.label.on("touchstart",function(ve){ve.stopPropagation()})})},e.prototype.renderIcon=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.orientation,o=n.type,l=(0,xe.pi)((0,xe.pi)({x:i,y:a,orientation:s},Pb),Wn(this.attributes,"icon")),u=this.attributes.iconShape,h=u===void 0?function(){return new wk({style:l})}:u,p=_n(t).maybeAppendByClassName(zo.iconGroup,"g");p.selectAll(zo.icon.class).data([h]).join(function(S){return S.append(typeof h=="string"?h:function(){return h(o)}).attr("className",zo.icon.name)},function(S){return S.update(l)},function(S){return S.remove()})},e.prototype.render=function(t,n){this.renderIcon(n),this.renderLabel(n)},e}(ai),Ak=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,t,(0,xe.pi)((0,xe.pi)((0,xe.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(i){return i.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},su(Ob,"handle")),su(Pb,"handleIcon")),su(Sb,"handleLabel")))||this;return n.range=[0,1],n.onDragStart=function(i){return function(a){a.stopPropagation(),n.target=i,n.prevPos=n.getOrientVal(gb(a));var s=n.availableSpace,o=s.x,l=s.y,u=n.getBBox(),h=u.x,p=u.y;n.selectionStartPos=n.getRatio(n.prevPos-n.getOrientVal([o,l])-n.getOrientVal([+h,+p])),n.selectionWidth=0,document.addEventListener("pointermove",n.onDragging),document.addEventListener("pointerup",n.onDragEnd)}},n.onDragging=function(i){var a=n.attributes,s=a.slidable,o=a.brushable,l=a.type;i.stopPropagation();var u=n.getOrientVal(gb(i)),h=u-n.prevPos;if(h){var p=n.getRatio(h);switch(n.target){case"start":s&&n.setValuesOffset(p);break;case"end":s&&n.setValuesOffset(0,p);break;case"selection":s&&n.setValuesOffset(p,p);break;case"track":if(!o)return;n.selectionWidth+=p,l==="range"?n.innerSetValues([n.selectionStartPos,n.selectionStartPos+n.selectionWidth].sort(),!0):n.innerSetValues([0,n.selectionStartPos+n.selectionWidth],!0);break;default:break}n.prevPos=u}},n.onDragEnd=function(){document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointermove",n.onDragging),document.removeEventListener("pointerup",n.onDragEnd),n.target="",n.updateHandlesPosition(!1)},n.onValueChange=function(i){var a=n.attributes,s=a.onChange,o=a.type,l=o==="range"?i:i[1],u=o==="range"?n.getValues():n.getValues()[1],h=new _i("valuechange",{detail:{oldValue:l,value:u}});n.dispatchEvent(h),s==null||s(u)},n.selectionStartPos=0,n.selectionWidth=0,n.prevPos=0,n.target="",n}return Object.defineProperty(e.prototype,"values",{get:function(){return this.attributes.values},set:function(t){this.attributes.values=this.clampValues(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sparklineStyle",{get:function(){var t=this.attributes.orientation;if(t!=="horizontal")return null;var n=Wn(this.attributes,"sparkline");return(0,xe.pi)((0,xe.pi)({zIndex:0},this.availableSpace),n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shape",{get:function(){var t=this.attributes,n=t.trackLength,i=t.trackSize,a=(0,xe.CR)(this.getOrientVal([[n,i],[i,n]]),2),s=a[0],o=a[1];return{width:s,height:o}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"availableSpace",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.padding,s=(0,xe.CR)(Ui(a),4),o=s[0],l=s[1],u=s[2],h=s[3],p=this.shape,S=p.width,N=p.height;return{x:h,y:o,width:S-(h+l),height:N-(o+u)}},enumerable:!1,configurable:!0}),e.prototype.getValues=function(){return this.values},e.prototype.setValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1),this.attributes.values=t;var i=n===!1?!1:this.attributes.animate;this.updateSelectionArea(i),this.updateHandlesPosition(i)},e.prototype.updateSelectionArea=function(t){var n=this.calcSelectionArea();this.foregroundGroup.selectAll(Us.selection.class).each(function(i,a){Es(this,n[a],t)})},e.prototype.updateHandlesPosition=function(t){this.attributes.showHandle&&(this.startHandle&&Es(this.startHandle,this.getHandleStyle("start"),t),this.endHandle&&Es(this.endHandle,this.getHandleStyle("end"),t))},e.prototype.innerSetValues=function(t,n){t===void 0&&(t=[0,0]),n===void 0&&(n=!1);var i=this.values,a=this.clampValues(t);this.attributes.values=a,this.setValues(a),n&&this.onValueChange(i)},e.prototype.renderTrack=function(t){var n=this.attributes,i=n.x,a=n.y,s=Wn(this.attributes,"track");this.trackShape=_n(t).maybeAppendByClassName(Us.track,"rect").styles((0,xe.pi)((0,xe.pi)({x:i,y:a},this.shape),s))},e.prototype.renderBrushArea=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.brushable;this.brushArea=_n(t).maybeAppendByClassName(Us.brushArea,"rect").styles((0,xe.pi)({x:i,y:a,fill:"transparent",cursor:s?"crosshair":"default"},this.shape))},e.prototype.renderSparkline=function(t){var n=this,i=this.attributes,a=i.x,s=i.y,o=i.orientation,l=_n(t).maybeAppendByClassName(Us.sparklineGroup,"g");Na(o==="horizontal",l,function(u){var h=(0,xe.pi)((0,xe.pi)({},n.sparklineStyle),{x:a,y:s});u.maybeAppendByClassName(Us.sparkline,function(){return new bk({style:h})}).update(h)})},e.prototype.renderHandles=function(){var t=this,n,i=this.attributes,a=i.showHandle,s=i.type,o=s==="range"?["start","end"]:["end"],l=a?o:[],u=this;(n=this.foregroundGroup)===null||n===void 0||n.selectAll(Us.handle.class).data(l.map(function(h){return{type:h}}),function(h){return h.type}).join(function(h){return h.append(function(p){var S=p.type;return new Mk({style:t.getHandleStyle(S)})}).each(function(p){var S=p.type;this.attr("class","".concat(Us.handle.name," ").concat(S,"-handle"));var N="".concat(S,"Handle");u[N]=this,this.addEventListener("pointerdown",u.onDragStart(S))})},function(h){return h.each(function(p){var S=p.type;this.update(u.getHandleStyle(S))})},function(h){return h.each(function(p){var S=p.type,N="".concat(S,"Handle");u[N]=void 0}).remove()})},e.prototype.renderSelection=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.type,o=n.selectionType;this.foregroundGroup=_n(t).maybeAppendByClassName(Us.foreground,"g");var l=Wn(this.attributes,"selection"),u=function(p){return p.style("visibility",function(S){return S.show?"visible":"hidden"}).style("cursor",function(S){return o==="select"?"grab":o==="invert"?"crosshair":"default"}).styles((0,xe.pi)((0,xe.pi)({},l),{transform:"translate(".concat(i,", ").concat(a,")")}))},h=this;this.foregroundGroup.selectAll(Us.selection.class).data(s==="value"?[]:this.calcSelectionArea().map(function(p,S){return{style:(0,xe.pi)({},p),index:S,show:o==="select"?S===1:S!==1}}),function(p){return p.index}).join(function(p){return p.append("rect").attr("className",Us.selection.name).call(u).each(function(S,N){var U=this;N===1?(h.selectionShape=_n(this),this.on("pointerdown",function(H){U.attr("cursor","grabbing"),h.onDragStart("selection")(H)}),h.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),h.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),h.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){U.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){U.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){U.attr("cursor","pointer")})):this.on("pointerdown",h.onDragStart("track"))})},function(p){return p.call(u)},function(p){return p.remove()}),this.updateSelectionArea(!1),this.renderHandles()},e.prototype.render=function(t,n){this.renderTrack(n),this.renderSparkline(n),this.renderBrushArea(n),this.renderSelection(n)},e.prototype.clampValues=function(t,n){var i;n===void 0&&(n=4);var a=(0,xe.CR)(this.range,2),s=a[0],o=a[1],l=(0,xe.CR)(this.getValues().map(function(V){return X0(V,n)}),2),u=l[0],h=l[1],p=Array.isArray(t)?t:[u,t!=null?t:h],S=(0,xe.CR)((p||[u,h]).map(function(V){return X0(V,n)}),2),N=S[0],U=S[1];if(this.attributes.type==="value")return[0,Jr(U,s,o)];N>U&&(i=(0,xe.CR)([U,N],2),N=i[0],U=i[1]);var H=U-N;return H>o-s?[s,o]:N<s?u===s&&h===U?[s,U]:[s,H+s]:U>o?h===o&&u===N?[N,o]:[o-H,o]:[N,U]},e.prototype.calcSelectionArea=function(t){var n=(0,xe.CR)(this.clampValues(t),2),i=n[0],a=n[1],s=this.availableSpace,o=s.x,l=s.y,u=s.width,h=s.height;return this.getOrientVal([[{y:l,height:h,x:o,width:i*u},{y:l,height:h,x:i*u+o,width:(a-i)*u},{y:l,height:h,x:a*u,width:(1-a)*u}],[{x:o,width:u,y:l,height:i*h},{x:o,width:u,y:i*h+l,height:(a-i)*h},{x:o,width:u,y:a*h,height:(1-a)*h}]])},e.prototype.calcHandlePosition=function(t){var n=this.attributes.handleIconOffset,i=this.availableSpace,a=i.x,s=i.y,o=i.width,l=i.height,u=(0,xe.CR)(this.clampValues(),2),h=u[0],p=u[1],S=t==="start"?-n:n,N=(t==="start"?h:p)*this.getOrientVal([o,l])+S;return{x:a+this.getOrientVal([N,o/2]),y:s+this.getOrientVal([l/2,N])}},e.prototype.inferTextStyle=function(t){var n=this.attributes.orientation;return n==="horizontal"?{}:t==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:t==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},e.prototype.calcHandleText=function(t){var n,i=this.attributes,a=i.type,s=i.orientation,o=i.formatter,l=i.autoFitLabel,u=Wn(this.attributes,"handle"),h=Wn(u,"label"),p=u.spacing,S=this.getHandleSize(),N=this.clampValues(),U=t==="start"?N[0]:N[1],H=o(U),V=new O0({style:(0,xe.pi)((0,xe.pi)((0,xe.pi)({},h),this.inferTextStyle(t)),{text:H})}),Y=V.getBBox(),q=Y.width,ne=Y.height;if(V.destroy(),!l){if(a==="value")return{text:H,x:0,y:-ne-p};var le=p+S+(s==="horizontal"?q/2:0);return n={text:H},n[s==="horizontal"?"x":"y"]=t==="start"?-le:le,n}var ue=0,fe=0,de=this.availableSpace,ve=de.width,Te=de.height,Oe=this.calcSelectionArea()[1],Ie=Oe.x,ze=Oe.y,Xe=Oe.width,et=Oe.height,st=p+S;if(s==="horizontal"){var bt=st+q/2;if(t==="start"){var _t=Ie-st-q;ue=_t>0?-bt:bt}else{var ct=ve-Ie-Xe-st>q;ue=ct?bt:-bt}}else{var ft=st,At=ne+st;t==="start"?fe=ze-S>ne?-At:ft:fe=Te-(ze+et)-S>ne?At:-ft}return{x:ue,y:fe,text:H}},e.prototype.getHandleLabelStyle=function(t){var n=Wn(this.attributes,"handleLabel");return(0,xe.pi)((0,xe.pi)((0,xe.pi)({},n),this.calcHandleText(t)),this.inferTextStyle(t))},e.prototype.getHandleIconStyle=function(){var t=this.attributes.handleIconShape,n=Wn(this.attributes,"handleIcon"),i=this.getOrientVal(["ew-resize","ns-resize"]),a=this.getHandleSize();return(0,xe.pi)({cursor:i,shape:t,size:a},n)},e.prototype.getHandleStyle=function(t){var n=this.attributes,i=n.x,a=n.y,s=n.showLabel,o=n.showLabelOnInteraction,l=n.orientation,u=this.calcHandlePosition(t),h=u.x,p=u.y,S=this.calcHandleText(t),N=s;return!s&&o&&(this.target?N=!0:N=!1),(0,xe.pi)((0,xe.pi)((0,xe.pi)({},su(this.getHandleIconStyle(),"icon")),su((0,xe.pi)((0,xe.pi)({},this.getHandleLabelStyle(t)),S),"label")),{transform:"translate(".concat(h+i,", ").concat(p+a,")"),orientation:l,showLabel:N,type:t,zIndex:3})},e.prototype.getHandleSize=function(){var t=this.attributes,n=t.handleIconSize,i=t.width,a=t.height;return n||Math.floor((this.getOrientVal([+a,+i])+4)/2.4)},e.prototype.getOrientVal=function(t){var n=(0,xe.CR)(t,2),i=n[0],a=n[1],s=this.attributes.orientation;return s==="horizontal"?i:a},e.prototype.setValuesOffset=function(t,n,i){n===void 0&&(n=0),i===void 0&&(i=!1);var a=this.attributes.type,s=(0,xe.CR)(this.getValues(),2),o=s[0],l=s[1],u=a==="range"?t:0,h=[o+u,l+n].sort();i?this.setValues(h):this.innerSetValues(h,!0)},e.prototype.getRatio=function(t){var n=this.availableSpace,i=n.width,a=n.height;return t/this.getOrientVal([i,a])},e.prototype.dispatchCustomEvent=function(t,n,i){var a=this;t.on(n,function(s){s.stopPropagation(),a.dispatchEvent(new _i(i,{detail:s}))})},e.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var t=this.brushArea;this.dispatchCustomEvent(t,"click","trackClick"),this.dispatchCustomEvent(t,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(t,"pointerleave","trackMouseleave"),t.on("pointerdown",this.onDragStart("track"))},e.prototype.onScroll=function(t){var n=this.attributes.scrollable;if(n){var i=t.deltaX,a=t.deltaY,s=a||i,o=this.getRatio(s);this.setValuesOffset(o,o,!0)}},e.tag="slider",e}(ai),Tk={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(r){return r.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},ap=_s({background:"background",labelGroup:"label-group",label:"label"},"indicator"),Pk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,t,Tk)||this;return n.point=[0,0],n.group=n.appendChild(new Ai({})),n.isMutationObserved=!0,n}return e.prototype.renderBackground=function(){if(this.label){var t=this.attributes,n=t.position,i=t.padding,a=(0,xe.CR)(Ui(i),4),s=a[0],o=a[1],l=a[2],u=a[3],h=this.label.node().getLocalBounds(),p=h.min,S=h.max,N=new Ji(p[0]-u,p[1]-s,S[0]+o-p[0]+u,S[1]+l-p[1]+s),U=this.getPath(n,N),H=Wn(this.attributes,"background");this.background=_n(this.group).maybeAppendByClassName(ap.background,"path").styles((0,xe.pi)((0,xe.pi)({},H),{d:U})),this.group.appendChild(this.label.node())}},e.prototype.renderLabel=function(){var t=this.attributes,n=t.formatter,i=t.labelText,a=Wn(this.attributes,"label"),s=(0,xe.CR)(ro(a),2),o=s[0],l=s[1],u=o.text,h=(0,xe._T)(o,["text"]);if(this.label=_n(this.group).maybeAppendByClassName(ap.labelGroup,"g").styles(l),!!i){var p=this.label.maybeAppendByClassName(ap.label,function(){return io(n(i))}).style("text",n(i).toString());p.selectAll("text").styles(h)}},e.prototype.adjustLayout=function(){var t=(0,xe.CR)(this.point,2),n=t[0],i=t[1],a=this.attributes,s=a.x,o=a.y;this.group.attr("transform","translate(".concat(s-n,", ").concat(o-i,")"))},e.prototype.getPath=function(t,n){var i=this.attributes.radius,a=n.x,s=n.y,o=n.width,l=n.height,u=[["M",a+i,s],["L",a+o-i,s],["A",i,i,0,0,1,a+o,s+i],["L",a+o,s+l-i],["A",i,i,0,0,1,a+o-i,s+l],["L",a+i,s+l],["A",i,i,0,0,1,a,s+l-i],["L",a,s+i],["A",i,i,0,0,1,a+i,s],["Z"]],h={top:4,right:6,bottom:0,left:2},p=h[t],S=this.createCorner([u[p].slice(-2),u[p+1].slice(-2)]);return u.splice.apply(u,(0,xe.ev)([p+1,1],(0,xe.CR)(S),!1)),u[0][0]="M",u},e.prototype.createCorner=function(t,n){n===void 0&&(n=10);var i=.8,a=w5.apply(void 0,(0,xe.ev)([],(0,xe.CR)(t),!1)),s=(0,xe.CR)(t,2),o=(0,xe.CR)(s[0],2),l=o[0],u=o[1],h=(0,xe.CR)(s[1],2),p=h[0],S=h[1],N=(0,xe.CR)(a?[p-l,[l,p]]:[S-u,[u,S]],2),U=N[0],H=(0,xe.CR)(N[1],2),V=H[0],Y=H[1],q=U/2,ne=U/Math.abs(U),le=n*ne,ue=le/2,fe=le*Math.sqrt(3)/2*i,de=(0,xe.CR)([V,V+q-ue,V+q,V+q+ue,Y],5),ve=de[0],Te=de[1],Oe=de[2],Ie=de[3],ze=de[4];return a?(this.point=[Oe,u-fe],[["L",ve,u],["L",Te,u],["L",Oe,u-fe],["L",Ie,u],["L",ze,u]]):(this.point=[l+fe,Oe],[["L",l,ve],["L",l,Te],["L",l+fe,Oe],["L",l,Ie],["L",l,ze]])},e.prototype.applyVisibility=function(){var t=this.attributes.visibility;t==="hidden"?ys(this):pc(this)},e.prototype.bindEvents=function(){this.label.on(Kn.BOUNDS_CHANGED,this.renderBackground)},e.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},e}(ai),Sk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},e.defaultOptions,t))||this;return n.hoverColor="#f5f5f5",n.selectedColor="#e6f7ff",n.background=n.appendChild(new ki({})),n.label=n.background.appendChild(new Ai({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return Ui(this.style.padding)},enumerable:!1,configurable:!0}),e.prototype.renderLabel=function(){var t=this.style,n=t.label,i=t.value,a=Wn(this.attributes,"label");_n(this.label).maybeAppend(".label",function(){return io(n)}).attr("className","label").styles(a),this.label.attr("__data__",i)},e.prototype.renderBackground=function(){var t=this.label.getBBox(),n=(0,xe.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3],l=t.width,u=t.height,h=l+o+a,p=u+i+s,S=Wn(this.attributes,"background"),N=this.style,U=N.width,H=U===void 0?0:U,V=N.height,Y=V===void 0?0:V,q=N.selected;this.background.attr((0,xe.pi)((0,xe.pi)({},S),{width:Math.max(h,H),height:Math.max(p,Y),fill:q?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(o,", ").concat((p-u)/2,")")})},e.prototype.render=function(){this.renderLabel(),this.renderBackground()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("pointerenter",function(){t.style.selected||t.background.attr("fill",t.hoverColor)}),this.addEventListener("pointerleave",function(){t.style.selected||t.background.attr("fill",t.style.backgroundFill)});var n=this;this.addEventListener("click",function(){var i=t.style,a=i.label,s=i.value,o=i.onClick;o==null||o(s,{label:a,value:s},n)})},e.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},e}(ai),Ok=function(r){(0,xe.ZT)(e,r);function e(t){var n,i,a=r.call(this,Li({},e.defaultOptions,t))||this;a.currentValue=(n=e.defaultOptions.style)===null||n===void 0?void 0:n.defaultValue,a.isPointerInSelect=!1,a.select=a.appendChild(new ki({className:"select",style:{cursor:"pointer",width:0,height:0}})),a.dropdown=a.appendChild(new ki({className:"dropdown"}));var s=a.style.defaultValue;return s&&(!((i=a.style.options)===null||i===void 0)&&i.some(function(o){return o.value===s}))&&(a.currentValue=s),a}return e.prototype.setValue=function(t){this.currentValue=t,this.render()},e.prototype.getValue=function(){return this.currentValue},Object.defineProperty(e.prototype,"dropdownPadding",{get:function(){return Ui(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),e.prototype.renderSelect=function(){var t=this,n,i=this.style,a=i.x,s=i.y,o=i.width,l=i.height,u=i.bordered,h=i.showDropdownIcon,p=Wn(this.attributes,"select"),S=Wn(this.attributes,"placeholder");this.select.attr((0,xe.pi)((0,xe.pi)({x:a,y:s,width:o,height:l},p),{fill:"#fff",strokeWidth:u?1:0}));var N=this.dropdownPadding,U=10;h&&_n(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(a+o-U-N[1]-N[3],", ").concat(s+l/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var H=(n=this.style.options)===null||n===void 0?void 0:n.find(function(ne){return ne.value===t.currentValue}),V=(0,xe.pi)({x:a+N[3]},S);_n(this.select).selectAll(".placeholder").data(H?[]:[1]).join(function(ne){return ne.append("text").attr("className","placeholder").styles(V).style("y",function(){var le=this.getBBox();return s+(l-le.height)/2})},function(ne){return ne.styles(V)},function(ne){return ne.remove()});var Y=Wn(this.attributes,"optionLabel"),q=(0,xe.pi)({x:a+N[3]},Y);_n(this.select).selectAll(".value").data(H?[H]:[]).join(function(ne){return ne.append(function(le){return io(le.label)}).attr("className","value").styles(q).style("y",function(){var le=this.getBBox();return s+(l-le.height)/2})},function(ne){return ne.styles(q)},function(ne){return ne.remove()})},e.prototype.renderDropdown=function(){var t=this,n,i,a=this.style,s=a.x,o=a.y,l=a.width,u=a.height,h=a.options,p=a.onSelect,S=a.open,N=Wn(this.attributes,"dropdown"),U=Wn(this.attributes,"option"),H=this.dropdownPadding;_n(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(h,function(q){return q.value}).join(function(q){return q.append(function(ne){return new Sk({className:"dropdown-item",style:(0,xe.pi)((0,xe.pi)((0,xe.pi)({},ne),U),{width:l-H[1]-H[3],selected:ne.value===t.currentValue,onClick:function(le,ue,fe){t.setValue(le),p==null||p(le,ue,fe),t.dispatchEvent(new _i("change",{detail:{value:le,option:ue,item:fe}})),ys(t.dropdown)}})})}).each(function(ne,le){var ue,fe=(ue=this.parentNode)===null||ue===void 0?void 0:ue.children,de=fe.reduce(function(ve,Te,Oe){return Oe<le&&(ve+=Te.getBBox().height),ve},0);this.attr("transform","translate(".concat(H[3],", ").concat(H[0]+de,")"))})},function(q){return q.update(function(ne){return{selected:ne.value===t.currentValue}})},function(q){return q.remove()});var V=(i=(n=this.dropdown.getElementsByClassName("dropdown-container"))===null||n===void 0?void 0:n[0])===null||i===void 0?void 0:i.getBBox(),Y=N.spacing;this.dropdown.attr((0,xe.pi)({transform:"translate(".concat(s,", ").concat(o+u+Y,")"),width:V.width+H[1]+H[3],height:V.height+H[0]+H[2]},N)),!S&&ys(this.dropdown)},e.prototype.render=function(){this.renderSelect(),this.renderDropdown()},e.prototype.bindEvents=function(){var t=this;this.addEventListener("click",function(n){n.stopPropagation()}),this.select.addEventListener("click",function(){t.dropdown.style.visibility==="visible"?ys(t.dropdown):pc(t.dropdown)}),this.addEventListener("pointerenter",function(){t.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){t.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){t.isPointerInSelect||ys(t.dropdown)})},e.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"\u8BF7\u9009\u62E9",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},e}(ai),xs=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},{style:{backgroundOpacity:e.backgroundOpacities.default}},e.defaultOptions,t))||this;return n.showBackground=!0,n.background=n.appendChild(new ki({})),n.icon=n.appendChild(new Ai({})),n}return Object.defineProperty(e.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return Ui(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"iconSize",{get:function(){var t=this.attributes.size,n=(0,xe.CR)(this.padding,4),i=n[0],a=n[1],s=n[2],o=n[3];return Math.max(t-Math.max(o+a,i+s),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.size,s=a/2,o=Wn(this.attributes,"background");this.background.attr((0,xe.pi)({x:n-s,y:i-s,width:a,height:a},o))},e.prototype.showIndicator=function(){if(this.label){var t=this.attributes.size,n=this.background.getBBox(),i=n.x,a=n.y;this.indicator.update({x:i+t/2,y:a-5,labelText:this.label,visibility:"visible"})}},e.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},e.prototype.connectedCallback=function(){var t;r.prototype.connectedCallback.call(this);var n=this.attributes.size,i=this.background.getBBox(),a=i.x,s=i.y,o=(t=this.ownerDocument)===null||t===void 0?void 0:t.defaultView;o&&(this.indicator=o.appendChild(new Pk({style:{x:a+n/2,y:s-n/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},e.prototype.disconnectedCallback=function(){this.indicator.destroy()},e.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onClick;if(this.addEventListener("click",function(){n==null||n(t)}),this.showBackground){var i=function(){return t.background.attr({opacity:e.backgroundOpacities.default})},a=function(){return t.background.attr({opacity:e.backgroundOpacities.hover})},s=function(){return t.background.attr({opacity:e.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){a(),t.showIndicator()}),this.addEventListener("pointerleave",function(){i(),t.hideIndicator()}),this.addEventListener("pointerdown",function(){s()}),this.addEventListener("pointerup",function(){i()})}},e.tag="IconBase",e.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},e.backgroundOpacities={default:0,hover:.8,active:1},e}(ai),Tc=function(r,e){return e===void 0&&(e="#565758"),new Sa({style:{fill:e,d:"M ".concat(r,",").concat(r," L -").concat(r,",0 L ").concat(r,",-").concat(r," Z"),transformOrigin:"center"}})},Dk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.arcPath=function(t,n,i){var a=(0,xe.CR)([i,i],2),s=a[0],o=a[1],l=function(H){return[t+i*Math.cos(H),n+i*Math.sin(H)]},u=(0,xe.CR)(l(-5/4*Math.PI),2),h=u[0],p=u[1],S=(0,xe.CR)(l(1/4*Math.PI),2),N=S[0],U=S[1];return"M".concat(h,",").concat(p,",A").concat(s,",").concat(o,",0,1,1,").concat(N,",").concat(U)},Object.defineProperty(e.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=this.lineWidth,l=o+.5;_n(this.icon).maybeAppend(".reset","path").styles({stroke:a,lineWidth:o,d:this.arcPath(n,i,s/2-o),markerStart:Tc(l,a)})},e}(xs),Ck=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),u=[[n,i],[n,i-l],[n-o,i],[n,i+l],[n,i],[n+o,i-l],[n+o,i+l],[n,i]];_n(this.icon).maybeAppend(".backward","polygon").styles({points:u,fill:a})},e}(xs),Lk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/2,l=s/2/Math.pow(3,.5),u=[[n,i],[n,i-l],[n+o,i],[n,i+l],[n,i],[n-o,i-l],[n-o,i+l],[n,i]];_n(this.icon).maybeAppend(".forward","polygon").styles({points:u,fill:a})},e}(xs),Rk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3*Math.pow(3,.5)*.8,l=[[n+o,i],[n-o/2,i-s/2*.8],[n-o/2,i+s/2*.8],[n+o,i]];_n(this.icon).maybeAppend(".play","polygon").styles({points:l,fill:a})},e}(xs),Ik=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this.iconSize,o=s/3,l=[[n-o,i-s/2],[n-o,i+s/2],[n-o/2,i+s/2],[n-o/2,i-s/2],[n-o,i-s/2],[n+o/2,i-s/2],[n+o/2,i+s/2],[n+o,i+s/2],[n+o,i-s/2]];_n(this.icon).maybeAppend(".pause","polygon").styles({points:l,fill:a})},e}(xs),Nk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,u=l;_n(this.icon).maybeAppend(".left-line","line").styles({x1:n-o/2,y1:i-o/2,x2:n-o/2,y2:i+o/2,stroke:a,lineWidth:l}),_n(this.icon).maybeAppend(".right-line","line").styles({x1:n+o/2,y1:i-o/2,x2:n+o/2,y2:i+o/2,stroke:a,lineWidth:l}),_n(this.icon).maybeAppend(".left-arrow","line").styles({x1:n,y1:i,x2:n-o/2+u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Tc(l*2,a)}),_n(this.icon).maybeAppend(".right-arrow","line").styles({x1:n,y1:i,x2:n+o/2-u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Tc(l*2,a)})},e}(xs),Bk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;_n(this.icon).maybeAppend(".line","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l});var u=l;_n(this.icon).maybeAppend(".left-arrow","line").styles({x1:n-o/2-u*2,y1:i,x2:n-u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Tc(l*2,a)}),_n(this.icon).maybeAppend(".right-arrow","line").styles({x1:n+o/2+u*2,y1:i,x2:n+u*2,y2:i,stroke:a,lineWidth:l,markerEnd:Tc(l*2,a)})},e}(xs),Db=function(r){return[[-r/2,-r/2],[-r/2,r/2],[r/2,r/2]]},kk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth,u=l,h=(o-u*2-l)/4,p=(o-u*2-l)/2,S=(0,xe.CR)([n-o/2+u,i+o/2-u*2],2),N=S[0],U=S[1];_n(this.icon).maybeAppend(".coordinate","polyline").styles({points:Db(o).map(function(H){var V=(0,xe.CR)(H,2),Y=V[0],q=V[1];return[Y+n,q+i]}),stroke:a,lineWidth:l}),_n(this.icon).maybeAppend(".line","polyline").styles({points:[[N,U],[N+h,U-p],[N+h*2,U],[N+h*4,U-p*2]],stroke:a,lineWidth:l})},e}(xs),Fk=function(r){(0,xe.ZT)(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return Object.defineProperty(e.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.data,n=this.attributes,i=n.x,a=n.y,s=n.color,o=this,l=o.iconSize,u=o.lineWidth,h=u,p=(l-h)/t.length,S=(l-h*2)/4,N=(0,xe.CR)([i-l/2+h*2,a+l/2-h],2),U=N[0],H=N[1];_n(this.icon).maybeAppend(".coordinate","polyline").styles({points:Db(l).map(function(V){var Y=(0,xe.CR)(V,2),q=Y[0],ne=Y[1];return[q+i,ne+a]}),stroke:s,lineWidth:u}),_n(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(V,Y){return{value:V,index:Y}})).join(function(V){return V.append("line").attr("className","column").style("x1",function(Y){var q=Y.index;return U+p*q}).style("y1",H).style("x2",function(Y){var q=Y.index;return U+p*q}).style("y2",function(Y){var q=Y.value;return H-S*q}).styles({y1:H,stroke:s,lineWidth:u})})},e}(xs),zk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},{style:{color:"#d8d9d9"}},t))||this;return n.showBackground=!1,n}return e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.color,s=this,o=s.iconSize,l=s.lineWidth;_n(this.icon).maybeAppend(".split","line").styles({x1:n,y1:i-o/2,x2:n,y2:i+o/2,stroke:a,lineWidth:l})},e}(xs),sp=function(r){(0,xe.ZT)(e,r);function e(){var t=r.apply(this,(0,xe.ev)([],(0,xe.CR)(arguments),!1))||this;return t.showBackground=!1,t}return Object.defineProperty(e.prototype,"padding",{get:function(){return Ui(0)},enumerable:!1,configurable:!0}),e.prototype.renderIcon=function(){var t=this.iconSize,n=this.attributes,i=n.x,a=n.y,s=n.speed,o=s===void 0?1:s,l=_0(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),u=Jr(t,20,1/0),h=20,p=(0,xe.pi)((0,xe.pi)({},l),{x:i-u/2,y:a-h/2,width:u,height:h,defaultValue:o,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:t/5,placeholderFontSize:t/2,optionPadding:0,optionLabelFontSize:t/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});_n(this.icon).maybeAppend(".speed",function(){return new Ok({style:p})}).attr("className","speed").each(function(){this.update(p)})},e.tag="SpeedSelect",e}(xs),op=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,t)||this;return n.icon=n.appendChild(new Ai({})),n.currentType=n.attributes.type,n}return e.prototype.getType=function(){return this.currentType},e.prototype.render=function(){var t=this,n=this.attributes,i=n.onChange,a=(0,xe._T)(n,["onChange"]);_n(this.icon).selectAll(".icon").data([this.currentType]).join(function(s){return s.append(function(o){var l,u=(l=t.toggles.find(function(h){var p=(0,xe.CR)(h,1),S=p[0];return S===o}))===null||l===void 0?void 0:l[1];if(!u)throw new Error("Invalid type: ".concat(o));return new u({})}).attr("className","icon").styles(a,!1).update({})},function(s){return s.styles({restStyles:a}).update({})},function(s){return s.remove()})},e.prototype.bindEvents=function(){var t=this,n=this.attributes.onChange;this.addEventListener("click",function(i){i.preventDefault(),i.stopPropagation();var a=(t.toggles.findIndex(function(o){var l=(0,xe.CR)(o,1),u=l[0];return u===t.currentType})+1)%t.toggles.length,s=t.toggles[a][0];n==null||n(t.currentType),t.currentType=s,t.render()})},e.tag="ToggleIcon",e}(ai),lp=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},{style:{type:"play"}},t))||this;return n.toggles=[["play",Rk],["pause",Ik]],n}return e}(op),up=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},{style:{type:"range"}},t))||this;return n.toggles=[["range",Nk],["value",Bk]],n}return e}(op),cp=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},{style:{type:"column"}},t))||this;return n.toggles=[["line",kk],["column",Fk]],n}return e}(op),Uk={reset:Dk,speed:sp,backward:Ck,playPause:lp,forward:Lk,selectionType:up,chartType:cp,split:zk},Wk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},e.defaultOptions,t))||this;return n.background=n.appendChild(new ki({})),n.functions=n.appendChild(new Ai({})),n}return Object.defineProperty(e.prototype,"padding",{get:function(){return Ui(this.attributes.padding)},enumerable:!1,configurable:!0}),e.prototype.renderBackground=function(){var t=this.style,n=t.x,i=t.y,a=t.width,s=t.height,o=Wn(this.attributes,"background");this.background.attr((0,xe.pi)({x:n,y:i,width:a,height:s},o))},e.prototype.renderFunctions=function(){var t=this,n,i=this.attributes,a=i.functions,s=i.iconSize,o=i.iconSpacing,l=i.x,u=i.y,h=i.width,p=i.height,S=i.align,N=(0,xe.CR)(this.padding,4),U=N[1],H=N[3],V=a.reduce(function(ne,le){return ne.length&&le.length?ne.concat.apply(ne,(0,xe.ev)(["split"],(0,xe.CR)(le),!1)):ne.concat.apply(ne,(0,xe.ev)([],(0,xe.CR)(le),!1))},[]),Y=V.length*(s+o)-o,q={left:H+s/2,center:(h-Y)/2+s/2,right:h-Y-H-U+s/2}[S]||0;(n=this.speedSelect)===null||n===void 0||n.destroy(),this.functions.removeChildren(),V.forEach(function(ne,le){var ue,fe=Uk[ne],de={x:l+le*(s+o)+q,y:u+p/2,size:s};if(fe===sp?(de.speed=t.attributes.speed,de.onSelect=function(Te){return t.handleFunctionChange(ne,{value:Te})}):[lp,up,cp].includes(fe)?(de.onChange=function(Te){return t.handleFunctionChange(ne,{value:Te})},fe===lp&&(de.type=t.attributes.state==="play"?"pause":"play"),fe===up&&(de.type=t.attributes.selectionType==="range"?"value":"range"),fe===cp&&(de.type=t.attributes.chartType==="line"?"column":"line")):de.onClick=function(){return t.handleFunctionChange(ne,{value:ne})},fe===sp){var ve=(ue=t.ownerDocument)===null||ue===void 0?void 0:ue.defaultView;ve&&(t.speedSelect=new fe({style:(0,xe.pi)((0,xe.pi)({},de),{zIndex:100})}),ve.appendChild(t.speedSelect))}else t.functions.appendChild(new fe({style:de}))})},e.prototype.disconnectedCallback=function(){var t;r.prototype.disconnectedCallback.call(this),(t=this.speedSelect)===null||t===void 0||t.destroy()},e.prototype.render=function(){this.renderBackground(),this.renderFunctions()},e.prototype.handleFunctionChange=function(t,n){var i=this.attributes.onChange;i==null||i(t,n)},e.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},e}(ai),Hk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},e.defaultOptions,t))||this;return n.bindEvents(),n}return e.prototype.bindEvents=function(){var t=this;this.addEventListener("mouseenter",function(){t.attr("lineWidth",Math.ceil(+(t.style.r||0)/2))}),this.addEventListener("mouseleave",function(){t.attr("lineWidth",0)})},e.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},e}(Ks),Gk=function(r){(0,xe.ZT)(e,r);function e(t){return r.call(this,Li({},e.defaultOptions,t))||this}return e.prototype.renderBackground=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=Wn(this.attributes,"background");_n(this).maybeAppend("background","rect").attr("className","background").styles((0,xe.pi)({x:n-a/2,y:i-s/2,width:a,height:s},o))},e.prototype.renderIcon=function(){var t=this.attributes,n=t.x,i=t.y,a=t.iconSize,s=Wn(this.attributes,"icon"),o=1,l=a/2;_n(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,xe.pi)({x1:n-o,y1:i-l,x2:n-o,y2:i+l},s)),_n(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,xe.pi)({x1:n+o,y1:i-l,x2:n+o,y2:i+l},s))},e.prototype.renderBorder=function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=Wn(this.attributes,"border"),u=o==="start"?+a/2:-a/2;_n(this).maybeAppend("border","line").attr("className","border").styles((0,xe.pi)({x1:u+n,y1:i-s/2,x2:u+n,y2:i+s/2},l))},e.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},e.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},e}(ai);function jk(r,e){return typeof r=="number"?Cb(r):Vk(r,e)}function Vk(r,e){var t=new Date(r);switch(e){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(t.getHours())&&t.getMinutes()===0?la(t,`HH:mm
YYYY-MM-DD`):la(t,"HH:mm");case"half-day":return t.getHours()<12?`AM
`.concat(la(t,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(t.getDate())?la(t,`DD
YYYY-MM`):la(t,"DD");case"week":return t.getDate()<=7?la(t,`DD
YYYY-MM`):la(t,"DD");case"month":return[0,6].includes(t.getMonth())?la(t,`MM\u6708
YYYY`):la(t,"MM\u6708");case"season":return[0].includes(t.getMonth())?la(t,`MM\u6708
YYYY`):la(t,"MM\u6708");case"year":return la(t,"YYYY");default:return la(t,"YYYY-MM-DD HH:mm")}}function Cb(r){var e=String(Math.floor(r/3600)).padStart(2,"0"),t=String(Math.floor(r%3600/60)).padStart(2,"0"),n=String(Math.floor(r%60)).padStart(2,"0");return r<3600?"".concat(t,":").concat(n):"".concat(e,":").concat(t,":").concat(n)}var Zk=function(r){(0,xe.ZT)(e,r);function e(t){var n=r.call(this,Li({},e.defaultOptions,t))||this;n.axis=n.appendChild(new G4({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),n.timeline=n.appendChild(new Ak({style:{onChange:function(p){n.handleSliderChange(p)}}})),n.controller=n.appendChild(new Wk({})),n.states={},n.handleSliderChange=function(p){var S=function(){var N=n.states.values;return Array.isArray(N)?(0,xe.ev)([],(0,xe.CR)(N),!1):N}();n.setBySliderValues(p),n.dispatchOnChange(S)};var i=n.attributes,a=i.selectionType,s=i.chartType,o=i.speed,l=i.state,u=i.playMode,h=i.values;return n.states={chartType:s,playMode:u,selectionType:a,speed:o,state:l},n.setByTimebarValues(h),n}return Object.defineProperty(e.prototype,"data",{get:function(){var t=this.attributes.data,n=function(i,a){return i.time<a.time?-1:i.time>a.time?1:0};return t.sort(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"space",{get:function(){var t=this.attributes,n=t.x,i=t.y,a=t.width,s=t.height,o=t.type,l=t.controllerHeight,u=Jr(+s-l,0,+s),h=new Ji(n,i+ +s-l,+a,l),p,S=0;o==="chart"?(S=35,p=new Ji(n,i+u-S,+a,S)):p=new Ji;var N=o==="time"?10:u,U=new Ji(n,i+(o==="time"?u:u-N),+a,N-S);return{axisBBox:p,controllerBBox:h,timelineBBox:U}},enumerable:!1,configurable:!0}),e.prototype.setBySliderValues=function(t){var n,i,a=this.data,s=(0,xe.CR)(Array.isArray(t)?t:[0,t],2),o=s[0],l=s[1],u=a.length,h=a[Math.floor(o*u)],p=a[Math.ceil(l*u)-(Array.isArray(t)?0:1)];this.states.values=[(n=h==null?void 0:h.time)!==null&&n!==void 0?n:a[0].time,(i=p==null?void 0:p.time)!==null&&i!==void 0?i:1/0]},e.prototype.setByTimebarValues=function(t){var n,i,a,s=this.data,o=(0,xe.CR)(Array.isArray(t)?t:[void 0,t],2),l=o[0],u=o[1],h=s.find(function(S){var N=S.time;return N===l}),p=s.find(function(S){var N=S.time;return N===u});this.states.values=[(n=h==null?void 0:h.time)!==null&&n!==void 0?n:(i=s[0])===null||i===void 0?void 0:i.time,(a=p==null?void 0:p.time)!==null&&a!==void 0?a:1/0]},e.prototype.setByIndex=function(t){var n,i,a,s,o=this.data,l=(0,xe.CR)(t,2),u=l[0],h=l[1];this.states.values=[(i=(n=o[u])===null||n===void 0?void 0:n.time)!==null&&i!==void 0?i:o[0].time,(s=(a=this.data[h])===null||a===void 0?void 0:a.time)!==null&&s!==void 0?s:1/0]},Object.defineProperty(e.prototype,"sliderValues",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,xe.CR)(Array.isArray(n)?n:[void 0,n],2),s=a[0],o=a[1],l=this.data,u=l.length,h=i==="value",p=function(){var N=l.findIndex(function(U){var H=U.time;return H===s});return h?0:N>-1?N/u:0},S=function(){if(o===1/0)return 1;var N=l.findIndex(function(U){var H=U.time;return H===o});return N>-1?N/u:h?.5:1};return[p(),S()]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"values",{get:function(){var t=this.states,n=t.values,i=t.selectionType,a=(0,xe.CR)(Array.isArray(n)?n:[this.data[0].time,n],2),s=a[0],o=a[1];return i==="value"?o:[s,o]},enumerable:!1,configurable:!0}),e.prototype.getDatumByRatio=function(t){var n=this.data,i=n.length,a=Math.floor(t*(i-1));return n[a]},Object.defineProperty(e.prototype,"chartHandleIconShape",{get:function(){var t=this.states.selectionType,n=this.space.timelineBBox.height;return t==="range"?function(i){return new Gk({style:{type:i,height:n,iconSize:n/6}})}:function(){return new al({style:{x1:0,y1:-n/2,x2:0,y2:n/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),e.prototype.getChartStyle=function(t){var n=this,i=t.x,a=t.y,s=t.width,o=t.height,l=this.states,u=l.selectionType,h=l.chartType,p=this.data,S=this.attributes,N=S.type,U=S.labelFormatter,H=Wn(this.attributes,"chart"),V=H.type,Y=(0,xe._T)(H,["type"]),q=u==="range";if(N==="time")return(0,xe.pi)({handleIconShape:function(){return new Hk({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:q?-15:0,autoFitLabel:q,handleSpacing:q?-15:0,trackFill:"#edeeef",trackLength:s,trackOpacity:.5,trackRadius:o/2,trackSize:o/2,type:u,values:this.sliderValues,formatter:function(ue){if(U)return U(ue);var fe=n.getDatumByRatio(ue).time;return typeof fe=="number"?Cb(fe):la(fe,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},Y);var ne=u==="range"?5:0,le=p.map(function(ue){var fe=ue.value;return fe});return(0,xe.pi)({handleIconOffset:ne,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:le,sparklineType:h,sparklineScale:.8,trackLength:s,trackSize:o,type:u,values:this.sliderValues,transform:"translate(".concat(i,", ").concat(a,")"),zIndex:1},Y)},e.prototype.renderChart=function(t){t===void 0&&(t=this.space.timelineBBox),this.timeline.update(this.getChartStyle(t))},e.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},e.prototype.getAxisStyle=function(t){var n=this.data,i=this.attributes,a=i.interval,s=i.labelFormatter,o=Wn(this.attributes,"axis"),l=t.x,u=t.y,h=t.width,p=(0,xe.ev)((0,xe.ev)([],(0,xe.CR)(n),!1),[{time:0}],!1).map(function(N,U,H){var V=N.time;return{label:"".concat(V),value:U/(H.length-1),time:V}}),S=(0,xe.pi)({startPos:[l,u],endPos:[l+h,u],data:p,labelFilter:function(N,U){return U<p.length-1},labelFormatter:function(N){var U=N.time;return s?s(U):jk(U,a)}},o);return S},e.prototype.renderAxis=function(t){t===void 0&&(t=this.space.axisBBox);var n=this.attributes.type;n==="chart"&&this.axis.update(this.getAxisStyle(t))},e.prototype.renderController=function(t){t===void 0&&(t=this.space.controllerBBox);var n=this.attributes.type,i=this.states,a=i.state,s=i.speed,o=i.selectionType,l=i.chartType,u=Wn(this.attributes,"controller"),h=this,p=(0,xe.pi)((0,xe.pi)((0,xe.pi)({},t),{iconSize:20,speed:s,state:a,selectionType:o,chartType:l,onChange:function(S,N){var U=N.value;switch(S){case"reset":h.internalReset();break;case"speed":h.handleSpeedChange(U);break;case"backward":h.internalBackward();break;case"playPause":U==="play"?h.internalPlay():h.internalPause();break;case"forward":h.internalForward();break;case"selectionType":h.handleSelectionTypeChange(U);break;case"chartType":h.handleChartTypeChange(U);break;default:break}}}),u);n==="time"&&(p.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(p)},e.prototype.dispatchOnChange=function(t){var n=this.data,i=this.attributes.onChange,a=this.states,s=a.values,o=a.selectionType,l=(0,xe.CR)(s,2),u=l[0],h=l[1],p=h===1/0?n.at(-1).time:h,S=o==="range"?[u,p]:p,N=function(U,H){return Array.isArray(U)?Array.isArray(H)?U[0]===H[0]&&(U[1]===H[1]||U[1]===1/0||H[1]===1/0):!1:Array.isArray(H)?!1:U===H};(!t||!N(t,S))&&(i==null||i(o==="range"?[u,p]:p))},e.prototype.internalReset=function(t){var n,i,a=this.states.selectionType;this.internalPause(),this.setBySliderValues(a==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onReset)===null||i===void 0||i.call(n),this.dispatchOnChange())},e.prototype.reset=function(){this.internalReset()},e.prototype.moveSelection=function(t,n){var i=this.data,a=i.length,s=this.states,o=s.values,l=s.selectionType,u=s.playMode,h=(0,xe.CR)(o,2),p=h[0],S=h[1],N=i.findIndex(function(ne){var le=ne.time;return le===p}),U=i.findIndex(function(ne){var le=ne.time;return le===S});U===-1&&(U=a);var H=t==="backward"?-1:1,V;l==="range"?u==="acc"?(V=[N,U+H],H===-1&&N===U&&(V=[N,a])):V=[N+H,U+H]:V=[N,U+H];var Y=function(ne){var le=(0,xe.CR)(ne.sort(function(ve,Te){return ve-Te}),2),ue=le[0],fe=le[1],de=function(ve){return Jr(ve,0,a)};return fe>a?l==="value"?[0,0]:u==="acc"?[de(ue),de(ue)]:[0,de(fe-ue)]:ue<0?u==="acc"?[0,de(fe)]:[de(ue+a-fe),a]:[de(ue),de(fe)]},q=Y(V);return this.setByIndex(q),this.updateSelection(),q},e.prototype.internalBackward=function(t){var n,i,a=this.moveSelection("backward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onBackward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.backward=function(){this.internalBackward()},e.prototype.internalPlay=function(t){var n=this,i,a,s=this.data,o=this.attributes.loop,l=this.states.speed,u=l===void 0?1:l;this.playInterval=window.setInterval(function(){var h=n.internalForward();h[1]===s.length&&!o&&(n.internalPause(),n.renderController())},1e3/u),this.states.state="play",!t&&((a=(i=this.attributes)===null||i===void 0?void 0:i.onPlay)===null||a===void 0||a.call(i))},e.prototype.play=function(){this.internalPlay()},e.prototype.internalPause=function(t){var n,i;clearInterval(this.playInterval),this.states.state="pause",!t&&((i=(n=this.attributes)===null||n===void 0?void 0:n.onPause)===null||i===void 0||i.call(n))},e.prototype.pause=function(){this.internalPause()},e.prototype.internalForward=function(t){var n,i,a=this.moveSelection("forward",t);return t||((i=(n=this.attributes)===null||n===void 0?void 0:n.onForward)===null||i===void 0||i.call(n),this.dispatchOnChange()),a},e.prototype.forward=function(){this.internalForward()},e.prototype.handleSpeedChange=function(t){var n,i;this.states.speed=t;var a=this.states.state;a==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSpeedChange)===null||i===void 0||i.call(n,t)},e.prototype.handleSelectionTypeChange=function(t){var n,i;this.states.selectionType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onSelectionTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.handleChartTypeChange=function(t){var n,i;this.states.chartType=t,this.renderChart(),(i=(n=this.attributes)===null||n===void 0?void 0:n.onChartTypeChange)===null||i===void 0||i.call(n,t)},e.prototype.render=function(){var t=this.space,n=t.axisBBox,i=t.controllerBBox,a=t.timelineBBox;this.renderController(i),this.renderAxis(n),this.renderChart(a),this.states.state==="play"&&this.internalPlay()},e.prototype.destroy=function(){r.prototype.destroy.call(this),this.internalPause(!0)},e.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},e}(ai);function Kk(r){return r instanceof Date}var Xk=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},Yk=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const Qk=["timestamp","time","date","datetime"];class Dd extends zi{get padding(){return cs(this.options.padding)}constructor(e,t){super(e,Object.assign({},Dd.defaultOptions,t)),this.backup(),this.upsertTimebar()}play(){var e;(e=this.timebar)===null||e===void 0||e.play()}pause(){var e;(e=this.timebar)===null||e===void 0||e.pause()}forward(){var e;(e=this.timebar)===null||e===void 0||e.forward()}backward(){var e;(e=this.timebar)===null||e===void 0||e.backward()}reset(){var e;(e=this.timebar)===null||e===void 0||e.reset()}update(e){super.update(e),this.backup(),this.upsertTimebar()}backup(){this.originalData=Lb(this.context.graph.getData())}upsertTimebar(){const{canvas:e}=this.context,t=this.options,{onChange:n,timebarType:i,data:a,x:s,y:o,width:l,height:u,mode:h}=t,p=Yk(t,["onChange","timebarType","data","x","y","width","height","mode"]),S=e.getSize(),[N]=this.padding;this.upsertCanvas().ready.then(()=>{var U;const H=Object.assign(Object.assign({x:S[0]/2-l/2,y:N,onChange:V=>{const Y=(va(V)?V:[V,V]).map(q=>Kk(q)?q.getTime():q);this.options.mode==="modify"?this.filterElements(Y):this.hiddenElements(Y),n==null||n(Y)}},p),{data:a.map(V=>un(V)?{time:V,value:0}:V),width:l,height:u,type:i});this.timebar?this.timebar.update(H):(this.timebar=new Zk({style:H}),(U=this.canvas)===null||U===void 0||U.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:e,height:t,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[s,,o]=this.padding,[l,u]=N0({width:a,height:t+s+o,graphCanvas:i,className:"timebar",placement:n});return this.container=l,e&&l.classList.add(e),this.canvas=u,this.canvas}filterElements(e){return Xk(this,void 0,void 0,function*(){var t;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:s}=this.context,o=Lb(this.originalData);n.forEach(u=>{const h=`${u}s`;o[h]=(this.originalData[h]||[]).filter(p=>{const S=i(p);return!!Rb(S,e)})});const l=[...o.nodes,...o.combos].map(u=>Et(u));o.edges=o.edges.filter(u=>{const h=u.source,p=u.target;return l.includes(h)&&l.includes(p)}),a.setData(o),yield(t=s.draw({animation:!1,silence:!0}))===null||t===void 0?void 0:t.finished})}hiddenElements(e){const{graph:t}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],s=[];n.forEach(o=>{var l;const u=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[u])||[]).forEach(p=>{const S=Et(p),N=i(p);Rb(N,e)?s.push(S):a.push(S)})}),t.hideElement(a,!1),t.showElement(s,!1)}destroy(){var e,t,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(e=this.timebar)===null||e===void 0||e.destroy(),(t=this.canvas)===null||t===void 0||t.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}Dd.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>Jk(r,Qk,void 0),loop:!1};const Lb=r=>{const{nodes:e=[],edges:t=[],combos:n=[]}=r;return{nodes:[...e],edges:[...t],combos:[...n]}},Rb=(r,e)=>{if(un(e))return r===e;const[t,n]=e;return r>=t&&r<=n},Jk=(r,e,t)=>{var n;for(let i=0;i<e.length;i++){const a=e[i],s=(n=r.data)===null||n===void 0?void 0:n[a];if(s)return s}return t};function qk(r){const e={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{e[n]="8px"}),e.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",e}const $k=`
.g6-toolbar {
position: absolute;
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 4px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
opacity: 0.65;
}
.g6-toolbar .g6-toolbar-item {
display: inline-block;
width: 16px;
height: 16px;
padding: 4px;
cursor: pointer;
box-sizing: content-box;
}
.g6-toolbar .g6-toolbar-item:hover {
background-color: #f0f0f0;
}
.g6-toolbar .g6-toolbar-item svg {
display: inline-block;
width: 100%;
height: 100%;
pointer-events: none;
}
`,eF=`
<svg>
<symbol id="zoom-in" viewBox="64 64 896 896">
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="zoom-out" viewBox="64 64 896 896">
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
</symbol>
<symbol id="edit" viewBox="64 64 896 896">
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
</symbol>
<symbol id="delete" viewBox="64 64 896 896">
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
</symbol>
<symbol id="redo" viewBox="64 64 896 896">
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
</symbol>
<symbol id="undo" viewBox="64 64 896 896">
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
</symbol>
<symbol id="export" viewBox="64 64 896 896">
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
</symbol>
<symbol id="auto-fit" viewBox="64 64 896 896">
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
</symbol>
<symbol id="reset" viewBox="64 64 896 896">
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
</symbol>
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
</svg>
`;var Ib=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Cd extends zi{constructor(e,t){super(e,Object.assign({},Cd.defaultOptions,t)),this.$element=au("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const s=i.target.getAttribute("value");a==null||a(s,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),E0("g6-toolbar-css","style",{},$k,document.head),E0("g6-toolbar-svgicon","div",{display:"none"},eF),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return Ib(this,void 0,void 0,function*(){t.update.call(this,e);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,qk(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return Ib(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(t=>{var n;return`
<div class="g6-toolbar-item" value="${t.value}" title="${(n=t.title)!==null&&n!==void 0?n:""}">
<svg aria-hidden="true" focusable="false">
<use xlink:href="#${t.id}"></use>
</svg>
</div>`}).join("")})}}Cd.defaultOptions={position:"top-left"};function hp(r){var e=document.createElement("div");e.innerHTML=r;var t=e.childNodes[0];return t&&e.contains(t)&&e.removeChild(t),t}function tF(r,e){return!r||!e?r:r.replace(/\\?\{([^{}]+)\}/g,function(t,n){return t.charAt(0)==="\\"?t.slice(1):e[n]===void 0?"":e[n]})}var nF=tF,Nb=function(r,e){if(e==null){r.innerHTML="";return}r.replaceChildren?Array.isArray(e)?r.replaceChildren.apply(r,(0,xe.ev)([],(0,xe.CR)(e),!1)):r.replaceChildren(e):(r.innerHTML="",Array.isArray(e)?e.forEach(function(t){return r.appendChild(t)}):r.appendChild(e))};function fp(r){return r===void 0&&(r=""),{CONTAINER:"".concat(r,"tooltip"),TITLE:"".concat(r,"tooltip-title"),LIST:"".concat(r,"tooltip-list"),LIST_ITEM:"".concat(r,"tooltip-list-item"),NAME:"".concat(r,"tooltip-list-item-name"),MARKER:"".concat(r,"tooltip-list-item-marker"),NAME_LABEL:"".concat(r,"tooltip-list-item-name-label"),VALUE:"".concat(r,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(r,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(r,"tooltip-crosshair-y")}}var Bb={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function rF(r){var e;r===void 0&&(r="");var t=fp(r);return e={},e[".".concat(t.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},e[".".concat(t.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},e[".".concat(t.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},e[".".concat(t.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},e[".".concat(t.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},e[".".concat(t.NAME)]={display:"flex","align-items":"center","max-width":"216px"},e[".".concat(t.NAME_LABEL)]=(0,xe.pi)({flex:1},Bb),e[".".concat(t.VALUE)]=(0,xe.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},Bb),e[".".concat(t.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e[".".concat(t.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},e}var iF=function(r){(0,xe.ZT)(e,r);function e(t){var n=this,i,a,s=(a=(i=t.style)===null||i===void 0?void 0:i.template)===null||a===void 0?void 0:a.prefixCls,o=fp(s);return n=r.call(this,t,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(o.CONTAINER,'"></div>'),title:'<div class="'.concat(o.TITLE,'"></div>'),item:'<li class="'.concat(o.LIST_ITEM,`" data-index={index}>
<span class="`).concat(o.NAME,`">
<span class="`).concat(o.MARKER,`" style="background:{color}"></span>
<span class="`).concat(o.NAME_LABEL,`" title="{name}">{name}</span>
</span>
<span class="`).concat(o.VALUE,`" title="{value}">{value}</span>
</li>`)},style:rF(s)})||this,n.timestamp=-1,n.prevCustomContentKey=n.attributes.contentKey,n.initShape(),n.render(n.attributes,n),n}return Object.defineProperty(e.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),e.prototype.getContainer=function(){return this.element},Object.defineProperty(e.prototype,"elementSize",{get:function(){var t=this.element.offsetWidth,n=this.element.offsetHeight;return{width:t,height:n}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"HTMLTooltipItemsElements",{get:function(){var t=this.attributes,n=t.data,i=t.template;return n.map(function(a,s){var o=a.name,l=o===void 0?"":o,u=a.color,h=u===void 0?"black":u,p=a.index,S=(0,xe._T)(a,["name","color","index"]),N=(0,xe.pi)({name:l,color:h,index:p!=null?p:s},S);return hp(nF(i.item,N))})},enumerable:!1,configurable:!0}),e.prototype.render=function(t,n){this.renderHTMLTooltipElement(),this.updatePosition()},e.prototype.destroy=function(){var t;(t=this.element)===null||t===void 0||t.remove(),r.prototype.destroy.call(this)},e.prototype.show=function(t,n){var i=this;if(t!==void 0&&n!==void 0){var a=this.element.style.visibility==="hidden",s=function(){i.attributes.x=t!=null?t:i.attributes.x,i.attributes.y=n!=null?n:i.attributes.y,i.updatePosition()};a?this.closeTransition(s):s()}this.element.style.visibility="visible"},e.prototype.hide=function(t,n){t===void 0&&(t=0),n===void 0&&(n=0);var i=this.attributes.enterable;i&&this.isCursorEntered(t,n)||(this.element.style.visibility="hidden")},e.prototype.initShape=function(){var t=this.attributes.template;this.element=hp(t.container),this.id&&this.element.setAttribute("id",this.id)},e.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var t=this.attributes.content;t&&(typeof t=="string"?this.element.innerHTML=t:Nb(this.element,t))}},e.prototype.renderHTMLTooltipElement=function(){var t,n,i=this.attributes,a=i.template,s=i.title,o=i.enterable,l=i.style,u=i.content,h=fp(a.prefixCls),p=this.element;if(this.element.style.pointerEvents=o?"auto":"none",u)this.renderCustomContent();else{s?(p.innerHTML=a.title,p.getElementsByClassName(h.TITLE)[0].innerHTML=s):(n=(t=p.getElementsByClassName(h.TITLE))===null||t===void 0?void 0:t[0])===null||n===void 0||n.remove();var S=this.HTMLTooltipItemsElements,N=document.createElement("ul");N.className=h.LIST,Nb(N,S);var U=this.element.querySelector(".".concat(h.LIST));U?U.replaceWith(N):p.appendChild(N)}BB(p,l)},e.prototype.getRelativeOffsetFromCursor=function(t){var n=this.attributes,i=n.position,a=n.offset,s=t||i,o=s.split("-"),l={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},u=this.elementSize,h=u.width,p=u.height,S=[-h/2,-p/2];return o.forEach(function(N){var U=(0,xe.CR)(S,2),H=U[0],V=U[1],Y=(0,xe.CR)(l[N],2),q=Y[0],ne=Y[1];S=[H+(h/2+a[0])*q,V+(p/2+a[1])*ne]}),S},e.prototype.setOffsetPosition=function(t){var n=(0,xe.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=o===void 0?0:o,u=s.y,h=u===void 0?0:u,p=s.container,S=p.x,N=p.y;this.element.style.left="".concat(+l+S+i,"px"),this.element.style.top="".concat(+h+N+a,"px")},e.prototype.updatePosition=function(){var t=this.attributes.showDelay,n=t===void 0?60:t,i=Date.now();this.timestamp>0&&i-this.timestamp<n||(this.timestamp=i,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},e.prototype.autoPosition=function(t){var n=(0,xe.CR)(t,2),i=n[0],a=n[1],s=this.attributes,o=s.x,l=s.y,u=s.bounding,h=s.position;if(!u)return[i,a];var p=this.element,S=p.offsetWidth,N=p.offsetHeight,U=(0,xe.CR)([+o+i,+l+a],2),H=U[0],V=U[1],Y={left:"right",right:"left",top:"bottom",bottom:"top"},q=u.x,ne=u.y,le=u.width,ue=u.height,fe={left:H<q,right:H+S>q+le,top:V<ne,bottom:V+N>ne+ue},de=[];h.split("-").forEach(function(Te){fe[Te]?de.push(Y[Te]):de.push(Te)});var ve=de.join("-");return this.getRelativeOffsetFromCursor(ve)},e.prototype.isCursorEntered=function(t,n){if(this.element){var i=this.element.getBoundingClientRect(),a=i.x,s=i.y,o=i.width,l=i.height;return new Ji(a,s,o,l).isPointIn(t,n)}return!1},e.prototype.closeTransition=function(t){var n=this,i=this.element.style.transition;this.element.style.transition="none",t(),setTimeout(function(){n.element.style.transition=i},10)},e.tag="tooltip",e}(ai),kb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class Ld extends zi{constructor(e,t){super(e,Object.assign({},Ld.defaultOptions,t)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>kb(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>kb(this,void 0,void 0,function*(){var i,a;const{client:s,target:{id:o}}=n;if(wf(n.target))return;const l=this.context.graph.getElementType(o),{getContent:u,title:h}=this.options,p=this.getElementData(o,l);if(!this.tooltipElement||!this.isEnable(n,p))return;let S={};if(u){if(S.content=yield u(n,p),!S.content)return}else{const H=this.context.graph.getElementRenderStyle(o),V=l==="node"?H.fill:H.stroke;S={title:h||l,data:p.map(Y=>({name:"ID",value:Y.id||`${Y.source} -> ${Y.target}`,color:V}))}}this.currentTarget=o;let N,U;if(s)N=s.x,U=s.y;else{const H=ba(p,"0.style",{x:0,y:0});N=H.x,U=H.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:N,y:U,style:{".tooltip":{visibility:"visible"}}}),S))}),this.hide=n=>{var i,a,s,o,l;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(s=this.tooltipElement)===null||s===void 0||s.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:u,y:h}}=n;(l=(o=this.options).onOpenChange)===null||l===void 0||l.call(o,!1),this.tooltipElement.hide(u,h),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new iF({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(e){var t;this.unbindEvents(),super.update(e),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:e}=this.context,t=e.getContainer();t&&(this.container=t,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.off(n,t[n])})}bindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.on(n,t[n])})}get tooltipStyleProps(){const{canvas:e}=this.context,{center:t}=e.getBounds(),n=e.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:s,position:o,enterable:l,container:u={x:-a,y:-i},title:h,offset:p}=this.options,[S,N]=t,[U,H]=e.getSize();return{x:S,y:N,container:u,title:h,bounding:{x:0,y:0,width:U,height:H},position:o,enterable:l,offset:p,style:s}}destroy(){var e;this.unbindEvents(),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Ld.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var Fb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};let cu;function zb(r,e){return cu||(cu=document.createElement("canvas")),cu.width=r,cu.height=e,cu.getContext("2d").clearRect(0,0,r,e),cu}function aF(r,e,t,n){return Fb(this,void 0,void 0,function*(){const i=zb(r,e),a=i.getContext("2d"),{rotate:s,opacity:o,textFill:l,textFontSize:u,textFontFamily:h,textFontVariant:p,textFontWeight:S,textAlign:N,textBaseline:U}=n;return a.textAlign=N,a.textBaseline=U,a.translate(r/2,e/2),a.font=`${u}px ${h} ${p} ${S}`,s&&a.rotate(s),o&&(a.globalAlpha=o),l&&(a.fillStyle=l,a.fillText(`${t}`,0,0)),i.toDataURL()})}function sF(r,e,t,n){return Fb(this,void 0,void 0,function*(){const i=zb(r,e),a=i.getContext("2d"),{rotate:s,opacity:o}=n;s&&a.rotate(s),o&&(a.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=t,new Promise(u=>{l.onload=function(){const h=r>l.width?(r-l.width)/2:0,p=e>l.height?(e-l.height)/2:0;a.drawImage(l,0,0,l.width,l.height,h,p,r-h*2,e-p*2),u(i.toDataURL())}})})}var oF=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},lF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class Rd extends zi{constructor(e,t){super(e,Object.assign({},Rd.defaultOptions,t)),this.$element=au("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return oF(this,void 0,void 0,function*(){t.update.call(this,e);const n=this.options,{width:i,height:a,text:s,imageURL:o}=n,l=lF(n,["width","height","text","imageURL"]);Object.keys(l).forEach(h=>{h.startsWith("background")&&(this.$element.style[h]=e[h])});const u=o?yield sF(i,a,o,l):yield aF(i,a,s,l);this.$element.style.backgroundImage=`url(${u})`})}destroy(){super.destroy(),this.$element.remove()}}Rd.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const uF=["#7E92B5","#F4664A","#FFBE3A"],cF={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},hF={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function Ub(r){const{bgColor:e,textColor:t,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:s=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:u=.85,nodeOpacityInactive:h=.25,nodeBadgePalette:p=uF,nodePaletteOptions:S=cF,edgeColor:N,edgeColorDisabled:U,edgePaletteOptions:H=hF,comboColor:V,comboColorDisabled:Y,comboStroke:q,comboStrokeDisabled:ne,edgeColorInactive:le}=r;return{background:e,node:{palette:S,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:p,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:t,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:s},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:h,donutOpacity:h,fillOpacity:h,iconOpacity:u,labelFill:t,labelFillOpacity:h,strokeOpacity:h},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:t,labelFillOpacity:.25,strokeOpacity:l}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:H,style:{badgeBackgroundFill:N,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:N,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:le,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:U,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:e,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:V,halo:!1,haloLineWidth:12,haloStroke:q,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:q},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:Y,fillOpacity:.25,labelOpacity:.25,stroke:ne,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const fF=Ub({bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:{type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"}),dF=Ub({bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"});class Uo extends Eg{beforeDraw(e,t){return e}afterLayout(e,t){}}class vF extends Uo{beforeDraw(e){const{model:t}=this.context,n=e.add.combos,i=a=>{const s=[];return a.forEach((o,l)=>{const h=t.getAncestorsData(l,"combo").map(p=>Et(p)).reverse();s.push([l,o,h.length])}),new Map(s.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return e.add.combos=i(n),e.update.combos=i(e.update.combos),e}}function Fa(r,e,t,n,i){const a=Et(n),s=`${t}s`,o=i?n:r.add[s].get(a)||r.update[s].get(a)||r.remove[s].get(a)||n;Object.entries(r).forEach(([l,u])=>{e===l?u[s].set(a,o):u[s].delete(a)})}function Id(r,e){return Object.keys(r).every(t=>r[t]===e[t])}class gF extends Uo{beforeDraw(e,t){if(t.stage==="visibility"||!this.context.model.model.hasTreeStructure(Cr))return e;const{model:n}=this.context,{add:i,update:a}=e,s=[...e.update.combos.entries(),...e.add.combos.entries()];for(;s.length;){const[o,l]=s.pop();if(xa(l)){const u=n.getDescendantsData(o),h=u.map(Et),{internal:p,external:S}=jg(h,N=>n.getRelatedEdgesData(N));u.forEach(N=>{const U=Et(N),H=s.findIndex(([Y])=>Y===U);H!==-1&&s.splice(H,1);const V=n.getElementType(U);Fa(e,"remove",V,N)}),p.forEach(N=>Fa(e,"remove","edge",N)),S.forEach(N=>{var U;const H=Et(N);((U=this.context.element)===null||U===void 0?void 0:U.getElement(H))?a.edges.set(H,N):i.edges.set(H,N)})}else{const u=n.getChildrenData(o),h=u.map(Et),{edges:p}=jg(h,S=>n.getRelatedEdgesData(S));[...u,...p].forEach(S=>{var N;const U=Et(S),H=n.getElementType(U);((N=this.context.element)===null||N===void 0?void 0:N.getElement(U))?Fa(e,"update",H,S):Fa(e,"add",H,S),H==="combo"&&s.push([U,S])})}}return e}}const Wb=(r,e,t,n)=>{const i=`${t}s`,a=Et(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[e][i].set(Et(n),n)};class pF extends Uo{getElement(e){return this.context.element.getElement(e)}handleExpand(e,t){if(Wb(t,"add","node",e),xa(e))return;const n=Et(e);Wb(t,"add","node",e),this.context.model.getRelatedEdgesData(n,"out").forEach(s=>{Fa(t,"add","edge",s)}),this.context.model.getChildrenData(n).forEach(s=>{this.handleExpand(s,t)})}beforeDraw(e){const{graph:t,model:n}=this.context;if(!n.model.hasTreeStructure(Da))return e;const{add:{nodes:i,edges:a},update:{nodes:s}}=e,o=new Map,l=new Map;i.forEach((h,p)=>{xa(h)&&o.set(p,h)}),a.forEach(h=>{if(t.getElementType(h.source)!=="node")return;const p=t.getNodeData(h.source);xa(p)&&o.set(h.source,p)}),s.forEach((h,p)=>{const S=this.getElement(p);if(!S)return;const N=S.attributes.collapsed;xa(h)?N||o.set(p,h):N&&l.set(p,h)});const u=new Set;return o.forEach((h,p)=>{n.getDescendantsData(p).forEach(N=>{const U=Et(N);if(u.has(U))return;Fa(e,"remove","node",N),n.getRelatedEdgesData(U).forEach(V=>{Fa(e,"remove","edge",V)}),u.add(U)})}),l.forEach((h,p)=>{if(n.getAncestorsData(p,Da).some(xa)){Fa(e,"remove","node",h);return}this.handleExpand(h,e)}),e}}const dp=new WeakMap;function Q9(r,e,t){dp.has(r)||dp.set(r,{});const n=dp.get(r);if(!n[e])return n[e]=t,!0;const i=n[e];return Hb(i,t)?!1:(n[e]=t,!0)}const Hb=(r,e,t=2)=>{if(typeof r!="object"||typeof e!="object")return r===e;const n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(const a of n){const s=r[a],o=e[a];if(t>1&&typeof s=="object"&&typeof o=="object"){if(!Hb(s,o,t-1))return!1}else if(s!==o)return!1}return!0};function mF(r,e,t){rg[r][e]&&Ea.warn(`The extension ${e} of ${r} has been registered before, and will be overridden.`),Object.assign(rg[r],{[e]:t})}var Gb=function(){function r(e){(0,_.Z)(this,r),this.dragndropPluginOptions=e}return(0,F.Z)(r,[{key:"apply",value:function(t){var n=this,i=t.renderingService,a=t.renderingContext,s=a.root.ownerDocument,o=s.defaultView,l=function(h){var p=h.target,S=p===s,N=S&&n.dragndropPluginOptions.isDocumentDraggable?s:p.closest&&p.closest("[draggable=true]");if(N){var U=!1,H=h.timeStamp,V=[h.clientX,h.clientY],Y=null,q=[h.clientX,h.clientY],ne=function(){var ue=(0,po.Z)((0,Yi.Z)().mark(function fe(de){var ve,Te,Oe,Ie,ze,Xe;return(0,Yi.Z)().wrap(function(st){for(;;)switch(st.prev=st.next){case 0:if(U){st.next=8;break}if(ve=de.timeStamp-H,Te=da([de.clientX,de.clientY],V),!(ve<=n.dragndropPluginOptions.dragstartTimeThreshold||Te<=n.dragndropPluginOptions.dragstartDistanceThreshold)){st.next=5;break}return st.abrupt("return");case 5:de.type="dragstart",N.dispatchEvent(de),U=!0;case 8:if(de.type="drag",de.dx=de.clientX-q[0],de.dy=de.clientY-q[1],N.dispatchEvent(de),q=[de.clientX,de.clientY],S){st.next=21;break}return Oe=n.dragndropPluginOptions.overlap==="pointer"?[de.canvasX,de.canvasY]:p.getBounds().center,st.next=17,s.elementsFromPoint(Oe[0],Oe[1]);case 17:Ie=st.sent,ze=Ie[Ie.indexOf(p)+1],Xe=(ze==null?void 0:ze.closest("[droppable=true]"))||(n.dragndropPluginOptions.isDocumentDroppable?s:null),Y!==Xe&&(Y&&(de.type="dragleave",de.target=Y,Y.dispatchEvent(de)),Xe&&(de.type="dragenter",de.target=Xe,Xe.dispatchEvent(de)),Y=Xe,Y&&(de.type="dragover",de.target=Y,Y.dispatchEvent(de)));case 21:case"end":return st.stop()}},fe)}));return function(de){return ue.apply(this,arguments)}}();o.addEventListener("pointermove",ne);var le=function(fe){if(U){fe.detail={preventClick:!0};var de=fe.clone();Y&&(de.type="drop",de.target=Y,Y.dispatchEvent(de)),de.type="dragend",N.dispatchEvent(de),U=!1}o.removeEventListener("pointermove",ne)};p.addEventListener("pointerup",le,{once:!0}),p.addEventListener("pointerupoutside",le,{once:!0})}};i.hooks.init.tap(r.tag,function(){o.addEventListener("pointerdown",l)}),i.hooks.destroy.tap(r.tag,function(){o.removeEventListener("pointerdown",l)})}}])}();Gb.tag="Dragndrop";var yF=function(r){function e(){var t,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,_.Z)(this,e),t=(0,x.Z)(this,e),t.name="dragndrop",t.options=n,t}return(0,y.Z)(e,r),(0,F.Z)(e,[{key:"init",value:function(){this.addRenderingPlugin(new Gb((0,G.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(n){Object.assign(this.plugins[0].dragndropPluginOptions,n)}}])}(mo),jb=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},Vb=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};const Zb=["main"],Kb=["background","main","label","transient"];function _F(r){return r.main}class Xb{getConfig(){return this.config}getLayer(e="main"){return this.extends.layers[e]||_F(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(e){return this.extends.renderers[e]}getCamera(e="main"){return this.getLayer(e).getCamera()}getRoot(e="main"){return this.getLayer(e).getRoot()}getContextService(e="main"){return this.getLayer(e).getContextService()}setCursor(e){this.config.cursor=e,this.getLayer().setCursor(e)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(e){this.config={enableMultiLayer:!0},Object.assign(this.config,e);const t=this.config,{renderer:n,background:i,cursor:a,enableMultiLayer:s}=t,o=Vb(t,["renderer","background","cursor","enableMultiLayer"]),l=s?Kb:Zb,u=Yb(n,l),h=Object.fromEntries(l.map(p=>{const S=new Zv(Object.assign(Object.assign({},o),{supportsMutipleCanvasesInOneContainer:s,renderer:u[p],background:s?p==="background"?i:void 0:i}));return[p,S]}));Qb(h),this.extends={config:this.config,renderer:n,renderers:u,layers:h}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,e])=>e.ready))}resize(e,t){Object.assign(this.extends.config,{width:e,height:t}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),s=i.getFocalPoint();n.resize(e,t),i.setPosition(a),i.setFocalPoint(s)})}getBounds(e){return Xu(Object.values(this.getLayers()).map(t=>e?t.getRoot().childNodes.find(i=>i.classList.includes(e)):t.getRoot()).filter(t=>(t==null?void 0:t.childNodes.length)>0).map(t=>t.getBounds()))}getContainer(){const e=this.extends.config.container;return typeof e=="string"?document.getElementById(e):e}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(e,t){var n;const i=((n=e.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(e,t)}setRenderer(e){if(e===this.extends.renderer)return;const t=Yb(e,this.config.enableMultiLayer?Kb:Zb);this.extends.renderers=t,Object.entries(t).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),Qb(this.getLayers())}getCanvasByViewport(e){return Fi(this.getLayer().viewport2Canvas(gs(e)))}getViewportByCanvas(e){return Fi(this.getLayer().canvas2Viewport(gs(e)))}getViewportByClient(e){return Fi(this.getLayer().client2Viewport(gs(e)))}getClientByViewport(e){return Fi(this.getLayer().viewport2Client(gs(e)))}getClientByCanvas(e){return this.getClientByViewport(this.getViewportByCanvas(e))}getCanvasByClient(e){const t=this.getLayer(),n=t.client2Viewport(gs(e));return Fi(t.viewport2Canvas(n))}toDataURL(){return jb(this,arguments,void 0,function*(e={}){const t=globalThis.devicePixelRatio||1,{mode:n="viewport"}=e,i=Vb(e,["mode"]);let[a,s,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const Y=this.getBounds(),q=bo(Y);[a,s]=Y.min,[o,l]=q}const u=hp('<div id="virtual-image"></div>'),h=new Zv({width:o,height:l,renderer:new ac,devicePixelRatio:t,container:u,background:this.extends.config.background});yield h.ready,h.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),h.appendChild(this.getRoot().cloneNode(!0));const p=this.getLayer("label").getRoot().cloneNode(!0),S=h.viewport2Canvas({x:0,y:0}),N=this.getCanvasByViewport([0,0]);p.translate([N[0]-S.x,N[1]-S.y]),p.scale(1/this.getCamera().getZoom()),h.appendChild(p),h.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const U=this.getCamera(),H=h.getCamera();if(n==="viewport")H.setZoom(U.getZoom()),H.setPosition(U.getPosition()),H.setFocalPoint(U.getFocalPoint());else if(n==="overall"){const[Y,q,ne]=H.getPosition(),[le,ue,fe]=H.getFocalPoint();H.setPosition([Y+a,q+s,ne]),H.setFocalPoint([le+a,ue+s,fe])}const V=h.getContextService();return new Promise(Y=>{h.addEventListener(Oa.RERENDER,()=>jb(this,void 0,void 0,function*(){yield new Promise(ne=>setTimeout(ne,300));const q=yield V.toDataURL(i);Y(q)}))})})}destroy(){Object.values(this.getLayers()).forEach(e=>{e.getCamera().cancelLandmarkAnimation(),e.destroy()})}}function Yb(r,e){return Object.fromEntries(e.map(t=>{const n=(r==null?void 0:r(t))||new ac;return n instanceof ac&&n.setConfig({enableDirtyRectangleRendering:!1}),t==="main"?n.registerPlugin(new yF({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[t,n]}))}function Qb(r){Object.entries(r).forEach(([e,t])=>{const n=t.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,e!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid")})}const hu=r=>r?parseInt(r):0;function EF(r){const e=getComputedStyle(r),t=r.clientWidth||hu(e.width),n=r.clientHeight||hu(e.height),i=hu(e.paddingLeft)+hu(e.paddingRight),a=hu(e.paddingTop)+hu(e.paddingBottom);return[t-i,n-a]}function Jb(r){if(!r)return[0,0];let e=640,t=480;const[n,i]=EF(r);e=n||e,t=i||t;const a=1,s=1;return[Math.max(un(e)?e:a,a),Math.max(un(t)?t:s,s)]}class Nd{constructor(e){this.type=e}}class bi extends Nd{constructor(e,t){super(e),this.data=t}}class ts extends Nd{constructor(e,t,n,i){super(e),this.animationType=t,this.animation=n,this.data=i}}class fu extends Nd{constructor(e,t,n){super(e),this.elementType=t,this.data=n}}class Bd extends Nd{constructor(e,t){super(e),this.data=t}}function Si(r,e){r.emit(e.type,e)}function xF(r){if(!r)return null;if(r instanceof Ey)return{type:"canvas",element:r};let e=r;for(;e;){if(oc(e))return{type:"node",element:e};if(z1(e))return{type:"edge",element:e};if(Vg(e))return{type:"combo",element:e};e=e.parentElement}return null}function qb(r){var e;return((e=r==null?void 0:r.style)===null||e===void 0?void 0:e.zIndex)||0}const du="cachedStyle",kd=r=>`__${r}__`;function bF(r,e){const t=Array.isArray(e)?e:[e];ba(r,du)||tc(r,du,{}),t.forEach(n=>{tc(ba(r,du),kd(n),r.attributes[n])})}function $b(r,e){return ba(r,[du,kd(e)])}function wF(r,e){return kd(e)in(ba(r,du)||{})}function J9(r,e,t){set(r,[du,kd(e)],t)}class MF{constructor(e){this.tasks=[],this.animations=new Set,this.context=e}getTasks(){const e=[...this.tasks];return this.tasks=[],e}add(e,t){this.tasks.push([e,t])}animate(e,t,n){var i,a,s;(i=t==null?void 0:t.before)===null||i===void 0||i.call(t);const o=this.getTasks().map(([u,h])=>{var p,S,N;const{element:U,elementType:H,stage:V}=u,Y=aS(this.context.options,H,V,e);(p=h==null?void 0:h.before)===null||p===void 0||p.call(h);const q=Y.length?oS(U,this.inferStyle(u,n),Y):null;return q?((S=h==null?void 0:h.beforeAnimate)===null||S===void 0||S.call(h,q),q.finished.then(()=>{var ne,le;(ne=h==null?void 0:h.afterAnimate)===null||ne===void 0||ne.call(h,q),(le=h==null?void 0:h.after)===null||le===void 0||le.call(h),this.animations.delete(q)})):(N=h==null?void 0:h.after)===null||N===void 0||N.call(h),q}).filter(Boolean);o.forEach(u=>this.animations.add(u));const l=ig(o);return l?((a=t==null?void 0:t.beforeAnimate)===null||a===void 0||a.call(t,l),l.finished.then(()=>{var u,h;(u=t==null?void 0:t.afterAnimate)===null||u===void 0||u.call(t,l),(h=t==null?void 0:t.after)===null||h===void 0||h.call(t),this.release()})):(s=t==null?void 0:t.after)===null||s===void 0||s.call(t),l}inferStyle(e,t){var n,i;const{element:a,elementType:s,stage:o,originalStyle:l,updatedStyle:u={}}=e;e.modifiedStyle||(e.modifiedStyle=Object.assign(Object.assign({},l),u));const{modifiedStyle:h}=e,p={},S={};if(o==="enter")Object.assign(p,{opacity:0});else if(o==="exit")Object.assign(S,{opacity:0});else if(o==="show")Object.assign(p,{opacity:0}),Object.assign(S,{opacity:(n=$b(a,"opacity"))!==null&&n!==void 0?n:Ku("opacity")});else if(o==="hide")Object.assign(p,{opacity:(i=$b(a,"opacity"))!==null&&i!==void 0?i:Ku("opacity")}),Object.assign(S,{opacity:0});else if(o==="collapse"){const{collapse:N}=t||{},{target:U,descendants:H,position:V}=N;if(s==="node"){if(H.includes(a.id)){const[Y,q,ne]=V;Object.assign(S,{x:Y,y:q,z:ne})}}else if(s==="combo"){if(a.id===U||H.includes(a.id)){const[Y,q]=V;Object.assign(S,{x:Y,y:q,childrenNode:l.childrenNode})}}else s==="edge"&&Object.assign(S,{sourceNode:h.sourceNode,targetNode:h.targetNode})}else if(o==="expand"){const{expand:N}=t||{},{target:U,descendants:H,position:V}=N;if(s==="node"){if(a.id===U||H.includes(a.id)){const[Y,q,ne]=V;Object.assign(p,{x:Y,y:q,z:ne})}}else if(s==="combo"){if(a.id===U||H.includes(a.id)){const[Y,q,ne]=V;Object.assign(p,{x:Y,y:q,z:ne,childrenNode:h.childrenNode})}}else s==="edge"&&Object.assign(p,{sourceNode:h.sourceNode,targetNode:h.targetNode})}return[Object.keys(p).length>0?Object.assign({},l,p):l,Object.keys(S).length>0?Object.assign({},h,S):h]}stop(){this.animations.forEach(e=>e.cancel())}clear(){this.tasks=[]}release(){var e,t;const{canvas:n}=this.context,i=(t=(e=n.document)===null||e===void 0?void 0:e.timeline)===null||t===void 0?void 0:t.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class AF{constructor(e){this.batchCount=0,this.context=e}emit(e){const{graph:t}=this.context;t.emit(e.type,e)}startBatch(e=!0){this.batchCount++,this.batchCount===1&&this.emit(new bi(Qt.BATCH_START,{initiate:e}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new bi(Qt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class TF extends _g{constructor(e){super(e),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=t=>{const{target:n}=t,i=xF(n);if(!i)return;const{graph:a,canvas:s}=this.context,{type:o,element:l}=i;if("destroyed"in l&&(wf(l)||l.destroyed))return;const{type:u,detail:h,button:p}=t,S=Object.assign(Object.assign({},t),{target:l,targetType:o,originalTarget:n});u===Lt.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${Lt.POINTER_LEAVE}`,Object.assign(Object.assign({},S),{type:Lt.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(S,{type:Lt.POINTER_ENTER}),a.emit(`${o}:${Lt.POINTER_ENTER}`,S))),this.currentTarget=l,this.currentTargetType=o),u===Lt.CLICK&&p===2||(a.emit(`${o}:${u}`,S),a.emit(u,S)),u===Lt.CLICK&&h===2&&(Object.assign(S,{type:Lt.DBLCLICK}),a.emit(`${o}:${Lt.DBLCLICK}`,S),a.emit(Lt.DBLCLICK,S)),u===Lt.POINTER_DOWN&&p===2&&(Object.assign(S,{type:Lt.CONTEXT_MENU,preventDefault:()=>{var N;(N=s.getContainer())===null||N===void 0||N.addEventListener(Lt.CONTEXT_MENU,U=>U.preventDefault(),{once:!0})}}),a.emit(`${o}:${Lt.CONTEXT_MENU}`,S),a.emit(Lt.CONTEXT_MENU,S))},this.forwardContainerEvents=t=>{this.context.graph.emit(t.type,t)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(e){this.setExtensions(e)}forwardEvents(){const e=this.context.canvas.getContainer();e&&[Kl.KEY_DOWN,Kl.KEY_UP].forEach(n=>{e.addEventListener(n,this.forwardContainerEvents)});const t=this.context.canvas.document;t&&[Lt.CLICK,Lt.DBLCLICK,Lt.POINTER_OVER,Lt.POINTER_LEAVE,Lt.POINTER_ENTER,Lt.POINTER_MOVE,Lt.POINTER_OUT,Lt.POINTER_DOWN,Lt.POINTER_UP,Lt.CONTEXT_MENU,Lt.DRAG_START,Lt.DRAG,Lt.DRAG_END,Lt.DRAG_ENTER,Lt.DRAG_OVER,Lt.DRAG_LEAVE,Lt.DROP,Lt.WHEEL].forEach(n=>{t.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const e=this.context.canvas.getContainer();e&&[Kl.KEY_DOWN,Kl.KEY_UP].forEach(t=>{e.removeEventListener(t,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function PF(r,e){e===void 0&&(e=new Map);var t=[];if(Array.isArray(r))for(var n=0,i=r.length;n<i;n++){var a=r[n];e.has(a)||(t.push(a),e.set(a,!0))}return t}var Pc=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function Wo(r,e){const{data:t,style:n}=r,i=Pc(r,["data","style"]),{data:a,style:s}=e,o=Pc(e,["data","style"]),l=Object.assign(Object.assign({},i),o);return(t||a)&&Object.assign(l,{data:Object.assign(Object.assign({},t),a)}),(n||s)&&Object.assign(l,{style:Object.assign(Object.assign({},n),s)}),l}function vp(r){const{data:e,style:t}=r,i=Pc(r,["data","style"]);return e&&(i.data=Object.assign({},e)),t&&(i.style=Object.assign({},t)),i}function q9(r){return!get(r,["nodes","length"])&&!get(r,["edges","length"])&&!get(r,["combos","length"])}function vu(r={},e={}){const{states:t=[],data:n={},style:i={},children:a=[]}=r,s=Pc(r,["states","data","style","children"]),{states:o=[],data:l={},style:u={},children:h=[]}=e,p=Pc(e,["states","data","style","children"]),S=(U,H)=>U.length!==H.length?!1:U.every((V,Y)=>V===H[Y]),N=(U,H)=>{const V=Object.keys(U),Y=Object.keys(H);return V.length!==Y.length?!1:V.every(q=>U[q]===H[q])};return!(!N(s,p)||!S(a,h)||!S(t,o)||!N(n,l)||!N(i,u))}var SF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function gp(r){const{id:e=Et(r),style:t,data:n}=r,i=SF(r,["id","style","data"]),a=Object.assign(Object.assign({},r),{style:Object.assign({},t),data:Object.assign({},n)});return gS(r)?Object.assign({id:e,data:a},i):{id:e,data:a}}function Ri(r){return r.data}function OF(r){if(r.hasTreeStructure(Da))return;r.attachTreeStructure(Da);const e=r.getAllEdges();for(const t of e){const{source:n,target:i}=t;r.setParent(i,n,Da)}}class DF{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new di}pushChange(e){if(this.isTraceless)return;const{type:t}=e;if(t===Vr.NodeUpdated||t===Vr.EdgeUpdated||t===Vr.ComboUpdated){const{value:n,original:i}=e;this.changes.push({value:vp(n),original:vp(i),type:t})}else this.changes.push({value:vp(e.value),type:t})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(e){this.batchCount++,this.model.batch(e),this.batchCount--}isBatching(){return this.batchCount>0}silence(e){this.isTraceless=!0,e(),this.isTraceless=!1}isCombo(e){return this.comboIds.has(e)||this.latestRemovedComboIds.has(e)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ri(n);return this.isCombo(Et(i))||(e===void 0||e.includes(Et(i)))&&t.push(i),t},[])}getEdgeDatum(e){return Ri(this.model.getEdge(e))}getEdgeData(e){return this.model.getAllEdges().reduce((t,n)=>{const i=Ri(n);return(e===void 0||e.includes(Et(i)))&&t.push(i),t},[])}getComboData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ri(n);return this.isCombo(Et(i))&&(e===void 0||e.includes(Et(i)))&&t.push(i),t},[])}getRootsData(e=Da){return this.model.getRoots(e).map(Ri)}getAncestorsData(e,t){const{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getAncestors(e,t).map(Ri)}getDescendantsData(e){const t=this.getElementDataById(e),n=[];return vl(t,i=>{i!==t&&n.push(i)},i=>this.getChildrenData(Et(i)),"TB"),n}getParentData(e,t){const{model:n}=this;if(!t){Ea.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(e)||!n.hasTreeStructure(t))return;const i=n.getParent(e,t);return i?Ri(i):void 0}getChildrenData(e){const t=this.getElementType(e)==="node"?Da:Cr,{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getChildren(e,t).map(Ri)}getElementsDataByType(e){return e==="node"?this.getNodeData():e==="edge"?this.getEdgeData():e==="combo"?this.getComboData():[]}getElementDataById(e){return this.getElementType(e)==="edge"?this.getEdgeDatum(e):this.getNodeLikeDatum(e)}getNodeLikeDatum(e){const t=this.model.getNode(e);return Ri(t)}getNodeLikeData(e){return this.model.getAllNodes().reduce((t,n)=>{const i=Ri(n);return e?e.includes(Et(i))&&t.push(i):t.push(i),t},[])}getElementDataByState(e,t){return this.getElementsDataByType(e).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(t)})}getElementState(e){var t;return((t=this.getElementDataById(e))===null||t===void 0?void 0:t.states)||[]}hasNode(e){return this.model.hasNode(e)&&!this.isCombo(e)}hasEdge(e){return this.model.hasEdge(e)}hasCombo(e){return this.model.hasNode(e)&&this.isCombo(e)}getRelatedEdgesData(e,t="both"){return this.model.getRelatedEdges(e,t).map(Ri)}getNeighborNodesData(e){return this.model.getNeighbors(e).map(Ri)}setData(e){const{nodes:t=[],edges:n=[],combos:i=[]}=e,{nodes:a,edges:s,combos:o}=this.getData(),l=Ao(a,t,p=>Et(p),vu),u=Ao(s,n,p=>Et(p),vu),h=Ao(o,i,p=>Et(p),vu);this.batch(()=>{const p={nodes:l.enter,edges:u.enter,combos:h.enter};this.addData(p),this.computeZIndex(p,"add",!0);const S={nodes:l.update,edges:u.update,combos:h.update};this.updateData(S),this.computeZIndex(S,"update",!0);const N={nodes:l.exit.map(Et),edges:u.exit.map(Et),combos:h.exit.map(Et)};this.removeData(N)})}addData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.addComboData(i),this.addNodeData(t),this.addEdgeData(n)}),this.computeZIndex(e,"add")}addNodeData(e=[]){e.length&&(this.model.addNodes(e.map(t=>(this.pushChange({value:t,type:Vr.NodeAdded}),gp(t)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({nodes:e},"add"))}addEdgeData(e=[]){e.length&&(this.model.addEdges(e.map(t=>(this.pushChange({value:t,type:Vr.EdgeAdded}),gp(t)))),this.computeZIndex({edges:e},"add"))}addComboData(e=[]){if(!e.length)return;const{model:t}=this;t.hasTreeStructure(Cr)||t.attachTreeStructure(Cr),t.addNodes(e.map(n=>(this.comboIds.add(Et(n)),this.pushChange({value:n,type:Vr.ComboAdded}),gp(n)))),this.updateNodeLikeHierarchy(e),this.computeZIndex({combos:e},"add")}addChildrenData(e,t){const n=this.getNodeLikeDatum(e),i=t.map(Et);this.addNodeData(t),this.updateNodeData([{id:e,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:e,target:a})))}computeZIndex(e,t,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:s=[]}=e;s.forEach(o=>{var l,u,h;const p=Et(o);if(t==="add"&&un((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o))return;const S=this.getParentData(p,Cr),N=S?((h=(u=S.style)===null||u===void 0?void 0:u.zIndex)!==null&&h!==void 0?h:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:p,style:{zIndex:N}}])})}),i.forEach(o=>{var l,u,h;const p=Et(o);if(t==="add"&&un((l=o.style)===null||l===void 0?void 0:l.zIndex)||t==="update"&&!("combo"in o)&&!("children"in o))return;let S=0;const N=this.getParentData(p,Cr);if(N)S=(((u=N.style)===null||u===void 0?void 0:u.zIndex)||0)+1;else{const U=this.getParentData(p,Da);U&&(S=((h=U==null?void 0:U.style)===null||h===void 0?void 0:h.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:p,style:{zIndex:S}}])})}),a.forEach(o=>{var l,u,h,p,S;if(un((l=o.style)===null||l===void 0?void 0:l.zIndex))return;let{id:N,source:U,target:H}=o;if(!N)N=Et(o);else{const q=this.getEdgeDatum(N);U=q.source,H=q.target}if(!U||!H)return;const V=((h=(u=this.getNodeLikeDatum(U))===null||u===void 0?void 0:u.style)===null||h===void 0?void 0:h.zIndex)||0,Y=((S=(p=this.getNodeLikeDatum(H))===null||p===void 0?void 0:p.style)===null||S===void 0?void 0:S.zIndex)||0;this.updateEdgeData([{id:Et(o),style:{zIndex:Math.max(V,Y)-1}}])})})}getFrontZIndex(e){var t;const n=this.getElementType(e),i=this.getElementDataById(e),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(s=>Et(s)!==e)}),n==="combo"&&!xa(i)){const s=new Set(this.getAncestorsData(e,Cr).map(Et));a.nodes=a.nodes.filter(o=>!s.has(Et(o))),a.combos=a.combos.filter(o=>!s.has(Et(o))),a.edges=a.edges.filter(({source:o,target:l})=>!s.has(o)&&!s.has(l))}return Math.max(((t=i.style)===null||t===void 0?void 0:t.zIndex)||0,0,...Object.values(a).flat().map(s=>{var o;return(((o=s==null?void 0:s.style)===null||o===void 0?void 0:o.zIndex)||0)+1}))}updateNodeLikeHierarchy(e){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:t}=this;e.forEach(n=>{const i=Et(n),a=Vh(n);a!==void 0&&(t.hasTreeStructure(Cr)||t.attachTreeStructure(Cr),a===null&&this.refreshComboData(i),this.setParent(i,Vh(n),Cr));const s=n.children||[];if(s.length){t.hasTreeStructure(Da)||t.attachTreeStructure(Da);const o=s.filter(l=>t.hasNode(l));o.forEach(l=>this.setParent(l,i,Da)),o.length!==s.length&&this.updateNodeData([{id:i,children:o}])}})}preventUpdateNodeLikeHierarchy(e){this.enableUpdateNodeLikeHierarchy=!1,e(),this.enableUpdateNodeLikeHierarchy=!0}updateData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.updateNodeData(t),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(e,"update")}updateNodeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{const n=[];e.forEach(i=>{const a=Et(i),s=Ri(t.getNode(a));if(vu(s,i))return;const o=Wo(s,i);this.pushChange({value:o,original:s,type:Vr.NodeUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:e},"update")}refreshData(){const{nodes:e,edges:t,combos:n}=this.getData();e.forEach(i=>{this.pushChange({value:i,original:i,type:Vr.NodeUpdated})}),t.forEach(i=>{this.pushChange({value:i,original:i,type:Vr.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Vr.ComboUpdated})})}syncNodeLikeDatum(e){const{model:t}=this,n=Et(e);if(!t.hasNode(n))return;const i=Ri(t.getNode(n)),a=Wo(i,e);t.mergeNodeData(n,a)}syncEdgeDatum(e){const{model:t}=this,n=Et(e);if(!t.hasEdge(n))return;const i=Ri(t.getEdge(n)),a=Wo(i,e);t.mergeEdgeData(n,a)}updateEdgeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{e.forEach(n=>{const i=Et(n),a=Ri(t.getEdge(i));if(vu(a,n))return;n.source&&a.source!==n.source&&t.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&t.updateEdgeTarget(i,n.target);const s=Wo(a,n);this.pushChange({value:s,original:a,type:Vr.EdgeUpdated}),t.mergeEdgeData(i,s)})}),this.computeZIndex({edges:e},"update")}updateComboData(e=[]){if(!e.length)return;const{model:t}=this;t.batch(()=>{const n=[];e.forEach(i=>{const a=Et(i),s=Ri(t.getNode(a));if(vu(s,i))return;const o=Wo(s,i);this.pushChange({value:o,original:s,type:Vr.ComboUpdated}),t.mergeNodeData(a,o),n.push(o)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:e},"update")}setParent(e,t,n,i=!0){if(e===t)return;const a=this.getNodeLikeDatum(e),s=Vh(a);if(s!==t&&n===Cr){const o={id:e,combo:t};this.isCombo(e)?this.syncNodeLikeDatum(o):this.syncNodeLikeDatum(o)}this.model.setParent(e,t,n),i&&n===Cr&&PF([s,t]).forEach(o=>{o!==void 0&&this.refreshComboData(o)})}refreshComboData(e){const t=this.getComboData([e])[0],n=this.getAncestorsData(e,Cr);t&&this.pushChange({value:t,original:t,type:Vr.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:Vr.ComboUpdated})})}getElementPosition(e){const t=this.getElementDataById(e);return Ti(t)}translateNodeLikeBy(e,t){this.isCombo(e)?this.translateComboBy(e,t):this.translateNodeBy(e,t)}translateNodeLikeTo(e,t){this.isCombo(e)?this.translateComboTo(e,t):this.translateNodeTo(e,t)}translateNodeBy(e,t){const n=this.getElementPosition(e),i=Un(n,[...t,0].slice(0,3));this.translateNodeTo(e,i)}translateNodeTo(e,t){const[n=0,i=0,a=0]=t;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:e,style:{x:n,y:i,z:a}}])})}translateComboBy(e,t){const[n=0,i=0,a=0]=t;if([n,i,a].some(isNaN)||[n,i,a].every(l=>l===0))return;const s=this.getComboData([e])[0];if(!s)return;const o=new Set;vl(s,l=>{const u=Et(l);if(o.has(u))return;o.add(u);const[h,p,S]=Ti(l),N=Wo(l,{style:{x:h+n,y:p+i,z:S+a}});this.pushChange({value:N,original:l,type:this.isCombo(u)?Vr.ComboUpdated:Vr.NodeUpdated}),this.model.mergeNodeData(u,N)},l=>this.getChildrenData(Et(l)),"BT")}translateComboTo(e,t){var n;if(t.some(isNaN))return;const[i=0,a=0,s=0]=t,o=(n=this.getComboData([e]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,u,h]=Ti(o),p=i-l,S=a-u,N=s-h;vl(o,U=>{const H=Et(U),[V,Y,q]=Ti(U),ne=Wo(U,{style:{x:V+p,y:Y+S,z:q+N}});this.pushChange({value:ne,original:U,type:this.isCombo(H)?Vr.ComboUpdated:Vr.NodeUpdated}),this.model.mergeNodeData(H,ne)},U=>this.getChildrenData(Et(U)),"BT")}removeData(e){const{nodes:t,edges:n,combos:i}=e;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(t),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.removeEdgeData(this.getRelatedEdgesData(t).map(Et)),this.pushChange({value:this.getNodeData([t])[0],type:Vr.NodeRemoved}),this.removeNodeLikeHierarchy(t)}),this.model.removeNodes(e)})}removeEdgeData(e=[]){e.length&&(e.forEach(t=>this.pushChange({value:this.getEdgeData([t])[0],type:Vr.EdgeRemoved})),this.model.removeEdges(e))}removeComboData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.pushChange({value:this.getComboData([t])[0],type:Vr.ComboRemoved}),this.removeNodeLikeHierarchy(t),this.comboIds.delete(t)}),this.model.removeNodes(e)})}removeNodeLikeHierarchy(e){if(this.model.hasTreeStructure(Cr)){const t=Vh(this.getNodeLikeDatum(e));this.setParent(e,void 0,Cr,!1),this.model.getChildren(e,Cr).forEach(n=>{const i=Ri(n),a=Et(i);this.setParent(Et(i),t,Cr,!1);const s=Wo(i,{id:Et(i),combo:t});this.pushChange({value:s,original:i,type:this.isCombo(a)?Vr.ComboUpdated:Vr.NodeUpdated}),this.model.mergeNodeData(Et(i),s)}),Pn(t)||this.refreshComboData(t)}}getElementType(e){if(this.model.hasNode(e))return this.isCombo(e)?"combo":"node";if(this.model.hasEdge(e))return"edge";throw new Error(Js(`Unknown element type of id: ${e}`))}destroy(){const{model:e}=this,t=e.getAllNodes(),n=e.getAllEdges();e.removeEdges(n.map(i=>i.id)),e.removeNodes(t.map(i=>i.id)),this.context={}}}var Sc=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class CF{constructor(e){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=e}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:e}=this.context;this.container=e.appendChild(new Ai({className:"elements"}))}}emit(e,t){t.silence||Si(this.context.graph,e)}forEachElementData(e){dl.forEach(t=>{const n=this.context.model.getElementsDataByType(t);e(t,n)})}getElementType(e,t){var n;const{options:i,graph:a}=this.context,s=((n=i[e])===null||n===void 0?void 0:n.type)||t.type;return s?typeof s=="string"?s:s.call(a,t):e==="edge"?"line":"circle"}getTheme(e){return jy(this.context.options)[e]||{}}getThemeStyle(e){return this.getTheme(e).style||{}}getThemeStateStyle(e,t){const{state:n={}}=this.getTheme(e);return Object.assign({},...t.map(i=>n[i]||{}))}computePaletteStyle(){const{options:e}=this.context;this.paletteStyle={},this.forEachElementData((t,n)=>{var i,a;const s=Object.assign({},n1((i=this.getTheme(t))===null||i===void 0?void 0:i.palette),n1((a=e[t])===null||a===void 0?void 0:a.palette));s!=null&&s.field&&Object.assign(this.paletteStyle,PD(n,s))})}getPaletteStyle(e,t){const n=this.paletteStyle[t];return n?e==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(e,t){var n;const{options:i}=this.context,a=((n=i[e])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[Et(t.datum)]=t1(a,t)}computeElementsDefaultStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];(e===void 0||e.includes(Et(o)))&&this.computeElementDefaultStyle(n,{datum:o,graph:t})}})}getDefaultStyle(e){return this.defaultStyle[e]||{}}getElementState(e){try{const{model:t}=this.context;return t.getElementState(e)}catch(t){return[]}}getElementStateStyle(e,t,n){var i,a;const{options:s}=this.context,o=((a=(i=s[e])===null||i===void 0?void 0:i.state)===null||a===void 0?void 0:a[t])||{};return t1(o,n)}computeElementStatesStyle(e,t,n){this.stateStyle[Et(n.datum)]=Object.assign({},...t.map(i=>this.getElementStateStyle(e,i,n)))}computeElementsStatesStyle(e){const{graph:t}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let s=0;s<a;s++){const o=i[s];if(e===void 0||e.includes(Et(o))){const l=this.getElementState(Et(o));this.computeElementStatesStyle(n,l,{datum:o,graph:t})}}})}getStateStyle(e){return this.stateStyle[e]||{}}computeStyle(e,t){e&&["translate","zIndex"].includes(e)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(t),this.computeElementsStatesStyle(t))}getElement(e){return this.elementMap[e]}getNodes(){return this.context.model.getNodeData().map(({id:e})=>this.elementMap[e])}getEdges(){return this.context.model.getEdgeData().map(e=>this.elementMap[Et(e)])}getCombos(){return this.context.model.getComboData().map(({id:e})=>this.elementMap[e])}getElementComputedStyle(e,t){const n=Et(t),i=this.getThemeStyle(e),a=this.getPaletteStyle(e,n),s=t.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(e,this.getElementState(n)),u=this.getStateStyle(n),h=Object.assign({},i,a,s,o,l,u);if(e==="combo"){const p=this.context.model.getChildrenData(n),N=!!h.collapsed?[]:p.map(Et).filter(U=>this.getElement(U));Object.assign(h,{childrenNode:N,childrenData:p})}return h}getDrawData(e){this.init();const t=this.computeChangesAndDrawData(e);if(!t)return null;const{type:n="draw",stage:i=n}=e;return this.markDestroyElement(t.drawData),this.computeStyle(i),{type:n,stage:i,data:t}}draw(e={animation:!0}){const t=this.getDrawData(e);if(!t)return;const{data:{drawData:{add:n,update:i,remove:a}}}=t;return this.destroyElements(a,e),this.createElements(n,e),this.updateElements(i,e),this.setAnimationTask(e,t)}preLayoutDraw(){return Sc(this,arguments,void 0,function*(e={animation:!0}){var t,n;const i=this.getDrawData(e);if(!i)return;const{data:{drawData:a}}=i;yield(n=(t=this.context.layout)===null||t===void 0?void 0:t.preLayout)===null||n===void 0?void 0:n.call(t,a);const{add:s,update:o,remove:l}=a;return this.destroyElements(l,e),this.createElements(s,e),this.updateElements(o,e),this.setAnimationTask(e,i)})}setAnimationTask(e,t){const{animation:n,silence:i}=e,{data:{dataChanges:a,drawData:s},stage:o,type:l}=t;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new bi(Qt.BEFORE_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render"}),e),beforeAnimate:u=>this.emit(new ts(Qt.BEFORE_ANIMATE,_a.DRAW,u,s),e),afterAnimate:u=>this.emit(new ts(Qt.AFTER_ANIMATE,_a.DRAW,u,s),e),after:()=>this.emit(new bi(Qt.AFTER_DRAW,{dataChanges:a,animation:n,stage:o,render:l==="render",firstRender:this.context.graph.rendered===!1}),e)})}computeChangesAndDrawData(e){const{model:t}=this.context,n=t.getChanges(),i=A0(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:s=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:u=[],EdgeRemoved:h=[],ComboAdded:p=[],ComboUpdated:S=[],ComboRemoved:N=[]}=Ch(i,Y=>Y.type),U=Y=>new Map(Y.map(q=>{const ne=q.value;return[Et(ne),ne]})),H={add:{nodes:U(a),edges:U(l),combos:U(p)},update:{nodes:U(s),edges:U(u),combos:U(S)},remove:{nodes:U(o),edges:U(h),combos:U(N)}},V=this.transformData(H,e);return t.clearChanges(),{dataChanges:n,drawData:V}}transformData(e,t){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,t),e)}createElement(e,t,n){var i;const a=Et(t);if(this.getElement(a))return;const o=this.getElementType(e,t),l=this.getElementComputedStyle(e,t),u=Qs(e,o);if(!u)return Ea.warn(`The element ${o} of ${e} is not registered.`);this.emit(new fu(Qt.BEFORE_ELEMENT_CREATE,e,t),n);const h=this.container.appendChild(new u({id:a,context:this.context,style:l}));this.shapeTypeMap[a]=o,this.elementMap[a]=h;const{stage:p="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:h,elementType:e,stage:p,originalStyle:Object.assign({},h.attributes),updatedStyle:l},{after:()=>{var S;this.emit(new fu(Qt.AFTER_ELEMENT_CREATE,e,t),n),(S=h.onCreate)===null||S===void 0||S.call(h)}})}createElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.createElement(o,u,t))})}getUpdateStageStyle(e,t,n){const{stage:i="update"}=n;if(i==="translate")if(e==="node"||e==="combo"){const{style:{x:a=0,y:s=0,z:o=0}={}}=t;return{x:a,y:s,z:o}}else return{};return this.getElementComputedStyle(e,t)}updateElement(e,t,n){var i;const a=Et(t),{stage:s="update"}=n,o=this.getElement(a);if(!o)return()=>null;this.emit(new fu(Qt.BEFORE_ELEMENT_UPDATE,e,t),n);const l=this.getElementType(e,t),u=this.getUpdateStageStyle(e,t,n);this.shapeTypeMap[a]!==l&&(o.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(e,t,{animation:!1,silence:!0}));const h=s!=="visibility"?s:u.visibility==="hidden"?"hide":"show";h==="hide"&&delete u.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:h,originalStyle:Object.assign({},o.attributes),updatedStyle:u},{before:()=>{const p=this.elementMap[a];s!=="collapse"&&Yg(p,u),s==="visibility"&&(wF(p,"opacity")||bF(p,"opacity"),this.visibilityCache.set(p,h==="show"?"visible":"hidden"),h==="show"&&hl(p,"visible"))},after:()=>{var p;const S=this.elementMap[a];s==="collapse"&&Yg(S,u),h==="hide"&&hl(S,this.visibilityCache.get(S)),this.emit(new fu(Qt.AFTER_ELEMENT_UPDATE,e,t),n),(p=S.onUpdate)===null||p===void 0||p.call(S)}})}updateElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["node",n],["combo",a],["edge",i]].forEach(([o,l])=>{l.forEach(u=>this.updateElement(o,u,t))})}markDestroyElement(e){Object.values(e.remove).forEach(t=>{t.forEach(n=>{const i=Et(n),a=this.getElement(i);a&&UL(a)})})}destroyElement(e,t,n){var i;const{stage:a="exit"}=n,s=Et(t),o=this.elementMap[s];if(!o)return()=>null;this.emit(new fu(Qt.BEFORE_ELEMENT_DESTROY,e,t),n),(i=this.context.animation)===null||i===void 0||i.add({element:o,elementType:e,stage:a,originalStyle:Object.assign({},o.attributes),updatedStyle:{}},{after:()=>{var l;this.clearElement(s),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new fu(Qt.AFTER_ELEMENT_DESTROY,e,t),n)}})}destroyElements(e,t){const{nodes:n,edges:i,combos:a}=e;[["combo",a],["edge",i],["node",n]].forEach(([o,l])=>{l.forEach(u=>this.destroyElement(o,u,t))})}clearElement(e){delete this.paletteStyle[e],delete this.defaultStyle[e],delete this.stateStyle[e],delete this.elementMap[e],delete this.shapeTypeMap[e]}alignLayoutResultToElement(e,t){var n,i;const a=(n=e.nodes)===null||n===void 0?void 0:n.find(s=>Et(s)===t);if(a){const s=Ti(this.context.model.getNodeLikeDatum(t)),o=Ti(a),l=Or(s,o);(i=e.nodes)===null||i===void 0||i.forEach(u=>{var h,p,S;!((h=u.style)===null||h===void 0)&&h.x&&(u.style.x+=l[0]),!((p=u.style)===null||p===void 0)&&p.y&&(u.style.y+=l[1]),!((S=u.style)===null||S===void 0)&&S.z&&(u.style.z+=l[2]||0)})}}collapseNode(e,t){return Sc(this,void 0,void 0,function*(){var n;const{animation:i,align:a}=t,{model:s,layout:o}=this.context,l=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!l)return;this.markDestroyElement(l.drawData);const u=yield o.simulate();a&&this.alignLayoutResultToElement(u,e),s.updateData(u);const h=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!h)return;const{drawData:p}=h,{add:S,remove:N,update:U}=p;this.markDestroyElement(p);const H={animation:i,stage:"collapse",data:p};this.destroyElements(N,H),this.createElements(S,H),this.updateElements(U,H),yield(n=this.context.animation.animate(i,{beforeAnimate:V=>this.emit(new ts(Qt.BEFORE_ANIMATE,_a.COLLAPSE,V,p),H),afterAnimate:V=>this.emit(new ts(Qt.AFTER_ANIMATE,_a.COLLAPSE,V,p),H)},{collapse:{target:e,descendants:Array.from(N.nodes).map(([,V])=>Et(V)),position:Ti(U.nodes.get(e))}}))===null||n===void 0?void 0:n.finished})}expandNode(e,t){return Sc(this,void 0,void 0,function*(){var n;const{model:i,layout:a}=this.context,{animation:s,align:o}=t,l=Ti(i.getNodeData([e])[0]),u=this.computeChangesAndDrawData({stage:"expand",animation:s});if(!u)return;const{drawData:{add:h}}=u;this.createElements(h,{animation:!1,stage:"expand",target:e}),this.context.animation.clear();const p=yield a.simulate();o&&this.alignLayoutResultToElement(p,e),i.updateData(p),this.computeStyle("expand");const S=this.computeChangesAndDrawData({stage:"collapse",animation:s});if(!S)return;const{drawData:N}=S,{update:U}=N,H={animation:s,stage:"expand",data:N};h.edges.forEach(V=>U.edges.set(Et(V),V)),h.nodes.forEach(V=>U.nodes.set(Et(V),V)),this.updateElements(U,H),yield(n=this.context.animation.animate(s,{beforeAnimate:V=>this.emit(new ts(Qt.BEFORE_ANIMATE,_a.EXPAND,V,N),H),afterAnimate:V=>this.emit(new ts(Qt.AFTER_ANIMATE,_a.EXPAND,V,N),H)},{expand:{target:e,descendants:Array.from(h.nodes).map(([,V])=>Et(V)),position:l}}))===null||n===void 0?void 0:n.finished})}collapseCombo(e,t){return Sc(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(e,Cr).some(H=>xa(H)))return;const s=a.getElement(e),o=s.getComboPosition(Object.assign(Object.assign({},s.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{dataChanges:u,drawData:h}=l;this.markDestroyElement(h);const{update:p,remove:S}=h,N={animation:t,stage:"collapse",data:h};this.destroyElements(S,N),this.updateElements(p,N);const U=H=>Array.from(H).map(([,V])=>Et(V));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new bi(Qt.BEFORE_DRAW,{dataChanges:u,animation:t}),N),beforeAnimate:H=>this.emit(new ts(Qt.BEFORE_ANIMATE,_a.COLLAPSE,H,h),N),afterAnimate:H=>this.emit(new ts(Qt.AFTER_ANIMATE,_a.COLLAPSE,H,h),N),after:()=>this.emit(new bi(Qt.AFTER_DRAW,{dataChanges:u,animation:t}),N)},{collapse:{target:e,descendants:[...U(S.nodes),...U(S.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(e,t){return Sc(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=Ti(i.getComboData([e])[0]);this.computeStyle("expand");const s=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!s)return;const{dataChanges:o,drawData:l}=s,{add:u,update:h}=l,p={animation:t,stage:"expand",data:l,target:e};this.createElements(u,p),this.updateElements(h,p);const S=N=>Array.from(N).map(([,U])=>Et(U));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new bi(Qt.BEFORE_DRAW,{dataChanges:o,animation:t}),p),beforeAnimate:N=>this.emit(new ts(Qt.BEFORE_ANIMATE,_a.EXPAND,N,l),p),afterAnimate:N=>this.emit(new ts(Qt.AFTER_ANIMATE,_a.EXPAND,N,l),p),after:()=>this.emit(new bi(Qt.AFTER_DRAW,{dataChanges:o,animation:t}),p)},{expand:{target:e,descendants:[...S(u.nodes),...S(u.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}const e2=Symbol("Comlink.proxy"),LF=Symbol("Comlink.endpoint"),t2=Symbol("Comlink.releaseProxy"),pp=Symbol("Comlink.finalizer"),Fd=Symbol("Comlink.thrown"),n2=r=>typeof r=="object"&&r!==null||typeof r=="function",RF={canHandle:r=>n2(r)&&r[e2],serialize(r){const{port1:e,port2:t}=new MessageChannel;return i2(r,e),[t,[t]]},deserialize(r){return r.start(),s2(r)}},IF={canHandle:r=>n2(r)&&Fd in r,serialize({value:r}){let e;return r instanceof Error?e={isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:e={isError:!1,value:r},[e,[]]},deserialize(r){throw r.isError?Object.assign(new Error(r.value.message),r.value):r.value}},r2=new Map([["proxy",RF],["throw",IF]]);function NF(r,e){for(const t of r)if(e===t||t==="*"||t instanceof RegExp&&t.test(e))return!0;return!1}function i2(r,e=globalThis,t=["*"]){e.addEventListener("message",function n(i){if(!i||!i.data)return;if(!NF(t,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}const{id:a,type:s,path:o}=Object.assign({path:[]},i.data),l=(i.data.argumentList||[]).map(Sl);let u;try{const h=o.slice(0,-1).reduce((S,N)=>S[N],r),p=o.reduce((S,N)=>S[N],r);switch(s){case"GET":u=p;break;case"SET":h[o.slice(-1)[0]]=Sl(i.data.value),u=!0;break;case"APPLY":u=p.apply(h,l);break;case"CONSTRUCT":{const S=new p(...l);u=WF(S)}break;case"ENDPOINT":{const{port1:S,port2:N}=new MessageChannel;i2(r,N),u=UF(S,[S])}break;case"RELEASE":u=void 0;break;default:return}}catch(h){u={value:h,[Fd]:0}}Promise.resolve(u).catch(h=>({value:h,[Fd]:0})).then(h=>{const[p,S]=Hd(h);e.postMessage(Object.assign(Object.assign({},p),{id:a}),S),s==="RELEASE"&&(e.removeEventListener("message",n),a2(e),pp in r&&typeof r[pp]=="function"&&r[pp]())}).catch(h=>{const[p,S]=Hd({value:new TypeError("Unserializable return value"),[Fd]:0});e.postMessage(Object.assign(Object.assign({},p),{id:a}),S)})}),e.start&&e.start()}function BF(r){return r.constructor.name==="MessagePort"}function a2(r){BF(r)&&r.close()}function s2(r,e){const t=new Map;return r.addEventListener("message",function(i){const{data:a}=i;if(!a||!a.id)return;const s=t.get(a.id);if(s)try{s(a)}finally{t.delete(a.id)}}),mp(r,t,[],e)}function zd(r){if(r)throw new Error("Proxy has been released and is not useable")}function o2(r){return gu(r,new Map,{type:"RELEASE"}).then(()=>{a2(r)})}const Ud=new WeakMap,Wd="FinalizationRegistry"in globalThis&&new FinalizationRegistry(r=>{const e=(Ud.get(r)||0)-1;Ud.set(r,e),e===0&&o2(r)});function kF(r,e){const t=(Ud.get(e)||0)+1;Ud.set(e,t),Wd&&Wd.register(r,e,r)}function FF(r){Wd&&Wd.unregister(r)}function mp(r,e,t=[],n=function(){}){let i=!1;const a=new Proxy(n,{get(s,o){if(zd(i),o===t2)return()=>{FF(a),o2(r),e.clear(),i=!0};if(o==="then"){if(t.length===0)return{then:()=>a};const l=gu(r,e,{type:"GET",path:t.map(u=>u.toString())}).then(Sl);return l.then.bind(l)}return mp(r,e,[...t,o])},set(s,o,l){zd(i);const[u,h]=Hd(l);return gu(r,e,{type:"SET",path:[...t,o].map(p=>p.toString()),value:u},h).then(Sl)},apply(s,o,l){zd(i);const u=t[t.length-1];if(u===LF)return gu(r,e,{type:"ENDPOINT"}).then(Sl);if(u==="bind")return mp(r,e,t.slice(0,-1));const[h,p]=l2(l);return gu(r,e,{type:"APPLY",path:t.map(S=>S.toString()),argumentList:h},p).then(Sl)},construct(s,o){zd(i);const[l,u]=l2(o);return gu(r,e,{type:"CONSTRUCT",path:t.map(h=>h.toString()),argumentList:l},u).then(Sl)}});return kF(a,r),a}function zF(r){return Array.prototype.concat.apply([],r)}function l2(r){const e=r.map(Hd);return[e.map(t=>t[0]),zF(e.map(t=>t[1]))]}const u2=new WeakMap;function UF(r,e){return u2.set(r,e),r}function WF(r){return Object.assign(r,{[e2]:!0})}function $9(r,e=globalThis,t="*"){return{postMessage:(n,i)=>r.postMessage(n,t,i),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e)}}function Hd(r){for(const[e,t]of r2)if(t.canHandle(r)){const[n,i]=t.serialize(r);return[{type:"HANDLER",name:e,value:n},i]}return[{type:"RAW",value:r},u2.get(r)||[]]}function Sl(r){switch(r.type){case"HANDLER":return r2.get(r.name).deserialize(r.value);case"RAW":return r.value}}function gu(r,e,t,n){return new Promise(i=>{const a=HF();e.set(a,i),r.start&&r.start(),r.postMessage(Object.assign({id:a},t),n)})}function HF(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class GF extends Df{constructor(e,t,n){super(),this.graph=e,this.layout=t,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=s2(new Worker(new URL(X.p+X.u(7890),X.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var e;return(0,xe.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const t=this.layout.options,{onTick:n}=t,i=(0,xe._T)(t,["onTick"]),a={};Object.keys(i).forEach(u=>{yn(i[u])||(a[u]=i[u])});const s={layout:{id:this.layout.id,options:a,iterations:(e=this.options)===null||e===void 0?void 0:e.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(s,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[t2]()}isRunning(){return this.running}}var pu=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})},jF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};class VF{get presetOptions(){return{animation:!!Vy(this.context.options,!0)}}get options(){const{options:e}=this.context;return e.layout}constructor(e){this.instances=[],this.context=e}getLayoutInstance(){return this.instances}preLayout(e){return pu(this,void 0,void 0,function*(){var t,n,i,a;const{graph:s,model:o}=this.context,{add:l}=e;Si(s,new bi(Qt.BEFORE_LAYOUT,{type:"pre"}));const u=yield(t=this.context.layout)===null||t===void 0?void 0:t.simulate();(n=u==null?void 0:u.nodes)===null||n===void 0||n.forEach(h=>{const p=Et(h),S=l.nodes.get(p);o.syncNodeLikeDatum(h),S&&Object.assign(S.style,h.style)}),(i=u==null?void 0:u.edges)===null||i===void 0||i.forEach(h=>{const p=Et(h),S=l.edges.get(p);o.syncEdgeDatum(h),S&&Object.assign(S.style,h.style)}),(a=u==null?void 0:u.combos)===null||a===void 0||a.forEach(h=>{const p=Et(h),S=l.combos.get(p);o.syncNodeLikeDatum(h),S&&Object.assign(S.style,h.style)}),Si(s,new bi(Qt.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",e)})}postLayout(){return pu(this,arguments,void 0,function*(e=this.options){if(!e)return;const t=Array.isArray(e)?e:[e],{graph:n}=this.context;Si(n,new bi(Qt.BEFORE_LAYOUT,{type:"post"}));for(let i=0;i<t.length;i++){const a=t[i],s=this.getLayoutData(a),o=Object.assign(Object.assign({},this.presetOptions),a);Si(n,new bi(Qt.BEFORE_STAGE_LAYOUT,{options:o,index:i}));const l=yield this.stepLayout(s,o,i);Si(n,new bi(Qt.AFTER_STAGE_LAYOUT,{options:o,index:i})),a.animation||this.updateElementPosition(l,!1)}Si(n,new bi(Qt.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(e,t){const n=this.context.transform.getTransformInstance();Object.values(n).forEach(i=>i.afterLayout(e,t))}simulate(){return pu(this,void 0,void 0,function*(){if(!this.options)return{};const e=Array.isArray(this.options)?this.options:[this.options];let t={};for(let n=0;n<e.length;n++){const i=e[n],a=this.getLayoutData(i);t=yield this.stepLayout(a,Object.assign(Object.assign(Object.assign({},this.presetOptions),i),{animation:!1}),n)}return t})}stepLayout(e,t,n){return pu(this,void 0,void 0,function*(){return QL(t)?yield this.treeLayout(e,t,n):yield this.graphLayout(e,t,n)})}graphLayout(e,t,n){return pu(this,void 0,void 0,function*(){const{animation:i,enableWorker:a,iterations:s=300}=t,o=this.initGraphLayout(t);if(!o)return{};if(this.instances[n]=o,this.instance=o,a){const u=o;return this.supervisor=new GF(u.graphData2LayoutModel(e),u.instance,{iterations:s}),Rf(yield this.supervisor.execute())}if(d0(o))return i?yield o.execute(e,{onTick:u=>{this.updateElementPosition(u,!1)}}):(o.execute(e),o.stop(),o.tick(s));const l=yield o.execute(e);if(i){const u=this.updateElementPosition(l,i);yield u==null?void 0:u.finished}return l})}treeLayout(e,t,n){return pu(this,void 0,void 0,function*(){const{type:i,animation:a}=t,s=Qs("layout",i);if(!s)return{};const{nodes:o=[],edges:l=[]}=e,u=new di({nodes:o.map(U=>({id:Et(U),data:U.data||{}})),edges:l.map(U=>({id:Et(U),source:U.source,target:U.target,data:U.data||{}}))});OF(u);const h={nodes:[],edges:[]},p={nodes:[],edges:[]};u.getRoots(Da).forEach(U=>{vl(U,ne=>{ne.children=u.getSuccessors(ne.id)},ne=>u.getSuccessors(ne.id),"TB");const H=s(U,t),{x:V,y:Y,z:q=0}=H;vl(H,ne=>{const{id:le,x:ue,y:fe,z:de=0}=ne;h.nodes.push({id:le,style:{x:V,y:Y,z:q}}),p.nodes.push({id:le,style:{x:ue,y:fe,z:de}})},ne=>ne.children,"TB")});const N=this.inferTreeLayoutOffset(p);if(c2(p,N),a){c2(h,N),this.updateElementPosition(h,!1);const U=this.updateElementPosition(p,a);yield U==null?void 0:U.finished}return p})}inferTreeLayoutOffset(e){var t;let[n,i]=[1/0,-1/0],[a,s]=[1/0,-1/0];(t=e.nodes)===null||t===void 0||t.forEach(H=>{const{x:V=0,y:Y=0}=H.style||{};n=Math.min(n,V),i=Math.max(i,V),a=Math.min(a,Y),s=Math.max(s,Y)});const{canvas:o}=this.context,l=o.getSize(),[u,h]=o.getCanvasByViewport([0,0]),[p,S]=o.getCanvasByViewport(l);if(n>=u&&i<=p&&a>=h&&s<=S)return[0,0];const N=(u+p)/2,U=(h+S)/2;return[N-(n+i)/2,U-(a+s)/2]}stopLayout(){this.instance&&d0(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(e){const{nodeFilter:t=()=>!0,preLayout:n=!1,isLayoutInvisibleNodes:i=!1}=e,{nodes:a,edges:s,combos:o}=this.context.model.getData(),{element:l,model:u}=this.context,h=H=>l.getElement(H),p=n?H=>{var V;return!i&&(((V=H.style)===null||V===void 0?void 0:V.visibility)==="hidden"||u.getAncestorsData(H.id,Da).some(xa)||u.getAncestorsData(H.id,Cr).some(xa))?!1:t(H)}:H=>{const V=Et(H),Y=h(V);return!Y||wf(Y)?!1:t(H)},S=a.filter(p),N=new Map(S.map(H=>[Et(H),H]));o.forEach(H=>N.set(Et(H),H));const U=s.filter(({source:H,target:V})=>N.has(H)&&N.has(V));return{nodes:S,edges:U,combos:o}}initGraphLayout(e){var t;const{element:n,viewport:i}=this.context,{type:a,enableWorker:s,animation:o,iterations:l}=e,u=jF(e,["type","enableWorker","animation","iterations"]),[h,p]=i.getCanvasSize(),S=[h/2,p/2],N=(t=e==null?void 0:e.nodeSize)!==null&&t!==void 0?t:q=>{const ne=n==null?void 0:n.getElement(q.id);return ne?ne.attributes.size:n==null?void 0:n.getElementComputedStyle("node",q).size},U=Qs("layout",a);if(!U)return Ea.warn(`The layout of ${a} is not registered.`);const H=Object.getPrototypeOf(U.prototype)===Lf.prototype?U:qL(U,this.context),V=new H(this.context),Y={nodeSize:N,width:h,height:p,center:S};switch(V.id){case"d3-force":case"d3-force-3d":Object.assign(Y,{center:{x:h/2,y:p/2,z:0}});break;default:break}return sa(V.options,Y,u),V}updateElementPosition(e,t){const{model:n,element:i}=this.context;return i?(n.updateData(e),i.draw({animation:t,silence:!0})):null}destroy(){var e;this.stopLayout(),this.context={},(e=this.supervisor)===null||e===void 0||e.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const c2=(r,e)=>{var t;const[n,i]=e;(t=r.nodes)===null||t===void 0||t.forEach(a=>{if(a.style){const{x:s=0,y:o=0}=a.style;a.style.x=s+n,a.style.y=o+i}else a.style={x:n,y:i}})};function ZF(r){return[KF].reduce((t,n)=>n(t),r)}function KF(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class XF extends _g{constructor(e){super(e),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(e){this.setExtensions(e)}getPluginInstance(e){const t=this.extensionMap[e];if(t)return t;Ea.warn(`Cannot find the plugin ${e}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===e);if(n)return this.extensionMap[n.key]}}const Gd=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class YF extends _g{constructor(e){super(e),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(e){this.setExtensions([...Gd.slice(0,Gd.length-1),...e,Gd[Gd.length-1]])}getTransformInstance(e){return e?this.extensionMap[e]:this.extensionMap}}var Oc=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class QF{get padding(){return cs(this.context.options.padding)}get paddingOffset(){const[e,t,n,i]=this.padding,[a,s,o]=[(i-t)/2,(e-n)/2,0];return[a,s,o]}constructor(e){this.landmarkCounter=0,this.context=e;const[t,n]=this.paddingOffset,{zoom:i,rotation:a,x:s=t,y:o=n}=e.options;this.transform({mode:"absolute",scale:i,translate:[s,o],rotate:a},!1)}get camera(){const{canvas:e}=this.context;return new Proxy(e.getCamera(),{get:(t,n)=>{const a=Object.entries(e.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),s=t[n];if(typeof s=="function")return(...o)=>{const l=s.apply(t,o);return a.forEach(u=>{u[n].apply(u,o)}),l}}})}createLandmark(e){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,e)}getAnimation(e){const t=Vy(this.context.options,e);return t?ml(Object.assign({},t),["easing","duration"]):!1}getCanvasSize(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t,n]}getCanvasCenter(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t/2,n/2,0]}getViewportCenter(){const[e,t]=this.camera.getPosition();return[e,t,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(e){const{camera:t}=this,{mode:n,translate:i=[]}=e,a=this.getZoom(),s=t.getPosition(),o=t.getFocalPoint(),[l,u]=this.getCanvasCenter(),[h=0,p=0,S=0]=i,N=vs([-h,-p,-S],a);return n==="relative"?{position:Un(s,N),focalPoint:Un(o,N)}:{position:Un([l,u,s[2]],N),focalPoint:Un([l,u,o[2]],N)}}getRotateOptions(e){const{mode:t,rotate:n=0}=e;return{roll:t==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(e){const{zoomRange:t}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=e;return Jr(i==="relative"?n*a:a,...t)}transform(e,t){return Oc(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:s,origin:o}=e;this.cancelAnimation();const l=this.getAnimation(t);if(Si(n,new Bd(Qt.BEFORE_TRANSFORM,e)),!a&&s&&!i&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(e),o),Si(n,new Bd(Qt.AFTER_TRANSFORM,e));return}const u={};if(i&&Object.assign(u,this.getTranslateOptions(e)),un(a)&&Object.assign(u,this.getRotateOptions(e)),un(s)&&Object.assign(u,{zoom:this.getZoomOptions(e)}),l)return Si(n,new ts(Qt.BEFORE_ANIMATE,_a.TRANSFORM,null,e)),new Promise(h=>{this.transformResolver=h,this.camera.gotoLandmark(this.createLandmark(u),Object.assign(Object.assign({},l),{onfinish:()=>{Si(n,new ts(Qt.AFTER_ANIMATE,_a.TRANSFORM,null,e)),Si(n,new Bd(Qt.AFTER_TRANSFORM,e)),this.transformResolver=void 0,h()}}))});this.camera.gotoLandmark(this.createLandmark(u),{duration:0}),Si(n,new Bd(Qt.AFTER_TRANSFORM,e))})}fitView(e,t){return Oc(this,void 0,void 0,function*(){const[n,i,a,s]=this.padding,{when:o="always",direction:l="both"}=e||{},[u,h]=this.context.canvas.getSize(),p=u-s-i,S=h-n-a,N=this.context.canvas.getBounds(),U=this.getBBoxInViewport(N),[H,V]=bo(U),Y=l==="x"&&H>=p||l==="y"&&V>=S||l==="both"&&H>=p&&V>=S;if(o==="overflow"&&!Y)return yield this.fitCenter({animation:t});const q=p/H,ne=S/V,le=l==="x"?q:l==="y"?ne:Math.min(q,ne),ue=this.getAnimation(t);yield this.transform({mode:"relative",scale:le,translate:Un(Or(this.getCanvasCenter(),this.getBBoxInViewport(N).center),vs(this.paddingOffset,le))},ue)})}fitCenter(e){return Oc(this,void 0,void 0,function*(){const t=this.context.canvas.getBounds();yield this.focus(t,e)})}focusElements(e){return Oc(this,arguments,void 0,function*(t,n={}){const{element:i}=this.context;if(!i)return;const a=o=>n.shapes?o.getShape(n.shapes).getRenderBounds():o.getRenderBounds(),s=Xu(t.map(o=>a(i.getElement(o))));yield this.focus(s,n)})}focus(e,t){return Oc(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(e.center),i=t.position||this.getCanvasCenter(),a=Or(i,n);yield this.transform({mode:"relative",translate:Un(a,this.paddingOffset)},t.animation)})}getBBoxInViewport(e){const{min:t,max:n}=e,{graph:i}=this.context,[a,s]=i.getViewportByCanvas(t),[o,l]=i.getViewportByCanvas(n),u=new Nr;return u.setMinMax([a,s,0],[o,l,0]),u}isInViewport(e,t=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[s,o]=i.getCanvasByViewport([0,0]),[l,u]=i.getCanvasByViewport(a);let h=new Nr;return h.setMinMax([s,o,0],[l,u,0]),n&&(h=Mo(h,n)),Yl(e)?hs(e,h):t?yS(e,h):h.intersects(e)}cancelAnimation(){var e,t;!((e=this.camera.landmarks)===null||e===void 0)&&e.length&&this.camera.cancelLandmarkAnimation(),(t=this.transformResolver)===null||t===void 0||t.call(this)}}var Br=function(r,e,t,n){function i(a){return a instanceof t?a:new t(function(s){s(a)})}return new(t||(t=Promise))(function(a,s){function o(h){try{u(n.next(h))}catch(p){s(p)}}function l(h){try{u(n.throw(h))}catch(p){s(p)}}function u(h){h.done?a(h.value):i(h.value).then(o,l)}u((n=n.apply(r,e||[])).next())})};class jd extends Df{constructor(e){var t;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new DF},this.isCollapsingExpanding=!1,this.onResize=uc(()=>{this.resize()},300),this._setOptions(Object.assign({},jd.defaultOptions,e),!0),this.context.graph=this,this.options.autoResize&&((t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(e){this._setOptions(e,!1)}_setOptions(e,t){if(this.updateCanvas(e),Object.assign(this.options,ZF(e)),t){const{data:S}=e;S&&this.addData(S);return}const{behaviors:n,combo:i,data:a,edge:s,layout:o,node:l,plugins:u,theme:h,transforms:p}=e;n&&this.setBehaviors(n),a&&this.setData(a),l&&this.setNode(l),s&&this.setEdge(s),i&&this.setCombo(i),o&&this.setLayout(o),h&&this.setTheme(h),u&&this.setPlugins(u),p&&this.setTransforms(p)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(e,t){e&&(this.options.width=e),t&&(this.options.height=t),this.resize(e,t)}setZoomRange(e){this.options.zoomRange=e}getZoomRange(){return this.options.zoomRange}setNode(e){this.options.node=e,this.context.model.refreshData()}setEdge(e){this.options.edge=e,this.context.model.refreshData()}setCombo(e){this.options.combo=e,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(e){this.options.theme=yn(e)?e(this.getTheme()):e}setLayout(e){this.options.layout=yn(e)?e(this.getLayout()):e}getLayout(){return this.options.layout}setBehaviors(e){var t;this.options.behaviors=yn(e)?e(this.getBehaviors()):e,(t=this.context.behavior)===null||t===void 0||t.setBehaviors(this.options.behaviors)}updateBehavior(e){this.setBehaviors(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(e){var t;this.options.plugins=yn(e)?e(this.getPlugins()):e,(t=this.context.plugin)===null||t===void 0||t.setPlugins(this.options.plugins)}updatePlugin(e){this.setPlugins(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(e){return this.context.plugin.getPluginInstance(e)}setTransforms(e){var t;this.options.transforms=yn(e)?e(this.getTransforms()):e,(t=this.context.transform)===null||t===void 0||t.setTransforms(this.options.transforms)}updateTransform(e){this.setTransforms(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(e){return Array.isArray(e)?e.map(t=>this.context.model.getElementDataById(t)):this.context.model.getElementDataById(e)}getNodeData(e){return e===void 0?this.context.model.getNodeData():Array.isArray(e)?this.context.model.getNodeData(e):this.context.model.getNodeLikeDatum(e)}getEdgeData(e){return e===void 0?this.context.model.getEdgeData():Array.isArray(e)?this.context.model.getEdgeData(e):this.context.model.getEdgeDatum(e)}getComboData(e){return e===void 0?this.context.model.getComboData():Array.isArray(e)?this.context.model.getComboData(e):this.context.model.getNodeLikeDatum(e)}setData(e){this.context.model.setData(yn(e)?e(this.getData()):e)}addData(e){this.context.model.addData(yn(e)?e(this.getData()):e)}addNodeData(e){this.context.model.addNodeData(yn(e)?e(this.getNodeData()):e)}addEdgeData(e){this.context.model.addEdgeData(yn(e)?e(this.getEdgeData()):e)}addComboData(e){this.context.model.addComboData(yn(e)?e(this.getComboData()):e)}addChildrenData(e,t){this.context.model.addChildrenData(e,t)}updateData(e){this.context.model.updateData(yn(e)?e(this.getData()):e)}updateNodeData(e){this.context.model.updateNodeData(yn(e)?e(this.getNodeData()):e)}updateEdgeData(e){this.context.model.updateEdgeData(yn(e)?e(this.getEdgeData()):e)}updateComboData(e){this.context.model.updateComboData(yn(e)?e(this.getComboData()):e)}removeData(e){this.context.model.removeData(yn(e)?e(this.getData()):e)}removeNodeData(e){this.context.model.removeNodeData(yn(e)?e(this.getNodeData()):e)}removeEdgeData(e){this.context.model.removeEdgeData(yn(e)?e(this.getEdgeData()):e)}removeComboData(e){this.context.model.removeComboData(yn(e)?e(this.getComboData()):e)}getElementType(e){return this.context.model.getElementType(e)}getRelatedEdgesData(e,t="both"){return this.context.model.getRelatedEdgesData(e,t)}getNeighborNodesData(e){return this.context.model.getNeighborNodesData(e)}getAncestorsData(e,t){return this.context.model.getAncestorsData(e,t)}getParentData(e,t){return this.context.model.getParentData(e,t)}getChildrenData(e){return this.context.model.getChildrenData(e)}getDescendantsData(e){return this.context.model.getDescendantsData(e)}getElementDataByState(e,t){return this.context.model.getElementDataByState(e,t)}initCanvas(){return Br(this,void 0,void 0,function*(){var e;if(this.context.canvas)return yield this.context.canvas.ready;const{container:t="container",width:n,height:i,renderer:a,cursor:s,background:o,canvas:l,devicePixelRatio:u=(e=globalThis.devicePixelRatio)!==null&&e!==void 0?e:1}=this.options;if(t instanceof Xb)this.context.canvas=t,s&&t.setCursor(s),a&&t.setRenderer(a),yield t.ready;else{const h=ur(t)?document.getElementById(t):t,p=Jb(h);this.emit(Qt.BEFORE_CANVAS_INIT,{container:h,width:n,height:i});const S=Object.assign(Object.assign({},l),{container:h,width:n||p[0],height:i||p[1],background:o,renderer:a,cursor:s,devicePixelRatio:u}),N=new Xb(S);this.context.canvas=N,yield N.ready,this.emit(Qt.AFTER_CANVAS_INIT,{canvas:N})}})}updateCanvas(e){var t,n;const{renderer:i,cursor:a,height:s,width:o}=e,l=this.context.canvas;l&&(i&&(this.emit(Qt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(Qt.AFTER_RENDERER_CHANGE,{renderer:i})),a&&l.setCursor(a),(un(o)||un(s))&&this.setSize((t=o!=null?o:this.options.width)!==null&&t!==void 0?t:0,(n=s!=null?s:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new AF(this.context)),this.context.plugin||(this.context.plugin=new XF(this.context)),this.context.viewport||(this.context.viewport=new QF(this.context)),this.context.transform||(this.context.transform=new YF(this.context)),this.context.element||(this.context.element=new CF(this.context)),this.context.animation||(this.context.animation=new MF(this.context)),this.context.layout||(this.context.layout=new VF(this.context)),this.context.behavior||(this.context.behavior=new TF(this.context))}prepare(){return Br(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(Js("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return Br(this,void 0,void 0,function*(){if(yield this.prepare(),Si(this,new bi(Qt.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&JL(this.options.layout)){const e=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.autoFit()])}this.rendered=!0,Si(this,new bi(Qt.AFTER_RENDER))})}draw(){return Br(this,void 0,void 0,function*(){var e;yield this.prepare(),yield(e=this.context.element.draw())===null||e===void 0?void 0:e.finished})}layout(e){return Br(this,void 0,void 0,function*(){yield this.context.layout.postLayout(e)})}stopLayout(){this.context.layout.stopLayout()}clear(){return Br(this,void 0,void 0,function*(){const{model:e,element:t}=this.context;e.setData({}),e.clearChanges(),t==null||t.clear()})}destroy(){var e;Si(this,new bi(Qt.BEFORE_DESTROY));const{layout:t,animation:n,element:i,model:a,canvas:s,behavior:o,plugin:l}=this.context;l==null||l.destroy(),o==null||o.destroy(),t==null||t.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize),this.destroyed=!0,Si(this,new bi(Qt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(e,t){var n;const i=Jb((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[e||i[0],t||i[1]];if(!this.context.canvas)return;const s=this.context.canvas.getSize();ci(a,s)||(Si(this,new bi(Qt.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),Si(this,new bi(Qt.AFTER_SIZE_CHANGE,{size:a})))}fitView(e,t){return Br(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(e,t)})}fitCenter(e){return Br(this,void 0,void 0,function*(){var t;yield(t=this.context.viewport)===null||t===void 0?void 0:t.fitCenter({animation:e})})}autoFit(){return Br(this,void 0,void 0,function*(){const{autoFit:e}=this.context.options;if(e)if(ur(e))e==="view"?yield this.fitView():e==="center"&&(yield this.fitCenter());else{const{type:t,animation:n}=e;t==="view"?yield this.fitView(e.options,n):t==="center"&&(yield this.fitCenter(n))}})}focusElement(e,t){return Br(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(e)?e:[e],{animation:t})})}zoomBy(e,t,n){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:e,origin:n},t)})}zoomTo(e,t,n){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:e,origin:n},t)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(e,t,n){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:e,origin:n},t)})}rotateTo(e,t,n){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:e,origin:n},t)})}getRotation(){return this.context.viewport.getRotation()}translateBy(e,t){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:e},t)})}translateTo(e,t){return Br(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:e},t)})}getPosition(){return Or([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(e,t){return Br(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=li(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([h,p])=>this.context.model.translateNodeLikeBy(h,p)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(e,t){return Br(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=li(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a];Object.entries(l).forEach(([h,p])=>this.context.model.translateNodeLikeTo(h,p)),yield(o=this.context.element.draw({animation:u,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(e){return this.context.model.getElementPosition(e)}getElementRenderStyle(e){return _0(this.context.element.getElement(e).attributes,["context"])}setElementVisibility(e,t){return Br(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=li(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],h={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([N,U])=>{const H=this.getElementType(N);h[`${H}s`].push({id:N,style:{visibility:U}})});const{model:p,element:S}=this.context;p.preventUpdateNodeLikeHierarchy(()=>{p.updateData(h)}),yield(o=S.draw({animation:u,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(e,t){return Br(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),t)})}hideElement(e,t){return Br(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),t)})}getElementVisibility(e){var t,n;const i=this.context.element.getElement(e);return(n=(t=i==null?void 0:i.style)===null||t===void 0?void 0:t.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(e,t){return Br(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=li(e)?e:{[e]:t};Object.entries(a).forEach(([l,u])=>{const h=this.getElementType(l);i[`${h}s`].push({id:l,style:{zIndex:u}})});const{model:s,element:o}=this.context;s.preventUpdateNodeLikeHierarchy(()=>s.updateData(i)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(e){return Br(this,void 0,void 0,function*(){const t=Array.isArray(e)?e:[e],{model:n}=this.context,i={};t.map(a=>{const s=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const l=n.getAncestorsData(a,Cr).at(-1)||this.getComboData(a),u=[l,...n.getDescendantsData(Et(l))],h=s-qb(l);u.forEach(S=>{i[Et(S)]=this.getElementZIndex(Et(S))+h});const{internal:p}=jg(u.map(Et),S=>n.getRelatedEdgesData(S));p.forEach(S=>{const N=Et(S);i[N]=this.getElementZIndex(N)+h})}else i[a]=s}),yield this.setElementZIndex(i)})}getElementZIndex(e){return qb(this.context.model.getElementDataById(e))}setElementState(e,t){return Br(this,arguments,void 0,function*(n,i,a=!0){var s,o;const[l,u]=li(n)?[n,(s=i)!==null&&s!==void 0?s:!0]:[{[n]:i},a],h=S=>S?Array.isArray(S)?S:[S]:[],p={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([S,N])=>{const U=this.getElementType(S);p[`${U}s`].push({id:S,states:h(N)})}),this.updateData(p),yield(o=this.context.element.draw({animation:u,stage:"state"}))===null||o===void 0?void 0:o.finished})}getElementState(e){return this.context.model.getElementState(e)}getElementRenderBounds(e){return this.context.element.getElement(e).getRenderBounds()}collapseElement(e){return Br(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(xa(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);yield this.frontElement(t),this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!0),s==="node"?yield a.collapseNode(t,n):s==="combo"&&(yield a.collapseCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(e){return Br(this,arguments,void 0,function*(t,n=!0){const{model:i,element:a}=this.context;if(!xa(i.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!0});const s=i.getElementType(t);this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!1),s==="node"?yield a.expandNode(t,n):s==="combo"&&(yield a.expandCombo(t,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(e,t){const n=this.getElementType(e);n==="node"?this.updateNodeData([{id:e,style:{collapsed:t}}]):n==="combo"&&this.updateComboData([{id:e,style:{collapsed:t}}])}toDataURL(){return Br(this,arguments,void 0,function*(e={}){return this.context.canvas.toDataURL(e)})}getCanvasByViewport(e){return this.context.canvas.getCanvasByViewport(e)}getViewportByCanvas(e){return this.context.canvas.getViewportByCanvas(e)}getClientByCanvas(e){return this.context.canvas.getClientByCanvas(e)}getCanvasByClient(e){return this.context.canvas.getCanvasByClient(e)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(e,t,n){return super.on(e,t,n)}once(e,t){return super.once(e,t)}off(e,t){return super.off(e,t)}}jd.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var JF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function qF(r,e){const{getNodeData:t=(o,l)=>{if(o.depth=l,!o.children)return o;const{children:u}=o,h=JF(o,["children"]);return Object.assign(Object.assign({},h),{children:u.map(p=>p.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:i=o=>o.children||[]}=e||{},a=[],s=[];return vl(r,(o,l)=>{a.push(t(o,l));const u=i(o);for(const h of u)s.push(n(o,h))},o=>i(o),"TB"),{nodes:a,edges:s}}class $F extends Uo{beforeDraw(e){const{add:t,update:n}=e,{model:i}=this.context;return[...t.edges.entries(),...n.edges.entries()].forEach(([,a])=>{h2(i,a)}),e}}const h2=(r,e)=>{const{source:t,target:n}=e,i=r.getElementDataById(t),a=r.getElementDataById(n),s=R1(i,p=>r.getParentData(p,Cr)),o=R1(a,p=>r.getParentData(p,Cr)),l=Et(s),u=Et(o),h={sourceNode:l,targetNode:u};return e.style?Object.assign(e.style,h):e.style=h,e},e8=(r,e,t)=>{const[n,i]=e,[a,s]=t;if(i===n)return a;const o=(r-n)/(i-n);return a+o*(s-a)},t8=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.log(r-n+1)/Math.log(i-n+1);return a+o*(s-a)},n8=(r,e,t,n=2)=>{const[i,a]=e,[s,o]=t,l=Math.pow((r-i)/(a-i),n);return s+l*(o-s)},r8=(r,e,t)=>{const[n,i]=e,[a,s]=t,o=Math.sqrt((r-n)/(i-n));return a+o*(s-a)};class Vd extends Uo{constructor(e,t){super(e,sa({},Vd.defaultOptions,t)),this.assignSizeByCentrality=(n,i,a,s,o,l)=>{const u=[i,a],h=[s[0],o[0]],p=[s[1],o[1]],S=[s[2],o[2]],N=(U,H)=>{if(typeof l=="function")return l(U,u,H);switch(l){case"linear":return e8(U,u,H);case"log":return t8(U,u,H);case"pow":return n8(U,u,H,2);case"sqrt":return r8(U,u,H);default:return H[0]}};return[N(n,h),N(n,p),N(n,S)]}}beforeDraw(e){const{model:t}=this.context,n=t.getNodeData(),i=La(this.options.maxSize),a=La(this.options.minSize),s=this.getCentralities(this.options.centrality),o=s.size>0?Math.max(...s.values()):0,l=s.size>0?Math.min(...s.values()):0;return n.forEach(u=>{var h;const p=this.assignSizeByCentrality(s.get(Et(u))||0,l,o,a,i,this.options.scale),S=(h=this.context.element)===null||h===void 0?void 0:h.getElement(Et(u)),N={size:p};this.assignLabelStyle(N,p,u,S),(!S||!Id(N,S.attributes))&&Fa(e,S?"update":"add","node",sa(u,{style:N}),!0)}),e}assignLabelStyle(e,t,n,i){var a;const s=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(e,ml(s,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(t,1/0,Number(e.labelFontSize));Object.assign(e,{labelFontSize:o,labelLineHeight:o+mS(e.labelPadding)})}return e}getLabelSizeByNodeSize(e,t,n){const i=Math.min(...e)/2,[a,s]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,t];return Math.min(s,Math.max(i,a))}getCentralities(e){const{model:t}=this.context,n=t.getData();if(typeof e=="function")return e(n);const i=t.getRelatedEdgesData.bind(t);return B_(n,i,e)}}Vd.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Zd extends Uo{constructor(e,t){super(e,Object.assign({},Zd.defaultOptions,t))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var e;const t=Ti(this.ref),{graph:n,model:i}=this.context;(e=i.getData().nodes)===null||e===void 0||e.forEach(s=>{var o;if(Et(s)===Et(this.ref))return;const l=U_(Or(Ti(s),t)),u=Math.abs(l)>Math.PI/2,h=!s.children||s.children.length===0,p=Et(s),S=(o=this.context.element)===null||o===void 0?void 0:o.getElement(p);if(!S||!S.isVisible())return;const N=La(n.getElementRenderStyle(p).size)[0]/2,U=(h?1:-1)*(N+this.options.offset),H=[["translate",U*Math.cos(l),U*Math.sin(l)],["rotate",u?ga(l)+180:ga(l)]];i.updateNodeData([{id:Et(s),style:{labelTextAlign:u===h?"right":"left",labelTextBaseline:"middle",labelTransform:H}}])}),n.draw()}}Zd.defaultOptions={offset:5};const i8="quadratic",f2=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Kd extends Uo{constructor(e,t){super(e,Object.assign({},Kd.defaultOptions,t)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:s,combos:o},remove:{edges:l}}=n,{model:u}=this.context,h=new Map,p=(U,H)=>{u.getRelatedEdgesData(H).forEach(Y=>!h.has(Et(Y))&&h.set(Et(Y),Y))};a.forEach(p),o.forEach(p);const S=U=>{const H=u.getEdgeData().map(Y=>h2(u,Y));a8(U,H,!0).forEach(Y=>!h.has(Et(Y))&&h.set(Et(Y),Y))};if(l.size&&l.forEach(S),i.size&&i.forEach(S),s.size){const U=fx(A0(u.getChanges())).update.edges;s.forEach(H=>{var V;S(H);const Y=(V=U.find(q=>Et(q.value)===Et(H)))===null||V===void 0?void 0:V.original;Y&&!yp(H,Y)&&S(Y)})}Fs(this.options.edges)||h.forEach((U,H)=>!this.options.edges.includes(H)&&h.delete(H));const N=u.getEdgeData().map(Et);return new Map([...h].sort((U,H)=>N.indexOf(U[0])-N.indexOf(H[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:s,reverses:o}=d2(i);s.forEach(l=>{l.forEach((u,h,p)=>{var S;const N=p.length,U=u.style||{};if(u.source===u.target){const Y=f2.length;U.loopPlacement=f2[h%Y],U.loopDist=Math.floor(h/Y)*a+50}else if(N===1)U.curveOffset=0;else{const Y=(h%2===0?1:-1)*(o[`${u.source}|${u.target}|${h}`]?-1:1);U.curveOffset=N%2===1?Y*Math.ceil(h/2)*a*2:Y*(Math.floor(h/2)*a*2+a)}const H=Object.assign(u,{type:i8,style:U}),V=(S=this.context.element)===null||S===void 0?void 0:S.getElement(Et(u));(!V||!Id(H.style,V.attributes))&&Fa(n,V?"update":"add","edge",H,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(Et(n))||{};return Object.keys(a).forEach(s=>{ci(i[s],a[s])&&(n[s]?i[s]=n[s]:delete i[s])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:s}=d2(i);a.forEach(o=>{var l;if(o.length===1){const h=o[0],p=(l=this.context.element)===null||l===void 0?void 0:l.getElement(Et(h)),S=this.resetEdgeStyle(h);(!p||!Id(S,p.attributes))&&Fa(n,p?"update":"add","edge",S);return}const u=o.map(({source:h,target:p,style:S={}},N)=>{const{startArrow:U,endArrow:H}=S,V={},[Y,q]=s[`${h}|${p}|${N}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return Su(U)&&(V[Y]=U),Su(H)&&(V[q]=H),V}).reduce((h,p)=>Object.assign(Object.assign({},h),p),{});o.forEach((h,p,S)=>{var N;if(p!==0){Fa(n,"remove","edge",h);return}const U=Object.assign({},yn(this.options.style)?this.options.style(S):this.options.style,{childrenData:S});this.cacheMergeStyle.set(Et(h),U);const H=Object.assign(Object.assign({},h),{type:"line",style:Object.assign(Object.assign(Object.assign({},h.style),u),U)}),V=(N=this.context.element)===null||N===void 0?void 0:N.getElement(Et(h));(!V||!Id(H.style,V.attributes))&&Fa(n,V?"update":"add","edge",H,!0)})})}}beforeDraw(e){const t=this.getAffectedParallelEdges(e);return t.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(e,t,this.options.distance):this.applyMergingStyle(e,t)),e}}Kd.defaultOptions={mode:"bundle",distance:15};const d2=r=>{const e=new Map,t=new Set,n={},i=new Map;for(const[a,s]of r){if(t.has(a))continue;const{source:o,target:l}=s,u=`${o}-${l}`;e.has(u)||(e.set(u,[]),i.set(u,new Set));const h=e.get(u),p=i.get(u);h&&p&&!p.has(a)&&(h.push(s),p.add(a),t.add(a));for(const[S,N]of r)if(!(t.has(S)||S===a)&&yp(s,N)){const U=e.get(u),H=i.get(u);U&&H&&!H.has(S)&&(U.push(N),H.add(S),o===N.target&&l===N.source&&(n[`${N.source}|${N.target}|${U.length-1}`]=!0),t.add(S))}}return{edgeMap:e,reverses:n}},a8=(r,e,t)=>e.filter(n=>(t||Et(n)!==Et(r))&&yp(n,r)),yp=(r,e)=>{const{sourceNode:t,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=e.style||{};return t===i&&n===a||t===a&&n===i};class s8 extends Uo{beforeDraw(e,t){const{stage:n}=t;if(n==="visibility")return e;const{model:i}=this.context,{update:{nodes:a,edges:s,combos:o}}=e,l=(u,h)=>{i.getRelatedEdgesData(h).forEach(S=>!s.has(Et(S))&&s.set(Et(S),S))};return a.forEach(l),o.forEach(l),e}}const o8={animation:{"combo-collapse":Yy,"combo-expand":fS,"node-collapse":Ky,"node-expand":cS,"path-in":Xy,"path-out":hS,fade:lS,translate:uS},behavior:{"brush-select":ec,"click-select":qh,"collapse-expand":Mf,"create-edge":Sf,"drag-canvas":Of,"drag-element-force":eR,"drag-element":cc,"fix-element-size":If,"focus-element":Nf,"hover-activate":Bf,"lasso-select":nR,"auto-adapt-label":Zh,"optimize-viewport-transform":kf,"scroll-canvas":Ff,"zoom-canvas":zf},combo:{circle:VC,rect:ZC},edge:{cubic:yl,line:Ef,polyline:xf,quadratic:bf,"cubic-horizontal":mf,"cubic-radial":yf,"cubic-vertical":_f},layout:{"antv-dagre":W3,"combo-combined":cI,"compact-box":Uf.compactBox,"d3-force":CI,"force-atlas2":II,circular:j3,concentric:l0,dagre:Wf,dendrogram:Uf.dendrogram,fishbone:jf,force:NE,fruchterman:kI,grid:zI,indented:Uf.indented,mds:HE,mindmap:Uf.mindmap,radial:XI,random:tN,snake:Vf},node:{circle:gl,diamond:ZD,ellipse:rf,hexagon:JD,html:ff,image:df,rect:GC,star:jC,donut:tf,triangle:vf},palette:{spectral:sN,tableau:oN,oranges:lN,greens:uN,blues:cN},theme:{dark:fF,light:dF},plugin:{"bubble-sets":td,"edge-bundling":rd,"edge-filter-lens":id,"grid-line":od,background:Zf,contextmenu:nd,fisheye:ad,fullscreen:sd,history:ld,hull:fd,legend:md,minimap:yd,snapline:_d,timebar:Dd,toolbar:Cd,tooltip:Ld,watermark:Rd},transform:{"arrange-draw-order":vF,"collapse-expand-combo":gF,"collapse-expand-node":pF,"get-edge-actual-ends":$F,"map-node-size":Vd,"place-radial-labels":Zd,"process-parallel-edges":Kd,"update-related-edges":s8},shape:{circle:Ks,ellipse:Uu,group:Ai,html:Wu,image:Og,line:al,path:Sa,polygon:sl,polyline:ch,rect:ki,text:ol,label:So,badge:ql}};function l8(){Object.entries(o8).forEach(([r,e])=>{Object.entries(e).forEach(([t,n])=>{mF(r,t,n)})})}l8();const eW={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},13722:function(we){(function(X,K){we.exports=K()})(typeof self!="undefined"?self:this,function(){return function(Me){var X={};function K(ee){if(X[ee])return X[ee].exports;var G=X[ee]={i:ee,l:!1,exports:{}};return Me[ee].call(G.exports,G,G.exports,K),G.l=!0,G.exports}return K.m=Me,K.c=X,K.d=function(ee,G,_){K.o(ee,G)||Object.defineProperty(ee,G,{configurable:!1,enumerable:!0,get:_})},K.n=function(ee){var G=ee&&ee.__esModule?function(){return ee.default}:function(){return ee};return K.d(G,"a",G),G},K.o=function(ee,G){return Object.prototype.hasOwnProperty.call(ee,G)},K.p="",K(K.s=5)}([function(Me,X){function K(ee,G,_,F){return F===void 0&&(F="height"),_==="center"?(ee[F]+G[F])/2:ee.height}Me.exports={assign:Object.assign,getHeight:K}},function(Me,X,K){var ee=K(3),G=function(){function _(w,x){x===void 0&&(x={});var y=this;y.options=x,y.rootNode=ee(w,x)}var F=_.prototype;return F.execute=function(){throw new Error("please override this method")},_}();Me.exports=G},function(Me,X,K){var ee=K(4),G=["LR","RL","TB","BT","H","V"],_=["LR","RL","H"],F=function(b){return _.indexOf(b)>-1},w=G[0];Me.exports=function(y,b,E){var g=b.direction||w;if(b.isHorizontal=F(g),g&&G.indexOf(g)===-1)throw new TypeError("Invalid direction: "+g);if(g===G[0])E(y,b);else if(g===G[1])E(y,b),y.right2left();else if(g===G[2])E(y,b);else if(g===G[3])E(y,b),y.bottom2top();else if(g===G[4]||g===G[5]){var m=ee(y,b),C=m.left,d=m.right;E(C,b),E(d,b),b.isHorizontal?C.right2left():C.bottom2top(),d.translate(C.x-d.x,C.y-d.y),y.x=C.x,y.y=d.y;var v=y.getBoundingBox();b.isHorizontal?v.top<0&&y.translate(0,-v.top):v.left<0&&y.translate(-v.left,0)}var A=b.fixedRoot;return A===void 0&&(A=!0),A&&y.translate(-(y.x+y.width/2+y.hgap),-(y.y+y.height/2+y.vgap)),x(y,b),y};function x(y,b){if(b.radial){var E=b.isHorizontal?["x","y"]:["y","x"],g=E[0],m=E[1],C={x:1/0,y:1/0},d={x:-1/0,y:-1/0},v=0;y.DFTraverse(function(O){v++;var P=O.x,L=O.y;C.x=Math.min(C.x,P),C.y=Math.min(C.y,L),d.x=Math.max(d.x,P),d.y=Math.max(d.y,L)});var A=d[m]-C[m];if(A===0)return;var T=Math.PI*2/v;y.DFTraverse(function(O){var P=(O[m]-C[m])/A*(Math.PI*2-T)+T,L=O[g]-y[g];O.x=Math.cos(P)*L,O.y=Math.sin(P)*L})}}},function(Me,X,K){var ee=K(0),G=18,_=G*2,F=G,w={getId:function(E){return E.id||E.name},getPreH:function(E){return E.preH||0},getPreV:function(E){return E.preV||0},getHGap:function(E){return E.hgap||F},getVGap:function(E){return E.vgap||F},getChildren:function(E){return E.children},getHeight:function(E){return E.height||_},getWidth:function(E){var g=E.label||" ";return E.width||g.split("").length*G}};function x(b,E){var g=this;if(g.vgap=g.hgap=0,b instanceof x)return b;g.data=b;var m=E.getHGap(b),C=E.getVGap(b);return g.preH=E.getPreH(b),g.preV=E.getPreV(b),g.width=E.getWidth(b),g.height=E.getHeight(b),g.width+=g.preH,g.height+=g.preV,g.id=E.getId(b),g.x=g.y=0,g.depth=0,g.children||(g.children=[]),g.addGap(m,C),g}ee.assign(x.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(E,g){var m=this;m.hgap+=E,m.vgap+=g,m.width+=2*E,m.height+=2*g},eachNode:function(E){for(var g=this,m=[g],C;C=m.shift();)E(C),m=C.children.concat(m)},DFTraverse:function(E){this.eachNode(E)},BFTraverse:function(E){for(var g=this,m=[g],C;C=m.shift();)E(C),m=m.concat(C.children)},getBoundingBox:function(){var E={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(g){E.left=Math.min(E.left,g.x),E.top=Math.min(E.top,g.y),E.width=Math.max(E.width,g.x+g.width),E.height=Math.max(E.height,g.y+g.height)}),E},translate:function(E,g){E===void 0&&(E=0),g===void 0&&(g=0),this.eachNode(function(m){m.x+=E,m.y+=g,m.x+=m.preH,m.y+=m.preV})},right2left:function(){var E=this,g=E.getBoundingBox();E.eachNode(function(m){m.x=m.x-(m.x-g.left)*2-m.width}),E.translate(g.width,0)},bottom2top:function(){var E=this,g=E.getBoundingBox();E.eachNode(function(m){m.y=m.y-(m.y-g.top)*2-m.height}),E.translate(0,g.height)}});function y(b,E,g){E===void 0&&(E={}),E=ee.assign({},w,E);var m=new x(b,E),C=[m],d;if(!g&&!b.collapsed){for(;d=C.shift();)if(!d.data.collapsed){var v=E.getChildren(d.data),A=v?v.length:0;if(d.children=new Array(A),v&&A)for(var T=0;T<A;T++){var O=new x(v[T],E);d.children[T]=O,C.push(O),O.parent=d,O.depth=d.depth+1}}}return m}Me.exports=y},function(Me,X,K){var ee=K(3);Me.exports=function(G,_){for(var F=ee(G.data,_,!0),w=ee(G.data,_,!0),x=G.children.length,y=Math.round(x/2),b=_.getSide||function(C,d){return d<y?"right":"left"},E=0;E<x;E++){var g=G.children[E],m=b(g,E);m==="right"?w.children.push(g):F.children.push(g)}return F.eachNode(function(C){C.isRoot()||(C.side="left")}),w.eachNode(function(C){C.isRoot()||(C.side="right")}),{left:F,right:w}}},function(Me,X,K){var ee={compactBox:K(6),dendrogram:K(8),indented:K(10),mindmap:K(12)};Me.exports=ee},function(Me,X,K){function ee(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,G(g,m)}function G(g,m){return G=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,d){return C.__proto__=d,C},G(g,m)}var _=K(1),F=K(7),w=K(2),x=K(0),y=function(g){function m(){return g.apply(this,arguments)||this}ee(m,g);var C=m.prototype;return C.execute=function(){var v=this;return w(v.rootNode,v.options,F)},m}(_),b={};function E(g,m){return m=x.assign({},b,m),new y(g,m).execute()}Me.exports=E},function(Me,X){function K(x,y,b,E){E===void 0&&(E=[]);var g=this;g.w=x||0,g.h=y||0,g.y=b||0,g.x=0,g.c=E||[],g.cs=E.length,g.prelim=0,g.mod=0,g.shift=0,g.change=0,g.tl=null,g.tr=null,g.el=null,g.er=null,g.msel=0,g.mser=0}K.fromNode=function(x,y){if(!x)return null;var b=[];return x.children.forEach(function(E){b.push(K.fromNode(E,y))}),y?new K(x.height,x.width,x.x,b):new K(x.width,x.height,x.y,b)};function ee(x,y,b){b?x.y+=y:x.x+=y,x.children.forEach(function(E){ee(E,y,b)})}function G(x,y){var b=y?x.y:x.x;return x.children.forEach(function(E){b=Math.min(G(E,y),b)}),b}function _(x,y){var b=G(x,y);ee(x,-b,y)}function F(x,y,b){b?y.y=x.x:y.x=x.x,x.c.forEach(function(E,g){F(E,y.children[g],b)})}function w(x,y,b){b===void 0&&(b=0),y?(x.x=b,b+=x.width):(x.y=b,b+=x.height),x.children.forEach(function(E){w(E,y,b)})}Me.exports=function(x,y){y===void 0&&(y={});var b=y.isHorizontal;function E(k){if(k.cs===0){g(k);return}E(k.c[0]);for(var W=D(A(k.c[0].el),0,null),z=1;z<k.cs;++z){E(k.c[z]);var Z=A(k.c[z].er);m(k,z,W),W=D(Z,z,W)}P(k),g(k)}function g(k){k.cs===0?(k.el=k,k.er=k,k.msel=k.mser=0):(k.el=k.c[0].el,k.msel=k.c[0].msel,k.er=k.c[k.cs-1].er,k.mser=k.c[k.cs-1].mser)}function m(k,W,z){for(var Z=k.c[W-1],Q=Z.mod,te=k.c[W],$=te.mod;Z!==null&&te!==null;){A(Z)>z.low&&(z=z.nxt);var ie=Q+Z.prelim+Z.w-($+te.prelim);ie>0&&($+=ie,C(k,W,z.index,ie));var ae=A(Z),re=A(te);ae<=re&&(Z=v(Z),Z!==null&&(Q+=Z.mod)),ae>=re&&(te=d(te),te!==null&&($+=te.mod))}!Z&&te?T(k,W,te,$):Z&&!te&&O(k,W,Z,Q)}function C(k,W,z,Z){k.c[W].mod+=Z,k.c[W].msel+=Z,k.c[W].mser+=Z,c(k,W,z,Z)}function d(k){return k.cs===0?k.tl:k.c[0]}function v(k){return k.cs===0?k.tr:k.c[k.cs-1]}function A(k){return k.y+k.h}function T(k,W,z,Z){var Q=k.c[0].el;Q.tl=z;var te=Z-z.mod-k.c[0].msel;Q.mod+=te,Q.prelim-=te,k.c[0].el=k.c[W].el,k.c[0].msel=k.c[W].msel}function O(k,W,z,Z){var Q=k.c[W].er;Q.tr=z;var te=Z-z.mod-k.c[W].mser;Q.mod+=te,Q.prelim-=te,k.c[W].er=k.c[W-1].er,k.c[W].mser=k.c[W-1].mser}function P(k){k.prelim=(k.c[0].prelim+k.c[0].mod+k.c[k.cs-1].mod+k.c[k.cs-1].prelim+k.c[k.cs-1].w)/2-k.w/2}function L(k,W){W+=k.mod,k.x=k.prelim+W,f(k);for(var z=0;z<k.cs;z++)L(k.c[z],W)}function c(k,W,z,Z){if(z!==W-1){var Q=W-z;k.c[z+1].shift+=Z/Q,k.c[W].shift-=Z/Q,k.c[W].change-=Z-Z/Q}}function f(k){for(var W=0,z=0,Z=0;Z<k.cs;Z++)W+=k.c[Z].shift,z+=W+k.c[Z].change,k.c[Z].mod+=z}function D(k,W,z){for(;z!==null&&k>=z.low;)z=z.nxt;return{low:k,index:W,nxt:z}}w(x,b);var R=K.fromNode(x,b);return E(R),L(R,0),F(R,x,b),_(x,b),x}},function(Me,X,K){function ee(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,G(g,m)}function G(g,m){return G=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,d){return C.__proto__=d,C},G(g,m)}var _=K(1),F=K(9),w=K(2),x=K(0),y=function(g){function m(){return g.apply(this,arguments)||this}ee(m,g);var C=m.prototype;return C.execute=function(){var v=this;return v.rootNode.width=0,w(v.rootNode,v.options,F)},m}(_),b={};function E(g,m){return m=x.assign({},b,m),new y(g,m).execute()}Me.exports=E},function(Me,X,K){var ee=K(0);function G(w,x){w===void 0&&(w=0),x===void 0&&(x=[]);var y=this;y.x=y.y=0,y.leftChild=y.rightChild=null,y.height=0,y.children=x}var _={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function F(w,x,y){y?(x.x=w.x,x.y=w.y):(x.x=w.y,x.y=w.x),w.children.forEach(function(b,E){F(b,x.children[E],y)})}Me.exports=function(w,x){x===void 0&&(x={}),x=ee.assign({},_,x);var y=0;function b(d){if(!d)return null;d.width=0,d.depth&&d.depth>y&&(y=d.depth);var v=d.children,A=v.length,T=new G(d.height,[]);return v.forEach(function(O,P){var L=b(O);T.children.push(L),P===0&&(T.leftChild=L),P===A-1&&(T.rightChild=L)}),T.originNode=d,T.isLeaf=d.isLeaf(),T}function E(d){if(d.isLeaf||d.children.length===0)d.drawingDepth=y;else{var v=d.children.map(function(T){return E(T)}),A=Math.min.apply(null,v);d.drawingDepth=A-1}return d.drawingDepth}var g;function m(d){d.x=d.drawingDepth*x.rankSep,d.isLeaf?(d.y=0,g&&(d.y=g.y+g.height+x.nodeSep,d.originNode.parent!==g.originNode.parent&&(d.y+=x.subTreeSep)),g=d):(d.children.forEach(function(v){m(v)}),d.y=(d.leftChild.y+d.rightChild.y)/2)}var C=b(w);return E(C),m(C),F(C,w,x.isHorizontal),w}},function(Me,X,K){function ee(C,d){C.prototype=Object.create(d.prototype),C.prototype.constructor=C,G(C,d)}function G(C,d){return G=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,A){return v.__proto__=A,v},G(C,d)}var _=K(1),F=K(11),w=K(4),x=K(0),y=["LR","RL","H"],b=y[0],E=function(C){function d(){return C.apply(this,arguments)||this}ee(d,C);var v=d.prototype;return v.execute=function(){var T=this,O=T.options,P=T.rootNode;O.isHorizontal=!0;var L=O.indent,c=L===void 0?20:L,f=O.dropCap,D=f===void 0?!0:f,R=O.direction,k=R===void 0?b:R,W=O.align;if(k&&y.indexOf(k)===-1)throw new TypeError("Invalid direction: "+k);if(k===y[0])F(P,c,D,W);else if(k===y[1])F(P,c,D,W),P.right2left();else if(k===y[2]){var z=w(P,O),Z=z.left,Q=z.right;F(Z,c,D,W),Z.right2left(),F(Q,c,D,W);var te=Z.getBoundingBox();Q.translate(te.width,0),P.x=Q.x-P.width/2}return P},d}(_),g={};function m(C,d){return d=x.assign({},g,d),new E(C,d).execute()}Me.exports=m},function(Me,X,K){var ee=K(0);function G(_,F,w,x,y){var b=(typeof w=="function"?w(_):w)*_.depth;if(!x)try{if(_.id===_.parent.children[0].id){_.x+=b,_.y=F?F.y:0;return}}catch(m){}if(_.x+=b,F){if(_.y=F.y+ee.getHeight(F,_,y),F.parent&&_.parent.id!==F.parent.id){var E=F.parent,g=E.y+ee.getHeight(E,_,y);_.y=g>_.y?g:_.y}}else _.y=0}Me.exports=function(_,F,w,x){var y=null;_.eachNode(function(b){G(b,y,F,w,x),y=b})}},function(Me,X,K){function ee(g,m){g.prototype=Object.create(m.prototype),g.prototype.constructor=g,G(g,m)}function G(g,m){return G=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,d){return C.__proto__=d,C},G(g,m)}var _=K(1),F=K(13),w=K(2),x=K(0),y=function(g){function m(){return g.apply(this,arguments)||this}ee(m,g);var C=m.prototype;return C.execute=function(){var v=this;return w(v.rootNode,v.options,F)},m}(_),b={};function E(g,m){return m=x.assign({},b,m),new y(g,m).execute()}Me.exports=E},function(Me,X,K){var ee=K(0);function G(w,x){var y=0;return w.children.length?w.children.forEach(function(b){y+=G(b,x)}):y=w.height,w._subTreeSep=x.getSubTreeSep(w.data),w.totalHeight=Math.max(w.height,y)+2*w._subTreeSep,w.totalHeight}function _(w){var x=w.children,y=x.length;if(y){x.forEach(function(d){_(d)});var b=x[0],E=x[y-1],g=E.y-b.y+E.height,m=0;if(x.forEach(function(d){m+=d.totalHeight}),g>w.height)w.y=b.y+g/2-w.height/2;else if(x.length!==1||w.height>m){var C=w.y+(w.height-g)/2-b.y;x.forEach(function(d){d.translate(0,C)})}else w.y=(b.y+b.height/2+E.y+E.height/2)/2-w.height/2}}var F={getSubTreeSep:function(){return 0}};Me.exports=function(w,x){x===void 0&&(x={}),x=ee.assign({},F,x),w.parent={x:0,width:0,height:0,y:0},w.BFTraverse(function(y){y.x=y.parent.x+y.parent.width}),w.parent=null,G(w,x),w.startY=0,w.y=w.totalHeight/2-w.height/2,w.eachNode(function(y){var b=y.children,E=b.length;if(E){var g=b[0];if(g.startY=y.startY+y._subTreeSep,E===1)g.y=y.y+y.height/2-g.height/2;else{g.y=g.startY+g.totalHeight/2-g.height/2;for(var m=1;m<E;m++){var C=b[m];C.startY=b[m-1].startY+b[m-1].totalHeight,C.y=C.startY+C.totalHeight/2-C.height/2}}}}),_(w)}}])})},90356:function(we,Me,X){"use strict";var K=X(59301),ee=X(42441),G=X(48961),_=X.n(G),F=Object.defineProperty,w=Object.defineProperties,x=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,g=(T,O,P)=>O in T?F(T,O,{enumerable:!0,configurable:!0,writable:!0,value:P}):T[O]=P,m=(T,O)=>{for(var P in O||(O={}))b.call(O,P)&&g(T,P,O[P]);if(y)for(var P of y(O))E.call(O,P)&&g(T,P,O[P]);return T},C=(T,O)=>w(T,x(O));function d(T,O,P=1/3,L){let c=T*Math.PI*2,f=O*Math.PI*2;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(D,R){return D<c?Math.cos(c)*(1+Math.cos(R)*P):D>f?Math.cos(f)*(1+Math.cos(R)*P):Math.cos(D)*(1+Math.cos(R)*P)},y:function(D,R){return D<c?Math.sin(c)*(1+Math.cos(R)*P):D>f?Math.sin(f)*(1+Math.cos(R)*P):Math.sin(D)*(1+Math.cos(R)*P)},z:function(D,R){return D<-Math.PI*.5?Math.sin(D):D>Math.PI*2.5?Math.sin(D)*L*.1:Math.sin(R)>0?1*L*.1:-1}}}function v({pieData:T=[],internalDiameterRatio:O=1/3}){var P,L,c,f;const D=[],R=T==null?void 0:T.reduce((Q,te)=>(Q||0)+((te==null?void 0:te.value)||0),0);let k=0,W=0;const z=[];for(let Q=0;Q<(T==null?void 0:T.length);Q++){W=k+(R==0?1:((P=T==null?void 0:T[Q])==null?void 0:P.value)||0);const te={itemStyle:((L=T==null?void 0:T[Q])==null?void 0:L.itemStyle)||{},name:((c=T==null?void 0:T[Q])==null?void 0:c.name)||`name${Q}`,type:"surface",parametric:!0,parametricEquation:d(k/(R||(T==null?void 0:T.length)),W/(R||(T==null?void 0:T.length)),O,((f=T==null?void 0:T[Q])==null?void 0:f.value)||(R==0?25:0)),wireframe:{show:!1},pieData:T==null?void 0:T[Q]};z.push(te.name),D.push(te),k=W}return D.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:Q=>`${Q.value}
${Q.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...T||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:z},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:D}}const A=({dataSource:T=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:O="",style:P={},legend:L={},internalDiameterRatio:c=1/3})=>{const[f,D]=(0,K.useState)([]),R=(0,K.useCallback)(z=>{const Z=z.selected||{},Q=T.map(te=>te.name).filter(te=>Z[te]===!1);D(Q)},[T]),k=(0,K.useMemo)(()=>T.filter(z=>!f.includes(z.name)),[T,f]),W=(0,K.useMemo)(()=>{const z=v({pieData:k,internalDiameterRatio:c}),Z=T.map(te=>te.name),Q=T.reduce((te,$)=>(te[$.name]=!f.includes($.name),te),{});return z.legend=C(m(m({},z.legend),L),{data:Z,selected:Q}),z},[k,L,c,T,f]);return K.createElement(ee.Z,{onEvents:{legendselectchanged:R},className:`w-full h-full ${O}`,option:W,style:m({height:"100%"},P)})};Me.Z=A},28426:function(we,Me,X){"use strict";var K=X(59301),ee=X(93314),G=X(99571),_=Object.defineProperty,F=Object.defineProperties,w=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,E=(d,v,A)=>v in d?_(d,v,{enumerable:!0,configurable:!0,writable:!0,value:A}):d[v]=A,g=(d,v)=>{for(var A in v||(v={}))y.call(v,A)&&E(d,A,v[A]);if(x)for(var A of x(v))b.call(v,A)&&E(d,A,v[A]);return d},m=(d,v)=>F(d,w(v));const C=({img:d,buttonProps:v={},styles:A={},customText:T,ButtonText:O,ButtonClick:P,Buttonclass:L,ButtonTwo:c,imgStyles:f,loading:D=!1,className:R=""})=>K.createElement("section",{className:`tc animated fadeIn ${R}`,style:g({color:"#999",margin:"100px auto",visibility:D?"hidden":"visible"},A)},K.createElement("img",{src:d||ee,style:m(g({},f),{pointerEvents:"none",userSelect:"none"})}),K.createElement("p",{className:"mt20 font14"},T||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),O&&K.createElement(G.ZP,g({className:L,onClick:P},v),O),c&&c);Me.Z=C},45677:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return L}});var K=X(59301),ee={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},G=X(99571),_=X(70557),F=X(75975),w=X(25399),x=X(51257),y=X(81722),b=X(28426),E=X(346),g=X(44203),m=X(59301),C=Object.defineProperty,d=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,T=(c,f,D)=>f in c?C(c,f,{enumerable:!0,configurable:!0,writable:!0,value:D}):c[f]=D,O=(c,f)=>{for(var D in f||(f={}))v.call(f,D)&&T(c,D,f[D]);if(d)for(var D of d(f))A.call(f,D)&&T(c,D,f[D]);return c},P=(c,f,D)=>new Promise((R,k)=>{var W=Q=>{try{Z(D.next(Q))}catch(te){k(te)}},z=Q=>{try{Z(D.throw(Q))}catch(te){k(te)}},Z=Q=>Q.done?R(Q.value):Promise.resolve(Q.value).then(W,z);Z((D=D.apply(c,f)).next())}),L=({editOffice:c="view",data:f,issaver:D,onSaver:R,theme:k,type:W,filename:z,monacoEditor:Z,className:Q,style:te,close:$,onClose:ie,hasMask:ae,disabledDownload:re,onImgDimensions:ce,showNodata:oe,recordInfo:he})=>{const[se,pe]=(0,K.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[me,ge]=(0,K.useState)(""),[Ee,Ae]=(0,K.useState)(),Fe=window.ENV==="build"?"/react/build":"",Ue=location.host.startsWith("localhost")?E.Z.PROXY_SERVER:E.Z.API_SERVER,rt=10*(1024*1024),qe=(0,K.useRef)();f!=null&&f.startsWith("/api")&&W!=="txt"&&(f=E.Z.API_SERVER+f);const dt=ht=>ht.substring(ht.lastIndexOf("/")+1).split(".").pop();z&&Z&&(Z.filename=z),(0,K.useEffect)(()=>{var ht,ut;const Mt=(ut=(ht=document.cookie)==null?void 0:ht.replace(/\s/g,""))==null?void 0:ut.split(";");Mt==null||Mt.map(Ce=>{let ot=Ce.split("=");ot[0]==="_educoder_session"&&ge(ot[1])})},[]),(0,K.useEffect)(()=>{W==="office"&&(f.indexOf("bigfilescdn.")>-1||f.indexOf("bigfiles1")>-1?Ae({url:f,fileType:dt(f),model:f.indexOf("model=edit")?"edit":"view"}):je())},[W,f]);function yt(ht){return P(this,null,function*(){ht.data.type==="pdfdata"&&(R(ht.data.data),window.removeEventListener("message",yt,!1)),console.log("mess---:",ht.data)})}const je=()=>P(void 0,null,function*(){console.log("data:",f);let ht=f;f.startsWith("http")||(ht=location.origin+ht);let ut=new URL(ht).pathname.split("/").pop();const Mt=yield(0,y.gJ)({attachment_id:ut});Mt.url=Ue+Mt.url,Ae(Mt)}),at=()=>{if(f.startsWith("http")||f.startsWith("blob:")){it();return}(0,x.Sv)(z||"educoder",f,z)},it=()=>{he&&(0,g.fc)({id:he==null?void 0:he.id,watch_type:1,course_id:he==null?void 0:he.course_id}),(0,x.Nd)(z||"educoder",decodeURIComponent(f))};return m.createElement("div",{style:O({},te||{}),className:`${ae&&ee.bgBlack} ${W?ee.wrp:"hide"}`},$&&m.createElement("div",{className:ee.close,ref:qe},!!ce&&m.createElement(w.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>qe.current},m.createElement("span",{onClick:()=>{ie(),ce()}},m.createElement("i",{className:"icon-yulanpizhu"}))),!re&&m.createElement(w.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>qe.current},m.createElement("span",{onClick:it},m.createElement("i",{className:"icon-quxiaozhiding"}))),D&&m.createElement(w.Z,{title:"\u4FDD\u5B58pdf\u5E76\u9000\u51FA",getPopupContainer:()=>qe.current},m.createElement("span",{className:"",onClick:()=>{const ht=document.getElementById("pdfiframe");window.addEventListener("message",yt,!1),setTimeout(()=>{ht.contentWindow.postMessage("getData","*")},300)}},m.createElement("i",{className:"icon-baocun"}))),m.createElement(w.Z,{title:"\u5173\u95ED",getPopupContainer:()=>qe.current},m.createElement("span",{className:"",onClick:()=>{ie()}},m.createElement("i",{className:"icon-guanbi1"})))),m.createElement("div",{className:`${ee[Q]} ${Q} ${ee.monaco} ${W==="txt"?"show":"hide"}`},W==="txt"&&m.createElement(m.Fragment,null,m.createElement(F.ZP,O({},Z)))),W==="audio"&&m.createElement("audio",{src:`${(f==null?void 0:f.indexOf("http://"))>-1||(f==null?void 0:f.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${f}`,autoPlay:!0}),W==="video"&&m.createElement(m.Fragment,null,(f==null?void 0:f.indexOf("http"))>-1?m.createElement("video",{controls:!0,src:`${f}`,autoPlay:!0}):m.createElement("video",{controls:!0,src:`data:video/mp4;base64,${f}`,autoPlay:!0})),W==="office"&&Ee&&m.createElement("iframe",{src:`${Fe}/office.html?key=${Ee.key}&url=${btoa(Ee.url)}&callbackUrl=${Ue+(Ee.callbackUrl||"")}&fileType=${Ee.fileType}&title=${Ee.title||""}&model=${c}&officeServer=${E.Z.ONLYOFFICE}&disabledDownload=${!!re}`}),W==="html"&&m.createElement("iframe",{src:f+"&disposition=inline"}),W==="pdf"&&m.createElement("iframe",{id:"pdfiframe",src:`${Fe}/js/pdfview/index.html?filename=${z||"educoder.pdf"}&url=${encodeURIComponent(f)}&disabledDownload=${!!re}&model=${c}`}),W==="image"&&m.createElement("img",{src:`${(f==null?void 0:f.indexOf("http://"))>-1||(f==null?void 0:f.indexOf("https://"))>-1?"":"data:image/png;base64,"}${f}`}),(W==="other"||W==="download")&&m.createElement(m.Fragment,null,oe?m.createElement(b.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:m.createElement(G.ZP,{icon:m.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:at,disabled:re},"\u4E0B\u8F7D")}):m.createElement(G.ZP,{type:"primary",size:"middle",onClick:at,disabled:re},m.createElement(_.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")))}},3736:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return v}});var K=X(59301),ee=X(6767),G=X(75727),_=X(30647),F=X(15360),w=X(48790),x=X(56102),y=X(84989),b={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},E=(A,T,O)=>new Promise((P,L)=>{var c=R=>{try{D(O.next(R))}catch(k){L(k)}},f=R=>{try{D(O.throw(R))}catch(k){L(k)}},D=R=>R.done?P(R.value):Promise.resolve(R.value).then(c,f);D((O=O.apply(A,T)).next())});function g(A){if(isNaN(A))return{minutes:"00",seconds:"00"};const T=new Date(A*1e3).toISOString().substr(11,8);return{hour:T.substr(0,2),minutes:T.substr(3,2),seconds:T.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function m(A,T){return A-T}function C(A){A.sort(m);let T=0;for(let O=0;O<A.length-1;O++){let P=Math.abs(A[O+1]-A[O]);P<21&&(T+=P)}return T}const d=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var v=(0,K.forwardRef)(({allow_skip:A,src:T,toLog:O,videoId:P,logWatchHistory:L,courseId:c=null,startTime:f,handlePause:D=()=>{},handlePlay:R=()=>{},handlePlayEnded:k=()=>{},autoPlay:W=!1,onPlayEnded:z=()=>{},isShowWaterMark:Z=!0},Q)=>{var te;T=T==null?void 0:T.replace("http://","https://");const ie=((te=T==null?void 0:T.split("."))==null?void 0:te.pop())==="flv",ae=(0,K.useRef)(),re=(0,K.useRef)(),ce=(0,K.useRef)(),oe=(0,K.useRef)(),he=(0,K.useRef)(),se=(0,K.useRef)(),pe=(0,K.useRef)(),me=(0,K.useRef)(),ge=(0,K.useRef)(),Ee=(0,K.useRef)(),Ae=(0,K.useRef)(),Fe=(0,K.useRef)(),Ue=(0,K.useRef)(),nt=(0,K.useRef)(),rt=navigator.userAgent.toLowerCase().match(d),qe=rt?rt[0]:"pc",dt=(0,K.useRef)(!1),yt=(0,w.eY)();let je=0,at=0,it=0,ht=null,ut=!1,Mt=20,Ce=1,ot=!1,Pe=!1,Ne=[];(0,K.useImperativeHandle)(Q,()=>({getLastUpdatedTime:()=>ae.current.currentTime,getDuration:()=>ae.current.duration})),ee.ZP.config({maxCount:1,getContainer:()=>ce.current});const We=(0,K.useCallback)((wt,Dt=!1)=>{let kt={point:ae.current.currentTime};ht?(kt.log_id=ht,kt.watch_duration=C(Ne),kt.total_duration=at):(c?(kt.video_id=parseInt(P,10),kt.course_id=c):kt.video_id=P,kt.duration=je,kt.device=qe),Dt&&(kt.ed="1");function Yt(){return E(this,null,function*(){ot=!0,ht=yield L==null?void 0:L(kt),ot=!1,wt&&wt()})}Yt()},[P,c]);(0,K.useEffect)(()=>{ae.current&&(oe.current.style.display="none",he.current.style.display="block"),ee.ZP.destroy();let wt=null;return _.Z.isSupported&&ie&&T&&(T==null?void 0:T.indexOf(".m3u8"))<0?(wt=_.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:T,muted:!1}),ae.current&&(wt.attachMediaElement(ae.current),wt.load())):ae.current.setAttribute("src",T),Ve(),()=>{wt&&(wt.unload(),wt.pause(),wt.destroy(),wt=null)}},[ae,ie,T]);function Be(){ae.current.paused?(oe.current.style.display="none",he.current.style.display="block"):(oe.current.style.display="block",he.current.style.display="none")}function Ve(){Ae.current.style.display="none",Ue.current.style.display="none",Fe.current.style.display="none",ae.current.muted||ae.current.volume===0?Ae.current.style.display="block":ae.current.volume>0&&ae.current.volume<=.5?Ue.current.style.display="block":Fe.current.style.display="block"}(0,K.useEffect)(()=>{const wt=document.getElementById("play"),Dt=document.querySelectorAll(".playback-icons use");function kt(){R(),f&&!dt.current&&(ae.current.currentTime=f),dt.current=!0,Ne.push(ae.current.currentTime),ut||(ut=!0,O&&We())}function Yt(){return E(this,null,function*(){Be(),Ne.push(ae.current.currentTime),O&&We(()=>{ht=null,it=0,ut=!1,ot=!1,Pe=!1,Ne=[],at=0,Ce=1},!0),z()})}function Wt(){se.current.value=Math.round(ae.current.currentTime),pe.current.value=Math.round(ae.current.currentTime)}function Ot(){const an=g(Math.round(ae.current.currentTime));ge.current.innerText=`${an.hour>0?an.hour+":":""}${an.minutes}:${an.seconds}`,ge.current.setAttribute("datetime",`${an.hour>0?" "+an.hour+" ":""}${an.minutes}m ${an.seconds}s`)}function en(){var an,tn,An,wn,sn,ir,Nt;const zt=Math.round((an=ae.current)==null?void 0:an.duration);(An=(tn=se.current)==null?void 0:tn.setAttribute)==null||An.call(tn,"max",zt),(sn=(wn=pe.current)==null?void 0:wn.setAttribute)==null||sn.call(wn,"max",zt);const Gt=g(zt);me.current&&(me.current.innerText=`${Gt.hour>0?Gt.hour+":":""}${Gt.minutes}:${Gt.seconds}`,(Nt=(ir=me.current).setAttribute)==null||Nt.call(ir,"datetime",`${Gt.hour>0?" "+Gt.hour+" ":""}${Gt.minutes}m ${Gt.seconds}s`))}function vn(){try{const an=Math.round(ae.current.duration);se.current.setAttribute("max",an),pe.current.setAttribute("max",an);const tn=g(an);me.current.innerText=`${tn.hour>0?tn.hour+":":""}${tn.minutes}:${tn.seconds}`,me.current.setAttribute("datetime",`${tn.hour>0?" "+tn.hour+" ":""}${tn.minutes}m ${tn.seconds}s`),Wt(),Ot();const{width:An,height:wn,x:sn,y:ir}=re.current.getBoundingClientRect();if(sn<0||ir<0,!Pe){let Nt=ae.current.currentTime,zt=Nt-it;Math.abs(zt)<10?(at+=Math.abs(zt),it=Nt,ot||at-Ce*Mt>=0&&(Ce++,Ne.push(it),O&&We())):(it=Nt,O&&We())}}catch(an){console.log("videoplaying:",an)}}function Jn(){Pe=!0}function Fn(){ae.current.playing&&Ne.push(ae.current.currentTime,it),it=ae.current.currentTime,Pe=!1}function qn(){je=ae.current.duration,je<=20&&(Mt=je/3),ae.current.addEventListener("play",kt)}function br(an){an.preventDefault(),(0,y.vp)()?(ae.current.style.width="100%",ae.current.style.height="100%"):ae.current.style.cssText=""}function Vn(){D()}function tr(an){if(!A){ee.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const tn=an.target.dataset.seek?an.target.dataset.seek:an.target.value;ae.current.currentTime=tn,pe.current.value=tn,se.current.value=tn}function lr(an){const tn=Math.round(an.offsetX/an.target.clientWidth*parseInt(an.target.getAttribute("max"),10));se.current.setAttribute("data-seek",tn);const An=g(tn);Ee.current.textContent=`${An.hour>0?An.hour+":":""}${An.minutes}:${An.seconds}`;const wn=ae.current.getBoundingClientRect();Ee.current.style.left=`${an.pageX-wn.left}px`}function nr(an){switch(an.code){case"Space":an.preventDefault(),pt();break;case"ArrowRight":if(an.preventDefault(),!A){ee.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(ae.current.currentTime>=ae.current.duration)break;ae.current.currentTime=parseInt(ae.current.currentTime)+5,Wt();break;case"ArrowLeft":if(an.preventDefault(),!A){ee.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(ae.current.currentTime===0)break;ae.current.currentTime=parseInt(ae.current.currentTime)-5,Wt();break;case"ArrowUp":an.preventDefault(),ae.current.volume<1&&(ae.current.volume=(parseInt(ae.current.volume*10)+1)/10);break;case"ArrowDown":an.preventDefault(),ae.current.volume>0&&(ae.current.volume=(parseInt(ae.current.volume*10)-1)/10);break}}return ce.current.addEventListener((0,y.gH)(),br),ae.current.addEventListener("canplay",qn),ae.current.addEventListener("ended",Yt),ae.current.addEventListener("seeking",Jn),ae.current.addEventListener("seeked",Fn),ae.current.addEventListener("loadedmetadata",en),se.current.addEventListener("mousemove",lr),se.current.addEventListener("input",tr),ae.current.addEventListener("timeupdate",vn),ae.current.addEventListener("pause",Vn),ae.current.addEventListener("volumechange",Ve),document.addEventListener("keydown",nr),()=>{var an,tn,An,wn,sn,ir,Nt,zt,Gt,jt,En,_e;(an=ae.current)==null||an.removeEventListener("canplay",qn),(tn=ae.current)==null||tn.removeEventListener("play",kt),(An=ae.current)==null||An.removeEventListener("ended",Yt),(wn=ae.current)==null||wn.removeEventListener("seeking",Jn),(sn=ae.current)==null||sn.removeEventListener("seeked",Fn),(ir=se.current)==null||ir.removeEventListener("mousemove",lr),(Nt=se.current)==null||Nt.removeEventListener("input",tr),(zt=ae.current)==null||zt.removeEventListener("timeupdate",vn),(Gt=ae.current)==null||Gt.removeEventListener("pause",Vn),(jt=ae.current)==null||jt.removeEventListener("loadedmetadata",en),(En=ae.current)==null||En.removeEventListener("volumechange",Ve),document.removeEventListener("keydown",nr),(_e=ae.current)!=null&&_e.playing&&(Ne.push(it,ae.current.currentTime),O&&We())}},[ae,T]),(0,K.useEffect)(()=>{if(ae.current.onended=()=>{k(ae)},ae.current.oncontextmenu=()=>!1,(T==null?void 0:T.indexOf(".m3u8"))>-1){if(ae.current.canPlayType("application/vnd.apple.mpegurl"))ae.current.src=T;else if(F.ZP.isSupported()){var wt=new F.ZP;wt.loadSource(T),wt.attachMedia(ae.current)}}},[T]);const[$e,lt]=(0,K.useState)(1),pt=()=>{ae.current.paused||ae.current.ended?ae.current.play():ae.current.pause(),Be()};function xt(){ae.current.muted=!ae.current.muted,ae.current.muted?(nt.current.setAttribute("data-volume",volume.value),nt.current.value=0):nt.current.value=nt.current.dataset.volume}return K.createElement("div",{style:{position:"relative"},ref:ce},K.createElement("div",{ref:re,className:`${b.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${b.animate__loop}`},Z&&yt?yt.login:" "),K.createElement("div",{className:b.container},K.createElement("div",{className:b["video-container"],id:"video-container"},K.createElement("div",{className:b["playback-animation"],id:"playback-animation"},K.createElement("svg",{className:b["playback-icons"]},K.createElement("use",{className:"hidden",href:"#play-icon"}),K.createElement("use",{href:"#pause"}))),K.createElement("video",{className:b.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:ae,autoPlay:W}),K.createElement("div",{className:`${b["video-controls"]} `,id:"video-controls"},K.createElement("div",{className:b["bottom-controls"]},K.createElement("div",{className:b["left-controls"]},K.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:pt},K.createElement("svg",{className:b["playback-icons"]},K.createElement("use",{ref:he,href:"#play-icon"}),K.createElement("use",{ref:oe,style:{display:"none"},href:"#pause"}))),K.createElement("div",{className:b.time},K.createElement("time",{id:"time-elapsed",ref:ge},"00:00"),K.createElement("span",null," / "),K.createElement("time",{id:"duration",ref:me},"00:00"))),K.createElement("div",{className:b["right-controls"]},A&&K.createElement(G.Z,{placement:"top",overlayClassName:b.rateOverlay,getPopupContainer:wt=>wt.parentNode,menu:{items:[{key:"1",label:K.createElement("span",{onClick:()=>{lt(1),ae.current.playbackRate=1}},"1.0x")},{key:"2",label:K.createElement("span",{onClick:()=>{lt(1.5),ae.current.playbackRate=1.5}},"1.5x")},{key:"3",label:K.createElement("span",{onClick:()=>{lt(2),ae.current.playbackRate=2}},"2.0x")}]}},K.createElement("div",{className:`${b.controlText} mr5`},"\u500D\u901F")),K.createElement(x.CopyToClipboard,{text:T,onCopy:()=>ee.ZP.success("\u590D\u5236\u6210\u529F")},K.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},K.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),K.createElement("div",{className:b["volume-controls"]},K.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:b["volume-button"],id:"volume-button",onClick:xt},K.createElement("i",{ref:Ae,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),K.createElement("i",{ref:Ue,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),K.createElement("i",{ref:Fe,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),K.createElement("input",{className:b.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:nt,style:{display:"none"},onClick:Ve})),K.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:b["fullscreen-button"],onClick:()=>{(0,y.vp)()?(0,y.BU)():(0,y.Dj)(ce.current)}},K.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),K.createElement("div",{className:b["video-progress"]},K.createElement("progress",{ref:pe,value:"0",min:"0"}),K.createElement("input",{className:b.seek,ref:se,value:"0",min:"0",type:"range",step:"1"}),K.createElement("div",{className:b["seek-tooltip"],ref:Ee,id:"seek-tooltip"},"00:00"))))),K.createElement("svg",{style:{display:"none"}},K.createElement("defs",null,K.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},K.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),K.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},K.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),K.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},K.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),K.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},K.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),K.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},K.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),K.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},K.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),K.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},K.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),K.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},K.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},75975:function(we,Me,X){"use strict";X.d(Me,{SV:function(){return ot},ZP:function(){return Ce}});var K=X(59301),ee=X(76374);const G={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},_={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(`
`)},{label:"System.out.println",content:["System.out.println($0)"].join(`
`)},{label:"System.out.print",content:["System.out.print($0)"].join(`
`)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},F={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(`
`)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(`
`)},{label:"if",content:["if () {"," $0","}"].join(`
`)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(`
`)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(`
`)},{label:"using namespace std;",content:["using namespace std;"].join(`
`)},{label:"include <iostream>",content:["#include <iostream>"].join(`
`)},{label:"include <vector>",content:["#include <vector>"].join(`
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
`)},{label:"include <map>",content:["#include <map>"].join(`
`)},{label:"include <string>",content:["#include <string>"].join(`
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
`)}]},w={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(`
`)}]},x={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(`
`)}]};var y=X(53184),b=X.n(y),E=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,A=(Pe,Ne,We)=>Ne in Pe?E(Pe,Ne,{enumerable:!0,configurable:!0,writable:!0,value:We}):Pe[Ne]=We,T=(Pe,Ne)=>{for(var We in Ne||(Ne={}))d.call(Ne,We)&&A(Pe,We,Ne[We]);if(C)for(var We of C(Ne))v.call(Ne,We)&&A(Pe,We,Ne[We]);return Pe},O=(Pe,Ne)=>g(Pe,m(Ne)),P=(Pe,Ne,We)=>new Promise((Be,Ve)=>{var $e=xt=>{try{pt(We.next(xt))}catch(wt){Ve(wt)}},lt=xt=>{try{pt(We.throw(xt))}catch(wt){Ve(wt)}},pt=xt=>xt.done?Be(xt.value):Promise.resolve(xt.value).then($e,lt);pt((We=We.apply(Pe,Ne)).next())});const L={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},c=(Pe,Ne)=>Ne.map(We=>({label:We,kind:Pe.languages.CompletionItemKind.Keyword,insertText:We})),f=Pe=>Object.keys(L.tables).map(Ne=>({label:Ne,kind:Pe.languages.CompletionItemKind.Variable,insertText:Ne})),D=(Pe,Ne)=>{const We=L.tables[Pe];return We?We.map(Be=>({label:Be,kind:Ne.languages.CompletionItemKind.Field,insertText:Be})):[]};function R(Pe,Ne,We,Be,Ve){let $e=Ne.getWordUntilPosition(We),lt={startLineNumber:We.lineNumber,endLineNumber:We.lineNumber,startColumn:$e.startColumn,endColumn:$e.endColumn},pt=Be.map(xt=>({label:xt,kind:Pe.languages.CompletionItemKind.Keyword,insertText:xt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:lt}));return Ve.map(xt=>{pt.push(O(T({},xt),{range:lt}))}),pt}var k=Pe=>{L.languages.map(Ve=>(Pe.languages.registerDocumentFormattingEditProvider(Ve,{provideDocumentFormattingEdits($e,lt,pt){return P(this,null,function*(){const xt=b()($e.getValue(),{indent_size:"2",indent_char:" ",max_preserve_newlines:"2",preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:"0",indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:$e.getFullModelRange(),text:xt}]})}}),Ve));const Ne=F.quickKey.map(Ve=>({label:Ve.label,kind:Pe.languages.CompletionItemKind.Method,insertText:Ve.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet})),We=w.quickKey.map(Ve=>({label:Ve.label,kind:Pe.languages.CompletionItemKind.Method,insertText:Ve.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet})),Be=_.quickKey.map(Ve=>({label:Ve.label,kind:Pe.languages.CompletionItemKind.Method,insertText:Ve.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet}));Pe.languages.registerCompletionItemProvider("cpp",{provideCompletionItems:function(Ve,$e){var lt=Ve.getWordUntilPosition($e),pt={startLineNumber:$e.lineNumber,endLineNumber:$e.lineNumber,startColumn:lt.startColumn,endColumn:lt.endColumn},xt=Ve.getLineContent($e.lineNumber).substring(lt.startColumn-2,lt.endColumn);return{suggestions:[...F.keywords.map(wt=>({label:wt,kind:Pe.languages.CompletionItemKind.Function,documentation:wt,insertText:wt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt})),...F.quickKey.map(wt=>({label:wt.label,kind:Pe.languages.CompletionItemKind.Function,documentation:wt.content,insertText:xt.startsWith("#")?wt.content.replace(/#/,""):wt.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt}))]}}}),Pe.languages.registerCompletionItemProvider("c",{provideCompletionItems:function(Ve,$e){var lt=Ve.getWordUntilPosition($e),pt={startLineNumber:$e.lineNumber,endLineNumber:$e.lineNumber,startColumn:lt.startColumn,endColumn:lt.endColumn};return{suggestions:[...G.keywords.map(xt=>({label:xt,kind:Pe.languages.CompletionItemKind.Function,documentation:xt,insertText:xt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt}))]}}}),Pe.languages.registerCompletionItemProvider("java",{provideCompletionItems:function(Ve,$e){var lt=Ve.getWordUntilPosition($e),pt={startLineNumber:$e.lineNumber,endLineNumber:$e.lineNumber,startColumn:lt.startColumn,endColumn:lt.endColumn},xt=Ve.getLineContent($e.lineNumber).substring(lt.startColumn-2,lt.endColumn);return{suggestions:[..._.keywords.map(wt=>({label:wt,kind:Pe.languages.CompletionItemKind.Function,documentation:wt,insertText:wt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt})),..._.quickKey.map(wt=>({label:wt.label,kind:Pe.languages.CompletionItemKind.Function,documentation:wt.content,insertText:xt.startsWith("#")?wt.content.replace(/#/,""):wt.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt}))]}}}),Pe.languages.registerCompletionItemProvider("scala",{provideCompletionItems:function(Ve,$e){var lt=Ve.getWordUntilPosition($e),pt={startLineNumber:$e.lineNumber,endLineNumber:$e.lineNumber,startColumn:lt.startColumn,endColumn:lt.endColumn},xt=Ve.getLineContent($e.lineNumber).substring(lt.startColumn-2,lt.endColumn);return{suggestions:[...x.keywords.map(wt=>({label:wt,kind:Pe.languages.CompletionItemKind.Function,documentation:wt,insertText:wt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt})),...x.quickKey.map(wt=>({label:wt.label,kind:Pe.languages.CompletionItemKind.Function,documentation:wt.content,insertText:xt.startsWith("#")?wt.content.replace(/#/,""):wt.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt}))]}}}),Pe.languages.registerCompletionItemProvider("python",{provideCompletionItems:function(Ve,$e){var lt=Ve.getWordUntilPosition($e),pt={startLineNumber:$e.lineNumber,endLineNumber:$e.lineNumber,startColumn:lt.startColumn,endColumn:lt.endColumn},xt=Ve.getLineContent($e.lineNumber).substring(lt.startColumn-2,lt.endColumn);return{suggestions:[...w.keywords.map(wt=>({label:wt,kind:Pe.languages.CompletionItemKind.Function,documentation:wt,insertText:wt,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt})),...w.quickKey.map(wt=>({label:wt.label,kind:Pe.languages.CompletionItemKind.Function,documentation:wt.content,insertText:xt.startsWith("#")?wt.content.replace(/#/,""):wt.content,insertTextRules:Pe.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:pt}))]}}})};const W="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var z=Object.defineProperty,Z=(Pe,Ne,We)=>Ne in Pe?z(Pe,Ne,{enumerable:!0,configurable:!0,writable:!0,value:We}):Pe[Ne]=We,Q=(Pe,Ne,We)=>Z(Pe,typeof Ne!="symbol"?Ne+"":Ne,We);const te=class b2{constructor(Ne,We,Be){this.placeholder=Ne,this.editor=We,this.monaco=Be,We.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return b2.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};Q(te,"ID","editor.widget.placeholderHint");var ie=te,ae=X(96236),re=X(6767),ce=X(25399),oe=X(89392),he=X(49535),se=X(56102),pe=Object.defineProperty,me=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,Ue=(Pe,Ne,We)=>Ne in Pe?pe(Pe,Ne,{enumerable:!0,configurable:!0,writable:!0,value:We}):Pe[Ne]=We,nt=(Pe,Ne)=>{for(var We in Ne||(Ne={}))Ae.call(Ne,We)&&Ue(Pe,We,Ne[We]);if(Ee)for(var We of Ee(Ne))Fe.call(Ne,We)&&Ue(Pe,We,Ne[We]);return Pe},rt=(Pe,Ne)=>me(Pe,ge(Ne)),qe=(Pe,Ne)=>{var We={};for(var Be in Pe)Ae.call(Pe,Be)&&Ne.indexOf(Be)<0&&(We[Be]=Pe[Be]);if(Pe!=null&&Ee)for(var Be of Ee(Pe))Ne.indexOf(Be)<0&&Fe.call(Pe,Be)&&(We[Be]=Pe[Be]);return We},dt=(Pe,Ne,We)=>new Promise((Be,Ve)=>{var $e=xt=>{try{pt(We.next(xt))}catch(wt){Ve(wt)}},lt=xt=>{try{pt(We.throw(xt))}catch(wt){Ve(wt)}},pt=xt=>xt.done?Be(xt.value):Promise.resolve(xt.value).then($e,lt);pt((We=We.apply(Pe,Ne)).next())});function yt(Pe){return/^\d+$/.test(Pe)?`${Pe}px`:Pe}function je(){}let at=!1;const it={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function ht(Pe=[]){let Ne=Pe;if(Array.isArray(Pe)){for(let We=0;We<Pe.length;We++){let Be=it[Pe[We]];if(Be)return Be}return Ne[0]}return it[Ne]||Ne}let ut=null;const Mt=()=>dt(void 0,null,function*(){try{yield navigator.clipboard.writeText(" "),console.log("\u5185\u5BB9\u5DF2\u81EA\u52A8\u590D\u5236\u5230\u526A\u8D34\u677F:")}catch(Pe){console.error("\u81EA\u52A8\u590D\u5236\u5931\u8D25:",Pe)}});var Ce=Pe=>{var Ne=Pe,{width:We="100%",height:Be="100%",value:Ve,language:$e="javascript",style:lt={},options:pt={},overrideServices:xt={},theme:wt="vs-dark",onEditBlur:Dt,isCopy:kt=!1,onSave:Yt,autoHeight:Wt=!1,forbidCopy:Ot=!1,onChange:en=je,editorDidMount:vn=je,onFocus:Jn=je,onBreakPoint:Fn=je,breakPointValue:qn=[],filename:br="educoder.txt",errorLine:Vn,errorContent:tr="",highlightLine:lr,openBreakPoint:nr=!1,placeholder:an="",showMiniMap:tn=!0}=Ne,An=qe(Ne,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","isCopy","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder","showMiniMap"]);const wn=(0,K.useRef)(),sn=(0,K.useRef)({}),ir=(0,K.useRef)(),Nt=(0,K.useRef)(),zt=(0,K.useRef)([]),Gt=(0,K.useRef)(!1),jt=(0,K.useRef)(),En=(0,K.useRef)(),_e=(0,K.useRef)(!1),[M,B]=(0,K.useState)(!1);function I(){let Ze;return wn.current&&(Ze=new ee.Z(tt=>{for(let mt of tt)(mt.target.offsetHeight>0||mt.target.offsetWidth>0)&&sn.current.instance.layout()}),Ze.observe(wn.current)),Ze}function j(){re.ZP.warning({content:decodeURIComponent(W),key:"monaco-editor-tip"})}const J=()=>{let Ze=sn.current.instance;if(Ve!=null&&Ze&&M){const tt=Ze.getModel();tt&&Ve!==tt.getValue()&&(at=!0,tt.setValue(Ve),Ze.layout(),at=!1)}};(0,K.useEffect)(()=>{const Ze=he.Z.subscribe("formatDocument",tt=>{var mt;let Tt=sn.current.instance;(mt=Tt==null?void 0:Tt.getAction)==null||mt.call(Tt,"editor.action.formatDocument").run()});return window.updateMonacoValue=tt=>{en(tt)},Ze},[]),(0,K.useEffect)(()=>{var Ze;let tt=sn.current.instance;Nt.current&&clearTimeout(Nt.current),Nt.current=setTimeout(()=>{J()},500),Ve&&(Ve!=null&&Ve.length)&&((Ze=tt==null?void 0:tt.updateOptions)==null||Ze.call(tt,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(Ve.split(/\r\n|\r|\n/g).length))+3,5)}))},[Ve,M,sn.current]),(0,K.useEffect)(()=>{if(Vn&&sn.current&&sn.current.instance){let tt=sn.current.instance;tt.changeViewZones(function(mt){var Tt=document.createElement("div");Tt.style.padding="10px 20px",Tt.style.width="calc(100% - 20px)",Tt.className="my-error-line-wrp",Tt.innerHTML=tr,mt.addZone({afterLineNumber:Vn||11,heightInLines:3,domNode:Tt})});var Ze={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};tt.addOverlayWidget(Ze),tt.revealPositionInCenter({lineNumber:20,column:1})}},[Vn,sn.current,M]);const ye=(Ze="",tt)=>{if(!Ze||Ze.trim()==="")return!0;const Tt=sn.current.instance.getModel().getLineTokens(tt);let It=!1;for(let vt=0;vt<2;vt++)Tt.getStandardTokenType(vt)===1&&(It=!0);return It};(0,K.useEffect)(()=>{var Ze;const tt=(Ze=sn.current)==null?void 0:Ze.instance;if(tt&&M&&Ot){const mt=tt.onDidBlurEditorWidget(()=>{_e.current=!1}),Tt=tt.onDidFocusEditorText(()=>{_e.current=!0});return()=>{mt.dispose(),Tt.dispose()}}},[sn.current,M,Ot]),(0,K.useEffect)(()=>{var Ze;if((Ze=sn.current)!=null&&Ze.instance&&M&&nr){let tt=sn.current.instance,mt=tt.getModel();if(!mt)return;(()=>{var Zt;let Jt=[],Xt=[];const dn=mt.getAllDecorations();for(let Mn of dn)Mn.options.className==="highlighted-line"&&(Jt.push((Zt=Mn==null?void 0:Mn.range)==null?void 0:Zt.startLineNumber),Xt.push(Mn==null?void 0:Mn.id));if(lr===Jt[0])return;mt.deltaDecorations(Xt,[]);const gn=mt.getLineCount();lr&&lr<=gn&&(tt.deltaDecorations([],[{range:new ut.Range(lr,1,lr,mt.getLineMaxColumn(lr)),options:{isWholeLine:!0,className:"highlighted-line"}}]),tt.revealLineInCenter(lr))})();const It=(Zt=!1)=>{var Jt;let Xt=[],dn=[];const gn=mt.getAllDecorations();for(let Mn of gn)Mn.options.linesDecorationsClassName==="breakpoints-select"&&(Xt.push((Jt=Mn==null?void 0:Mn.range)==null?void 0:Jt.startLineNumber),dn.push(Mn==null?void 0:Mn.id));if(Zt)return{lines:Xt,ids:dn};Fn(Xt)},vt=Zt=>dt(void 0,null,function*(){let Jt={range:new ut.Range(Zt,1,Zt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield mt.deltaDecorations([],[Jt]),It()}),Rt=Zt=>dt(void 0,null,function*(){let Jt=[];const Xt=tt.getLineDecorations(Zt);for(let dn of Xt)dn.options.linesDecorationsClassName==="breakpoints-select"&&Jt.push(dn.id);yield mt.deltaDecorations(Jt,[]),It()}),Bt=Zt=>{let Jt=tt.getLineDecorations(Zt);for(let Xt of Jt)if(Xt.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,oe.isEqual)(qn,It(!0).lines)){mt.deltaDecorations(It(!0).ids,[]);const Zt=qn.map(Jt=>({range:new ut.Range(Jt,1,Jt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));mt.deltaDecorations([],Zt)}const Qe=tt.onDidChangeModelContent(Zt=>{let Jt=tt.getPosition();if(Jt){let Xt=Jt.lineNumber;clearTimeout(En.current),En.current=setTimeout(()=>{ye(mt.getLineContent(Xt),Xt)?Rt(Xt):Bt(Xt)?(Rt(Xt),vt(Xt)):It()},100)}}),gt=tt.onMouseDown(Zt=>{var Jt,Xt,dn;if(Zt.target.detail&&((dn=(Xt=(Jt=Zt.target)==null?void 0:Jt.element)==null?void 0:Xt.className)!=null&&dn.includes("line-numbers"))){let gn=Zt.target.position.lineNumber;if(ye(mt.getLineContent(gn),gn))return;Bt(gn)?Rt(gn):vt(gn)}}),Pt=Zt=>{let Jt={range:new ut.Range(Zt,1,Zt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};zt.current=tt.deltaDecorations(zt.current,[Jt])},St=()=>{zt.current=tt.deltaDecorations(zt.current,[])},on=tt.onMouseMove(Zt=>{var Jt,Xt,dn;if(St(),Zt.target.detail&&((dn=(Xt=(Jt=Zt.target)==null?void 0:Jt.element)==null?void 0:Xt.className)!=null&&dn.includes("line-numbers"))){let gn=Zt.target.position.lineNumber;if(ye(mt.getLineContent(gn),gn))return;Pt(gn)}}),ln=tt.onMouseLeave(()=>{St()});return()=>{Qe.dispose(),gt.dispose(),on.dispose(),ln.dispose()}}},[sn.current,M,qn,lr,nr,$e]),(0,K.useEffect)(()=>{var Ze;(Ze=sn.current)!=null&&Ze.instance&&nr&&sn.current.instance.setPosition({lineNumber:0,column:0})},[lr]);function be(){let Ze=sn.current.instance;if(Ze){const tt=Ze.getSelection(),mt=sn.current.pastePos||{},Tt=new ut.Range(mt.startLineNumber||tt.endLineNumber,mt.startColumn||tt.endColumn,mt.endLineNumber||tt.endLineNumber,mt.endColumn||tt.endColumn);setTimeout(()=>{Ze.executeEdits("",[{range:Tt,text:""}])},300)}}function Le(Ze){(window.navigator.platform.match("Mac")?Ze.metaKey:Ze.ctrlKey)&&Ze.keyCode==83&&(Ze.preventDefault(),Yt())}const Se=()=>{if(Wt&&sn.current.instance){const Ze=sn.current.instance.getContentHeight();Je(Ze<Be?Be:Ze)}else Je(Be)};function Ye(Ze){var tt=document.createEvent("MouseEvents");tt.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),Ze.dispatchEvent(tt)}const Ge=Ze=>{if(!_e.current)return;const{keyCode:tt,ctrlKey:mt,metaKey:Tt,target:It,type:vt}=Ze;return(vt==="paste"||(tt===67||tt===86)&&(Tt||mt))&&It.nodeName==="TEXTAREA"&&(j(),Ze.preventDefault()),!1};function Re(Ze,tt){var mt=window.URL||window.webkitURL||window,Tt=new Blob([tt]),It=document.createElementNS("http://www.w3.org/1999/xhtml","a");It.href=mt.createObjectURL(Tt),It.download=Ze,Ye(It)}(0,K.useEffect)(()=>{Se()},[Se]),(0,K.useEffect)(()=>{wn.current&&!M&&Promise.all([X.e(8909),X.e(6656)]).then(X.bind(X,71448)).then(Ze=>{try{ut=Ze,sn.current.instance=ut.editor.create(wn.current,{value:Ve,language:ht($e),theme:wt,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0,minimap:{enabled:tn||!1}},xt);const tt=sn.current.instance;let It=[...ae.BH._menuItems].find(Qe=>Qe[0]._debugName=="EditorContext")[1],vt=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],Rt=(Qe,gt)=>{var Pt,St;let on=Qe._first;do gt.includes((St=(Pt=on.element)==null?void 0:Pt.command)==null?void 0:St.id)&&Qe._remove(on);while(on=on.next)};if(vn(tt,ut),setTimeout(()=>{Se(),sn.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{Re(br||"educoder.txt",tt.getValue())}})},500),sn.current.subscription=tt.onDidChangeModelContent(Qe=>{Gt.current?clearTimeout(jt.current):(Se(),en(tt.getValue(),Qe)),jt.current=setTimeout(()=>{Gt.current=!1},500)}),window.Monaco||k(ut,ht($e)),Ot&&(Rt(It,vt),wn.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",Ge),window.removeEventListener("paste",Ge),window.addEventListener("keydown",Ge),window.addEventListener("paste",Ge)),window.Monaco=ut,Dt&&tt.onDidBlurEditorWidget(()=>{Dt(tt.getValue())}),Jn&&tt.onDidFocusEditorText(()=>{Ot&&Mt(),Jn(tt.getValue())}),Ot){Mt();try{tt.onDidPaste(Qe=>{const gt=tt.getSelection(),Pt=sn.current.pastePos||{},St=new ut.Range(Pt.startLineNumber||gt.endLineNumber,Pt.startColumn||gt.endColumn,Pt.endLineNumber||gt.endLineNumber,Pt.endColumn||gt.endColumn);tt.executeEdits("",[{range:Qe.range,text:""}])})}catch(Qe){}}let Bt=I();return an&&typeof an=="string"&&new ie(an,tt,ut),B(!0),()=>{const Qe=sn.current.instance;Qe.dispose();const gt=Qe.getModel();gt&&gt.dispose(),sn.current.subscription&&sn.current.subscription.dispose(),Bt.unobserve(wn.current)}}catch(tt){}})},[]),(0,K.useEffect)(()=>{if(sn.current.instance&&M)return document.addEventListener("keydown",Le,!1),()=>{document.removeEventListener("keydown",Le)}},[Yt,M]),(0,K.useEffect)(()=>{let Ze=sn.current.instance;if(Ze&&M){let tt=ht($e);ut.editor.setModelLanguage(Ze.getModel(),tt)}},[$e,M]),(0,K.useEffect)(()=>{sn.current.instance&&M&&ut.editor.setTheme(wt)},[wt,M]),(0,K.useEffect)(()=>{let Ze=sn.current.instance;ir.current=pt,Ze&&M&&(Ze.updateOptions(nt({},pt)),setTimeout(()=>{Ze.getModel().updateOptions(nt({},pt))},200))},[JSON.stringify(pt),M]),(0,K.useEffect)(()=>{let Ze=sn.current.instance;Ze&&M&&Ze.layout()},[We,Be,M]);const[De,Ke]=(0,K.useState)(yt(We)),[He,Je]=(0,K.useState)(yt(Be)),ke=rt(nt({},lt),{width:De,height:He,position:"relative"});return K.createElement("div",{className:"my-monaco-editor",ref:wn,style:ke},kt&&K.createElement(se.CopyToClipboard,{text:Ve,onCopy:()=>re.ZP.success("\u590D\u5236\u6210\u529F")},K.createElement(ce.Z,{title:"\u590D\u5236\u4EE3\u7801"},K.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},K.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function ot({width:Pe="100%",height:Ne="100%",original:We,modified:Be,language:Ve,options:$e={}}){const lt=(0,K.useRef)(),[pt,xt]=(0,K.useState)(null);function wt(Wt){let Ot;return lt.current&&(Ot=new ee.Z(en=>{for(let vn of en)(vn.target.offsetHeight>0||vn.target.offsetWidth>0)&&Wt.layout()}),Ot.observe(lt.current)),Ot}(0,K.useEffect)(()=>(lt.current&&Promise.all([X.e(8909),X.e(9404)]).then(X.bind(X,2550)).then(Wt=>{ut=Wt;const Ot=ut.editor.createDiffEditor(lt.current,rt(nt({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},$e),{wordWrap:!0}));xt(Ot);let en=wt(Ot);return()=>{Ot.dispose();const vn=Ot.getModel();vn&&vn.dispose(),en.unobserve(lt.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,K.useEffect)(()=>{pt&&pt.setModel({original:ut.editor.createModel(We,Ve),modified:ut.editor.createModel(Be,Ve)})},[We,Be,Ve,pt]);const Dt=yt(Pe),kt=yt(Ne),Yt={width:Dt,height:kt};return K.createElement("div",{className:"my-diff-editor",ref:lt,style:Yt})}},10661:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return g}});var K={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf"},ee=X(29787),G=X(25399),_=X(92310),F=X.n(_),w=X(51257),x=X(28426),y=X(48790),b=X(59301),g=({className:m,dataSource:C=[],col:d=4,right:v,bottom:A=23,precision:T=0,wrapWidth:O=1200,trackEventItems:P,loading:L,onRemove:c=()=>{},isCurrent:f=!0,showAlias:D=!1})=>{const R=Math.floor((O-(d-1)*v)/d),k=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return b.createElement(ee.Z,{spinning:L},b.createElement("div",{className:F()(K.list,m)},!!(C!=null&&C.length)&&(C==null?void 0:C.map((W,z)=>{var Z;const{name:Q,id:te,identifier:$,featured:ie,school_name:ae,image_url:re,excellent:ce,is_plan:oe}=W;return b.createElement("div",{key:te,className:K.wrap,style:{width:R,marginRight:(1+z)%d===0?0:v+T,marginBottom:A}},b.createElement("a",{className:K.li,onClick:he=>{he.preventDefault(),he.stopPropagation(),P&&(0,w.L9)([P]),(0,w.xg)(`/paths/${$}`)}},b.createElement("div",{className:K.img},b.createElement("img",{className:K.cover,src:`${re}`}),f&&(0,y.bg)()&&(W==null?void 0:W.studying)&&b.createElement("div",{className:`${K.movebq} user-path-items`,onClick:he=>{he.stopPropagation(),c(W)}},b.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),b.createElement("span",{className:"c-red"},"\u79FB\u9664")),(Z=W==null?void 0:W.subject_tags)==null?void 0:Z.map((he,se)=>{var pe,me;if(se===0){const Ee=(pe=k.find(Ae=>Ae.name==he))==null?void 0:pe.swimg;return b.createElement("img",{className:K.sign,src:Ee,style:{left:"-4px"}})}const ge=(me=k.find(Ee=>Ee.name==he))==null?void 0:me.ptimg;return b.createElement("img",{className:K.sign,src:ge,style:{left:`${48+52*(se-1)+2*se}px`}})}),b.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(W==null?void 0:W.excellent)&&b.createElement("div",{className:K.bq},"\u5F00\u653E\u8BFE\u7A0B"))),b.createElement("div",{className:K.name},b.createElement(G.Z,{title:D&&(W!=null&&W.excellent_alias_name)?b.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${Q}`,b.createElement("br",null),b.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${W==null?void 0:W.excellent_alias_name}`)):Q},b.createElement("span",{className:K.e},D&&(W==null?void 0:W.excellent_alias_name)||Q))),b.createElement(G.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${ae}`},b.createElement("div",{className:K.unit},b.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),ae)),b.createElement("div",{className:K.tags},b.createElement("div",null,b.createElement(G.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},b.createElement("span",null,b.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),b.createElement("span",null,W.stages_count))),b.createElement(G.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},b.createElement("span",null,b.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),b.createElement("span",null,W.members_count)))))))})),!C.length&&b.createElement(x.Z,null)))}},9148:function(we,Me,X){"use strict";X.d(Me,{jL:function(){return F},w9:function(){return pe},QD:function(){return Dt},cQ:function(){return re.Z},op:function(){return Ve},O5:function(){return ir},_b:function(){return vn},t7:function(){return O},Gi:function(){return Ue},YG:function(){return Ae},qp:function(){return g},vr:function(){return Wt},qE:function(){return pt},Je:function(){return c},wb:function(){return ae},cq:function(){return je},tp:function(){return d}});var K=X(59301),ee={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},G="data:image/png;base64,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",F=({dataSource:Nt=[],img:zt,imgWidth:Gt=346,title:jt,sunTitle:En,bannerExtraContent:_e})=>K.createElement("div",{className:ee.banner},K.createElement("div",{className:ee.content},K.createElement("aside",null,K.createElement("p",null,K.createElement("b",null,jt),K.createElement("span",null,En)),Nt.length>0&&K.createElement("div",{className:ee.btns},Nt.map((M,B)=>K.createElement("div",{key:B,onClick:M.click},M.name,M.sign?K.createElement("img",{src:G,width:39}):null))),_e),zt&&K.createElement("img",{style:{marginTop:33,marginRight:38},src:zt,width:Gt}))),w={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},x=X(92310),y=X.n(x),b=X(89392),g=({dataSource:Nt=[],value:zt,onChange:Gt,onTitleChange:jt,className:En,title:_e,titleWidth:M=41,style:B={},fontColor:I="#6A7283",showCount:j})=>{const[J,ye]=(0,K.useState)(0),[be,Le]=(0,K.useState)(!1),Se=(0,K.useRef)(null),Ye=(0,K.useRef)(null);return(0,K.useEffect)(()=>{var Ge;Nt.length!==0&&(((Ge=Se==null?void 0:Se.current)==null?void 0:Ge.clientHeight)>97?ye(1):ye(0)),Nt.length===0&&ye(0),Le(!1)},[Nt]),K.createElement("div",{className:y()(w.row,En),style:B},K.createElement("div",{onClick:(0,b.throttle)(()=>jt==null?void 0:jt(),2e3),style:{width:M,marginTop:be?12:4},className:`${w.title} ${jt?"current":""}`},_e),K.createElement("div",{className:be?`${w.tagsWrap} ${w.tagsBorderWrap}`:w.tagsWrap},K.createElement("div",{className:w.bar,ref:Ye,style:J>0?{height:J===1?97:"auto",overflow:J===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},K.createElement("div",{className:w.tag,ref:Se},Nt==null?void 0:Nt.map(Ge=>K.createElement("span",{onClick:()=>Gt(Ge.id),key:Ge.id,style:{color:I},className:zt===Ge.id?w.active:""},K.createElement("span",{title:Ge.name,className:w.name},Ge.name),!!j&&K.createElement("span",{className:w.num},Ge.count))))),!!J&&K.createElement(K.Fragment,null,J===1?K.createElement("div",{onClick:()=>{var Ge;ye(2),((Ge=Se==null?void 0:Se.current)==null?void 0:Ge.clientHeight)>245?Le(!0):Le(!1)},className:w.action},"\u5C55\u5F00",K.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):K.createElement("div",{onClick:()=>{Ye.current.scrollTop=0,ye(1),Le(!1)},className:w.action},"\u6536\u8D77",K.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},m={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},d=({dataSource:Nt=[],value:zt,onChange:Gt,className:jt,style:En={}})=>K.createElement("div",{style:En,className:y()(m.tabs,jt)},Nt.map(_e=>K.createElement("span",{onClick:()=>Gt(_e.id),className:zt===_e.id?m.active:"",key:_e.id},_e.name))),v={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},A=X(37568),O=({dataSource:Nt=[],value:zt="",onChange:Gt,onInputChange:jt=()=>{},className:En,style:_e={},placeholder:M,allowClear:B=!1})=>{var I;const[j,J]=(0,K.useState)(""),[ye,be]=(0,K.useState)("");(0,K.useEffect)(()=>{var Ye;let Ge=zt;(Ye=JSON.stringify(zt))!=null&&Ye.includes("{")&&(J(zt.id),Ge=zt.value||"");try{be(decodeURIComponent(Ge||""))}catch(Re){be(decodeURIComponent(Ge||""))}},[zt]);const Le=()=>{Gt(encodeURIComponent(ye),j||null)},Se=Ye=>{Ye!==j&&(J(Ye),Gt(encodeURIComponent(ye),Ye))};return K.createElement("div",{className:y()(v.input,En),style:_e},!!Nt.length&&K.createElement("div",{className:v.dropdown},K.createElement("div",{className:v.text},(I=Nt.find(Ye=>Ye.id===j))==null?void 0:I.name,K.createElement("i",{className:"iconfont icon-zhankai4"}),K.createElement("b",{className:v.b1}),K.createElement("b",{className:v.b2})),K.createElement("div",{className:v.menu},Nt.map((Ye,Ge)=>K.createElement("div",{key:Ge,onClick:()=>Se(Ye.id)},Ye.name)))),K.createElement(A.default,{onPressEnter:Le,value:ye,onChange:Ye=>{be(Ye.target.value),jt(encodeURIComponent(Ye.target.value),j||null)},bordered:!1,placeholder:M}),K.createElement("i",{onClick:Le,className:"iconfont icon-sousuo9 font14 pl10 current"}))},P={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},c=({value:Nt,onChange:zt,className:Gt,total:jt,pageSize:En,style:_e={}})=>{const M=Nt<2,B=Nt>=Math.ceil(jt/En);return jt<=En?K.createElement(K.Fragment,null):K.createElement("div",{className:y()(P.quickPager,Gt),style:_e},K.createElement("div",{onClick:()=>{M||zt(Nt-1,"prev")},className:M?P.disabled:""},"\u4E0A\u4E00\u9875"),K.createElement("div",{onClick:()=>{B||zt(Nt+1,"next")},className:B?P.disabled:""},"\u4E0B\u4E00\u9875"))},f={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},D=X(29787),R=X(25399),k=X(58018),W=X(346),z=X(51257),Z=X(96908),Q=X(57177),te=X(81378),$=X(28426),ae=({className:Nt,dataSource:zt=[],col:Gt=4,right:jt,bottom:En=23,precision:_e=0,wrapWidth:M=1200,trackEventItems:B,loading:I})=>{const j=Math.floor((M-(Gt-1)*jt)/Gt);return K.createElement(D.Z,{spinning:I},K.createElement("div",{className:y()(f.list,Nt)},!!zt.length&&zt.map((J,ye)=>{const{name:be,id:Le,identifier:Se,power:Ye,cover_image_id:Ge,pic:Re}=J;return K.createElement("div",{className:f.wrap,key:Le,style:{width:j,marginRight:(1+ye)%Gt===0?0:jt+_e,marginBottom:En}},K.createElement("a",{target:"_blank",href:`/shixuns/${Se}/challenges`,className:f.li,onClick:De=>{De.preventDefault(),B&&(0,z.L9)([B]),Ye&&(0,z.xg)(`/shixuns/${Se}/challenges`)}},K.createElement("div",{className:f.img},K.createElement("img",{className:f.cover,src:`${Re}`}),J.is_jupyter&&K.createElement("img",{className:f.sign,src:Z}),J.is_jupyter_lab&&K.createElement("img",{className:f.sign,src:Q}),J.is_unity_3d&&K.createElement("img",{className:f.sign,src:te})),K.createElement("div",{className:f.name},K.createElement(R.Z,{title:be||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},K.createElement("span",{className:f.e},be||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),K.createElement("div",{className:f.tags},K.createElement(R.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},K.createElement("span",null,K.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),K.createElement("span",null,J.challenges_count))),!!J.myshixuns_count&&K.createElement(R.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},K.createElement("span",null,K.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),K.createElement("span",null,J.myshixuns_count))),K.createElement(R.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},K.createElement("span",null,K.createElement("span",null,J.level))),K.createElement("div",{className:f.rate},K.createElement(k.Z,{allowHalf:!0,disabled:!0,defaultValue:J.score_info}),K.createElement("span",null,"\xA0",J.score_info?`${J.score_info}\u5206`:"5\u5206")))),!Ye&&K.createElement("div",{className:f.lockWrap},K.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),K.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!zt.length&&K.createElement($.Z,null)))},re=X(10661),ce={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},oe="data:image/png;base64,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",he=X(59301),pe=({className:Nt,dataSource:zt=[],col:Gt=4,right:jt,bottom:En=23,precision:_e=0,wrapWidth:M=1200,trackEventItems:B,loading:I,handleVery:j=()=>!0})=>{const J=Math.floor((M-(Gt-1)*jt)/Gt);return he.createElement(D.Z,{spinning:I},he.createElement("div",{className:y()(ce.list,Nt)},!!zt.length&&zt.map((ye,be)=>{const{subject_identifier:Le,id:Se,identifier:Ye,power:Ge}=ye,Re=ye.is_public!=0&&ye.is_public;return he.createElement("div",{className:ce.wrap,key:Se,style:{width:J,marginRight:(1+be)%Gt===0?0:jt+_e,marginBottom:En}},he.createElement("a",{className:ce.li,onClick:De=>{De.preventDefault(),j(ye==null?void 0:ye.first_category_url)&&(B&&(0,z.L9)([B]),(0,z.xg)(ye.first_category_url))}},he.createElement("div",{className:ce.top},he.createElement(R.Z,{title:ye.name},he.createElement("div",{className:ce.name},ye.name)),he.createElement("img",{className:ce.img,src:W.Z.IMG_SERVER+"/images/"+ye.avatar_url}),he.createElement("div",{className:ce.text,title:ye.creator},ye.creator),Le&&he.createElement("div",{className:ce.btns},he.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),he.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),Re&&he.createElement("div",{className:ce.sign},"\u516C\u5F00")),he.createElement("div",{className:ce.bottom},ye.visits>0&&he.createElement(R.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},he.createElement("span",null,he.createElement("i",{className:"iconfont icon-liulanyan"}),he.createElement("span",null,ye.visits))),ye.course_members_count>0&&he.createElement(R.Z,{title:"\u6210\u5458",placement:"bottom"},he.createElement("span",null,he.createElement("i",{className:"iconfont icon-chengyuan"}),ye.course_members_count)),ye.tasks_count>0&&he.createElement(R.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},he.createElement("span",null,he.createElement("i",{className:"iconfont icon-zuoye"}),ye.tasks_count)),ye.is_end?he.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):he.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!ye.is_accessible&&he.createElement("div",{className:ce.lockWrap},he.createElement("img",{src:`${W.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),he.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!zt.length&&he.createElement($.Z,null)))},me={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},ge=X(25690),Ae=({dataSource:Nt=[],value:zt,onChange:Gt,className:jt,style:En={},tabBarExtraContent:_e})=>K.createElement("div",{className:y()(me.tabs,jt),style:En},K.createElement("div",{className:me.tabsWrap},Nt.map((M,B)=>!(M!=null&&M.hide)&&K.createElement("aside",{className:me.tab,onClick:()=>{Gt(M.id),M.link&&ge.history.push(M.link)},key:B},K.createElement("div",{className:zt===M.id?me.active:""},M.name),(M==null?void 0:M.resetCount)==null&&(M==null?void 0:M.total)!==void 0&&K.createElement("span",null,"\uFF08",M==null?void 0:M.total,"\uFF09"),(M==null?void 0:M.resetCount)!==void 0&&(M==null?void 0:M.total)!==void 0&&K.createElement(R.Z,{title:(M==null?void 0:M.tip)!=null?M==null?void 0:M.tip:""},K.createElement("span",{style:{color:"#9096A3"}},"\uFF08",K.createElement("span",{style:{color:"#000"}},M==null?void 0:M.resetCount),"/",K.createElement("span",null,M==null?void 0:M.total),"\uFF09"))))),K.createElement("div",{className:me.tabBar},_e)),Ue=({className:Nt,style:zt={},children:Gt})=>K.createElement("div",{className:y()(Nt),style:zt},Gt),nt={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},rt=X(75727),qe=X(93041);const dt=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var je=({sortValue:Nt,dropValue:zt,className:Gt,onSort:jt,onDrop:En,dataSource:_e=dt})=>{var M;return K.createElement("div",{className:y()(nt.orderWrap,Gt)},K.createElement(rt.Z,{dropdownRender:()=>K.createElement(qe.default,null,_e.map((B,I)=>K.createElement(qe.default.Item,{key:I,onClick:()=>En(B.id)},B.name)))},K.createElement("span",{className:nt.orderTextWrap},(M=_e.find(B=>zt===B.id))==null?void 0:M.name)),K.createElement("span",{className:nt.orderIconWrap},K.createElement("span",{className:nt.orderAsc},K.createElement("i",{className:Nt==="asc"?`iconfont icon-sanjiaoxing-up font12 ${nt.cursorPointer} ${nt.active}`:`iconfont icon-sanjiaoxing-up font12 ${nt.cursorPointer}`,onClick:()=>jt(Nt==="asc"?"desc":"asc")})),K.createElement("span",{className:nt.orderDesc},K.createElement("i",{className:Nt==="desc"?`iconfont icon-sanjiaoxing-down font12 ${nt.cursorPointer} ${nt.active}`:`iconfont icon-sanjiaoxing-down font12 ${nt.cursorPointer}`,onClick:()=>jt(Nt==="asc"?"desc":"asc")}))))},at={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},it=X(99571),ht=Object.defineProperty,ut=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable,ot=(Nt,zt,Gt)=>zt in Nt?ht(Nt,zt,{enumerable:!0,configurable:!0,writable:!0,value:Gt}):Nt[zt]=Gt,Pe=(Nt,zt)=>{for(var Gt in zt||(zt={}))Mt.call(zt,Gt)&&ot(Nt,Gt,zt[Gt]);if(ut)for(var Gt of ut(zt))Ce.call(zt,Gt)&&ot(Nt,Gt,zt[Gt]);return Nt},Ne=(Nt,zt)=>{var Gt={};for(var jt in Nt)Mt.call(Nt,jt)&&zt.indexOf(jt)<0&&(Gt[jt]=Nt[jt]);if(Nt!=null&&ut)for(var jt of ut(Nt))zt.indexOf(jt)<0&&Ce.call(Nt,jt)&&(Gt[jt]=Nt[jt]);return Gt},We=(Nt,zt,Gt)=>new Promise((jt,En)=>{var _e=I=>{try{B(Gt.next(I))}catch(j){En(j)}},M=I=>{try{B(Gt.throw(I))}catch(j){En(j)}},B=I=>I.done?jt(I.value):Promise.resolve(I.value).then(_e,M);B((Gt=Gt.apply(Nt,zt)).next())}),Ve=Nt=>{var zt=Nt,{className:Gt,style:jt,children:En,loading:_e=!1,openLoading:M,onClick:B=()=>{},size:I="middle",shape:j="round"}=zt,J=Ne(zt,["className","style","children","loading","openLoading","onClick","size","shape"]);const[ye,be]=(0,K.useState)(!1);return K.createElement(it.ZP,Pe({onClick:(0,b.throttle)(Le=>We(void 0,null,function*(){M&&be(!0);try{yield B(Le)}catch(Se){console.log("error",Se)}M&&be(!1)}),2e3,{leading:!0,trailing:!1}),className:y()(at.btn,at[`${I}-${j}`],Gt),style:jt,size:I,shape:j,loading:ye||_e},J),En)},$e={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},pt=({className:Nt,style:zt,children:Gt=null,onClick:jt,title:En})=>K.createElement("div",{className:y()($e.head,Nt),style:zt},K.createElement("span",{className:"primary-hover",onClick:jt},K.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),K.createElement("b",{title:En},En),K.createElement("div",{className:$e.node},Gt)),xt={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},Dt=({confirmShow:Nt=!0,confirmTitle:zt,confirmClick:Gt,cancelShow:jt=!0,cancelTitle:En,cancelClick:_e,className:M,style:B,confirmLoading:I=!1})=>K.createElement("div",{className:y()(xt.btns,M),style:B},Nt&&K.createElement(it.ZP,{loading:I,onClick:Gt,type:"primary",className:xt.confirm},zt),jt&&K.createElement(it.ZP,{onClick:_e,className:xt.cancel},En)),kt={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},Wt=({className:Nt,style:zt={},LeftContent:Gt,children:jt,RightContent:En})=>K.createElement("div",{className:y()(kt.fixedBottom,Nt),style:zt},K.createElement("div",{className:kt.wrap},K.createElement("div",{className:kt.left},Gt),K.createElement("div",{className:kt.center},jt),K.createElement("div",{className:kt.right},En))),Ot={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},vn=({className:Nt,style:zt={},dataSource:Gt=[]})=>K.createElement("div",{className:y()(Ot.crumbs,Nt),style:zt},Gt.map((jt,En)=>En<Gt.length-1?K.createElement(K.Fragment,{key:En},jt.path||jt.onClick?K.createElement("span",{className:Ot.hover,onClick:jt!=null&&jt.onClick?jt.onClick:()=>ge.history.push(jt.path)},jt.name):K.createElement("span",null,jt.name),K.createElement("span",null,"\xA0",">","\xA0")):K.createElement("span",{key:En,style:{color:"#5F6368"}},jt.name))),Jn=X(11938),Fn=Object.defineProperty,qn=Object.defineProperties,br=Object.getOwnPropertyDescriptors,Vn=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,lr=Object.prototype.propertyIsEnumerable,nr=(Nt,zt,Gt)=>zt in Nt?Fn(Nt,zt,{enumerable:!0,configurable:!0,writable:!0,value:Gt}):Nt[zt]=Gt,an=(Nt,zt)=>{for(var Gt in zt||(zt={}))tr.call(zt,Gt)&&nr(Nt,Gt,zt[Gt]);if(Vn)for(var Gt of Vn(zt))lr.call(zt,Gt)&&nr(Nt,Gt,zt[Gt]);return Nt},tn=(Nt,zt)=>qn(Nt,br(zt)),An=(Nt,zt)=>{var Gt={};for(var jt in Nt)tr.call(Nt,jt)&&zt.indexOf(jt)<0&&(Gt[jt]=Nt[jt]);if(Nt!=null&&Vn)for(var jt of Vn(Nt))zt.indexOf(jt)<0&&lr.call(Nt,jt)&&(Gt[jt]=Nt[jt]);return Gt};const{Countdown:wn}=Jn.default;var ir=Nt=>{var zt=Nt,{onChange:Gt}=zt,jt=An(zt,["onChange"]);const[En,_e]=(0,K.useState)(null);(0,K.useEffect)(()=>{typeof En=="number"&&En>=0&&Gt(En)},[En]);const M=B=>{const I=Math.floor(B/1e3);_e(I)};return K.createElement(wn,tn(an({},jt),{onChange:M}))}},70453:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return R}});var K=X(25399),ee=X(59301),G=X(25690),_=X(51257),F=X.p+"static/nltpbg.f01aad4b.png",w=X.p+"static/nltpbg2.303fcb0b.png",x={title:"title___m9Fww",bg:"bg___f9tLu"},y="data:image/png;base64,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",b=X.p+"static/2.3612d2e5.png",E=X.p+"static/3.0ae7bccf.png",g=X.p+"static/4.d75cb058.png",m=X.p+"static/5.89f1948f.png",C=X.p+"static/6.cc2d55ef.png",d=X.p+"static/7.3afb9435.png",v=X.p+"static/8.5401d4a7.png",A=Object.defineProperty,T=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,L=(k,W,z)=>W in k?A(k,W,{enumerable:!0,configurable:!0,writable:!0,value:z}):k[W]=z,c=(k,W)=>{for(var z in W||(W={}))O.call(W,z)&&L(k,z,W[z]);if(T)for(var z of T(W))P.call(W,z)&&L(k,z,W[z]);return k};const f=({DataProps:k=[],baifenbi:W=1,pathsDetail:z,isShow:Z,item:Q,i:te})=>{const $=(0,G.useParams)(),[ie,ae]=(0,ee.useState)(0),re=33,ce=Math.PI/2+te*(Math.PI*2/(k==null?void 0:k.length)),oe=re*Math.cos(ce)/100,he=re*Math.sin(ce)/100;return ee.createElement(K.Z,{color:"#444FC2",title:Z?null:ee.createElement("div",{style:{fontSize:`${14*W}rem`}},ee.createElement("div",null,"\u8986\u76D6",(Q==null?void 0:Q.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(Q==null?void 0:Q.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),ee.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},ee.createElement("div",{className:`flex flex-col item-center justify-center absolute ${Z?"":"current"} ${x.title}`,onClick:()=>{Z||(0,_.xg)(`/knowledgegraph/${$==null?void 0:$.pathId}/abilityMap/detail/${Q==null?void 0:Q.id}${window.location.search}`)},onMouseOver:()=>{Z||ae(2)},onMouseOut:()=>{Z||ae(0)},style:{left:`calc(50% - ${oe*100}%)`,top:`calc(50% - ${he*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+ie)*W}rem`}},ee.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),ee.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*W}rem`,fontWeight:500}},Q==null?void 0:Q.name),!(z!=null&&z.detail.can_managed)&&ee.createElement("div",null,"\u638C\u63E1\u7387 ",Q==null?void 0:Q.grasp_rate," %")))},D=({DataProps:k=[],className:W="",style:z={},baifenbi:Z=1,pathsDetail:Q,isShow:te})=>{const $=(0,ee.useMemo)(()=>{const ie=["",y,b,E,g,m,C,d,v];return ie==null?void 0:ie[(k==null?void 0:k.length)||0]},[k]);return ee.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${W} ${x.bg}`,style:c({backgroundImage:`url(${k!=null&&k.length?w:F})`,backgroundSize:"auto 100%",height:"100%"},z)},((k==null?void 0:k.length)||0)>0&&ee.createElement("img",{className:`absolute ${x.bg}`,src:$,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(k==null?void 0:k.length)?"rotate(90deg)":(k==null?void 0:k.length)==7?"rotate(25deg)":""}`}}),k==null?void 0:k.map((ie,ae)=>ee.createElement(f,{key:ae,i:ae,item:ie,DataProps:k,className:W,style:z,baifenbi:Z,pathsDetail:Q,isShow:te})),ee.createElement("div",{className:"text-center"},ee.createElement("div",{style:{fontSize:`${28*Z}rem`}},"\u80FD\u529B\u76EE\u6807"),ee.createElement("div",{style:{fontSize:`${12*Z}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var R=(0,G.connect)(({pathsDetail:k})=>({pathsDetail:k}))(D)},84989:function(we,Me,X){"use strict";X.d(Me,{BU:function(){return ee},Dj:function(){return K},gH:function(){return G},vp:function(){return _}});function K(F){try{F.mozRequestFullScreen?F.mozRequestFullScreen():F.webkitRequestFullScreen&&F.webkitRequestFullScreen()}catch(w){console.log(w,":e")}}function ee(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const G=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function _(){var F=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,w=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",F),window.isFullScreen?window.isFullScreen:F!=null}},45937:function(we,Me,X){"use strict";X.d(Me,{U:function(){return b}});var K=X(59301),ee=Object.defineProperty,G=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,w=(E,g,m)=>g in E?ee(E,g,{enumerable:!0,configurable:!0,writable:!0,value:m}):E[g]=m,x=(E,g)=>{for(var m in g||(g={}))_.call(g,m)&&w(E,m,g[m]);if(G)for(var m of G(g))F.call(g,m)&&w(E,m,g[m]);return E},y=(E,g,m)=>new Promise((C,d)=>{var v=O=>{try{T(m.next(O))}catch(P){d(P)}},A=O=>{try{T(m.throw(O))}catch(P){d(P)}},T=O=>O.done?C(O.value):Promise.resolve(O.value).then(v,A);T((m=m.apply(E,g)).next())});function b(E,g){const[m,C]=(0,K.useState)(g),[d,v]=(0,K.useState)(!1),[A,T]=(0,K.useState)();return[m,d,(P,L=!1)=>y(this,null,function*(){const c=L?g:x(x({},m),P);v(!0),C(c);const f=yield E(c);return v(!1),T(f),f}),A,T]}},30647:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return En}});class K{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(M,B){return M.__proto__=B,M},Object.assign=Object.assign||function(M){if(M==null)throw new TypeError("Cannot convert undefined or null to object");let B=Object(M);for(let I=1;I<arguments.length;I++){let j=arguments[I];if(j!=null)for(let J in j)j.hasOwnProperty(J)&&(B[J]=j[J])}return B},typeof self.Promise!="function"&&X(3867).polyfill()}}K.install();var ee=K,G=X(86204),_=X.n(G);class F{static e(M,B){(!M||F.FORCE_GLOBAL_TAG)&&(M=F.GLOBAL_TAG);let I=`[${M}] > ${B}`;F.ENABLE_CALLBACK&&F.emitter.emit("log","error",I),F.ENABLE_ERROR&&(console.error?console.error(I):console.warn?console.warn(I):console.log(I))}static i(M,B){(!M||F.FORCE_GLOBAL_TAG)&&(M=F.GLOBAL_TAG);let I=`[${M}] > ${B}`;F.ENABLE_CALLBACK&&F.emitter.emit("log","info",I),F.ENABLE_INFO&&(console.info?console.info(I):console.log(I))}static w(M,B){(!M||F.FORCE_GLOBAL_TAG)&&(M=F.GLOBAL_TAG);let I=`[${M}] > ${B}`;F.ENABLE_CALLBACK&&F.emitter.emit("log","warn",I),F.ENABLE_WARN&&(console.warn?console.warn(I):console.log(I))}static d(M,B){(!M||F.FORCE_GLOBAL_TAG)&&(M=F.GLOBAL_TAG);let I=`[${M}] > ${B}`;F.ENABLE_CALLBACK&&F.emitter.emit("log","debug",I),F.ENABLE_DEBUG&&(console.debug?console.debug(I):console.log(I))}static v(M,B){(!M||F.FORCE_GLOBAL_TAG)&&(M=F.GLOBAL_TAG);let I=`[${M}] > ${B}`;F.ENABLE_CALLBACK&&F.emitter.emit("log","verbose",I),F.ENABLE_VERBOSE&&console.log(I)}}F.GLOBAL_TAG="flv.js",F.FORCE_GLOBAL_TAG=!1,F.ENABLE_ERROR=!0,F.ENABLE_INFO=!0,F.ENABLE_WARN=!0,F.ENABLE_DEBUG=!0,F.ENABLE_VERBOSE=!0,F.ENABLE_CALLBACK=!1,F.emitter=new(_());var w=F;class x{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(M){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=M,this._totalBytes+=M):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=M,this._totalBytes+=M):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=M,this._totalBytes+=M,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let M=(this._now()-this._lastCheckpoint)/1e3;return M==0&&(M=1),this._intervalBytes/M/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let M=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/M/1024}}var y=x;class b{constructor(M){this._message=M}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class E extends b{constructor(M){super(M)}get name(){return"IllegalStateException"}}class g extends b{constructor(M){super(M)}get name(){return"InvalidArgumentException"}}class m extends b{constructor(M){super(M)}get name(){return"NotImplementedException"}}const C={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},d={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class v{constructor(M){this._type=M||"undefined",this._status=C.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=C.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===C.kConnecting||this._status===C.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(M){this._onContentLengthKnown=M}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(M){this._onURLRedirect=M}get onDataArrival(){return this._onDataArrival}set onDataArrival(M){this._onDataArrival=M}get onError(){return this._onError}set onError(M){this._onError=M}get onComplete(){return this._onComplete}set onComplete(M){this._onComplete=M}open(M,B){throw new m("Unimplemented abstract function!")}abort(){throw new m("Unimplemented abstract function!")}}let A={};function T(){let _e=self.navigator.userAgent.toLowerCase(),M=/(edge)\/([\w.]+)/.exec(_e)||/(opr)[\/]([\w.]+)/.exec(_e)||/(chrome)[ \/]([\w.]+)/.exec(_e)||/(iemobile)[\/]([\w.]+)/.exec(_e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(_e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(_e)||/(webkit)[ \/]([\w.]+)/.exec(_e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(_e)||/(msie) ([\w.]+)/.exec(_e)||_e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(_e)||_e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(_e)||[],B=/(ipad)/.exec(_e)||/(ipod)/.exec(_e)||/(windows phone)/.exec(_e)||/(iphone)/.exec(_e)||/(kindle)/.exec(_e)||/(android)/.exec(_e)||/(windows)/.exec(_e)||/(mac)/.exec(_e)||/(linux)/.exec(_e)||/(cros)/.exec(_e)||[],I={browser:M[5]||M[3]||M[1]||"",version:M[2]||M[4]||"0",majorVersion:M[4]||M[2]||"0",platform:B[0]||""},j={};if(I.browser){j[I.browser]=!0;let J=I.majorVersion.split(".");j.version={major:parseInt(I.majorVersion,10),string:I.version},J.length>1&&(j.version.minor=parseInt(J[1],10)),J.length>2&&(j.version.build=parseInt(J[2],10))}if(I.platform&&(j[I.platform]=!0),(j.chrome||j.opr||j.safari)&&(j.webkit=!0),j.rv||j.iemobile){j.rv&&delete j.rv;let J="msie";I.browser=J,j[J]=!0}if(j.edge){delete j.edge;let J="msedge";I.browser=J,j[J]=!0}if(j.opr){let J="opera";I.browser=J,j[J]=!0}if(j.safari&&j.android){let J="android";I.browser=J,j[J]=!0}j.name=I.browser,j.platform=I.platform;for(let J in A)A.hasOwnProperty(J)&&delete A[J];Object.assign(A,j)}T();var O=A;class P extends v{static isSupported(){try{let M=O.msedge&&O.version.minor>=15048,B=O.msedge?M:!0;return self.fetch&&self.ReadableStream&&B}catch(M){return!1}}constructor(M,B){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=M,this._config=B,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(M,B){this._dataSource=M,this._range=B;let I=M.url;this._config.reuseRedirectedURL&&M.redirectedURL!=null&&(I=M.redirectedURL);let j=this._seekHandler.getConfig(I,B),J=new self.Headers;if(typeof j.headers=="object"){let be=j.headers;for(let Le in be)be.hasOwnProperty(Le)&&J.append(Le,be[Le])}let ye={method:"GET",headers:J,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let be in this._config.headers)J.append(be,this._config.headers[be]);M.cors===!1&&(ye.mode="same-origin"),M.withCredentials&&(ye.credentials="include"),M.referrerPolicy&&(ye.referrerPolicy=M.referrerPolicy),this._status=C.kConnecting,self.fetch(j.url,ye).then(be=>{if(this._requestAbort){this._requestAbort=!1,this._status=C.kIdle;return}if(be.ok&&be.status>=200&&be.status<=299){if(be.url!==j.url&&this._onURLRedirect){let Se=this._seekHandler.removeURLParameters(be.url);this._onURLRedirect(Se)}let Le=be.headers.get("Content-Length");return Le!=null&&(this._contentLength=parseInt(Le),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,be.body.getReader())}else if(this._status=C.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:be.status,msg:be.statusText});else throw new b("FetchStreamLoader: Http code invalid, "+be.status+" "+be.statusText)}).catch(be=>{if(this._status=C.kError,this._onError)this._onError(d.EXCEPTION,{code:-1,msg:be.message});else throw be})}abort(){this._requestAbort=!0}_pump(M){return M.read().then(B=>{if(B.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=C.kError;let I=d.EARLY_EOF,j={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(I,j);else throw new b(j.msg)}else this._status=C.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=C.kComplete,M.cancel();this._status=C.kBuffering;let I=B.value.buffer,j=this._range.from+this._receivedLength;this._receivedLength+=I.byteLength,this._onDataArrival&&this._onDataArrival(I,j,this._receivedLength),this._pump(M)}}).catch(B=>{if(B.code===11&&O.msedge)return;this._status=C.kError;let I=0,j=null;if((B.code===19||B.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(I=d.EARLY_EOF,j={code:B.code,msg:"Fetch stream meet Early-EOF"}):(I=d.EXCEPTION,j={code:B.code,msg:B.message}),this._onError)this._onError(I,j);else throw new b(j.msg)})}}var L=P;class c extends v{static isSupported(){try{let M=new XMLHttpRequest;return M.open("GET","https://example.com",!0),M.responseType="moz-chunked-arraybuffer",M.responseType==="moz-chunked-arraybuffer"}catch(M){return w.w("MozChunkedLoader",M.message),!1}}constructor(M,B){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=M,this._config=B,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(M,B){this._dataSource=M,this._range=B;let I=M.url;this._config.reuseRedirectedURL&&M.redirectedURL!=null&&(I=M.redirectedURL);let j=this._seekHandler.getConfig(I,B);this._requestURL=j.url;let J=this._xhr=new XMLHttpRequest;if(J.open("GET",j.url,!0),J.responseType="moz-chunked-arraybuffer",J.onreadystatechange=this._onReadyStateChange.bind(this),J.onprogress=this._onProgress.bind(this),J.onloadend=this._onLoadEnd.bind(this),J.onerror=this._onXhrError.bind(this),M.withCredentials&&(J.withCredentials=!0),typeof j.headers=="object"){let ye=j.headers;for(let be in ye)ye.hasOwnProperty(be)&&J.setRequestHeader(be,ye[be])}if(typeof this._config.headers=="object"){let ye=this._config.headers;for(let be in ye)ye.hasOwnProperty(be)&&J.setRequestHeader(be,ye[be])}this._status=C.kConnecting,J.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=C.kComplete}_onReadyStateChange(M){let B=M.target;if(B.readyState===2){if(B.responseURL!=null&&B.responseURL!==this._requestURL&&this._onURLRedirect){let I=this._seekHandler.removeURLParameters(B.responseURL);this._onURLRedirect(I)}if(B.status!==0&&(B.status<200||B.status>299))if(this._status=C.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new b("MozChunkedLoader: Http code invalid, "+B.status+" "+B.statusText);else this._status=C.kBuffering}}_onProgress(M){if(this._status===C.kError)return;this._contentLength===null&&M.total!==null&&M.total!==0&&(this._contentLength=M.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let B=M.target.response,I=this._range.from+this._receivedLength;this._receivedLength+=B.byteLength,this._onDataArrival&&this._onDataArrival(B,I,this._receivedLength)}_onLoadEnd(M){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===C.kError)return;this._status=C.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(M){this._status=C.kError;let B=0,I=null;if(this._contentLength&&M.loaded<this._contentLength?(B=d.EARLY_EOF,I={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(B=d.EXCEPTION,I={code:-1,msg:M.constructor.name+" "+M.type}),this._onError)this._onError(B,I);else throw new b(I.msg)}}var f=c;class D extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let M=new XMLHttpRequest;return M.open("GET","https://example.com",!0),M.responseType="ms-stream",M.responseType==="ms-stream"}catch(M){return Log.w("MSStreamLoader",M.message),!1}}constructor(M,B){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=M,this._config=B,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(M,B){this._internalOpen(M,B,!1)}_internalOpen(M,B,I){this._dataSource=M,I?this._currentRange=B:this._totalRange=B;let j=M.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?j=this._currentRedirectedURL:M.redirectedURL!=null&&(j=M.redirectedURL));let J=this._seekHandler.getConfig(j,B);this._currentRequestURL=J.url;let ye=this._reader=new self.MSStreamReader;ye.onprogress=this._msrOnProgress.bind(this),ye.onload=this._msrOnLoad.bind(this),ye.onerror=this._msrOnError.bind(this);let be=this._xhr=new XMLHttpRequest;if(be.open("GET",J.url,!0),be.responseType="ms-stream",be.onreadystatechange=this._xhrOnReadyStateChange.bind(this),be.onerror=this._xhrOnError.bind(this),M.withCredentials&&(be.withCredentials=!0),typeof J.headers=="object"){let Le=J.headers;for(let Se in Le)Le.hasOwnProperty(Se)&&be.setRequestHeader(Se,Le[Se])}if(typeof this._config.headers=="object"){let Le=this._config.headers;for(let Se in Le)Le.hasOwnProperty(Se)&&be.setRequestHeader(Se,Le[Se])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,be.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(M){let B=M.target;if(B.readyState===2)if(B.status>=200&&B.status<=299){if(this._status=LoaderStatus.kBuffering,B.responseURL!=null){let j=this._seekHandler.removeURLParameters(B.responseURL);B.responseURL!==this._currentRequestURL&&j!==this._currentRedirectedURL&&(this._currentRedirectedURL=j,this._onURLRedirect&&this._onURLRedirect(j))}let I=B.getResponseHeader("Content-Length");if(I!=null&&this._contentLength==null){let j=parseInt(I);j>0&&(this._contentLength=j,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+B.status+" "+B.statusText);else if(B.readyState===3&&B.status>=200&&B.status<=299){this._status=LoaderStatus.kBuffering;let I=B.response;this._reader.readAsArrayBuffer(I)}}_xhrOnError(M){this._status=LoaderStatus.kError;let B=LoaderErrors.EXCEPTION,I={code:-1,msg:M.constructor.name+" "+M.type};if(this._onError)this._onError(B,I);else throw new RuntimeException(I.msg)}_msrOnProgress(M){let I=M.target.result;if(I==null){this._doReconnectIfNeeded();return}let j=I.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=I.byteLength;let J=this._totalRange.from+this._receivedLength;this._receivedLength+=j.byteLength,this._onDataArrival&&this._onDataArrival(j,J,this._receivedLength),I.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${J+j.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let M={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,M,!0)}}_msrOnLoad(M){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(M){this._status=LoaderStatus.kError;let B=0,I=null;if(this._contentLength&&this._receivedLength<this._contentLength?(B=LoaderErrors.EARLY_EOF,I={code:-1,msg:"MSStream meet Early-Eof"}):(B=LoaderErrors.EARLY_EOF,I={code:-1,msg:M.constructor.name+" "+M.type}),this._onError)this._onError(B,I);else throw new RuntimeException(I.msg)}}var R=null;class k extends v{static isSupported(){try{let M=new XMLHttpRequest;return M.open("GET","https://example.com",!0),M.responseType="arraybuffer",M.responseType==="arraybuffer"}catch(M){return w.w("RangeLoader",M.message),!1}}constructor(M,B){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=M,this._config=B,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new y,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(M,B){this._dataSource=M,this._range=B,this._status=C.kConnecting;let I=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(I=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!I?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let M=this._currentChunkSizeKB*1024,B=this._range.from+this._receivedLength,I=B+M;this._contentLength!=null&&I-this._range.from>=this._contentLength&&(I=this._range.from+this._contentLength-1),this._currentRequestRange={from:B,to:I},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(M,B){this._lastTimeLoaded=0;let I=M.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?I=this._currentRedirectedURL:M.redirectedURL!=null&&(I=M.redirectedURL));let j=this._seekHandler.getConfig(I,B);this._currentRequestURL=j.url;let J=this._xhr=new XMLHttpRequest;if(J.open("GET",j.url,!0),J.responseType="arraybuffer",J.onreadystatechange=this._onReadyStateChange.bind(this),J.onprogress=this._onProgress.bind(this),J.onload=this._onLoad.bind(this),J.onerror=this._onXhrError.bind(this),M.withCredentials&&(J.withCredentials=!0),typeof j.headers=="object"){let ye=j.headers;for(let be in ye)ye.hasOwnProperty(be)&&J.setRequestHeader(be,ye[be])}if(typeof this._config.headers=="object"){let ye=this._config.headers;for(let be in ye)ye.hasOwnProperty(be)&&J.setRequestHeader(be,ye[be])}J.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=C.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(M){let B=M.target;if(B.readyState===2){if(B.responseURL!=null){let I=this._seekHandler.removeURLParameters(B.responseURL);B.responseURL!==this._currentRequestURL&&I!==this._currentRedirectedURL&&(this._currentRedirectedURL=I,this._onURLRedirect&&this._onURLRedirect(I))}if(B.status>=200&&B.status<=299){if(this._waitForTotalLength)return;this._status=C.kBuffering}else if(this._status=C.kError,this._onError)this._onError(d.HTTP_STATUS_CODE_INVALID,{code:B.status,msg:B.statusText});else throw new b("RangeLoader: Http code invalid, "+B.status+" "+B.statusText)}}_onProgress(M){if(this._status===C.kError)return;if(this._contentLength===null){let I=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,I=!0;let j=M.total;this._internalAbort(),j!=null&j!==0&&(this._totalLength=j)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,I){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let B=M.loaded-this._lastTimeLoaded;this._lastTimeLoaded=M.loaded,this._speedSampler.addBytes(B)}_normalizeSpeed(M){let B=this._chunkSizeKBList,I=B.length-1,j=0,J=0,ye=I;if(M<B[0])return B[0];for(;J<=ye;){if(j=J+Math.floor((ye-J)/2),j===I||M>=B[j]&&M<B[j+1])return B[j];B[j]<M?J=j+1:ye=j-1}}_onLoad(M){if(this._status===C.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let B=this._speedSampler.lastSecondKBps;if(B===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(B=this._speedSampler.currentKBps)),B!==0){let ye=this._normalizeSpeed(B);this._currentSpeedNormalized!==ye&&(this._currentSpeedNormalized=ye,this._currentChunkSizeKB=ye)}let I=M.target.response,j=this._range.from+this._receivedLength;this._receivedLength+=I.byteLength;let J=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():J=!0,this._onDataArrival&&this._onDataArrival(I,j,this._receivedLength),J&&(this._status=C.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(M){this._status=C.kError;let B=0,I=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(B=d.EARLY_EOF,I={code:-1,msg:"RangeLoader meet Early-Eof"}):(B=d.EXCEPTION,I={code:-1,msg:M.constructor.name+" "+M.type}),this._onError)this._onError(B,I);else throw new b(I.msg)}}var W=k;class z extends v{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(M){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(M){try{let B=this._ws=new self.WebSocket(M.url);B.binaryType="arraybuffer",B.onopen=this._onWebSocketOpen.bind(this),B.onclose=this._onWebSocketClose.bind(this),B.onmessage=this._onWebSocketMessage.bind(this),B.onerror=this._onWebSocketError.bind(this),this._status=C.kConnecting}catch(B){this._status=C.kError;let I={code:B.code,msg:B.message};if(this._onError)this._onError(d.EXCEPTION,I);else throw new b(I.msg)}}abort(){let M=this._ws;M&&(M.readyState===0||M.readyState===1)&&(this._requestAbort=!0,M.close()),this._ws=null,this._status=C.kComplete}_onWebSocketOpen(M){this._status=C.kBuffering}_onWebSocketClose(M){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=C.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(M){if(M.data instanceof ArrayBuffer)this._dispatchArrayBuffer(M.data);else if(M.data instanceof Blob){let B=new FileReader;B.onload=()=>{this._dispatchArrayBuffer(B.result)},B.readAsArrayBuffer(M.data)}else{this._status=C.kError;let B={code:-1,msg:"Unsupported WebSocket message type: "+M.data.constructor.name};if(this._onError)this._onError(d.EXCEPTION,B);else throw new b(B.msg)}}_dispatchArrayBuffer(M){let B=M,I=this._receivedLength;this._receivedLength+=B.byteLength,this._onDataArrival&&this._onDataArrival(B,I,this._receivedLength)}_onWebSocketError(M){this._status=C.kError;let B={code:M.code,msg:M.message};if(this._onError)this._onError(d.EXCEPTION,B);else throw new b(B.msg)}}var Z=z;class Q{constructor(M){this._zeroStart=M||!1}getConfig(M,B){let I={};if(B.from!==0||B.to!==-1){let j;B.to!==-1?j=`bytes=${B.from.toString()}-${B.to.toString()}`:j=`bytes=${B.from.toString()}-`,I.Range=j}else this._zeroStart&&(I.Range="bytes=0-");return{url:M,headers:I}}removeURLParameters(M){return M}}var te=Q;class ${constructor(M,B){this._startName=M,this._endName=B}getConfig(M,B){let I=M;if(B.from!==0||B.to!==-1){let j=!0;I.indexOf("?")===-1&&(I+="?",j=!1),j&&(I+="&"),I+=`${this._startName}=${B.from.toString()}`,B.to!==-1&&(I+=`&${this._endName}=${B.to.toString()}`)}return{url:I,headers:{}}}removeURLParameters(M){let B=M.split("?")[0],I,j=M.indexOf("?");j!==-1&&(I=M.substring(j+1));let J="";if(I!=null&&I.length>0){let ye=I.split("&");for(let be=0;be<ye.length;be++){let Le=ye[be].split("="),Se=be>0;Le[0]!==this._startName&&Le[0]!==this._endName&&(Se&&(J+="&"),J+=ye[be])}}return J.length===0?B:B+"?"+J}}var ie=$;class ae{constructor(M,B,I){this.TAG="IOController",this._config=B,this._extraData=I,this._stashInitialSize=1024*384,B.stashInitialSize!=null&&B.stashInitialSize>0&&(this._stashInitialSize=B.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,B.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=M,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(M.url),this._refTotalLength=M.filesize?M.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new y,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(M){this._extraData=M}get onDataArrival(){return this._onDataArrival}set onDataArrival(M){this._onDataArrival=M}get onSeeked(){return this._onSeeked}set onSeeked(M){this._onSeeked=M}get onError(){return this._onError}set onError(M){this._onError=M}get onComplete(){return this._onComplete}set onComplete(M){this._onComplete=M}get onRedirect(){return this._onRedirect}set onRedirect(M){this._onRedirect=M}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(M){this._onRecoveredEarlyEof=M}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===W?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let M=this._config;if(M.seekType==="range")this._seekHandler=new te(this._config.rangeLoadZeroStart);else if(M.seekType==="param"){let B=M.seekParamStart||"bstart",I=M.seekParamEnd||"bend";this._seekHandler=new ie(B,I)}else if(M.seekType==="custom"){if(typeof M.customSeekHandler!="function")throw new g("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new M.customSeekHandler}else throw new g(`Invalid seekType in config: ${M.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=Z;else if(L.isSupported())this._loaderClass=L;else if(f.isSupported())this._loaderClass=f;else if(W.isSupported())this._loaderClass=W;else throw new b("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(M){this._currentRange={from:0,to:-1},M&&(this._currentRange.from=M),this._speedSampler.reset(),M||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let M=this._resumeFrom;this._resumeFrom=0,this._internalSeek(M,!0)}}seek(M){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(M,!0)}_internalSeek(M,B){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(B),this._loader.destroy(),this._loader=null;let I={from:M,to:-1};this._currentRange={from:I.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,I),this._onSeeked&&this._onSeeked()}updateUrl(M){if(!M||typeof M!="string"||M.length===0)throw new g("Url must be a non-empty string!");this._dataSource.url=M}_expandBuffer(M){let B=this._stashSize;for(;B+1024*1024*1<M;)B*=2;if(B+=1024*1024*1,B===this._bufferSize)return;let I=new ArrayBuffer(B);if(this._stashUsed>0){let j=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(I,0,B).set(j,0)}this._stashBuffer=I,this._bufferSize=B}_normalizeSpeed(M){let B=this._speedNormalizeList,I=B.length-1,j=0,J=0,ye=I;if(M<B[0])return B[0];for(;J<=ye;){if(j=J+Math.floor((ye-J)/2),j===I||M>=B[j]&&M<B[j+1])return B[j];B[j]<M?J=j+1:ye=j-1}}_adjustStashSize(M){let B=0;this._config.isLive||M<512?B=M:M>=512&&M<=1024?B=Math.floor(M*1.5):B=M*2,B>8192&&(B=8192);let I=B*1024+1024*1024*1;this._bufferSize<I&&this._expandBuffer(I),this._stashSize=B*1024}_dispatchChunks(M,B){return this._currentRange.to=B+M.byteLength-1,this._onDataArrival(M,B)}_onURLRedirect(M){this._redirectedURL=M,this._onRedirect&&this._onRedirect(M)}_onContentLengthKnown(M){M&&this._fullRequestFlag&&(this._totalLength=M,this._fullRequestFlag=!1)}_onLoaderChunkArrival(M,B,I){if(!this._onDataArrival)throw new E("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(M.byteLength);let j=this._speedSampler.lastSecondKBps;if(j!==0){let J=this._normalizeSpeed(j);this._speedNormalized!==J&&(this._speedNormalized=J,this._adjustStashSize(J))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=B),this._stashUsed+M.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(M),this._stashUsed),this._stashUsed+=M.byteLength;else{let J=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let ye=this._stashBuffer.slice(0,this._stashUsed),be=this._dispatchChunks(ye,this._stashByteStart);if(be<ye.byteLength){if(be>0){let Le=new Uint8Array(ye,be);J.set(Le,0),this._stashUsed=Le.byteLength,this._stashByteStart+=be}}else this._stashUsed=0,this._stashByteStart+=be;this._stashUsed+M.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+M.byteLength),J=new Uint8Array(this._stashBuffer,0,this._bufferSize)),J.set(new Uint8Array(M),this._stashUsed),this._stashUsed+=M.byteLength}else{let ye=this._dispatchChunks(M,B);if(ye<M.byteLength){let be=M.byteLength-ye;be>this._bufferSize&&(this._expandBuffer(be),J=new Uint8Array(this._stashBuffer,0,this._bufferSize)),J.set(new Uint8Array(M,ye),0),this._stashUsed+=be,this._stashByteStart=B+ye}}}else if(this._stashUsed===0){let J=this._dispatchChunks(M,B);if(J<M.byteLength){let ye=M.byteLength-J;ye>this._bufferSize&&this._expandBuffer(ye),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(M,J),0),this._stashUsed+=ye,this._stashByteStart=B+J}}else{this._stashUsed+M.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+M.byteLength);let J=new Uint8Array(this._stashBuffer,0,this._bufferSize);J.set(new Uint8Array(M),this._stashUsed),this._stashUsed+=M.byteLength;let ye=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(ye<this._stashUsed&&ye>0){let be=new Uint8Array(this._stashBuffer,ye);J.set(be,0)}this._stashUsed-=ye,this._stashByteStart+=ye}}_flushStashBuffer(M){if(this._stashUsed>0){let B=this._stashBuffer.slice(0,this._stashUsed),I=this._dispatchChunks(B,this._stashByteStart),j=B.byteLength-I;if(I<B.byteLength)if(M)w.w(this.TAG,`${j} bytes unconsumed data remain when flush buffer, dropped`);else{if(I>0){let J=new Uint8Array(this._stashBuffer,0,this._bufferSize),ye=new Uint8Array(B,I);J.set(ye,0),this._stashUsed=ye.byteLength,this._stashByteStart+=I}return 0}return this._stashUsed=0,this._stashByteStart=0,j}return 0}_onLoaderComplete(M,B){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(M,B){switch(w.e(this.TAG,`Loader error, code = ${B.code}, msg = ${B.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,M=d.UNRECOVERABLE_EARLY_EOF),M){case d.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let I=this._currentRange.to+1;I<this._totalLength&&(w.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(I,!1));return}M=d.UNRECOVERABLE_EARLY_EOF;break}case d.UNRECOVERABLE_EARLY_EOF:case d.CONNECTING_TIMEOUT:case d.HTTP_STATUS_CODE_INVALID:case d.EXCEPTION:break}if(this._onError)this._onError(M,B);else throw new b("IOException: "+B.msg)}}var re=ae;const ce={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function oe(){return Object.assign({},ce)}class he{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let M=new re({},oe()),B=M.loaderType;return M.destroy(),B=="fetch-stream-loader"||B=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let M=new re({},oe()),B=M.loaderType;return M.destroy(),B}static supportNativeMediaPlayback(M){he.videoElement==null&&(he.videoElement=window.document.createElement("video"));let B=he.videoElement.canPlayType(M);return B==="probably"||B=="maybe"}static getFeatureList(){let M={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return M.mseFlvPlayback=he.supportMSEH264Playback(),M.networkStreamIO=he.supportNetworkStreamIO(),M.networkLoaderName=he.getNetworkLoaderTypeName(),M.mseLiveFlvPlayback=M.mseFlvPlayback&&M.networkStreamIO,M.nativeMP4H264Playback=he.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),M.nativeWebmVP8Playback=he.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),M.nativeWebmVP9Playback=he.supportNativeMediaPlayback('video/webm; codecs="vp9"'),M}}var se=he,me={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class ge{static get forceGlobalTag(){return w.FORCE_GLOBAL_TAG}static set forceGlobalTag(M){w.FORCE_GLOBAL_TAG=M,ge._notifyChange()}static get globalTag(){return w.GLOBAL_TAG}static set globalTag(M){w.GLOBAL_TAG=M,ge._notifyChange()}static get enableAll(){return w.ENABLE_VERBOSE&&w.ENABLE_DEBUG&&w.ENABLE_INFO&&w.ENABLE_WARN&&w.ENABLE_ERROR}static set enableAll(M){w.ENABLE_VERBOSE=M,w.ENABLE_DEBUG=M,w.ENABLE_INFO=M,w.ENABLE_WARN=M,w.ENABLE_ERROR=M,ge._notifyChange()}static get enableDebug(){return w.ENABLE_DEBUG}static set enableDebug(M){w.ENABLE_DEBUG=M,ge._notifyChange()}static get enableVerbose(){return w.ENABLE_VERBOSE}static set enableVerbose(M){w.ENABLE_VERBOSE=M,ge._notifyChange()}static get enableInfo(){return w.ENABLE_INFO}static set enableInfo(M){w.ENABLE_INFO=M,ge._notifyChange()}static get enableWarn(){return w.ENABLE_WARN}static set enableWarn(M){w.ENABLE_WARN=M,ge._notifyChange()}static get enableError(){return w.ENABLE_ERROR}static set enableError(M){w.ENABLE_ERROR=M,ge._notifyChange()}static getConfig(){return{globalTag:w.GLOBAL_TAG,forceGlobalTag:w.FORCE_GLOBAL_TAG,enableVerbose:w.ENABLE_VERBOSE,enableDebug:w.ENABLE_DEBUG,enableInfo:w.ENABLE_INFO,enableWarn:w.ENABLE_WARN,enableError:w.ENABLE_ERROR,enableCallback:w.ENABLE_CALLBACK}}static applyConfig(M){w.GLOBAL_TAG=M.globalTag,w.FORCE_GLOBAL_TAG=M.forceGlobalTag,w.ENABLE_VERBOSE=M.enableVerbose,w.ENABLE_DEBUG=M.enableDebug,w.ENABLE_INFO=M.enableInfo,w.ENABLE_WARN=M.enableWarn,w.ENABLE_ERROR=M.enableError,w.ENABLE_CALLBACK=M.enableCallback}static _notifyChange(){let M=ge.emitter;if(M.listenerCount("change")>0){let B=ge.getConfig();M.emit("change",B)}}static registerListener(M){ge.emitter.addListener("change",M)}static removeListener(M){ge.emitter.removeListener("change",M)}static addLogListener(M){w.emitter.addListener("log",M),w.emitter.listenerCount("log")>0&&(w.ENABLE_CALLBACK=!0,ge._notifyChange())}static removeLogListener(M){w.emitter.removeListener("log",M),w.emitter.listenerCount("log")===0&&(w.ENABLE_CALLBACK=!1,ge._notifyChange())}}ge.emitter=new(_());var Ee=ge;class Ae{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let M=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,B=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&M&&B}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(M){if(this.keyframesIndex==null)return null;let B=this.keyframesIndex,I=this._search(B.times,M);return{index:I,milliseconds:B.times[I],fileposition:B.filepositions[I]}}_search(M,B){let I=0,j=M.length-1,J=0,ye=0,be=j;for(B<M[0]&&(I=0,ye=be+1);ye<=be;)if(J=ye+Math.floor((be-ye)/2),J===j||B>=M[J]&&B<M[J+1]){I=J;break}else M[J]<B?ye=J+1:be=J-1;return I}}var Fe=Ae;function Ue(_e,M,B){let I=_e;if(M+B<I.length){for(;B--;)if((I[++M]&192)!==128)return!1;return!0}else return!1}function nt(_e){let M=[],B=_e,I=0,j=_e.length;for(;I<j;){if(B[I]<128){M.push(String.fromCharCode(B[I])),++I;continue}else if(!(B[I]<192)){if(B[I]<224){if(Ue(B,I,1)){let J=(B[I]&31)<<6|B[I+1]&63;if(J>=128){M.push(String.fromCharCode(J&65535)),I+=2;continue}}}else if(B[I]<240){if(Ue(B,I,2)){let J=(B[I]&15)<<12|(B[I+1]&63)<<6|B[I+2]&63;if(J>=2048&&(J&63488)!==55296){M.push(String.fromCharCode(J&65535)),I+=3;continue}}}else if(B[I]<248&&Ue(B,I,3)){let J=(B[I]&7)<<18|(B[I+1]&63)<<12|(B[I+2]&63)<<6|B[I+3]&63;if(J>65536&&J<1114112){J-=65536,M.push(String.fromCharCode(J>>>10|55296)),M.push(String.fromCharCode(J&1023|56320)),I+=4;continue}}}M.push("\uFFFD"),++I}return M.join("")}var rt=nt;let qe=function(){let _e=new ArrayBuffer(2);return new DataView(_e).setInt16(0,256,!0),new Int16Array(_e)[0]===256}();class dt{static parseScriptData(M,B,I){let j={};try{let J=dt.parseValue(M,B,I),ye=dt.parseValue(M,B+J.size,I-J.size);j[J.data]=ye.data}catch(J){w.e("AMF",J.toString())}return j}static parseObject(M,B,I){if(I<3)throw new E("Data not enough when parse ScriptDataObject");let j=dt.parseString(M,B,I),J=dt.parseValue(M,B+j.size,I-j.size),ye=J.objectEnd;return{data:{name:j.data,value:J.data},size:j.size+J.size,objectEnd:ye}}static parseVariable(M,B,I){return dt.parseObject(M,B,I)}static parseString(M,B,I){if(I<2)throw new E("Data not enough when parse String");let J=new DataView(M,B,I).getUint16(0,!qe),ye;return J>0?ye=rt(new Uint8Array(M,B+2,J)):ye="",{data:ye,size:2+J}}static parseLongString(M,B,I){if(I<4)throw new E("Data not enough when parse LongString");let J=new DataView(M,B,I).getUint32(0,!qe),ye;return J>0?ye=rt(new Uint8Array(M,B+4,J)):ye="",{data:ye,size:4+J}}static parseDate(M,B,I){if(I<10)throw new E("Data size invalid when parse Date");let j=new DataView(M,B,I),J=j.getFloat64(0,!qe),ye=j.getInt16(8,!qe);return J+=ye*60*1e3,{data:new Date(J),size:10}}static parseValue(M,B,I){if(I<1)throw new E("Data not enough when parse Value");let j=new DataView(M,B,I),J=1,ye=j.getUint8(0),be,Le=!1;try{switch(ye){case 0:be=j.getFloat64(1,!qe),J+=8;break;case 1:{be=!!j.getUint8(1),J+=1;break}case 2:{let Se=dt.parseString(M,B+1,I-1);be=Se.data,J+=Se.size;break}case 3:{be={};let Se=0;for((j.getUint32(I-4,!qe)&16777215)===9&&(Se=3);J<I-4;){let Ye=dt.parseObject(M,B+J,I-J-Se);if(Ye.objectEnd)break;be[Ye.data.name]=Ye.data.value,J+=Ye.size}J<=I-3&&(j.getUint32(J-1,!qe)&16777215)===9&&(J+=3);break}case 8:{be={},J+=4;let Se=0;for((j.getUint32(I-4,!qe)&16777215)===9&&(Se=3);J<I-8;){let Ye=dt.parseVariable(M,B+J,I-J-Se);if(Ye.objectEnd)break;be[Ye.data.name]=Ye.data.value,J+=Ye.size}J<=I-3&&(j.getUint32(J-1,!qe)&16777215)===9&&(J+=3);break}case 9:be=void 0,J=1,Le=!0;break;case 10:{be=[];let Se=j.getUint32(1,!qe);J+=4;for(let Ye=0;Ye<Se;Ye++){let Ge=dt.parseValue(M,B+J,I-J);be.push(Ge.data),J+=Ge.size}break}case 11:{let Se=dt.parseDate(M,B+1,I-1);be=Se.data,J+=Se.size;break}case 12:{let Se=dt.parseString(M,B+1,I-1);be=Se.data,J+=Se.size;break}default:J=I,w.w("AMF","Unsupported AMF value type "+ye)}}catch(Se){w.e("AMF",Se.toString())}return{data:be,size:J,objectEnd:Le}}}var yt=dt;class je{constructor(M){this.TAG="ExpGolomb",this._buffer=M,this._buffer_index=0,this._total_bytes=M.byteLength,this._total_bits=M.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let M=this._total_bytes-this._buffer_index;if(M<=0)throw new E("ExpGolomb: _fillCurrentWord() but no bytes available");let B=Math.min(4,M),I=new Uint8Array(4);I.set(this._buffer.subarray(this._buffer_index,this._buffer_index+B)),this._current_word=new DataView(I.buffer).getUint32(0,!1),this._buffer_index+=B,this._current_word_bits_left=B*8}readBits(M){if(M>32)throw new g("ExpGolomb: readBits() bits exceeded max 32bits!");if(M<=this._current_word_bits_left){let ye=this._current_word>>>32-M;return this._current_word<<=M,this._current_word_bits_left-=M,ye}let B=this._current_word_bits_left?this._current_word:0;B=B>>>32-this._current_word_bits_left;let I=M-this._current_word_bits_left;this._fillCurrentWord();let j=Math.min(I,this._current_word_bits_left),J=this._current_word>>>32-j;return this._current_word<<=j,this._current_word_bits_left-=j,B=B<<j|J,B}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let M;for(M=0;M<this._current_word_bits_left;M++)if(this._current_word&2147483648>>>M)return this._current_word<<=M,this._current_word_bits_left-=M,M;return this._fillCurrentWord(),M+this._skipLeadingZero()}readUEG(){let M=this._skipLeadingZero();return this.readBits(M+1)-1}readSEG(){let M=this.readUEG();return M&1?M+1>>>1:-1*(M>>>1)}}var at=je;class it{static _ebsp2rbsp(M){let B=M,I=B.byteLength,j=new Uint8Array(I),J=0;for(let ye=0;ye<I;ye++)ye>=2&&B[ye]===3&&B[ye-1]===0&&B[ye-2]===0||(j[J]=B[ye],J++);return new Uint8Array(j.buffer,0,J)}static parseSPS(M){let B=it._ebsp2rbsp(M),I=new at(B);I.readByte();let j=I.readByte();I.readByte();let J=I.readByte();I.readUEG();let ye=it.getProfileString(j),be=it.getLevelString(J),Le=1,Se=420,Ye=[0,420,422,444],Ge=8;if((j===100||j===110||j===122||j===244||j===44||j===83||j===86||j===118||j===128||j===138||j===144)&&(Le=I.readUEG(),Le===3&&I.readBits(1),Le<=3&&(Se=Ye[Le]),Ge=I.readUEG()+8,I.readUEG(),I.readBits(1),I.readBool())){let dn=Le!==3?8:12;for(let gn=0;gn<dn;gn++)I.readBool()&&(gn<6?it._skipScalingList(I,16):it._skipScalingList(I,64))}I.readUEG();let Re=I.readUEG();if(Re===0)I.readUEG();else if(Re===1){I.readBits(1),I.readSEG(),I.readSEG();let dn=I.readUEG();for(let gn=0;gn<dn;gn++)I.readSEG()}let De=I.readUEG();I.readBits(1);let Ke=I.readUEG(),He=I.readUEG(),Je=I.readBits(1);Je===0&&I.readBits(1),I.readBits(1);let ke=0,Ze=0,tt=0,mt=0;I.readBool()&&(ke=I.readUEG(),Ze=I.readUEG(),tt=I.readUEG(),mt=I.readUEG());let It=1,vt=1,Rt=0,Bt=!0,Qe=0,gt=0;if(I.readBool()){if(I.readBool()){let dn=I.readByte(),gn=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Mn=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];dn>0&&dn<16?(It=gn[dn-1],vt=Mn[dn-1]):dn===255&&(It=I.readByte()<<8|I.readByte(),vt=I.readByte()<<8|I.readByte())}if(I.readBool()&&I.readBool(),I.readBool()&&(I.readBits(4),I.readBool()&&I.readBits(24)),I.readBool()&&(I.readUEG(),I.readUEG()),I.readBool()){let dn=I.readBits(32),gn=I.readBits(32);Bt=I.readBool(),Qe=gn,gt=dn*2,Rt=Qe/gt}}let St=1;(It!==1||vt!==1)&&(St=It/vt);let on=0,ln=0;if(Le===0)on=1,ln=2-Je;else{let dn=Le===3?1:2,gn=Le===1?2:1;on=dn,ln=gn*(2-Je)}let Zt=(Ke+1)*16,Jt=(2-Je)*((He+1)*16);Zt-=(ke+Ze)*on,Jt-=(tt+mt)*ln;let Xt=Math.ceil(Zt*St);return I.destroy(),I=null,{profile_string:ye,level_string:be,bit_depth:Ge,ref_frames:De,chroma_format:Se,chroma_format_string:it.getChromaFormatString(Se),frame_rate:{fixed:Bt,fps:Rt,fps_den:gt,fps_num:Qe},sar_ratio:{width:It,height:vt},codec_size:{width:Zt,height:Jt},present_size:{width:Xt,height:Jt}}}static _skipScalingList(M,B){let I=8,j=8,J=0;for(let ye=0;ye<B;ye++)j!==0&&(J=M.readSEG(),j=(I+J+256)%256),I=j===0?I:j}static getProfileString(M){switch(M){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(M){return(M/10).toFixed(1)}static getChromaFormatString(M){switch(M){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var ht=it,Mt={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function Ce(_e){return _e>>>8&255|(_e&255)<<8}function ot(_e){return(_e&4278190080)>>>24|(_e&16711680)>>>8|(_e&65280)<<8|(_e&255)<<24}function Pe(_e,M){return _e[M]<<24|_e[M+1]<<16|_e[M+2]<<8|_e[M+3]}class Ne{constructor(M,B){this.TAG="FLVDemuxer",this._config=B,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=M.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=M.hasAudioTrack,this._hasVideo=M.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Fe,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let I=new ArrayBuffer(2);return new DataView(I).setInt16(0,256,!0),new Int16Array(I)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(M){let B=new Uint8Array(M),I={match:!1};if(B[0]!==70||B[1]!==76||B[2]!==86||B[3]!==1)return I;let j=(B[4]&4)>>>2!==0,J=(B[4]&1)!==0,ye=Pe(B,5);return ye<9?I:{match:!0,consumed:ye,dataOffset:ye,hasAudioTrack:j,hasVideoTrack:J}}bindDataSource(M){return M.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(M){this._onTrackMetadata=M}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(M){this._onMediaInfo=M}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(M){this._onMetaDataArrived=M}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(M){this._onScriptDataArrived=M}get onError(){return this._onError}set onError(M){this._onError=M}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(M){this._onDataAvailable=M}get timestampBase(){return this._timestampBase}set timestampBase(M){this._timestampBase=M}get overridedDuration(){return this._duration}set overridedDuration(M){this._durationOverrided=!0,this._duration=M,this._mediaInfo.duration=M}set overridedHasAudio(M){this._hasAudioFlagOverrided=!0,this._hasAudio=M,this._mediaInfo.hasAudio=M}set overridedHasVideo(M){this._hasVideoFlagOverrided=!0,this._hasVideo=M,this._mediaInfo.hasVideo=M}resetMediaInfo(){this._mediaInfo=new Fe}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(M,B){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new E("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let I=0,j=this._littleEndian;if(B===0)if(M.byteLength>13)I=Ne.probe(M).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,B+I!==this._dataOffset&&w.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(M,I).getUint32(0,!j)!==0&&w.w(this.TAG,"PrevTagSize0 !== 0 !!!"),I+=4);I<M.byteLength;){this._dispatch=!0;let J=new DataView(M,I);if(I+11+4>M.byteLength)break;let ye=J.getUint8(0),be=J.getUint32(0,!j)&16777215;if(I+11+be+4>M.byteLength)break;if(ye!==8&&ye!==9&&ye!==18){w.w(this.TAG,`Unsupported tag type ${ye}, skipped`),I+=11+be+4;continue}let Le=J.getUint8(4),Se=J.getUint8(5),Ye=J.getUint8(6),Ge=J.getUint8(7),Re=Ye|Se<<8|Le<<16|Ge<<24;(J.getUint32(7,!j)&16777215)!==0&&w.w(this.TAG,"Meet tag which has StreamID != 0!");let Ke=I+11;switch(ye){case 8:this._parseAudioData(M,Ke,be,Re);break;case 9:this._parseVideoData(M,Ke,be,Re,B+I);break;case 18:this._parseScriptData(M,Ke,be);break}let He=J.getUint32(11+be,!j);He!==11+be&&w.w(this.TAG,`Invalid PrevTagSize ${He}`),I+=11+be+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),I}_parseScriptData(M,B,I){let j=yt.parseScriptData(M,B,I);if(j.hasOwnProperty("onMetaData")){if(j.onMetaData==null||typeof j.onMetaData!="object"){w.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&w.w(this.TAG,"Found another onMetaData tag!"),this._metadata=j;let J=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},J)),typeof J.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=J.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof J.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=J.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof J.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=J.audiodatarate),typeof J.videodatarate=="number"&&(this._mediaInfo.videoDataRate=J.videodatarate),typeof J.width=="number"&&(this._mediaInfo.width=J.width),typeof J.height=="number"&&(this._mediaInfo.height=J.height),typeof J.duration=="number"){if(!this._durationOverrided){let ye=Math.floor(J.duration*this._timescale);this._duration=ye,this._mediaInfo.duration=ye}}else this._mediaInfo.duration=0;if(typeof J.framerate=="number"){let ye=Math.floor(J.framerate*1e3);if(ye>0){let be=ye/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=be,this._referenceFrameRate.fps_num=ye,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=be}}if(typeof J.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let ye=J.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(ye),J.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=J,w.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(j).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},j))}_parseKeyframesIndex(M){let B=[],I=[];for(let j=1;j<M.times.length;j++){let J=this._timestampBase+Math.floor(M.times[j]*1e3);B.push(J),I.push(M.filepositions[j])}return{times:B,filepositions:I}}_parseAudioData(M,B,I,j){if(I<=1){w.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let J=this._littleEndian,be=new DataView(M,B,I).getUint8(0),Le=be>>>4;if(Le!==2&&Le!==10){this._onError(Mt.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+Le);return}let Se=0,Ye=(be&12)>>>2;if(Ye>=0&&Ye<=4)Se=this._flvSoundRateTable[Ye];else{this._onError(Mt.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Ye);return}let Ge=(be&2)>>>1,Re=be&1,De=this._audioMetadata,Ke=this._audioTrack;if(De||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),De=this._audioMetadata={},De.type="audio",De.id=Ke.id,De.timescale=this._timescale,De.duration=this._duration,De.audioSampleRate=Se,De.channelCount=Re===0?1:2),Le===10){let He=this._parseAACAudioData(M,B+1,I-1);if(He==null)return;if(He.packetType===0){De.config&&w.w(this.TAG,"Found another AudioSpecificConfig!");let Je=He.data;De.audioSampleRate=Je.samplingRate,De.channelCount=Je.channelCount,De.codec=Je.codec,De.originalCodec=Je.originalCodec,De.config=Je.config,De.refSampleDuration=1024/De.audioSampleRate*De.timescale,w.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",De);let ke=this._mediaInfo;ke.audioCodec=De.originalCodec,ke.audioSampleRate=De.audioSampleRate,ke.audioChannelCount=De.channelCount,ke.hasVideo?ke.videoCodec!=null&&(ke.mimeType='video/x-flv; codecs="'+ke.videoCodec+","+ke.audioCodec+'"'):ke.mimeType='video/x-flv; codecs="'+ke.audioCodec+'"',ke.isComplete()&&this._onMediaInfo(ke)}else if(He.packetType===1){let Je=this._timestampBase+j,ke={unit:He.data,length:He.data.byteLength,dts:Je,pts:Je};Ke.samples.push(ke),Ke.length+=He.data.length}else w.e(this.TAG,`Flv: Unsupported AAC data type ${He.packetType}`)}else if(Le===2){if(!De.codec){let Ze=this._parseMP3AudioData(M,B+1,I-1,!0);if(Ze==null)return;De.audioSampleRate=Ze.samplingRate,De.channelCount=Ze.channelCount,De.codec=Ze.codec,De.originalCodec=Ze.originalCodec,De.refSampleDuration=1152/De.audioSampleRate*De.timescale,w.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",De);let tt=this._mediaInfo;tt.audioCodec=De.codec,tt.audioSampleRate=De.audioSampleRate,tt.audioChannelCount=De.channelCount,tt.audioDataRate=Ze.bitRate,tt.hasVideo?tt.videoCodec!=null&&(tt.mimeType='video/x-flv; codecs="'+tt.videoCodec+","+tt.audioCodec+'"'):tt.mimeType='video/x-flv; codecs="'+tt.audioCodec+'"',tt.isComplete()&&this._onMediaInfo(tt)}let He=this._parseMP3AudioData(M,B+1,I-1,!1);if(He==null)return;let Je=this._timestampBase+j,ke={unit:He,length:He.byteLength,dts:Je,pts:Je};Ke.samples.push(ke),Ke.length+=He.length}}_parseAACAudioData(M,B,I){if(I<=1){w.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let j={},J=new Uint8Array(M,B,I);return j.packetType=J[0],J[0]===0?j.data=this._parseAACAudioSpecificConfig(M,B+1,I-1):j.data=J.subarray(1),j}_parseAACAudioSpecificConfig(M,B,I){let j=new Uint8Array(M,B,I),J=null,ye=0,be=0,Le=null,Se=0,Ye=null;if(ye=be=j[0]>>>3,Se=(j[0]&7)<<1|j[1]>>>7,Se<0||Se>=this._mpegSamplingRates.length){this._onError(Mt.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let Ge=this._mpegSamplingRates[Se],Re=(j[1]&120)>>>3;if(Re<0||Re>=8){this._onError(Mt.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}ye===5&&(Ye=(j[1]&7)<<1|j[2]>>>7,Le=(j[2]&124)>>>2);let De=self.navigator.userAgent.toLowerCase();return De.indexOf("firefox")!==-1?Se>=6?(ye=5,J=new Array(4),Ye=Se-3):(ye=2,J=new Array(2),Ye=Se):De.indexOf("android")!==-1?(ye=2,J=new Array(2),Ye=Se):(ye=5,Ye=Se,J=new Array(4),Se>=6?Ye=Se-3:Re===1&&(ye=2,J=new Array(2),Ye=Se)),J[0]=ye<<3,J[0]|=(Se&15)>>>1,J[1]=(Se&15)<<7,J[1]|=(Re&15)<<3,ye===5&&(J[1]|=(Ye&15)>>>1,J[2]=(Ye&1)<<7,J[2]|=8,J[3]=0),{config:J,samplingRate:Ge,channelCount:Re,codec:"mp4a.40."+ye,originalCodec:"mp4a.40."+be}}_parseMP3AudioData(M,B,I,j){if(I<4){w.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let J=this._littleEndian,ye=new Uint8Array(M,B,I),be=null;if(j){if(ye[0]!==255)return;let Le=ye[1]>>>3&3,Se=(ye[1]&6)>>1,Ye=(ye[2]&240)>>>4,Ge=(ye[2]&12)>>>2,De=(ye[3]>>>6&3)!==3?2:1,Ke=0,He=0,Je=34,ke="mp3";switch(Le){case 0:Ke=this._mpegAudioV25SampleRateTable[Ge];break;case 2:Ke=this._mpegAudioV20SampleRateTable[Ge];break;case 3:Ke=this._mpegAudioV10SampleRateTable[Ge];break}switch(Se){case 1:Je=34,Ye<this._mpegAudioL3BitRateTable.length&&(He=this._mpegAudioL3BitRateTable[Ye]);break;case 2:Je=33,Ye<this._mpegAudioL2BitRateTable.length&&(He=this._mpegAudioL2BitRateTable[Ye]);break;case 3:Je=32,Ye<this._mpegAudioL1BitRateTable.length&&(He=this._mpegAudioL1BitRateTable[Ye]);break}be={bitRate:He,samplingRate:Ke,channelCount:De,codec:ke,originalCodec:ke}}else be=ye;return be}_parseVideoData(M,B,I,j,J){if(I<=1){w.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let ye=new Uint8Array(M,B,I)[0],be=(ye&240)>>>4,Le=ye&15;if(Le!==7){this._onError(Mt.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${Le}`);return}this._parseAVCVideoPacket(M,B+1,I-1,j,J,be)}_parseAVCVideoPacket(M,B,I,j,J,ye){if(I<4){w.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let be=this._littleEndian,Le=new DataView(M,B,I),Se=Le.getUint8(0),Ge=(Le.getUint32(0,!be)&16777215)<<8>>8;if(Se===0)this._parseAVCDecoderConfigurationRecord(M,B+4,I-4);else if(Se===1)this._parseAVCVideoData(M,B+4,I-4,j,J,ye,Ge);else if(Se!==2){this._onError(Mt.FORMAT_ERROR,`Flv: Invalid video packet type ${Se}`);return}}_parseAVCDecoderConfigurationRecord(M,B,I){if(I<7){w.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let j=this._videoMetadata,J=this._videoTrack,ye=this._littleEndian,be=new DataView(M,B,I);j?typeof j.avcc!="undefined"&&w.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),j=this._videoMetadata={},j.type="video",j.id=J.id,j.timescale=this._timescale,j.duration=this._duration);let Le=be.getUint8(0),Se=be.getUint8(1),Ye=be.getUint8(2),Ge=be.getUint8(3);if(Le!==1||Se===0){this._onError(Mt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(be.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(Mt.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Re=be.getUint8(5)&31;if(Re===0){this._onError(Mt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Re>1&&w.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Re}`);let De=6;for(let He=0;He<Re;He++){let Je=be.getUint16(De,!ye);if(De+=2,Je===0)continue;let ke=new Uint8Array(M,B+De,Je);De+=Je;let Ze=ht.parseSPS(ke);if(He!==0)continue;j.codecWidth=Ze.codec_size.width,j.codecHeight=Ze.codec_size.height,j.presentWidth=Ze.present_size.width,j.presentHeight=Ze.present_size.height,j.profile=Ze.profile_string,j.level=Ze.level_string,j.bitDepth=Ze.bit_depth,j.chromaFormat=Ze.chroma_format,j.sarRatio=Ze.sar_ratio,j.frameRate=Ze.frame_rate,(Ze.frame_rate.fixed===!1||Ze.frame_rate.fps_num===0||Ze.frame_rate.fps_den===0)&&(j.frameRate=this._referenceFrameRate);let tt=j.frameRate.fps_den,mt=j.frameRate.fps_num;j.refSampleDuration=j.timescale*(tt/mt);let Tt=ke.subarray(1,4),It="avc1.";for(let Rt=0;Rt<3;Rt++){let Bt=Tt[Rt].toString(16);Bt.length<2&&(Bt="0"+Bt),It+=Bt}j.codec=It;let vt=this._mediaInfo;vt.width=j.codecWidth,vt.height=j.codecHeight,vt.fps=j.frameRate.fps,vt.profile=j.profile,vt.level=j.level,vt.refFrames=Ze.ref_frames,vt.chromaFormat=Ze.chroma_format_string,vt.sarNum=j.sarRatio.width,vt.sarDen=j.sarRatio.height,vt.videoCodec=It,vt.hasAudio?vt.audioCodec!=null&&(vt.mimeType='video/x-flv; codecs="'+vt.videoCodec+","+vt.audioCodec+'"'):vt.mimeType='video/x-flv; codecs="'+vt.videoCodec+'"',vt.isComplete()&&this._onMediaInfo(vt)}let Ke=be.getUint8(De);if(Ke===0){this._onError(Mt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else Ke>1&&w.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${Ke}`);De++;for(let He=0;He<Ke;He++){let Je=be.getUint16(De,!ye);De+=2,Je!==0&&(De+=Je)}j.avcc=new Uint8Array(I),j.avcc.set(new Uint8Array(M,B,I),0),w.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",j)}_parseAVCVideoData(M,B,I,j,J,ye,be){let Le=this._littleEndian,Se=new DataView(M,B,I),Ye=[],Ge=0,Re=0;const De=this._naluLengthSize;let Ke=this._timestampBase+j,He=ye===1;for(;Re<I;){if(Re+4>=I){w.w(this.TAG,`Malformed Nalu near timestamp ${Ke}, offset = ${Re}, dataSize = ${I}`);break}let Je=Se.getUint32(Re,!Le);if(De===3&&(Je>>>=8),Je>I-De){w.w(this.TAG,`Malformed Nalus near timestamp ${Ke}, NaluSize > DataSize!`);return}let ke=Se.getUint8(Re+De)&31;ke===5&&(He=!0);let Ze=new Uint8Array(M,B+Re,De+Je),tt={type:ke,data:Ze};Ye.push(tt),Ge+=Ze.byteLength,Re+=De+Je}if(Ye.length){let Je=this._videoTrack,ke={units:Ye,length:Ge,isKeyframe:He,dts:Ke,cts:be,pts:Ke+be};He&&(ke.fileposition=J),Je.samples.push(ke),Je.length+=Ge}}}var We=Ne;class Be{static init(){Be.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let B in Be.types)Be.types.hasOwnProperty(B)&&(Be.types[B]=[B.charCodeAt(0),B.charCodeAt(1),B.charCodeAt(2),B.charCodeAt(3)]);let M=Be.constants={};M.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),M.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),M.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),M.STSC=M.STCO=M.STTS,M.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),M.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),M.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),M.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),M.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),M.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(M){let B=8,I=null,j=Array.prototype.slice.call(arguments,1),J=j.length;for(let be=0;be<J;be++)B+=j[be].byteLength;I=new Uint8Array(B),I[0]=B>>>24&255,I[1]=B>>>16&255,I[2]=B>>>8&255,I[3]=B&255,I.set(M,4);let ye=8;for(let be=0;be<J;be++)I.set(j[be],ye),ye+=j[be].byteLength;return I}static generateInitSegment(M){let B=Be.box(Be.types.ftyp,Be.constants.FTYP),I=Be.moov(M),j=new Uint8Array(B.byteLength+I.byteLength);return j.set(B,0),j.set(I,B.byteLength),j}static moov(M){let B=Be.mvhd(M.timescale,M.duration),I=Be.trak(M),j=Be.mvex(M);return Be.box(Be.types.moov,B,I,j)}static mvhd(M,B){return Be.box(Be.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,M>>>24&255,M>>>16&255,M>>>8&255,M&255,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(M){return Be.box(Be.types.trak,Be.tkhd(M),Be.mdia(M))}static tkhd(M){let B=M.id,I=M.duration,j=M.presentWidth,J=M.presentHeight;return Be.box(Be.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,0,0,0,I>>>24&255,I>>>16&255,I>>>8&255,I&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,j>>>8&255,j&255,0,0,J>>>8&255,J&255,0,0]))}static mdia(M){return Be.box(Be.types.mdia,Be.mdhd(M),Be.hdlr(M),Be.minf(M))}static mdhd(M){let B=M.timescale,I=M.duration;return Be.box(Be.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,I>>>24&255,I>>>16&255,I>>>8&255,I&255,85,196,0,0]))}static hdlr(M){let B=null;return M.type==="audio"?B=Be.constants.HDLR_AUDIO:B=Be.constants.HDLR_VIDEO,Be.box(Be.types.hdlr,B)}static minf(M){let B=null;return M.type==="audio"?B=Be.box(Be.types.smhd,Be.constants.SMHD):B=Be.box(Be.types.vmhd,Be.constants.VMHD),Be.box(Be.types.minf,B,Be.dinf(),Be.stbl(M))}static dinf(){return Be.box(Be.types.dinf,Be.box(Be.types.dref,Be.constants.DREF))}static stbl(M){return Be.box(Be.types.stbl,Be.stsd(M),Be.box(Be.types.stts,Be.constants.STTS),Be.box(Be.types.stsc,Be.constants.STSC),Be.box(Be.types.stsz,Be.constants.STSZ),Be.box(Be.types.stco,Be.constants.STCO))}static stsd(M){return M.type==="audio"?M.codec==="mp3"?Be.box(Be.types.stsd,Be.constants.STSD_PREFIX,Be.mp3(M)):Be.box(Be.types.stsd,Be.constants.STSD_PREFIX,Be.mp4a(M)):Be.box(Be.types.stsd,Be.constants.STSD_PREFIX,Be.avc1(M))}static mp3(M){let B=M.channelCount,I=M.audioSampleRate,j=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,B,0,16,0,0,0,0,I>>>8&255,I&255,0,0]);return Be.box(Be.types[".mp3"],j)}static mp4a(M){let B=M.channelCount,I=M.audioSampleRate,j=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,B,0,16,0,0,0,0,I>>>8&255,I&255,0,0]);return Be.box(Be.types.mp4a,j,Be.esds(M))}static esds(M){let B=M.config||[],I=B.length,j=new Uint8Array([0,0,0,0,3,23+I,0,1,0,4,15+I,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([I]).concat(B).concat([6,1,2]));return Be.box(Be.types.esds,j)}static avc1(M){let B=M.avcc,I=M.codecWidth,j=M.codecHeight,J=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,I>>>8&255,I&255,j>>>8&255,j&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Be.box(Be.types.avc1,J,Be.box(Be.types.avcC,B))}static mvex(M){return Be.box(Be.types.mvex,Be.trex(M))}static trex(M){let B=M.id,I=new Uint8Array([0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Be.box(Be.types.trex,I)}static moof(M,B){return Be.box(Be.types.moof,Be.mfhd(M.sequenceNumber),Be.traf(M,B))}static mfhd(M){let B=new Uint8Array([0,0,0,0,M>>>24&255,M>>>16&255,M>>>8&255,M&255]);return Be.box(Be.types.mfhd,B)}static traf(M,B){let I=M.id,j=Be.box(Be.types.tfhd,new Uint8Array([0,0,0,0,I>>>24&255,I>>>16&255,I>>>8&255,I&255])),J=Be.box(Be.types.tfdt,new Uint8Array([0,0,0,0,B>>>24&255,B>>>16&255,B>>>8&255,B&255])),ye=Be.sdtp(M),be=Be.trun(M,ye.byteLength+16+16+8+16+8+8);return Be.box(Be.types.traf,j,J,be,ye)}static sdtp(M){let B=M.samples||[],I=B.length,j=new Uint8Array(4+I);for(let J=0;J<I;J++){let ye=B[J].flags;j[J+4]=ye.isLeading<<6|ye.dependsOn<<4|ye.isDependedOn<<2|ye.hasRedundancy}return Be.box(Be.types.sdtp,j)}static trun(M,B){let I=M.samples||[],j=I.length,J=12+16*j,ye=new Uint8Array(J);B+=8+J,ye.set([0,0,15,1,j>>>24&255,j>>>16&255,j>>>8&255,j&255,B>>>24&255,B>>>16&255,B>>>8&255,B&255],0);for(let be=0;be<j;be++){let Le=I[be].duration,Se=I[be].size,Ye=I[be].flags,Ge=I[be].cts;ye.set([Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255,Se>>>24&255,Se>>>16&255,Se>>>8&255,Se&255,Ye.isLeading<<2|Ye.dependsOn,Ye.isDependedOn<<6|Ye.hasRedundancy<<4|Ye.isNonSync,0,0,Ge>>>24&255,Ge>>>16&255,Ge>>>8&255,Ge&255],12+16*be)}return Be.box(Be.types.trun,ye)}static mdat(M){return Be.box(Be.types.mdat,M)}}Be.init();var Ve=Be;class $e{static getSilentFrame(M,B){if(M==="mp4a.40.2"){if(B===1)return new Uint8Array([0,200,0,128,35,128]);if(B===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(B===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(B===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(B===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(B===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(B===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(B===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(B===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var lt=$e;class pt{constructor(M,B,I,j,J){this.dts=M,this.pts=B,this.duration=I,this.originalDts=j,this.isSyncPoint=J,this.fileposition=null}}class xt{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(M){M.isSyncPoint=!0,this.syncPoints.push(M)}}class wt{constructor(){this._list=[]}clear(){this._list=[]}appendArray(M){let B=this._list;M.length!==0&&(B.length>0&&M[0].originalDts<B[B.length-1].originalDts&&this.clear(),Array.prototype.push.apply(B,M))}getLastSyncPointBeforeDts(M){if(this._list.length==0)return null;let B=this._list,I=0,j=B.length-1,J=0,ye=0,be=j;for(M<B[0].dts&&(I=0,ye=be+1);ye<=be;)if(J=ye+Math.floor((be-ye)/2),J===j||M>=B[J].dts&&M<B[J+1].dts){I=J;break}else B[J].dts<M?ye=J+1:be=J-1;return this._list[I]}}class Dt{constructor(M){this._type=M,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(M){let B=this._list;if(B.length===0)return-2;let I=B.length-1,j=0,J=0,ye=I,be=0;if(M<B[0].originalBeginDts)return be=-1,be;for(;J<=ye;)if(j=J+Math.floor((ye-J)/2),j===I||M>B[j].lastSample.originalDts&&M<B[j+1].originalBeginDts){be=j;break}else B[j].originalBeginDts<M?J=j+1:ye=j-1;return be}_searchNearestSegmentAfter(M){return this._searchNearestSegmentBefore(M)+1}append(M){let B=this._list,I=M,j=this._lastAppendLocation,J=0;j!==-1&&j<B.length&&I.originalBeginDts>=B[j].lastSample.originalDts&&(j===B.length-1||j<B.length-1&&I.originalBeginDts<B[j+1].originalBeginDts)?J=j+1:B.length>0&&(J=this._searchNearestSegmentBefore(I.originalBeginDts)+1),this._lastAppendLocation=J,this._list.splice(J,0,I)}getLastSegmentBefore(M){let B=this._searchNearestSegmentBefore(M);return B>=0?this._list[B]:null}getLastSampleBefore(M){let B=this.getLastSegmentBefore(M);return B!=null?B.lastSample:null}getLastSyncPointBefore(M){let B=this._searchNearestSegmentBefore(M),I=this._list[B].syncPoints;for(;I.length===0&&B>0;)B--,I=this._list[B].syncPoints;return I.length>0?I[I.length-1]:null}}class kt{constructor(M){this.TAG="MP4Remuxer",this._config=M,this._isLive=M.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new Dt("audio"),this._videoSegmentInfoList=new Dt("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(O.chrome&&(O.version.major<50||O.version.major===50&&O.version.build<2661)),this._fillSilentAfterSeek=O.msedge||O.msie,this._mp3UseMpegAudio=!O.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(M){return M.onDataAvailable=this.remux.bind(this),M.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(M){this._onInitSegment=M}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(M){this._onMediaSegment=M}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(M){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(M,B){if(!this._onMediaSegment)throw new E("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(M,B),this._remuxVideo(B),this._remuxAudio(M)}_onTrackMetadataReceived(M,B){let I=null,j="mp4",J=B.codec;if(M==="audio")this._audioMeta=B,B.codec==="mp3"&&this._mp3UseMpegAudio?(j="mpeg",J="",I=new Uint8Array):I=Ve.generateInitSegment(B);else if(M==="video")this._videoMeta=B,I=Ve.generateInitSegment(B);else return;if(!this._onInitSegment)throw new E("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(M,{type:M,data:I.buffer,codec:J,container:`${M}/${j}`,mediaDuration:B.duration})}_calculateDtsBase(M,B){this._dtsBaseInited||(M.samples&&M.samples.length&&(this._audioDtsBase=M.samples[0].dts),B.samples&&B.samples.length&&(this._videoDtsBase=B.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let M=this._videoStashedLastSample,B=this._audioStashedLastSample,I={type:"video",id:1,sequenceNumber:0,samples:[],length:0};M!=null&&(I.samples.push(M),I.length=M.length);let j={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};B!=null&&(j.samples.push(B),j.length=B.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(I,!0),this._remuxAudio(j,!0)}_remuxAudio(M,B){if(this._audioMeta==null)return;let I=M,j=I.samples,J,ye=-1,be=-1,Le=-1,Se=this._audioMeta.refSampleDuration,Ye=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,Ge=this._dtsBaseInited&&this._audioNextDts===void 0,Re=!1;if(!j||j.length===0||j.length===1&&!B)return;let De=0,Ke=null,He=0;Ye?(De=0,He=I.length):(De=8,He=8+I.length);let Je=null;if(j.length>1&&(Je=j.pop(),He-=Je.length),this._audioStashedLastSample!=null){let vt=this._audioStashedLastSample;this._audioStashedLastSample=null,j.unshift(vt),He+=vt.length}Je!=null&&(this._audioStashedLastSample=Je);let ke=j[0].dts-this._dtsBase;if(this._audioNextDts)J=ke-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())J=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Re=!0);else{let vt=this._audioSegmentInfoList.getLastSampleBefore(ke);if(vt!=null){let Rt=ke-(vt.originalDts+vt.duration);Rt<=3&&(Rt=0);let Bt=vt.dts+vt.duration+Rt;J=ke-Bt}else J=0}if(Re){let vt=ke-J,Rt=this._videoSegmentInfoList.getLastSegmentBefore(ke);if(Rt!=null&&Rt.beginDts<vt){let Bt=lt.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(Bt){let Qe=Rt.beginDts,gt=vt-Rt.beginDts;w.v(this.TAG,`InsertPrefixSilentAudio: dts: ${Qe}, duration: ${gt}`),j.unshift({unit:Bt,dts:Qe,pts:Qe}),He+=Bt.byteLength}}else Re=!1}let Ze=[];for(let vt=0;vt<j.length;vt++){let Rt=j[vt],Bt=Rt.unit,Qe=Rt.dts-this._dtsBase,gt=Qe-J;ye===-1&&(ye=gt);let Pt=0;vt!==j.length-1?Pt=j[vt+1].dts-this._dtsBase-J-gt:Je!=null?Pt=Je.dts-this._dtsBase-J-gt:Ze.length>=1?Pt=Ze[Ze.length-1].duration:Pt=Math.floor(Se);let St=!1,on=null;if(Pt>Se*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!O.safari){St=!0;let ln=Math.abs(Pt-Se),Zt=Math.ceil(ln/Se),Jt=gt+Se;w.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: ${gt+Pt} ms, expected: ${gt+Math.round(Se)} ms, delta: ${Math.round(ln)} ms, generate: ${Zt} frames`);let Xt=lt.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);Xt==null&&(w.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),Xt=Bt),on=[];for(let gn=0;gn<Zt;gn++){let Mn=Math.round(Jt);if(on.length>0){let pn=on[on.length-1];pn.duration=Mn-pn.dts}let Hn={dts:Mn,pts:Mn,cts:0,unit:Xt,size:Xt.byteLength,duration:0,originalDts:Qe,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};on.push(Hn),He+=Hn.size,Jt+=Se}let dn=on[on.length-1];dn.duration=gt+Pt-dn.dts,Pt=Math.round(Se)}Ze.push({dts:gt,pts:gt,cts:0,unit:Rt.unit,size:Rt.unit.byteLength,duration:Pt,originalDts:Qe,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),St&&Ze.push.apply(Ze,on)}Ye?Ke=new Uint8Array(He):(Ke=new Uint8Array(He),Ke[0]=He>>>24&255,Ke[1]=He>>>16&255,Ke[2]=He>>>8&255,Ke[3]=He&255,Ke.set(Ve.types.mdat,4));for(let vt=0;vt<Ze.length;vt++){let Rt=Ze[vt].unit;Ke.set(Rt,De),De+=Rt.byteLength}let tt=Ze[Ze.length-1];be=tt.dts+tt.duration,this._audioNextDts=be;let mt=new xt;mt.beginDts=ye,mt.endDts=be,mt.beginPts=ye,mt.endPts=be,mt.originalBeginDts=Ze[0].originalDts,mt.originalEndDts=tt.originalDts+tt.duration,mt.firstSample=new pt(Ze[0].dts,Ze[0].pts,Ze[0].duration,Ze[0].originalDts,!1),mt.lastSample=new pt(tt.dts,tt.pts,tt.duration,tt.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(mt),I.samples=Ze,I.sequenceNumber++;let Tt=null;Ye?Tt=new Uint8Array:Tt=Ve.moof(I,ye),I.samples=[],I.length=0;let It={type:"audio",data:this._mergeBoxes(Tt,Ke).buffer,sampleCount:Ze.length,info:mt};Ye&&Ge&&(It.timestampOffset=ye),this._onMediaSegment("audio",It)}_remuxVideo(M,B){if(this._videoMeta==null)return;let I=M,j=I.samples,J,ye=-1,be=-1,Le=-1,Se=-1;if(!j||j.length===0||j.length===1&&!B)return;let Ye=8,Ge=null,Re=8+M.length,De=null;if(j.length>1&&(De=j.pop(),Re-=De.length),this._videoStashedLastSample!=null){let tt=this._videoStashedLastSample;this._videoStashedLastSample=null,j.unshift(tt),Re+=tt.length}De!=null&&(this._videoStashedLastSample=De);let Ke=j[0].dts-this._dtsBase;if(this._videoNextDts)J=Ke-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())J=0;else{let tt=this._videoSegmentInfoList.getLastSampleBefore(Ke);if(tt!=null){let mt=Ke-(tt.originalDts+tt.duration);mt<=3&&(mt=0);let Tt=tt.dts+tt.duration+mt;J=Ke-Tt}else J=0}let He=new xt,Je=[];for(let tt=0;tt<j.length;tt++){let mt=j[tt],Tt=mt.dts-this._dtsBase,It=mt.isKeyframe,vt=Tt-J,Rt=mt.cts,Bt=vt+Rt;ye===-1&&(ye=vt,Le=Bt);let Qe=0;if(tt!==j.length-1?Qe=j[tt+1].dts-this._dtsBase-J-vt:De!=null?Qe=De.dts-this._dtsBase-J-vt:Je.length>=1?Qe=Je[Je.length-1].duration:Qe=Math.floor(this._videoMeta.refSampleDuration),It){let gt=new pt(vt,Bt,Qe,mt.dts,!0);gt.fileposition=mt.fileposition,He.appendSyncPoint(gt)}Je.push({dts:vt,pts:Bt,cts:Rt,units:mt.units,size:mt.length,isKeyframe:It,duration:Qe,originalDts:Tt,flags:{isLeading:0,dependsOn:It?2:1,isDependedOn:It?1:0,hasRedundancy:0,isNonSync:It?0:1}})}Ge=new Uint8Array(Re),Ge[0]=Re>>>24&255,Ge[1]=Re>>>16&255,Ge[2]=Re>>>8&255,Ge[3]=Re&255,Ge.set(Ve.types.mdat,4);for(let tt=0;tt<Je.length;tt++){let mt=Je[tt].units;for(;mt.length;){let It=mt.shift().data;Ge.set(It,Ye),Ye+=It.byteLength}}let ke=Je[Je.length-1];if(be=ke.dts+ke.duration,Se=ke.pts+ke.duration,this._videoNextDts=be,He.beginDts=ye,He.endDts=be,He.beginPts=Le,He.endPts=Se,He.originalBeginDts=Je[0].originalDts,He.originalEndDts=ke.originalDts+ke.duration,He.firstSample=new pt(Je[0].dts,Je[0].pts,Je[0].duration,Je[0].originalDts,Je[0].isKeyframe),He.lastSample=new pt(ke.dts,ke.pts,ke.duration,ke.originalDts,ke.isKeyframe),this._isLive||this._videoSegmentInfoList.append(He),I.samples=Je,I.sequenceNumber++,this._forceFirstIDR){let tt=Je[0].flags;tt.dependsOn=2,tt.isNonSync=0}let Ze=Ve.moof(I,ye);I.samples=[],I.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(Ze,Ge).buffer,sampleCount:Je.length,info:He})}_mergeBoxes(M,B){let I=new Uint8Array(M.byteLength+B.byteLength);return I.set(M,0),I.set(B,M.byteLength),I}}var Yt=kt,Ot={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class en{constructor(M,B){this.TAG="TransmuxingController",this._emitter=new(_()),this._config=B,M.segments||(M.segments=[{duration:M.duration,filesize:M.filesize,url:M.url}]),typeof M.cors!="boolean"&&(M.cors=!0),typeof M.withCredentials!="boolean"&&(M.withCredentials=!1),this._mediaDataSource=M,this._currentSegmentIndex=0;let I=0;this._mediaDataSource.segments.forEach(j=>{j.timestampBase=I,I+=j.duration,j.cors=M.cors,j.withCredentials=M.withCredentials,B.referrerPolicy&&(j.referrerPolicy=B.referrerPolicy)}),!isNaN(I)&&this._mediaDataSource.duration!==I&&(this._mediaDataSource.duration=I),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(M,B){this._emitter.addListener(M,B)}off(M,B){this._emitter.removeListener(M,B)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(M,B){this._currentSegmentIndex=M;let I=this._mediaDataSource.segments[M],j=this._ioctl=new re(I,this._config,M);j.onError=this._onIOException.bind(this),j.onSeeked=this._onIOSeeked.bind(this),j.onComplete=this._onIOComplete.bind(this),j.onRedirect=this._onIORedirect.bind(this),j.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),B?this._demuxer.bindDataSource(this._ioctl):j.onDataArrival=this._onInitChunkArrival.bind(this),j.open(B)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(M){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let B=this._searchSegmentIndexContains(M);if(B===this._currentSegmentIndex){let I=this._mediaInfo.segments[B];if(I==null)this._pendingSeekTime=M;else{let j=I.getNearestKeyframe(M);this._remuxer.seek(j.milliseconds),this._ioctl.seek(j.fileposition),this._pendingResolveSeekPoint=j.milliseconds}}else{let I=this._mediaInfo.segments[B];if(I==null)this._pendingSeekTime=M,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(B);else{let j=I.getNearestKeyframe(M);this._internalAbort(),this._remuxer.seek(M),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[B].timestampBase,this._loadSegment(B,j.fileposition),this._pendingResolveSeekPoint=j.milliseconds,this._reportSegmentMediaInfo(B)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(M){let B=this._mediaDataSource.segments,I=B.length-1;for(let j=0;j<B.length;j++)if(M<B[j].timestampBase){I=j-1;break}return I}_onInitChunkArrival(M,B){let I=null,j=0;if(B>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,j=this._demuxer.parseChunks(M,B);else if((I=We.probe(M)).match){this._demuxer=new We(I,this._config),this._remuxer||(this._remuxer=new Yt(this._config));let J=this._mediaDataSource;J.duration!=null&&!isNaN(J.duration)&&(this._demuxer.overridedDuration=J.duration),typeof J.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=J.hasAudio),typeof J.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=J.hasVideo),this._demuxer.timestampBase=J.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),j=this._demuxer.parseChunks(M,B)}else I=null,w.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(Ot.DEMUX_ERROR,Mt.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),j=0;return j}_onMediaInfo(M){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},M),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Fe.prototype));let B=Object.assign({},M);Object.setPrototypeOf(B,Fe.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=B,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let I=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(I)})}_onMetaDataArrived(M){this._emitter.emit(Ot.METADATA_ARRIVED,M)}_onScriptDataArrived(M){this._emitter.emit(Ot.SCRIPTDATA_ARRIVED,M)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(M){let I=M+1;I<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(I)):(this._remuxer.flushStashedSamples(),this._emitter.emit(Ot.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(M){let B=this._ioctl.extraData;this._mediaDataSource.segments[B].redirectedURL=M}_onIORecoveredEarlyEof(){this._emitter.emit(Ot.RECOVERED_EARLY_EOF)}_onIOException(M,B){w.e(this.TAG,`IOException: type = ${M}, code = ${B.code}, msg = ${B.msg}`),this._emitter.emit(Ot.IO_ERROR,M,B),this._disableStatisticsReporter()}_onDemuxException(M,B){w.e(this.TAG,`DemuxException: type = ${M}, info = ${B}`),this._emitter.emit(Ot.DEMUX_ERROR,M,B)}_onRemuxerInitSegmentArrival(M,B){this._emitter.emit(Ot.INIT_SEGMENT,M,B)}_onRemuxerMediaSegmentArrival(M,B){if(this._pendingSeekTime==null&&(this._emitter.emit(Ot.MEDIA_SEGMENT,M,B),this._pendingResolveSeekPoint!=null&&M==="video")){let I=B.info.syncPoints,j=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,O.safari&&I.length>0&&I[0].originalDts===j&&(j=I[0].pts),this._emitter.emit(Ot.RECOMMEND_SEEKPOINT,j)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(M){let B=this._mediaInfo.segments[M],I=Object.assign({},B);I.duration=this._mediaInfo.duration,I.segmentCount=this._mediaInfo.segmentCount,delete I.segments,delete I.keyframesIndex,this._emitter.emit(Ot.MEDIA_INFO,I)}_reportStatisticsInfo(){let M={};M.url=this._ioctl.currentURL,M.hasRedirect=this._ioctl.hasRedirect,M.hasRedirect&&(M.redirectedURL=this._ioctl.currentRedirectedURL),M.speed=this._ioctl.currentSpeed,M.loaderType=this._ioctl.loaderType,M.currentSegmentIndex=this._currentSegmentIndex,M.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(Ot.STATISTICS_INFO,M)}}var vn=en,Fn=function(_e){let M="TransmuxingWorker",B=null,I=He.bind(this);ee.install(),_e.addEventListener("message",function(Je){switch(Je.data.cmd){case"init":B=new vn(Je.data.param[0],Je.data.param[1]),B.on(Ot.IO_ERROR,Re.bind(this)),B.on(Ot.DEMUX_ERROR,De.bind(this)),B.on(Ot.INIT_SEGMENT,j.bind(this)),B.on(Ot.MEDIA_SEGMENT,J.bind(this)),B.on(Ot.LOADING_COMPLETE,ye.bind(this)),B.on(Ot.RECOVERED_EARLY_EOF,be.bind(this)),B.on(Ot.MEDIA_INFO,Le.bind(this)),B.on(Ot.METADATA_ARRIVED,Se.bind(this)),B.on(Ot.SCRIPTDATA_ARRIVED,Ye.bind(this)),B.on(Ot.STATISTICS_INFO,Ge.bind(this)),B.on(Ot.RECOMMEND_SEEKPOINT,Ke.bind(this));break;case"destroy":B&&(B.destroy(),B=null),_e.postMessage({msg:"destroyed"});break;case"start":B.start();break;case"stop":B.stop();break;case"seek":B.seek(Je.data.param);break;case"pause":B.pause();break;case"resume":B.resume();break;case"logging_config":{let ke=Je.data.param;Ee.applyConfig(ke),ke.enableCallback===!0?Ee.addLogListener(I):Ee.removeLogListener(I);break}}});function j(Je,ke){let Ze={msg:Ot.INIT_SEGMENT,data:{type:Je,data:ke}};_e.postMessage(Ze,[ke.data])}function J(Je,ke){let Ze={msg:Ot.MEDIA_SEGMENT,data:{type:Je,data:ke}};_e.postMessage(Ze,[ke.data])}function ye(){let Je={msg:Ot.LOADING_COMPLETE};_e.postMessage(Je)}function be(){let Je={msg:Ot.RECOVERED_EARLY_EOF};_e.postMessage(Je)}function Le(Je){let ke={msg:Ot.MEDIA_INFO,data:Je};_e.postMessage(ke)}function Se(Je){let ke={msg:Ot.METADATA_ARRIVED,data:Je};_e.postMessage(ke)}function Ye(Je){let ke={msg:Ot.SCRIPTDATA_ARRIVED,data:Je};_e.postMessage(ke)}function Ge(Je){let ke={msg:Ot.STATISTICS_INFO,data:Je};_e.postMessage(ke)}function Re(Je,ke){_e.postMessage({msg:Ot.IO_ERROR,data:{type:Je,info:ke}})}function De(Je,ke){_e.postMessage({msg:Ot.DEMUX_ERROR,data:{type:Je,info:ke}})}function Ke(Je){_e.postMessage({msg:Ot.RECOMMEND_SEEKPOINT,data:Je})}function He(Je,ke){_e.postMessage({msg:"logcat_callback",data:{type:Je,logcat:ke}})}};class qn{constructor(M,B){if(this.TAG="Transmuxer",this._emitter=new(_()),B.enableWorker&&typeof Worker!="undefined")try{let I=X(82059);this._worker=I(Fn),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[M,B]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},Ee.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:Ee.getConfig()})}catch(I){w.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new vn(M,B)}else this._controller=new vn(M,B);if(this._controller){let I=this._controller;I.on(Ot.IO_ERROR,this._onIOError.bind(this)),I.on(Ot.DEMUX_ERROR,this._onDemuxError.bind(this)),I.on(Ot.INIT_SEGMENT,this._onInitSegment.bind(this)),I.on(Ot.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),I.on(Ot.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),I.on(Ot.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),I.on(Ot.MEDIA_INFO,this._onMediaInfo.bind(this)),I.on(Ot.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),I.on(Ot.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),I.on(Ot.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),I.on(Ot.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),Ee.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(M,B){this._emitter.addListener(M,B)}off(M,B){this._emitter.removeListener(M,B)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(M){this._worker?this._worker.postMessage({cmd:"seek",param:M}):this._controller.seek(M)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(M,B){Promise.resolve().then(()=>{this._emitter.emit(Ot.INIT_SEGMENT,M,B)})}_onMediaSegment(M,B){Promise.resolve().then(()=>{this._emitter.emit(Ot.MEDIA_SEGMENT,M,B)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(Ot.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(Ot.RECOVERED_EARLY_EOF)})}_onMediaInfo(M){Promise.resolve().then(()=>{this._emitter.emit(Ot.MEDIA_INFO,M)})}_onMetaDataArrived(M){Promise.resolve().then(()=>{this._emitter.emit(Ot.METADATA_ARRIVED,M)})}_onScriptDataArrived(M){Promise.resolve().then(()=>{this._emitter.emit(Ot.SCRIPTDATA_ARRIVED,M)})}_onStatisticsInfo(M){Promise.resolve().then(()=>{this._emitter.emit(Ot.STATISTICS_INFO,M)})}_onIOError(M,B){Promise.resolve().then(()=>{this._emitter.emit(Ot.IO_ERROR,M,B)})}_onDemuxError(M,B){Promise.resolve().then(()=>{this._emitter.emit(Ot.DEMUX_ERROR,M,B)})}_onRecommendSeekpoint(M){Promise.resolve().then(()=>{this._emitter.emit(Ot.RECOMMEND_SEEKPOINT,M)})}_onLoggingConfigChanged(M){this._worker&&this._worker.postMessage({cmd:"logging_config",param:M})}_onWorkerMessage(M){let B=M.data,I=B.data;if(B.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(B.msg){case Ot.INIT_SEGMENT:case Ot.MEDIA_SEGMENT:this._emitter.emit(B.msg,I.type,I.data);break;case Ot.LOADING_COMPLETE:case Ot.RECOVERED_EARLY_EOF:this._emitter.emit(B.msg);break;case Ot.MEDIA_INFO:Object.setPrototypeOf(I,Fe.prototype),this._emitter.emit(B.msg,I);break;case Ot.METADATA_ARRIVED:case Ot.SCRIPTDATA_ARRIVED:case Ot.STATISTICS_INFO:this._emitter.emit(B.msg,I);break;case Ot.IO_ERROR:case Ot.DEMUX_ERROR:this._emitter.emit(B.msg,I.type,I.info);break;case Ot.RECOMMEND_SEEKPOINT:this._emitter.emit(B.msg,I);break;case"logcat_callback":w.emitter.emit("log",I.type,I.logcat);break;default:break}}}var br=qn,tr={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class lr{constructor(M){this.TAG="MSEController",this._config=M,this._emitter=new(_()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new wt}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(M,B){this._emitter.addListener(M,B)}off(M,B){this._emitter.removeListener(M,B)}attachMediaElement(M){if(this._mediaSource)throw new E("MediaSource has been attached to an HTMLMediaElement!");let B=this._mediaSource=new window.MediaSource;B.addEventListener("sourceopen",this.e.onSourceOpen),B.addEventListener("sourceended",this.e.onSourceEnded),B.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=M,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),M.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let M=this._mediaSource;for(let B in this._sourceBuffers){let I=this._pendingSegments[B];I.splice(0,I.length),this._pendingSegments[B]=null,this._pendingRemoveRanges[B]=null,this._lastInitSegments[B]=null;let j=this._sourceBuffers[B];if(j){if(M.readyState!=="closed"){try{M.removeSourceBuffer(j)}catch(J){w.e(this.TAG,J.message)}j.removeEventListener("error",this.e.onSourceBufferError),j.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[B]=null,this._sourceBuffers[B]=null}}if(M.readyState==="open")try{M.endOfStream()}catch(B){w.e(this.TAG,B.message)}M.removeEventListener("sourceopen",this.e.onSourceOpen),M.removeEventListener("sourceended",this.e.onSourceEnded),M.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(M,B){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(M),this._pendingSegments[M.type].push(M);return}let I=M,j=`${I.container}`;I.codec&&I.codec.length>0&&(j+=`;codecs=${I.codec}`);let J=!1;if(w.v(this.TAG,"Received Initialization Segment, mimeType: "+j),this._lastInitSegments[I.type]=I,j!==this._mimeTypes[I.type]){if(this._mimeTypes[I.type])w.v(this.TAG,`Notice: ${I.type} mimeType changed, origin: ${this._mimeTypes[I.type]}, target: ${j}`);else{J=!0;try{let ye=this._sourceBuffers[I.type]=this._mediaSource.addSourceBuffer(j);ye.addEventListener("error",this.e.onSourceBufferError),ye.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(ye){w.e(this.TAG,ye.message),this._emitter.emit(tr.ERROR,{code:ye.code,msg:ye.message});return}}this._mimeTypes[I.type]=j}B||this._pendingSegments[I.type].push(I),J||this._sourceBuffers[I.type]&&!this._sourceBuffers[I.type].updating&&this._doAppendSegments(),O.safari&&I.container==="audio/mpeg"&&I.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=I.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(M){let B=M;this._pendingSegments[B.type].push(B),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let I=this._sourceBuffers[B.type];I&&!I.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(M){for(let B in this._sourceBuffers){if(!this._sourceBuffers[B])continue;let I=this._sourceBuffers[B];if(this._mediaSource.readyState==="open")try{I.abort()}catch(J){w.e(this.TAG,J.message)}this._idrList.clear();let j=this._pendingSegments[B];if(j.splice(0,j.length),this._mediaSource.readyState!=="closed"){for(let J=0;J<I.buffered.length;J++){let ye=I.buffered.start(J),be=I.buffered.end(J);this._pendingRemoveRanges[B].push({start:ye,end:be})}if(I.updating||this._doRemoveRanges(),O.safari){let J=this._lastInitSegments[B];J&&(this._pendingSegments[B].push(J),I.updating||this._doAppendSegments())}}}}endOfStream(){let M=this._mediaSource,B=this._sourceBuffers;if(!M||M.readyState!=="open"){M&&M.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}B.video&&B.video.updating||B.audio&&B.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,M.endOfStream())}getNearestKeyframe(M){return this._idrList.getLastSyncPointBeforeDts(M)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let M=this._mediaElement.currentTime;for(let B in this._sourceBuffers){let I=this._sourceBuffers[B];if(I){let j=I.buffered;if(j.length>=1&&M-j.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let M=this._mediaElement.currentTime;for(let B in this._sourceBuffers){let I=this._sourceBuffers[B];if(I){let j=I.buffered,J=!1;for(let ye=0;ye<j.length;ye++){let be=j.start(ye),Le=j.end(ye);if(be<=M&&M<Le+3){if(M-be>=this._config.autoCleanupMaxBackwardDuration){J=!0;let Se=M-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[B].push({start:be,end:Se})}}else Le<M&&(J=!0,this._pendingRemoveRanges[B].push({start:be,end:Le}))}J&&!I.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let M=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||M.video&&M.video.updating||M.audio&&M.audio.updating)return;let B=this._mediaSource.duration,I=this._pendingMediaDuration;I>0&&(isNaN(B)||I>B)&&(w.v(this.TAG,`Update MediaSource duration from ${B} to ${I}`),this._mediaSource.duration=I),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let M in this._pendingRemoveRanges){if(!this._sourceBuffers[M]||this._sourceBuffers[M].updating)continue;let B=this._sourceBuffers[M],I=this._pendingRemoveRanges[M];for(;I.length&&!B.updating;){let j=I.shift();B.remove(j.start,j.end)}}}_doAppendSegments(){let M=this._pendingSegments;for(let B in M)if(!(!this._sourceBuffers[B]||this._sourceBuffers[B].updating)&&M[B].length>0){let I=M[B].shift();if(I.timestampOffset){let j=this._sourceBuffers[B].timestampOffset,J=I.timestampOffset/1e3;Math.abs(j-J)>.1&&(w.v(this.TAG,`Update MPEG audio timestampOffset from ${j} to ${J}`),this._sourceBuffers[B].timestampOffset=J),delete I.timestampOffset}if(!I.data||I.data.byteLength===0)continue;try{this._sourceBuffers[B].appendBuffer(I.data),this._isBufferFull=!1,B==="video"&&I.hasOwnProperty("info")&&this._idrList.appendArray(I.info.syncPoints)}catch(j){this._pendingSegments[B].unshift(I),j.code===22?(this._isBufferFull||this._emitter.emit(tr.BUFFER_FULL),this._isBufferFull=!0):(w.e(this.TAG,j.message),this._emitter.emit(tr.ERROR,{code:j.code,msg:j.message}))}}}_onSourceOpen(){if(w.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let M=this._pendingSourceBufferInit;for(;M.length;){let B=M.shift();this.appendInitSegment(B,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(tr.SOURCE_OPEN)}_onSourceEnded(){w.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){w.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let M=this._pendingSegments;return M.video.length>0||M.audio.length>0}_hasPendingRemoveRanges(){let M=this._pendingRemoveRanges;return M.video.length>0||M.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(tr.UPDATE_END)}_onSourceBufferError(M){w.e(this.TAG,`SourceBuffer Error: ${M}`)}}var nr=lr;const an={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},tn={NETWORK_EXCEPTION:d.EXCEPTION,NETWORK_STATUS_CODE_INVALID:d.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:d.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:d.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:Mt.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:Mt.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:Mt.CODEC_UNSUPPORTED};class An{constructor(M,B){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(_()),this._config=oe(),typeof B=="object"&&Object.assign(this._config,B),M.type.toLowerCase()!=="flv")throw new g("FlvPlayer requires an flv MediaDataSource input!");M.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=M,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let I=O.chrome&&(O.version.major<50||O.version.major===50&&O.version.build<2661);this._alwaysSeekKeyframe=!!(I||O.msedge||O.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(M,B){M===me.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(me.MEDIA_INFO,this.mediaInfo)}):M===me.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(me.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(M,B)}off(M,B){this._emitter.removeListener(M,B)}attachMediaElement(M){if(this._mediaElement=M,M.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),M.addEventListener("seeking",this.e.onvSeeking),M.addEventListener("canplay",this.e.onvCanPlay),M.addEventListener("stalled",this.e.onvStalled),M.addEventListener("progress",this.e.onvProgress),this._msectl=new nr(this._config),this._msectl.on(tr.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(tr.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(tr.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(tr.ERROR,B=>{this._emitter.emit(me.ERROR,an.MEDIA_ERROR,tn.MEDIA_MSE_ERROR,B)}),this._msectl.attachMediaElement(M),this._pendingSeekTime!=null)try{M.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(B){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new E("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new E("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new br(this._mediaDataSource,this._config),this._transmuxer.on(Ot.INIT_SEGMENT,(M,B)=>{this._msectl.appendInitSegment(B)}),this._transmuxer.on(Ot.MEDIA_SEGMENT,(M,B)=>{if(this._msectl.appendMediaSegment(B),this._config.lazyLoad&&!this._config.isLive){let I=this._mediaElement.currentTime;B.info.endDts>=(I+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(w.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(Ot.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(me.LOADING_COMPLETE)}),this._transmuxer.on(Ot.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(me.RECOVERED_EARLY_EOF)}),this._transmuxer.on(Ot.IO_ERROR,(M,B)=>{this._emitter.emit(me.ERROR,an.NETWORK_ERROR,M,B)}),this._transmuxer.on(Ot.DEMUX_ERROR,(M,B)=>{this._emitter.emit(me.ERROR,an.MEDIA_ERROR,M,{code:-1,msg:B})}),this._transmuxer.on(Ot.MEDIA_INFO,M=>{this._mediaInfo=M,this._emitter.emit(me.MEDIA_INFO,Object.assign({},M))}),this._transmuxer.on(Ot.METADATA_ARRIVED,M=>{this._emitter.emit(me.METADATA_ARRIVED,M)}),this._transmuxer.on(Ot.SCRIPTDATA_ARRIVED,M=>{this._emitter.emit(me.SCRIPTDATA_ARRIVED,M)}),this._transmuxer.on(Ot.STATISTICS_INFO,M=>{this._statisticsInfo=this._fillStatisticsInfo(M),this._emitter.emit(me.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(Ot.RECOMMEND_SEEKPOINT,M=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=M/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(M){this._mediaElement.volume=M}get muted(){return this._mediaElement.muted}set muted(M){this._mediaElement.muted=M}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(M){this._mediaElement?this._internalSeek(M):this._pendingSeekTime=M}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(M){if(M.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return M;let B=!0,I=0,j=0;if(this._mediaElement.getVideoPlaybackQuality){let J=this._mediaElement.getVideoPlaybackQuality();I=J.totalVideoFrames,j=J.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(I=this._mediaElement.webkitDecodedFrameCount,j=this._mediaElement.webkitDroppedFrameCount):B=!1;return B&&(M.decodedFrames=I,M.droppedFrames=j),M}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let M=this._mediaElement.buffered,B=this._mediaElement.currentTime,I=0,j=0;for(let J=0;J<M.length;J++){let ye=M.start(J),be=M.end(J);if(ye<=B&&B<be){I=ye,j=be;break}}j>=B+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(w.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){w.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let M=this._mediaElement.currentTime,B=this._mediaElement.buffered,I=!1;for(let j=0;j<B.length;j++){let J=B.start(j),ye=B.end(j);if(M>=J&&M<ye){M>=ye-this._config.lazyLoadRecoverDuration&&(I=!0);break}}I&&(window.clearInterval(this._progressChecker),this._progressChecker=null,I&&(w.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(M){let B=this._mediaElement.buffered;for(let I=0;I<B.length;I++){let j=B.start(I),J=B.end(I);if(M>=j&&M<J)return!0}return!1}_internalSeek(M){let B=this._isTimepointBuffered(M),I=!1,j=0;if(M<1&&this._mediaElement.buffered.length>0){let J=this._mediaElement.buffered.start(0);(J<1&&M<J||O.safari)&&(I=!0,j=O.safari?.1:J)}if(I)this._requestSetTime=!0,this._mediaElement.currentTime=j;else if(B){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=M;else{let J=this._msectl.getNearestKeyframe(Math.floor(M*1e3));this._requestSetTime=!0,J!=null?this._mediaElement.currentTime=J.dts/1e3:this._mediaElement.currentTime=M}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(M),this._transmuxer.seek(Math.floor(M*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=M)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let M=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(M)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(M),this._transmuxer.seek(Math.floor(M*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=M))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(M){let B=this._mediaElement;if(M||!this._receivedCanPlay||B.readyState<2){let I=B.buffered;I.length>0&&B.currentTime<I.start(0)&&(w.w(this.TAG,`Playback seems stuck at ${B.currentTime}, seek to ${I.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=I.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(M){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(M){let B=this._mediaElement.currentTime,I=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(B<1&&I.length>0){let j=I.start(0);if(j<1&&B<j||O.safari){this._requestSetTime=!0,this._mediaElement.currentTime=O.safari?.1:j;return}}if(this._isTimepointBuffered(B)){if(this._alwaysSeekKeyframe){let j=this._msectl.getNearestKeyframe(Math.floor(B*1e3));j!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=j.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:B,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(M){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(M){this._checkAndResumeStuckPlayback(!0)}_onvProgress(M){this._checkAndResumeStuckPlayback()}}var wn=An;class sn{constructor(M,B){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(_()),this._config=oe(),typeof B=="object"&&Object.assign(this._config,B),M.type.toLowerCase()==="flv")throw new g("NativePlayer does't support flv MediaDataSource input!");if(M.hasOwnProperty("segments"))throw new g(`NativePlayer(${M.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=M,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(M,B){M===me.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(me.MEDIA_INFO,this.mediaInfo)}):M===me.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(me.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(M,B)}off(M,B){this._emitter.removeListener(M,B)}attachMediaElement(M){if(this._mediaElement=M,M.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{M.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(B){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new E("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(M){this._mediaElement.volume=M}get muted(){return this._mediaElement.muted}set muted(M){this._mediaElement.muted=M}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(M){this._mediaElement?this._mediaElement.currentTime=M:this._pendingSeekTime=M}get mediaInfo(){let B={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(B.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(B.width=this._mediaElement.videoWidth,B.height=this._mediaElement.videoHeight)),B}get statisticsInfo(){let M={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return M;let B=!0,I=0,j=0;if(this._mediaElement.getVideoPlaybackQuality){let J=this._mediaElement.getVideoPlaybackQuality();I=J.totalVideoFrames,j=J.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(I=this._mediaElement.webkitDecodedFrameCount,j=this._mediaElement.webkitDroppedFrameCount):B=!1;return B&&(M.decodedFrames=I,M.droppedFrames=j),M}_onvLoadedMetadata(M){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(me.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(me.STATISTICS_INFO,this.statisticsInfo)}}var ir=sn;ee.install();function Nt(_e,M){let B=_e;if(B==null||typeof B!="object")throw new g("MediaDataSource must be an javascript object!");if(!B.hasOwnProperty("type"))throw new g("MediaDataSource must has type field to indicate video file type!");switch(B.type){case"flv":return new wn(B,M);default:return new ir(B,M)}}function zt(){return se.supportMSEH264Playback()}function Gt(){return se.getFeatureList()}let jt={};jt.createPlayer=Nt,jt.isSupported=zt,jt.getFeatureList=Gt,jt.BaseLoader=v,jt.LoaderStatus=C,jt.LoaderErrors=d,jt.Events=me,jt.ErrorTypes=an,jt.ErrorDetails=tn,jt.FlvPlayer=wn,jt.NativePlayer=ir,jt.LoggingControl=Ee,Object.defineProperty(jt,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var En=jt},81254:function(we,Me,X){"use strict";var K,ee=Object.defineProperty,G=_e=>{throw TypeError(_e)},_=Math.pow,F=(_e,M,B)=>M in _e?ee(_e,M,{enumerable:!0,configurable:!0,writable:!0,value:B}):_e[M]=B,w=(_e,M,B)=>F(_e,typeof M!="symbol"?M+"":M,B),x=(_e,M,B)=>M.has(_e)||G("Cannot "+B),y=(_e,M,B)=>(x(_e,M,"read from private field"),B?B.call(_e):M.get(_e)),b=(_e,M,B)=>M.has(_e)?G("Cannot add the same private member more than once"):M instanceof WeakSet?M.add(_e):M.set(_e,B),E=(_e,M,B,I)=>(x(_e,M,"write to private field"),I?I.call(_e,B):M.set(_e,B),B),g=(_e,M,B)=>(x(_e,M,"access private method"),B),m,C,d;K={value:!0};var v=X(34634),A=X(34402);const T=" ".repeat(2),O=" ".repeat(4);function P(){return L(this)}function L(_e,M={}){const{maxRows:B=15,maxColumns:I=10,maxNumSize:j=8,padMinus:J="auto"}=M;return`${_e.constructor.name} {
${T}[
${O}${c(_e,B,I,j,J)}
${T}]
${T}rows: ${_e.rows}
${T}columns: ${_e.columns}
}`}function c(_e,M,B,I,j){const{rows:J,columns:ye}=_e,be=Math.min(J,M),Le=Math.min(ye,B),Se=[];if(j==="auto"){j=!1;e:for(let Ye=0;Ye<be;Ye++)for(let Ge=0;Ge<Le;Ge++)if(_e.get(Ye,Ge)<0){j=!0;break e}}for(let Ye=0;Ye<be;Ye++){let Ge=[];for(let Re=0;Re<Le;Re++)Ge.push(f(_e.get(Ye,Re),I,j));Se.push(`${Ge.join(" ")}`)}return Le!==ye&&(Se[Se.length-1]+=` ... ${ye-B} more columns`),be!==J&&Se.push(`... ${J-M} more rows`),Se.join(`
${O}`)}function f(_e,M,B){return(_e>=0&&B?` ${D(_e,M-1)}`:D(_e,M)).padEnd(M)}function D(_e,M){let B=_e.toString();if(B.length<=M)return B;let I=_e.toFixed(M);if(I.length>M&&(I=_e.toFixed(Math.max(0,M-(I.length-M)))),I.length<=M&&!I.startsWith("0.000")&&!I.startsWith("-0.000"))return I;let j=_e.toExponential(M);return j.length>M&&(j=_e.toExponential(Math.max(0,M-(j.length-M)))),j.slice(0)}function R(_e,M){_e.prototype.add=function(I){return typeof I=="number"?this.addS(I):this.addM(I)},_e.prototype.addS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)+I);return this},_e.prototype.addM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)+I.get(j,J));return this},_e.add=function(I,j){return new M(I).add(j)},_e.prototype.sub=function(I){return typeof I=="number"?this.subS(I):this.subM(I)},_e.prototype.subS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)-I);return this},_e.prototype.subM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)-I.get(j,J));return this},_e.sub=function(I,j){return new M(I).sub(j)},_e.prototype.subtract=_e.prototype.sub,_e.prototype.subtractS=_e.prototype.subS,_e.prototype.subtractM=_e.prototype.subM,_e.subtract=_e.sub,_e.prototype.mul=function(I){return typeof I=="number"?this.mulS(I):this.mulM(I)},_e.prototype.mulS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)*I);return this},_e.prototype.mulM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)*I.get(j,J));return this},_e.mul=function(I,j){return new M(I).mul(j)},_e.prototype.multiply=_e.prototype.mul,_e.prototype.multiplyS=_e.prototype.mulS,_e.prototype.multiplyM=_e.prototype.mulM,_e.multiply=_e.mul,_e.prototype.div=function(I){return typeof I=="number"?this.divS(I):this.divM(I)},_e.prototype.divS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)/I);return this},_e.prototype.divM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)/I.get(j,J));return this},_e.div=function(I,j){return new M(I).div(j)},_e.prototype.divide=_e.prototype.div,_e.prototype.divideS=_e.prototype.divS,_e.prototype.divideM=_e.prototype.divM,_e.divide=_e.div,_e.prototype.mod=function(I){return typeof I=="number"?this.modS(I):this.modM(I)},_e.prototype.modS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)%I);return this},_e.prototype.modM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)%I.get(j,J));return this},_e.mod=function(I,j){return new M(I).mod(j)},_e.prototype.modulus=_e.prototype.mod,_e.prototype.modulusS=_e.prototype.modS,_e.prototype.modulusM=_e.prototype.modM,_e.modulus=_e.mod,_e.prototype.and=function(I){return typeof I=="number"?this.andS(I):this.andM(I)},_e.prototype.andS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)&I);return this},_e.prototype.andM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)&I.get(j,J));return this},_e.and=function(I,j){return new M(I).and(j)},_e.prototype.or=function(I){return typeof I=="number"?this.orS(I):this.orM(I)},_e.prototype.orS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)|I);return this},_e.prototype.orM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)|I.get(j,J));return this},_e.or=function(I,j){return new M(I).or(j)},_e.prototype.xor=function(I){return typeof I=="number"?this.xorS(I):this.xorM(I)},_e.prototype.xorS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)^I);return this},_e.prototype.xorM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)^I.get(j,J));return this},_e.xor=function(I,j){return new M(I).xor(j)},_e.prototype.leftShift=function(I){return typeof I=="number"?this.leftShiftS(I):this.leftShiftM(I)},_e.prototype.leftShiftS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)<<I);return this},_e.prototype.leftShiftM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)<<I.get(j,J));return this},_e.leftShift=function(I,j){return new M(I).leftShift(j)},_e.prototype.signPropagatingRightShift=function(I){return typeof I=="number"?this.signPropagatingRightShiftS(I):this.signPropagatingRightShiftM(I)},_e.prototype.signPropagatingRightShiftS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)>>I);return this},_e.prototype.signPropagatingRightShiftM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)>>I.get(j,J));return this},_e.signPropagatingRightShift=function(I,j){return new M(I).signPropagatingRightShift(j)},_e.prototype.rightShift=function(I){return typeof I=="number"?this.rightShiftS(I):this.rightShiftM(I)},_e.prototype.rightShiftS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)>>>I);return this},_e.prototype.rightShiftM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,this.get(j,J)>>>I.get(j,J));return this},_e.rightShift=function(I,j){return new M(I).rightShift(j)},_e.prototype.zeroFillRightShift=_e.prototype.rightShift,_e.prototype.zeroFillRightShiftS=_e.prototype.rightShiftS,_e.prototype.zeroFillRightShiftM=_e.prototype.rightShiftM,_e.zeroFillRightShift=_e.rightShift,_e.prototype.not=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,~this.get(I,j));return this},_e.not=function(I){return new M(I).not()},_e.prototype.abs=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.abs(this.get(I,j)));return this},_e.abs=function(I){return new M(I).abs()},_e.prototype.acos=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.acos(this.get(I,j)));return this},_e.acos=function(I){return new M(I).acos()},_e.prototype.acosh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.acosh(this.get(I,j)));return this},_e.acosh=function(I){return new M(I).acosh()},_e.prototype.asin=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.asin(this.get(I,j)));return this},_e.asin=function(I){return new M(I).asin()},_e.prototype.asinh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.asinh(this.get(I,j)));return this},_e.asinh=function(I){return new M(I).asinh()},_e.prototype.atan=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.atan(this.get(I,j)));return this},_e.atan=function(I){return new M(I).atan()},_e.prototype.atanh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.atanh(this.get(I,j)));return this},_e.atanh=function(I){return new M(I).atanh()},_e.prototype.cbrt=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.cbrt(this.get(I,j)));return this},_e.cbrt=function(I){return new M(I).cbrt()},_e.prototype.ceil=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.ceil(this.get(I,j)));return this},_e.ceil=function(I){return new M(I).ceil()},_e.prototype.clz32=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.clz32(this.get(I,j)));return this},_e.clz32=function(I){return new M(I).clz32()},_e.prototype.cos=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.cos(this.get(I,j)));return this},_e.cos=function(I){return new M(I).cos()},_e.prototype.cosh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.cosh(this.get(I,j)));return this},_e.cosh=function(I){return new M(I).cosh()},_e.prototype.exp=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.exp(this.get(I,j)));return this},_e.exp=function(I){return new M(I).exp()},_e.prototype.expm1=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.expm1(this.get(I,j)));return this},_e.expm1=function(I){return new M(I).expm1()},_e.prototype.floor=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.floor(this.get(I,j)));return this},_e.floor=function(I){return new M(I).floor()},_e.prototype.fround=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.fround(this.get(I,j)));return this},_e.fround=function(I){return new M(I).fround()},_e.prototype.log=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.log(this.get(I,j)));return this},_e.log=function(I){return new M(I).log()},_e.prototype.log1p=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.log1p(this.get(I,j)));return this},_e.log1p=function(I){return new M(I).log1p()},_e.prototype.log10=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.log10(this.get(I,j)));return this},_e.log10=function(I){return new M(I).log10()},_e.prototype.log2=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.log2(this.get(I,j)));return this},_e.log2=function(I){return new M(I).log2()},_e.prototype.round=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.round(this.get(I,j)));return this},_e.round=function(I){return new M(I).round()},_e.prototype.sign=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.sign(this.get(I,j)));return this},_e.sign=function(I){return new M(I).sign()},_e.prototype.sin=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.sin(this.get(I,j)));return this},_e.sin=function(I){return new M(I).sin()},_e.prototype.sinh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.sinh(this.get(I,j)));return this},_e.sinh=function(I){return new M(I).sinh()},_e.prototype.sqrt=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.sqrt(this.get(I,j)));return this},_e.sqrt=function(I){return new M(I).sqrt()},_e.prototype.tan=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.tan(this.get(I,j)));return this},_e.tan=function(I){return new M(I).tan()},_e.prototype.tanh=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.tanh(this.get(I,j)));return this},_e.tanh=function(I){return new M(I).tanh()},_e.prototype.trunc=function(){for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.set(I,j,Math.trunc(this.get(I,j)));return this},_e.trunc=function(I){return new M(I).trunc()},_e.pow=function(I,j){return new M(I).pow(j)},_e.prototype.pow=function(I){return typeof I=="number"?this.powS(I):this.powM(I)},_e.prototype.powS=function(I){for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,_(this.get(j,J),I));return this},_e.prototype.powM=function(I){if(I=M.checkMatrix(I),this.rows!==I.rows||this.columns!==I.columns)throw new RangeError("Matrices dimensions must be equal");for(let j=0;j<this.rows;j++)for(let J=0;J<this.columns;J++)this.set(j,J,_(this.get(j,J),I.get(j,J)));return this}}function k(_e,M,B){let I=B?_e.rows:_e.rows-1;if(M<0||M>I)throw new RangeError("Row index out of range")}function W(_e,M,B){let I=B?_e.columns:_e.columns-1;if(M<0||M>I)throw new RangeError("Column index out of range")}function z(_e,M){if(M.to1DArray&&(M=M.to1DArray()),M.length!==_e.columns)throw new RangeError("vector size must be the same as the number of columns");return M}function Z(_e,M){if(M.to1DArray&&(M=M.to1DArray()),M.length!==_e.rows)throw new RangeError("vector size must be the same as the number of rows");return M}function Q(_e,M){if(!v.isAnyArray(M))throw new TypeError("row indices must be an array");for(let B=0;B<M.length;B++)if(M[B]<0||M[B]>=_e.rows)throw new RangeError("row indices are out of range")}function te(_e,M){if(!v.isAnyArray(M))throw new TypeError("column indices must be an array");for(let B=0;B<M.length;B++)if(M[B]<0||M[B]>=_e.columns)throw new RangeError("column indices are out of range")}function $(_e,M,B,I,j){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(ae("startRow",M),ae("endRow",B),ae("startColumn",I),ae("endColumn",j),M>B||I>j||M<0||M>=_e.rows||B<0||B>=_e.rows||I<0||I>=_e.columns||j<0||j>=_e.columns)throw new RangeError("Submatrix indices are out of range")}function ie(_e,M=0){let B=[];for(let I=0;I<_e;I++)B.push(M);return B}function ae(_e,M){if(typeof M!="number")throw new TypeError(`${_e} must be a number`)}function re(_e){if(_e.isEmpty())throw new Error("Empty matrix has no elements to index")}function ce(_e){let M=ie(_e.rows);for(let B=0;B<_e.rows;++B)for(let I=0;I<_e.columns;++I)M[B]+=_e.get(B,I);return M}function oe(_e){let M=ie(_e.columns);for(let B=0;B<_e.rows;++B)for(let I=0;I<_e.columns;++I)M[I]+=_e.get(B,I);return M}function he(_e){let M=0;for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)M+=_e.get(B,I);return M}function se(_e){let M=ie(_e.rows,1);for(let B=0;B<_e.rows;++B)for(let I=0;I<_e.columns;++I)M[B]*=_e.get(B,I);return M}function pe(_e){let M=ie(_e.columns,1);for(let B=0;B<_e.rows;++B)for(let I=0;I<_e.columns;++I)M[I]*=_e.get(B,I);return M}function me(_e){let M=1;for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)M*=_e.get(B,I);return M}function ge(_e,M,B){const I=_e.rows,j=_e.columns,J=[];for(let ye=0;ye<I;ye++){let be=0,Le=0,Se=0;for(let Ye=0;Ye<j;Ye++)Se=_e.get(ye,Ye)-B[ye],be+=Se,Le+=Se*Se;M?J.push((Le-be*be/j)/(j-1)):J.push((Le-be*be/j)/j)}return J}function Ee(_e,M,B){const I=_e.rows,j=_e.columns,J=[];for(let ye=0;ye<j;ye++){let be=0,Le=0,Se=0;for(let Ye=0;Ye<I;Ye++)Se=_e.get(Ye,ye)-B[ye],be+=Se,Le+=Se*Se;M?J.push((Le-be*be/I)/(I-1)):J.push((Le-be*be/I)/I)}return J}function Ae(_e,M,B){const I=_e.rows,j=_e.columns,J=I*j;let ye=0,be=0,Le=0;for(let Se=0;Se<I;Se++)for(let Ye=0;Ye<j;Ye++)Le=_e.get(Se,Ye)-B,ye+=Le,be+=Le*Le;return M?(be-ye*ye/J)/(J-1):(be-ye*ye/J)/J}function Fe(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)-M[B])}function Ue(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)-M[I])}function nt(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)-M)}function rt(_e){const M=[];for(let B=0;B<_e.rows;B++){let I=0;for(let j=0;j<_e.columns;j++)I+=_(_e.get(B,j),2)/(_e.columns-1);M.push(Math.sqrt(I))}return M}function qe(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)/M[B])}function dt(_e){const M=[];for(let B=0;B<_e.columns;B++){let I=0;for(let j=0;j<_e.rows;j++)I+=_(_e.get(j,B),2)/(_e.rows-1);M.push(Math.sqrt(I))}return M}function yt(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)/M[I])}function je(_e){const M=_e.size-1;let B=0;for(let I=0;I<_e.columns;I++)for(let j=0;j<_e.rows;j++)B+=_(_e.get(j,I),2)/M;return Math.sqrt(B)}function at(_e,M){for(let B=0;B<_e.rows;B++)for(let I=0;I<_e.columns;I++)_e.set(B,I,_e.get(B,I)/M)}class it{static from1DArray(M,B,I){if(M*B!==I.length)throw new RangeError("data length does not match given dimensions");let J=new Ce(M,B);for(let ye=0;ye<M;ye++)for(let be=0;be<B;be++)J.set(ye,be,I[ye*B+be]);return J}static rowVector(M){let B=new Ce(1,M.length);for(let I=0;I<M.length;I++)B.set(0,I,M[I]);return B}static columnVector(M){let B=new Ce(M.length,1);for(let I=0;I<M.length;I++)B.set(I,0,M[I]);return B}static zeros(M,B){return new Ce(M,B)}static ones(M,B){return new Ce(M,B).fill(1)}static rand(M,B,I={}){if(typeof I!="object")throw new TypeError("options must be an object");const{random:j=Math.random}=I;let J=new Ce(M,B);for(let ye=0;ye<M;ye++)for(let be=0;be<B;be++)J.set(ye,be,j());return J}static randInt(M,B,I={}){if(typeof I!="object")throw new TypeError("options must be an object");const{min:j=0,max:J=1e3,random:ye=Math.random}=I;if(!Number.isInteger(j))throw new TypeError("min must be an integer");if(!Number.isInteger(J))throw new TypeError("max must be an integer");if(j>=J)throw new RangeError("min must be smaller than max");let be=J-j,Le=new Ce(M,B);for(let Se=0;Se<M;Se++)for(let Ye=0;Ye<B;Ye++){let Ge=j+Math.round(ye()*be);Le.set(Se,Ye,Ge)}return Le}static eye(M,B,I){B===void 0&&(B=M),I===void 0&&(I=1);let j=Math.min(M,B),J=this.zeros(M,B);for(let ye=0;ye<j;ye++)J.set(ye,ye,I);return J}static diag(M,B,I){let j=M.length;B===void 0&&(B=j),I===void 0&&(I=B);let J=Math.min(j,B,I),ye=this.zeros(B,I);for(let be=0;be<J;be++)ye.set(be,be,M[be]);return ye}static min(M,B){M=this.checkMatrix(M),B=this.checkMatrix(B);let I=M.rows,j=M.columns,J=new Ce(I,j);for(let ye=0;ye<I;ye++)for(let be=0;be<j;be++)J.set(ye,be,Math.min(M.get(ye,be),B.get(ye,be)));return J}static max(M,B){M=this.checkMatrix(M),B=this.checkMatrix(B);let I=M.rows,j=M.columns,J=new this(I,j);for(let ye=0;ye<I;ye++)for(let be=0;be<j;be++)J.set(ye,be,Math.max(M.get(ye,be),B.get(ye,be)));return J}static checkMatrix(M){return it.isMatrix(M)?M:new Ce(M)}static isMatrix(M){return M!=null&&M.klass==="Matrix"}get size(){return this.rows*this.columns}apply(M){if(typeof M!="function")throw new TypeError("callback must be a function");for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)M.call(this,B,I);return this}to1DArray(){let M=[];for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)M.push(this.get(B,I));return M}to2DArray(){let M=[];for(let B=0;B<this.rows;B++){M.push([]);for(let I=0;I<this.columns;I++)M[B].push(this.get(B,I))}return M}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let M=0;M<this.rows;M++)for(let B=0;B<=M;B++)if(this.get(M,B)!==this.get(B,M))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let M=0;M<this.rows;M++)if(this.get(M,M)!==0)return!1;return!0}isEchelonForm(){let M=0,B=0,I=-1,j=!0,J=!1;for(;M<this.rows&&j;){for(B=0,J=!1;B<this.columns&&J===!1;)this.get(M,B)===0?B++:this.get(M,B)===1&&B>I?(J=!0,I=B):(j=!1,J=!0);M++}return j}isReducedEchelonForm(){let M=0,B=0,I=-1,j=!0,J=!1;for(;M<this.rows&&j;){for(B=0,J=!1;B<this.columns&&J===!1;)this.get(M,B)===0?B++:this.get(M,B)===1&&B>I?(J=!0,I=B):(j=!1,J=!0);for(let ye=B+1;ye<this.rows;ye++)this.get(M,ye)!==0&&(j=!1);M++}return j}echelonForm(){let M=this.clone(),B=0,I=0;for(;B<M.rows&&I<M.columns;){let j=B;for(let J=B;J<M.rows;J++)M.get(J,I)>M.get(j,I)&&(j=J);if(M.get(j,I)===0)I++;else{M.swapRows(B,j);let J=M.get(B,I);for(let ye=I;ye<M.columns;ye++)M.set(B,ye,M.get(B,ye)/J);for(let ye=B+1;ye<M.rows;ye++){let be=M.get(ye,I)/M.get(B,I);M.set(ye,I,0);for(let Le=I+1;Le<M.columns;Le++)M.set(ye,Le,M.get(ye,Le)-M.get(B,Le)*be)}B++,I++}}return M}reducedEchelonForm(){let M=this.echelonForm(),B=M.columns,I=M.rows,j=I-1;for(;j>=0;)if(M.maxRow(j)===0)j--;else{let J=0,ye=!1;for(;J<I&&ye===!1;)M.get(j,J)===1?ye=!0:J++;for(let be=0;be<j;be++){let Le=M.get(be,J);for(let Se=J;Se<B;Se++){let Ye=M.get(be,Se)-Le*M.get(j,Se);M.set(be,Se,Ye)}}j--}return M}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(M={}){if(typeof M!="object")throw new TypeError("options must be an object");const{rows:B=1,columns:I=1}=M;if(!Number.isInteger(B)||B<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(I)||I<=0)throw new TypeError("columns must be a positive integer");let j=new Ce(this.rows*B,this.columns*I);for(let J=0;J<B;J++)for(let ye=0;ye<I;ye++)j.setSubMatrix(this,this.rows*J,this.columns*ye);return j}fill(M){for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,M);return this}neg(){return this.mulS(-1)}getRow(M){k(this,M);let B=[];for(let I=0;I<this.columns;I++)B.push(this.get(M,I));return B}getRowVector(M){return Ce.rowVector(this.getRow(M))}setRow(M,B){k(this,M),B=z(this,B);for(let I=0;I<this.columns;I++)this.set(M,I,B[I]);return this}swapRows(M,B){k(this,M),k(this,B);for(let I=0;I<this.columns;I++){let j=this.get(M,I);this.set(M,I,this.get(B,I)),this.set(B,I,j)}return this}getColumn(M){W(this,M);let B=[];for(let I=0;I<this.rows;I++)B.push(this.get(I,M));return B}getColumnVector(M){return Ce.columnVector(this.getColumn(M))}setColumn(M,B){W(this,M),B=Z(this,B);for(let I=0;I<this.rows;I++)this.set(I,M,B[I]);return this}swapColumns(M,B){W(this,M),W(this,B);for(let I=0;I<this.rows;I++){let j=this.get(I,M);this.set(I,M,this.get(I,B)),this.set(I,B,j)}return this}addRowVector(M){M=z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)+M[I]);return this}subRowVector(M){M=z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)-M[I]);return this}mulRowVector(M){M=z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)*M[I]);return this}divRowVector(M){M=z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)/M[I]);return this}addColumnVector(M){M=Z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)+M[B]);return this}subColumnVector(M){M=Z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)-M[B]);return this}mulColumnVector(M){M=Z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)*M[B]);return this}divColumnVector(M){M=Z(this,M);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)this.set(B,I,this.get(B,I)/M[B]);return this}mulRow(M,B){k(this,M);for(let I=0;I<this.columns;I++)this.set(M,I,this.get(M,I)*B);return this}mulColumn(M,B){W(this,M);for(let I=0;I<this.rows;I++)this.set(I,M,this.get(I,M)*B);return this}max(M){if(this.isEmpty())return NaN;switch(M){case"row":{const B=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)>B[I]&&(B[I]=this.get(I,j));return B}case"column":{const B=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)>B[j]&&(B[j]=this.get(I,j));return B}case void 0:{let B=this.get(0,0);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)>B&&(B=this.get(I,j));return B}default:throw new Error(`invalid option: ${M}`)}}maxIndex(){re(this);let M=this.get(0,0),B=[0,0];for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)>M&&(M=this.get(I,j),B[0]=I,B[1]=j);return B}min(M){if(this.isEmpty())return NaN;switch(M){case"row":{const B=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)<B[I]&&(B[I]=this.get(I,j));return B}case"column":{const B=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)<B[j]&&(B[j]=this.get(I,j));return B}case void 0:{let B=this.get(0,0);for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)<B&&(B=this.get(I,j));return B}default:throw new Error(`invalid option: ${M}`)}}minIndex(){re(this);let M=this.get(0,0),B=[0,0];for(let I=0;I<this.rows;I++)for(let j=0;j<this.columns;j++)this.get(I,j)<M&&(M=this.get(I,j),B[0]=I,B[1]=j);return B}maxRow(M){if(k(this,M),this.isEmpty())return NaN;let B=this.get(M,0);for(let I=1;I<this.columns;I++)this.get(M,I)>B&&(B=this.get(M,I));return B}maxRowIndex(M){k(this,M),re(this);let B=this.get(M,0),I=[M,0];for(let j=1;j<this.columns;j++)this.get(M,j)>B&&(B=this.get(M,j),I[1]=j);return I}minRow(M){if(k(this,M),this.isEmpty())return NaN;let B=this.get(M,0);for(let I=1;I<this.columns;I++)this.get(M,I)<B&&(B=this.get(M,I));return B}minRowIndex(M){k(this,M),re(this);let B=this.get(M,0),I=[M,0];for(let j=1;j<this.columns;j++)this.get(M,j)<B&&(B=this.get(M,j),I[1]=j);return I}maxColumn(M){if(W(this,M),this.isEmpty())return NaN;let B=this.get(0,M);for(let I=1;I<this.rows;I++)this.get(I,M)>B&&(B=this.get(I,M));return B}maxColumnIndex(M){W(this,M),re(this);let B=this.get(0,M),I=[0,M];for(let j=1;j<this.rows;j++)this.get(j,M)>B&&(B=this.get(j,M),I[0]=j);return I}minColumn(M){if(W(this,M),this.isEmpty())return NaN;let B=this.get(0,M);for(let I=1;I<this.rows;I++)this.get(I,M)<B&&(B=this.get(I,M));return B}minColumnIndex(M){W(this,M),re(this);let B=this.get(0,M),I=[0,M];for(let j=1;j<this.rows;j++)this.get(j,M)<B&&(B=this.get(j,M),I[0]=j);return I}diag(){let M=Math.min(this.rows,this.columns),B=[];for(let I=0;I<M;I++)B.push(this.get(I,I));return B}norm(M="frobenius"){switch(M){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${M}`)}}cumulativeSum(){let M=0;for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)M+=this.get(B,I),this.set(B,I,M);return this}dot(M){it.isMatrix(M)&&(M=M.to1DArray());let B=this.to1DArray();if(B.length!==M.length)throw new RangeError("vectors do not have the same size");let I=0;for(let j=0;j<B.length;j++)I+=B[j]*M[j];return I}mmul(M){M=Ce.checkMatrix(M);let B=this.rows,I=this.columns,j=M.columns,J=new Ce(B,j),ye=new Float64Array(I);for(let be=0;be<j;be++){for(let Le=0;Le<I;Le++)ye[Le]=M.get(Le,be);for(let Le=0;Le<B;Le++){let Se=0;for(let Ye=0;Ye<I;Ye++)Se+=this.get(Le,Ye)*ye[Ye];J.set(Le,be,Se)}}return J}mpow(M){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(M)||M<0)throw new RangeError("Exponent must be a non-negative integer");let B=Ce.eye(this.rows),I=this;for(let j=M;j>=1;j/=2)j&1&&(B=B.mmul(I)),I=I.mmul(I);return B}strassen2x2(M){M=Ce.checkMatrix(M);let B=new Ce(2,2);const I=this.get(0,0),j=M.get(0,0),J=this.get(0,1),ye=M.get(0,1),be=this.get(1,0),Le=M.get(1,0),Se=this.get(1,1),Ye=M.get(1,1),Ge=(I+Se)*(j+Ye),Re=(be+Se)*j,De=I*(ye-Ye),Ke=Se*(Le-j),He=(I+J)*Ye,Je=(be-I)*(j+ye),ke=(J-Se)*(Le+Ye),Ze=Ge+Ke-He+ke,tt=De+He,mt=Re+Ke,Tt=Ge-Re+De+Je;return B.set(0,0,Ze),B.set(0,1,tt),B.set(1,0,mt),B.set(1,1,Tt),B}strassen3x3(M){M=Ce.checkMatrix(M);let B=new Ce(3,3);const I=this.get(0,0),j=this.get(0,1),J=this.get(0,2),ye=this.get(1,0),be=this.get(1,1),Le=this.get(1,2),Se=this.get(2,0),Ye=this.get(2,1),Ge=this.get(2,2),Re=M.get(0,0),De=M.get(0,1),Ke=M.get(0,2),He=M.get(1,0),Je=M.get(1,1),ke=M.get(1,2),Ze=M.get(2,0),tt=M.get(2,1),mt=M.get(2,2),Tt=(I+j+J-ye-be-Ye-Ge)*Je,It=(I-ye)*(-De+Je),vt=be*(-Re+De+He-Je-ke-Ze+mt),Rt=(-I+ye+be)*(Re-De+Je),Bt=(ye+be)*(-Re+De),Qe=I*Re,gt=(-I+Se+Ye)*(Re-Ke+ke),Pt=(-I+Se)*(Ke-ke),St=(Se+Ye)*(-Re+Ke),on=(I+j+J-be-Le-Se-Ye)*ke,ln=Ye*(-Re+Ke+He-Je-ke-Ze+tt),Zt=(-J+Ye+Ge)*(Je+Ze-tt),Jt=(J-Ge)*(Je-tt),Xt=J*Ze,dn=(Ye+Ge)*(-Ze+tt),gn=(-J+be+Le)*(ke+Ze-mt),Mn=(J-Le)*(ke-mt),Hn=(be+Le)*(-Ze+mt),pn=j*He,Rn=Le*tt,Yn=ye*Ke,Gn=Se*De,Cn=Ge*mt,Mr=Qe+Xt+pn,kr=Tt+Rt+Bt+Qe+Zt+Xt+dn,Rr=Qe+gt+St+on+Xt+gn+Hn,xr=It+vt+Rt+Qe+Xt+gn+Mn,rr=It+Rt+Bt+Qe+Rn,Zn=Xt+gn+Mn+Hn+Yn,Fr=Qe+gt+Pt+ln+Zt+Jt+Xt,ei=Zt+Jt+Xt+dn+Gn,ti=Qe+gt+Pt+St+Cn;return B.set(0,0,Mr),B.set(0,1,kr),B.set(0,2,Rr),B.set(1,0,xr),B.set(1,1,rr),B.set(1,2,Zn),B.set(2,0,Fr),B.set(2,1,ei),B.set(2,2,ti),B}mmulStrassen(M){M=Ce.checkMatrix(M);let B=this.clone(),I=B.rows,j=B.columns,J=M.rows,ye=M.columns;j!==J&&console.warn(`Multiplying ${I} x ${j} and ${J} x ${ye} matrix: dimensions do not match.`);function be(Ge,Re,De){let Ke=Ge.rows,He=Ge.columns;if(Ke===Re&&He===De)return Ge;{let Je=it.zeros(Re,De);return Je=Je.setSubMatrix(Ge,0,0),Je}}let Le=Math.max(I,J),Se=Math.max(j,ye);B=be(B,Le,Se),M=be(M,Le,Se);function Ye(Ge,Re,De,Ke){if(De<=512||Ke<=512)return Ge.mmul(Re);De%2===1&&Ke%2===1?(Ge=be(Ge,De+1,Ke+1),Re=be(Re,De+1,Ke+1)):De%2===1?(Ge=be(Ge,De+1,Ke),Re=be(Re,De+1,Ke)):Ke%2===1&&(Ge=be(Ge,De,Ke+1),Re=be(Re,De,Ke+1));let He=parseInt(Ge.rows/2,10),Je=parseInt(Ge.columns/2,10),ke=Ge.subMatrix(0,He-1,0,Je-1),Ze=Re.subMatrix(0,He-1,0,Je-1),tt=Ge.subMatrix(0,He-1,Je,Ge.columns-1),mt=Re.subMatrix(0,He-1,Je,Re.columns-1),Tt=Ge.subMatrix(He,Ge.rows-1,0,Je-1),It=Re.subMatrix(He,Re.rows-1,0,Je-1),vt=Ge.subMatrix(He,Ge.rows-1,Je,Ge.columns-1),Rt=Re.subMatrix(He,Re.rows-1,Je,Re.columns-1),Bt=Ye(it.add(ke,vt),it.add(Ze,Rt),He,Je),Qe=Ye(it.add(Tt,vt),Ze,He,Je),gt=Ye(ke,it.sub(mt,Rt),He,Je),Pt=Ye(vt,it.sub(It,Ze),He,Je),St=Ye(it.add(ke,tt),Rt,He,Je),on=Ye(it.sub(Tt,ke),it.add(Ze,mt),He,Je),ln=Ye(it.sub(tt,vt),it.add(It,Rt),He,Je),Zt=it.add(Bt,Pt);Zt.sub(St),Zt.add(ln);let Jt=it.add(gt,St),Xt=it.add(Qe,Pt),dn=it.sub(Bt,Qe);dn.add(gt),dn.add(on);let gn=it.zeros(2*Zt.rows,2*Zt.columns);return gn=gn.setSubMatrix(Zt,0,0),gn=gn.setSubMatrix(Jt,Zt.rows,0),gn=gn.setSubMatrix(Xt,0,Zt.columns),gn=gn.setSubMatrix(dn,Zt.rows,Zt.columns),gn.subMatrix(0,De-1,0,Ke-1)}return Ye(B,M,Le,Se)}scaleRows(M={}){if(typeof M!="object")throw new TypeError("options must be an object");const{min:B=0,max:I=1}=M;if(!Number.isFinite(B))throw new TypeError("min must be a number");if(!Number.isFinite(I))throw new TypeError("max must be a number");if(B>=I)throw new RangeError("min must be smaller than max");let j=new Ce(this.rows,this.columns);for(let J=0;J<this.rows;J++){const ye=this.getRow(J);ye.length>0&&A(ye,{min:B,max:I,output:ye}),j.setRow(J,ye)}return j}scaleColumns(M={}){if(typeof M!="object")throw new TypeError("options must be an object");const{min:B=0,max:I=1}=M;if(!Number.isFinite(B))throw new TypeError("min must be a number");if(!Number.isFinite(I))throw new TypeError("max must be a number");if(B>=I)throw new RangeError("min must be smaller than max");let j=new Ce(this.rows,this.columns);for(let J=0;J<this.columns;J++){const ye=this.getColumn(J);ye.length&&A(ye,{min:B,max:I,output:ye}),j.setColumn(J,ye)}return j}flipRows(){const M=Math.ceil(this.columns/2);for(let B=0;B<this.rows;B++)for(let I=0;I<M;I++){let j=this.get(B,I),J=this.get(B,this.columns-1-I);this.set(B,I,J),this.set(B,this.columns-1-I,j)}return this}flipColumns(){const M=Math.ceil(this.rows/2);for(let B=0;B<this.columns;B++)for(let I=0;I<M;I++){let j=this.get(I,B),J=this.get(this.rows-1-I,B);this.set(I,B,J),this.set(this.rows-1-I,B,j)}return this}kroneckerProduct(M){M=Ce.checkMatrix(M);let B=this.rows,I=this.columns,j=M.rows,J=M.columns,ye=new Ce(B*j,I*J);for(let be=0;be<B;be++)for(let Le=0;Le<I;Le++)for(let Se=0;Se<j;Se++)for(let Ye=0;Ye<J;Ye++)ye.set(j*be+Se,J*Le+Ye,this.get(be,Le)*M.get(Se,Ye));return ye}kroneckerSum(M){if(M=Ce.checkMatrix(M),!this.isSquare()||!M.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let B=this.rows,I=M.rows,j=this.kroneckerProduct(Ce.eye(I,I)),J=Ce.eye(B,B).kroneckerProduct(M);return j.add(J)}transpose(){let M=new Ce(this.columns,this.rows);for(let B=0;B<this.rows;B++)for(let I=0;I<this.columns;I++)M.set(I,B,this.get(B,I));return M}sortRows(M=ht){for(let B=0;B<this.rows;B++)this.setRow(B,this.getRow(B).sort(M));return this}sortColumns(M=ht){for(let B=0;B<this.columns;B++)this.setColumn(B,this.getColumn(B).sort(M));return this}subMatrix(M,B,I,j){$(this,M,B,I,j);let J=new Ce(B-M+1,j-I+1);for(let ye=M;ye<=B;ye++)for(let be=I;be<=j;be++)J.set(ye-M,be-I,this.get(ye,be));return J}subMatrixRow(M,B,I){if(B===void 0&&(B=0),I===void 0&&(I=this.columns-1),B>I||B<0||B>=this.columns||I<0||I>=this.columns)throw new RangeError("Argument out of range");let j=new Ce(M.length,I-B+1);for(let J=0;J<M.length;J++)for(let ye=B;ye<=I;ye++){if(M[J]<0||M[J]>=this.rows)throw new RangeError(`Row index out of range: ${M[J]}`);j.set(J,ye-B,this.get(M[J],ye))}return j}subMatrixColumn(M,B,I){if(B===void 0&&(B=0),I===void 0&&(I=this.rows-1),B>I||B<0||B>=this.rows||I<0||I>=this.rows)throw new RangeError("Argument out of range");let j=new Ce(I-B+1,M.length);for(let J=0;J<M.length;J++)for(let ye=B;ye<=I;ye++){if(M[J]<0||M[J]>=this.columns)throw new RangeError(`Column index out of range: ${M[J]}`);j.set(ye-B,J,this.get(ye,M[J]))}return j}setSubMatrix(M,B,I){if(M=Ce.checkMatrix(M),M.isEmpty())return this;let j=B+M.rows-1,J=I+M.columns-1;$(this,B,j,I,J);for(let ye=0;ye<M.rows;ye++)for(let be=0;be<M.columns;be++)this.set(B+ye,I+be,M.get(ye,be));return this}selection(M,B){Q(this,M),te(this,B);let I=new Ce(M.length,B.length);for(let j=0;j<M.length;j++){let J=M[j];for(let ye=0;ye<B.length;ye++){let be=B[ye];I.set(j,ye,this.get(J,be))}}return I}trace(){let M=Math.min(this.rows,this.columns),B=0;for(let I=0;I<M;I++)B+=this.get(I,I);return B}clone(){return this.constructor.copy(this,new Ce(this.rows,this.columns))}static copy(M,B){for(const[I,j,J]of M.entries())B.set(I,j,J);return B}sum(M){switch(M){case"row":return ce(this);case"column":return oe(this);case void 0:return he(this);default:throw new Error(`invalid option: ${M}`)}}product(M){switch(M){case"row":return se(this);case"column":return pe(this);case void 0:return me(this);default:throw new Error(`invalid option: ${M}`)}}mean(M){const B=this.sum(M);switch(M){case"row":{for(let I=0;I<this.rows;I++)B[I]/=this.columns;return B}case"column":{for(let I=0;I<this.columns;I++)B[I]/=this.rows;return B}case void 0:return B/this.size;default:throw new Error(`invalid option: ${M}`)}}variance(M,B={}){if(typeof M=="object"&&(B=M,M=void 0),typeof B!="object")throw new TypeError("options must be an object");const{unbiased:I=!0,mean:j=this.mean(M)}=B;if(typeof I!="boolean")throw new TypeError("unbiased must be a boolean");switch(M){case"row":{if(!v.isAnyArray(j))throw new TypeError("mean must be an array");return ge(this,I,j)}case"column":{if(!v.isAnyArray(j))throw new TypeError("mean must be an array");return Ee(this,I,j)}case void 0:{if(typeof j!="number")throw new TypeError("mean must be a number");return Ae(this,I,j)}default:throw new Error(`invalid option: ${M}`)}}standardDeviation(M,B){typeof M=="object"&&(B=M,M=void 0);const I=this.variance(M,B);if(M===void 0)return Math.sqrt(I);for(let j=0;j<I.length;j++)I[j]=Math.sqrt(I[j]);return I}center(M,B={}){if(typeof M=="object"&&(B=M,M=void 0),typeof B!="object")throw new TypeError("options must be an object");const{center:I=this.mean(M)}=B;switch(M){case"row":{if(!v.isAnyArray(I))throw new TypeError("center must be an array");return Fe(this,I),this}case"column":{if(!v.isAnyArray(I))throw new TypeError("center must be an array");return Ue(this,I),this}case void 0:{if(typeof I!="number")throw new TypeError("center must be a number");return nt(this,I),this}default:throw new Error(`invalid option: ${M}`)}}scale(M,B={}){if(typeof M=="object"&&(B=M,M=void 0),typeof B!="object")throw new TypeError("options must be an object");let I=B.scale;switch(M){case"row":{if(I===void 0)I=rt(this);else if(!v.isAnyArray(I))throw new TypeError("scale must be an array");return qe(this,I),this}case"column":{if(I===void 0)I=dt(this);else if(!v.isAnyArray(I))throw new TypeError("scale must be an array");return yt(this,I),this}case void 0:{if(I===void 0)I=je(this);else if(typeof I!="number")throw new TypeError("scale must be a number");return at(this,I),this}default:throw new Error(`invalid option: ${M}`)}}toString(M){return L(this,M)}[Symbol.iterator](){return this.entries()}*entries(){for(let M=0;M<this.rows;M++)for(let B=0;B<this.columns;B++)yield[M,B,this.get(M,B)]}*values(){for(let M=0;M<this.rows;M++)for(let B=0;B<this.columns;B++)yield this.get(M,B)}}it.prototype.klass="Matrix",typeof Symbol!="undefined"&&(it.prototype[Symbol.for("nodejs.util.inspect.custom")]=P);function ht(_e,M){return _e-M}function ut(_e){return _e.every(M=>typeof M=="number")}it.random=it.rand,it.randomInt=it.randInt,it.diagonal=it.diag,it.prototype.diagonal=it.prototype.diag,it.identity=it.eye,it.prototype.negate=it.prototype.neg,it.prototype.tensorProduct=it.prototype.kroneckerProduct;const Mt=class wp extends it{constructor(M,B){if(super(),b(this,m),w(this,"data"),wp.isMatrix(M))g(this,m,C).call(this,M.rows,M.columns),wp.copy(M,this);else if(Number.isInteger(M)&&M>=0)g(this,m,C).call(this,M,B);else if(v.isAnyArray(M)){const I=M;if(M=I.length,B=M?I[0].length:0,typeof B!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let j=0;j<M;j++){if(I[j].length!==B)throw new RangeError("Inconsistent array dimensions");if(!ut(I[j]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(I[j]))}this.rows=M,this.columns=B}else throw new TypeError("First argument must be a positive number or an array")}set(M,B,I){return this.data[M][B]=I,this}get(M,B){return this.data[M][B]}removeRow(M){return k(this,M),this.data.splice(M,1),this.rows-=1,this}addRow(M,B){return B===void 0&&(B=M,M=this.rows),k(this,M,!0),B=Float64Array.from(z(this,B)),this.data.splice(M,0,B),this.rows+=1,this}removeColumn(M){W(this,M);for(let B=0;B<this.rows;B++){const I=new Float64Array(this.columns-1);for(let j=0;j<M;j++)I[j]=this.data[B][j];for(let j=M+1;j<this.columns;j++)I[j-1]=this.data[B][j];this.data[B]=I}return this.columns-=1,this}addColumn(M,B){typeof B=="undefined"&&(B=M,M=this.columns),W(this,M,!0),B=Z(this,B);for(let I=0;I<this.rows;I++){const j=new Float64Array(this.columns+1);let J=0;for(;J<M;J++)j[J]=this.data[I][J];for(j[J++]=B[I];J<this.columns+1;J++)j[J]=this.data[I][J-1];this.data[I]=j}return this.columns+=1,this}};m=new WeakSet,C=function(_e,M){if(this.data=[],Number.isInteger(M)&&M>=0)for(let B=0;B<_e;B++)this.data.push(new Float64Array(M));else throw new TypeError("nColumns must be a positive integer");this.rows=_e,this.columns=M};let Ce=Mt;R(it,Ce);const ot=class Mp extends it{constructor(M){if(super(),b(this,d),Ce.isMatrix(M)){if(!M.isSymmetric())throw new TypeError("not symmetric data");E(this,d,Ce.copy(M,new Ce(M.rows,M.rows)))}else if(Number.isInteger(M)&&M>=0)E(this,d,new Ce(M,M));else if(E(this,d,new Ce(M)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return y(this,d).size}get rows(){return y(this,d).rows}get columns(){return y(this,d).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(M){return Ce.isMatrix(M)&&M.klassType==="SymmetricMatrix"}static zeros(M){return new this(M)}static ones(M){return new this(M).fill(1)}clone(){const M=new Mp(this.diagonalSize);for(const[B,I,j]of this.upperRightEntries())M.set(B,I,j);return M}toMatrix(){return new Ce(this)}get(M,B){return y(this,d).get(M,B)}set(M,B,I){return y(this,d).set(M,B,I),y(this,d).set(B,M,I),this}removeCross(M){return y(this,d).removeRow(M),y(this,d).removeColumn(M),this}addCross(M,B){B===void 0&&(B=M,M=this.diagonalSize);const I=B.slice();return I.splice(M,1),y(this,d).addRow(M,I),y(this,d).addColumn(M,B),this}applyMask(M){if(M.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const B=[];for(const[I,j]of M.entries())j||B.push(I);B.reverse();for(const I of B)this.removeCross(I);return this}toCompact(){const{diagonalSize:M}=this,B=new Array(M*(M+1)/2);for(let I=0,j=0,J=0;J<B.length;J++)B[J]=this.get(j,I),++I>=M&&(I=++j);return B}static fromCompact(M){const B=M.length,I=(Math.sqrt(8*B+1)-1)/2;if(!Number.isInteger(I))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(M)}`);const j=new Mp(I);for(let J=0,ye=0,be=0;be<B;be++)j.set(J,ye,M[be]),++J>=I&&(J=++ye);return j}*upperRightEntries(){for(let M=0,B=0;M<this.diagonalSize;void 0){const I=this.get(M,B);yield[M,B,I],++B>=this.diagonalSize&&(B=++M)}}*upperRightValues(){for(let M=0,B=0;M<this.diagonalSize;void 0)yield this.get(M,B),++B>=this.diagonalSize&&(B=++M)}};d=new WeakMap;let Pe=ot;Pe.prototype.klassType="SymmetricMatrix";class Ne extends Pe{static isDistanceMatrix(M){return Pe.isSymmetricMatrix(M)&&M.klassSubType==="DistanceMatrix"}constructor(M){if(super(M),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(M,B,I){return M===B&&(I=0),super.set(M,B,I)}addCross(M,B){return B===void 0&&(B=M,M=this.diagonalSize),B=B.slice(),B[M]=0,super.addCross(M,B)}toSymmetricMatrix(){return new Pe(this)}clone(){const M=new Ne(this.diagonalSize);for(const[B,I,j]of this.upperRightEntries())B!==I&&M.set(B,I,j);return M}toCompact(){const{diagonalSize:M}=this,B=(M-1)*M/2,I=new Array(B);for(let j=1,J=0,ye=0;ye<I.length;ye++)I[ye]=this.get(J,j),++j>=M&&(j=++J+1);return I}static fromCompact(M){const B=M.length;if(B===0)return new this(0);const I=(Math.sqrt(8*B+1)+1)/2;if(!Number.isInteger(I))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(M)}`);const j=new this(I);for(let J=1,ye=0,be=0;be<B;be++)j.set(J,ye,M[be]),++J>=I&&(J=++ye+1);return j}}Ne.prototype.klassSubType="DistanceMatrix";class We extends it{constructor(M,B,I){super(),this.matrix=M,this.rows=B,this.columns=I}}class Be extends We{constructor(M,B){W(M,B),super(M,M.rows,1),this.column=B}set(M,B,I){return this.matrix.set(M,this.column,I),this}get(M){return this.matrix.get(M,this.column)}}class Ve extends We{constructor(M,B){te(M,B),super(M,M.rows,B.length),this.columnIndices=B}set(M,B,I){return this.matrix.set(M,this.columnIndices[B],I),this}get(M,B){return this.matrix.get(M,this.columnIndices[B])}}class $e extends We{constructor(M){super(M,M.rows,M.columns)}set(M,B,I){return this.matrix.set(M,this.columns-B-1,I),this}get(M,B){return this.matrix.get(M,this.columns-B-1)}}class lt extends We{constructor(M){super(M,M.rows,M.columns)}set(M,B,I){return this.matrix.set(this.rows-M-1,B,I),this}get(M,B){return this.matrix.get(this.rows-M-1,B)}}class pt extends We{constructor(M,B){k(M,B),super(M,1,M.columns),this.row=B}set(M,B,I){return this.matrix.set(this.row,B,I),this}get(M,B){return this.matrix.get(this.row,B)}}class xt extends We{constructor(M,B){Q(M,B),super(M,B.length,M.columns),this.rowIndices=B}set(M,B,I){return this.matrix.set(this.rowIndices[M],B,I),this}get(M,B){return this.matrix.get(this.rowIndices[M],B)}}class wt extends We{constructor(M,B,I){Q(M,B),te(M,I),super(M,B.length,I.length),this.rowIndices=B,this.columnIndices=I}set(M,B,I){return this.matrix.set(this.rowIndices[M],this.columnIndices[B],I),this}get(M,B){return this.matrix.get(this.rowIndices[M],this.columnIndices[B])}}class Dt extends We{constructor(M,B,I,j,J){$(M,B,I,j,J),super(M,I-B+1,J-j+1),this.startRow=B,this.startColumn=j}set(M,B,I){return this.matrix.set(this.startRow+M,this.startColumn+B,I),this}get(M,B){return this.matrix.get(this.startRow+M,this.startColumn+B)}}class kt extends We{constructor(M){super(M,M.columns,M.rows)}set(M,B,I){return this.matrix.set(B,M,I),this}get(M,B){return this.matrix.get(B,M)}}class Yt extends it{constructor(M,B={}){const{rows:I=1}=B;if(M.length%I!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=I,this.columns=M.length/I,this.data=M}set(M,B,I){let j=this._calculateIndex(M,B);return this.data[j]=I,this}get(M,B){let I=this._calculateIndex(M,B);return this.data[I]}_calculateIndex(M,B){return M*this.columns+B}}class Wt extends it{constructor(M){super(),this.data=M,this.rows=M.length,this.columns=M[0].length}set(M,B,I){return this.data[M][B]=I,this}get(M,B){return this.data[M][B]}}function Ot(_e,M){if(v.isAnyArray(_e))return _e[0]&&v.isAnyArray(_e[0])?new Wt(_e):new Yt(_e,M);throw new Error("the argument is not an array")}class en{constructor(M){M=Wt.checkMatrix(M);let B=M.clone(),I=B.rows,j=B.columns,J=new Float64Array(I),ye=1,be,Le,Se,Ye,Ge,Re,De,Ke,He;for(be=0;be<I;be++)J[be]=be;for(Ke=new Float64Array(I),Le=0;Le<j;Le++){for(be=0;be<I;be++)Ke[be]=B.get(be,Le);for(be=0;be<I;be++){for(He=Math.min(be,Le),Ge=0,Se=0;Se<He;Se++)Ge+=B.get(be,Se)*Ke[Se];Ke[be]-=Ge,B.set(be,Le,Ke[be])}for(Ye=Le,be=Le+1;be<I;be++)Math.abs(Ke[be])>Math.abs(Ke[Ye])&&(Ye=be);if(Ye!==Le){for(Se=0;Se<j;Se++)Re=B.get(Ye,Se),B.set(Ye,Se,B.get(Le,Se)),B.set(Le,Se,Re);De=J[Ye],J[Ye]=J[Le],J[Le]=De,ye=-ye}if(Le<I&&B.get(Le,Le)!==0)for(be=Le+1;be<I;be++)B.set(be,Le,B.get(be,Le)/B.get(Le,Le))}this.LU=B,this.pivotVector=J,this.pivotSign=ye}isSingular(){let M=this.LU,B=M.columns;for(let I=0;I<B;I++)if(M.get(I,I)===0)return!0;return!1}solve(M){M=Ce.checkMatrix(M);let B=this.LU;if(B.rows!==M.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let j=M.columns,J=M.subMatrixRow(this.pivotVector,0,j-1),ye=B.columns,be,Le,Se;for(Se=0;Se<ye;Se++)for(be=Se+1;be<ye;be++)for(Le=0;Le<j;Le++)J.set(be,Le,J.get(be,Le)-J.get(Se,Le)*B.get(be,Se));for(Se=ye-1;Se>=0;Se--){for(Le=0;Le<j;Le++)J.set(Se,Le,J.get(Se,Le)/B.get(Se,Se));for(be=0;be<Se;be++)for(Le=0;Le<j;Le++)J.set(be,Le,J.get(be,Le)-J.get(Se,Le)*B.get(be,Se))}return J}get determinant(){let M=this.LU;if(!M.isSquare())throw new Error("Matrix must be square");let B=this.pivotSign,I=M.columns;for(let j=0;j<I;j++)B*=M.get(j,j);return B}get lowerTriangularMatrix(){let M=this.LU,B=M.rows,I=M.columns,j=new Ce(B,I);for(let J=0;J<B;J++)for(let ye=0;ye<I;ye++)J>ye?j.set(J,ye,M.get(J,ye)):J===ye?j.set(J,ye,1):j.set(J,ye,0);return j}get upperTriangularMatrix(){let M=this.LU,B=M.rows,I=M.columns,j=new Ce(B,I);for(let J=0;J<B;J++)for(let ye=0;ye<I;ye++)J<=ye?j.set(J,ye,M.get(J,ye)):j.set(J,ye,0);return j}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function vn(_e,M){let B=0;return Math.abs(_e)>Math.abs(M)?(B=M/_e,Math.abs(_e)*Math.sqrt(1+B*B)):M!==0?(B=_e/M,Math.abs(M)*Math.sqrt(1+B*B)):0}class Jn{constructor(M){M=Wt.checkMatrix(M);let B=M.clone(),I=M.rows,j=M.columns,J=new Float64Array(j),ye,be,Le,Se;for(Le=0;Le<j;Le++){let Ye=0;for(ye=Le;ye<I;ye++)Ye=vn(Ye,B.get(ye,Le));if(Ye!==0){for(B.get(Le,Le)<0&&(Ye=-Ye),ye=Le;ye<I;ye++)B.set(ye,Le,B.get(ye,Le)/Ye);for(B.set(Le,Le,B.get(Le,Le)+1),be=Le+1;be<j;be++){for(Se=0,ye=Le;ye<I;ye++)Se+=B.get(ye,Le)*B.get(ye,be);for(Se=-Se/B.get(Le,Le),ye=Le;ye<I;ye++)B.set(ye,be,B.get(ye,be)+Se*B.get(ye,Le))}}J[Le]=-Ye}this.QR=B,this.Rdiag=J}solve(M){M=Ce.checkMatrix(M);let B=this.QR,I=B.rows;if(M.rows!==I)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let j=M.columns,J=M.clone(),ye=B.columns,be,Le,Se,Ye;for(Se=0;Se<ye;Se++)for(Le=0;Le<j;Le++){for(Ye=0,be=Se;be<I;be++)Ye+=B.get(be,Se)*J.get(be,Le);for(Ye=-Ye/B.get(Se,Se),be=Se;be<I;be++)J.set(be,Le,J.get(be,Le)+Ye*B.get(be,Se))}for(Se=ye-1;Se>=0;Se--){for(Le=0;Le<j;Le++)J.set(Se,Le,J.get(Se,Le)/this.Rdiag[Se]);for(be=0;be<Se;be++)for(Le=0;Le<j;Le++)J.set(be,Le,J.get(be,Le)-J.get(Se,Le)*B.get(be,Se))}return J.subMatrix(0,ye-1,0,j-1)}isFullRank(){let M=this.QR.columns;for(let B=0;B<M;B++)if(this.Rdiag[B]===0)return!1;return!0}get upperTriangularMatrix(){let M=this.QR,B=M.columns,I=new Ce(B,B),j,J;for(j=0;j<B;j++)for(J=0;J<B;J++)j<J?I.set(j,J,M.get(j,J)):j===J?I.set(j,J,this.Rdiag[j]):I.set(j,J,0);return I}get orthogonalMatrix(){let M=this.QR,B=M.rows,I=M.columns,j=new Ce(B,I),J,ye,be,Le;for(be=I-1;be>=0;be--){for(J=0;J<B;J++)j.set(J,be,0);for(j.set(be,be,1),ye=be;ye<I;ye++)if(M.get(be,be)!==0){for(Le=0,J=be;J<B;J++)Le+=M.get(J,be)*j.get(J,ye);for(Le=-Le/M.get(be,be),J=be;J<B;J++)j.set(J,ye,j.get(J,ye)+Le*M.get(J,be))}}return j}}class Fn{constructor(M,B={}){if(M=Wt.checkMatrix(M),M.isEmpty())throw new Error("Matrix must be non-empty");let I=M.rows,j=M.columns;const{computeLeftSingularVectors:J=!0,computeRightSingularVectors:ye=!0,autoTranspose:be=!1}=B;let Le=!!J,Se=!!ye,Ye=!1,Ge;if(I<j)if(!be)Ge=M.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{Ge=M.transpose(),I=Ge.rows,j=Ge.columns,Ye=!0;let Qe=Le;Le=Se,Se=Qe}else Ge=M.clone();let Re=Math.min(I,j),De=Math.min(I+1,j),Ke=new Float64Array(De),He=new Ce(I,Re),Je=new Ce(j,j),ke=new Float64Array(j),Ze=new Float64Array(I),tt=new Float64Array(De);for(let Qe=0;Qe<De;Qe++)tt[Qe]=Qe;let mt=Math.min(I-1,j),Tt=Math.max(0,Math.min(j-2,I)),It=Math.max(mt,Tt);for(let Qe=0;Qe<It;Qe++){if(Qe<mt){Ke[Qe]=0;for(let gt=Qe;gt<I;gt++)Ke[Qe]=vn(Ke[Qe],Ge.get(gt,Qe));if(Ke[Qe]!==0){Ge.get(Qe,Qe)<0&&(Ke[Qe]=-Ke[Qe]);for(let gt=Qe;gt<I;gt++)Ge.set(gt,Qe,Ge.get(gt,Qe)/Ke[Qe]);Ge.set(Qe,Qe,Ge.get(Qe,Qe)+1)}Ke[Qe]=-Ke[Qe]}for(let gt=Qe+1;gt<j;gt++){if(Qe<mt&&Ke[Qe]!==0){let Pt=0;for(let St=Qe;St<I;St++)Pt+=Ge.get(St,Qe)*Ge.get(St,gt);Pt=-Pt/Ge.get(Qe,Qe);for(let St=Qe;St<I;St++)Ge.set(St,gt,Ge.get(St,gt)+Pt*Ge.get(St,Qe))}ke[gt]=Ge.get(Qe,gt)}if(Le&&Qe<mt)for(let gt=Qe;gt<I;gt++)He.set(gt,Qe,Ge.get(gt,Qe));if(Qe<Tt){ke[Qe]=0;for(let gt=Qe+1;gt<j;gt++)ke[Qe]=vn(ke[Qe],ke[gt]);if(ke[Qe]!==0){ke[Qe+1]<0&&(ke[Qe]=0-ke[Qe]);for(let gt=Qe+1;gt<j;gt++)ke[gt]/=ke[Qe];ke[Qe+1]+=1}if(ke[Qe]=-ke[Qe],Qe+1<I&&ke[Qe]!==0){for(let gt=Qe+1;gt<I;gt++)Ze[gt]=0;for(let gt=Qe+1;gt<I;gt++)for(let Pt=Qe+1;Pt<j;Pt++)Ze[gt]+=ke[Pt]*Ge.get(gt,Pt);for(let gt=Qe+1;gt<j;gt++){let Pt=-ke[gt]/ke[Qe+1];for(let St=Qe+1;St<I;St++)Ge.set(St,gt,Ge.get(St,gt)+Pt*Ze[St])}}if(Se)for(let gt=Qe+1;gt<j;gt++)Je.set(gt,Qe,ke[gt])}}let vt=Math.min(j,I+1);if(mt<j&&(Ke[mt]=Ge.get(mt,mt)),I<vt&&(Ke[vt-1]=0),Tt+1<vt&&(ke[Tt]=Ge.get(Tt,vt-1)),ke[vt-1]=0,Le){for(let Qe=mt;Qe<Re;Qe++){for(let gt=0;gt<I;gt++)He.set(gt,Qe,0);He.set(Qe,Qe,1)}for(let Qe=mt-1;Qe>=0;Qe--)if(Ke[Qe]!==0){for(let gt=Qe+1;gt<Re;gt++){let Pt=0;for(let St=Qe;St<I;St++)Pt+=He.get(St,Qe)*He.get(St,gt);Pt=-Pt/He.get(Qe,Qe);for(let St=Qe;St<I;St++)He.set(St,gt,He.get(St,gt)+Pt*He.get(St,Qe))}for(let gt=Qe;gt<I;gt++)He.set(gt,Qe,-He.get(gt,Qe));He.set(Qe,Qe,1+He.get(Qe,Qe));for(let gt=0;gt<Qe-1;gt++)He.set(gt,Qe,0)}else{for(let gt=0;gt<I;gt++)He.set(gt,Qe,0);He.set(Qe,Qe,1)}}if(Se)for(let Qe=j-1;Qe>=0;Qe--){if(Qe<Tt&&ke[Qe]!==0)for(let gt=Qe+1;gt<j;gt++){let Pt=0;for(let St=Qe+1;St<j;St++)Pt+=Je.get(St,Qe)*Je.get(St,gt);Pt=-Pt/Je.get(Qe+1,Qe);for(let St=Qe+1;St<j;St++)Je.set(St,gt,Je.get(St,gt)+Pt*Je.get(St,Qe))}for(let gt=0;gt<j;gt++)Je.set(gt,Qe,0);Je.set(Qe,Qe,1)}let Rt=vt-1,Bt=Number.EPSILON;for(;vt>0;){let Qe,gt;for(Qe=vt-2;Qe>=-1&&Qe!==-1;Qe--){const Pt=Number.MIN_VALUE+Bt*Math.abs(Ke[Qe]+Math.abs(Ke[Qe+1]));if(Math.abs(ke[Qe])<=Pt||Number.isNaN(ke[Qe])){ke[Qe]=0;break}}if(Qe===vt-2)gt=4;else{let Pt;for(Pt=vt-1;Pt>=Qe&&Pt!==Qe;Pt--){let St=(Pt!==vt?Math.abs(ke[Pt]):0)+(Pt!==Qe+1?Math.abs(ke[Pt-1]):0);if(Math.abs(Ke[Pt])<=Bt*St){Ke[Pt]=0;break}}Pt===Qe?gt=3:Pt===vt-1?gt=1:(gt=2,Qe=Pt)}switch(Qe++,gt){case 1:{let Pt=ke[vt-2];ke[vt-2]=0;for(let St=vt-2;St>=Qe;St--){let on=vn(Ke[St],Pt),ln=Ke[St]/on,Zt=Pt/on;if(Ke[St]=on,St!==Qe&&(Pt=-Zt*ke[St-1],ke[St-1]=ln*ke[St-1]),Se)for(let Jt=0;Jt<j;Jt++)on=ln*Je.get(Jt,St)+Zt*Je.get(Jt,vt-1),Je.set(Jt,vt-1,-Zt*Je.get(Jt,St)+ln*Je.get(Jt,vt-1)),Je.set(Jt,St,on)}break}case 2:{let Pt=ke[Qe-1];ke[Qe-1]=0;for(let St=Qe;St<vt;St++){let on=vn(Ke[St],Pt),ln=Ke[St]/on,Zt=Pt/on;if(Ke[St]=on,Pt=-Zt*ke[St],ke[St]=ln*ke[St],Le)for(let Jt=0;Jt<I;Jt++)on=ln*He.get(Jt,St)+Zt*He.get(Jt,Qe-1),He.set(Jt,Qe-1,-Zt*He.get(Jt,St)+ln*He.get(Jt,Qe-1)),He.set(Jt,St,on)}break}case 3:{const Pt=Math.max(Math.abs(Ke[vt-1]),Math.abs(Ke[vt-2]),Math.abs(ke[vt-2]),Math.abs(Ke[Qe]),Math.abs(ke[Qe])),St=Ke[vt-1]/Pt,on=Ke[vt-2]/Pt,ln=ke[vt-2]/Pt,Zt=Ke[Qe]/Pt,Jt=ke[Qe]/Pt,Xt=((on+St)*(on-St)+ln*ln)/2,dn=St*ln*(St*ln);let gn=0;(Xt!==0||dn!==0)&&(Xt<0?gn=0-Math.sqrt(Xt*Xt+dn):gn=Math.sqrt(Xt*Xt+dn),gn=dn/(Xt+gn));let Mn=(Zt+St)*(Zt-St)+gn,Hn=Zt*Jt;for(let pn=Qe;pn<vt-1;pn++){let Rn=vn(Mn,Hn);Rn===0&&(Rn=Number.MIN_VALUE);let Yn=Mn/Rn,Gn=Hn/Rn;if(pn!==Qe&&(ke[pn-1]=Rn),Mn=Yn*Ke[pn]+Gn*ke[pn],ke[pn]=Yn*ke[pn]-Gn*Ke[pn],Hn=Gn*Ke[pn+1],Ke[pn+1]=Yn*Ke[pn+1],Se)for(let Cn=0;Cn<j;Cn++)Rn=Yn*Je.get(Cn,pn)+Gn*Je.get(Cn,pn+1),Je.set(Cn,pn+1,-Gn*Je.get(Cn,pn)+Yn*Je.get(Cn,pn+1)),Je.set(Cn,pn,Rn);if(Rn=vn(Mn,Hn),Rn===0&&(Rn=Number.MIN_VALUE),Yn=Mn/Rn,Gn=Hn/Rn,Ke[pn]=Rn,Mn=Yn*ke[pn]+Gn*Ke[pn+1],Ke[pn+1]=-Gn*ke[pn]+Yn*Ke[pn+1],Hn=Gn*ke[pn+1],ke[pn+1]=Yn*ke[pn+1],Le&&pn<I-1)for(let Cn=0;Cn<I;Cn++)Rn=Yn*He.get(Cn,pn)+Gn*He.get(Cn,pn+1),He.set(Cn,pn+1,-Gn*He.get(Cn,pn)+Yn*He.get(Cn,pn+1)),He.set(Cn,pn,Rn)}ke[vt-2]=Mn;break}case 4:{if(Ke[Qe]<=0&&(Ke[Qe]=Ke[Qe]<0?-Ke[Qe]:0,Se))for(let Pt=0;Pt<=Rt;Pt++)Je.set(Pt,Qe,-Je.get(Pt,Qe));for(;Qe<Rt&&!(Ke[Qe]>=Ke[Qe+1]);){let Pt=Ke[Qe];if(Ke[Qe]=Ke[Qe+1],Ke[Qe+1]=Pt,Se&&Qe<j-1)for(let St=0;St<j;St++)Pt=Je.get(St,Qe+1),Je.set(St,Qe+1,Je.get(St,Qe)),Je.set(St,Qe,Pt);if(Le&&Qe<I-1)for(let St=0;St<I;St++)Pt=He.get(St,Qe+1),He.set(St,Qe+1,He.get(St,Qe)),He.set(St,Qe,Pt);Qe++}vt--;break}}}if(Ye){let Qe=Je;Je=He,He=Qe}this.m=I,this.n=j,this.s=Ke,this.U=He,this.V=Je}solve(M){let B=M,I=this.threshold,j=this.s.length,J=Ce.zeros(j,j);for(let Re=0;Re<j;Re++)Math.abs(this.s[Re])<=I?J.set(Re,Re,0):J.set(Re,Re,1/this.s[Re]);let ye=this.U,be=this.rightSingularVectors,Le=be.mmul(J),Se=be.rows,Ye=ye.rows,Ge=Ce.zeros(Se,Ye);for(let Re=0;Re<Se;Re++)for(let De=0;De<Ye;De++){let Ke=0;for(let He=0;He<j;He++)Ke+=Le.get(Re,He)*ye.get(De,He);Ge.set(Re,De,Ke)}return Ge.mmul(B)}solveForDiagonal(M){return this.solve(Ce.diag(M))}inverse(){let M=this.V,B=this.threshold,I=M.rows,j=M.columns,J=new Ce(I,this.s.length);for(let Ye=0;Ye<I;Ye++)for(let Ge=0;Ge<j;Ge++)Math.abs(this.s[Ge])>B&&J.set(Ye,Ge,M.get(Ye,Ge)/this.s[Ge]);let ye=this.U,be=ye.rows,Le=ye.columns,Se=new Ce(I,be);for(let Ye=0;Ye<I;Ye++)for(let Ge=0;Ge<be;Ge++){let Re=0;for(let De=0;De<Le;De++)Re+=J.get(Ye,De)*ye.get(Ge,De);Se.set(Ye,Ge,Re)}return Se}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let M=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,B=0,I=this.s;for(let j=0,J=I.length;j<J;j++)I[j]>M&&B++;return B}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return Ce.diag(this.s)}}function qn(_e,M=!1){return _e=Wt.checkMatrix(_e),M?new Fn(_e).inverse():br(_e,Ce.eye(_e.rows))}function br(_e,M,B=!1){return _e=Wt.checkMatrix(_e),M=Wt.checkMatrix(M),B?new Fn(_e).solve(M):_e.isSquare()?new en(_e).solve(M):new Jn(_e).solve(M)}function Vn(_e){if(_e=Ce.checkMatrix(_e),_e.isSquare()){if(_e.columns===0)return 1;let M,B,I,j;if(_e.columns===2)return M=_e.get(0,0),B=_e.get(0,1),I=_e.get(1,0),j=_e.get(1,1),M*j-B*I;if(_e.columns===3){let J,ye,be;return J=new wt(_e,[1,2],[1,2]),ye=new wt(_e,[1,2],[0,2]),be=new wt(_e,[1,2],[0,1]),M=_e.get(0,0),B=_e.get(0,1),I=_e.get(0,2),M*Vn(J)-B*Vn(ye)+I*Vn(be)}else return new en(_e).determinant}else throw Error("determinant can only be calculated for a square matrix")}function tr(_e,M){let B=[];for(let I=0;I<_e;I++)I!==M&&B.push(I);return B}function lr(_e,M,B,I=1e-9,j=1e-9){if(_e>j)return new Array(M.rows+1).fill(0);{let J=M.addRow(B,[0]);for(let ye=0;ye<J.rows;ye++)Math.abs(J.get(ye,0))<I&&J.set(ye,0,0);return J.to1DArray()}}function nr(_e,M={}){const{thresholdValue:B=1e-9,thresholdError:I=1e-9}=M;_e=Ce.checkMatrix(_e);let j=_e.rows,J=new Ce(j,j);for(let ye=0;ye<j;ye++){let be=Ce.columnVector(_e.getRow(ye)),Le=_e.subMatrixRow(tr(j,ye)).transpose(),Ye=new Fn(Le).solve(be),Ge=Ce.sub(be,Le.mmul(Ye)).abs().max();J.setRow(ye,lr(Ge,Ye,ye,B,I))}return J}function an(_e,M=Number.EPSILON){if(_e=Ce.checkMatrix(_e),_e.isEmpty())return _e.transpose();let B=new Fn(_e,{autoTranspose:!0}),I=B.leftSingularVectors,j=B.rightSingularVectors,J=B.diagonal;for(let ye=0;ye<J.length;ye++)Math.abs(J[ye])>M?J[ye]=1/J[ye]:J[ye]=0;return j.mmul(Ce.diag(J).mmul(I.transpose()))}function tn(_e,M=_e,B={}){_e=new Ce(_e);let I=!1;if(typeof M=="object"&&!Ce.isMatrix(M)&&!v.isAnyArray(M)?(B=M,M=_e,I=!0):M=new Ce(M),_e.rows!==M.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:j=!0}=B;j&&(_e=_e.center("column"),I||(M=M.center("column")));const J=_e.transpose().mmul(M);for(let ye=0;ye<J.rows;ye++)for(let be=0;be<J.columns;be++)J.set(ye,be,J.get(ye,be)*(1/(_e.rows-1)));return J}function An(_e,M=_e,B={}){_e=new Ce(_e);let I=!1;if(typeof M=="object"&&!Ce.isMatrix(M)&&!v.isAnyArray(M)?(B=M,M=_e,I=!0):M=new Ce(M),_e.rows!==M.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:j=!0,scale:J=!0}=B;j&&(_e.center("column"),I||M.center("column")),J&&(_e.scale("column"),I||M.scale("column"));const ye=_e.standardDeviation("column",{unbiased:!0}),be=I?ye:M.standardDeviation("column",{unbiased:!0}),Le=_e.transpose().mmul(M);for(let Se=0;Se<Le.rows;Se++)for(let Ye=0;Ye<Le.columns;Ye++)Le.set(Se,Ye,Le.get(Se,Ye)*(1/(ye[Se]*be[Ye]))*(1/(_e.rows-1)));return Le}class wn{constructor(M,B={}){const{assumeSymmetric:I=!1}=B;if(M=Wt.checkMatrix(M),!M.isSquare())throw new Error("Matrix is not a square matrix");if(M.isEmpty())throw new Error("Matrix must be non-empty");let j=M.columns,J=new Ce(j,j),ye=new Float64Array(j),be=new Float64Array(j),Le=M,Se,Ye,Ge=!1;if(I?Ge=!0:Ge=M.isSymmetric(),Ge){for(Se=0;Se<j;Se++)for(Ye=0;Ye<j;Ye++)J.set(Se,Ye,Le.get(Se,Ye));sn(j,be,ye,J),ir(j,be,ye,J)}else{let Re=new Ce(j,j),De=new Float64Array(j);for(Ye=0;Ye<j;Ye++)for(Se=0;Se<j;Se++)Re.set(Se,Ye,Le.get(Se,Ye));Nt(j,Re,De,J),zt(j,be,ye,J,Re)}this.n=j,this.e=be,this.d=ye,this.V=J}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let M=this.n,B=this.e,I=this.d,j=new Ce(M,M),J,ye;for(J=0;J<M;J++){for(ye=0;ye<M;ye++)j.set(J,ye,0);j.set(J,J,I[J]),B[J]>0?j.set(J,J+1,B[J]):B[J]<0&&j.set(J,J-1,B[J])}return j}}function sn(_e,M,B,I){let j,J,ye,be,Le,Se,Ye,Ge;for(Le=0;Le<_e;Le++)B[Le]=I.get(_e-1,Le);for(be=_e-1;be>0;be--){for(Ge=0,ye=0,Se=0;Se<be;Se++)Ge=Ge+Math.abs(B[Se]);if(Ge===0)for(M[be]=B[be-1],Le=0;Le<be;Le++)B[Le]=I.get(be-1,Le),I.set(be,Le,0),I.set(Le,be,0);else{for(Se=0;Se<be;Se++)B[Se]/=Ge,ye+=B[Se]*B[Se];for(j=B[be-1],J=Math.sqrt(ye),j>0&&(J=-J),M[be]=Ge*J,ye=ye-j*J,B[be-1]=j-J,Le=0;Le<be;Le++)M[Le]=0;for(Le=0;Le<be;Le++){for(j=B[Le],I.set(Le,be,j),J=M[Le]+I.get(Le,Le)*j,Se=Le+1;Se<=be-1;Se++)J+=I.get(Se,Le)*B[Se],M[Se]+=I.get(Se,Le)*j;M[Le]=J}for(j=0,Le=0;Le<be;Le++)M[Le]/=ye,j+=M[Le]*B[Le];for(Ye=j/(ye+ye),Le=0;Le<be;Le++)M[Le]-=Ye*B[Le];for(Le=0;Le<be;Le++){for(j=B[Le],J=M[Le],Se=Le;Se<=be-1;Se++)I.set(Se,Le,I.get(Se,Le)-(j*M[Se]+J*B[Se]));B[Le]=I.get(be-1,Le),I.set(be,Le,0)}}B[be]=ye}for(be=0;be<_e-1;be++){if(I.set(_e-1,be,I.get(be,be)),I.set(be,be,1),ye=B[be+1],ye!==0){for(Se=0;Se<=be;Se++)B[Se]=I.get(Se,be+1)/ye;for(Le=0;Le<=be;Le++){for(J=0,Se=0;Se<=be;Se++)J+=I.get(Se,be+1)*I.get(Se,Le);for(Se=0;Se<=be;Se++)I.set(Se,Le,I.get(Se,Le)-J*B[Se])}}for(Se=0;Se<=be;Se++)I.set(Se,be+1,0)}for(Le=0;Le<_e;Le++)B[Le]=I.get(_e-1,Le),I.set(_e-1,Le,0);I.set(_e-1,_e-1,1),M[0]=0}function ir(_e,M,B,I){let j,J,ye,be,Le,Se,Ye,Ge,Re,De,Ke,He,Je,ke,Ze,tt;for(ye=1;ye<_e;ye++)M[ye-1]=M[ye];M[_e-1]=0;let mt=0,Tt=0,It=Number.EPSILON;for(Se=0;Se<_e;Se++){for(Tt=Math.max(Tt,Math.abs(B[Se])+Math.abs(M[Se])),Ye=Se;Ye<_e&&!(Math.abs(M[Ye])<=It*Tt);)Ye++;if(Ye>Se)do{for(j=B[Se],Ge=(B[Se+1]-j)/(2*M[Se]),Re=vn(Ge,1),Ge<0&&(Re=-Re),B[Se]=M[Se]/(Ge+Re),B[Se+1]=M[Se]*(Ge+Re),De=B[Se+1],J=j-B[Se],ye=Se+2;ye<_e;ye++)B[ye]-=J;for(mt=mt+J,Ge=B[Ye],Ke=1,He=Ke,Je=Ke,ke=M[Se+1],Ze=0,tt=0,ye=Ye-1;ye>=Se;ye--)for(Je=He,He=Ke,tt=Ze,j=Ke*M[ye],J=Ke*Ge,Re=vn(Ge,M[ye]),M[ye+1]=Ze*Re,Ze=M[ye]/Re,Ke=Ge/Re,Ge=Ke*B[ye]-Ze*j,B[ye+1]=J+Ze*(Ke*j+Ze*B[ye]),Le=0;Le<_e;Le++)J=I.get(Le,ye+1),I.set(Le,ye+1,Ze*I.get(Le,ye)+Ke*J),I.set(Le,ye,Ke*I.get(Le,ye)-Ze*J);Ge=-Ze*tt*Je*ke*M[Se]/De,M[Se]=Ze*Ge,B[Se]=Ke*Ge}while(Math.abs(M[Se])>It*Tt);B[Se]=B[Se]+mt,M[Se]=0}for(ye=0;ye<_e-1;ye++){for(Le=ye,Ge=B[ye],be=ye+1;be<_e;be++)B[be]<Ge&&(Le=be,Ge=B[be]);if(Le!==ye)for(B[Le]=B[ye],B[ye]=Ge,be=0;be<_e;be++)Ge=I.get(be,ye),I.set(be,ye,I.get(be,Le)),I.set(be,Le,Ge)}}function Nt(_e,M,B,I){let j=0,J=_e-1,ye,be,Le,Se,Ye,Ge,Re;for(Ge=j+1;Ge<=J-1;Ge++){for(Re=0,Se=Ge;Se<=J;Se++)Re=Re+Math.abs(M.get(Se,Ge-1));if(Re!==0){for(Le=0,Se=J;Se>=Ge;Se--)B[Se]=M.get(Se,Ge-1)/Re,Le+=B[Se]*B[Se];for(be=Math.sqrt(Le),B[Ge]>0&&(be=-be),Le=Le-B[Ge]*be,B[Ge]=B[Ge]-be,Ye=Ge;Ye<_e;Ye++){for(ye=0,Se=J;Se>=Ge;Se--)ye+=B[Se]*M.get(Se,Ye);for(ye=ye/Le,Se=Ge;Se<=J;Se++)M.set(Se,Ye,M.get(Se,Ye)-ye*B[Se])}for(Se=0;Se<=J;Se++){for(ye=0,Ye=J;Ye>=Ge;Ye--)ye+=B[Ye]*M.get(Se,Ye);for(ye=ye/Le,Ye=Ge;Ye<=J;Ye++)M.set(Se,Ye,M.get(Se,Ye)-ye*B[Ye])}B[Ge]=Re*B[Ge],M.set(Ge,Ge-1,Re*be)}}for(Se=0;Se<_e;Se++)for(Ye=0;Ye<_e;Ye++)I.set(Se,Ye,Se===Ye?1:0);for(Ge=J-1;Ge>=j+1;Ge--)if(M.get(Ge,Ge-1)!==0){for(Se=Ge+1;Se<=J;Se++)B[Se]=M.get(Se,Ge-1);for(Ye=Ge;Ye<=J;Ye++){for(be=0,Se=Ge;Se<=J;Se++)be+=B[Se]*I.get(Se,Ye);for(be=be/B[Ge]/M.get(Ge,Ge-1),Se=Ge;Se<=J;Se++)I.set(Se,Ye,I.get(Se,Ye)+be*B[Se])}}}function zt(_e,M,B,I,j){let J=_e-1,ye=0,be=_e-1,Le=Number.EPSILON,Se=0,Ye=0,Ge=0,Re=0,De=0,Ke=0,He=0,Je=0,ke,Ze,tt,mt,Tt,It,vt,Rt,Bt,Qe,gt,Pt,St,on,ln;for(ke=0;ke<_e;ke++)for((ke<ye||ke>be)&&(B[ke]=j.get(ke,ke),M[ke]=0),Ze=Math.max(ke-1,0);Ze<_e;Ze++)Ye=Ye+Math.abs(j.get(ke,Ze));for(;J>=ye;){for(mt=J;mt>ye&&(Ke=Math.abs(j.get(mt-1,mt-1))+Math.abs(j.get(mt,mt)),Ke===0&&(Ke=Ye),!(Math.abs(j.get(mt,mt-1))<Le*Ke));)mt--;if(mt===J)j.set(J,J,j.get(J,J)+Se),B[J]=j.get(J,J),M[J]=0,J--,Je=0;else if(mt===J-1){if(vt=j.get(J,J-1)*j.get(J-1,J),Ge=(j.get(J-1,J-1)-j.get(J,J))/2,Re=Ge*Ge+vt,He=Math.sqrt(Math.abs(Re)),j.set(J,J,j.get(J,J)+Se),j.set(J-1,J-1,j.get(J-1,J-1)+Se),Rt=j.get(J,J),Re>=0){for(He=Ge>=0?Ge+He:Ge-He,B[J-1]=Rt+He,B[J]=B[J-1],He!==0&&(B[J]=Rt-vt/He),M[J-1]=0,M[J]=0,Rt=j.get(J,J-1),Ke=Math.abs(Rt)+Math.abs(He),Ge=Rt/Ke,Re=He/Ke,De=Math.sqrt(Ge*Ge+Re*Re),Ge=Ge/De,Re=Re/De,Ze=J-1;Ze<_e;Ze++)He=j.get(J-1,Ze),j.set(J-1,Ze,Re*He+Ge*j.get(J,Ze)),j.set(J,Ze,Re*j.get(J,Ze)-Ge*He);for(ke=0;ke<=J;ke++)He=j.get(ke,J-1),j.set(ke,J-1,Re*He+Ge*j.get(ke,J)),j.set(ke,J,Re*j.get(ke,J)-Ge*He);for(ke=ye;ke<=be;ke++)He=I.get(ke,J-1),I.set(ke,J-1,Re*He+Ge*I.get(ke,J)),I.set(ke,J,Re*I.get(ke,J)-Ge*He)}else B[J-1]=Rt+Ge,B[J]=Rt+Ge,M[J-1]=He,M[J]=-He;J=J-2,Je=0}else{if(Rt=j.get(J,J),Bt=0,vt=0,mt<J&&(Bt=j.get(J-1,J-1),vt=j.get(J,J-1)*j.get(J-1,J)),Je===10){for(Se+=Rt,ke=ye;ke<=J;ke++)j.set(ke,ke,j.get(ke,ke)-Rt);Ke=Math.abs(j.get(J,J-1))+Math.abs(j.get(J-1,J-2)),Rt=Bt=.75*Ke,vt=-.4375*Ke*Ke}if(Je===30&&(Ke=(Bt-Rt)/2,Ke=Ke*Ke+vt,Ke>0)){for(Ke=Math.sqrt(Ke),Bt<Rt&&(Ke=-Ke),Ke=Rt-vt/((Bt-Rt)/2+Ke),ke=ye;ke<=J;ke++)j.set(ke,ke,j.get(ke,ke)-Ke);Se+=Ke,Rt=Bt=vt=.964}for(Je=Je+1,Tt=J-2;Tt>=mt&&(He=j.get(Tt,Tt),De=Rt-He,Ke=Bt-He,Ge=(De*Ke-vt)/j.get(Tt+1,Tt)+j.get(Tt,Tt+1),Re=j.get(Tt+1,Tt+1)-He-De-Ke,De=j.get(Tt+2,Tt+1),Ke=Math.abs(Ge)+Math.abs(Re)+Math.abs(De),Ge=Ge/Ke,Re=Re/Ke,De=De/Ke,!(Tt===mt||Math.abs(j.get(Tt,Tt-1))*(Math.abs(Re)+Math.abs(De))<Le*(Math.abs(Ge)*(Math.abs(j.get(Tt-1,Tt-1))+Math.abs(He)+Math.abs(j.get(Tt+1,Tt+1))))));)Tt--;for(ke=Tt+2;ke<=J;ke++)j.set(ke,ke-2,0),ke>Tt+2&&j.set(ke,ke-3,0);for(tt=Tt;tt<=J-1&&(on=tt!==J-1,tt!==Tt&&(Ge=j.get(tt,tt-1),Re=j.get(tt+1,tt-1),De=on?j.get(tt+2,tt-1):0,Rt=Math.abs(Ge)+Math.abs(Re)+Math.abs(De),Rt!==0&&(Ge=Ge/Rt,Re=Re/Rt,De=De/Rt)),Rt!==0);tt++)if(Ke=Math.sqrt(Ge*Ge+Re*Re+De*De),Ge<0&&(Ke=-Ke),Ke!==0){for(tt!==Tt?j.set(tt,tt-1,-Ke*Rt):mt!==Tt&&j.set(tt,tt-1,-j.get(tt,tt-1)),Ge=Ge+Ke,Rt=Ge/Ke,Bt=Re/Ke,He=De/Ke,Re=Re/Ge,De=De/Ge,Ze=tt;Ze<_e;Ze++)Ge=j.get(tt,Ze)+Re*j.get(tt+1,Ze),on&&(Ge=Ge+De*j.get(tt+2,Ze),j.set(tt+2,Ze,j.get(tt+2,Ze)-Ge*He)),j.set(tt,Ze,j.get(tt,Ze)-Ge*Rt),j.set(tt+1,Ze,j.get(tt+1,Ze)-Ge*Bt);for(ke=0;ke<=Math.min(J,tt+3);ke++)Ge=Rt*j.get(ke,tt)+Bt*j.get(ke,tt+1),on&&(Ge=Ge+He*j.get(ke,tt+2),j.set(ke,tt+2,j.get(ke,tt+2)-Ge*De)),j.set(ke,tt,j.get(ke,tt)-Ge),j.set(ke,tt+1,j.get(ke,tt+1)-Ge*Re);for(ke=ye;ke<=be;ke++)Ge=Rt*I.get(ke,tt)+Bt*I.get(ke,tt+1),on&&(Ge=Ge+He*I.get(ke,tt+2),I.set(ke,tt+2,I.get(ke,tt+2)-Ge*De)),I.set(ke,tt,I.get(ke,tt)-Ge),I.set(ke,tt+1,I.get(ke,tt+1)-Ge*Re)}}}if(Ye!==0){for(J=_e-1;J>=0;J--)if(Ge=B[J],Re=M[J],Re===0)for(mt=J,j.set(J,J,1),ke=J-1;ke>=0;ke--){for(vt=j.get(ke,ke)-Ge,De=0,Ze=mt;Ze<=J;Ze++)De=De+j.get(ke,Ze)*j.get(Ze,J);if(M[ke]<0)He=vt,Ke=De;else if(mt=ke,M[ke]===0?j.set(ke,J,vt!==0?-De/vt:-De/(Le*Ye)):(Rt=j.get(ke,ke+1),Bt=j.get(ke+1,ke),Re=(B[ke]-Ge)*(B[ke]-Ge)+M[ke]*M[ke],It=(Rt*Ke-He*De)/Re,j.set(ke,J,It),j.set(ke+1,J,Math.abs(Rt)>Math.abs(He)?(-De-vt*It)/Rt:(-Ke-Bt*It)/He)),It=Math.abs(j.get(ke,J)),Le*It*It>1)for(Ze=ke;Ze<=J;Ze++)j.set(Ze,J,j.get(Ze,J)/It)}else if(Re<0)for(mt=J-1,Math.abs(j.get(J,J-1))>Math.abs(j.get(J-1,J))?(j.set(J-1,J-1,Re/j.get(J,J-1)),j.set(J-1,J,-(j.get(J,J)-Ge)/j.get(J,J-1))):(ln=Gt(0,-j.get(J-1,J),j.get(J-1,J-1)-Ge,Re),j.set(J-1,J-1,ln[0]),j.set(J-1,J,ln[1])),j.set(J,J-1,0),j.set(J,J,1),ke=J-2;ke>=0;ke--){for(Qe=0,gt=0,Ze=mt;Ze<=J;Ze++)Qe=Qe+j.get(ke,Ze)*j.get(Ze,J-1),gt=gt+j.get(ke,Ze)*j.get(Ze,J);if(vt=j.get(ke,ke)-Ge,M[ke]<0)He=vt,De=Qe,Ke=gt;else if(mt=ke,M[ke]===0?(ln=Gt(-Qe,-gt,vt,Re),j.set(ke,J-1,ln[0]),j.set(ke,J,ln[1])):(Rt=j.get(ke,ke+1),Bt=j.get(ke+1,ke),Pt=(B[ke]-Ge)*(B[ke]-Ge)+M[ke]*M[ke]-Re*Re,St=(B[ke]-Ge)*2*Re,Pt===0&&St===0&&(Pt=Le*Ye*(Math.abs(vt)+Math.abs(Re)+Math.abs(Rt)+Math.abs(Bt)+Math.abs(He))),ln=Gt(Rt*De-He*Qe+Re*gt,Rt*Ke-He*gt-Re*Qe,Pt,St),j.set(ke,J-1,ln[0]),j.set(ke,J,ln[1]),Math.abs(Rt)>Math.abs(He)+Math.abs(Re)?(j.set(ke+1,J-1,(-Qe-vt*j.get(ke,J-1)+Re*j.get(ke,J))/Rt),j.set(ke+1,J,(-gt-vt*j.get(ke,J)-Re*j.get(ke,J-1))/Rt)):(ln=Gt(-De-Bt*j.get(ke,J-1),-Ke-Bt*j.get(ke,J),He,Re),j.set(ke+1,J-1,ln[0]),j.set(ke+1,J,ln[1]))),It=Math.max(Math.abs(j.get(ke,J-1)),Math.abs(j.get(ke,J))),Le*It*It>1)for(Ze=ke;Ze<=J;Ze++)j.set(Ze,J-1,j.get(Ze,J-1)/It),j.set(Ze,J,j.get(Ze,J)/It)}for(ke=0;ke<_e;ke++)if(ke<ye||ke>be)for(Ze=ke;Ze<_e;Ze++)I.set(ke,Ze,j.get(ke,Ze));for(Ze=_e-1;Ze>=ye;Ze--)for(ke=ye;ke<=be;ke++){for(He=0,tt=ye;tt<=Math.min(Ze,be);tt++)He=He+I.get(ke,tt)*j.get(tt,Ze);I.set(ke,Ze,He)}}}function Gt(_e,M,B,I){let j,J;return Math.abs(B)>Math.abs(I)?(j=I/B,J=B+j*I,[(_e+j*M)/J,(M-j*_e)/J]):(j=B/I,J=I+j*B,[(j*_e+M)/J,(j*M-_e)/J])}class jt{constructor(M){if(M=Wt.checkMatrix(M),!M.isSymmetric())throw new Error("Matrix is not symmetric");let B=M,I=B.rows,j=new Ce(I,I),J=!0,ye,be,Le;for(be=0;be<I;be++){let Se=0;for(Le=0;Le<be;Le++){let Ye=0;for(ye=0;ye<Le;ye++)Ye+=j.get(Le,ye)*j.get(be,ye);Ye=(B.get(be,Le)-Ye)/j.get(Le,Le),j.set(be,Le,Ye),Se=Se+Ye*Ye}for(Se=B.get(be,be)-Se,J&&(J=Se>0),j.set(be,be,Math.sqrt(Math.max(Se,0))),Le=be+1;Le<I;Le++)j.set(be,Le,0)}this.L=j,this.positiveDefinite=J}isPositiveDefinite(){return this.positiveDefinite}solve(M){M=Wt.checkMatrix(M);let B=this.L,I=B.rows;if(M.rows!==I)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let j=M.columns,J=M.clone(),ye,be,Le;for(Le=0;Le<I;Le++)for(be=0;be<j;be++){for(ye=0;ye<Le;ye++)J.set(Le,be,J.get(Le,be)-J.get(ye,be)*B.get(Le,ye));J.set(Le,be,J.get(Le,be)/B.get(Le,Le))}for(Le=I-1;Le>=0;Le--)for(be=0;be<j;be++){for(ye=Le+1;ye<I;ye++)J.set(Le,be,J.get(Le,be)-J.get(ye,be)*B.get(ye,Le));J.set(Le,be,J.get(Le,be)/B.get(Le,Le))}return J}get lowerTriangularMatrix(){return this.L}}class En{constructor(M,B={}){M=Wt.checkMatrix(M);let{Y:I}=B;const{scaleScores:j=!1,maxIterations:J=1e3,terminationCriteria:ye=1e-10}=B;let be;if(I){if(v.isAnyArray(I)&&typeof I[0]=="number"?I=Ce.columnVector(I):I=Wt.checkMatrix(I),I.rows!==M.rows)throw new Error("Y should have the same number of rows as X");be=I.getColumnVector(0)}else be=M.getColumnVector(0);let Le=1,Se,Ye,Ge,Re;for(let De=0;De<J&&Le>ye;De++)Ge=M.transpose().mmul(be).div(be.transpose().mmul(be).get(0,0)),Ge=Ge.div(Ge.norm()),Se=M.mmul(Ge).div(Ge.transpose().mmul(Ge).get(0,0)),De>0&&(Le=Se.clone().sub(Re).pow(2).sum()),Re=Se.clone(),I?(Ye=I.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0)),Ye=Ye.div(Ye.norm()),be=I.mmul(Ye).div(Ye.transpose().mmul(Ye).get(0,0))):be=Se;if(I){let De=M.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0));De=De.div(De.norm());let Ke=M.clone().sub(Se.clone().mmul(De.transpose())),He=be.transpose().mmul(Se).div(Se.transpose().mmul(Se).get(0,0)),Je=I.clone().sub(Se.clone().mulS(He.get(0,0)).mmul(Ye.transpose()));this.t=Se,this.p=De.transpose(),this.w=Ge.transpose(),this.q=Ye,this.u=be,this.s=Se.transpose().mmul(Se),this.xResidual=Ke,this.yResidual=Je,this.betas=He}else this.w=Ge.transpose(),this.s=Se.transpose().mmul(Se).sqrt(),j?this.t=Se.clone().div(this.s.get(0,0)):this.t=Se,this.xResidual=M.sub(Se.mmul(Ge.transpose()))}}Me.XA=it,Me.a_=jt,Me.yQ=jt,Me.Hs=Ne,Me.Ec=wn,Me.dx=wn,Me.LU=en,Me.Rm=en,Me.y3=Ce,Me.qK=Ve,Me.pb=Be,Me.j=$e,Me.sO=lt,Me.BZ=xt,Me.EK=pt,Me.Db=wt,Me.Fx=Dt,Me.tU=kt,Me.Ym=En,Me.rs=En,Me.QR=Jn,Me.TB=Jn,Me.oH=Fn,Me.Sc=Fn,Me.BN=Pe,Me.it=Yt,Me.$r=Wt,Me.QM=An,Me.AV=tn,K=Ce,Me.GH=Vn,Me.SO=qn,Me.uZ=nr,Me.yU=an,Me.F1=br,Me.re=Ot},45411:function(we){"use strict";we.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},75196:function(we,Me,X){var K=X(45411),ee=X(75029),G=Object.hasOwnProperty,_=Object.create(null);for(var F in K)G.call(K,F)&&(_[K[F]]=F);var w=we.exports={to:{},get:{}};w.get=function(b){var E=b.substring(0,3).toLowerCase(),g,m;switch(E){case"hsl":g=w.get.hsl(b),m="hsl";break;case"hwb":g=w.get.hwb(b),m="hwb";break;default:g=w.get.rgb(b),m="rgb";break}return g?{model:m,value:g}:null},w.get.rgb=function(b){if(!b)return null;var E=/^#([a-f0-9]{3,4})$/i,g=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,m=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,C=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,d=/^(\w+)$/,v=[0,0,0,1],A,T,O;if(A=b.match(g)){for(O=A[2],A=A[1],T=0;T<3;T++){var P=T*2;v[T]=parseInt(A.slice(P,P+2),16)}O&&(v[3]=parseInt(O,16)/255)}else if(A=b.match(E)){for(A=A[1],O=A[3],T=0;T<3;T++)v[T]=parseInt(A[T]+A[T],16);O&&(v[3]=parseInt(O+O,16)/255)}else if(A=b.match(m)){for(T=0;T<3;T++)v[T]=parseInt(A[T+1],0);A[4]&&(A[5]?v[3]=parseFloat(A[4])*.01:v[3]=parseFloat(A[4]))}else if(A=b.match(C)){for(T=0;T<3;T++)v[T]=Math.round(parseFloat(A[T+1])*2.55);A[4]&&(A[5]?v[3]=parseFloat(A[4])*.01:v[3]=parseFloat(A[4]))}else return(A=b.match(d))?A[1]==="transparent"?[0,0,0,0]:G.call(K,A[1])?(v=K[A[1]],v[3]=1,v):null:null;for(T=0;T<3;T++)v[T]=x(v[T],0,255);return v[3]=x(v[3],0,1),v},w.get.hsl=function(b){if(!b)return null;var E=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,g=b.match(E);if(g){var m=parseFloat(g[4]),C=(parseFloat(g[1])%360+360)%360,d=x(parseFloat(g[2]),0,100),v=x(parseFloat(g[3]),0,100),A=x(isNaN(m)?1:m,0,1);return[C,d,v,A]}return null},w.get.hwb=function(b){if(!b)return null;var E=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,g=b.match(E);if(g){var m=parseFloat(g[4]),C=(parseFloat(g[1])%360+360)%360,d=x(parseFloat(g[2]),0,100),v=x(parseFloat(g[3]),0,100),A=x(isNaN(m)?1:m,0,1);return[C,d,v,A]}return null},w.to.hex=function(){var b=ee(arguments);return"#"+y(b[0])+y(b[1])+y(b[2])+(b[3]<1?y(Math.round(b[3]*255)):"")},w.to.rgb=function(){var b=ee(arguments);return b.length<4||b[3]===1?"rgb("+Math.round(b[0])+", "+Math.round(b[1])+", "+Math.round(b[2])+")":"rgba("+Math.round(b[0])+", "+Math.round(b[1])+", "+Math.round(b[2])+", "+b[3]+")"},w.to.rgb.percent=function(){var b=ee(arguments),E=Math.round(b[0]/255*100),g=Math.round(b[1]/255*100),m=Math.round(b[2]/255*100);return b.length<4||b[3]===1?"rgb("+E+"%, "+g+"%, "+m+"%)":"rgba("+E+"%, "+g+"%, "+m+"%, "+b[3]+")"},w.to.hsl=function(){var b=ee(arguments);return b.length<4||b[3]===1?"hsl("+b[0]+", "+b[1]+"%, "+b[2]+"%)":"hsla("+b[0]+", "+b[1]+"%, "+b[2]+"%, "+b[3]+")"},w.to.hwb=function(){var b=ee(arguments),E="";return b.length>=4&&b[3]!==1&&(E=", "+b[3]),"hwb("+b[0]+", "+b[1]+"%, "+b[2]+"%"+E+")"},w.to.keyword=function(b){return _[b.slice(0,3)]};function x(b,E,g){return Math.min(Math.max(E,b),g)}function y(b){var E=Math.round(b).toString(16).toUpperCase();return E.length<2?"0"+E:E}},92546:function(we,Me,X){we.exports={graphlib:X(76626),layout:X(47194),debug:X(11303),util:{time:X(53063).time,notime:X(53063).notime},version:X(11897)}},81255:function(we,Me,X){"use strict";var K=X(72361),ee=X(39240);we.exports={run:G,undo:F};function G(w){var x=w.graph().acyclicer==="greedy"?ee(w,y(w)):_(w);K.forEach(x,function(b){var E=w.edge(b);w.removeEdge(b),E.forwardName=b.name,E.reversed=!0,w.setEdge(b.w,b.v,E,K.uniqueId("rev"))});function y(b){return function(E){return b.edge(E).weight}}}function _(w){var x=[],y={},b={};function E(g){K.has(b,g)||(b[g]=!0,y[g]=!0,K.forEach(w.outEdges(g),function(m){K.has(y,m.w)?x.push(m):E(m.w)}),delete y[g])}return K.forEach(w.nodes(),E),x}function F(w){K.forEach(w.edges(),function(x){var y=w.edge(x);if(y.reversed){w.removeEdge(x);var b=y.forwardName;delete y.reversed,delete y.forwardName,w.setEdge(x.w,x.v,y,b)}})}},60765:function(we,Me,X){var K=X(72361),ee=X(53063);we.exports=G;function G(F){function w(x){var y=F.children(x),b=F.node(x);if(y.length&&K.forEach(y,w),K.has(b,"minRank")){b.borderLeft=[],b.borderRight=[];for(var E=b.minRank,g=b.maxRank+1;E<g;++E)_(F,"borderLeft","_bl",x,b,E),_(F,"borderRight","_br",x,b,E)}}K.forEach(F.children(),w)}function _(F,w,x,y,b,E){var g={width:0,height:0,rank:E,borderType:w},m=b[w][E-1],C=ee.addDummyNode(F,"border",g,x);b[w][E]=C,F.setParent(C,y),m&&F.setEdge(m,C,{weight:1})}},13257:function(we,Me,X){"use strict";var K=X(72361);we.exports={adjust:ee,undo:G};function ee(E){var g=E.graph().rankdir.toLowerCase();(g==="lr"||g==="rl")&&_(E)}function G(E){var g=E.graph().rankdir.toLowerCase();(g==="bt"||g==="rl")&&w(E),(g==="lr"||g==="rl")&&(y(E),_(E))}function _(E){K.forEach(E.nodes(),function(g){F(E.node(g))}),K.forEach(E.edges(),function(g){F(E.edge(g))})}function F(E){var g=E.width;E.width=E.height,E.height=g}function w(E){K.forEach(E.nodes(),function(g){x(E.node(g))}),K.forEach(E.edges(),function(g){var m=E.edge(g);K.forEach(m.points,x),K.has(m,"y")&&x(m)})}function x(E){E.y=-E.y}function y(E){K.forEach(E.nodes(),function(g){b(E.node(g))}),K.forEach(E.edges(),function(g){var m=E.edge(g);K.forEach(m.points,b),K.has(m,"x")&&b(m)})}function b(E){var g=E.x;E.x=E.y,E.y=g}},21135:function(we){we.exports=Me;function Me(){var ee={};ee._next=ee._prev=ee,this._sentinel=ee}Me.prototype.dequeue=function(){var ee=this._sentinel,G=ee._prev;if(G!==ee)return X(G),G},Me.prototype.enqueue=function(ee){var G=this._sentinel;ee._prev&&ee._next&&X(ee),ee._next=G._next,G._next._prev=ee,G._next=ee,ee._prev=G},Me.prototype.toString=function(){for(var ee=[],G=this._sentinel,_=G._prev;_!==G;)ee.push(JSON.stringify(_,K)),_=_._prev;return"["+ee.join(", ")+"]"};function X(ee){ee._prev._next=ee._next,ee._next._prev=ee._prev,delete ee._next,delete ee._prev}function K(ee,G){if(ee!=="_next"&&ee!=="_prev")return G}},11303:function(we,Me,X){var K=X(72361),ee=X(53063),G=X(76626).Graph;we.exports={debugOrdering:_};function _(F){var w=ee.buildLayerMatrix(F),x=new G({compound:!0,multigraph:!0}).setGraph({});return K.forEach(F.nodes(),function(y){x.setNode(y,{label:y}),x.setParent(y,"layer"+F.node(y).rank)}),K.forEach(F.edges(),function(y){x.setEdge(y.v,y.w,{},y.name)}),K.forEach(w,function(y,b){var E="layer"+b;x.setNode(E,{rank:"same"}),K.reduce(y,function(g,m){return x.setEdge(g,m,{style:"invis"}),m})}),x}},76626:function(we,Me,X){var K;try{K=X(75172)}catch(ee){}K||(K=window.graphlib),we.exports=K},39240:function(we,Me,X){var K=X(72361),ee=X(76626).Graph,G=X(21135);we.exports=F;var _=K.constant(1);function F(E,g){if(E.nodeCount()<=1)return[];var m=y(E,g||_),C=w(m.graph,m.buckets,m.zeroIdx);return K.flatten(K.map(C,function(d){return E.outEdges(d.v,d.w)}),!0)}function w(E,g,m){for(var C=[],d=g[g.length-1],v=g[0],A;E.nodeCount();){for(;A=v.dequeue();)x(E,g,m,A);for(;A=d.dequeue();)x(E,g,m,A);if(E.nodeCount()){for(var T=g.length-2;T>0;--T)if(A=g[T].dequeue(),A){C=C.concat(x(E,g,m,A,!0));break}}}return C}function x(E,g,m,C,d){var v=d?[]:void 0;return K.forEach(E.inEdges(C.v),function(A){var T=E.edge(A),O=E.node(A.v);d&&v.push({v:A.v,w:A.w}),O.out-=T,b(g,m,O)}),K.forEach(E.outEdges(C.v),function(A){var T=E.edge(A),O=A.w,P=E.node(O);P.in-=T,b(g,m,P)}),E.removeNode(C.v),v}function y(E,g){var m=new ee,C=0,d=0;K.forEach(E.nodes(),function(T){m.setNode(T,{v:T,in:0,out:0})}),K.forEach(E.edges(),function(T){var O=m.edge(T.v,T.w)||0,P=g(T),L=O+P;m.setEdge(T.v,T.w,L),d=Math.max(d,m.node(T.v).out+=P),C=Math.max(C,m.node(T.w).in+=P)});var v=K.range(d+C+3).map(function(){return new G}),A=C+1;return K.forEach(m.nodes(),function(T){b(v,A,m.node(T))}),{graph:m,buckets:v,zeroIdx:A}}function b(E,g,m){m.out?m.in?E[m.out-m.in+g].enqueue(m):E[E.length-1].enqueue(m):E[0].enqueue(m)}},47194:function(we,Me,X){"use strict";var K=X(72361),ee=X(81255),G=X(27163),_=X(64505),F=X(53063).normalizeRanks,w=X(71970),x=X(53063).removeEmptyRanks,y=X(31733),b=X(60765),E=X(13257),g=X(62852),m=X(93021),C=X(53063),d=X(76626).Graph;we.exports=v;function v(ge,Ee){var Ae=Ee&&Ee.debugTiming?C.time:C.notime;Ae("layout",function(){var Fe=Ae(" buildLayoutGraph",function(){return W(ge)});Ae(" runLayout",function(){A(Fe,Ae)}),Ae(" updateInputGraph",function(){T(ge,Fe)})})}function A(ge,Ee){Ee(" makeSpaceForEdgeLabels",function(){z(ge)}),Ee(" removeSelfEdges",function(){oe(ge)}),Ee(" acyclic",function(){ee.run(ge)}),Ee(" nestingGraph.run",function(){y.run(ge)}),Ee(" rank",function(){_(C.asNonCompoundGraph(ge))}),Ee(" injectEdgeLabelProxies",function(){Z(ge)}),Ee(" removeEmptyRanks",function(){x(ge)}),Ee(" nestingGraph.cleanup",function(){y.cleanup(ge)}),Ee(" normalizeRanks",function(){F(ge)}),Ee(" assignRankMinMax",function(){Q(ge)}),Ee(" removeEdgeLabelProxies",function(){te(ge)}),Ee(" normalize.run",function(){G.run(ge)}),Ee(" parentDummyChains",function(){w(ge)}),Ee(" addBorderSegments",function(){b(ge)}),Ee(" order",function(){g(ge)}),Ee(" insertSelfEdges",function(){he(ge)}),Ee(" adjustCoordinateSystem",function(){E.adjust(ge)}),Ee(" position",function(){m(ge)}),Ee(" positionSelfEdges",function(){se(ge)}),Ee(" removeBorderNodes",function(){ce(ge)}),Ee(" normalize.undo",function(){G.undo(ge)}),Ee(" fixupEdgeLabelCoords",function(){ae(ge)}),Ee(" undoCoordinateSystem",function(){E.undo(ge)}),Ee(" translateGraph",function(){$(ge)}),Ee(" assignNodeIntersects",function(){ie(ge)}),Ee(" reversePoints",function(){re(ge)}),Ee(" acyclic.undo",function(){ee.undo(ge)})}function T(ge,Ee){K.forEach(ge.nodes(),function(Ae){var Fe=ge.node(Ae),Ue=Ee.node(Ae);Fe&&(Fe.x=Ue.x,Fe.y=Ue.y,Ee.children(Ae).length&&(Fe.width=Ue.width,Fe.height=Ue.height))}),K.forEach(ge.edges(),function(Ae){var Fe=ge.edge(Ae),Ue=Ee.edge(Ae);Fe.points=Ue.points,K.has(Ue,"x")&&(Fe.x=Ue.x,Fe.y=Ue.y)}),ge.graph().width=Ee.graph().width,ge.graph().height=Ee.graph().height}var O=["nodesep","edgesep","ranksep","marginx","marginy"],P={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},L=["acyclicer","ranker","rankdir","align"],c=["width","height"],f={width:0,height:0},D=["minlen","weight","width","height","labeloffset"],R={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},k=["labelpos"];function W(ge){var Ee=new d({multigraph:!0,compound:!0}),Ae=me(ge.graph());return Ee.setGraph(K.merge({},P,pe(Ae,O),K.pick(Ae,L))),K.forEach(ge.nodes(),function(Fe){var Ue=me(ge.node(Fe));Ee.setNode(Fe,K.defaults(pe(Ue,c),f)),Ee.setParent(Fe,ge.parent(Fe))}),K.forEach(ge.edges(),function(Fe){var Ue=me(ge.edge(Fe));Ee.setEdge(Fe,K.merge({},R,pe(Ue,D),K.pick(Ue,k)))}),Ee}function z(ge){var Ee=ge.graph();Ee.ranksep/=2,K.forEach(ge.edges(),function(Ae){var Fe=ge.edge(Ae);Fe.minlen*=2,Fe.labelpos.toLowerCase()!=="c"&&(Ee.rankdir==="TB"||Ee.rankdir==="BT"?Fe.width+=Fe.labeloffset:Fe.height+=Fe.labeloffset)})}function Z(ge){K.forEach(ge.edges(),function(Ee){var Ae=ge.edge(Ee);if(Ae.width&&Ae.height){var Fe=ge.node(Ee.v),Ue=ge.node(Ee.w),nt={rank:(Ue.rank-Fe.rank)/2+Fe.rank,e:Ee};C.addDummyNode(ge,"edge-proxy",nt,"_ep")}})}function Q(ge){var Ee=0;K.forEach(ge.nodes(),function(Ae){var Fe=ge.node(Ae);Fe.borderTop&&(Fe.minRank=ge.node(Fe.borderTop).rank,Fe.maxRank=ge.node(Fe.borderBottom).rank,Ee=K.max(Ee,Fe.maxRank))}),ge.graph().maxRank=Ee}function te(ge){K.forEach(ge.nodes(),function(Ee){var Ae=ge.node(Ee);Ae.dummy==="edge-proxy"&&(ge.edge(Ae.e).labelRank=Ae.rank,ge.removeNode(Ee))})}function $(ge){var Ee=Number.POSITIVE_INFINITY,Ae=0,Fe=Number.POSITIVE_INFINITY,Ue=0,nt=ge.graph(),rt=nt.marginx||0,qe=nt.marginy||0;function dt(yt){var je=yt.x,at=yt.y,it=yt.width,ht=yt.height;Ee=Math.min(Ee,je-it/2),Ae=Math.max(Ae,je+it/2),Fe=Math.min(Fe,at-ht/2),Ue=Math.max(Ue,at+ht/2)}K.forEach(ge.nodes(),function(yt){dt(ge.node(yt))}),K.forEach(ge.edges(),function(yt){var je=ge.edge(yt);K.has(je,"x")&&dt(je)}),Ee-=rt,Fe-=qe,K.forEach(ge.nodes(),function(yt){var je=ge.node(yt);je.x-=Ee,je.y-=Fe}),K.forEach(ge.edges(),function(yt){var je=ge.edge(yt);K.forEach(je.points,function(at){at.x-=Ee,at.y-=Fe}),K.has(je,"x")&&(je.x-=Ee),K.has(je,"y")&&(je.y-=Fe)}),nt.width=Ae-Ee+rt,nt.height=Ue-Fe+qe}function ie(ge){K.forEach(ge.edges(),function(Ee){var Ae=ge.edge(Ee),Fe=ge.node(Ee.v),Ue=ge.node(Ee.w),nt,rt;Ae.points?(nt=Ae.points[0],rt=Ae.points[Ae.points.length-1]):(Ae.points=[],nt=Ue,rt=Fe),Ae.points.unshift(C.intersectRect(Fe,nt)),Ae.points.push(C.intersectRect(Ue,rt))})}function ae(ge){K.forEach(ge.edges(),function(Ee){var Ae=ge.edge(Ee);if(K.has(Ae,"x"))switch((Ae.labelpos==="l"||Ae.labelpos==="r")&&(Ae.width-=Ae.labeloffset),Ae.labelpos){case"l":Ae.x-=Ae.width/2+Ae.labeloffset;break;case"r":Ae.x+=Ae.width/2+Ae.labeloffset;break}})}function re(ge){K.forEach(ge.edges(),function(Ee){var Ae=ge.edge(Ee);Ae.reversed&&Ae.points.reverse()})}function ce(ge){K.forEach(ge.nodes(),function(Ee){if(ge.children(Ee).length){var Ae=ge.node(Ee),Fe=ge.node(Ae.borderTop),Ue=ge.node(Ae.borderBottom),nt=ge.node(K.last(Ae.borderLeft)),rt=ge.node(K.last(Ae.borderRight));Ae.width=Math.abs(rt.x-nt.x),Ae.height=Math.abs(Ue.y-Fe.y),Ae.x=nt.x+Ae.width/2,Ae.y=Fe.y+Ae.height/2}}),K.forEach(ge.nodes(),function(Ee){ge.node(Ee).dummy==="border"&&ge.removeNode(Ee)})}function oe(ge){K.forEach(ge.edges(),function(Ee){if(Ee.v===Ee.w){var Ae=ge.node(Ee.v);Ae.selfEdges||(Ae.selfEdges=[]),Ae.selfEdges.push({e:Ee,label:ge.edge(Ee)}),ge.removeEdge(Ee)}})}function he(ge){var Ee=C.buildLayerMatrix(ge);K.forEach(Ee,function(Ae){var Fe=0;K.forEach(Ae,function(Ue,nt){var rt=ge.node(Ue);rt.order=nt+Fe,K.forEach(rt.selfEdges,function(qe){C.addDummyNode(ge,"selfedge",{width:qe.label.width,height:qe.label.height,rank:rt.rank,order:nt+ ++Fe,e:qe.e,label:qe.label},"_se")}),delete rt.selfEdges})})}function se(ge){K.forEach(ge.nodes(),function(Ee){var Ae=ge.node(Ee);if(Ae.dummy==="selfedge"){var Fe=ge.node(Ae.e.v),Ue=Fe.x+Fe.width/2,nt=Fe.y,rt=Ae.x-Ue,qe=Fe.height/2;ge.setEdge(Ae.e,Ae.label),ge.removeNode(Ee),Ae.label.points=[{x:Ue+2*rt/3,y:nt-qe},{x:Ue+5*rt/6,y:nt-qe},{x:Ue+rt,y:nt},{x:Ue+5*rt/6,y:nt+qe},{x:Ue+2*rt/3,y:nt+qe}],Ae.label.x=Ae.x,Ae.label.y=Ae.y}})}function pe(ge,Ee){return K.mapValues(K.pick(ge,Ee),Number)}function me(ge){var Ee={};return K.forEach(ge,function(Ae,Fe){Ee[Fe.toLowerCase()]=Ae}),Ee}},72361:function(we,Me,X){var K;try{K={cloneDeep:X(20250),constant:X(13503),defaults:X(28548),each:X(76934),filter:X(64725),find:X(79785),flatten:X(40151),forEach:X(99204),forIn:X(23190),has:X(99946),isUndefined:X(16513),last:X(10611),map:X(9924),mapValues:X(70642),max:X(95987),merge:X(28440),min:X(73376),minBy:X(83296),now:X(5795),pick:X(89409),range:X(60859),reduce:X(16473),sortBy:X(351),uniqueId:X(95708),values:X(81229),zipObject:X(65441)}}catch(ee){}K||(K=window._),we.exports=K},31733:function(we,Me,X){var K=X(72361),ee=X(53063);we.exports={run:G,cleanup:x};function G(y){var b=ee.addDummyNode(y,"root",{},"_root"),E=F(y),g=K.max(K.values(E))-1,m=2*g+1;y.graph().nestingRoot=b,K.forEach(y.edges(),function(d){y.edge(d).minlen*=m});var C=w(y)+1;K.forEach(y.children(),function(d){_(y,b,m,C,g,E,d)}),y.graph().nodeRankFactor=m}function _(y,b,E,g,m,C,d){var v=y.children(d);if(!v.length){d!==b&&y.setEdge(b,d,{weight:0,minlen:E});return}var A=ee.addBorderNode(y,"_bt"),T=ee.addBorderNode(y,"_bb"),O=y.node(d);y.setParent(A,d),O.borderTop=A,y.setParent(T,d),O.borderBottom=T,K.forEach(v,function(P){_(y,b,E,g,m,C,P);var L=y.node(P),c=L.borderTop?L.borderTop:P,f=L.borderBottom?L.borderBottom:P,D=L.borderTop?g:2*g,R=c!==f?1:m-C[d]+1;y.setEdge(A,c,{weight:D,minlen:R,nestingEdge:!0}),y.setEdge(f,T,{weight:D,minlen:R,nestingEdge:!0})}),y.parent(d)||y.setEdge(b,A,{weight:0,minlen:m+C[d]})}function F(y){var b={};function E(g,m){var C=y.children(g);C&&C.length&&K.forEach(C,function(d){E(d,m+1)}),b[g]=m}return K.forEach(y.children(),function(g){E(g,1)}),b}function w(y){return K.reduce(y.edges(),function(b,E){return b+y.edge(E).weight},0)}function x(y){var b=y.graph();y.removeNode(b.nestingRoot),delete b.nestingRoot,K.forEach(y.edges(),function(E){var g=y.edge(E);g.nestingEdge&&y.removeEdge(E)})}},27163:function(we,Me,X){"use strict";var K=X(72361),ee=X(53063);we.exports={run:G,undo:F};function G(w){w.graph().dummyChains=[],K.forEach(w.edges(),function(x){_(w,x)})}function _(w,x){var y=x.v,b=w.node(y).rank,E=x.w,g=w.node(E).rank,m=x.name,C=w.edge(x),d=C.labelRank;if(g!==b+1){w.removeEdge(x);var v,A,T;for(T=0,++b;b<g;++T,++b)C.points=[],A={width:0,height:0,edgeLabel:C,edgeObj:x,rank:b},v=ee.addDummyNode(w,"edge",A,"_d"),b===d&&(A.width=C.width,A.height=C.height,A.dummy="edge-label",A.labelpos=C.labelpos),w.setEdge(y,v,{weight:C.weight},m),T===0&&w.graph().dummyChains.push(v),y=v;w.setEdge(y,E,{weight:C.weight},m)}}function F(w){K.forEach(w.graph().dummyChains,function(x){var y=w.node(x),b=y.edgeLabel,E;for(w.setEdge(y.edgeObj,b);y.dummy;)E=w.successors(x)[0],w.removeNode(x),b.points.push({x:y.x,y:y.y}),y.dummy==="edge-label"&&(b.x=y.x,b.y=y.y,b.width=y.width,b.height=y.height),x=E,y=w.node(x)})}},52205:function(we,Me,X){var K=X(72361);we.exports=ee;function ee(G,_,F){var w={},x;K.forEach(F,function(y){for(var b=G.parent(y),E,g;b;){if(E=G.parent(b),E?(g=w[E],w[E]=b):(g=x,x=b),g&&g!==b){_.setEdge(g,b);return}b=E}})}},99506:function(we,Me,X){var K=X(72361);we.exports=ee;function ee(G,_){return K.map(_,function(F){var w=G.inEdges(F);if(w.length){var x=K.reduce(w,function(y,b){var E=G.edge(b),g=G.node(b.v);return{sum:y.sum+E.weight*g.order,weight:y.weight+E.weight}},{sum:0,weight:0});return{v:F,barycenter:x.sum/x.weight,weight:x.weight}}else return{v:F}})}},59105:function(we,Me,X){var K=X(72361),ee=X(76626).Graph;we.exports=G;function G(F,w,x){var y=_(F),b=new ee({compound:!0}).setGraph({root:y}).setDefaultNodeLabel(function(E){return F.node(E)});return K.forEach(F.nodes(),function(E){var g=F.node(E),m=F.parent(E);(g.rank===w||g.minRank<=w&&w<=g.maxRank)&&(b.setNode(E),b.setParent(E,m||y),K.forEach(F[x](E),function(C){var d=C.v===E?C.w:C.v,v=b.edge(d,E),A=K.isUndefined(v)?0:v.weight;b.setEdge(d,E,{weight:F.edge(C).weight+A})}),K.has(g,"minRank")&&b.setNode(E,{borderLeft:g.borderLeft[w],borderRight:g.borderRight[w]}))}),b}function _(F){for(var w;F.hasNode(w=K.uniqueId("_root")););return w}},45456:function(we,Me,X){"use strict";var K=X(72361);we.exports=ee;function ee(_,F){for(var w=0,x=1;x<F.length;++x)w+=G(_,F[x-1],F[x]);return w}function G(_,F,w){for(var x=K.zipObject(w,K.map(w,function(C,d){return d})),y=K.flatten(K.map(F,function(C){return K.sortBy(K.map(_.outEdges(C),function(d){return{pos:x[d.w],weight:_.edge(d).weight}}),"pos")}),!0),b=1;b<w.length;)b<<=1;var E=2*b-1;b-=1;var g=K.map(new Array(E),function(){return 0}),m=0;return K.forEach(y.forEach(function(C){var d=C.pos+b;g[d]+=C.weight;for(var v=0;d>0;)d%2&&(v+=g[d+1]),d=d-1>>1,g[d]+=C.weight;m+=C.weight*v})),m}},62852:function(we,Me,X){"use strict";var K=X(72361),ee=X(18043),G=X(45456),_=X(86490),F=X(59105),w=X(52205),x=X(76626).Graph,y=X(53063);we.exports=b;function b(C){var d=y.maxRank(C),v=E(C,K.range(1,d+1),"inEdges"),A=E(C,K.range(d-1,-1,-1),"outEdges"),T=ee(C);m(C,T);for(var O=Number.POSITIVE_INFINITY,P,L=0,c=0;c<4;++L,++c){g(L%2?v:A,L%4>=2),T=y.buildLayerMatrix(C);var f=G(C,T);f<O&&(c=0,P=K.cloneDeep(T),O=f)}m(C,P)}function E(C,d,v){return K.map(d,function(A){return F(C,A,v)})}function g(C,d){var v=new x;K.forEach(C,function(A){var T=A.graph().root,O=_(A,T,v,d);K.forEach(O.vs,function(P,L){A.node(P).order=L}),w(A,v,O.vs)})}function m(C,d){K.forEach(d,function(v){K.forEach(v,function(A,T){C.node(A).order=T})})}},18043:function(we,Me,X){"use strict";var K=X(72361);we.exports=ee;function ee(G){var _={},F=K.filter(G.nodes(),function(E){return!G.children(E).length}),w=K.max(K.map(F,function(E){return G.node(E).rank})),x=K.map(K.range(w+1),function(){return[]});function y(E){if(!K.has(_,E)){_[E]=!0;var g=G.node(E);x[g.rank].push(E),K.forEach(G.successors(E),y)}}var b=K.sortBy(F,function(E){return G.node(E).rank});return K.forEach(b,y),x}},45926:function(we,Me,X){"use strict";var K=X(72361);we.exports=ee;function ee(F,w){var x={};K.forEach(F,function(b,E){var g=x[b.v]={indegree:0,in:[],out:[],vs:[b.v],i:E};K.isUndefined(b.barycenter)||(g.barycenter=b.barycenter,g.weight=b.weight)}),K.forEach(w.edges(),function(b){var E=x[b.v],g=x[b.w];!K.isUndefined(E)&&!K.isUndefined(g)&&(g.indegree++,E.out.push(x[b.w]))});var y=K.filter(x,function(b){return!b.indegree});return G(y)}function G(F){var w=[];function x(E){return function(g){g.merged||(K.isUndefined(g.barycenter)||K.isUndefined(E.barycenter)||g.barycenter>=E.barycenter)&&_(E,g)}}function y(E){return function(g){g.in.push(E),--g.indegree===0&&F.push(g)}}for(;F.length;){var b=F.pop();w.push(b),K.forEach(b.in.reverse(),x(b)),K.forEach(b.out,y(b))}return K.map(K.filter(w,function(E){return!E.merged}),function(E){return K.pick(E,["vs","i","barycenter","weight"])})}function _(F,w){var x=0,y=0;F.weight&&(x+=F.barycenter*F.weight,y+=F.weight),w.weight&&(x+=w.barycenter*w.weight,y+=w.weight),F.vs=w.vs.concat(F.vs),F.barycenter=x/y,F.weight=y,F.i=Math.min(w.i,F.i),w.merged=!0}},86490:function(we,Me,X){var K=X(72361),ee=X(99506),G=X(45926),_=X(1349);we.exports=F;function F(y,b,E,g){var m=y.children(b),C=y.node(b),d=C?C.borderLeft:void 0,v=C?C.borderRight:void 0,A={};d&&(m=K.filter(m,function(f){return f!==d&&f!==v}));var T=ee(y,m);K.forEach(T,function(f){if(y.children(f.v).length){var D=F(y,f.v,E,g);A[f.v]=D,K.has(D,"barycenter")&&x(f,D)}});var O=G(T,E);w(O,A);var P=_(O,g);if(d&&(P.vs=K.flatten([d,P.vs,v],!0),y.predecessors(d).length)){var L=y.node(y.predecessors(d)[0]),c=y.node(y.predecessors(v)[0]);K.has(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+L.order+c.order)/(P.weight+2),P.weight+=2}return P}function w(y,b){K.forEach(y,function(E){E.vs=K.flatten(E.vs.map(function(g){return b[g]?b[g].vs:g}),!0)})}function x(y,b){K.isUndefined(y.barycenter)?(y.barycenter=b.barycenter,y.weight=b.weight):(y.barycenter=(y.barycenter*y.weight+b.barycenter*b.weight)/(y.weight+b.weight),y.weight+=b.weight)}},1349:function(we,Me,X){var K=X(72361),ee=X(53063);we.exports=G;function G(w,x){var y=ee.partition(w,function(A){return K.has(A,"barycenter")}),b=y.lhs,E=K.sortBy(y.rhs,function(A){return-A.i}),g=[],m=0,C=0,d=0;b.sort(F(!!x)),d=_(g,E,d),K.forEach(b,function(A){d+=A.vs.length,g.push(A.vs),m+=A.barycenter*A.weight,C+=A.weight,d=_(g,E,d)});var v={vs:K.flatten(g,!0)};return C&&(v.barycenter=m/C,v.weight=C),v}function _(w,x,y){for(var b;x.length&&(b=K.last(x)).i<=y;)x.pop(),w.push(b.vs),y++;return y}function F(w){return function(x,y){return x.barycenter<y.barycenter?-1:x.barycenter>y.barycenter?1:w?y.i-x.i:x.i-y.i}}},71970:function(we,Me,X){var K=X(72361);we.exports=ee;function ee(F){var w=_(F);K.forEach(F.graph().dummyChains,function(x){for(var y=F.node(x),b=y.edgeObj,E=G(F,w,b.v,b.w),g=E.path,m=E.lca,C=0,d=g[C],v=!0;x!==b.w;){if(y=F.node(x),v){for(;(d=g[C])!==m&&F.node(d).maxRank<y.rank;)C++;d===m&&(v=!1)}if(!v){for(;C<g.length-1&&F.node(d=g[C+1]).minRank<=y.rank;)C++;d=g[C]}F.setParent(x,d),x=F.successors(x)[0]}})}function G(F,w,x,y){var b=[],E=[],g=Math.min(w[x].low,w[y].low),m=Math.max(w[x].lim,w[y].lim),C,d;C=x;do C=F.parent(C),b.push(C);while(C&&(w[C].low>g||m>w[C].lim));for(d=C,C=y;(C=F.parent(C))!==d;)E.push(C);return{path:b.concat(E.reverse()),lca:d}}function _(F){var w={},x=0;function y(b){var E=x;K.forEach(F.children(b),y),w[b]={low:E,lim:x++}}return K.forEach(F.children(),y),w}},92080:function(we,Me,X){"use strict";var K=X(72361),ee=X(76626).Graph,G=X(53063);we.exports={positionX:v,findType1Conflicts:_,findType2Conflicts:F,addConflict:x,hasConflict:y,verticalAlignment:b,horizontalCompaction:E,alignCoordinates:C,findSmallestWidthAlignment:m,balance:d};function _(O,P){var L={};function c(f,D){var R=0,k=0,W=f.length,z=K.last(D);return K.forEach(D,function(Z,Q){var te=w(O,Z),$=te?O.node(te).order:W;(te||Z===z)&&(K.forEach(D.slice(k,Q+1),function(ie){K.forEach(O.predecessors(ie),function(ae){var re=O.node(ae),ce=re.order;(ce<R||$<ce)&&!(re.dummy&&O.node(ie).dummy)&&x(L,ae,ie)})}),k=Q+1,R=$)}),D}return K.reduce(P,c),L}function F(O,P){var L={};function c(D,R,k,W,z){var Z;K.forEach(K.range(R,k),function(Q){Z=D[Q],O.node(Z).dummy&&K.forEach(O.predecessors(Z),function(te){var $=O.node(te);$.dummy&&($.order<W||$.order>z)&&x(L,te,Z)})})}function f(D,R){var k=-1,W,z=0;return K.forEach(R,function(Z,Q){if(O.node(Z).dummy==="border"){var te=O.predecessors(Z);te.length&&(W=O.node(te[0]).order,c(R,z,Q,k,W),z=Q,k=W)}c(R,z,R.length,W,D.length)}),R}return K.reduce(P,f),L}function w(O,P){if(O.node(P).dummy)return K.find(O.predecessors(P),function(L){return O.node(L).dummy})}function x(O,P,L){if(P>L){var c=P;P=L,L=c}var f=O[P];f||(O[P]=f={}),f[L]=!0}function y(O,P,L){if(P>L){var c=P;P=L,L=c}return K.has(O[P],L)}function b(O,P,L,c){var f={},D={},R={};return K.forEach(P,function(k){K.forEach(k,function(W,z){f[W]=W,D[W]=W,R[W]=z})}),K.forEach(P,function(k){var W=-1;K.forEach(k,function(z){var Z=c(z);if(Z.length){Z=K.sortBy(Z,function(ae){return R[ae]});for(var Q=(Z.length-1)/2,te=Math.floor(Q),$=Math.ceil(Q);te<=$;++te){var ie=Z[te];D[z]===z&&W<R[ie]&&!y(L,z,ie)&&(D[ie]=z,D[z]=f[z]=f[ie],W=R[ie])}}})}),{root:f,align:D}}function E(O,P,L,c,f){var D={},R=g(O,P,L,f),k=f?"borderLeft":"borderRight";function W(Q,te){for(var $=R.nodes(),ie=$.pop(),ae={};ie;)ae[ie]?Q(ie):(ae[ie]=!0,$.push(ie),$=$.concat(te(ie))),ie=$.pop()}function z(Q){D[Q]=R.inEdges(Q).reduce(function(te,$){return Math.max(te,D[$.v]+R.edge($))},0)}function Z(Q){var te=R.outEdges(Q).reduce(function(ie,ae){return Math.min(ie,D[ae.w]-R.edge(ae))},Number.POSITIVE_INFINITY),$=O.node(Q);te!==Number.POSITIVE_INFINITY&&$.borderType!==k&&(D[Q]=Math.max(D[Q],te))}return W(z,R.predecessors.bind(R)),W(Z,R.successors.bind(R)),K.forEach(c,function(Q){D[Q]=D[L[Q]]}),D}function g(O,P,L,c){var f=new ee,D=O.graph(),R=A(D.nodesep,D.edgesep,c);return K.forEach(P,function(k){var W;K.forEach(k,function(z){var Z=L[z];if(f.setNode(Z),W){var Q=L[W],te=f.edge(Q,Z);f.setEdge(Q,Z,Math.max(R(O,z,W),te||0))}W=z})}),f}function m(O,P){return K.minBy(K.values(P),function(L){var c=Number.NEGATIVE_INFINITY,f=Number.POSITIVE_INFINITY;return K.forIn(L,function(D,R){var k=T(O,R)/2;c=Math.max(D+k,c),f=Math.min(D-k,f)}),c-f})}function C(O,P){var L=K.values(P),c=K.min(L),f=K.max(L);K.forEach(["u","d"],function(D){K.forEach(["l","r"],function(R){var k=D+R,W=O[k],z;if(W!==P){var Z=K.values(W);z=R==="l"?c-K.min(Z):f-K.max(Z),z&&(O[k]=K.mapValues(W,function(Q){return Q+z}))}})})}function d(O,P){return K.mapValues(O.ul,function(L,c){if(P)return O[P.toLowerCase()][c];var f=K.sortBy(K.map(O,c));return(f[1]+f[2])/2})}function v(O){var P=G.buildLayerMatrix(O),L=K.merge(_(O,P),F(O,P)),c={},f;K.forEach(["u","d"],function(R){f=R==="u"?P:K.values(P).reverse(),K.forEach(["l","r"],function(k){k==="r"&&(f=K.map(f,function(Q){return K.values(Q).reverse()}));var W=(R==="u"?O.predecessors:O.successors).bind(O),z=b(O,f,L,W),Z=E(O,f,z.root,z.align,k==="r");k==="r"&&(Z=K.mapValues(Z,function(Q){return-Q})),c[R+k]=Z})});var D=m(O,c);return C(c,D),d(c,O.graph().align)}function A(O,P,L){return function(c,f,D){var R=c.node(f),k=c.node(D),W=0,z;if(W+=R.width/2,K.has(R,"labelpos"))switch(R.labelpos.toLowerCase()){case"l":z=-R.width/2;break;case"r":z=R.width/2;break}if(z&&(W+=L?z:-z),z=0,W+=(R.dummy?P:O)/2,W+=(k.dummy?P:O)/2,W+=k.width/2,K.has(k,"labelpos"))switch(k.labelpos.toLowerCase()){case"l":z=k.width/2;break;case"r":z=-k.width/2;break}return z&&(W+=L?z:-z),z=0,W}}function T(O,P){return O.node(P).width}},93021:function(we,Me,X){"use strict";var K=X(72361),ee=X(53063),G=X(92080).positionX;we.exports=_;function _(w){w=ee.asNonCompoundGraph(w),F(w),K.forEach(G(w),function(x,y){w.node(y).x=x})}function F(w){var x=ee.buildLayerMatrix(w),y=w.graph().ranksep,b=0;K.forEach(x,function(E){var g=K.max(K.map(E,function(m){return w.node(m).height}));K.forEach(E,function(m){w.node(m).y=b+g/2}),b+=g+y})}},61031:function(we,Me,X){"use strict";var K=X(72361),ee=X(76626).Graph,G=X(2416).slack;we.exports=_;function _(y){var b=new ee({directed:!1}),E=y.nodes()[0],g=y.nodeCount();b.setNode(E,{});for(var m,C;F(b,y)<g;)m=w(b,y),C=b.hasNode(m.v)?G(y,m):-G(y,m),x(b,y,C);return b}function F(y,b){function E(g){K.forEach(b.nodeEdges(g),function(m){var C=m.v,d=g===C?m.w:C;!y.hasNode(d)&&!G(b,m)&&(y.setNode(d,{}),y.setEdge(g,d,{}),E(d))})}return K.forEach(y.nodes(),E),y.nodeCount()}function w(y,b){return K.minBy(b.edges(),function(E){if(y.hasNode(E.v)!==y.hasNode(E.w))return G(b,E)})}function x(y,b,E){K.forEach(y.nodes(),function(g){b.node(g).rank+=E})}},64505:function(we,Me,X){"use strict";var K=X(2416),ee=K.longestPath,G=X(61031),_=X(77076);we.exports=F;function F(b){switch(b.graph().ranker){case"network-simplex":y(b);break;case"tight-tree":x(b);break;case"longest-path":w(b);break;default:y(b)}}var w=ee;function x(b){ee(b),G(b)}function y(b){_(b)}},77076:function(we,Me,X){"use strict";var K=X(72361),ee=X(61031),G=X(2416).slack,_=X(2416).longestPath,F=X(76626).alg.preorder,w=X(76626).alg.postorder,x=X(53063).simplify;we.exports=y,y.initLowLimValues=m,y.initCutValues=b,y.calcCutValue=g,y.leaveEdge=d,y.enterEdge=v,y.exchangeEdges=A;function y(L){L=x(L),_(L);var c=ee(L);m(c),b(c,L);for(var f,D;f=d(c);)D=v(c,L,f),A(c,L,f,D)}function b(L,c){var f=w(L,L.nodes());f=f.slice(0,f.length-1),K.forEach(f,function(D){E(L,c,D)})}function E(L,c,f){var D=L.node(f),R=D.parent;L.edge(f,R).cutvalue=g(L,c,f)}function g(L,c,f){var D=L.node(f),R=D.parent,k=!0,W=c.edge(f,R),z=0;return W||(k=!1,W=c.edge(R,f)),z=W.weight,K.forEach(c.nodeEdges(f),function(Z){var Q=Z.v===f,te=Q?Z.w:Z.v;if(te!==R){var $=Q===k,ie=c.edge(Z).weight;if(z+=$?ie:-ie,O(L,f,te)){var ae=L.edge(f,te).cutvalue;z+=$?-ae:ae}}}),z}function m(L,c){arguments.length<2&&(c=L.nodes()[0]),C(L,{},1,c)}function C(L,c,f,D,R){var k=f,W=L.node(D);return c[D]=!0,K.forEach(L.neighbors(D),function(z){K.has(c,z)||(f=C(L,c,f,z,D))}),W.low=k,W.lim=f++,R?W.parent=R:delete W.parent,f}function d(L){return K.find(L.edges(),function(c){return L.edge(c).cutvalue<0})}function v(L,c,f){var D=f.v,R=f.w;c.hasEdge(D,R)||(D=f.w,R=f.v);var k=L.node(D),W=L.node(R),z=k,Z=!1;k.lim>W.lim&&(z=W,Z=!0);var Q=K.filter(c.edges(),function(te){return Z===P(L,L.node(te.v),z)&&Z!==P(L,L.node(te.w),z)});return K.minBy(Q,function(te){return G(c,te)})}function A(L,c,f,D){var R=f.v,k=f.w;L.removeEdge(R,k),L.setEdge(D.v,D.w,{}),m(L),b(L,c),T(L,c)}function T(L,c){var f=K.find(L.nodes(),function(R){return!c.node(R).parent}),D=F(L,f);D=D.slice(1),K.forEach(D,function(R){var k=L.node(R).parent,W=c.edge(R,k),z=!1;W||(W=c.edge(k,R),z=!0),c.node(R).rank=c.node(k).rank+(z?W.minlen:-W.minlen)})}function O(L,c,f){return L.hasEdge(c,f)}function P(L,c,f){return f.low<=c.lim&&c.lim<=f.lim}},2416:function(we,Me,X){"use strict";var K=X(72361);we.exports={longestPath:ee,slack:G};function ee(_){var F={};function w(x){var y=_.node(x);if(K.has(F,x))return y.rank;F[x]=!0;var b=K.min(K.map(_.outEdges(x),function(E){return w(E.w)-_.edge(E).minlen}));return(b===Number.POSITIVE_INFINITY||b===void 0||b===null)&&(b=0),y.rank=b}K.forEach(_.sources(),w)}function G(_,F){return _.node(F.w).rank-_.node(F.v).rank-_.edge(F).minlen}},53063:function(we,Me,X){"use strict";var K=X(72361),ee=X(76626).Graph;we.exports={addDummyNode:G,simplify:_,asNonCompoundGraph:F,successorWeights:w,predecessorWeights:x,intersectRect:y,buildLayerMatrix:b,normalizeRanks:E,removeEmptyRanks:g,addBorderNode:m,maxRank:C,partition:d,time:v,notime:A};function G(T,O,P,L){var c;do c=K.uniqueId(L);while(T.hasNode(c));return P.dummy=O,T.setNode(c,P),c}function _(T){var O=new ee().setGraph(T.graph());return K.forEach(T.nodes(),function(P){O.setNode(P,T.node(P))}),K.forEach(T.edges(),function(P){var L=O.edge(P.v,P.w)||{weight:0,minlen:1},c=T.edge(P);O.setEdge(P.v,P.w,{weight:L.weight+c.weight,minlen:Math.max(L.minlen,c.minlen)})}),O}function F(T){var O=new ee({multigraph:T.isMultigraph()}).setGraph(T.graph());return K.forEach(T.nodes(),function(P){T.children(P).length||O.setNode(P,T.node(P))}),K.forEach(T.edges(),function(P){O.setEdge(P,T.edge(P))}),O}function w(T){var O=K.map(T.nodes(),function(P){var L={};return K.forEach(T.outEdges(P),function(c){L[c.w]=(L[c.w]||0)+T.edge(c).weight}),L});return K.zipObject(T.nodes(),O)}function x(T){var O=K.map(T.nodes(),function(P){var L={};return K.forEach(T.inEdges(P),function(c){L[c.v]=(L[c.v]||0)+T.edge(c).weight}),L});return K.zipObject(T.nodes(),O)}function y(T,O){var P=T.x,L=T.y,c=O.x-P,f=O.y-L,D=T.width/2,R=T.height/2;if(!c&&!f)throw new Error("Not possible to find intersection inside of the rectangle");var k,W;return Math.abs(f)*D>Math.abs(c)*R?(f<0&&(R=-R),k=R*c/f,W=R):(c<0&&(D=-D),k=D,W=D*f/c),{x:P+k,y:L+W}}function b(T){var O=K.map(K.range(C(T)+1),function(){return[]});return K.forEach(T.nodes(),function(P){var L=T.node(P),c=L.rank;K.isUndefined(c)||(O[c][L.order]=P)}),O}function E(T){var O=K.min(K.map(T.nodes(),function(P){return T.node(P).rank}));K.forEach(T.nodes(),function(P){var L=T.node(P);K.has(L,"rank")&&(L.rank-=O)})}function g(T){var O=K.min(K.map(T.nodes(),function(f){return T.node(f).rank})),P=[];K.forEach(T.nodes(),function(f){var D=T.node(f).rank-O;P[D]||(P[D]=[]),P[D].push(f)});var L=0,c=T.graph().nodeRankFactor;K.forEach(P,function(f,D){K.isUndefined(f)&&D%c!==0?--L:L&&K.forEach(f,function(R){T.node(R).rank+=L})})}function m(T,O,P,L){var c={width:0,height:0};return arguments.length>=4&&(c.rank=P,c.order=L),G(T,"border",c,O)}function C(T){return K.max(K.map(T.nodes(),function(O){var P=T.node(O).rank;if(!K.isUndefined(P))return P}))}function d(T,O){var P={lhs:[],rhs:[]};return K.forEach(T,function(L){O(L)?P.lhs.push(L):P.rhs.push(L)}),P}function v(T,O){var P=K.now();try{return O()}finally{console.log(T+" time: "+(K.now()-P)+"ms")}}function A(T,O){return O()}},11897:function(we){we.exports="0.8.5"},97774:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.default=void 0;var K=Object.assign||function(A){for(var T=1;T<arguments.length;T++){var O=arguments[T];for(var P in O)Object.prototype.hasOwnProperty.call(O,P)&&(A[P]=O[P])}return A},ee=function(){function A(T,O){for(var P=0;P<O.length;P++){var L=O[P];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(T,L.key,L)}}return function(T,O,P){return O&&A(T.prototype,O),P&&A(T,P),T}}(),G=X(59301),_=g(G),F=X(12708),w=g(F),x=X(53291),y=g(x),b=X(47242),E=X(65429);function g(A){return A&&A.__esModule?A:{default:A}}function m(A,T){if(!(A instanceof T))throw new TypeError("Cannot call a class as a function")}function C(A,T){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return T&&(typeof T=="object"||typeof T=="function")?T:A}function d(A,T){if(typeof T!="function"&&T!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof T);A.prototype=Object.create(T&&T.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),T&&(Object.setPrototypeOf?Object.setPrototypeOf(A,T):A.__proto__=T)}var v=function(A){d(T,A);function T(O){m(this,T);var P=C(this,(T.__proto__||Object.getPrototypeOf(T)).call(this,O));return P.getEchartsInstance=function(){return P.echartsLib.getInstanceByDom(P.echartsElement)||P.echartsLib.init(P.echartsElement,P.props.theme,P.props.opts)},P.dispose=function(){if(P.echartsElement){try{(0,b.clear)(P.echartsElement)}catch(L){console.warn(L)}P.echartsLib.dispose(P.echartsElement)}},P.rerender=function(){var L=P.props,c=L.onEvents,f=L.onChartReady,D=P.renderEchartDom();P.bindEvents(D,c||{}),typeof f=="function"&&P.props.onChartReady(D),P.echartsElement&&(0,b.bind)(P.echartsElement,function(){try{D.resize()}catch(R){console.warn(R)}})},P.bindEvents=function(L,c){var f=function(k,W){typeof k=="string"&&typeof W=="function"&&L.on(k,function(z){W(z,L)})};for(var D in c)Object.prototype.hasOwnProperty.call(c,D)&&f(D,c[D])},P.renderEchartDom=function(){var L=P.getEchartsInstance();return L.setOption(P.props.option,P.props.notMerge||!1,P.props.lazyUpdate||!1),P.props.showLoading?L.showLoading(P.props.loadingOption||null):L.hideLoading(),L},P.echartsLib=O.echarts,P.echartsElement=null,P}return ee(T,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(P){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(P,this.props))){if(!(0,y.default)(P.theme,this.props.theme)||!(0,y.default)(P.opts,this.props.opts)||!(0,y.default)(P.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var L=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,y.default)((0,E.pick)(this.props,L),(0,E.pick)(P,L))){var c=this.renderEchartDom();if(!(0,y.default)(P.style,this.props.style)||!(0,y.default)(P.className,this.props.className))try{c.resize()}catch(f){console.warn(f)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var P=this,L=this.props,c=L.style,f=L.className,D=K({height:300},c);return _.default.createElement("div",{ref:function(k){P.echartsElement=k},style:D,className:"echarts-for-react "+f})}}]),T}(G.Component);Me.default=v,v.propTypes={option:w.default.object.isRequired,echarts:w.default.object,notMerge:w.default.bool,lazyUpdate:w.default.bool,style:w.default.object,className:w.default.string,theme:w.default.oneOfType([w.default.string,w.default.object]),onChartReady:w.default.func,showLoading:w.default.bool,loadingOption:w.default.object,onEvents:w.default.object,opts:w.default.shape({devicePixelRatio:w.default.number,renderer:w.default.oneOf(["canvas","svg"]),width:w.default.oneOfType([w.default.number,w.default.oneOf([null,void 0,"auto"])]),height:w.default.oneOfType([w.default.number,w.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:w.default.func},v.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(we,Me,X){"use strict";var K;K={value:!0},Me.Z=void 0;var ee=X(76411),G=w(ee),_=X(97774),F=w(_);function w(g){return g&&g.__esModule?g:{default:g}}function x(g,m){if(!(g instanceof m))throw new TypeError("Cannot call a class as a function")}function y(g,m){if(!g)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return m&&(typeof m=="object"||typeof m=="function")?m:g}function b(g,m){if(typeof m!="function"&&m!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof m);g.prototype=Object.create(m&&m.prototype,{constructor:{value:g,enumerable:!1,writable:!0,configurable:!0}}),m&&(Object.setPrototypeOf?Object.setPrototypeOf(g,m):g.__proto__=m)}var E=function(g){b(m,g);function m(C){x(this,m);var d=y(this,(m.__proto__||Object.getPrototypeOf(m)).call(this,C));return d.echartsLib=G.default,d}return m}(F.default);Me.Z=E},65429:function(we,Me){"use strict";Object.defineProperty(Me,"__esModule",{value:!0});var X=Me.pick=function(ee,G){var _={};return G.forEach(function(F){_[F]=ee[F]}),_}},48961:function(we,Me,X){(function(ee,G){we.exports=G(X(76411))})(this,function(K){return function(ee){var G={};function _(F){if(G[F])return G[F].exports;var w=G[F]={i:F,l:!1,exports:{}};return ee[F].call(w.exports,w,w.exports,_),w.l=!0,w.exports}return _.m=ee,_.c=G,_.d=function(F,w,x){_.o(F,w)||Object.defineProperty(F,w,{configurable:!1,enumerable:!0,get:x})},_.n=function(F){var w=F&&F.__esModule?function(){return F.default}:function(){return F};return _.d(w,"a",w),w},_.o=function(F,w){return Object.prototype.hasOwnProperty.call(F,w)},_.p="",_(_.s=87)}([function(ee,G){ee.exports=K},function(ee,G,_){(function(F){"use strict";var w={};w.exports=G,function(x){if(!y)var y=1e-6;if(!b)var b=typeof Float32Array!="undefined"?Float32Array:Array;if(!E)var E=Math.random;var g={};g.setMatrixArrayType=function(c){b=c},typeof x!="undefined"&&(x.glMatrix=g);var m=Math.PI/180;g.toRadian=function(c){return c*m};var C={};C.create=function(){var c=new b(2);return c[0]=0,c[1]=0,c},C.clone=function(c){var f=new b(2);return f[0]=c[0],f[1]=c[1],f},C.fromValues=function(c,f){var D=new b(2);return D[0]=c,D[1]=f,D},C.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c},C.set=function(c,f,D){return c[0]=f,c[1]=D,c},C.add=function(c,f,D){return c[0]=f[0]+D[0],c[1]=f[1]+D[1],c},C.subtract=function(c,f,D){return c[0]=f[0]-D[0],c[1]=f[1]-D[1],c},C.sub=C.subtract,C.multiply=function(c,f,D){return c[0]=f[0]*D[0],c[1]=f[1]*D[1],c},C.mul=C.multiply,C.divide=function(c,f,D){return c[0]=f[0]/D[0],c[1]=f[1]/D[1],c},C.div=C.divide,C.min=function(c,f,D){return c[0]=Math.min(f[0],D[0]),c[1]=Math.min(f[1],D[1]),c},C.max=function(c,f,D){return c[0]=Math.max(f[0],D[0]),c[1]=Math.max(f[1],D[1]),c},C.scale=function(c,f,D){return c[0]=f[0]*D,c[1]=f[1]*D,c},C.scaleAndAdd=function(c,f,D,R){return c[0]=f[0]+D[0]*R,c[1]=f[1]+D[1]*R,c},C.distance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1];return Math.sqrt(D*D+R*R)},C.dist=C.distance,C.squaredDistance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1];return D*D+R*R},C.sqrDist=C.squaredDistance,C.length=function(c){var f=c[0],D=c[1];return Math.sqrt(f*f+D*D)},C.len=C.length,C.squaredLength=function(c){var f=c[0],D=c[1];return f*f+D*D},C.sqrLen=C.squaredLength,C.negate=function(c,f){return c[0]=-f[0],c[1]=-f[1],c},C.inverse=function(c,f){return c[0]=1/f[0],c[1]=1/f[1],c},C.normalize=function(c,f){var D=f[0],R=f[1],k=D*D+R*R;return k>0&&(k=1/Math.sqrt(k),c[0]=f[0]*k,c[1]=f[1]*k),c},C.dot=function(c,f){return c[0]*f[0]+c[1]*f[1]},C.cross=function(c,f,D){var R=f[0]*D[1]-f[1]*D[0];return c[0]=c[1]=0,c[2]=R,c},C.lerp=function(c,f,D,R){var k=f[0],W=f[1];return c[0]=k+R*(D[0]-k),c[1]=W+R*(D[1]-W),c},C.random=function(c,f){f=f||1;var D=E()*2*Math.PI;return c[0]=Math.cos(D)*f,c[1]=Math.sin(D)*f,c},C.transformMat2=function(c,f,D){var R=f[0],k=f[1];return c[0]=D[0]*R+D[2]*k,c[1]=D[1]*R+D[3]*k,c},C.transformMat2d=function(c,f,D){var R=f[0],k=f[1];return c[0]=D[0]*R+D[2]*k+D[4],c[1]=D[1]*R+D[3]*k+D[5],c},C.transformMat3=function(c,f,D){var R=f[0],k=f[1];return c[0]=D[0]*R+D[3]*k+D[6],c[1]=D[1]*R+D[4]*k+D[7],c},C.transformMat4=function(c,f,D){var R=f[0],k=f[1];return c[0]=D[0]*R+D[4]*k+D[12],c[1]=D[1]*R+D[5]*k+D[13],c},C.forEach=function(){var c=C.create();return function(f,D,R,k,W,z){var Z,Q;for(D||(D=2),R||(R=0),k?Q=Math.min(k*D+R,f.length):Q=f.length,Z=R;Z<Q;Z+=D)c[0]=f[Z],c[1]=f[Z+1],W(c,c,z),f[Z]=c[0],f[Z+1]=c[1];return f}}(),C.str=function(c){return"vec2("+c[0]+", "+c[1]+")"},typeof x!="undefined"&&(x.vec2=C);var d={};d.create=function(){var c=new b(3);return c[0]=0,c[1]=0,c[2]=0,c},d.clone=function(c){var f=new b(3);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f},d.fromValues=function(c,f,D){var R=new b(3);return R[0]=c,R[1]=f,R[2]=D,R},d.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c},d.set=function(c,f,D,R){return c[0]=f,c[1]=D,c[2]=R,c},d.add=function(c,f,D){return c[0]=f[0]+D[0],c[1]=f[1]+D[1],c[2]=f[2]+D[2],c},d.subtract=function(c,f,D){return c[0]=f[0]-D[0],c[1]=f[1]-D[1],c[2]=f[2]-D[2],c},d.sub=d.subtract,d.multiply=function(c,f,D){return c[0]=f[0]*D[0],c[1]=f[1]*D[1],c[2]=f[2]*D[2],c},d.mul=d.multiply,d.divide=function(c,f,D){return c[0]=f[0]/D[0],c[1]=f[1]/D[1],c[2]=f[2]/D[2],c},d.div=d.divide,d.min=function(c,f,D){return c[0]=Math.min(f[0],D[0]),c[1]=Math.min(f[1],D[1]),c[2]=Math.min(f[2],D[2]),c},d.max=function(c,f,D){return c[0]=Math.max(f[0],D[0]),c[1]=Math.max(f[1],D[1]),c[2]=Math.max(f[2],D[2]),c},d.scale=function(c,f,D){return c[0]=f[0]*D,c[1]=f[1]*D,c[2]=f[2]*D,c},d.scaleAndAdd=function(c,f,D,R){return c[0]=f[0]+D[0]*R,c[1]=f[1]+D[1]*R,c[2]=f[2]+D[2]*R,c},d.distance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1],k=f[2]-c[2];return Math.sqrt(D*D+R*R+k*k)},d.dist=d.distance,d.squaredDistance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1],k=f[2]-c[2];return D*D+R*R+k*k},d.sqrDist=d.squaredDistance,d.length=function(c){var f=c[0],D=c[1],R=c[2];return Math.sqrt(f*f+D*D+R*R)},d.len=d.length,d.squaredLength=function(c){var f=c[0],D=c[1],R=c[2];return f*f+D*D+R*R},d.sqrLen=d.squaredLength,d.negate=function(c,f){return c[0]=-f[0],c[1]=-f[1],c[2]=-f[2],c},d.inverse=function(c,f){return c[0]=1/f[0],c[1]=1/f[1],c[2]=1/f[2],c},d.normalize=function(c,f){var D=f[0],R=f[1],k=f[2],W=D*D+R*R+k*k;return W>0&&(W=1/Math.sqrt(W),c[0]=f[0]*W,c[1]=f[1]*W,c[2]=f[2]*W),c},d.dot=function(c,f){return c[0]*f[0]+c[1]*f[1]+c[2]*f[2]},d.cross=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=D[0],Z=D[1],Q=D[2];return c[0]=k*Q-W*Z,c[1]=W*z-R*Q,c[2]=R*Z-k*z,c},d.lerp=function(c,f,D,R){var k=f[0],W=f[1],z=f[2];return c[0]=k+R*(D[0]-k),c[1]=W+R*(D[1]-W),c[2]=z+R*(D[2]-z),c},d.random=function(c,f){f=f||1;var D=E()*2*Math.PI,R=E()*2-1,k=Math.sqrt(1-R*R)*f;return c[0]=Math.cos(D)*k,c[1]=Math.sin(D)*k,c[2]=R*f,c},d.transformMat4=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=D[3]*R+D[7]*k+D[11]*W+D[15];return z=z||1,c[0]=(D[0]*R+D[4]*k+D[8]*W+D[12])/z,c[1]=(D[1]*R+D[5]*k+D[9]*W+D[13])/z,c[2]=(D[2]*R+D[6]*k+D[10]*W+D[14])/z,c},d.transformMat3=function(c,f,D){var R=f[0],k=f[1],W=f[2];return c[0]=R*D[0]+k*D[3]+W*D[6],c[1]=R*D[1]+k*D[4]+W*D[7],c[2]=R*D[2]+k*D[5]+W*D[8],c},d.transformQuat=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=D[0],Z=D[1],Q=D[2],te=D[3],$=te*R+Z*W-Q*k,ie=te*k+Q*R-z*W,ae=te*W+z*k-Z*R,re=-z*R-Z*k-Q*W;return c[0]=$*te+re*-z+ie*-Q-ae*-Z,c[1]=ie*te+re*-Z+ae*-z-$*-Q,c[2]=ae*te+re*-Q+$*-Z-ie*-z,c},d.rotateX=function(c,f,D,R){var k=[],W=[];return k[0]=f[0]-D[0],k[1]=f[1]-D[1],k[2]=f[2]-D[2],W[0]=k[0],W[1]=k[1]*Math.cos(R)-k[2]*Math.sin(R),W[2]=k[1]*Math.sin(R)+k[2]*Math.cos(R),c[0]=W[0]+D[0],c[1]=W[1]+D[1],c[2]=W[2]+D[2],c},d.rotateY=function(c,f,D,R){var k=[],W=[];return k[0]=f[0]-D[0],k[1]=f[1]-D[1],k[2]=f[2]-D[2],W[0]=k[2]*Math.sin(R)+k[0]*Math.cos(R),W[1]=k[1],W[2]=k[2]*Math.cos(R)-k[0]*Math.sin(R),c[0]=W[0]+D[0],c[1]=W[1]+D[1],c[2]=W[2]+D[2],c},d.rotateZ=function(c,f,D,R){var k=[],W=[];return k[0]=f[0]-D[0],k[1]=f[1]-D[1],k[2]=f[2]-D[2],W[0]=k[0]*Math.cos(R)-k[1]*Math.sin(R),W[1]=k[0]*Math.sin(R)+k[1]*Math.cos(R),W[2]=k[2],c[0]=W[0]+D[0],c[1]=W[1]+D[1],c[2]=W[2]+D[2],c},d.forEach=function(){var c=d.create();return function(f,D,R,k,W,z){var Z,Q;for(D||(D=3),R||(R=0),k?Q=Math.min(k*D+R,f.length):Q=f.length,Z=R;Z<Q;Z+=D)c[0]=f[Z],c[1]=f[Z+1],c[2]=f[Z+2],W(c,c,z),f[Z]=c[0],f[Z+1]=c[1],f[Z+2]=c[2];return f}}(),d.angle=function(c,f){var D=d.fromValues(c[0],c[1],c[2]),R=d.fromValues(f[0],f[1],f[2]);d.normalize(D,D),d.normalize(R,R);var k=d.dot(D,R);return k>1?0:Math.acos(k)},d.str=function(c){return"vec3("+c[0]+", "+c[1]+", "+c[2]+")"},typeof x!="undefined"&&(x.vec3=d);var v={};v.create=function(){var c=new b(4);return c[0]=0,c[1]=0,c[2]=0,c[3]=0,c},v.clone=function(c){var f=new b(4);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f[3]=c[3],f},v.fromValues=function(c,f,D,R){var k=new b(4);return k[0]=c,k[1]=f,k[2]=D,k[3]=R,k},v.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c},v.set=function(c,f,D,R,k){return c[0]=f,c[1]=D,c[2]=R,c[3]=k,c},v.add=function(c,f,D){return c[0]=f[0]+D[0],c[1]=f[1]+D[1],c[2]=f[2]+D[2],c[3]=f[3]+D[3],c},v.subtract=function(c,f,D){return c[0]=f[0]-D[0],c[1]=f[1]-D[1],c[2]=f[2]-D[2],c[3]=f[3]-D[3],c},v.sub=v.subtract,v.multiply=function(c,f,D){return c[0]=f[0]*D[0],c[1]=f[1]*D[1],c[2]=f[2]*D[2],c[3]=f[3]*D[3],c},v.mul=v.multiply,v.divide=function(c,f,D){return c[0]=f[0]/D[0],c[1]=f[1]/D[1],c[2]=f[2]/D[2],c[3]=f[3]/D[3],c},v.div=v.divide,v.min=function(c,f,D){return c[0]=Math.min(f[0],D[0]),c[1]=Math.min(f[1],D[1]),c[2]=Math.min(f[2],D[2]),c[3]=Math.min(f[3],D[3]),c},v.max=function(c,f,D){return c[0]=Math.max(f[0],D[0]),c[1]=Math.max(f[1],D[1]),c[2]=Math.max(f[2],D[2]),c[3]=Math.max(f[3],D[3]),c},v.scale=function(c,f,D){return c[0]=f[0]*D,c[1]=f[1]*D,c[2]=f[2]*D,c[3]=f[3]*D,c},v.scaleAndAdd=function(c,f,D,R){return c[0]=f[0]+D[0]*R,c[1]=f[1]+D[1]*R,c[2]=f[2]+D[2]*R,c[3]=f[3]+D[3]*R,c},v.distance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1],k=f[2]-c[2],W=f[3]-c[3];return Math.sqrt(D*D+R*R+k*k+W*W)},v.dist=v.distance,v.squaredDistance=function(c,f){var D=f[0]-c[0],R=f[1]-c[1],k=f[2]-c[2],W=f[3]-c[3];return D*D+R*R+k*k+W*W},v.sqrDist=v.squaredDistance,v.length=function(c){var f=c[0],D=c[1],R=c[2],k=c[3];return Math.sqrt(f*f+D*D+R*R+k*k)},v.len=v.length,v.squaredLength=function(c){var f=c[0],D=c[1],R=c[2],k=c[3];return f*f+D*D+R*R+k*k},v.sqrLen=v.squaredLength,v.negate=function(c,f){return c[0]=-f[0],c[1]=-f[1],c[2]=-f[2],c[3]=-f[3],c},v.inverse=function(c,f){return c[0]=1/f[0],c[1]=1/f[1],c[2]=1/f[2],c[3]=1/f[3],c},v.normalize=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=D*D+R*R+k*k+W*W;return z>0&&(z=1/Math.sqrt(z),c[0]=f[0]*z,c[1]=f[1]*z,c[2]=f[2]*z,c[3]=f[3]*z),c},v.dot=function(c,f){return c[0]*f[0]+c[1]*f[1]+c[2]*f[2]+c[3]*f[3]},v.lerp=function(c,f,D,R){var k=f[0],W=f[1],z=f[2],Z=f[3];return c[0]=k+R*(D[0]-k),c[1]=W+R*(D[1]-W),c[2]=z+R*(D[2]-z),c[3]=Z+R*(D[3]-Z),c},v.random=function(c,f){return f=f||1,c[0]=E(),c[1]=E(),c[2]=E(),c[3]=E(),v.normalize(c,c),v.scale(c,c,f),c},v.transformMat4=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3];return c[0]=D[0]*R+D[4]*k+D[8]*W+D[12]*z,c[1]=D[1]*R+D[5]*k+D[9]*W+D[13]*z,c[2]=D[2]*R+D[6]*k+D[10]*W+D[14]*z,c[3]=D[3]*R+D[7]*k+D[11]*W+D[15]*z,c},v.transformQuat=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=D[0],Z=D[1],Q=D[2],te=D[3],$=te*R+Z*W-Q*k,ie=te*k+Q*R-z*W,ae=te*W+z*k-Z*R,re=-z*R-Z*k-Q*W;return c[0]=$*te+re*-z+ie*-Q-ae*-Z,c[1]=ie*te+re*-Z+ae*-z-$*-Q,c[2]=ae*te+re*-Q+$*-Z-ie*-z,c},v.forEach=function(){var c=v.create();return function(f,D,R,k,W,z){var Z,Q;for(D||(D=4),R||(R=0),k?Q=Math.min(k*D+R,f.length):Q=f.length,Z=R;Z<Q;Z+=D)c[0]=f[Z],c[1]=f[Z+1],c[2]=f[Z+2],c[3]=f[Z+3],W(c,c,z),f[Z]=c[0],f[Z+1]=c[1],f[Z+2]=c[2],f[Z+3]=c[3];return f}}(),v.str=function(c){return"vec4("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+")"},typeof x!="undefined"&&(x.vec4=v);var A={};A.create=function(){var c=new b(4);return c[0]=1,c[1]=0,c[2]=0,c[3]=1,c},A.clone=function(c){var f=new b(4);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f[3]=c[3],f},A.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c},A.identity=function(c){return c[0]=1,c[1]=0,c[2]=0,c[3]=1,c},A.transpose=function(c,f){if(c===f){var D=f[1];c[1]=f[2],c[2]=D}else c[0]=f[0],c[1]=f[2],c[2]=f[1],c[3]=f[3];return c},A.invert=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=D*W-k*R;return z?(z=1/z,c[0]=W*z,c[1]=-R*z,c[2]=-k*z,c[3]=D*z,c):null},A.adjoint=function(c,f){var D=f[0];return c[0]=f[3],c[1]=-f[1],c[2]=-f[2],c[3]=D,c},A.determinant=function(c){return c[0]*c[3]-c[2]*c[1]},A.multiply=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=D[0],Q=D[1],te=D[2],$=D[3];return c[0]=R*Z+W*Q,c[1]=k*Z+z*Q,c[2]=R*te+W*$,c[3]=k*te+z*$,c},A.mul=A.multiply,A.rotate=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=Math.sin(D),Q=Math.cos(D);return c[0]=R*Q+W*Z,c[1]=k*Q+z*Z,c[2]=R*-Z+W*Q,c[3]=k*-Z+z*Q,c},A.scale=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=D[0],Q=D[1];return c[0]=R*Z,c[1]=k*Z,c[2]=W*Q,c[3]=z*Q,c},A.str=function(c){return"mat2("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+")"},A.frob=function(c){return Math.sqrt(Math.pow(c[0],2)+Math.pow(c[1],2)+Math.pow(c[2],2)+Math.pow(c[3],2))},A.LDU=function(c,f,D,R){return c[2]=R[2]/R[0],D[0]=R[0],D[1]=R[1],D[3]=R[3]-c[2]*D[1],[c,f,D]},typeof x!="undefined"&&(x.mat2=A);var T={};T.create=function(){var c=new b(6);return c[0]=1,c[1]=0,c[2]=0,c[3]=1,c[4]=0,c[5]=0,c},T.clone=function(c){var f=new b(6);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f[3]=c[3],f[4]=c[4],f[5]=c[5],f},T.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c},T.identity=function(c){return c[0]=1,c[1]=0,c[2]=0,c[3]=1,c[4]=0,c[5]=0,c},T.invert=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=D*W-R*k;return Q?(Q=1/Q,c[0]=W*Q,c[1]=-R*Q,c[2]=-k*Q,c[3]=D*Q,c[4]=(k*Z-W*z)*Q,c[5]=(R*z-D*Z)*Q,c):null},T.determinant=function(c){return c[0]*c[3]-c[1]*c[2]},T.multiply=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=D[0],$=D[1],ie=D[2],ae=D[3],re=D[4],ce=D[5];return c[0]=R*te+W*$,c[1]=k*te+z*$,c[2]=R*ie+W*ae,c[3]=k*ie+z*ae,c[4]=R*re+W*ce+Z,c[5]=k*re+z*ce+Q,c},T.mul=T.multiply,T.rotate=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=Math.sin(D),$=Math.cos(D);return c[0]=R*$+W*te,c[1]=k*$+z*te,c[2]=R*-te+W*$,c[3]=k*-te+z*$,c[4]=Z,c[5]=Q,c},T.scale=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=D[0],$=D[1];return c[0]=R*te,c[1]=k*te,c[2]=W*$,c[3]=z*$,c[4]=Z,c[5]=Q,c},T.translate=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=D[0],$=D[1];return c[0]=R,c[1]=k,c[2]=W,c[3]=z,c[4]=R*te+W*$+Z,c[5]=k*te+z*$+Q,c},T.str=function(c){return"mat2d("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+", "+c[4]+", "+c[5]+")"},T.frob=function(c){return Math.sqrt(Math.pow(c[0],2)+Math.pow(c[1],2)+Math.pow(c[2],2)+Math.pow(c[3],2)+Math.pow(c[4],2)+Math.pow(c[5],2)+1)},typeof x!="undefined"&&(x.mat2d=T);var O={};O.create=function(){var c=new b(9);return c[0]=1,c[1]=0,c[2]=0,c[3]=0,c[4]=1,c[5]=0,c[6]=0,c[7]=0,c[8]=1,c},O.fromMat4=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[4],c[4]=f[5],c[5]=f[6],c[6]=f[8],c[7]=f[9],c[8]=f[10],c},O.clone=function(c){var f=new b(9);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f[3]=c[3],f[4]=c[4],f[5]=c[5],f[6]=c[6],f[7]=c[7],f[8]=c[8],f},O.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c[6]=f[6],c[7]=f[7],c[8]=f[8],c},O.identity=function(c){return c[0]=1,c[1]=0,c[2]=0,c[3]=0,c[4]=1,c[5]=0,c[6]=0,c[7]=0,c[8]=1,c},O.transpose=function(c,f){if(c===f){var D=f[1],R=f[2],k=f[5];c[1]=f[3],c[2]=f[6],c[3]=D,c[5]=f[7],c[6]=R,c[7]=k}else c[0]=f[0],c[1]=f[3],c[2]=f[6],c[3]=f[1],c[4]=f[4],c[5]=f[7],c[6]=f[2],c[7]=f[5],c[8]=f[8];return c},O.invert=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=f[6],te=f[7],$=f[8],ie=$*z-Z*te,ae=-$*W+Z*Q,re=te*W-z*Q,ce=D*ie+R*ae+k*re;return ce?(ce=1/ce,c[0]=ie*ce,c[1]=(-$*R+k*te)*ce,c[2]=(Z*R-k*z)*ce,c[3]=ae*ce,c[4]=($*D-k*Q)*ce,c[5]=(-Z*D+k*W)*ce,c[6]=re*ce,c[7]=(-te*D+R*Q)*ce,c[8]=(z*D-R*W)*ce,c):null},O.adjoint=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=f[6],te=f[7],$=f[8];return c[0]=z*$-Z*te,c[1]=k*te-R*$,c[2]=R*Z-k*z,c[3]=Z*Q-W*$,c[4]=D*$-k*Q,c[5]=k*W-D*Z,c[6]=W*te-z*Q,c[7]=R*Q-D*te,c[8]=D*z-R*W,c},O.determinant=function(c){var f=c[0],D=c[1],R=c[2],k=c[3],W=c[4],z=c[5],Z=c[6],Q=c[7],te=c[8];return f*(te*W-z*Q)+D*(-te*k+z*Z)+R*(Q*k-W*Z)},O.multiply=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=f[6],$=f[7],ie=f[8],ae=D[0],re=D[1],ce=D[2],oe=D[3],he=D[4],se=D[5],pe=D[6],me=D[7],ge=D[8];return c[0]=ae*R+re*z+ce*te,c[1]=ae*k+re*Z+ce*$,c[2]=ae*W+re*Q+ce*ie,c[3]=oe*R+he*z+se*te,c[4]=oe*k+he*Z+se*$,c[5]=oe*W+he*Q+se*ie,c[6]=pe*R+me*z+ge*te,c[7]=pe*k+me*Z+ge*$,c[8]=pe*W+me*Q+ge*ie,c},O.mul=O.multiply,O.translate=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=f[6],$=f[7],ie=f[8],ae=D[0],re=D[1];return c[0]=R,c[1]=k,c[2]=W,c[3]=z,c[4]=Z,c[5]=Q,c[6]=ae*R+re*z+te,c[7]=ae*k+re*Z+$,c[8]=ae*W+re*Q+ie,c},O.rotate=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=f[6],$=f[7],ie=f[8],ae=Math.sin(D),re=Math.cos(D);return c[0]=re*R+ae*z,c[1]=re*k+ae*Z,c[2]=re*W+ae*Q,c[3]=re*z-ae*R,c[4]=re*Z-ae*k,c[5]=re*Q-ae*W,c[6]=te,c[7]=$,c[8]=ie,c},O.scale=function(c,f,D){var R=D[0],k=D[1];return c[0]=R*f[0],c[1]=R*f[1],c[2]=R*f[2],c[3]=k*f[3],c[4]=k*f[4],c[5]=k*f[5],c[6]=f[6],c[7]=f[7],c[8]=f[8],c},O.fromMat2d=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=0,c[3]=f[2],c[4]=f[3],c[5]=0,c[6]=f[4],c[7]=f[5],c[8]=1,c},O.fromQuat=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=D+D,Z=R+R,Q=k+k,te=D*z,$=R*z,ie=R*Z,ae=k*z,re=k*Z,ce=k*Q,oe=W*z,he=W*Z,se=W*Q;return c[0]=1-ie-ce,c[3]=$-se,c[6]=ae+he,c[1]=$+se,c[4]=1-te-ce,c[7]=re-oe,c[2]=ae-he,c[5]=re+oe,c[8]=1-te-ie,c},O.normalFromMat4=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=f[6],te=f[7],$=f[8],ie=f[9],ae=f[10],re=f[11],ce=f[12],oe=f[13],he=f[14],se=f[15],pe=D*Z-R*z,me=D*Q-k*z,ge=D*te-W*z,Ee=R*Q-k*Z,Ae=R*te-W*Z,Fe=k*te-W*Q,Ue=$*oe-ie*ce,nt=$*he-ae*ce,rt=$*se-re*ce,qe=ie*he-ae*oe,dt=ie*se-re*oe,yt=ae*se-re*he,je=pe*yt-me*dt+ge*qe+Ee*rt-Ae*nt+Fe*Ue;return je?(je=1/je,c[0]=(Z*yt-Q*dt+te*qe)*je,c[1]=(Q*rt-z*yt-te*nt)*je,c[2]=(z*dt-Z*rt+te*Ue)*je,c[3]=(k*dt-R*yt-W*qe)*je,c[4]=(D*yt-k*rt+W*nt)*je,c[5]=(R*rt-D*dt-W*Ue)*je,c[6]=(oe*Fe-he*Ae+se*Ee)*je,c[7]=(he*ge-ce*Fe-se*me)*je,c[8]=(ce*Ae-oe*ge+se*pe)*je,c):null},O.str=function(c){return"mat3("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+", "+c[4]+", "+c[5]+", "+c[6]+", "+c[7]+", "+c[8]+")"},O.frob=function(c){return Math.sqrt(Math.pow(c[0],2)+Math.pow(c[1],2)+Math.pow(c[2],2)+Math.pow(c[3],2)+Math.pow(c[4],2)+Math.pow(c[5],2)+Math.pow(c[6],2)+Math.pow(c[7],2)+Math.pow(c[8],2))},typeof x!="undefined"&&(x.mat3=O);var P={};P.create=function(){var c=new b(16);return c[0]=1,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=1,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=1,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,c},P.clone=function(c){var f=new b(16);return f[0]=c[0],f[1]=c[1],f[2]=c[2],f[3]=c[3],f[4]=c[4],f[5]=c[5],f[6]=c[6],f[7]=c[7],f[8]=c[8],f[9]=c[9],f[10]=c[10],f[11]=c[11],f[12]=c[12],f[13]=c[13],f[14]=c[14],f[15]=c[15],f},P.copy=function(c,f){return c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c[4]=f[4],c[5]=f[5],c[6]=f[6],c[7]=f[7],c[8]=f[8],c[9]=f[9],c[10]=f[10],c[11]=f[11],c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15],c},P.identity=function(c){return c[0]=1,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=1,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=1,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,c},P.transpose=function(c,f){if(c===f){var D=f[1],R=f[2],k=f[3],W=f[6],z=f[7],Z=f[11];c[1]=f[4],c[2]=f[8],c[3]=f[12],c[4]=D,c[6]=f[9],c[7]=f[13],c[8]=R,c[9]=W,c[11]=f[14],c[12]=k,c[13]=z,c[14]=Z}else c[0]=f[0],c[1]=f[4],c[2]=f[8],c[3]=f[12],c[4]=f[1],c[5]=f[5],c[6]=f[9],c[7]=f[13],c[8]=f[2],c[9]=f[6],c[10]=f[10],c[11]=f[14],c[12]=f[3],c[13]=f[7],c[14]=f[11],c[15]=f[15];return c},P.invert=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=f[6],te=f[7],$=f[8],ie=f[9],ae=f[10],re=f[11],ce=f[12],oe=f[13],he=f[14],se=f[15],pe=D*Z-R*z,me=D*Q-k*z,ge=D*te-W*z,Ee=R*Q-k*Z,Ae=R*te-W*Z,Fe=k*te-W*Q,Ue=$*oe-ie*ce,nt=$*he-ae*ce,rt=$*se-re*ce,qe=ie*he-ae*oe,dt=ie*se-re*oe,yt=ae*se-re*he,je=pe*yt-me*dt+ge*qe+Ee*rt-Ae*nt+Fe*Ue;return je?(je=1/je,c[0]=(Z*yt-Q*dt+te*qe)*je,c[1]=(k*dt-R*yt-W*qe)*je,c[2]=(oe*Fe-he*Ae+se*Ee)*je,c[3]=(ae*Ae-ie*Fe-re*Ee)*je,c[4]=(Q*rt-z*yt-te*nt)*je,c[5]=(D*yt-k*rt+W*nt)*je,c[6]=(he*ge-ce*Fe-se*me)*je,c[7]=($*Fe-ae*ge+re*me)*je,c[8]=(z*dt-Z*rt+te*Ue)*je,c[9]=(R*rt-D*dt-W*Ue)*je,c[10]=(ce*Ae-oe*ge+se*pe)*je,c[11]=(ie*ge-$*Ae-re*pe)*je,c[12]=(Z*nt-z*qe-Q*Ue)*je,c[13]=(D*qe-R*nt+k*Ue)*je,c[14]=(oe*me-ce*Ee-he*pe)*je,c[15]=($*Ee-ie*me+ae*pe)*je,c):null},P.adjoint=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=f[4],Z=f[5],Q=f[6],te=f[7],$=f[8],ie=f[9],ae=f[10],re=f[11],ce=f[12],oe=f[13],he=f[14],se=f[15];return c[0]=Z*(ae*se-re*he)-ie*(Q*se-te*he)+oe*(Q*re-te*ae),c[1]=-(R*(ae*se-re*he)-ie*(k*se-W*he)+oe*(k*re-W*ae)),c[2]=R*(Q*se-te*he)-Z*(k*se-W*he)+oe*(k*te-W*Q),c[3]=-(R*(Q*re-te*ae)-Z*(k*re-W*ae)+ie*(k*te-W*Q)),c[4]=-(z*(ae*se-re*he)-$*(Q*se-te*he)+ce*(Q*re-te*ae)),c[5]=D*(ae*se-re*he)-$*(k*se-W*he)+ce*(k*re-W*ae),c[6]=-(D*(Q*se-te*he)-z*(k*se-W*he)+ce*(k*te-W*Q)),c[7]=D*(Q*re-te*ae)-z*(k*re-W*ae)+$*(k*te-W*Q),c[8]=z*(ie*se-re*oe)-$*(Z*se-te*oe)+ce*(Z*re-te*ie),c[9]=-(D*(ie*se-re*oe)-$*(R*se-W*oe)+ce*(R*re-W*ie)),c[10]=D*(Z*se-te*oe)-z*(R*se-W*oe)+ce*(R*te-W*Z),c[11]=-(D*(Z*re-te*ie)-z*(R*re-W*ie)+$*(R*te-W*Z)),c[12]=-(z*(ie*he-ae*oe)-$*(Z*he-Q*oe)+ce*(Z*ae-Q*ie)),c[13]=D*(ie*he-ae*oe)-$*(R*he-k*oe)+ce*(R*ae-k*ie),c[14]=-(D*(Z*he-Q*oe)-z*(R*he-k*oe)+ce*(R*Q-k*Z)),c[15]=D*(Z*ae-Q*ie)-z*(R*ae-k*ie)+$*(R*Q-k*Z),c},P.determinant=function(c){var f=c[0],D=c[1],R=c[2],k=c[3],W=c[4],z=c[5],Z=c[6],Q=c[7],te=c[8],$=c[9],ie=c[10],ae=c[11],re=c[12],ce=c[13],oe=c[14],he=c[15],se=f*z-D*W,pe=f*Z-R*W,me=f*Q-k*W,ge=D*Z-R*z,Ee=D*Q-k*z,Ae=R*Q-k*Z,Fe=te*ce-$*re,Ue=te*oe-ie*re,nt=te*he-ae*re,rt=$*oe-ie*ce,qe=$*he-ae*ce,dt=ie*he-ae*oe;return se*dt-pe*qe+me*rt+ge*nt-Ee*Ue+Ae*Fe},P.multiply=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=f[4],Q=f[5],te=f[6],$=f[7],ie=f[8],ae=f[9],re=f[10],ce=f[11],oe=f[12],he=f[13],se=f[14],pe=f[15],me=D[0],ge=D[1],Ee=D[2],Ae=D[3];return c[0]=me*R+ge*Z+Ee*ie+Ae*oe,c[1]=me*k+ge*Q+Ee*ae+Ae*he,c[2]=me*W+ge*te+Ee*re+Ae*se,c[3]=me*z+ge*$+Ee*ce+Ae*pe,me=D[4],ge=D[5],Ee=D[6],Ae=D[7],c[4]=me*R+ge*Z+Ee*ie+Ae*oe,c[5]=me*k+ge*Q+Ee*ae+Ae*he,c[6]=me*W+ge*te+Ee*re+Ae*se,c[7]=me*z+ge*$+Ee*ce+Ae*pe,me=D[8],ge=D[9],Ee=D[10],Ae=D[11],c[8]=me*R+ge*Z+Ee*ie+Ae*oe,c[9]=me*k+ge*Q+Ee*ae+Ae*he,c[10]=me*W+ge*te+Ee*re+Ae*se,c[11]=me*z+ge*$+Ee*ce+Ae*pe,me=D[12],ge=D[13],Ee=D[14],Ae=D[15],c[12]=me*R+ge*Z+Ee*ie+Ae*oe,c[13]=me*k+ge*Q+Ee*ae+Ae*he,c[14]=me*W+ge*te+Ee*re+Ae*se,c[15]=me*z+ge*$+Ee*ce+Ae*pe,c},P.multiplyAffine=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[4],Z=f[5],Q=f[6],te=f[8],$=f[9],ie=f[10],ae=f[12],re=f[13],ce=f[14],oe=D[0],he=D[1],se=D[2];return c[0]=oe*R+he*z+se*te,c[1]=oe*k+he*Z+se*$,c[2]=oe*W+he*Q+se*ie,oe=D[4],he=D[5],se=D[6],c[4]=oe*R+he*z+se*te,c[5]=oe*k+he*Z+se*$,c[6]=oe*W+he*Q+se*ie,oe=D[8],he=D[9],se=D[10],c[8]=oe*R+he*z+se*te,c[9]=oe*k+he*Z+se*$,c[10]=oe*W+he*Q+se*ie,oe=D[12],he=D[13],se=D[14],c[12]=oe*R+he*z+se*te+ae,c[13]=oe*k+he*Z+se*$+re,c[14]=oe*W+he*Q+se*ie+ce,c},P.mul=P.multiply,P.mulAffine=P.multiplyAffine,P.translate=function(c,f,D){var R=D[0],k=D[1],W=D[2],z,Z,Q,te,$,ie,ae,re,ce,oe,he,se;return f===c?(c[12]=f[0]*R+f[4]*k+f[8]*W+f[12],c[13]=f[1]*R+f[5]*k+f[9]*W+f[13],c[14]=f[2]*R+f[6]*k+f[10]*W+f[14],c[15]=f[3]*R+f[7]*k+f[11]*W+f[15]):(z=f[0],Z=f[1],Q=f[2],te=f[3],$=f[4],ie=f[5],ae=f[6],re=f[7],ce=f[8],oe=f[9],he=f[10],se=f[11],c[0]=z,c[1]=Z,c[2]=Q,c[3]=te,c[4]=$,c[5]=ie,c[6]=ae,c[7]=re,c[8]=ce,c[9]=oe,c[10]=he,c[11]=se,c[12]=z*R+$*k+ce*W+f[12],c[13]=Z*R+ie*k+oe*W+f[13],c[14]=Q*R+ae*k+he*W+f[14],c[15]=te*R+re*k+se*W+f[15]),c},P.scale=function(c,f,D){var R=D[0],k=D[1],W=D[2];return c[0]=f[0]*R,c[1]=f[1]*R,c[2]=f[2]*R,c[3]=f[3]*R,c[4]=f[4]*k,c[5]=f[5]*k,c[6]=f[6]*k,c[7]=f[7]*k,c[8]=f[8]*W,c[9]=f[9]*W,c[10]=f[10]*W,c[11]=f[11]*W,c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15],c},P.rotate=function(c,f,D,R){var k=R[0],W=R[1],z=R[2],Z=Math.sqrt(k*k+W*W+z*z),Q,te,$,ie,ae,re,ce,oe,he,se,pe,me,ge,Ee,Ae,Fe,Ue,nt,rt,qe,dt,yt,je,at;return Math.abs(Z)<y?null:(Z=1/Z,k*=Z,W*=Z,z*=Z,Q=Math.sin(D),te=Math.cos(D),$=1-te,ie=f[0],ae=f[1],re=f[2],ce=f[3],oe=f[4],he=f[5],se=f[6],pe=f[7],me=f[8],ge=f[9],Ee=f[10],Ae=f[11],Fe=k*k*$+te,Ue=W*k*$+z*Q,nt=z*k*$-W*Q,rt=k*W*$-z*Q,qe=W*W*$+te,dt=z*W*$+k*Q,yt=k*z*$+W*Q,je=W*z*$-k*Q,at=z*z*$+te,c[0]=ie*Fe+oe*Ue+me*nt,c[1]=ae*Fe+he*Ue+ge*nt,c[2]=re*Fe+se*Ue+Ee*nt,c[3]=ce*Fe+pe*Ue+Ae*nt,c[4]=ie*rt+oe*qe+me*dt,c[5]=ae*rt+he*qe+ge*dt,c[6]=re*rt+se*qe+Ee*dt,c[7]=ce*rt+pe*qe+Ae*dt,c[8]=ie*yt+oe*je+me*at,c[9]=ae*yt+he*je+ge*at,c[10]=re*yt+se*je+Ee*at,c[11]=ce*yt+pe*je+Ae*at,f!==c&&(c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15]),c)},P.rotateX=function(c,f,D){var R=Math.sin(D),k=Math.cos(D),W=f[4],z=f[5],Z=f[6],Q=f[7],te=f[8],$=f[9],ie=f[10],ae=f[11];return f!==c&&(c[0]=f[0],c[1]=f[1],c[2]=f[2],c[3]=f[3],c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15]),c[4]=W*k+te*R,c[5]=z*k+$*R,c[6]=Z*k+ie*R,c[7]=Q*k+ae*R,c[8]=te*k-W*R,c[9]=$*k-z*R,c[10]=ie*k-Z*R,c[11]=ae*k-Q*R,c},P.rotateY=function(c,f,D){var R=Math.sin(D),k=Math.cos(D),W=f[0],z=f[1],Z=f[2],Q=f[3],te=f[8],$=f[9],ie=f[10],ae=f[11];return f!==c&&(c[4]=f[4],c[5]=f[5],c[6]=f[6],c[7]=f[7],c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15]),c[0]=W*k-te*R,c[1]=z*k-$*R,c[2]=Z*k-ie*R,c[3]=Q*k-ae*R,c[8]=W*R+te*k,c[9]=z*R+$*k,c[10]=Z*R+ie*k,c[11]=Q*R+ae*k,c},P.rotateZ=function(c,f,D){var R=Math.sin(D),k=Math.cos(D),W=f[0],z=f[1],Z=f[2],Q=f[3],te=f[4],$=f[5],ie=f[6],ae=f[7];return f!==c&&(c[8]=f[8],c[9]=f[9],c[10]=f[10],c[11]=f[11],c[12]=f[12],c[13]=f[13],c[14]=f[14],c[15]=f[15]),c[0]=W*k+te*R,c[1]=z*k+$*R,c[2]=Z*k+ie*R,c[3]=Q*k+ae*R,c[4]=te*k-W*R,c[5]=$*k-z*R,c[6]=ie*k-Z*R,c[7]=ae*k-Q*R,c},P.fromRotationTranslation=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=R+R,Q=k+k,te=W+W,$=R*Z,ie=R*Q,ae=R*te,re=k*Q,ce=k*te,oe=W*te,he=z*Z,se=z*Q,pe=z*te;return c[0]=1-(re+oe),c[1]=ie+pe,c[2]=ae-se,c[3]=0,c[4]=ie-pe,c[5]=1-($+oe),c[6]=ce+he,c[7]=0,c[8]=ae+se,c[9]=ce-he,c[10]=1-($+re),c[11]=0,c[12]=D[0],c[13]=D[1],c[14]=D[2],c[15]=1,c},P.fromQuat=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=D+D,Z=R+R,Q=k+k,te=D*z,$=R*z,ie=R*Z,ae=k*z,re=k*Z,ce=k*Q,oe=W*z,he=W*Z,se=W*Q;return c[0]=1-ie-ce,c[1]=$+se,c[2]=ae-he,c[3]=0,c[4]=$-se,c[5]=1-te-ce,c[6]=re+oe,c[7]=0,c[8]=ae+he,c[9]=re-oe,c[10]=1-te-ie,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,c},P.frustum=function(c,f,D,R,k,W,z){var Z=1/(D-f),Q=1/(k-R),te=1/(W-z);return c[0]=W*2*Z,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=W*2*Q,c[6]=0,c[7]=0,c[8]=(D+f)*Z,c[9]=(k+R)*Q,c[10]=(z+W)*te,c[11]=-1,c[12]=0,c[13]=0,c[14]=z*W*2*te,c[15]=0,c},P.perspective=function(c,f,D,R,k){var W=1/Math.tan(f/2),z=1/(R-k);return c[0]=W/D,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=W,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=(k+R)*z,c[11]=-1,c[12]=0,c[13]=0,c[14]=2*k*R*z,c[15]=0,c},P.ortho=function(c,f,D,R,k,W,z){var Z=1/(f-D),Q=1/(R-k),te=1/(W-z);return c[0]=-2*Z,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=-2*Q,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=2*te,c[11]=0,c[12]=(f+D)*Z,c[13]=(k+R)*Q,c[14]=(z+W)*te,c[15]=1,c},P.lookAt=function(c,f,D,R){var k,W,z,Z,Q,te,$,ie,ae,re,ce=f[0],oe=f[1],he=f[2],se=R[0],pe=R[1],me=R[2],ge=D[0],Ee=D[1],Ae=D[2];return Math.abs(ce-ge)<y&&Math.abs(oe-Ee)<y&&Math.abs(he-Ae)<y?P.identity(c):($=ce-ge,ie=oe-Ee,ae=he-Ae,re=1/Math.sqrt($*$+ie*ie+ae*ae),$*=re,ie*=re,ae*=re,k=pe*ae-me*ie,W=me*$-se*ae,z=se*ie-pe*$,re=Math.sqrt(k*k+W*W+z*z),re?(re=1/re,k*=re,W*=re,z*=re):(k=0,W=0,z=0),Z=ie*z-ae*W,Q=ae*k-$*z,te=$*W-ie*k,re=Math.sqrt(Z*Z+Q*Q+te*te),re?(re=1/re,Z*=re,Q*=re,te*=re):(Z=0,Q=0,te=0),c[0]=k,c[1]=Z,c[2]=$,c[3]=0,c[4]=W,c[5]=Q,c[6]=ie,c[7]=0,c[8]=z,c[9]=te,c[10]=ae,c[11]=0,c[12]=-(k*ce+W*oe+z*he),c[13]=-(Z*ce+Q*oe+te*he),c[14]=-($*ce+ie*oe+ae*he),c[15]=1,c)},P.str=function(c){return"mat4("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+", "+c[4]+", "+c[5]+", "+c[6]+", "+c[7]+", "+c[8]+", "+c[9]+", "+c[10]+", "+c[11]+", "+c[12]+", "+c[13]+", "+c[14]+", "+c[15]+")"},P.frob=function(c){return Math.sqrt(Math.pow(c[0],2)+Math.pow(c[1],2)+Math.pow(c[2],2)+Math.pow(c[3],2)+Math.pow(c[4],2)+Math.pow(c[5],2)+Math.pow(c[6],2)+Math.pow(c[7],2)+Math.pow(c[8],2)+Math.pow(c[9],2)+Math.pow(c[10],2)+Math.pow(c[11],2)+Math.pow(c[12],2)+Math.pow(c[13],2)+Math.pow(c[14],2)+Math.pow(c[15],2))},typeof x!="undefined"&&(x.mat4=P);var L={};L.create=function(){var c=new b(4);return c[0]=0,c[1]=0,c[2]=0,c[3]=1,c},L.rotationTo=function(){var c=d.create(),f=d.fromValues(1,0,0),D=d.fromValues(0,1,0);return function(R,k,W){var z=d.dot(k,W);return z<-.999999?(d.cross(c,f,k),d.length(c)<1e-6&&d.cross(c,D,k),d.normalize(c,c),L.setAxisAngle(R,c,Math.PI),R):z>.999999?(R[0]=0,R[1]=0,R[2]=0,R[3]=1,R):(d.cross(c,k,W),R[0]=c[0],R[1]=c[1],R[2]=c[2],R[3]=1+z,L.normalize(R,R))}}(),L.setAxes=function(){var c=O.create();return function(f,D,R,k){return c[0]=R[0],c[3]=R[1],c[6]=R[2],c[1]=k[0],c[4]=k[1],c[7]=k[2],c[2]=-D[0],c[5]=-D[1],c[8]=-D[2],L.normalize(f,L.fromMat3(f,c))}}(),L.clone=v.clone,L.fromValues=v.fromValues,L.copy=v.copy,L.set=v.set,L.identity=function(c){return c[0]=0,c[1]=0,c[2]=0,c[3]=1,c},L.setAxisAngle=function(c,f,D){D=D*.5;var R=Math.sin(D);return c[0]=R*f[0],c[1]=R*f[1],c[2]=R*f[2],c[3]=Math.cos(D),c},L.add=v.add,L.multiply=function(c,f,D){var R=f[0],k=f[1],W=f[2],z=f[3],Z=D[0],Q=D[1],te=D[2],$=D[3];return c[0]=R*$+z*Z+k*te-W*Q,c[1]=k*$+z*Q+W*Z-R*te,c[2]=W*$+z*te+R*Q-k*Z,c[3]=z*$-R*Z-k*Q-W*te,c},L.mul=L.multiply,L.scale=v.scale,L.rotateX=function(c,f,D){D*=.5;var R=f[0],k=f[1],W=f[2],z=f[3],Z=Math.sin(D),Q=Math.cos(D);return c[0]=R*Q+z*Z,c[1]=k*Q+W*Z,c[2]=W*Q-k*Z,c[3]=z*Q-R*Z,c},L.rotateY=function(c,f,D){D*=.5;var R=f[0],k=f[1],W=f[2],z=f[3],Z=Math.sin(D),Q=Math.cos(D);return c[0]=R*Q-W*Z,c[1]=k*Q+z*Z,c[2]=W*Q+R*Z,c[3]=z*Q-k*Z,c},L.rotateZ=function(c,f,D){D*=.5;var R=f[0],k=f[1],W=f[2],z=f[3],Z=Math.sin(D),Q=Math.cos(D);return c[0]=R*Q+k*Z,c[1]=k*Q-R*Z,c[2]=W*Q+z*Z,c[3]=z*Q-W*Z,c},L.calculateW=function(c,f){var D=f[0],R=f[1],k=f[2];return c[0]=D,c[1]=R,c[2]=k,c[3]=Math.sqrt(Math.abs(1-D*D-R*R-k*k)),c},L.dot=v.dot,L.lerp=v.lerp,L.slerp=function(c,f,D,R){var k=f[0],W=f[1],z=f[2],Z=f[3],Q=D[0],te=D[1],$=D[2],ie=D[3],ae,re,ce,oe,he;return re=k*Q+W*te+z*$+Z*ie,re<0&&(re=-re,Q=-Q,te=-te,$=-$,ie=-ie),1-re>1e-6?(ae=Math.acos(re),ce=Math.sin(ae),oe=Math.sin((1-R)*ae)/ce,he=Math.sin(R*ae)/ce):(oe=1-R,he=R),c[0]=oe*k+he*Q,c[1]=oe*W+he*te,c[2]=oe*z+he*$,c[3]=oe*Z+he*ie,c},L.invert=function(c,f){var D=f[0],R=f[1],k=f[2],W=f[3],z=D*D+R*R+k*k+W*W,Z=z?1/z:0;return c[0]=-D*Z,c[1]=-R*Z,c[2]=-k*Z,c[3]=W*Z,c},L.conjugate=function(c,f){return c[0]=-f[0],c[1]=-f[1],c[2]=-f[2],c[3]=f[3],c},L.length=v.length,L.len=L.length,L.squaredLength=v.squaredLength,L.sqrLen=L.squaredLength,L.normalize=v.normalize,L.fromMat3=function(c,f){var D=f[0]+f[4]+f[8],R;if(D>0)R=Math.sqrt(D+1),c[3]=.5*R,R=.5/R,c[0]=(f[5]-f[7])*R,c[1]=(f[6]-f[2])*R,c[2]=(f[1]-f[3])*R;else{var k=0;f[4]>f[0]&&(k=1),f[8]>f[k*3+k]&&(k=2);var W=(k+1)%3,z=(k+2)%3;R=Math.sqrt(f[k*3+k]-f[W*3+W]-f[z*3+z]+1),c[k]=.5*R,R=.5/R,c[3]=(f[W*3+z]-f[z*3+W])*R,c[W]=(f[W*3+k]+f[k*3+W])*R,c[z]=(f[z*3+k]+f[k*3+z])*R}return c},L.str=function(c){return"quat("+c[0]+", "+c[1]+", "+c[2]+", "+c[3]+")"},typeof x!="undefined"&&(x.quat=L)}(w.exports)})(this)},function(ee,G,_){"use strict";var F=_(24),w=_(46),x=_(5),y=_(6),b=_(7),E=_(17),g=_(28),m=_(13),C=_(0),d=_.n(C),v=_(29),A=_(53),T=_.n(A),O=_(54),P=_(106),L=_(107),c=_(113),f=_(114),D=_(3),R=_(68),k=_(37),W=_(69),z=_(116),Z=_(70),Q=_(71),te=_(72),$=_(36),ie=_(30),ae=_(23),re=_(4),ce=_(117),oe=_(50),he=_(118),se=_(119),pe=_(120),me=_(9),ge=_(67),Ee=_(49),Ae=_(15),Fe=_(52),Ue=_(121),nt=_(126),rt=_(63),qe=_(127),dt=_(128),yt=_(129),je=_(130),at=_(131),it=_(132);d.a.util.extend(g.a.prototype,Ue.a),b.a.import(nt.a),b.a.import(rt.a),b.a.import(qe.a),b.a.import(dt.a),b.a.import(yt.a),b.a.import(je.a),b.a.import(at.a),b.a.import(it.a);function ht(Ve){return!Ve||Ve==="none"}function ut(Ve){return Ve instanceof HTMLCanvasElement||Ve instanceof HTMLImageElement||Ve instanceof Image}function Mt(Ve){return Ve.getZr&&Ve.setOption}var Ce=v.a.prototype.addToScene,ot=v.a.prototype.removeFromScene;v.a.prototype.addToScene=function(Ve){if(Ce.call(this,Ve),this.__zr){var $e=this.__zr;Ve.traverse(function(lt){lt.__zr=$e,lt.addAnimatorsToZr&&lt.addAnimatorsToZr($e)})}},v.a.prototype.removeFromScene=function(Ve){ot.call(this,Ve),Ve.traverse(function($e){var lt=$e.__zr;$e.__zr=null,lt&&$e.removeAnimatorsFromZr&&$e.removeAnimatorsFromZr(lt)})},E.a.prototype.setTextureImage=function(Ve,$e,lt,pt){if(this.shader){var xt=lt.getZr(),wt=this,Dt;return wt.autoUpdateTextureStatus=!1,wt.disableTexture(Ve),ht($e)||(Dt=Pe.loadTexture($e,lt,pt,function(kt){wt.enableTexture(Ve),xt&&xt.refresh()}),wt.set(Ve,Dt)),Dt}};var Pe={};Pe.Renderer=w.a,Pe.Node=g.a,Pe.Mesh=F.a,Pe.Shader=b.a,Pe.Material=E.a,Pe.Texture=y.a,Pe.Texture2D=x.a,Pe.Geometry=m.a,Pe.SphereGeometry=R.a,Pe.PlaneGeometry=k.a,Pe.CubeGeometry=W.a,Pe.AmbientLight=z.a,Pe.DirectionalLight=Z.a,Pe.PointLight=Q.a,Pe.SpotLight=te.a,Pe.PerspectiveCamera=$.a,Pe.OrthographicCamera=ie.a,Pe.Vector2=ae.a,Pe.Vector3=re.a,Pe.Vector4=ce.a,Pe.Quaternion=oe.a,Pe.Matrix2=he.a,Pe.Matrix2d=se.a,Pe.Matrix3=pe.a,Pe.Matrix4=me.a,Pe.Plane=ge.a,Pe.Ray=Ee.a,Pe.BoundingBox=Ae.a,Pe.Frustum=Fe.a;var Ne=O.a.createBlank("rgba(255,255,255,0)").image;function We(Ve){return Math.pow(2,Math.round(Math.log(Ve)/Math.LN2))}function Be(Ve){if((Ve.wrapS===y.a.REPEAT||Ve.wrapT===y.a.REPEAT)&&Ve.image){var $e=We(Ve.width),lt=We(Ve.height);if($e!==Ve.width||lt!==Ve.height){var pt=document.createElement("canvas");pt.width=$e,pt.height=lt;var xt=pt.getContext("2d");xt.drawImage(Ve.image,0,0,$e,lt),Ve.image=pt}}}Pe.loadTexture=function(Ve,$e,lt,pt){typeof lt=="function"&&(pt=lt,lt={}),lt=lt||{};for(var xt=Object.keys(lt).sort(),wt="",Dt=0;Dt<xt.length;Dt++)wt+=xt[Dt]+"_"+lt[xt[Dt]]+"_";var kt=$e.__textureCache=$e.__textureCache||new T.a(20);if(Mt(Ve)){var Yt=Ve.__textureid__,Wt=kt.get(wt+Yt);if(Wt)Wt.texture.surface.setECharts(Ve),pt&&pt(Wt.texture);else{var Ot=new P.a(Ve);Ot.onupdate=function(){$e.getZr().refresh()},Wt={texture:Ot.getTexture()};for(var Dt=0;Dt<xt.length;Dt++)Wt.texture[xt[Dt]]=lt[xt[Dt]];Yt=Ve.__textureid__||"__ecgl_ec__"+Wt.texture.__uid__,Ve.__textureid__=Yt,kt.put(wt+Yt,Wt),pt&&pt(Wt.texture)}return Wt.texture}else if(ut(Ve)){var Yt=Ve.__textureid__,Wt=kt.get(wt+Yt);if(!Wt){Wt={texture:new Pe.Texture2D({image:Ve})};for(var Dt=0;Dt<xt.length;Dt++)Wt.texture[xt[Dt]]=lt[xt[Dt]];Yt=Ve.__textureid__||"__ecgl_image__"+Wt.texture.__uid__,Ve.__textureid__=Yt,kt.put(wt+Yt,Wt),Be(Wt.texture),pt&&pt(Wt.texture)}return Wt.texture}else{var Wt=kt.get(wt+Ve);if(Wt)Wt.callbacks?Wt.callbacks.push(pt):pt&&pt(Wt.texture);else if(Ve.match(/.hdr$|^data:application\/octet-stream/)){Wt={callbacks:[pt]};var en=O.a.loadTexture(Ve,{exposure:lt.exposure,fileType:"hdr"},function(){en.dirty(),Wt.callbacks.forEach(function(Fn){Fn&&Fn(en)}),Wt.callbacks=null});Wt.texture=en,kt.put(wt+Ve,Wt)}else{for(var en=new Pe.Texture2D({image:new Image}),Dt=0;Dt<xt.length;Dt++)en[xt[Dt]]=lt[xt[Dt]];Wt={texture:en,callbacks:[pt]};var vn=en.image;vn.onload=function(){en.image=vn,Be(en),en.dirty(),Wt.callbacks.forEach(function(qn){qn&&qn(en)}),Wt.callbacks=null},vn.src=Ve,en.image=Ne,kt.put(wt+Ve,Wt)}return Wt.texture}},Pe.createAmbientCubemap=function(Ve,$e,lt,pt){Ve=Ve||{};var xt=Ve.texture,wt=D.a.firstNotNull(Ve.exposure,1),Dt=new L.a({intensity:D.a.firstNotNull(Ve.specularIntensity,1)}),kt=new c.a({intensity:D.a.firstNotNull(Ve.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return Dt.cubemap=Pe.loadTexture(xt,lt,{exposure:wt},function(){Dt.cubemap.flipY=!1,Dt.prefilter($e,32),kt.coefficients=f.a.projectEnvironmentMap($e,Dt.cubemap,{lod:1}),pt&&pt()}),{specular:Dt,diffuse:kt}},Pe.createBlankTexture=O.a.createBlank,Pe.isImage=ut,Pe.additiveBlend=function(Ve){Ve.blendEquation(Ve.FUNC_ADD),Ve.blendFunc(Ve.SRC_ALPHA,Ve.ONE)},Pe.parseColor=function(Ve,$e){return Ve instanceof Array?($e||($e=[]),$e[0]=Ve[0],$e[1]=Ve[1],$e[2]=Ve[2],Ve.length>3?$e[3]=Ve[3]:$e[3]=1,$e):($e=d.a.color.parse(Ve||"#000",$e)||[0,0,0,0],$e[0]/=255,$e[1]/=255,$e[2]/=255,$e)},Pe.directionFromAlphaBeta=function(Ve,$e){var lt=Ve/180*Math.PI+Math.PI/2,pt=-$e/180*Math.PI+Math.PI/2,xt=[],wt=Math.sin(lt);return xt[0]=wt*Math.cos(pt),xt[1]=-Math.cos(lt),xt[2]=wt*Math.sin(pt),xt},Pe.getShadowResolution=function(Ve){var $e=1024;switch(Ve){case"low":$e=512;break;case"medium":break;case"high":$e=2048;break;case"ultra":$e=4096;break}return $e},Pe.COMMON_SHADERS=["lambert","color","realistic","hatching"],Pe.createShader=function(Ve){var $e=b.a.source(Ve+".vertex"),lt=b.a.source(Ve+".fragment");$e||console.error("Vertex shader of '%s' not exits",Ve),lt||console.error("Fragment shader of '%s' not exits",Ve);var pt=new b.a($e,lt);return pt.name=Ve,pt},Pe.createMaterial=function(Ve,$e){$e instanceof Array||($e=[$e]);var lt=Pe.createShader(Ve),pt=new E.a({shader:lt});return $e.forEach(function(xt){typeof xt=="string"&&pt.define(xt)}),pt},Pe.setMaterialFromModel=function(Ve,$e,lt,pt){$e.autoUpdateTextureStatus=!1;var xt=lt.getModel(Ve+"Material"),wt=xt.get("detailTexture"),Dt=D.a.firstNotNull(xt.get("textureTiling"),1),kt=D.a.firstNotNull(xt.get("textureOffset"),0);typeof Dt=="number"&&(Dt=[Dt,Dt]),typeof kt=="number"&&(kt=[kt,kt]);var Yt=Dt[0]>1||Dt[1]>1?Pe.Texture.REPEAT:Pe.Texture.CLAMP_TO_EDGE,Wt={anisotropic:8,wrapS:Yt,wrapT:Yt};if(Ve==="realistic"){var Ot=xt.get("roughness"),en=xt.get("metalness");en!=null?isNaN(en)&&($e.setTextureImage("metalnessMap",en,pt,Wt),en=D.a.firstNotNull(xt.get("metalnessAdjust"),.5)):en=0,Ot!=null?isNaN(Ot)&&($e.setTextureImage("roughnessMap",Ot,pt,Wt),Ot=D.a.firstNotNull(xt.get("roughnessAdjust"),.5)):Ot=.5;var vn=xt.get("normalTexture");$e.setTextureImage("detailMap",wt,pt,Wt),$e.setTextureImage("normalMap",vn,pt,Wt),$e.set({roughness:Ot,metalness:en,detailUvRepeat:Dt,detailUvOffset:kt})}else if(Ve==="lambert")$e.setTextureImage("detailMap",wt,pt,Wt),$e.set({detailUvRepeat:Dt,detailUvOffset:kt});else if(Ve==="color")$e.setTextureImage("detailMap",wt,pt,Wt),$e.set({detailUvRepeat:Dt,detailUvOffset:kt});else if(Ve==="hatching"){var Jn=xt.get("hatchingTextures")||[];Jn.length<6&&console.error("Invalid hatchingTextures.");for(var Fn=0;Fn<6;Fn++)$e.setTextureImage("hatch"+(Fn+1),Jn[Fn],pt,{anisotropic:8,wrapS:Pe.Texture.REPEAT,wrapT:Pe.Texture.REPEAT});$e.set({detailUvRepeat:Dt,detailUvOffset:kt})}},Pe.updateVertexAnimation=function(Ve,$e,lt,pt){var xt=pt.get("animation"),wt=pt.get("animationDurationUpdate"),Dt=pt.get("animationEasingUpdate"),kt=lt.shadowDepthMaterial;if(xt&&$e&&wt>0&&$e.geometry.vertexCount===lt.geometry.vertexCount){lt.material.define("vertex","VERTEX_ANIMATION"),lt.ignorePreZ=!0,kt&&kt.define("vertex","VERTEX_ANIMATION");for(var Yt=0;Yt<Ve.length;Yt++)lt.geometry.attributes[Ve[Yt][0]].value=$e.geometry.attributes[Ve[Yt][1]].value;lt.geometry.dirty(),lt.__percent=0,lt.material.set("percent",0),lt.stopAnimation(),lt.animate().when(wt,{__percent:1}).during(function(){lt.material.set("percent",lt.__percent),kt&&kt.set("percent",lt.__percent)}).done(function(){lt.ignorePreZ=!1,lt.material.undefine("vertex","VERTEX_ANIMATION"),kt&&kt.undefine("vertex","VERTEX_ANIMATION")}).start(Dt)}else lt.material.undefine("vertex","VERTEX_ANIMATION"),kt&&kt.undefine("vertex","VERTEX_ANIMATION")},G.a=Pe},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x={firstNotNull:function(){for(var y=0,b=arguments.length;y<b;y++)if(arguments[y]!=null)return arguments[y]},queryDataIndex:function(y,b){if(b.dataIndexInside!=null)return b.dataIndexInside;if(b.dataIndex!=null)return w.a.util.isArray(b.dataIndex)?w.a.util.map(b.dataIndex,function(E){return y.indexOfRawIndex(E)}):y.indexOfRawIndex(b.dataIndex);if(b.name!=null)return w.a.util.isArray(b.name)?w.a.util.map(b.name,function(E){return y.indexOfName(E)}):y.indexOfName(b.name)}};G.a=x},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.vec3,y=function(v,A,T){v=v||0,A=A||0,T=T||0,this.array=x.fromValues(v,A,T),this._dirty=!0};y.prototype={constructor:y,add:function(v){return x.add(this.array,this.array,v.array),this._dirty=!0,this},set:function(v,A,T){return this.array[0]=v,this.array[1]=A,this.array[2]=T,this._dirty=!0,this},setArray:function(v){return this.array[0]=v[0],this.array[1]=v[1],this.array[2]=v[2],this._dirty=!0,this},clone:function(){return new y(this.x,this.y,this.z)},copy:function(v){return x.copy(this.array,v.array),this._dirty=!0,this},cross:function(v,A){return x.cross(this.array,v.array,A.array),this._dirty=!0,this},dist:function(v){return x.dist(this.array,v.array)},distance:function(v){return x.distance(this.array,v.array)},div:function(v){return x.div(this.array,this.array,v.array),this._dirty=!0,this},divide:function(v){return x.divide(this.array,this.array,v.array),this._dirty=!0,this},dot:function(v){return x.dot(this.array,v.array)},len:function(){return x.len(this.array)},length:function(){return x.length(this.array)},lerp:function(v,A,T){return x.lerp(this.array,v.array,A.array,T),this._dirty=!0,this},min:function(v){return x.min(this.array,this.array,v.array),this._dirty=!0,this},max:function(v){return x.max(this.array,this.array,v.array),this._dirty=!0,this},mul:function(v){return x.mul(this.array,this.array,v.array),this._dirty=!0,this},multiply:function(v){return x.multiply(this.array,this.array,v.array),this._dirty=!0,this},negate:function(){return x.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return x.normalize(this.array,this.array),this._dirty=!0,this},random:function(v){return x.random(this.array,v),this._dirty=!0,this},scale:function(v){return x.scale(this.array,this.array,v),this._dirty=!0,this},scaleAndAdd:function(v,A){return x.scaleAndAdd(this.array,this.array,v.array,A),this._dirty=!0,this},sqrDist:function(v){return x.sqrDist(this.array,v.array)},squaredDistance:function(v){return x.squaredDistance(this.array,v.array)},sqrLen:function(){return x.sqrLen(this.array)},squaredLength:function(){return x.squaredLength(this.array)},sub:function(v){return x.sub(this.array,this.array,v.array),this._dirty=!0,this},subtract:function(v){return x.subtract(this.array,this.array,v.array),this._dirty=!0,this},transformMat3:function(v){return x.transformMat3(this.array,this.array,v.array),this._dirty=!0,this},transformMat4:function(v){return x.transformMat4(this.array,this.array,v.array),this._dirty=!0,this},transformQuat:function(v){return x.transformQuat(this.array,this.array,v.array),this._dirty=!0,this},applyProjection:function(v){var A=this.array;if(v=v.array,v[15]===0){var T=-1/A[2];A[0]=v[0]*A[0]*T,A[1]=v[5]*A[1]*T,A[2]=(v[10]*A[2]+v[14])*T}else A[0]=v[0]*A[0]+v[12],A[1]=v[5]*A[1]+v[13],A[2]=v[10]*A[2]+v[14];return this._dirty=!0,this},eulerFromQuat:function(v,A){y.eulerFromQuat(this,v,A)},eulerFromMat3:function(v,A){y.eulerFromMat3(this,v,A)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var b=Object.defineProperty;if(b){var E=y.prototype;b(E,"x",{get:function(){return this.array[0]},set:function(v){this.array[0]=v,this._dirty=!0}}),b(E,"y",{get:function(){return this.array[1]},set:function(v){this.array[1]=v,this._dirty=!0}}),b(E,"z",{get:function(){return this.array[2]},set:function(v){this.array[2]=v,this._dirty=!0}})}y.add=function(v,A,T){return x.add(v.array,A.array,T.array),v._dirty=!0,v},y.set=function(v,A,T,O){x.set(v.array,A,T,O),v._dirty=!0},y.copy=function(v,A){return x.copy(v.array,A.array),v._dirty=!0,v},y.cross=function(v,A,T){return x.cross(v.array,A.array,T.array),v._dirty=!0,v},y.dist=function(v,A){return x.distance(v.array,A.array)},y.distance=y.dist,y.div=function(v,A,T){return x.divide(v.array,A.array,T.array),v._dirty=!0,v},y.divide=y.div,y.dot=function(v,A){return x.dot(v.array,A.array)},y.len=function(v){return x.length(v.array)},y.lerp=function(v,A,T,O){return x.lerp(v.array,A.array,T.array,O),v._dirty=!0,v},y.min=function(v,A,T){return x.min(v.array,A.array,T.array),v._dirty=!0,v},y.max=function(v,A,T){return x.max(v.array,A.array,T.array),v._dirty=!0,v},y.mul=function(v,A,T){return x.multiply(v.array,A.array,T.array),v._dirty=!0,v},y.multiply=y.mul,y.negate=function(v,A){return x.negate(v.array,A.array),v._dirty=!0,v},y.normalize=function(v,A){return x.normalize(v.array,A.array),v._dirty=!0,v},y.random=function(v,A){return x.random(v.array,A),v._dirty=!0,v},y.scale=function(v,A,T){return x.scale(v.array,A.array,T),v._dirty=!0,v},y.scaleAndAdd=function(v,A,T,O){return x.scaleAndAdd(v.array,A.array,T.array,O),v._dirty=!0,v},y.sqrDist=function(v,A){return x.sqrDist(v.array,A.array)},y.squaredDistance=y.sqrDist,y.sqrLen=function(v){return x.sqrLen(v.array)},y.squaredLength=y.sqrLen,y.sub=function(v,A,T){return x.subtract(v.array,A.array,T.array),v._dirty=!0,v},y.subtract=y.sub,y.transformMat3=function(v,A,T){return x.transformMat3(v.array,A.array,T.array),v._dirty=!0,v},y.transformMat4=function(v,A,T){return x.transformMat4(v.array,A.array,T.array),v._dirty=!0,v},y.transformQuat=function(v,A,T){return x.transformQuat(v.array,A.array,T.array),v._dirty=!0,v};function g(v,A,T){return v<A?A:v>T?T:v}var m=Math.atan2,C=Math.asin,d=Math.abs;y.eulerFromQuat=function(v,A,z){v._dirty=!0,A=A.array;var O=v.array,P=A[0],L=A[1],c=A[2],f=A[3],D=P*P,R=L*L,k=c*c,W=f*f,z=(z||"XYZ").toUpperCase();switch(z){case"XYZ":O[0]=m(2*(P*f-L*c),W-D-R+k),O[1]=C(g(2*(P*c+L*f),-1,1)),O[2]=m(2*(c*f-P*L),W+D-R-k);break;case"YXZ":O[0]=C(g(2*(P*f-L*c),-1,1)),O[1]=m(2*(P*c+L*f),W-D-R+k),O[2]=m(2*(P*L+c*f),W-D+R-k);break;case"ZXY":O[0]=C(g(2*(P*f+L*c),-1,1)),O[1]=m(2*(L*f-c*P),W-D-R+k),O[2]=m(2*(c*f-P*L),W-D+R-k);break;case"ZYX":O[0]=m(2*(P*f+c*L),W-D-R+k),O[1]=C(g(2*(L*f-P*c),-1,1)),O[2]=m(2*(P*L+c*f),W+D-R-k);break;case"YZX":O[0]=m(2*(P*f-c*L),W-D+R-k),O[1]=m(2*(L*f-P*c),W+D-R-k),O[2]=C(g(2*(P*L+c*f),-1,1));break;case"XZY":O[0]=m(2*(P*f+L*c),W-D+R-k),O[1]=m(2*(P*c+L*f),W+D-R-k),O[2]=C(g(2*(c*f-P*L),-1,1));break;default:console.warn("Unkown order: "+z)}return v},y.eulerFromMat3=function(v,A,Q){var O=A.array,P=O[0],L=O[3],c=O[6],f=O[1],D=O[4],R=O[7],k=O[2],W=O[5],z=O[8],Z=v.array,Q=(Q||"XYZ").toUpperCase();switch(Q){case"XYZ":Z[1]=C(g(c,-1,1)),d(c)<.99999?(Z[0]=m(-R,z),Z[2]=m(-L,P)):(Z[0]=m(W,D),Z[2]=0);break;case"YXZ":Z[0]=C(-g(R,-1,1)),d(R)<.99999?(Z[1]=m(c,z),Z[2]=m(f,D)):(Z[1]=m(-k,P),Z[2]=0);break;case"ZXY":Z[0]=C(g(W,-1,1)),d(W)<.99999?(Z[1]=m(-k,z),Z[2]=m(-L,D)):(Z[1]=0,Z[2]=m(f,P));break;case"ZYX":Z[1]=C(-g(k,-1,1)),d(k)<.99999?(Z[0]=m(W,z),Z[2]=m(f,P)):(Z[0]=0,Z[2]=m(-L,D));break;case"YZX":Z[2]=C(g(f,-1,1)),d(f)<.99999?(Z[0]=m(-R,D),Z[1]=m(-k,P)):(Z[0]=0,Z[1]=m(c,z));break;case"XZY":Z[2]=C(-g(L,-1,1)),d(L)<.99999?(Z[0]=m(W,D),Z[1]=m(c,P)):(Z[0]=m(-R,z),Z[1]=0);break;default:console.warn("Unkown order: "+Q)}return v._dirty=!0,v},y.POSITIVE_X=new y(1,0,0),y.NEGATIVE_X=new y(-1,0,0),y.POSITIVE_Y=new y(0,1,0),y.NEGATIVE_Y=new y(0,-1,0),y.POSITIVE_Z=new y(0,0,1),y.NEGATIVE_Z=new y(0,0,-1),y.UP=new y(0,1,0),y.ZERO=new y(0,0,0),G.a=y},function(ee,G,_){"use strict";var F=_(6),w=_(11),x=_(66),y=x.a.isPowerOfTwo,b=F.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(E){var g=E.gl;g.bindTexture(g.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(E);var m=this.format,C=this.type;g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,this.getAvailableWrapS()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,this.getAvailableWrapT()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var d=E.getGLExtension("EXT_texture_filter_anisotropic");if(d&&this.anisotropic>1&&g.texParameterf(g.TEXTURE_2D,d.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),C===36193){var v=E.getGLExtension("OES_texture_half_float");v||(C=w.a.FLOAT)}if(this.mipmaps.length)for(var A=this.width,T=this.height,O=0;O<this.mipmaps.length;O++){var P=this.mipmaps[O];this._updateTextureData(g,P,O,A,T,m,C),A/=2,T/=2}else this._updateTextureData(g,this,0,this.width,this.height,m,C),this.useMipmap&&!this.NPOT&&g.generateMipmap(g.TEXTURE_2D);g.bindTexture(g.TEXTURE_2D,null)},_updateTextureData:function(E,g,m,C,d,v,A){g.image?E.texImage2D(E.TEXTURE_2D,m,v,v,A,g.image):v<=F.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&v>=F.a.COMPRESSED_RGB_S3TC_DXT1_EXT?E.compressedTexImage2D(E.TEXTURE_2D,m,v,C,d,0,g.pixels):E.texImage2D(E.TEXTURE_2D,m,v,C,d,0,v,A,g.pixels)},generateMipmap:function(E){var g=E.gl;this.useMipmap&&!this.NPOT&&(g.bindTexture(g.TEXTURE_2D,this._cache.get("webgl_texture")),g.generateMipmap(g.TEXTURE_2D))},isPowerOfTwo:function(){var E,g;return this.image?(E=this.image.width,g=this.image.height):(E=this.width,g=this.height),y(E)&&y(g)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(E){E.gl.bindTexture(E.gl.TEXTURE_2D,this.getWebGLTexture(E))},unbind:function(E){E.gl.bindTexture(E.gl.TEXTURE_2D,null)},load:function(E,g){var m=new Image;g&&(m.crossOrigin=g);var C=this;return m.onload=function(){C.dirty(),C.trigger("success",C),m.onload=null},m.onerror=function(){C.trigger("error",C),m.onerror=null},m.src=E,this.image=m,this}});Object.defineProperty(b.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(E){this.image?console.warn("Texture from image can't set width"):(this._width!==E&&this.dirty(),this._width=E)}}),Object.defineProperty(b.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(E){this.image?console.warn("Texture from image can't set height"):(this._height!==E&&this.dirty(),this._height=E)}}),G.a=b},function(ee,G,_){"use strict";var F=_(8),w=_(11),x=_(48),y=F.a.extend({width:512,height:512,type:w.a.UNSIGNED_BYTE,format:w.a.RGBA,wrapS:w.a.REPEAT,wrapT:w.a.REPEAT,minFilter:w.a.LINEAR_MIPMAP_LINEAR,magFilter:w.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new x.a},{getWebGLTexture:function(b){var E=b.gl,g=this._cache;return g.use(b.__uid__),g.miss("webgl_texture")&&g.put("webgl_texture",E.createTexture()),this.dynamic?this.update(b):g.isDirty()&&(this.update(b),g.fresh()),g.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(b){},updateCommon:function(b){var E=b.gl;E.pixelStorei(E.UNPACK_FLIP_Y_WEBGL,this.flipY),E.pixelStorei(E.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),E.pixelStorei(E.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===w.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var g=b.getGLExtension("EXT_sRGB");this.format===y.SRGB&&!g&&(this.format=y.RGB),this.format===y.SRGB_ALPHA&&!g&&(this.format=y.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?w.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?w.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var b=this.minFilter;return this.NPOT||!this.useMipmap?b==w.a.NEAREST_MIPMAP_NEAREST||b==w.a.NEAREST_MIPMAP_LINEAR?w.a.NEAREST:b==w.a.LINEAR_MIPMAP_LINEAR||b==w.a.LINEAR_MIPMAP_NEAREST?w.a.LINEAR:b:b},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(b){--b;for(var E=1;E<32;E<<=1)b=b|b>>E;return b+1},dispose:function(b){var E=this._cache;E.use(b.__uid__);var g=E.get("webgl_texture");g&&b.gl.deleteTexture(g),E.deleteContext(b.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(y.prototype,"width",{get:function(){return this._width},set:function(b){this._width=b}}),Object.defineProperty(y.prototype,"height",{get:function(){return this._height},set:function(b){this._height=b}}),y.BYTE=w.a.BYTE,y.UNSIGNED_BYTE=w.a.UNSIGNED_BYTE,y.SHORT=w.a.SHORT,y.UNSIGNED_SHORT=w.a.UNSIGNED_SHORT,y.INT=w.a.INT,y.UNSIGNED_INT=w.a.UNSIGNED_INT,y.FLOAT=w.a.FLOAT,y.HALF_FLOAT=36193,y.UNSIGNED_INT_24_8_WEBGL=34042,y.DEPTH_COMPONENT=w.a.DEPTH_COMPONENT,y.DEPTH_STENCIL=w.a.DEPTH_STENCIL,y.ALPHA=w.a.ALPHA,y.RGB=w.a.RGB,y.RGBA=w.a.RGBA,y.LUMINANCE=w.a.LUMINANCE,y.LUMINANCE_ALPHA=w.a.LUMINANCE_ALPHA,y.SRGB=35904,y.SRGB_ALPHA=35906,y.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,y.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,y.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,y.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,y.NEAREST=w.a.NEAREST,y.LINEAR=w.a.LINEAR,y.NEAREST_MIPMAP_NEAREST=w.a.NEAREST_MIPMAP_NEAREST,y.LINEAR_MIPMAP_NEAREST=w.a.LINEAR_MIPMAP_NEAREST,y.NEAREST_MIPMAP_LINEAR=w.a.NEAREST_MIPMAP_LINEAR,y.LINEAR_MIPMAP_LINEAR=w.a.LINEAR_MIPMAP_LINEAR,y.REPEAT=w.a.REPEAT,y.CLAMP_TO_EDGE=w.a.CLAMP_TO_EDGE,y.MIRRORED_REPEAT=w.a.MIRRORED_REPEAT,G.a=y},function(ee,G,_){"use strict";var F=_(21),w=_(18),x=_(1),y=_.n(x),b=y.a.mat2,E=y.a.mat3,g=y.a.mat4,m=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,C=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,d=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,v={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},A={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return b.create()},mat3:function(){return E.create()},mat4:function(){return g.create()},array:function(){return[]}},T=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],O=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],P=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],L={},c={};function f(W,z){var Z="vertex:"+W+"fragment:"+z;if(L[Z])return L[Z];var Q=F.a.genGUID();return L[Z]=Q,c[Q]={vertex:W,fragment:z},Q}function D(W,z){typeof W=="object"&&(z=W.fragment,W=W.vertex),this._shaderID=f(W,z),this._vertexCode=D.parseImport(W),this._fragmentCode=D.parseImport(z),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}D.prototype={constructor:D,createUniforms:function(){var W={};for(var z in this.uniformTemplates){var Z=this.uniformTemplates[z];W[z]={type:Z.type,value:Z.value()}}return W},_parseImport:function(){this._vertexCode=D.parseImport(this.vertex),this._fragmentCode=D.parseImport(this.fragment)},_parseUniforms:function(){var W={},z=this,Z="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(m,Q),Z="fragment",this._fragmentCode=this._fragmentCode.replace(m,Q),z.matrixSemanticKeys=Object.keys(this.matrixSemantics);function Q(te,$,ie,ae,re,ce){if($&&ie){var oe=v[$],he=!0,se;if(oe){if(z._uniformList.push(ie),($==="sampler2D"||$==="samplerCube")&&(z.textures[ie]={shaderType:Z,type:$}),ae&&(oe+="v"),ce)if(T.indexOf(ce)>=0)z.attributeSemantics[ce]={symbol:ie,type:oe},he=!1;else if(P.indexOf(ce)>=0){var pe=!1,me=ce;ce.match(/TRANSPOSE$/)&&(pe=!0,me=ce.slice(0,-9)),z.matrixSemantics[ce]={symbol:ie,type:oe,isTranspose:pe,semanticNoTranspose:me},he=!1}else if(O.indexOf(ce)>=0)z.uniformSemantics[ce]={symbol:ie,type:oe},he=!1;else if(ce==="unconfigurable")he=!1;else if(se=z._parseDefaultValue($,ce),se)ce="";else throw new Error('Unkown semantic "'+ce+'"');he&&(W[ie]={type:oe,value:ae?A.array:se||A[$],semantic:ce||null})}return["uniform",$,ie,ae].join(" ")+`;
`}}this.uniformTemplates=W},_parseDefaultValue:function(W,z){var Z=/\[\s*(.*)\s*\]/;if(W==="vec2"||W==="vec3"||W==="vec4"){var Q=Z.exec(z)[1];if(Q){var te=Q.split(/\s*,\s*/);return function(){return new w.a.Float32Array(te)}}else return}else{if(W==="bool")return function(){return z.toLowerCase()==="true"};if(W==="float")return function(){return parseFloat(z)};if(W==="int")return function(){return parseInt(z)}}},_parseAttributes:function(){var W={},z=this;this._vertexCode=this._vertexCode.replace(C,Z);function Z(Q,te,$,ie,ae){if(te&&$){var re=1;switch(te){case"vec4":re=4;break;case"vec3":re=3;break;case"vec2":re=2;break;case"float":re=1;break}if(W[$]={type:"float",size:re,semantic:ae||null},ae){if(T.indexOf(ae)<0)throw new Error('Unkown semantic "'+ae+'"');z.attributeSemantics[ae]={symbol:$,type:te}}}return["attribute",te,$].join(" ")+`;
`}this.attributes=W},_parseDefines:function(){var W=this,z="vertex";this._vertexCode=this._vertexCode.replace(d,Z),z="fragment",this._fragmentCode=this._fragmentCode.replace(d,Z);function Z(Q,te,$){var ie=z==="vertex"?W.vertexDefines:W.fragmentDefines;return ie[te]||($=="false"?ie[te]=!1:$=="true"?ie[te]=!0:ie[te]=$?isNaN(parseFloat($))?$.trim():parseFloat($):null),""}},clone:function(){var W=c[this._shaderID],z=new D(W.vertex,W.fragment);return z}},Object.defineProperty&&(Object.defineProperty(D.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(D.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(D.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(D.prototype,"uniforms",{get:function(){return this._uniformList}}));var R=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;D.parseImport=function(W){return W=W.replace(R,function(te,Z,Q){var te=D.source(Q);return te?D.parseImport(te):(console.error('Shader chunk "'+Q+'" not existed in library'),"")}),W};var k=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;D.import=function(W){W.replace(k,function(z,Z,Q,$){var $=$.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if($){for(var ie=Q.split("."),ae=D.codes,re=0,ce;re<ie.length-1;)ce=ie[re++],ae[ce]||(ae[ce]={}),ae=ae[ce];ce=ie[re],ae[ce]=$}return $})},D.codes={},D.source=function(W){for(var z=W.split("."),Z=D.codes,Q=0;Z&&Q<z.length;){var te=z[Q++];Z=Z[te]}return typeof Z!="string"?(console.error('Shader "'+W+'" not existed in library'),""):Z},G.a=D},function(ee,G,_){"use strict";var F=_(91),w=_(47),x=_(21),y=function(){this.__uid__=x.a.genGUID()};y.__initializers__=[function(b){x.a.extend(this,b)}],x.a.extend(y,F.a),x.a.extend(y.prototype,w.a),G.a=y},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=_(4),y=w.a.mat4,b=w.a.vec3,E=w.a.mat3,g=w.a.quat,m=function(){this._axisX=new x.a,this._axisY=new x.a,this._axisZ=new x.a,this.array=y.create(),this._dirty=!0};m.prototype={constructor:m,setArray:function(v){for(var A=0;A<this.array.length;A++)this.array[A]=v[A];return this._dirty=!0,this},adjoint:function(){return y.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new m().copy(this)},copy:function(v){return y.copy(this.array,v.array),this._dirty=!0,this},determinant:function(){return y.determinant(this.array)},fromQuat:function(v){return y.fromQuat(this.array,v.array),this._dirty=!0,this},fromRotationTranslation:function(v,A){return y.fromRotationTranslation(this.array,v.array,A.array),this._dirty=!0,this},fromMat2d:function(v){return m.fromMat2d(this,v),this},frustum:function(v,A,T,O,P,L){return y.frustum(this.array,v,A,T,O,P,L),this._dirty=!0,this},identity:function(){return y.identity(this.array),this._dirty=!0,this},invert:function(){return y.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(v,A,T){return y.lookAt(this.array,v.array,A.array,T.array),this._dirty=!0,this},mul:function(v){return y.mul(this.array,this.array,v.array),this._dirty=!0,this},mulLeft:function(v){return y.mul(this.array,v.array,this.array),this._dirty=!0,this},multiply:function(v){return y.multiply(this.array,this.array,v.array),this._dirty=!0,this},multiplyLeft:function(v){return y.multiply(this.array,v.array,this.array),this._dirty=!0,this},ortho:function(v,A,T,O,P,L){return y.ortho(this.array,v,A,T,O,P,L),this._dirty=!0,this},perspective:function(v,A,T,O){return y.perspective(this.array,v,A,T,O),this._dirty=!0,this},rotate:function(v,A){return y.rotate(this.array,this.array,v,A.array),this._dirty=!0,this},rotateX:function(v){return y.rotateX(this.array,this.array,v),this._dirty=!0,this},rotateY:function(v){return y.rotateY(this.array,this.array,v),this._dirty=!0,this},rotateZ:function(v){return y.rotateZ(this.array,this.array,v),this._dirty=!0,this},scale:function(v){return y.scale(this.array,this.array,v.array),this._dirty=!0,this},translate:function(v){return y.translate(this.array,this.array,v.array),this._dirty=!0,this},transpose:function(){return y.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var v=b.create(),A=b.create(),T=b.create(),O=E.create();return function(P,L,c){var f=this.array;b.set(v,f[0],f[1],f[2]),b.set(A,f[4],f[5],f[6]),b.set(T,f[8],f[9],f[10]);var D=b.length(v),R=b.length(A),k=b.length(T),W=this.determinant();W<0&&(D=-D),P&&P.set(D,R,k),c.set(f[12],f[13],f[14]),E.fromMat4(O,f),O[0]/=D,O[1]/=D,O[2]/=D,O[3]/=R,O[4]/=R,O[5]/=R,O[6]/=k,O[7]/=k,O[8]/=k,g.fromMat3(L.array,O),g.normalize(L.array,L.array),L._dirty=!0,c._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var C=Object.defineProperty;if(C){var d=m.prototype;C(d,"z",{get:function(){var v=this.array;return this._axisZ.set(v[8],v[9],v[10]),this._axisZ},set:function(v){var A=this.array;v=v.array,A[8]=v[0],A[9]=v[1],A[10]=v[2],this._dirty=!0}}),C(d,"y",{get:function(){var v=this.array;return this._axisY.set(v[4],v[5],v[6]),this._axisY},set:function(v){var A=this.array;v=v.array,A[4]=v[0],A[5]=v[1],A[6]=v[2],this._dirty=!0}}),C(d,"x",{get:function(){var v=this.array;return this._axisX.set(v[0],v[1],v[2]),this._axisX},set:function(v){var A=this.array;v=v.array,A[0]=v[0],A[1]=v[1],A[2]=v[2],this._dirty=!0}})}m.adjoint=function(v,A){return y.adjoint(v.array,A.array),v._dirty=!0,v},m.copy=function(v,A){return y.copy(v.array,A.array),v._dirty=!0,v},m.determinant=function(v){return y.determinant(v.array)},m.identity=function(v){return y.identity(v.array),v._dirty=!0,v},m.ortho=function(v,A,T,O,P,L,c){return y.ortho(v.array,A,T,O,P,L,c),v._dirty=!0,v},m.perspective=function(v,A,T,O,P){return y.perspective(v.array,A,T,O,P),v._dirty=!0,v},m.lookAt=function(v,A,T,O){return y.lookAt(v.array,A.array,T.array,O.array),v._dirty=!0,v},m.invert=function(v,A){return y.invert(v.array,A.array),v._dirty=!0,v},m.mul=function(v,A,T){return y.mul(v.array,A.array,T.array),v._dirty=!0,v},m.multiply=m.mul,m.fromQuat=function(v,A){return y.fromQuat(v.array,A.array),v._dirty=!0,v},m.fromRotationTranslation=function(v,A,T){return y.fromRotationTranslation(v.array,A.array,T.array),v._dirty=!0,v},m.fromMat2d=function(O,T){O._dirty=!0;var T=T.array,O=O.array;return O[0]=T[0],O[4]=T[2],O[12]=T[4],O[1]=T[1],O[5]=T[3],O[13]=T[5],O},m.rotate=function(v,A,T,O){return y.rotate(v.array,A.array,T,O.array),v._dirty=!0,v},m.rotateX=function(v,A,T){return y.rotateX(v.array,A.array,T),v._dirty=!0,v},m.rotateY=function(v,A,T){return y.rotateY(v.array,A.array,T),v._dirty=!0,v},m.rotateZ=function(v,A,T){return y.rotateZ(v.array,A.array,T),v._dirty=!0,v},m.scale=function(v,A,T){return y.scale(v.array,A.array,T.array),v._dirty=!0,v},m.transpose=function(v,A){return y.transpose(v.array,A.array),v._dirty=!0,v},m.translate=function(v,A,T){return y.translate(v.array,A.array,T.array),v._dirty=!0,v},G.a=m},function(ee,G,_){"use strict";var F=_(8),w=_(6),x=_(25),y=_(11),b=_(48),E="framebuffer",g="renderbuffer",m=g+"_width",C=g+"_height",d=g+"_attached",v="depthtexture_attached",A=y.a.FRAMEBUFFER,T=y.a.RENDERBUFFER,O=y.a.DEPTH_ATTACHMENT,P=y.a.COLOR_ATTACHMENT0,L=F.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new b.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(c){if(c.__currentFrameBuffer){if(c.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}c.__currentFrameBuffer=this;var f=c.gl;f.bindFramebuffer(A,this._getFrameBufferGL(c)),this._boundRenderer=c;var D=this._cache;D.put("viewport",c.viewport);var R=!1,k,W;for(var z in this._textures){R=!0;var Z=this._textures[z];Z&&(k=Z.texture.width,W=Z.texture.height,this._doAttach(c,Z.texture,z,Z.target))}this._width=k,this._height=W,!R&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?c.setViewport(this.viewport):c.setViewport(0,0,k,W,1);var Q=D.get("attached_textures");if(Q){for(var z in Q)if(!this._textures[z]){var te=Q[z];this._doDetach(f,z,te)}}if(!D.get(v)&&this.depthBuffer){D.miss(g)&&D.put(g,f.createRenderbuffer());var $=D.get(g);(k!==D.get(m)||W!==D.get(C))&&(f.bindRenderbuffer(T,$),f.renderbufferStorage(T,f.DEPTH_COMPONENT16,k,W),D.put(m,k),D.put(C,W),f.bindRenderbuffer(T,null)),D.get(d)||(f.framebufferRenderbuffer(A,O,T,$),D.put(d,!0))}},unbind:function(c){c.__currentFrameBuffer=null;var f=c.gl;f.bindFramebuffer(A,null),this._boundRenderer=null,this._cache.use(c.__uid__);var D=this._cache.get("viewport");D&&c.setViewport(D),this.updateMipmap(c)},updateMipmap:function(c){var f=c.gl;for(var D in this._textures){var R=this._textures[D];if(R){var k=R.texture;if(!k.NPOT&&k.useMipmap&&k.minFilter===w.a.LINEAR_MIPMAP_LINEAR){var W=k instanceof x.a?y.a.TEXTURE_CUBE_MAP:y.a.TEXTURE_2D;f.bindTexture(W,k.getWebGLTexture(c)),f.generateMipmap(W),f.bindTexture(W,null)}}}},checkStatus:function(c){return c.checkFramebufferStatus(A)},_getFrameBufferGL:function(c){var f=this._cache;return f.use(c.__uid__),f.miss(E)&&f.put(E,c.gl.createFramebuffer()),f.get(E)},attach:function(c,f,D){if(!c.width)throw new Error("The texture attached to color buffer is not a valid.");f=f||P,D=D||y.a.TEXTURE_2D;var R=this._boundRenderer,k=R&&R.gl,W;if(k){var z=this._cache;z.use(R.__uid__),W=z.get("attached_textures")}var Z=this._textures[f];if(!(Z&&Z.target===D&&Z.texture===c&&W&&W[f]!=null)){var Q=!0;R&&(Q=this._doAttach(R,c,f,D),this.viewport||R.setViewport(0,0,c.width,c.height,1)),Q&&(this._textures[f]=this._textures[f]||{},this._textures[f].texture=c,this._textures[f].target=D)}},_doAttach:function(c,f,D,R){var k=c.gl,W=f.getWebGLTexture(c),z=this._cache.get("attached_textures");if(z&&z[D]){var Z=z[D];if(Z.texture===f&&Z.target===R)return}D=+D;var Q=!0;if(D===O||D===y.a.DEPTH_STENCIL_ATTACHMENT){var te=c.getGLExtension("WEBGL_depth_texture");if(te||(console.error("Depth texture is not supported by the browser"),Q=!1),f.format!==y.a.DEPTH_COMPONENT&&f.format!==y.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),Q=!1),Q){var $=this._cache.get(g);$&&(k.framebufferRenderbuffer(A,O,T,null),k.deleteRenderbuffer($),this._cache.put(g,!1)),this._cache.put(d,!1),this._cache.put(v,!0)}}return k.framebufferTexture2D(A,D,R,W,0),z||(z={},this._cache.put("attached_textures",z)),z[D]=z[D]||{},z[D].texture=f,z[D].target=R,Q},_doDetach:function(c,f,D){c.framebufferTexture2D(A,f,D,null,0);var R=this._cache.get("attached_textures");R&&R[f]&&(R[f]=null),(f===O||f===y.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(v,!1)},detach:function(c,f){if(this._textures[c]=null,this._boundRenderer){var D=this._cache;D.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,c,f)}},dispose:function(c){var f=c.gl,D=this._cache;D.use(c.__uid__);var R=D.get(g);R&&f.deleteRenderbuffer(R);var k=D.get(E);k&&f.deleteFramebuffer(k),D.deleteContext(c.__uid__),this._textures={}}});L.DEPTH_ATTACHMENT=O,L.COLOR_ATTACHMENT0=P,L.STENCIL_ATTACHMENT=y.a.STENCIL_ATTACHMENT,L.DEPTH_STENCIL_ATTACHMENT=y.a.DEPTH_STENCIL_ATTACHMENT,G.a=L},function(ee,G,_){"use strict";G.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(ee,G){var _={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},F={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},w=Object.prototype.toString,x=Array.prototype,y=x.forEach,b=x.filter,E=x.slice,g=x.map,m=x.reduce,C={};function d(Ce,ot){C[Ce]=ot}function v(Ce){if(Ce==null||typeof Ce!="object")return Ce;var ot=Ce,Pe=w.call(Ce);if(Pe==="[object Array]"){if(!yt(Ce)){ot=[];for(var Ne=0,We=Ce.length;Ne<We;Ne++)ot[Ne]=v(Ce[Ne])}}else if(F[Pe]){if(!yt(Ce)){var Be=Ce.constructor;if(Ce.constructor.from)ot=Be.from(Ce);else{ot=new Be(Ce.length);for(var Ne=0,We=Ce.length;Ne<We;Ne++)ot[Ne]=v(Ce[Ne])}}}else if(!_[Pe]&&!yt(Ce)&&!me(Ce)){ot={};for(var Ve in Ce)Ce.hasOwnProperty(Ve)&&(ot[Ve]=v(Ce[Ve]))}return ot}function A(Ce,ot,Pe){if(!he(ot)||!he(Ce))return Pe?v(ot):Ce;for(var Ne in ot)if(ot.hasOwnProperty(Ne)){var We=Ce[Ne],Be=ot[Ne];he(Be)&&he(We)&&!re(Be)&&!re(We)&&!me(Be)&&!me(We)&&!se(Be)&&!se(We)&&!yt(Be)&&!yt(We)?A(We,Be,Pe):(Pe||!(Ne in Ce))&&(Ce[Ne]=v(ot[Ne],!0))}return Ce}function T(Ce,ot){for(var Pe=Ce[0],Ne=1,We=Ce.length;Ne<We;Ne++)Pe=A(Pe,Ce[Ne],ot);return Pe}function O(Ce,ot){for(var Pe in ot)ot.hasOwnProperty(Pe)&&(Ce[Pe]=ot[Pe]);return Ce}function P(Ce,ot,Pe){for(var Ne in ot)ot.hasOwnProperty(Ne)&&(Pe?ot[Ne]!=null:Ce[Ne]==null)&&(Ce[Ne]=ot[Ne]);return Ce}var L=function(){return C.createCanvas()};C.createCanvas=function(){return document.createElement("canvas")};var c;function f(){return c||(c=L().getContext("2d")),c}function D(Ce,ot){if(Ce){if(Ce.indexOf)return Ce.indexOf(ot);for(var Pe=0,Ne=Ce.length;Pe<Ne;Pe++)if(Ce[Pe]===ot)return Pe}return-1}function R(Ce,ot){var Pe=Ce.prototype;function Ne(){}Ne.prototype=ot.prototype,Ce.prototype=new Ne;for(var We in Pe)Ce.prototype[We]=Pe[We];Ce.prototype.constructor=Ce,Ce.superClass=ot}function k(Ce,ot,Pe){Ce="prototype"in Ce?Ce.prototype:Ce,ot="prototype"in ot?ot.prototype:ot,P(Ce,ot,Pe)}function W(Ce){if(Ce)return typeof Ce=="string"?!1:typeof Ce.length=="number"}function z(Ce,ot,Pe){if(Ce&&ot)if(Ce.forEach&&Ce.forEach===y)Ce.forEach(ot,Pe);else if(Ce.length===+Ce.length)for(var Ne=0,We=Ce.length;Ne<We;Ne++)ot.call(Pe,Ce[Ne],Ne,Ce);else for(var Be in Ce)Ce.hasOwnProperty(Be)&&ot.call(Pe,Ce[Be],Be,Ce)}function Z(Ce,ot,Pe){if(Ce&&ot){if(Ce.map&&Ce.map===g)return Ce.map(ot,Pe);for(var Ne=[],We=0,Be=Ce.length;We<Be;We++)Ne.push(ot.call(Pe,Ce[We],We,Ce));return Ne}}function Q(Ce,ot,Pe,Ne){if(Ce&&ot){if(Ce.reduce&&Ce.reduce===m)return Ce.reduce(ot,Pe,Ne);for(var We=0,Be=Ce.length;We<Be;We++)Pe=ot.call(Ne,Pe,Ce[We],We,Ce);return Pe}}function te(Ce,ot,Pe){if(Ce&&ot){if(Ce.filter&&Ce.filter===b)return Ce.filter(ot,Pe);for(var Ne=[],We=0,Be=Ce.length;We<Be;We++)ot.call(Pe,Ce[We],We,Ce)&&Ne.push(Ce[We]);return Ne}}function $(Ce,ot,Pe){if(Ce&&ot){for(var Ne=0,We=Ce.length;Ne<We;Ne++)if(ot.call(Pe,Ce[Ne],Ne,Ce))return Ce[Ne]}}function ie(Ce,ot){var Pe=E.call(arguments,2);return function(){return Ce.apply(ot,Pe.concat(E.call(arguments)))}}function ae(Ce){var ot=E.call(arguments,1);return function(){return Ce.apply(this,ot.concat(E.call(arguments)))}}function re(Ce){return w.call(Ce)==="[object Array]"}function ce(Ce){return typeof Ce=="function"}function oe(Ce){return w.call(Ce)==="[object String]"}function he(Ce){var ot=typeof Ce;return ot==="function"||!!Ce&&ot=="object"}function se(Ce){return!!_[w.call(Ce)]}function pe(Ce){return!!F[w.call(Ce)]}function me(Ce){return typeof Ce=="object"&&typeof Ce.nodeType=="number"&&typeof Ce.ownerDocument=="object"}function ge(Ce){return Ce!==Ce}function Ee(Ce){for(var ot=0,Pe=arguments.length;ot<Pe;ot++)if(arguments[ot]!=null)return arguments[ot]}function Ae(Ce,ot){return Ce!=null?Ce:ot}function Fe(Ce,ot,Pe){return Ce!=null?Ce:ot!=null?ot:Pe}function Ue(){return Function.call.apply(E,arguments)}function nt(Ce){if(typeof Ce=="number")return[Ce,Ce,Ce,Ce];var ot=Ce.length;return ot===2?[Ce[0],Ce[1],Ce[0],Ce[1]]:ot===3?[Ce[0],Ce[1],Ce[2],Ce[1]]:Ce}function rt(Ce,ot){if(!Ce)throw new Error(ot)}var qe="__ec_primitive__";function dt(Ce){Ce[qe]=!0}function yt(Ce){return Ce[qe]}function je(Ce){var ot=re(Ce);Ce&&z(Ce,function(Pe,Ne){ot?this.set(Pe,1):this.set(Ne,Pe)},this)}var at="_ec_",it=4;je.prototype={constructor:je,get:function(Ce){return this[at+Ce]},set:function(Ce,ot){return this[at+Ce]=ot,ot},each:function(Ce,ot){ot!==void 0&&(Ce=ie(Ce,ot));for(var Pe in this)this.hasOwnProperty(Pe)&&Ce(this[Pe],Pe.slice(it))},removeKey:function(Ce){delete this[at+Ce]}};function ht(Ce){return new je(Ce)}function ut(Ce,ot){for(var Pe=new Ce.constructor(Ce.length+ot.length),Ne=0;Ne<Ce.length;Ne++)Pe[Ne]=Ce[Ne];var We=Ce.length;for(Ne=0;Ne<ot.length;Ne++)Pe[Ne+We]=ot[Ne];return Pe}function Mt(){}G.$override=d,G.clone=v,G.merge=A,G.mergeAll=T,G.extend=O,G.defaults=P,G.createCanvas=L,G.getContext=f,G.indexOf=D,G.inherits=R,G.mixin=k,G.isArrayLike=W,G.each=z,G.map=Z,G.reduce=Q,G.filter=te,G.find=$,G.bind=ie,G.curry=ae,G.isArray=re,G.isFunction=ce,G.isString=oe,G.isObject=he,G.isBuiltInObject=se,G.isTypedArray=pe,G.isDom=me,G.eqNaN=ge,G.retrieve=Ee,G.retrieve2=Ae,G.retrieve3=Fe,G.slice=Ue,G.normalizeCssArray=nt,G.assert=rt,G.setAsPrimitive=dt,G.isPrimitive=yt,G.createHashMap=ht,G.concatArray=ut,G.noop=Mt},function(ee,G,_){"use strict";var F=_(8),w=_(11),x=_(48),y=_(18),b=_(1),E=_.n(b),g=_(15),m=E.a.vec3,C=E.a.mat4,d=m.create,v=m.add,A=m.set;function T(D){return{byte:y.a.Int8Array,ubyte:y.a.Uint8Array,short:y.a.Int16Array,ushort:y.a.Uint16Array}[D]||y.a.Float32Array}function O(D){return"attr_"+D}function P(D,R,k,W){switch(this.name=D,this.type=R,this.size=k,this.semantic=W||"",this.value=null,k){case 1:this.get=function(z){return this.value[z]},this.set=function(z,Z){this.value[z]=Z},this.copy=function(z,Z){this.value[z]=this.value[z]};break;case 2:this.get=function(z,Z){var Q=this.value;return Z[0]=Q[z*2],Z[1]=Q[z*2+1],Z},this.set=function(z,Z){var Q=this.value;Q[z*2]=Z[0],Q[z*2+1]=Z[1]},this.copy=function(z,Z){var Q=this.value;Z*=2,z*=2,Q[z]=Q[Z],Q[z+1]=Q[Z+1]};break;case 3:this.get=function(z,Z){var Q=z*3,te=this.value;return Z[0]=te[Q],Z[1]=te[Q+1],Z[2]=te[Q+2],Z},this.set=function(z,Z){var Q=z*3,te=this.value;te[Q]=Z[0],te[Q+1]=Z[1],te[Q+2]=Z[2]},this.copy=function(z,Z){var Q=this.value;Z*=3,z*=3,Q[z]=Q[Z],Q[z+1]=Q[Z+1],Q[z+2]=Q[Z+2]};break;case 4:this.get=function(z,Z){var Q=this.value,te=z*4;return Z[0]=Q[te],Z[1]=Q[te+1],Z[2]=Q[te+2],Z[3]=Q[te+3],Z},this.set=function(z,Z){var Q=this.value,te=z*4;Q[te]=Z[0],Q[te+1]=Z[1],Q[te+2]=Z[2],Q[te+3]=Z[3]},this.copy=function(z,Z){var Q=this.value;Z*=4,z*=4,Q[z]=Q[Z],Q[z+1]=Q[Z+1],Q[z+2]=Q[Z+2],Q[z+3]=Q[Z+3]}}}P.prototype.init=function(D){if(!this.value||this.value.length!=D*this.size){var R=T(this.type);this.value=new R(D*this.size)}},P.prototype.fromArray=function(D){var R=T(this.type),k;if(D[0]&&D[0].length){var W=0,z=this.size;k=new R(D.length*z);for(var Z=0;Z<D.length;Z++)for(var Q=0;Q<z;Q++)k[W++]=D[Z][Q]}else k=new R(D);this.value=k},P.prototype.clone=function(D){var R=new P(this.name,this.type,this.size,this.semantic);return D&&console.warn("todo"),R};function L(D,R,k,W,z){this.name=D,this.type=R,this.buffer=k,this.size=W,this.semantic=z,this.symbol="",this.needsRemove=!1}function c(D){this.buffer=D,this.count=0}var f=F.a.extend(function(){return{attributes:{position:new P("position","float",3,"POSITION"),texcoord0:new P("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new P("texcoord1","float",2,"TEXCOORD_1"),normal:new P("normal","float",3,"NORMAL"),tangent:new P("tangent","float",4,"TANGENT"),color:new P("color","float",4,"COLOR"),weight:new P("weight","float",3,"WEIGHT"),joint:new P("joint","float",4,"JOINT"),barycentric:new P("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new x.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var D=this.boundingBox;D||(D=this.boundingBox=new g.a);var R=this.attributes.position.value;if(R&&R.length){var k=D.min,W=D.max,z=k.array,Z=W.array;m.set(z,R[0],R[1],R[2]),m.set(Z,R[0],R[1],R[2]);for(var Q=3;Q<R.length;){var te=R[Q++],$=R[Q++],ie=R[Q++];te<z[0]&&(z[0]=te),$<z[1]&&(z[1]=$),ie<z[2]&&(z[2]=ie),te>Z[0]&&(Z[0]=te),$>Z[1]&&(Z[1]=$),ie>Z[2]&&(Z[2]=ie)}k._dirty=!0,W._dirty=!0}},dirty:function(){for(var D=this.getEnabledAttributes(),R=0;R<D.length;R++)this.dirtyAttribute(D[R]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(D){this._cache.dirtyAll(O(D)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(D,R){if(D<this.triangleCount&&D>=0){R||(R=d());var k=this.indices;return R[0]=k[D*3],R[1]=k[D*3+1],R[2]=k[D*3+2],R}},setTriangleIndices:function(D,R){var k=this.indices;k[D*3]=R[0],k[D*3+1]=R[1],k[D*3+2]=R[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(D){var R,k=this.vertexCount>65535?y.a.Uint32Array:y.a.Uint16Array;if(D[0]&&D[0].length){var W=0,z=3;R=new k(D.length*z);for(var Z=0;Z<D.length;Z++)for(var Q=0;Q<z;Q++)R[W++]=D[Z][Q]}else R=new k(D);this.indices=R},createAttribute:function(D,R,k,W){var z=new P(D,R,k,W);return this.attributes[D]&&this.removeAttribute(D),this.attributes[D]=z,this._attributeList.push(D),z},removeAttribute:function(D){var R=this._attributeList,k=R.indexOf(D);return k>=0?(R.splice(k,1),delete this.attributes[D],!0):!1},getAttribute:function(D){return this.attributes[D]},getEnabledAttributes:function(){var D=this._enabledAttributes,R=this._attributeList;if(D)return D;for(var k=[],W=this.vertexCount,z=0;z<R.length;z++){var Z=R[z],Q=this.attributes[Z];Q.value&&Q.value.length===W*Q.size&&k.push(Z)}return this._enabledAttributes=k,k},getBufferChunks:function(D){var R=this._cache;R.use(D.__uid__);var k=R.isDirty("attributes"),W=R.isDirty("indices");if(k||W){this._updateBuffer(D.gl,k,W);for(var z=this.getEnabledAttributes(),Z=0;Z<z.length;Z++)R.fresh(O(z[Z]));R.fresh("attributes"),R.fresh("indices")}return R.fresh("any"),R.get("chunks")},_updateBuffer:function(D,R,k){var W=this._cache,z=W.get("chunks"),Z=!1;z||(z=[],z[0]={attributeBuffers:[],indicesBuffer:null},W.put("chunks",z),Z=!0);var Q=z[0],te=Q.attributeBuffers,$=Q.indicesBuffer;if(R||Z){var ie=this.getEnabledAttributes(),ae={};if(!Z)for(var re=0;re<te.length;re++)ae[te[re].name]=te[re];for(var ce=0;ce<ie.length;ce++){var oe=ie[ce],he=this.attributes[oe],se;Z||(se=ae[oe]);var pe;se?pe=se.buffer:pe=D.createBuffer(),W.isDirty(O(oe))&&(D.bindBuffer(D.ARRAY_BUFFER,pe),D.bufferData(D.ARRAY_BUFFER,he.value,this.dynamic?w.a.DYNAMIC_DRAW:w.a.STATIC_DRAW)),te[ce]=new L(oe,he.type,pe,he.size,he.semantic)}for(var re=ce;re<te.length;re++)D.deleteBuffer(te[re].buffer);te.length=ce}this.isUseIndices()&&(k||Z)&&($||($=new c(D.createBuffer()),Q.indicesBuffer=$),$.count=this.indices.length,D.bindBuffer(D.ELEMENT_ARRAY_BUFFER,$.buffer),D.bufferData(D.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?w.a.DYNAMIC_DRAW:w.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var D=this.indices,R=this.attributes,k=R.position.value,W=R.normal.value;if(!W||W.length!==k.length)W=R.normal.value=new y.a.Float32Array(k.length);else for(var z=0;z<W.length;z++)W[z]=0;for(var Z=d(),Q=d(),te=d(),$=d(),ie=d(),ae=d(),re=D?D.length:this.vertexCount,ce,oe,he,se=0;se<re;){D?(ce=D[se++],oe=D[se++],he=D[se++]):(ce=se++,oe=se++,he=se++),A(Z,k[ce*3],k[ce*3+1],k[ce*3+2]),A(Q,k[oe*3],k[oe*3+1],k[oe*3+2]),A(te,k[he*3],k[he*3+1],k[he*3+2]),m.sub($,Z,Q),m.sub(ie,Q,te),m.cross(ae,$,ie);for(var z=0;z<3;z++)W[ce*3+z]=W[ce*3+z]+ae[z],W[oe*3+z]=W[oe*3+z]+ae[z],W[he*3+z]=W[he*3+z]+ae[z]}for(var z=0;z<W.length;)A(ae,W[z],W[z+1],W[z+2]),m.normalize(ae,ae),W[z++]=ae[0],W[z++]=ae[1],W[z++]=ae[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var D=this.indices,R=this.attributes,k=R.position.value,W=R.normal.value,z=d(),Z=d(),Q=d(),te=d(),$=d(),ie=d();W||(W=R.normal.value=new Float32Array(k.length));for(var ae=D?D.length:this.vertexCount,re,ce,oe,he=0;he<ae;){D?(re=D[he++],ce=D[he++],oe=D[he++]):(re=he++,ce=he++,oe=he++),A(z,k[re*3],k[re*3+1],k[re*3+2]),A(Z,k[ce*3],k[ce*3+1],k[ce*3+2]),A(Q,k[oe*3],k[oe*3+1],k[oe*3+2]),m.sub(te,z,Z),m.sub($,Z,Q),m.cross(ie,te,$),m.normalize(ie,ie);for(var se=0;se<3;se++)W[re*3+se]=ie[se],W[ce*3+se]=ie[se],W[oe*3+se]=ie[se]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var D=this.vertexCount,R=this.attributes;R.tangent.value||(R.tangent.value=new Float32Array(D*4));var k=R.texcoord0.value,W=R.position.value,z=R.tangent.value,Z=R.normal.value;if(!k){console.warn("Geometry without texcoords can't generate tangents.");return}for(var Q=[],te=[],$=0;$<D;$++)Q[$]=[0,0,0],te[$]=[0,0,0];for(var ie=[0,0,0],ae=[0,0,0],re=this.indices,ce=re?re.length:this.vertexCount,oe,he,se,$=0;$<ce;){re?(oe=re[$++],he=re[$++],se=re[$++]):(oe=$++,he=$++,se=$++);var pe=k[oe*2],me=k[he*2],ge=k[se*2],Ee=k[oe*2+1],Ae=k[he*2+1],Fe=k[se*2+1],Ue=W[oe*3],nt=W[he*3],rt=W[se*3],qe=W[oe*3+1],dt=W[he*3+1],yt=W[se*3+1],je=W[oe*3+2],at=W[he*3+2],it=W[se*3+2],ht=nt-Ue,ut=rt-Ue,Mt=dt-qe,Ce=yt-qe,ot=at-je,Pe=it-je,Ne=me-pe,We=ge-pe,Be=Ae-Ee,Ve=Fe-Ee,$e=1/(Ne*Ve-Be*We);ie[0]=(Ve*ht-Be*ut)*$e,ie[1]=(Ve*Mt-Be*Ce)*$e,ie[2]=(Ve*ot-Be*Pe)*$e,ae[0]=(Ne*ut-We*ht)*$e,ae[1]=(Ne*Ce-We*Mt)*$e,ae[2]=(Ne*Pe-We*ot)*$e,v(Q[oe],Q[oe],ie),v(Q[he],Q[he],ie),v(Q[se],Q[se],ie),v(te[oe],te[oe],ae),v(te[he],te[he],ae),v(te[se],te[se],ae)}for(var lt=d(),pt=d(),xt=d(),$=0;$<D;$++){xt[0]=Z[$*3],xt[1]=Z[$*3+1],xt[2]=Z[$*3+2];var wt=Q[$];m.scale(lt,xt,m.dot(xt,wt)),m.sub(lt,wt,lt),m.normalize(lt,lt),m.cross(pt,xt,wt),z[$*4]=lt[0],z[$*4+1]=lt[1],z[$*4+2]=lt[2],z[$*4+3]=m.dot(pt,te[$])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new y.a.Uint32Array(this.indices));for(var D=this.attributes,R=this.indices,k=this.getEnabledAttributes(),W={},z=0;z<k.length;z++){var Z=k[z];W[Z]=D[Z].value,D[Z].init(this.indices.length)}for(var Q=0,te=0;te<R.length;te++){for(var $=R[te],z=0;z<k.length;z++)for(var Z=k[z],ie=D[Z].value,ae=D[Z].size,re=0;re<ae;re++)ie[Q*ae+re]=W[Z][$*ae+re];R[te]=Q,Q++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var D=this.attributes,R=D.barycentric.value,k=this.indices;if(!(R&&R.length===k.length*3)){R=D.barycentric.value=new Float32Array(k.length*3);for(var W=0;W<(k?k.length:this.vertexCount/3);)for(var z=0;z<3;z++){var Z=k?k[W++]:W*3+z;R[Z*3+z]=1}this.dirty()}}},applyTransform:function(D){var R=this.attributes,k=R.position.value,W=R.normal.value,z=R.tangent.value;D=D.array;var Z=C.create();C.invert(Z,D),C.transpose(Z,Z);var Q=m.transformMat4,te=m.forEach;te(k,3,0,null,Q,D),W&&te(W,3,0,null,Q,Z),z&&te(z,4,0,null,Q,Z),this.boundingBox&&this.updateBoundingBox()},dispose:function(D){var R=this._cache;R.use(D.__uid__);var k=R.get("chunks");if(k)for(var W=0;W<k.length;W++){for(var z=k[W],Z=0;Z<z.attributeBuffers.length;Z++){var Q=z.attributeBuffers[Z];D.gl.deleteBuffer(Q.buffer)}z.indicesBuffer&&D.gl.deleteBuffer(z.indicesBuffer.buffer)}R.deleteContext(D.__uid__)}});Object.defineProperty&&(Object.defineProperty(f.prototype,"vertexCount",{enumerable:!1,get:function(){var D=this.attributes[this.mainAttribute];return!D||!D.value?0:D.value.length/D.size}}),Object.defineProperty(f.prototype,"triangleCount",{enumerable:!1,get:function(){var D=this.indices;return D?D.length/3:0}})),f.STATIC_DRAW=w.a.STATIC_DRAW,f.DYNAMIC_DRAW=w.a.DYNAMIC_DRAW,f.STREAM_DRAW=w.a.STREAM_DRAW,f.AttributeBuffer=L,f.IndicesBuffer=c,f.Attribute=P,G.a=f},function(ee,G,_){"use strict";var F=_(8),w=_(30),x=_(37),y=_(7),b=_(17),E=_(24),g=_(11),m=_(109);y.a.import(m.a);var C=new x.a,d=new E.a({geometry:C,frustumCulling:!1}),v=new w.a,A=F.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var T=new y.a(y.a.source("clay.compositor.vertex"),this.fragment),O=new b.a({shader:T});O.enableTexturesAll(),this.material=O},{setUniform:function(T,O){this.material.setUniform(T,O)},getUniform:function(T){var O=this.material.uniforms[T];if(O)return O.value},attachOutput:function(T,O){this.outputs||(this.outputs={}),O=O||g.a.COLOR_ATTACHMENT0,this.outputs[O]=T},detachOutput:function(T){for(var O in this.outputs)this.outputs[O]===T&&(this.outputs[O]=null)},bind:function(T,O){if(this.outputs)for(var P in this.outputs){var L=this.outputs[P];L&&O.attach(L,P)}O&&O.bind(T)},unbind:function(T,O){O.unbind(T)},render:function(T,O){var P=T.gl;if(O){this.bind(T,O);var L=T.getGLExtension("EXT_draw_buffers");if(L&&this.outputs){var c=[];for(var f in this.outputs)f=+f,f>=P.COLOR_ATTACHMENT0&&f<=P.COLOR_ATTACHMENT0+8&&c.push(f);L.drawBuffersEXT(c)}}this.trigger("beforerender",this,T);var D=this.clearDepth?P.DEPTH_BUFFER_BIT:0;if(P.depthMask(!0),this.clearColor){D=D|P.COLOR_BUFFER_BIT,P.colorMask(!0,!0,!0,!0);var R=this.clearColor;Array.isArray(R)&&P.clearColor(R[0],R[1],R[2],R[3])}P.clear(D),this.blendWithPrevious?(P.enable(P.BLEND),this.material.transparent=!0):(P.disable(P.BLEND),this.material.transparent=!1),this.renderQuad(T),this.trigger("afterrender",this,T),O&&this.unbind(T,O)},renderQuad:function(T){d.material=this.material,T.renderPass([d],v)},dispose:function(T){}});G.a=A},function(ee,G,_){"use strict";var F=_(4),w=_(1),x=_.n(w),y=x.a.vec3,b=y.copy,E=y.set,g=function(m,C){this.min=m||new F.a(1/0,1/0,1/0),this.max=C||new F.a(-1/0,-1/0,-1/0)};g.prototype={constructor:g,updateFromVertices:function(m){if(m.length>0){var C=this.min,d=this.max,v=C.array,A=d.array;b(v,m[0]),b(A,m[0]);for(var T=1;T<m.length;T++){var O=m[T];O[0]<v[0]&&(v[0]=O[0]),O[1]<v[1]&&(v[1]=O[1]),O[2]<v[2]&&(v[2]=O[2]),O[0]>A[0]&&(A[0]=O[0]),O[1]>A[1]&&(A[1]=O[1]),O[2]>A[2]&&(A[2]=O[2])}C._dirty=!0,d._dirty=!0}},union:function(m){var C=this.min,d=this.max;return y.min(C.array,C.array,m.min.array),y.max(d.array,d.array,m.max.array),C._dirty=!0,d._dirty=!0,this},intersection:function(m){var C=this.min,d=this.max;return y.max(C.array,C.array,m.min.array),y.min(d.array,d.array,m.max.array),C._dirty=!0,d._dirty=!0,this},intersectBoundingBox:function(m){var C=this.min.array,d=this.max.array,v=m.min.array,A=m.max.array;return!(C[0]>A[0]||C[1]>A[1]||C[2]>A[2]||d[0]<v[0]||d[1]<v[1]||d[2]<v[2])},containBoundingBox:function(m){var C=this.min.array,d=this.max.array,v=m.min.array,A=m.max.array;return C[0]<=v[0]&&C[1]<=v[1]&&C[2]<=v[2]&&d[0]>=A[0]&&d[1]>=A[1]&&d[2]>=A[2]},containPoint:function(m){var C=this.min.array,d=this.max.array,v=m.array;return C[0]<=v[0]&&C[1]<=v[1]&&C[2]<=v[2]&&d[0]>=v[0]&&d[1]>=v[1]&&d[2]>=v[2]},isFinite:function(){var m=this.min.array,C=this.max.array;return isFinite(m[0])&&isFinite(m[1])&&isFinite(m[2])&&isFinite(C[0])&&isFinite(C[1])&&isFinite(C[2])},applyTransform:function(){var m=y.create(),C=y.create(),d=y.create(),v=y.create(),A=y.create(),T=y.create();return function(O){var P=this.min.array,L=this.max.array,c=O.array;return m[0]=c[0]*P[0],m[1]=c[1]*P[0],m[2]=c[2]*P[0],C[0]=c[0]*L[0],C[1]=c[1]*L[0],C[2]=c[2]*L[0],d[0]=c[4]*P[1],d[1]=c[5]*P[1],d[2]=c[6]*P[1],v[0]=c[4]*L[1],v[1]=c[5]*L[1],v[2]=c[6]*L[1],A[0]=c[8]*P[2],A[1]=c[9]*P[2],A[2]=c[10]*P[2],T[0]=c[8]*L[2],T[1]=c[9]*L[2],T[2]=c[10]*L[2],P[0]=Math.min(m[0],C[0])+Math.min(d[0],v[0])+Math.min(A[0],T[0])+c[12],P[1]=Math.min(m[1],C[1])+Math.min(d[1],v[1])+Math.min(A[1],T[1])+c[13],P[2]=Math.min(m[2],C[2])+Math.min(d[2],v[2])+Math.min(A[2],T[2])+c[14],L[0]=Math.max(m[0],C[0])+Math.max(d[0],v[0])+Math.max(A[0],T[0])+c[12],L[1]=Math.max(m[1],C[1])+Math.max(d[1],v[1])+Math.max(A[1],T[1])+c[13],L[2]=Math.max(m[2],C[2])+Math.max(d[2],v[2])+Math.max(A[2],T[2])+c[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(m){var C=this.min.array,d=this.max.array,v=m.array,A=C[0],T=C[1],O=C[2],P=d[0],L=d[1],c=C[2],f=d[0],D=d[1],R=d[2];if(v[15]===1)C[0]=v[0]*A+v[12],C[1]=v[5]*T+v[13],d[2]=v[10]*O+v[14],d[0]=v[0]*f+v[12],d[1]=v[5]*D+v[13],C[2]=v[10]*R+v[14];else{var k=-1/O;C[0]=v[0]*A*k,C[1]=v[5]*T*k,d[2]=(v[10]*O+v[14])*k,k=-1/c,d[0]=v[0]*P*k,d[1]=v[5]*L*k,k=-1/R,C[2]=(v[10]*R+v[14])*k}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var m=this.vertices;if(!m){for(var m=[],C=0;C<8;C++)m[C]=y.fromValues(0,0,0);this.vertices=m}var d=this.min.array,v=this.max.array;return E(m[0],d[0],d[1],d[2]),E(m[1],d[0],v[1],d[2]),E(m[2],v[0],d[1],d[2]),E(m[3],v[0],v[1],d[2]),E(m[4],d[0],d[1],v[2]),E(m[5],d[0],v[1],v[2]),E(m[6],v[0],d[1],v[2]),E(m[7],v[0],v[1],v[2]),this},copy:function(m){var C=this.min,d=this.max;return b(C.array,m.min.array),b(d.array,m.max.array),C._dirty=!0,d._dirty=!0,this},clone:function(){var m=new g;return m.copy(this),m}},G.a=g},function(ee,G,_){"use strict";G.a=function(F,w,x){return{seriesType:F,reset:function(y,b){var E=y.getData(),g=y.visualColorAccessPath.split(".");g[g.length-1]="opacity";var m=y.get(g);E.setVisual("opacity",m==null?1:m);function C(d){var v=E.getItemModel(d),A=v.get(g);A!=null&&E.setItemVisual(d,"opacity",A)}return{dataEach:E.hasItemOption?C:null}}}}},function(ee,G,_){"use strict";var F=_(8),w=_(6),x=_(21),y=_(93),b=y.a.parseToFloat,E={};function g(d,v,A){var T=Object.keys(d);T.sort();for(var O=[],P=0;P<T.length;P++){var L=T[P],c=d[L];c===null?O.push(L):O.push(L+" "+c.toString())}return O.join(`
`)}function m(d,v,A){A.sort();for(var T=[],O=0;O<A.length;O++){var P=A[O];T.push(P)}var L=g(d)+`
`+g(v)+`
`+T.join(`
`);if(E[L])return E[L];var c=x.a.genGUID();return E[L]=c,c}var C=F.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(d,v,A,T){for(var O=d.gl,P=v.currentTextureSlot(),L=0;L<this._enabledUniforms.length;L++){var c=this._enabledUniforms[L],f=this.uniforms[c].value;if(f instanceof w.a)f.__slot=-1;else if(Array.isArray(f))for(var D=0;D<f.length;D++)f[D]instanceof w.a&&(f[D].__slot=-1)}for(var L=0;L<this._enabledUniforms.length;L++){var c=this._enabledUniforms[L],R=this.uniforms[c],f=R.value;if(f===null){if(R.type==="t"){var k=v.currentTextureSlot(),W=v.setUniform(O,"1i",c,k);W&&v.takeCurrentTextureSlot(d,null)}continue}else if(f instanceof w.a)if(f.__slot<0){var k=v.currentTextureSlot(),W=v.setUniform(O,"1i",c,k);if(!W)continue;v.takeCurrentTextureSlot(d,f),f.__slot=k}else v.setUniform(O,"1i",c,f.__slot);else if(Array.isArray(f)){if(f.length===0)continue;var z=f[0];if(z instanceof w.a){if(!v.hasUniform(c))continue;for(var Z=[],D=0;D<f.length;D++){var Q=f[D];if(Q.__slot<0){var k=v.currentTextureSlot();Z.push(k),v.takeCurrentTextureSlot(d,Q),Q.__slot=k}else Z.push(Q.__slot)}v.setUniform(O,"1iv",c,Z)}else v.setUniform(O,R.type,c,f)}else v.setUniform(O,R.type,c,f)}v.resetTextureSlot(P)},setUniform:function(d,v){v===void 0&&console.warn('Uniform value "'+d+'" is undefined');var A=this.uniforms[d];A&&(typeof v=="string"&&(v=b(v)||v),A.value=v,this.autoUpdateTextureStatus&&A.type==="t"&&(v?this.enableTexture(d):this.disableTexture(d)))},setUniforms:function(d){for(var v in d){var A=d[v];this.setUniform(v,A)}},isUniformEnabled:function(d){return this._enabledUniforms.indexOf(d)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(d,v){if(typeof d=="object")for(var A in d){var T=d[A];this.setUniform(A,T)}else this.setUniform(d,v)},get:function(d){var v=this.uniforms[d];if(v)return v.value},attachShader:function(d,v){var A=this.uniforms;this.uniforms=d.createUniforms(),this.shader=d;var T=this.uniforms;this._enabledUniforms=Object.keys(T),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(D){var R=this.uniforms[D].type;return R==="t"||R==="tv"},this);var O=this.vertexDefines,P=this.fragmentDefines;if(this.vertexDefines=x.a.clone(d.vertexDefines),this.fragmentDefines=x.a.clone(d.fragmentDefines),v){for(var L in A)T[L]&&(T[L].value=A[L].value);x.a.defaults(this.vertexDefines,O),x.a.defaults(this.fragmentDefines,P)}var c={};for(var f in d.textures)c[f]={shaderType:d.textures[f].shaderType,type:d.textures[f].type,enabled:v&&this._textureStatus[f]?this._textureStatus[f].enabled:!1};this._textureStatus=c,this._programKey=""},clone:function(){var d=new this.constructor({name:this.name,shader:this.shader});for(var v in this.uniforms)d.uniforms[v].value=this.uniforms[v].value;return d.depthTest=this.depthTest,d.depthMask=this.depthMask,d.transparent=this.transparent,d.blend=this.blend,d.vertexDefines=x.a.clone(this.vertexDefines),d.fragmentDefines=x.a.clone(this.fragmentDefines),d.enableTexture(this.getEnabledTextures()),d.precision=this.precision,d},define:function(d,v,A){var T=this.vertexDefines,O=this.fragmentDefines;d!=="vertex"&&d!=="fragment"&&d!=="both"&&arguments.length<3&&(A=v,v=d,d="both"),A=A!=null?A:null,(d==="vertex"||d==="both")&&T[v]!==A&&(T[v]=A,this._programKey=""),(d==="fragment"||d==="both")&&O[v]!==A&&(O[v]=A,d!=="both"&&(this._programKey=""))},undefine:function(d,v){d!=="vertex"&&d!=="fragment"&&d!=="both"&&arguments.length<2&&(v=d,d="both"),(d==="vertex"||d==="both")&&this.isDefined("vertex",v)&&(delete this.vertexDefines[v],this._programKey=""),(d==="fragment"||d==="both")&&this.isDefined("fragment",v)&&(delete this.fragmentDefines[v],d!=="both"&&(this._programKey=""))},isDefined:function(d,v){switch(d){case"vertex":return this.vertexDefines[v]!==void 0;case"fragment":return this.fragmentDefines[v]!==void 0}},getDefine:function(d,v){switch(d){case"vertex":return this.vertexDefines[v];case"fragment":return this.fragmentDefines[v]}},enableTexture:function(d){if(Array.isArray(d)){for(var v=0;v<d.length;v++)this.enableTexture(d[v]);return}var A=this._textureStatus[d];if(A){var T=A.enabled;T||(A.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var d=this._textureStatus;for(var v in d)d[v].enabled=!0;this._programKey=""},disableTexture:function(d){if(Array.isArray(d)){for(var v=0;v<d.length;v++)this.disableTexture(d[v]);return}var A=this._textureStatus[d];if(A){var T=!A.enabled;T||(A.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var d=this._textureStatus;for(var v in d)d[v].enabled=!1;this._programKey=""},isTextureEnabled:function(d){var v=this._textureStatus;return!!v[d]&&v[d].enabled},getEnabledTextures:function(){var d=[],v=this._textureStatus;for(var A in v)v[A].enabled&&d.push(A);return d},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(C.prototype,"shader",{get:function(){return this._shader||null},set:function(d){this._shader=d}}),Object.defineProperty(C.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=m(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),G.a=C},function(ee,G,_){"use strict";var F=!0;try{var w=document.createElement("canvas"),x=w.getContext("webgl")||w.getContext("experimental-webgl");if(!x)throw new Error}catch(b){F=!1}var y={};y.supportWebGL=function(){return F},y.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,y.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,y.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,y.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,y.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,y.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,y.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,G.a=y},function(ee,G,_){"use strict";var F=_(28),w=F.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var x=F.a.prototype.clone.call(this);return x.color=Array.prototype.slice.call(this.color),x.intensity=this.intensity,x.castShadow=this.castShadow,x.shadowResolution=this.shadowResolution,x}});G.a=w},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(29),y=_(152),b=_(36),E=_(30),g=_(9),m=_(4),C=_(23),d=_(47),v=_(155),A=_(182),T=_(43);function O(L){L=L||"perspective",this.layer=null,this.scene=new x.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(L),this._compositor=new v.a,this._temporalSS=new A.a,this._shadowMapPass=new y.a;for(var c=[],f=0,D=0;D<30;D++){for(var R=[],k=0;k<6;k++)R.push(Object(T.a)(f,2)*4-2),R.push(Object(T.a)(f,3)*4-2),f++;c.push(R)}this._pcfKernels=c,this.scene.on("beforerender",function(W,z,Z){this.needsTemporalSS()&&this._temporalSS.jitterProjection(W,Z)},this)}O.prototype.setProjection=function(L){var c=this.camera;c&&c.update(),L==="perspective"?this.camera instanceof b.a||(this.camera=new b.a,c&&this.camera.setLocalTransform(c.localTransform)):this.camera instanceof E.a||(this.camera=new E.a,c&&this.camera.setLocalTransform(c.localTransform)),this.camera.near=.1,this.camera.far=2e3},O.prototype.setViewport=function(L,c,f,D,R){this.camera instanceof b.a&&(this.camera.aspect=f/D),R=R||1,this.viewport.x=L,this.viewport.y=c,this.viewport.width=f,this.viewport.height=D,this.viewport.devicePixelRatio=R,this._compositor.resize(f*R,D*R),this._temporalSS.resize(f*R,D*R)},O.prototype.containPoint=function(L,c){var f=this.viewport,D=this.layer.renderer.getHeight();return c=D-c,L>=f.x&&c>=f.y&&L<=f.x+f.width&&c<=f.y+f.height};var P=new C.a;O.prototype.castRay=function(L,c,f){var D=this.layer.renderer,R=D.viewport;return D.viewport=this.viewport,D.screenToNDC(L,c,P),this.camera.castRay(P,f),D.viewport=R,f},O.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var L=0;L<this.scene.transparentList.length;L++){var c=this.scene.transparentList[L],f=c.geometry;f.needsSortVerticesProgressively&&f.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),f.needsSortTrianglesProgressively&&f.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},O.prototype.render=function(L,c){this._doRender(L,c,this._frame),this._frame++},O.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},O.prototype.needsTemporalSS=function(){var L=this._enableTemporalSS;return L=="auto"&&(L=this._enablePostEffect),L},O.prototype.hasDOF=function(){return this._enableDOF},O.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},O.prototype._doRender=function(L,c,f){var D=this.scene,R=this.camera;if(f=f||0,this._updateTransparent(L,D,R,f),c||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(L,D,R,!0)),this._updateShadowPCFKernel(f),L.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(L,R),this._compositor.updateNormal(L,D,R,this._temporalSS.getFrame())),this._updateSSAO(L,D,R,this._temporalSS.getFrame()),this._enablePostEffect){var k=this._compositor.getSourceFrameBuffer();k.bind(L),L.gl.clear(L.gl.DEPTH_BUFFER_BIT|L.gl.COLOR_BUFFER_BIT),L.render(D,R,!0,!0),k.unbind(L),this.needsTemporalSS()&&c?(this._compositor.composite(L,R,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),L.setViewport(this.viewport),this._temporalSS.render(L)):(L.setViewport(this.viewport),this._compositor.composite(L,R,null,0))}else if(this.needsTemporalSS()&&c){var k=this._temporalSS.getSourceFrameBuffer();k.bind(L),L.saveClear(),L.clearBit=L.gl.DEPTH_BUFFER_BIT|L.gl.COLOR_BUFFER_BIT,L.render(D,R,!0,!0),L.restoreClear(),k.unbind(L),L.setViewport(this.viewport),this._temporalSS.render(L)}else L.setViewport(this.viewport),L.render(D,R,!0,!0)},O.prototype._updateTransparent=function(L,c,f,D){for(var R=new m.a,k=new g.a,W=f.getWorldPosition(),z=0;z<c.transparentList.length;z++){var Z=c.transparentList[z],Q=Z.geometry;g.a.invert(k,Z.worldTransform),m.a.transformMat4(R,W,k),Q.needsSortTriangles&&Q.needsSortTriangles()&&Q.doSortTriangles(R,D),Q.needsSortVertices&&Q.needsSortVertices()&&Q.doSortVertices(R,D)}},O.prototype._updateSSAO=function(L,c,f,D){var R=this._enableSSAO&&this._enablePostEffect;R&&this._compositor.updateSSAO(L,c,f,this._temporalSS.getFrame());for(var k=0;k<c.opaqueList.length;k++){var W=c.opaqueList[k];W.renderNormal&&W.material[R?"enableTexture":"disableTexture"]("ssaoMap"),R&&W.material.set("ssaoMap",this._compositor.getSSAOTexture())}},O.prototype._updateShadowPCFKernel=function(L){for(var c=this._pcfKernels[L%this._pcfKernels.length],f=this.scene.opaqueList,D=0;D<f.length;D++)f[D].receiveShadow&&(f[D].material.set("pcfKernel",c),f[D].material.define("fragment","PCF_KERNEL_SIZE",c.length/2))},O.prototype.dispose=function(L){this._compositor.dispose(L.gl),this._temporalSS.dispose(L.gl),this._shadowMapPass.dispose(L)},O.prototype.setPostEffect=function(L,c){var f=this._compositor;this._enablePostEffect=L.get("enable");var D=L.getModel("bloom"),R=L.getModel("edge"),k=L.getModel("DOF",L.getModel("depthOfField")),W=L.getModel("SSAO",L.getModel("screenSpaceAmbientOcclusion")),z=L.getModel("SSR",L.getModel("screenSpaceReflection")),Z=L.getModel("FXAA"),Q=L.getModel("colorCorrection");D.get("enable")?f.enableBloom():f.disableBloom(),k.get("enable")?f.enableDOF():f.disableDOF(),z.get("enable")?f.enableSSR():f.disableSSR(),Q.get("enable")?f.enableColorCorrection():f.disableColorCorrection(),R.get("enable")?f.enableEdge():f.disableEdge(),Z.get("enable")?f.enableFXAA():f.disableFXAA(),this._enableDOF=k.get("enable"),this._enableSSAO=W.get("enable"),this._enableSSAO?f.enableSSAO():f.disableSSAO(),f.setBloomIntensity(D.get("intensity")),f.setEdgeColor(R.get("color")),f.setColorLookupTexture(Q.get("lookupTexture"),c),f.setExposure(Q.get("exposure")),["radius","quality","intensity"].forEach(function(te){f.setSSAOParameter(te,W.get(te))}),["quality","maxRoughness"].forEach(function(te){f.setSSRParameter(te,z.get(te))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(te){f.setDOFParameter(te,k.get(te))}),["brightness","contrast","saturation"].forEach(function(te){f.setColorCorrection(te,Q.get(te))})},O.prototype.setDOFFocusOnPoint=function(L){if(this._enablePostEffect)return L>this.camera.far||L<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",L),!0)},O.prototype.setTemporalSuperSampling=function(L){this._enableTemporalSS=L.get("enable")},O.prototype.isLinearSpace=function(){return this._enablePostEffect},O.prototype.setRootNode=function(L){if(this.rootNode!==L){for(var c=this.rootNode.children(),f=0;f<c.length;f++)L.add(c[f]);L!==this.scene&&this.scene.add(L),this.rootNode=L}},O.prototype.add=function(L){this.rootNode.add(L)},O.prototype.remove=function(L){this.rootNode.remove(L)},O.prototype.removeAll=function(L){this.rootNode.removeAll(L)},w.a.util.extend(O.prototype,d.a),G.a=O},function(ee,G,_){"use strict";var F=0,w=Array.prototype,x=w.forEach,y={genGUID:function(){return++F},relative2absolute:function(b,E){if(!E||b.match(/^\//))return b;for(var g=b.split("/"),m=E.split("/"),C=g[0];C==="."||C==="..";)C===".."&&m.pop(),g.shift(),C=g[0];return m.join("/")+"/"+g.join("/")},extend:function(b,E){if(E)for(var g in E)E.hasOwnProperty(g)&&(b[g]=E[g]);return b},defaults:function(b,E){if(E)for(var g in E)b[g]===void 0&&(b[g]=E[g]);return b},extendWithPropList:function(b,E,g){if(E)for(var m=0;m<g.length;m++){var C=g[m];b[C]=E[C]}return b},defaultsWithPropList:function(b,E,g){if(E)for(var m=0;m<g.length;m++){var C=g[m];b[C]==null&&(b[C]=E[C])}return b},each:function(b,E,g){if(b&&E)if(b.forEach&&b.forEach===x)b.forEach(E,g);else if(b.length===+b.length)for(var m=0,C=b.length;m<C;m++)E.call(g,b[m],m,b);else for(var d in b)b.hasOwnProperty(d)&&E.call(g,b[d],d,b)},isObject:function(b){return b===Object(b)},isArray:function(b){return Array.isArray(b)},isArrayLike:function(b){return b?b.length===+b.length:!1},clone:function(b){if(y.isObject(b)){if(y.isArray(b))return b.slice();if(y.isArrayLike(b)){for(var E=new b.constructor(b.length),g=0;g<b.length;g++)E[g]=b[g];return E}else return y.extend({},b)}else return b}};G.a=y},function(ee,G,_){"use strict";var F=_(13),w=_(0),x=_.n(w),y=_(33),b=_(1),E=_.n(b),g=E.a.vec3,m=[[0,0],[1,1]],C=F.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new F.a.Attribute("position","float",3,"POSITION"),positionPrev:new F.a.Attribute("positionPrev","float",3),positionNext:new F.a.Attribute("positionNext","float",3),prevPositionPrev:new F.a.Attribute("prevPositionPrev","float",3),prevPosition:new F.a.Attribute("prevPosition","float",3),prevPositionNext:new F.a.Attribute("prevPositionNext","float",3),offset:new F.a.Attribute("offset","float",1),color:new F.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(d){var v=this.attributes;this.vertexCount!==d&&(v.position.init(d),v.color.init(d),this.useNativeLine||(v.positionPrev.init(d),v.positionNext.init(d),v.offset.init(d)),d>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(d){this.triangleCount!==d&&(d===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(d*3):new Uint16Array(d*3))},_getCubicCurveApproxStep:function(d,v,A,T){var O=g.dist(d,v)+g.dist(A,v)+g.dist(T,A),P=1/(O+1)*this.segmentScale;return P},getCubicCurveVertexCount:function(d,v,A,T){var O=this._getCubicCurveApproxStep(d,v,A,T),P=Math.ceil(1/O);return this.useNativeLine?P*2:P*2+2},getCubicCurveTriangleCount:function(d,v,A,T){var O=this._getCubicCurveApproxStep(d,v,A,T),P=Math.ceil(1/O);return this.useNativeLine?0:P*2},getLineVertexCount:function(){return this.getPolylineVertexCount(m)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(m)},getPolylineVertexCount:function(d){var v;if(typeof d=="number")v=d;else{var A=typeof d[0]!="number";v=A?d.length:d.length/3}return this.useNativeLine?(v-1)*2:(v-1)*2+2},getPolylineTriangleCount:function(d){var v;if(typeof d=="number")v=d;else{var A=typeof d[0]!="number";v=A?d.length:d.length/3}return this.useNativeLine?0:Math.max(v-1,0)*2},addCubicCurve:function(d,v,A,T,O,P){P==null&&(P=1);for(var L=d[0],c=d[1],f=d[2],D=v[0],R=v[1],k=v[2],W=A[0],z=A[1],Z=A[2],Q=T[0],te=T[1],$=T[2],ie=this._getCubicCurveApproxStep(d,v,A,T),ae=ie*ie,re=ae*ie,ce=3*ie,oe=3*ae,he=6*ae,se=6*re,pe=L-D*2+W,me=c-R*2+z,ge=f-k*2+Z,Ee=(D-W)*3-L+Q,Ae=(R-z)*3-c+te,Fe=(k-Z)*3-f+$,Ue=L,nt=c,rt=f,qe=(D-L)*ce+pe*oe+Ee*re,dt=(R-c)*ce+me*oe+Ae*re,yt=(k-f)*ce+ge*oe+Fe*re,je=pe*he+Ee*se,at=me*he+Ae*se,it=ge*he+Fe*se,ht=Ee*se,ut=Ae*se,Mt=Fe*se,Ce=0,ot=0,Pe=Math.ceil(1/ie),Ne=new Float32Array((Pe+1)*3),Ne=[],We=0,ot=0;ot<Pe+1;ot++)Ne[We++]=Ue,Ne[We++]=nt,Ne[We++]=rt,Ue+=qe,nt+=dt,rt+=yt,qe+=je,dt+=at,yt+=it,je+=ht,at+=ut,it+=Mt,Ce+=ie,Ce>1&&(Ue=qe>0?Math.min(Ue,Q):Math.max(Ue,Q),nt=dt>0?Math.min(nt,te):Math.max(nt,te),rt=yt>0?Math.min(rt,$):Math.max(rt,$));return this.addPolyline(Ne,O,P)},addLine:function(d,v,A,T){return this.addPolyline([d,v],A,T)},addPolyline:function(d,v,A,T,O){if(d.length){var P=typeof d[0]!="number";if(O==null&&(O=P?d.length:d.length/3),!(O<2)){T==null&&(T=0),A==null&&(A=1),this._itemVertexOffsets.push(this._vertexOffset);var P=typeof d[0]!="number",L=P?typeof v[0]!="number":v.length/4===O,c=this.attributes.position,f=this.attributes.positionPrev,D=this.attributes.positionNext,R=this.attributes.color,k=this.attributes.offset,W=this.indices,z=this._vertexOffset,Z,Q;A=Math.max(A,.01);for(var te=T;te<O;te++){if(P)Z=d[te],L?Q=v[te]:Q=v;else{var $=te*3;if(Z=Z||[],Z[0]=d[$],Z[1]=d[$+1],Z[2]=d[$+2],L){var ie=te*4;Q=Q||[],Q[0]=v[ie],Q[1]=v[ie+1],Q[2]=v[ie+2],Q[3]=v[ie+3]}else Q=v}if(this.useNativeLine?te>1&&(c.copy(z,z-1),R.copy(z,z-1),z++):(te<O-1&&(f.set(z+2,Z),f.set(z+3,Z)),te>0&&(D.set(z-2,Z),D.set(z-1,Z)),c.set(z,Z),c.set(z+1,Z),R.set(z,Q),R.set(z+1,Q),k.set(z,A/2),k.set(z+1,-A/2),z+=2),this.useNativeLine)R.set(z,Q),c.set(z,Z),z++;else if(te>0){var ae=this._triangleOffset*3,W=this.indices;W[ae]=z-4,W[ae+1]=z-3,W[ae+2]=z-2,W[ae+3]=z-3,W[ae+4]=z-1,W[ae+5]=z-2,this._triangleOffset+=2}}if(!this.useNativeLine){var re=this._vertexOffset,ce=this._vertexOffset+O*2;f.copy(re,re+2),f.copy(re+1,re+3),D.copy(ce-1,ce-3),D.copy(ce-2,ce-4)}return this._vertexOffset=z,this._vertexOffset}}},setItemColor:function(d,v){for(var A=this._itemVertexOffsets[d],T=d<this._itemVertexOffsets.length-1?this._itemVertexOffsets[d+1]:this._vertexOffset,O=A;O<T;O++)this.attributes.color.set(O,v);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});x.a.util.defaults(C.prototype,y.a),G.a=C},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.vec2,y=function(E,g){E=E||0,g=g||0,this.array=x.fromValues(E,g),this._dirty=!0};if(y.prototype={constructor:y,add:function(E){return x.add(this.array,this.array,E.array),this._dirty=!0,this},set:function(E,g){return this.array[0]=E,this.array[1]=g,this._dirty=!0,this},setArray:function(E){return this.array[0]=E[0],this.array[1]=E[1],this._dirty=!0,this},clone:function(){return new y(this.x,this.y)},copy:function(E){return x.copy(this.array,E.array),this._dirty=!0,this},cross:function(E,g){return x.cross(E.array,this.array,g.array),E._dirty=!0,this},dist:function(E){return x.dist(this.array,E.array)},distance:function(E){return x.distance(this.array,E.array)},div:function(E){return x.div(this.array,this.array,E.array),this._dirty=!0,this},divide:function(E){return x.divide(this.array,this.array,E.array),this._dirty=!0,this},dot:function(E){return x.dot(this.array,E.array)},len:function(){return x.len(this.array)},length:function(){return x.length(this.array)},lerp:function(E,g,m){return x.lerp(this.array,E.array,g.array,m),this._dirty=!0,this},min:function(E){return x.min(this.array,this.array,E.array),this._dirty=!0,this},max:function(E){return x.max(this.array,this.array,E.array),this._dirty=!0,this},mul:function(E){return x.mul(this.array,this.array,E.array),this._dirty=!0,this},multiply:function(E){return x.multiply(this.array,this.array,E.array),this._dirty=!0,this},negate:function(){return x.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return x.normalize(this.array,this.array),this._dirty=!0,this},random:function(E){return x.random(this.array,E),this._dirty=!0,this},scale:function(E){return x.scale(this.array,this.array,E),this._dirty=!0,this},scaleAndAdd:function(E,g){return x.scaleAndAdd(this.array,this.array,E.array,g),this._dirty=!0,this},sqrDist:function(E){return x.sqrDist(this.array,E.array)},squaredDistance:function(E){return x.squaredDistance(this.array,E.array)},sqrLen:function(){return x.sqrLen(this.array)},squaredLength:function(){return x.squaredLength(this.array)},sub:function(E){return x.sub(this.array,this.array,E.array),this._dirty=!0,this},subtract:function(E){return x.subtract(this.array,this.array,E.array),this._dirty=!0,this},transformMat2:function(E){return x.transformMat2(this.array,this.array,E.array),this._dirty=!0,this},transformMat2d:function(E){return x.transformMat2d(this.array,this.array,E.array),this._dirty=!0,this},transformMat3:function(E){return x.transformMat3(this.array,this.array,E.array),this._dirty=!0,this},transformMat4:function(E){return x.transformMat4(this.array,this.array,E.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var b=y.prototype;Object.defineProperty(b,"x",{get:function(){return this.array[0]},set:function(E){this.array[0]=E,this._dirty=!0}}),Object.defineProperty(b,"y",{get:function(){return this.array[1]},set:function(E){this.array[1]=E,this._dirty=!0}})}y.add=function(E,g,m){return x.add(E.array,g.array,m.array),E._dirty=!0,E},y.set=function(E,g,m){return x.set(E.array,g,m),E._dirty=!0,E},y.copy=function(E,g){return x.copy(E.array,g.array),E._dirty=!0,E},y.cross=function(E,g,m){return x.cross(E.array,g.array,m.array),E._dirty=!0,E},y.dist=function(E,g){return x.distance(E.array,g.array)},y.distance=y.dist,y.div=function(E,g,m){return x.divide(E.array,g.array,m.array),E._dirty=!0,E},y.divide=y.div,y.dot=function(E,g){return x.dot(E.array,g.array)},y.len=function(E){return x.length(E.array)},y.lerp=function(E,g,m,C){return x.lerp(E.array,g.array,m.array,C),E._dirty=!0,E},y.min=function(E,g,m){return x.min(E.array,g.array,m.array),E._dirty=!0,E},y.max=function(E,g,m){return x.max(E.array,g.array,m.array),E._dirty=!0,E},y.mul=function(E,g,m){return x.multiply(E.array,g.array,m.array),E._dirty=!0,E},y.multiply=y.mul,y.negate=function(E,g){return x.negate(E.array,g.array),E._dirty=!0,E},y.normalize=function(E,g){return x.normalize(E.array,g.array),E._dirty=!0,E},y.random=function(E,g){return x.random(E.array,g),E._dirty=!0,E},y.scale=function(E,g,m){return x.scale(E.array,g.array,m),E._dirty=!0,E},y.scaleAndAdd=function(E,g,m,C){return x.scaleAndAdd(E.array,g.array,m.array,C),E._dirty=!0,E},y.sqrDist=function(E,g){return x.sqrDist(E.array,g.array)},y.squaredDistance=y.sqrDist,y.sqrLen=function(E){return x.sqrLen(E.array)},y.squaredLength=y.sqrLen,y.sub=function(E,g,m){return x.subtract(E.array,g.array,m.array),E._dirty=!0,E},y.subtract=y.sub,y.transformMat2=function(E,g,m){return x.transformMat2(E.array,g.array,m.array),E._dirty=!0,E},y.transformMat2d=function(E,g,m){return x.transformMat2d(E.array,g.array,m.array),E._dirty=!0,E},y.transformMat3=function(E,g,m){return x.transformMat3(E.array,g.array,m.array),E._dirty=!0,E},y.transformMat4=function(E,g,m){return x.transformMat4(E.array,g.array,m.array),E._dirty=!0,E},G.a=y},function(ee,G,_){"use strict";var F=_(64),w=_(11),x=_(5),y=F.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(b,E,g){var m=b.gl;if(this.skeleton){this.skeleton.update();var C=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);g.setUniformOfSemantic(m,"SKIN_MATRIX",C)}return F.a.prototype.render.call(this,b,E,g)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new x.a({type:w.a.FLOAT,minFilter:w.a.NEAREST,magFilter:w.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});y.POINTS=w.a.POINTS,y.LINES=w.a.LINES,y.LINE_LOOP=w.a.LINE_LOOP,y.LINE_STRIP=w.a.LINE_STRIP,y.TRIANGLES=w.a.TRIANGLES,y.TRIANGLE_STRIP=w.a.TRIANGLE_STRIP,y.TRIANGLE_FAN=w.a.TRIANGLE_FAN,y.BACK=w.a.BACK,y.FRONT=w.a.FRONT,y.FRONT_AND_BACK=w.a.FRONT_AND_BACK,y.CW=w.a.CW,y.CCW=w.a.CCW,G.a=y},function(ee,G,_){"use strict";var F=_(6),w=_(11),x=_(21),y=_(66),b=y.a.isPowerOfTwo,E=["px","nx","py","ny","pz","nz"],g=F.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(C){var d=C.gl;d.bindTexture(d.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(C);var v=this.format,A=this.type;d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_WRAP_S,this.getAvailableWrapS()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_WRAP_T,this.getAvailableWrapT()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),d.texParameteri(d.TEXTURE_CUBE_MAP,d.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var T=C.getGLExtension("EXT_texture_filter_anisotropic");if(T&&this.anisotropic>1&&d.texParameterf(d.TEXTURE_CUBE_MAP,T.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),A===36193){var O=C.getGLExtension("OES_texture_half_float");O||(A=w.a.FLOAT)}if(this.mipmaps.length)for(var P=this.width,L=this.height,c=0;c<this.mipmaps.length;c++){var f=this.mipmaps[c];this._updateTextureData(d,f,c,P,L,v,A),P/=2,L/=2}else this._updateTextureData(d,this,0,this.width,this.height,v,A),!this.NPOT&&this.useMipmap&&d.generateMipmap(d.TEXTURE_CUBE_MAP);d.bindTexture(d.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(C,d,v,A,T,O,P){for(var L=0;L<6;L++){var c=E[L],f=d.image&&d.image[c];f?C.texImage2D(C.TEXTURE_CUBE_MAP_POSITIVE_X+L,v,O,O,P,f):C.texImage2D(C.TEXTURE_CUBE_MAP_POSITIVE_X+L,v,O,A,T,0,O,P,d.pixels&&d.pixels[c])}},generateMipmap:function(C){var d=C.gl;this.useMipmap&&!this.NPOT&&(d.bindTexture(d.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),d.generateMipmap(d.TEXTURE_CUBE_MAP))},bind:function(C){C.gl.bindTexture(C.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(C))},unbind:function(C){C.gl.bindTexture(C.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?b(this.image.px.width)&&b(this.image.px.height):b(this.width)&&b(this.height)},isRenderable:function(){return this.image.px?m(this.image.px)&&m(this.image.nx)&&m(this.image.py)&&m(this.image.ny)&&m(this.image.pz)&&m(this.image.nz):!!(this.width&&this.height)},load:function(C,d){var v=0,A=this;return x.a.each(C,function(T,O){var P=new Image;d&&(P.crossOrigin=d),P.onload=function(){v--,v===0&&(A.dirty(),A.trigger("success",A)),P.onload=null},P.onerror=function(){v--,P.onerror=null},v++,P.src=T,A.image[O]=P}),this}});Object.defineProperty(g.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(C){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==C&&this.dirty(),this._width=C)}}),Object.defineProperty(g.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(C){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==C&&this.dirty(),this._height=C)}});function m(C){return C.nodeName==="CANVAS"||C.nodeName==="VIDEO"||C.complete}G.a=g},function(ee,G,_){"use strict";G.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x={};x.getFormattedLabel=function(y,b,E,g,m){E=E||"normal";var C=y.getData(g),d=C.getItemModel(b),v=y.getDataParams(b,g);m!=null&&v.value instanceof Array&&(v.value=v.value[m]);var A=d.get(E==="normal"?["label","formatter"]:["emphasis","label","formatter"]);A==null&&(A=d.get(["label","formatter"]));var T;return typeof A=="function"?(v.status=E,T=A(v)):typeof A=="string"&&(T=w.a.format.formatTpl(A,v)),T},x.normalizeToArray=function(y){return y instanceof Array?y:y==null?[]:[y]},G.a=x},function(ee,G,_){"use strict";var F=_(8),w=_(4),x=_(50),y=_(9),b=_(1),E=_.n(b),g=_(15),m=E.a.mat4,C=0,d=F.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+C++),this.position||(this.position=new w.a),this.rotation||(this.rotation=new x.a),this.scale||(this.scale=new w.a(1,1,1)),this.worldTransform=new y.a,this.localTransform=new y.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(v){var A=this._scene;if(A){var T=A._nodeRepository;delete T[this.name],T[v]=this}this.name=v},add:function(v){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var A=v._parent;if(A!==this){A&&A.remove(v),v._parent=this,this._children.push(v);var T=this._scene;T&&T!==v.scene&&v.traverse(this._addSelfToScene,this),v._needsUpdateWorldTransform=!0}},remove:function(v){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var A=this._children,T=A.indexOf(v);T<0||(A.splice(T,1),v._parent=null,this._scene&&v.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var v=this._children,A=0;A<v.length;A++)v[A]._parent=null,this._scene&&v[A].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(v){v._scene.removeFromScene(v),v._scene=null},_addSelfToScene:function(v){this._scene.addToScene(v),v._scene=this._scene},isAncestor:function(v){for(var A=v._parent;A;){if(A===this)return!0;A=A._parent}return!1},children:function(){return this._children.slice()},childAt:function(v){return this._children[v]},getChildByName:function(v){for(var A=this._children,T=0;T<A.length;T++)if(A[T].name===v)return A[T]},getDescendantByName:function(v){for(var A=this._children,T=0;T<A.length;T++){var O=A[T];if(O.name===v)return O;var P=O.getDescendantByName(v);if(P)return P}},queryNode:function(v){if(v){for(var A=v.split("/"),T=this,O=0;O<A.length;O++){var P=A[O];if(P){for(var L=!1,c=T._children,f=0;f<c.length;f++){var D=c[f];if(D.name===P){T=D,L=!0;break}}if(!L)return}}return T}},getPath:function(v){if(!this._parent)return"/";for(var A=this._parent,T=this.name;A._parent&&(T=A.name+"/"+T,A._parent!=v);)A=A._parent;return!A._parent&&v?null:T},traverse:function(v,A,T){this._inIterating=!0,(!T||T.call(A,this))&&v.call(A,this);for(var O=this._children,P=0,L=O.length;P<L;P++)O[P].traverse(v,A,T);this._inIterating=!1},eachChild:function(v,A,T){this._inIterating=!0;for(var O=this._children,P=T==null,L=0,c=O.length;L<c;L++){var f=O[L];(P||f.constructor===T)&&v.call(A,f,L)}this._inIterating=!1},setLocalTransform:function(v){m.copy(this.localTransform.array,v.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(v){var A=v?null:this.scale;this.localTransform.decomposeMatrix(A,this.rotation,this.position)},setWorldTransform:function(v){m.copy(this.worldTransform.array,v.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var v=m.create();return function(A){var T=this.localTransform,O=this.worldTransform;this._parent?(m.invert(v,this._parent.worldTransform.array),m.multiply(T.array,v,O.array)):m.copy(T.array,O.array);var P=A?null:this.scale;T.decomposeMatrix(P,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var v=this.position,A=this.rotation,T=this.scale;if(this.transformNeedsUpdate()){var O=this.localTransform.array;m.fromRotationTranslation(O,A.array,v.array),m.scale(O,O,T.array),A._dirty=!1,T._dirty=!1,v._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var v=this.localTransform.array,A=this.worldTransform.array;this._parent?m.multiplyAffine(A,this._parent.worldTransform.array,v):m.copy(A,v)},updateWorldTransform:function(){for(var v=this;v&&v.getParent()&&v.getParent().transformNeedsUpdate();)v=v.getParent();v.update()},update:function(v){this.autoUpdateLocalTransform?this.updateLocalTransform():v=!0,(v||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),v=!0,this._needsUpdateWorldTransform=!1);for(var A=this._children,T=0,O=A.length;T<O;T++)A[T].update(v)},getBoundingBox:function(){function v(P){return!P.invisible&&P.geometry}var A=new g.a,T=new y.a,O=new y.a;return function(P,L){return L=L||new g.a,P=P||v,this._parent?y.a.invert(O,this._parent.worldTransform):y.a.identity(O),this.traverse(function(c){c.geometry&&c.geometry.boundingBox&&(A.copy(c.geometry.boundingBox),y.a.multiply(T,O,c.worldTransform),A.applyTransform(T),L.union(A))},this,v),L}}(),getWorldPosition:function(v){this.transformNeedsUpdate()&&this.updateWorldTransform();var A=this.worldTransform.array;if(v){var T=v.array;return T[0]=A[12],T[1]=A[13],T[2]=A[14],v}else return new w.a(A[12],A[13],A[14])},clone:function(){var v=new this.constructor,A=this._children;v.setName(this.name),v.position.copy(this.position),v.rotation.copy(this.rotation),v.scale.copy(this.scale);for(var T=0;T<A.length;T++)v.add(A[T].clone());return v},rotateAround:function(){var v=new w.a,A=new y.a;return function(T,O,P){v.copy(this.position).subtract(T);var L=this.localTransform;L.identity(),L.translate(T),L.rotate(P,O),A.fromRotationTranslation(this.rotation,v),L.multiply(A),L.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var v=new y.a;return function(A,T){v.lookAt(this.position,A,T||this.localTransform.y).invert(),this.setLocalTransform(v),this.target=A}}()});G.a=d},function(ee,G,_){"use strict";var F=_(28),w=_(19),x=_(51),y=_(15),b=_(21),E={};function g(d){var v=[],A=Object.keys(d);A.sort();for(var T=0;T<A.length;T++){var O=d[T];v.push(O+" "+d[O])}var P=v.join(`
`);if(E[P])return E[P];var L=b.a.genGUID();return E[P]=L,L}var m=F.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new y.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(d){d instanceof x.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(d)),d.name&&(this._nodeRepository[d.name]=d)},removeFromScene:function(d){if(d instanceof x.a){var v=this._cameraList.indexOf(d);v>=0&&this._cameraList.splice(v,1)}d.name&&delete this._nodeRepository[d.name]},getNode:function(d){return this._nodeRepository[d]},cloneNode:function(d){var v=d.clone(),A={},T=function(P,L){P.skeleton&&(L.skeleton=P.skeleton.clone(d,v),L.joints=P.joints.slice()),P.material&&(A[P.material.__uid__]={oldMat:P.material});for(var c=0;c<P._children.length;c++)T(P._children[c],L._children[c])};T(d,v);for(var O in A)A[O].newMat=A[O].oldMat.clone();return v.traverse(function(P){P.material&&(P.material=A[P.material.__uid__].newMat)}),v},update:function(d,v){if(this.autoUpdate||d){F.a.prototype.update.call(this,d);var A=this.lights,T=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,A.length=0,this._updateRenderList(this,T),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!v){this._previousLightNumber=this._lightNumber;for(var O={},P=0;P<A.length;P++){var L=A[P],c=L.group;O[c]||(O[c]={}),O[c][L.type]=O[c][L.type]||0,O[c][L.type]++}this._lightNumber=O;for(var f in O)this._lightProgramKeys[f]=g(O[f]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(d,v){if(!d.invisible)for(var A=0;A<d._children.length;A++){var T=d._children[A];T instanceof w.a?this.lights.push(T):T.isRenderable()&&(T.material.transparent||v?this.transparentList[this._transparentObjectCount++]=T:this.opaqueList[this._opaqueObjectCount++]=T),T._children.length>0&&this._updateRenderList(T)}},_updateLightUniforms:function(){var d=this.lights;d.sort(C);var v=this._lightUniforms;for(var A in v)for(var T in v[A])v[A][T].value.length=0;for(var O=0;O<d.length;O++){var P=d[O],A=P.group;for(var T in P.uniformTemplates){var L=P.uniformTemplates[T],c=L.value(P);if(c!=null){v[A]||(v[A]={}),v[A][T]||(v[A][T]={type:"",value:[]});var f=v[A][T];switch(f.type=L.type+"v",L.type){case"1i":case"1f":case"t":f.value.push(c);break;case"2f":case"3f":case"4f":for(var D=0;D<c.length;D++)f.value.push(c[D]);break;default:console.error("Unkown light uniform type "+L.type)}}}}},getLightGroups:function(){var d=[];for(var v in this._lightNumber)d.push(v);return d},getNumberChangedLightGroups:function(){var d=[];for(var v in this._lightNumber)this.isLightNumberChanged(v)&&d.push(v);return d},isLightNumberChanged:function(d){var v=this._previousLightNumber,A=this._lightNumber;for(var T in A[d])if(!v[d]||A[d][T]!==v[d][T])return!0;for(var T in v[d])if(!A[d]||A[d][T]!==v[d][T])return!0;return!1},getLightsNumbers:function(d){return this._lightNumber[d]},getProgramKey:function(d){return this._lightProgramKeys[d]},setLightUniforms:function(){function d(v,A,T){for(var O in v){var P=v[O];if(P.type==="tv"){if(!A.hasUniform(O))continue;for(var L=[],c=0;c<P.value.length;c++){var f=P.value[c],D=A.takeCurrentTextureSlot(T,f);L.push(D)}A.setUniform(T.gl,"1iv",O,L)}else A.setUniform(T.gl,P.type,O,P.value)}}return function(v,A,T){d(this._lightUniforms[A],v,T),d(this.shadowUniforms,v,T)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function C(d,v){if(v.castShadow&&!d.castShadow)return!0}G.a=m},function(ee,G,_){"use strict";var F=_(51),w=F.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var x=this.projectionMatrix.array;this.left=(-1-x[12])/x[0],this.right=(1-x[12])/x[0],this.top=(1-x[13])/x[5],this.bottom=(-1-x[13])/x[5],this.near=-(-1-x[14])/x[10],this.far=-(1-x[14])/x[10]},clone:function(){var x=F.a.prototype.clone.call(this);return x.left=this.left,x.right=this.right,x.near=this.near,x.far=this.far,x.top=this.top,x.bottom=this.bottom,x}});G.a=w},function(ee,G,_){"use strict";G.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(ee,G,_){"use strict";G.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(ee,G,_){"use strict";G.a={convertToDynamicArray:function(F){F&&this.resetOffset();var w=this.attributes;for(var x in w)F||!w[x].value?w[x].value=[]:w[x].value=Array.prototype.slice.call(w[x].value);F||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var F=this.attributes;for(var w in F)F[w].value&&F[w].value.length>0?F[w].value=new Float32Array(F[w].value):F[w].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(ee,G,_){"use strict";var F=_(2),w=_(57),x=_(56),y=_(0),b=_.n(y);function E(){}E.prototype={constructor:E,setScene:function(g){this._scene=g,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(g){this._lightRoot=g,this.mainLight=new F.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new F.a.AmbientLight,g.add(this.mainLight),g.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(g){var m=this.mainLight,C=this.ambientLight,d=g.getModel("light"),v=d.getModel("main"),A=d.getModel("ambient");m.intensity=v.get("intensity"),C.intensity=A.get("intensity"),m.color=F.a.parseColor(v.get("color")).slice(0,3),C.color=F.a.parseColor(A.get("color")).slice(0,3);var T=v.get("alpha")||0,O=v.get("beta")||0;m.position.setArray(F.a.directionFromAlphaBeta(T,O)),m.lookAt(F.a.Vector3.ZERO),m.castShadow=v.get("shadow"),m.shadowResolution=F.a.getShadowResolution(v.get("shadowQuality"))},updateAmbientCubemap:function(g,m,C){var d=m.getModel("light.ambientCubemap"),v=d.get("texture");if(v){this._cubemapLightsCache=this._cubemapLightsCache||{};var A=this._cubemapLightsCache[v];if(!A){var T=this;A=this._cubemapLightsCache[v]=F.a.createAmbientCubemap(d.option,g,C,function(){T._skybox instanceof w.a&&T._skybox.setEnvironmentMap(A.specular.cubemap),C.getZr().refresh()})}this._lightRoot.add(A.diffuse),this._lightRoot.add(A.specular),this._currentCubemapLights=A}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(g,m,C){var d=m.get("environment"),v=this;function A(){return v._skybox instanceof w.a||(v._skybox&&v._skybox.dispose(g),v._skybox=new w.a),v._skybox}function T(){return v._skybox instanceof x.a||(v._skybox&&v._skybox.dispose(g),v._skybox=new x.a),v._skybox}if(d&&d!=="none")if(d==="auto")if(this._currentCubemapLights){var O=A(),P=this._currentCubemapLights.specular.cubemap;O.setEnvironmentMap(P),this._scene&&O.attachScene(this._scene),O.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof d=="object"&&d.colorStops||typeof d=="string"&&b.a.color.parse(d)){var L=T(),c=new F.a.Texture2D({anisotropic:8,flipY:!1});L.setEnvironmentMap(c);var f=c.image=document.createElement("canvas");f.width=f.height=16;var D=f.getContext("2d"),R=new b.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:d}});R.brush(D),L.attachScene(this._scene)}else{var L=T(),c=F.a.loadTexture(d,C,{anisotropic:8,flipY:!1});L.setEnvironmentMap(c),L.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var k=m.coordinateSystem;if(this._skybox)if(k&&k.viewGL&&d!=="auto"&&!(d.match&&d.match(/.hdr$/))){var W=k.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[W]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},G.a=E},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);function x(y,b){var E=[];return w.a.util.each(y.dimensions,function(g){var m=y.getDimensionInfo(g),C=m.otherDims,d=C[b];d!=null&&d!==!1&&(E[d]=m.name)}),E}G.a=function(y,b,E){function g(P){var L=!0,c=[],f=x(m,"tooltip");f.length?w.a.util.each(f,function(R){D(m.get(R,b),R)}):w.a.util.each(P,D);function D(R,k){var W=m.getDimensionInfo(k);if(!(!W||W.otherDims.tooltip===!1)){var z=W.type,Z=(L?"- "+(W.tooltipName||W.name)+": ":"")+(z==="ordinal"?R+"":z==="time"?E?"":w.a.format.formatTime("yyyy/MM/dd hh:mm:ss",R):w.a.format.addCommas(R));Z&&c.push(w.a.format.encodeHTML(Z))}}return(L?"<br/>":"")+c.join(L?"<br/>":", ")}var m=y.getData(),C=y.getRawValue(b),d=w.a.util.isArray(C)?g(C):w.a.format.encodeHTML(w.a.format.addCommas(C)),v=m.getName(b),A=m.getItemVisual(b,"color");w.a.util.isObject(A)&&A.colorStops&&(A=(A.colorStops[0]||{}).color),A=A||"transparent";var T=w.a.format.getTooltipMarker(A),O=y.name;return O==="\0-"&&(O=""),O=O?w.a.format.encodeHTML(O)+(E?": ":"<br/>"):"",E?T+O+d:O+T+(v?w.a.format.encodeHTML(v)+": "+d:d)}},function(ee,G,_){"use strict";var F=_(51),w=F.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var x=this.fov/180*Math.PI;this.projectionMatrix.perspective(x,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var x=this.projectionMatrix.array,y=Math.atan(1/x[5])*2;this.fov=y/Math.PI*180,this.aspect=x[5]/x[0],this.near=x[14]/(x[10]-1),this.far=x[14]/(x[10]+1)},clone:function(){var x=F.a.prototype.clone.call(this);return x.fov=this.fov,x.aspect=this.aspect,x.near=this.near,x.far=this.far,x}});G.a=w},function(ee,G,_){"use strict";var F=_(13),w=_(15),x=F.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var y=this.heightSegments,b=this.widthSegments,E=this.attributes,g=[],m=[],C=[],d=[],v=0;v<=y;v++)for(var A=v/y,T=0;T<=b;T++){var O=T/b;if(g.push([2*O-1,2*A-1,0]),m&&m.push([O,A]),C&&C.push([0,0,1]),T<b&&v<y){var P=T+v*(b+1);d.push([P,P+1,P+b+1]),d.push([P+b+1,P+1,P+b+2])}}E.position.fromArray(g),E.texcoord0.fromArray(m),E.normal.fromArray(C),this.initIndicesFromArray(d),this.boundingBox=new w.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});G.a=x},function(ee,G,_){"use strict";G.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(F){F=F||{},this.option.viewControl=this.option.viewControl||{},F.alpha!=null&&(this.option.viewControl.alpha=F.alpha),F.beta!=null&&(this.option.viewControl.beta=F.beta),F.distance!=null&&(this.option.viewControl.distance=F.distance),F.center!=null&&(this.option.viewControl.center=F.center)}}},function(ee,G,_){"use strict";var F=_(8),w=_(23),x=_(4),y=_(50),b=_(3),E=b.a.firstNotNull,g={left:0,middle:1,right:2};function m(d){return d instanceof Array||(d=[d,d]),d}var C=F.a.extend(function(){return{zr:null,viewGL:null,_center:new x.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new w.a,_panVelocity:new w.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(d){this[d]=this[d].bind(this)},this)},{init:function(){var d=this.zr;d&&(d.on("mousedown",this._mouseDownHandler),d.on("globalout",this._mouseUpHandler),d.on("mousewheel",this._mouseWheelHandler),d.on("pinch",this._pinchHandler),d.animation.on("frame",this._update),d.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var d=this.zr;d&&(d.off("mousedown",this._mouseDownHandler),d.off("mousemove",this._mouseMoveHandler),d.off("mouseup",this._mouseUpHandler),d.off("mousewheel",this._mouseWheelHandler),d.off("pinch",this._pinchHandler),d.off("globalout",this._mouseUpHandler),d.dom.removeEventListener("contextmenu",this._contextMenuHandler),d.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(d){this._distance=d,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(d){this._orthoSize=d,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(d){d=Math.max(Math.min(this.maxAlpha,d),this.minAlpha),this._theta=d/180*Math.PI,this._needsUpdate=!0},setBeta:function(d){d=Math.max(Math.min(this.maxBeta,d),this.minBeta),this._phi=-d/180*Math.PI,this._needsUpdate=!0},setCenter:function(d){this._center.setArray(d)},setViewGL:function(d){this.viewGL=d},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(d,v){v=v||{};var A=v.baseDistance||0,T=v.baseOrthoSize||1,O=d.get("projection");O!=="perspective"&&O!=="orthographic"&&O!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",O),O="perspective"),this._projection=O,this.viewGL.setProjection(O);var P=d.get("distance")+A,L=d.get("orthographicSize")+T;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(W){this[W[0]]=E(d.get(W[0]),W[1])},this),this.minDistance+=A,this.maxDistance+=A,this.minOrthographicSize+=T,this.maxOrthographicSize+=T;var c=d.ecModel,f={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(W){f[W]=E(d.get(W),c&&c.get(W))});var D=E(v.alpha,d.get("alpha"))||0,R=E(v.beta,d.get("beta"))||0,k=E(v.center,d.get("center"))||[0,0,0];f.animation&&f.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:D,beta:R,center:k,distance:P,targetOrthographicSize:L,easing:f.animationEasingUpdate,duration:f.animationDurationUpdate}):(this.setDistance(P),this.setAlpha(D),this.setBeta(R),this.setCenter(k),this.setOrthographicSize(L)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){g[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),g[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(d){var v=this.zr,A=this,T={},O={};return d.distance!=null&&(T.distance=this.getDistance(),O.distance=d.distance),d.orthographicSize!=null&&(T.orthographicSize=this.getOrthographicSize(),O.orthographicSize=d.orthographicSize),d.alpha!=null&&(T.alpha=this.getAlpha(),O.alpha=d.alpha),d.beta!=null&&(T.beta=this.getBeta(),O.beta=d.beta),d.center!=null&&(T.center=this.getCenter(),O.center=d.center),this._addAnimator(v.animation.animate(T).when(d.duration||1e3,O).during(function(){T.alpha!=null&&A.setAlpha(T.alpha),T.beta!=null&&A.setBeta(T.beta),T.distance!=null&&A.setDistance(T.distance),T.center!=null&&A.setCenter(T.center),T.orthographicSize!=null&&A.setOrthographicSize(T.orthographicSize),A._needsUpdate=!0})).start(d.easing||"linear")},stopAllAnimation:function(){for(var d=0;d<this._animators.length;d++)this._animators[d].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(d){if(this._rotating){var v=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=v*d/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(d=Math.min(d,50),this._updateDistanceOrSize(d),this._updatePan(d),this._updateRotate(d),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(d){var v=this._rotateVelocity;this._phi=v.y*d/20+this._phi,this._theta=v.x*d/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(v,Math.pow(this.damping,d/16))},_updateDistanceOrSize:function(d){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*d/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*d/20),this._zoomSpeed*=Math.pow(this.damping,d/16)},_setDistance:function(d){this._distance=Math.max(Math.min(d,this.maxDistance),this.minDistance)},_setOrthoSize:function(d){this._orthoSize=Math.max(Math.min(d,this.maxOrthographicSize),this.minOrthographicSize);var v=this.getCamera(),A=this._orthoSize,T=A/this.viewGL.viewport.height*this.viewGL.viewport.width;v.left=-T/2,v.right=T/2,v.top=A/2,v.bottom=-A/2},_updatePan:function(d){var v=this._panVelocity,A=this._distance,T=this.getCamera(),O=T.worldTransform.y,P=T.worldTransform.x;this._center.scaleAndAdd(P,-v.x*A/200).scaleAndAdd(O,-v.y*A/200),this._vectorDamping(v,0)},_updateTransform:function(){var d=this.getCamera(),v=new x.a,A=this._theta+Math.PI/2,T=this._phi+Math.PI/2,O=Math.sin(A);v.x=O*Math.cos(T),v.y=-Math.cos(A),v.z=O*Math.sin(T),d.position.copy(this._center).scaleAndAdd(v,this._distance),d.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var d=this.autoRotateAfterStill,v=this;!isNaN(d)&&d>0&&(this._stillTimeout=setTimeout(function(){v._rotating=!0},d*1e3))},_vectorDamping:function(d,v){var A=d.len();A=A*v,A<1e-4&&(A=0),d.normalize().scale(A)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var d=this.getCamera().worldTransform.z,v=Math.asin(d.y),A=Math.atan2(d.x,d.z);this._theta=v,this._phi=-A,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(d){if(!d.target&&!this._isAnimating()){var v=d.offsetX,A=d.offsetY;this.viewGL&&!this.viewGL.containPoint(v,A)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),d.event.targetTouches?d.event.targetTouches.length===1&&(this._mode="rotate"):d.event.button===g[this.rotateMouseButton]?this._mode="rotate":d.event.button===g[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=d.offsetX,this._mouseY=d.offsetY)}},_mouseMoveHandler:function(d){if(!(d.target&&d.target.__isGLToZRProxy)&&!this._isAnimating()){var v=m(this.panSensitivity),A=m(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(d.offsetX-this._mouseX)/this.zr.getHeight()*2*A[0],this._rotateVelocity.x=(d.offsetY-this._mouseY)/this.zr.getWidth()*2*A[1]):this._mode==="pan"&&(this._panVelocity.x=(d.offsetX-this._mouseX)/this.zr.getWidth()*v[0]*400,this._panVelocity.y=(-d.offsetY+this._mouseY)/this.zr.getHeight()*v[1]*400),this._mouseX=d.offsetX,this._mouseY=d.offsetY,d.event.preventDefault()}},_mouseWheelHandler:function(d){if(!this._isAnimating()){var v=d.event.wheelDelta||-d.event.detail;this._zoomHandler(d,v)}},_pinchHandler:function(d){this._isAnimating()||(this._zoomHandler(d,d.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(d,v){if(v!==0){var A=d.offsetX,T=d.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(A,T))){var O;this._projection==="perspective"?O=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):O=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(v>0?-1:1)*O*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),d.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(d){this._isRightMouseButtonUsed()&&d.preventDefault()},_addAnimator:function(d){var v=this._animators;return v.push(d),d.done(function(){var A=v.indexOf(d);A>=0&&v.splice(A,1)}),d}});Object.defineProperty(C.prototype,"autoRotate",{get:function(d){return this._autoRotate},set:function(d){this._autoRotate=d,this._rotating=d}}),G.a=C},function(ee,G,_){"use strict";G.a=`@export ecgl.lines3D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
void main()
{
gl_Position = worldViewProjection * vec4(position, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
}
@end
@export ecgl.lines3D.clipNear
vec4 clipNear(vec4 p1, vec4 p2) {
float n = (p1.w - near) / (p1.w - p2.w);
return vec4(mix(p1.xy, p2.xy, n), -near, near);
}
@end
@export ecgl.lines3D.expandLine
#ifdef VERTEX_ANIMATION
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
#else
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
vec4 currProj = worldViewProjection * vec4(position, 1.0);
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
#endif
if (currProj.w < 0.0) {
if (nextProj.w > 0.0) {
currProj = clipNear(currProj, nextProj);
}
else if (prevProj.w > 0.0) {
currProj = clipNear(currProj, prevProj);
}
}
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 dir;
float len = offset;
if (position == positionPrev) {
dir = normalize(nextScreen - currScreen);
}
else if (position == positionNext) {
dir = normalize(currScreen - prevScreen);
}
else {
vec2 dirA = normalize(currScreen - prevScreen);
vec2 dirB = normalize(nextScreen - currScreen);
vec2 tanget = normalize(dirA + dirB);
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
len *= miter;
dir = tanget;
}
dir = vec2(-dir.y, dir.x) * len;
currScreen += dir;
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
@end
@export ecgl.meshLines3D.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute vec4 a_Color : COLOR;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevPositionPrev;
attribute vec3 prevPositionNext;
uniform float percent : 1.0;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
varying vec4 v_Color;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.meshLines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(ee,G,_){var F=_(12),w=_(75),x=_(78),y=x.parsePercent,b=_(149),E=F.each,g=["left","right","top","bottom","width","height"],m=[["width","left","right"],["height","top","bottom"]];function C(R,k,W,z,Z){var Q=0,te=0;z==null&&(z=1/0),Z==null&&(Z=1/0);var $=0;k.eachChild(function(ie,ae){var re=ie.position,ce=ie.getBoundingRect(),oe=k.childAt(ae+1),he=oe&&oe.getBoundingRect(),se,pe;if(R==="horizontal"){var me=ce.width+(he?-he.x+ce.x:0);se=Q+me,se>z||ie.newline?(Q=0,se=me,te+=$+W,$=ce.height):$=Math.max($,ce.height)}else{var ge=ce.height+(he?-he.y+ce.y:0);pe=te+ge,pe>Z||ie.newline?(Q+=$+W,te=0,pe=ge,$=ce.width):$=Math.max($,ce.width)}ie.newline||(re[0]=Q,re[1]=te,R==="horizontal"?Q=se+W:te=pe+W)})}var d=C,v=F.curry(C,"vertical"),A=F.curry(C,"horizontal");function T(R,k,W){var z=k.width,Z=k.height,Q=y(R.x,z),te=y(R.y,Z),$=y(R.x2,z),ie=y(R.y2,Z);return(isNaN(Q)||isNaN(parseFloat(R.x)))&&(Q=0),(isNaN($)||isNaN(parseFloat(R.x2)))&&($=z),(isNaN(te)||isNaN(parseFloat(R.y)))&&(te=0),(isNaN(ie)||isNaN(parseFloat(R.y2)))&&(ie=Z),W=b.normalizeCssArray(W||0),{width:Math.max($-Q-W[1]-W[3],0),height:Math.max(ie-te-W[0]-W[2],0)}}function O(R,k,W){W=b.normalizeCssArray(W||0);var z=k.width,Z=k.height,Q=y(R.left,z),te=y(R.top,Z),$=y(R.right,z),ie=y(R.bottom,Z),ae=y(R.width,z),re=y(R.height,Z),ce=W[2]+W[0],oe=W[1]+W[3],he=R.aspect;switch(isNaN(ae)&&(ae=z-$-oe-Q),isNaN(re)&&(re=Z-ie-ce-te),he!=null&&(isNaN(ae)&&isNaN(re)&&(he>z/Z?ae=z*.8:re=Z*.8),isNaN(ae)&&(ae=he*re),isNaN(re)&&(re=ae/he)),isNaN(Q)&&(Q=z-$-ae-oe),isNaN(te)&&(te=Z-ie-re-ce),R.left||R.right){case"center":Q=z/2-ae/2-W[3];break;case"right":Q=z-ae-oe;break}switch(R.top||R.bottom){case"middle":case"center":te=Z/2-re/2-W[0];break;case"bottom":te=Z-re-ce;break}Q=Q||0,te=te||0,isNaN(ae)&&(ae=z-oe-Q-($||0)),isNaN(re)&&(re=Z-ce-te-(ie||0));var se=new w(Q+W[3],te+W[0],ae,re);return se.margin=W,se}function P(R,k,W,z,Z){var Q=!Z||!Z.hv||Z.hv[0],te=!Z||!Z.hv||Z.hv[1],$=Z&&Z.boundingMode||"all";if(!(!Q&&!te)){var ie;if($==="raw")ie=R.type==="group"?new w(0,0,+k.width||0,+k.height||0):R.getBoundingRect();else if(ie=R.getBoundingRect(),R.needLocalTransform()){var ae=R.getLocalTransform();ie=ie.clone(),ie.applyTransform(ae)}k=O(F.defaults({width:ie.width,height:ie.height},k),W,z);var re=R.position,ce=Q?k.x-ie.x:0,oe=te?k.y-ie.y:0;R.attr("position",$==="raw"?[ce,oe]:[re[0]+ce,re[1]+oe])}}function L(R,k){return R[m[k][0]]!=null||R[m[k][1]]!=null&&R[m[k][2]]!=null}function c(R,k,W){!F.isObject(W)&&(W={});var z=W.ignoreSize;!F.isArray(z)&&(z=[z,z]);var Z=te(m[0],0),Q=te(m[1],1);ae(m[0],R,Z),ae(m[1],R,Q);function te(re,ce){var oe={},he=0,se={},pe=0,me=2;if(E(re,function(Ae){se[Ae]=R[Ae]}),E(re,function(Ae){$(k,Ae)&&(oe[Ae]=se[Ae]=k[Ae]),ie(oe,Ae)&&he++,ie(se,Ae)&&pe++}),z[ce])return ie(k,re[1])?se[re[2]]=null:ie(k,re[2])&&(se[re[1]]=null),se;if(pe===me||!he)return se;if(he>=me)return oe;for(var ge=0;ge<re.length;ge++){var Ee=re[ge];if(!$(oe,Ee)&&$(R,Ee)){oe[Ee]=R[Ee];break}}return oe}function $(re,ce){return re.hasOwnProperty(ce)}function ie(re,ce){return re[ce]!=null&&re[ce]!=="auto"}function ae(re,ce,oe){E(re,function(he){ce[he]=oe[he]})}}function f(R){return D({},R)}function D(R,k){return k&&R&&E(g,function(W){k.hasOwnProperty(W)&&(R[W]=k[W])}),R}G.LOCATION_PARAMS=g,G.HV_NAMES=m,G.box=d,G.vbox=v,G.hbox=A,G.getAvailableSize=T,G.getLayoutRect=O,G.positionElement=P,G.sizeCalculable=L,G.mergeLayoutParam=c,G.getLayoutParams=f,G.copyLayoutParams=D},function(ee,G,_){"use strict";var F=_(8),w=F.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(x,y){var b=this.outputs[x],E=b.parameters,g=b._parametersCopy;if(g||(g=b._parametersCopy={}),E)for(var m in E)m!=="width"&&m!=="height"&&(g[m]=E[m]);var C,d;return E.width instanceof Function?C=E.width.call(this,y):C=E.width,E.height instanceof Function?d=E.height.call(this,y):d=E.height,(g.width!==C||g.height!==d)&&this._outputTextures[x]&&this._outputTextures[x].dispose(y.gl),g.width=C,g.height=d,g},setParameter:function(x,y){},getParameter:function(x){},setParameters:function(x){for(var y in x)this.setParameter(y,x[y])},render:function(){},getOutput:function(x,y){if(y==null)return y=x,this._outputTextures[y];var b=this.outputs[y];if(b)return this._rendered?b.outputLastFrame?this._prevOutputTextures[y]:this._outputTextures[y]:this._rendering?(this._prevOutputTextures[y]||(this._prevOutputTextures[y]=this._compositor.allocateTexture(b.parameters||{})),this._prevOutputTextures[y]):(this.render(x),this._outputTextures[y])},removeReference:function(x){if(this._outputReferences[x]--,this._outputReferences[x]===0){var y=this.outputs[x];y.keepLastFrame?(this._prevOutputTextures[x]&&this._compositor.releaseTexture(this._prevOutputTextures[x]),this._prevOutputTextures[x]=this._outputTextures[x]):this._compositor.releaseTexture(this._outputTextures[x])}},link:function(x,y,b){this.inputLinks[x]={node:y,pin:b},y.outputLinks[b]||(y.outputLinks[b]=[]),y.outputLinks[b].push({node:this,pin:x}),this.pass.material.enableTexture(x)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(x){if(!this._rendering){this._rendering=!0;for(var y in this.inputLinks){var b=this.inputLinks[y];b.node.updateReference(b.pin)}this._rendering=!1}x&&this._outputReferences[x]++},beforeFrame:function(){this._rendered=!1;for(var x in this.outputLinks)this._outputReferences[x]=0},afterFrame:function(){for(var x in this.outputLinks)if(this._outputReferences[x]>0){var y=this.outputs[x];y.keepLastFrame?(this._prevOutputTextures[x]&&this._compositor.releaseTexture(this._prevOutputTextures[x]),this._prevOutputTextures[x]=this._outputTextures[x]):this._compositor.releaseTexture(this._outputTextures[x])}}});G.a=w},function(ee,G,_){"use strict";function F(w,x){for(var y=0,b=1/x,E=w;E>0;)y=y+b*(E%x),E=Math.floor(E/x),b=b/x;return y}G.a=F},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);G.a=function(x,y,b){b=b||x.getSource();var E=y||w.a.getCoordinateSystemDimensions(x.get("coordinateSystem"))||["x","y","z"],g=w.a.helper.createDimensions(b,{dimensionsDefine:b.dimensionsDefine||x.get("dimensions"),encodeDefine:b.encodeDefine||x.get("encode"),coordDimensions:E.map(function(C){var d=x.getReferringComponents(C+"Axis3D")[0];return{type:d&&d.get("type")==="category"?"ordinal":"float",name:C,stackable:C==="z"}})});x.get("coordinateSystem")==="cartesian3D"&&g.forEach(function(C){if(E.indexOf(C.coordDim)>=0){var d=x.getReferringComponents(C.coordDim+"Axis3D")[0];d&&d.get("type")==="category"&&(C.ordinalMeta=d.getOrdinalMeta())}});var m=new w.a.List(g,x);return m.initData(b),m}},function(ee,G){function _(F,w,x){return{seriesType:F,performRawSeries:!0,reset:function(y,b,E){var g=y.getData(),m=y.get("symbol")||w,C=y.get("symbolSize");if(g.setVisual({legendSymbol:x||m,symbol:m,symbolSize:C}),b.isSeriesFiltered(y))return;var d=typeof C=="function";function v(A,T){if(typeof C=="function"){var O=y.getRawValue(T),P=y.getDataParams(T);A.setItemVisual(T,"symbolSize",C(O,P))}if(A.hasItemOption){var L=A.getItemModel(T),c=L.getShallow("symbol",!0),f=L.getShallow("symbolSize",!0);c!=null&&A.setItemVisual(T,"symbol",c),f!=null&&A.setItemVisual(T,"symbolSize",f)}}return{dataEach:g.hasItemOption||d?v:null}}}}ee.exports=_},function(ee,G,_){"use strict";var F=_(8),w=_(92),x=_(11),y=_(18),b=_(15),E=_(9),g=_(17),m=_(23),C=_(96),d=_(7),v=_(98),A=_(63),T=_(1),O=_.n(T);d.a.import(v.a),d.a.import(A.a);var P=O.a.mat4,L=O.a.vec3,c=P.create,f={};function D(z){return z.material}function R(){}var k=F.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var z=this.canvas;try{var Z={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=z.getContext("webgl",Z)||z.getContext("experimental-webgl",Z),!this.gl)throw new Error;this._glinfo=new w.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(Q){throw"Error creating WebGL Context "+Q}this._programMgr=new C.a(this)},{resize:function(z,Z){var Q=this.canvas,te=this.devicePixelRatio;z!=null?(Q.style.width=z+"px",Q.style.height=Z+"px",Q.width=z*te,Q.height=Z*te,this._width=z,this._height=Z):(this._width=Q.width/te,this._height=Q.height/te),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var z=this.viewport;return z.width/z.height},setDevicePixelRatio:function(z){this.devicePixelRatio=z,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(z){return this._glinfo.getExtension(z)},getGLParameter:function(z){return this._glinfo.getParameter(z)},setViewport:function(z,Z,Q,te,$){if(typeof z=="object"){var ie=z;z=ie.x,Z=ie.y,Q=ie.width,te=ie.height,$=ie.devicePixelRatio}$=$||this.devicePixelRatio,this.gl.viewport(z*$,Z*$,Q*$,te*$),this.viewport={x:z,y:Z,width:Q,height:te,devicePixelRatio:$}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var z=this._clearStack.pop();this.clearColor=z.clearColor,this.clearBit=z.clearBit}},bindSceneRendering:function(z){this._sceneRendering=z},render:function(z,Z,Q,te){var $=this.gl,ie=this.clearColor;if(this.clearBit){$.colorMask(!0,!0,!0,!0),$.depthMask(!0);var ae=this.viewport,re=!1,ce=ae.devicePixelRatio;(ae.width!==this._width||ae.height!==this._height||ce&&ce!==this.devicePixelRatio||ae.x||ae.y)&&(re=!0,$.enable($.SCISSOR_TEST),$.scissor(ae.x*ce,ae.y*ce,ae.width*ce,ae.height*ce)),$.clearColor(ie[0],ie[1],ie[2],ie[3]),$.clear(this.clearBit),re&&$.disable($.SCISSOR_TEST)}if(Q||z.update(!1),Z=Z||z.getMainCamera(),!Z){console.error("Can't find camera in the scene.");return}Z.getScene()||Z.update(!0),this._sceneRendering=z,z.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),z.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var oe=this.cullRenderList(z.opaqueList,z,Z),he=this.cullRenderList(z.transparentList,z,Z),se=z.material;z.trigger("beforerender",this,z,Z),te?(this.renderPreZ(oe,z,Z),$.depthFunc($.LEQUAL)):$.depthFunc($.LESS);for(var pe=c(),me=L.create(),ge=0;ge<he.length;ge++){var Ee=he[ge];P.multiplyAffine(pe,Z.viewMatrix.array,Ee.worldTransform.array),L.transformMat4(me,Ee.position.array,pe),Ee.__depth=me[2]}var Ae=this.renderPass(oe,Z,{getMaterial:function(rt){return se||rt.material},sortCompare:this.opaqueSortCompare}),Fe=this.renderPass(he,Z,{getMaterial:function(rt){return se||rt.material},sortCompare:this.transparentSortCompare}),Ue={};for(var nt in Ae)Ue[nt]=Ae[nt]+Fe[nt];return z.trigger("afterrender",this,z,Z,Ue),this._sceneRendering=null,Ue},getProgram:function(z,Z,Q){return Z=Z||z.material,this._programMgr.getProgram(z,Z,Q)},validateProgram:function(z){if(z.__error){var Z=z.__error;if(f[z.__uid__])return;if(f[z.__uid__]=!0,this.throwError)throw new Error(Z);this.trigger("error",Z)}},updatePrograms:function(z,Z,Q){var te=Q&&Q.getMaterial||D;Z=Z||null;for(var $=0;$<z.length;$++){var ie=z[$],ae=te.call(this,ie);if($>0){var re=z[$-1],ce=re.joints?re.joints.length:0,oe=ie.joints.length?ie.joints.length:0;if(oe===ce&&ie.material===re.material&&ie.lightGroup===re.lightGroup){ie.__program=re.__program;continue}}var he=this._programMgr.getProgram(ie,ae,Z);this.validateProgram(he),ie.__program=he}},cullRenderList:function(z,Z,Q){for(var te=[],$=0;$<z.length;$++){var ie=z[$],ae=ie.isSkinnedMesh()?W.IDENTITY:ie.worldTransform.array,re=ie.geometry;P.multiplyAffine(W.WORLDVIEW,Q.viewMatrix.array,ae),!(re.boundingBox&&this.isFrustumCulled(ie,Z,Q,W.WORLDVIEW,Q.projectionMatrix.array))&&te.push(ie)}return te},renderPass:function(z,Z,Q){this.trigger("beforerenderpass",this,z,Z,Q);var te={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:z.length,renderedMeshCount:0};Q=Q||{},Q.getMaterial=Q.getMaterial||D,Q.beforeRender=Q.beforeRender||R,Q.afterRender=Q.afterRender||R,this.updatePrograms(z,this._sceneRendering,Q),Q.sortCompare&&z.sort(Q.sortCompare);var $=this.viewport,ie=$.devicePixelRatio,ae=[$.x*ie,$.y*ie,$.width*ie,$.height*ie],re=this.devicePixelRatio,ce=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*re,this._height*re],oe=[ae[2],ae[3]],he=Date.now();P.copy(W.VIEW,Z.viewMatrix.array),P.copy(W.PROJECTION,Z.projectionMatrix.array),P.multiply(W.VIEWPROJECTION,Z.projectionMatrix.array,W.VIEW),P.copy(W.VIEWINVERSE,Z.worldTransform.array),P.invert(W.PROJECTIONINVERSE,W.PROJECTION),P.invert(W.VIEWPROJECTIONINVERSE,W.VIEWPROJECTION);for(var se=this.gl,pe=this._sceneRendering,me,ge,Ee,Ae,Fe,Ue,nt,rt,qe=0;qe<z.length;qe++){var dt=z[qe];if(!(Q.ifRender&&!Q.ifRender(dt))){var yt=dt.isSkinnedMesh()?W.IDENTITY:dt.worldTransform.array,je=Q.getMaterial.call(this,dt),at=dt.__program,it=je.shader;P.copy(W.WORLD,yt),P.multiply(W.WORLDVIEWPROJECTION,W.VIEWPROJECTION,yt),(it.matrixSemantics.WORLDINVERSE||it.matrixSemantics.WORLDINVERSETRANSPOSE)&&P.invert(W.WORLDINVERSE,yt),(it.matrixSemantics.WORLDVIEWINVERSE||it.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&P.invert(W.WORLDVIEWINVERSE,W.WORLDVIEW),(it.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||it.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&P.invert(W.WORLDVIEWPROJECTIONINVERSE,W.WORLDVIEWPROJECTION),dt.beforeRender(this),Q.beforeRender.call(this,dt,je,me);var ht=at!==ge;ht?(at.bind(this),at.setUniformOfSemantic(se,"VIEWPORT",ae),at.setUniformOfSemantic(se,"WINDOW_SIZE",ce),at.setUniformOfSemantic(se,"NEAR",Z.near),at.setUniformOfSemantic(se,"FAR",Z.far),at.setUniformOfSemantic(se,"DEVICEPIXELRATIO",ie),at.setUniformOfSemantic(se,"TIME",he),at.setUniformOfSemantic(se,"VIEWPORT_SIZE",oe),pe&&pe.setLightUniforms(at,dt.lightGroup,this)):at=ge,(me!==je||ht)&&(je.depthTest!==Ee&&(je.depthTest?se.enable(se.DEPTH_TEST):se.disable(se.DEPTH_TEST),Ee=je.depthTest),je.depthMask!==Ae&&(se.depthMask(je.depthMask),Ae=je.depthMask),je.transparent!==rt&&(je.transparent?se.enable(se.BLEND):se.disable(se.BLEND),rt=je.transparent),je.transparent&&(je.blend?je.blend(se):(se.blendEquationSeparate(se.FUNC_ADD,se.FUNC_ADD),se.blendFuncSeparate(se.SRC_ALPHA,se.ONE_MINUS_SRC_ALPHA,se.ONE,se.ONE_MINUS_SRC_ALPHA))),je.bind(this,at,me,ge),me=je);for(var ut=it.matrixSemanticKeys,Mt=0;Mt<ut.length;Mt++){var Ce=ut[Mt],ot=it.matrixSemantics[Ce],Pe=W[Ce];if(ot.isTranspose){var Ne=W[ot.semanticNoTranspose];P.transpose(Pe,Ne)}at.setUniform(se,ot.type,ot.symbol,Pe)}dt.cullFace!==Ue&&(Ue=dt.cullFace,se.cullFace(Ue)),dt.frontFace!==nt&&(nt=dt.frontFace,se.frontFace(nt)),dt.culling!==Fe&&(Fe=dt.culling,Fe?se.enable(se.CULL_FACE):se.disable(se.CULL_FACE));var We=dt.render(this,je,at);We&&(te.triangleCount+=We.triangleCount,te.vertexCount+=We.vertexCount,te.drawCallCount+=We.drawCallCount,te.renderedMeshCount++),Q.afterRender.call(this,dt,We),dt.afterRender(this,We),ge=at}}for(var qe=0;qe<z.length;qe++)z[qe].__program=null;return this.trigger("afterrenderpass",this,z,Z,Q),te},renderPreZ:function(z,Z,Q){var te=this.gl,$=this._prezMaterial||new g.a({shader:new d.a(d.a.source("clay.prez.vertex"),d.a.source("clay.prez.fragment"))});this._prezMaterial=$,te.colorMask(!1,!1,!1,!1),te.depthMask(!0),this.renderPass(z,Q,{ifRender:function(ie){return!ie.ignorePreZ},getMaterial:function(){return $},sort:this.opaqueSortCompare}),te.colorMask(!0,!0,!0,!0),te.depthMask(!0)},isFrustumCulled:function(){var z=new b.a,Z=new E.a;return function(Q,te,$,ie,ae){var re=Q.boundingBox||Q.geometry.boundingBox;if(Z.array=ie,z.copy(re),z.applyTransform(Z),te&&Q.isRenderable()&&Q.castShadow&&te.viewBoundingBoxLastFrame.union(z),Q.frustumCulling&&!Q.isSkinnedMesh()){if(!z.intersectBoundingBox($.frustum.boundingBox))return!0;Z.array=ae,z.max.array[2]>0&&z.min.array[2]<0&&(z.max.array[2]=-1e-20),z.applyProjection(Z);var ce=z.min.array,oe=z.max.array;if(oe[0]<-1||ce[0]>1||oe[1]<-1||ce[1]>1||oe[2]<-1||ce[2]>1)return!0}return!1}}(),disposeScene:function(z){this.disposeNode(z,!0,!0),z.dispose()},disposeNode:function(z,Z,Q){z.getParent()&&z.getParent().remove(z),z.traverse(function(te){te.geometry&&Z&&te.geometry.dispose(this),te.dispose&&te.dispose(this)},this)},disposeGeometry:function(z){z.dispose(this)},disposeTexture:function(z){z.dispose(this)},disposeFrameBuffer:function(z){z.dispose(this)},dispose:function(){},screenToNDC:function(z,Z,Q){Q||(Q=new m.a),Z=this._height-Z;var te=this.viewport,$=Q.array;return $[0]=(z-te.x)/te.width,$[0]=$[0]*2-1,$[1]=(Z-te.y)/te.height,$[1]=$[1]*2-1,Q}});k.opaqueSortCompare=k.prototype.opaqueSortCompare=function(z,Z){return z.renderOrder===Z.renderOrder?z.__program===Z.__program?z.material===Z.material?z.geometry.__uid__-Z.geometry.__uid__:z.material.__uid__-Z.material.__uid__:z.__program&&Z.__program?z.__program.__uid__-Z.__program.__uid__:0:z.renderOrder-Z.renderOrder},k.transparentSortCompare=k.prototype.transparentSortCompare=function(z,Z){return z.renderOrder===Z.renderOrder?z.__depth===Z.__depth?z.__program===Z.__program?z.material===Z.material?z.geometry.__uid__-Z.geometry.__uid__:z.material.__uid__-Z.material.__uid__:z.__program&&Z.__program?z.__program.__uid__-Z.__program.__uid__:0:z.__depth-Z.__depth:z.renderOrder-Z.renderOrder};var W={IDENTITY:c(),WORLD:c(),VIEW:c(),PROJECTION:c(),WORLDVIEW:c(),VIEWPROJECTION:c(),WORLDVIEWPROJECTION:c(),WORLDINVERSE:c(),VIEWINVERSE:c(),PROJECTIONINVERSE:c(),WORLDVIEWINVERSE:c(),VIEWPROJECTIONINVERSE:c(),WORLDVIEWPROJECTIONINVERSE:c(),WORLDTRANSPOSE:c(),VIEWTRANSPOSE:c(),PROJECTIONTRANSPOSE:c(),WORLDVIEWTRANSPOSE:c(),VIEWPROJECTIONTRANSPOSE:c(),WORLDVIEWPROJECTIONTRANSPOSE:c(),WORLDINVERSETRANSPOSE:c(),VIEWINVERSETRANSPOSE:c(),PROJECTIONINVERSETRANSPOSE:c(),WORLDVIEWINVERSETRANSPOSE:c(),VIEWPROJECTIONINVERSETRANSPOSE:c(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:c()};k.COLOR_BUFFER_BIT=x.a.COLOR_BUFFER_BIT,k.DEPTH_BUFFER_BIT=x.a.DEPTH_BUFFER_BIT,k.STENCIL_BUFFER_BIT=x.a.STENCIL_BUFFER_BIT,G.a=k},function(ee,G,_){"use strict";function F(x,y){this.action=x,this.context=y}var w={trigger:function(x){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(x)){var y=this.__handlers__[x],b=y.length,E=-1,g=arguments;switch(g.length){case 1:for(;++E<b;)y[E].action.call(y[E].context);return;case 2:for(;++E<b;)y[E].action.call(y[E].context,g[1]);return;case 3:for(;++E<b;)y[E].action.call(y[E].context,g[1],g[2]);return;case 4:for(;++E<b;)y[E].action.call(y[E].context,g[1],g[2],g[3]);return;case 5:for(;++E<b;)y[E].action.call(y[E].context,g[1],g[2],g[3],g[4]);return;default:for(;++E<b;)y[E].action.apply(y[E].context,Array.prototype.slice.call(g,1));return}}},on:function(x,y,b){if(!(!x||!y)){var E=this.__handlers__||(this.__handlers__={});if(!E[x])E[x]=[];else if(this.has(x,y))return;var g=new F(y,b||this);return E[x].push(g),this}},once:function(x,y,b){if(!x||!y)return;var E=this;function g(){E.off(x,g),y.apply(this,arguments)}return this.on(x,g,b)},before:function(x,y,b){if(!(!x||!y))return x="before"+x,this.on(x,y,b)},after:function(x,y,b){if(!(!x||!y))return x="after"+x,this.on(x,y,b)},success:function(x,y){return this.once("success",x,y)},error:function(x,y){return this.once("error",x,y)},off:function(x,y){var b=this.__handlers__||(this.__handlers__={});if(!y){b[x]=[];return}if(b[x]){for(var E=b[x],g=[],m=0;m<E.length;m++)y&&E[m].action!==y&&g.push(E[m]);b[x]=g}return this},has:function(x,y){var b=this.__handlers__;if(!b||!b[x])return!1;for(var E=b[x],g=0;g<E.length;g++)if(E[g].action===y)return!0}};G.a=w},function(ee,G,_){"use strict";var F="__dt__",w=function(){this._contextId=0,this._caches=[],this._context={}};w.prototype={use:function(x,y){var b=this._caches;b[x]||(b[x]={},y&&(b[x]=y())),this._contextId=x,this._context=b[x]},put:function(x,y){this._context[x]=y},get:function(x){return this._context[x]},dirty:function(x){x=x||"";var y=F+x;this.put(y,!0)},dirtyAll:function(x){x=x||"";for(var y=F+x,b=this._caches,E=0;E<b.length;E++)b[E]&&(b[E][y]=!0)},fresh:function(x){x=x||"";var y=F+x;this.put(y,!1)},freshAll:function(x){x=x||"";for(var y=F+x,b=this._caches,E=0;E<b.length;E++)b[E]&&(b[E][y]=!1)},isDirty:function(x){x=x||"";var y=F+x,b=this._context;return!b.hasOwnProperty(y)||b[y]===!0},deleteContext:function(x){delete this._caches[x],this._context={}},delete:function(x){delete this._context[x]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(x,y){var b=Object.keys(this._caches);b.forEach(function(E){x&&x.call(y,E)})},miss:function(x){return!this._context.hasOwnProperty(x)}},w.prototype.constructor=w,G.a=w},function(ee,G,_){"use strict";var F=_(4),w=_(1),x=_.n(w),y=x.a.vec3,b=1e-5,E=function(g,m){this.origin=g||new F.a,this.direction=m||new F.a};E.prototype={constructor:E,intersectPlane:function(g,m){var C=g.normal.array,d=g.distance,v=this.origin.array,A=this.direction.array,T=y.dot(C,A);if(T===0)return null;m||(m=new F.a);var O=(y.dot(C,v)-d)/T;return y.scaleAndAdd(m.array,v,A,-O),m._dirty=!0,m},mirrorAgainstPlane:function(g){var m=y.dot(g.normal.array,this.direction.array);y.scaleAndAdd(this.direction.array,this.direction.array,g.normal.array,-m*2),this.direction._dirty=!0},distanceToPoint:function(){var g=y.create();return function(m){y.sub(g,m,this.origin.array);var C=y.dot(g,this.direction.array);if(C<0)return y.distance(this.origin.array,m);var d=y.lenSquared(g);return Math.sqrt(d-C*C)}}(),intersectSphere:function(){var g=y.create();return function(m,C,d){var v=this.origin.array,A=this.direction.array;m=m.array,y.sub(g,m,v);var T=y.dot(g,A),O=y.squaredLength(g),P=O-T*T,L=C*C;if(!(P>L)){var c=Math.sqrt(L-P),f=T-c,D=T+c;return d||(d=new F.a),f<0?D<0?null:(y.scaleAndAdd(d.array,v,A,D),d):(y.scaleAndAdd(d.array,v,A,f),d)}}}(),intersectBoundingBox:function(g,m){var C=this.direction.array,d=this.origin.array,v=g.min.array,A=g.max.array,T=1/C[0],O=1/C[1],P=1/C[2],L,c,f,D,R,k;if(T>=0?(L=(v[0]-d[0])*T,c=(A[0]-d[0])*T):(c=(v[0]-d[0])*T,L=(A[0]-d[0])*T),O>=0?(f=(v[1]-d[1])*O,D=(A[1]-d[1])*O):(D=(v[1]-d[1])*O,f=(A[1]-d[1])*O),L>D||f>c||((f>L||L!==L)&&(L=f),(D<c||c!==c)&&(c=D),P>=0?(R=(v[2]-d[2])*P,k=(A[2]-d[2])*P):(k=(v[2]-d[2])*P,R=(A[2]-d[2])*P),L>k||R>c)||((R>L||L!==L)&&(L=R),(k<c||c!==c)&&(c=k),c<0))return null;var W=L>=0?L:c;return m||(m=new F.a),y.scaleAndAdd(m.array,d,C,W),m},intersectTriangle:function(){var g=y.create(),m=y.create(),C=y.create(),d=y.create();return function(v,A,T,O,P,L){var c=this.direction.array,f=this.origin.array;v=v.array,A=A.array,T=T.array,y.sub(g,A,v),y.sub(m,T,v),y.cross(d,m,c);var D=y.dot(g,d);if(O){if(D>-b)return null}else if(D>-b&&D<b)return null;y.sub(C,f,v);var R=y.dot(d,C)/D;if(R<0||R>1)return null;y.cross(d,g,C);var k=y.dot(c,d)/D;if(k<0||k>1||R+k>1)return null;y.cross(d,g,m);var W=-y.dot(C,d)/D;return W<0?null:(P||(P=new F.a),L&&F.a.set(L,1-R-k,R,k),y.scaleAndAdd(P.array,f,c,W),P)}}(),applyTransform:function(g){F.a.add(this.direction,this.direction,this.origin),F.a.transformMat4(this.origin,this.origin,g),F.a.transformMat4(this.direction,this.direction,g),F.a.sub(this.direction,this.direction,this.origin),F.a.normalize(this.direction,this.direction)},copy:function(g){F.a.copy(this.origin,g.origin),F.a.copy(this.direction,g.direction)},clone:function(){var g=new E;return g.copy(this),g}},G.a=E},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.quat,y=function(g,m,C,d){g=g||0,m=m||0,C=C||0,d=d===void 0?1:d,this.array=x.fromValues(g,m,C,d),this._dirty=!0};y.prototype={constructor:y,add:function(g){return x.add(this.array,this.array,g.array),this._dirty=!0,this},calculateW:function(){return x.calculateW(this.array,this.array),this._dirty=!0,this},set:function(g,m,C,d){return this.array[0]=g,this.array[1]=m,this.array[2]=C,this.array[3]=d,this._dirty=!0,this},setArray:function(g){return this.array[0]=g[0],this.array[1]=g[1],this.array[2]=g[2],this.array[3]=g[3],this._dirty=!0,this},clone:function(){return new y(this.x,this.y,this.z,this.w)},conjugate:function(){return x.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(g){return x.copy(this.array,g.array),this._dirty=!0,this},dot:function(g){return x.dot(this.array,g.array)},fromMat3:function(g){return x.fromMat3(this.array,g.array),this._dirty=!0,this},fromMat4:function(){var g=w.a.mat3,m=g.create();return function(C){return g.fromMat4(m,C.array),g.transpose(m,m),x.fromMat3(this.array,m),this._dirty=!0,this}}(),identity:function(){return x.identity(this.array),this._dirty=!0,this},invert:function(){return x.invert(this.array,this.array),this._dirty=!0,this},len:function(){return x.len(this.array)},length:function(){return x.length(this.array)},lerp:function(g,m,C){return x.lerp(this.array,g.array,m.array,C),this._dirty=!0,this},mul:function(g){return x.mul(this.array,this.array,g.array),this._dirty=!0,this},mulLeft:function(g){return x.multiply(this.array,g.array,this.array),this._dirty=!0,this},multiply:function(g){return x.multiply(this.array,this.array,g.array),this._dirty=!0,this},multiplyLeft:function(g){return x.multiply(this.array,g.array,this.array),this._dirty=!0,this},normalize:function(){return x.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(g){return x.rotateX(this.array,this.array,g),this._dirty=!0,this},rotateY:function(g){return x.rotateY(this.array,this.array,g),this._dirty=!0,this},rotateZ:function(g){return x.rotateZ(this.array,this.array,g),this._dirty=!0,this},rotationTo:function(g,m){return x.rotationTo(this.array,g.array,m.array),this._dirty=!0,this},setAxes:function(g,m,C){return x.setAxes(this.array,g.array,m.array,C.array),this._dirty=!0,this},setAxisAngle:function(g,m){return x.setAxisAngle(this.array,g.array,m),this._dirty=!0,this},slerp:function(g,m,C){return x.slerp(this.array,g.array,m.array,C),this._dirty=!0,this},sqrLen:function(){return x.sqrLen(this.array)},squaredLength:function(){return x.squaredLength(this.array)},fromEuler:function(g,m){return y.fromEuler(this,g,m)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var b=Object.defineProperty;if(b){var E=y.prototype;b(E,"x",{get:function(){return this.array[0]},set:function(g){this.array[0]=g,this._dirty=!0}}),b(E,"y",{get:function(){return this.array[1]},set:function(g){this.array[1]=g,this._dirty=!0}}),b(E,"z",{get:function(){return this.array[2]},set:function(g){this.array[2]=g,this._dirty=!0}}),b(E,"w",{get:function(){return this.array[3]},set:function(g){this.array[3]=g,this._dirty=!0}})}y.add=function(g,m,C){return x.add(g.array,m.array,C.array),g._dirty=!0,g},y.set=function(g,m,C,d,v){x.set(g.array,m,C,d,v),g._dirty=!0},y.copy=function(g,m){return x.copy(g.array,m.array),g._dirty=!0,g},y.calculateW=function(g,m){return x.calculateW(g.array,m.array),g._dirty=!0,g},y.conjugate=function(g,m){return x.conjugate(g.array,m.array),g._dirty=!0,g},y.identity=function(g){return x.identity(g.array),g._dirty=!0,g},y.invert=function(g,m){return x.invert(g.array,m.array),g._dirty=!0,g},y.dot=function(g,m){return x.dot(g.array,m.array)},y.len=function(g){return x.length(g.array)},y.lerp=function(g,m,C,d){return x.lerp(g.array,m.array,C.array,d),g._dirty=!0,g},y.slerp=function(g,m,C,d){return x.slerp(g.array,m.array,C.array,d),g._dirty=!0,g},y.mul=function(g,m,C){return x.multiply(g.array,m.array,C.array),g._dirty=!0,g},y.multiply=y.mul,y.rotateX=function(g,m,C){return x.rotateX(g.array,m.array,C),g._dirty=!0,g},y.rotateY=function(g,m,C){return x.rotateY(g.array,m.array,C),g._dirty=!0,g},y.rotateZ=function(g,m,C){return x.rotateZ(g.array,m.array,C),g._dirty=!0,g},y.setAxisAngle=function(g,m,C){return x.setAxisAngle(g.array,m.array,C),g._dirty=!0,g},y.normalize=function(g,m){return x.normalize(g.array,m.array),g._dirty=!0,g},y.sqrLen=function(g){return x.sqrLen(g.array)},y.squaredLength=y.sqrLen,y.fromMat3=function(g,m){return x.fromMat3(g.array,m.array),g._dirty=!0,g},y.setAxes=function(g,m,C,d){return x.setAxes(g.array,m.array,C.array,d.array),g._dirty=!0,g},y.rotationTo=function(g,m,C){return x.rotationTo(g.array,m.array,C.array),g._dirty=!0,g},y.fromEuler=function(g,m,c){g._dirty=!0,m=m.array;var d=g.array,v=Math.cos(m[0]/2),A=Math.cos(m[1]/2),T=Math.cos(m[2]/2),O=Math.sin(m[0]/2),P=Math.sin(m[1]/2),L=Math.sin(m[2]/2),c=(c||"XYZ").toUpperCase();switch(c){case"XYZ":d[0]=O*A*T+v*P*L,d[1]=v*P*T-O*A*L,d[2]=v*A*L+O*P*T,d[3]=v*A*T-O*P*L;break;case"YXZ":d[0]=O*A*T+v*P*L,d[1]=v*P*T-O*A*L,d[2]=v*A*L-O*P*T,d[3]=v*A*T+O*P*L;break;case"ZXY":d[0]=O*A*T-v*P*L,d[1]=v*P*T+O*A*L,d[2]=v*A*L+O*P*T,d[3]=v*A*T-O*P*L;break;case"ZYX":d[0]=O*A*T-v*P*L,d[1]=v*P*T+O*A*L,d[2]=v*A*L-O*P*T,d[3]=v*A*T+O*P*L;break;case"YZX":d[0]=O*A*T+v*P*L,d[1]=v*P*T+O*A*L,d[2]=v*A*L-O*P*T,d[3]=v*A*T-O*P*L;break;case"XZY":d[0]=O*A*T-v*P*L,d[1]=v*P*T-O*A*L,d[2]=v*A*L+O*P*T,d[3]=v*A*T+O*P*L;break}},G.a=y},function(ee,G,_){"use strict";var F=_(28),w=_(9),x=_(52),y=_(49),b=_(1),E=_.n(b),g=E.a.vec3,m=E.a.vec4,C=F.a.extend(function(){return{projectionMatrix:new w.a,invProjectionMatrix:new w.a,viewMatrix:new w.a,frustum:new x.a}},function(){this.update(!0)},{update:function(d){F.a.prototype.update.call(this,d),w.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),w.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(d){w.a.copy(this.viewMatrix,d),w.a.invert(this.worldTransform,d),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(d){w.a.copy(this.projectionMatrix,d),w.a.invert(this.invProjectionMatrix,d),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var d=m.create();return function(v,A){var T=A!==void 0?A:new y.a,O=v.array[0],P=v.array[1];return m.set(d,O,P,-1,1),m.transformMat4(d,d,this.invProjectionMatrix.array),m.transformMat4(d,d,this.worldTransform.array),g.scale(T.origin.array,d,1/d[3]),m.set(d,O,P,1,1),m.transformMat4(d,d,this.invProjectionMatrix.array),m.transformMat4(d,d,this.worldTransform.array),g.scale(d,d,1/d[3]),g.sub(T.direction.array,d,T.origin.array),g.normalize(T.direction.array,T.direction.array),T.direction._dirty=!0,T.origin._dirty=!0,T}}()});G.a=C},function(ee,G,_){"use strict";var F=_(4),w=_(15),x=_(67),y=_(1),b=_.n(y),E=b.a.vec3,g=E.set,m=E.copy,C=E.transformMat4,d=Math.min,v=Math.max,A=function(){this.planes=[];for(var T=0;T<6;T++)this.planes.push(new x.a);this.boundingBox=new w.a,this.vertices=[];for(var T=0;T<8;T++)this.vertices[T]=E.fromValues(0,0,0)};A.prototype={setFromProjection:function(T){var O=this.planes,P=T.array,L=P[0],c=P[1],f=P[2],D=P[3],R=P[4],k=P[5],W=P[6],z=P[7],Z=P[8],Q=P[9],te=P[10],$=P[11],ie=P[12],ae=P[13],re=P[14],ce=P[15];g(O[0].normal.array,D-L,z-R,$-Z),O[0].distance=-(ce-ie),O[0].normalize(),g(O[1].normal.array,D+L,z+R,$+Z),O[1].distance=-(ce+ie),O[1].normalize(),g(O[2].normal.array,D+c,z+k,$+Q),O[2].distance=-(ce+ae),O[2].normalize(),g(O[3].normal.array,D-c,z-k,$-Q),O[3].distance=-(ce-ae),O[3].normalize(),g(O[4].normal.array,D-f,z-W,$-te),O[4].distance=-(ce-re),O[4].normalize(),g(O[5].normal.array,D+f,z+W,$+te),O[5].distance=-(ce+re),O[5].normalize();var oe=this.boundingBox;if(ce===0){var he=k/L,se=-re/(te-1),pe=-re/(te+1),me=-pe/k,ge=-se/k;oe.min.set(-me*he,-me,pe),oe.max.set(me*he,me,se);var Ee=this.vertices;g(Ee[0],-me*he,-me,pe),g(Ee[1],-me*he,me,pe),g(Ee[2],me*he,-me,pe),g(Ee[3],me*he,me,pe),g(Ee[4],-ge*he,-ge,se),g(Ee[5],-ge*he,ge,se),g(Ee[6],ge*he,-ge,se),g(Ee[7],ge*he,ge,se)}else{var Ae=(-1-ie)/L,Fe=(1-ie)/L,Ue=(1-ae)/k,nt=(-1-ae)/k,rt=(-1-re)/te,qe=(1-re)/te;oe.min.set(Math.min(Ae,Fe),Math.min(nt,Ue),Math.min(qe,rt)),oe.max.set(Math.max(Fe,Ae),Math.max(Ue,nt),Math.max(rt,qe));var dt=oe.min.array,yt=oe.max.array,Ee=this.vertices;g(Ee[0],dt[0],dt[1],dt[2]),g(Ee[1],dt[0],yt[1],dt[2]),g(Ee[2],yt[0],dt[1],dt[2]),g(Ee[3],yt[0],yt[1],dt[2]),g(Ee[4],dt[0],dt[1],yt[2]),g(Ee[5],dt[0],yt[1],yt[2]),g(Ee[6],yt[0],dt[1],yt[2]),g(Ee[7],yt[0],yt[1],yt[2])}},getTransformedBoundingBox:function(){var T=E.create();return function(O,P){var L=this.vertices,c=P.array,f=O.min,D=O.max,R=f.array,k=D.array,W=L[0];C(T,W,c),m(R,T),m(k,T);for(var z=1;z<8;z++)W=L[z],C(T,W,c),R[0]=d(T[0],R[0]),R[1]=d(T[1],R[1]),R[2]=d(T[2],R[2]),k[0]=v(T[0],k[0]),k[1]=v(T[1],k[1]),k[2]=v(T[2],k[2]);return f._dirty=!0,D._dirty=!0,O}}()},G.a=A},function(ee,G){var _=function(){this.head=null,this.tail=null,this._len=0},F=_.prototype;F.insert=function(E){var g=new w(E);return this.insertEntry(g),g},F.insertEntry=function(E){this.head?(this.tail.next=E,E.prev=this.tail,E.next=null,this.tail=E):this.head=this.tail=E,this._len++},F.remove=function(E){var g=E.prev,m=E.next;g?g.next=m:this.head=m,m?m.prev=g:this.tail=g,E.next=E.prev=null,this._len--},F.len=function(){return this._len},F.clear=function(){this.head=this.tail=null,this._len=0};var w=function(E){this.value=E,this.next,this.prev},x=function(E){this._list=new _,this._map={},this._maxSize=E||10,this._lastRemovedEntry=null},y=x.prototype;y.put=function(E,g){var m=this._list,C=this._map,d=null;if(C[E]==null){var v=m.len(),A=this._lastRemovedEntry;if(v>=this._maxSize&&v>0){var T=m.head;m.remove(T),delete C[T.key],d=T.value,this._lastRemovedEntry=T}A?A.value=g:A=new w(g),A.key=E,m.insertEntry(A),C[E]=A}return d},y.get=function(E){var g=this._map[E],m=this._list;if(g!=null)return g!==m.tail&&(m.remove(g),m.insertEntry(g)),g.value},y.clear=function(){this._list.clear(),this._map={}};var b=x;ee.exports=b},function(ee,G,_){"use strict";var F=_(5),w=_(25),x=_(102),y=_(55),b=_(56),E=_(29),g=_(104),m=_(105),C={loadTexture:function(d,v,A,T){var O;if(typeof v=="function"?(A=v,T=A,v={}):v=v||{},typeof d=="string"){if(d.match(/.hdr$/)||v.fileType==="hdr")return O=new F.a({width:0,height:0,sRGB:!1}),C._fetchTexture(d,function(P){m.a.parseRGBE(P,O,v.exposure),O.dirty(),A&&A(O)},T),O;d.match(/.dds$/)||v.fileType==="dds"?(O=new F.a({width:0,height:0}),C._fetchTexture(d,function(P){g.a.parse(P,O),O.dirty(),A&&A(O)},T)):(O=new F.a,O.load(d),O.success(A),O.error(T))}else if(typeof d=="object"&&typeof d.px!="undefined"){var O=new w.a;O.load(d),O.success(A),O.error(T)}return O},loadPanorama:function(d,v,A,T,O,P){var L=this;typeof T=="function"?(O=T,P=O,T={}):T=T||{},C.loadTexture(v,T,function(c){c.flipY=T.flipY||!1,L.panoramaToCubeMap(d,c,A,T),c.dispose(d),O&&O(A)},P)},panoramaToCubeMap:function(d,v,A,T){var O=new y.a,P=new b.a({scene:new E.a});return P.material.set("diffuseMap",v),T=T||{},T.encodeRGBM&&P.material.define("fragment","RGBM_ENCODE"),A.sRGB=v.sRGB,O.texture=A,O.render(d,P.scene),O.texture=null,O.dispose(d),A},heightToNormal:function(d,v){var A=document.createElement("canvas"),T=A.width=d.width,O=A.height=d.height,P=A.getContext("2d");P.drawImage(d,0,0,T,O),v=v||!1;for(var L=P.getImageData(0,0,T,O),c=P.createImageData(T,O),f=0;f<L.data.length;f+=4){if(v){var D=L.data[f],R=L.data[f+1],k=L.data[f+2],W=Math.abs(D-R)+Math.abs(R-k);if(W>20)return console.warn("Given image is not a height map"),d}var z,Z,Q,te;f%(T*4)===0?(z=L.data[f],Q=L.data[f+4]):f%(T*4)===(T-1)*4?(z=L.data[f-4],Q=L.data[f]):(z=L.data[f-4],Q=L.data[f+4]),f<T*4?(Z=L.data[f],te=L.data[f+T*4]):f>T*(O-1)*4?(Z=L.data[f-T*4],te=L.data[f]):(Z=L.data[f-T*4],te=L.data[f+T*4]),c.data[f]=z-Q+127,c.data[f+1]=Z-te+127,c.data[f+2]=255,c.data[f+3]=255}return P.putImageData(c,0,0),A},isHeightImage:function(d,v,A){if(!d||!d.width||!d.height)return!1;var T=document.createElement("canvas"),O=T.getContext("2d"),P=v||32;A=A||20,T.width=T.height=P,O.drawImage(d,0,0,P,P);for(var L=O.getImageData(0,0,P,P),c=0;c<L.data.length;c+=4){var f=L.data[c],D=L.data[c+1],R=L.data[c+2],k=Math.abs(f-D)+Math.abs(D-R);if(k>A)return!1}return!0},_fetchTexture:function(d,v,A){x.a.get({url:d,responseType:"arraybuffer",onload:v,onerror:A})},createChessboard:function(d,v,A,T){d=d||512,v=v||64,A=A||"black",T=T||"white";var O=Math.ceil(d/v),P=document.createElement("canvas");P.width=d,P.height=d;var L=P.getContext("2d");L.fillStyle=T,L.fillRect(0,0,d,d),L.fillStyle=A;for(var c=0;c<O;c++)for(var f=0;f<O;f++){var D=f%2?c%2:c%2-1;D&&L.fillRect(c*v,f*v,v,v)}var R=new F.a({image:P,anisotropic:8});return R},createBlank:function(d){var v=document.createElement("canvas");v.width=1,v.height=1;var A=v.getContext("2d");A.fillStyle=d,A.fillRect(0,0,1,1);var T=new F.a({image:v});return T}};G.a=C},function(ee,G,_){"use strict";var F=_(8),w=_(4),x=_(36),y=_(10),b=["px","nx","py","ny","pz","nz"],E=F.a.extend(function(){var g={position:new w.a,far:1e3,near:.1,texture:null,shadowMapPass:null},m=g._cameras={px:new x.a({fov:90}),nx:new x.a({fov:90}),py:new x.a({fov:90}),ny:new x.a({fov:90}),pz:new x.a({fov:90}),nz:new x.a({fov:90})};return m.px.lookAt(w.a.POSITIVE_X,w.a.NEGATIVE_Y),m.nx.lookAt(w.a.NEGATIVE_X,w.a.NEGATIVE_Y),m.py.lookAt(w.a.POSITIVE_Y,w.a.POSITIVE_Z),m.ny.lookAt(w.a.NEGATIVE_Y,w.a.NEGATIVE_Z),m.pz.lookAt(w.a.POSITIVE_Z,w.a.NEGATIVE_Y),m.nz.lookAt(w.a.NEGATIVE_Z,w.a.NEGATIVE_Y),g._frameBuffer=new y.a,g},{getCamera:function(g){return this._cameras[g]},render:function(g,m,C){var d=g.gl;C||m.update();for(var v=this.texture.width,A=2*Math.atan(v/(v-.5))/Math.PI*180,T=0;T<6;T++){var O=b[T],P=this._cameras[O];if(w.a.copy(P.position,this.position),P.far=this.far,P.near=this.near,P.fov=A,this.shadowMapPass){P.update();var L=m.getBoundingBox();L.applyTransform(P.viewMatrix),m.viewBoundingBoxLastFrame.copy(L),this.shadowMapPass.render(g,m,P,!0)}this._frameBuffer.attach(this.texture,d.COLOR_ATTACHMENT0,d.TEXTURE_CUBE_MAP_POSITIVE_X+T),this._frameBuffer.bind(g),g.render(m,P,!0),this._frameBuffer.unbind(g)}},dispose:function(g){this._frameBuffer.dispose(g)}});G.a=E},function(ee,G,_){"use strict";var F=_(24),w=_(68),x=_(7),y=_(17),b=_(103);x.a.import(b.a);var E=F.a.extend(function(){var g=new x.a(x.a.source("clay.basic.vertex"),x.a.source("clay.basic.fragment")),m=new y.a({shader:g,depthMask:!1});return m.enableTexture("diffuseMap"),{scene:null,geometry:new w.a({widthSegments:30,heightSegments:30}),material:m,environmentMap:null,culling:!1}},function(){var g=this.scene;g&&this.attachScene(g),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(g){this.scene&&this.detachScene(),g.skydome=this,this.scene=g,g.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(g,m,C){this.position.copy(C.getWorldPosition()),this.update(),g.renderPass([this],C)},setEnvironmentMap:function(g){this.material.set("diffuseMap",g)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(g){this.detachScene(),this.geometry.dispose(g)}});G.a=E},function(ee,G,_){"use strict";var F=_(24),w=_(69),x=_(7),y=_(17),b=_(110);x.a.import(b.a);var E=F.a.extend(function(){var g=new x.a({vertex:x.a.source("clay.skybox.vertex"),fragment:x.a.source("clay.skybox.fragment")}),m=new y.a({shader:g,depthMask:!1});return{scene:null,geometry:new w.a,material:m,environmentMap:null,culling:!1}},function(){var g=this.scene;g&&this.attachScene(g),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(g){this.scene&&this.detachScene(),g.skybox=this,this.scene=g,g.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(g){this.detachScene(),this.geometry.dispose(g)},setEnvironmentMap:function(g){this.material.set("environmentMap",g)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(g,m,C){this.renderSkybox(g,C)},renderSkybox:function(g,m){this.position.copy(m.getWorldPosition()),this.update(),g.gl.disable(g.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),g.renderPass([this],m)}});G.a=E},function(ee,G,_){"use strict";var F=_(2),w=_(143),x=_(144);F.a.Shader.import(x.a),G.a=F.a.Mesh.extend(function(){var y=new w.a({dynamic:!0}),b=new F.a.Material({shader:F.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:y,material:b,culling:!1,castShadow:!1,ignorePicking:!0}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(186),b=_(22),E=_(3),g=_(1),m=_.n(g),C=_(60),d=_(61),v=_(40),A=m.a.vec3;x.a.Shader.import(v.a);function T(O){this.rootNode=new x.a.Node,this._triangulationResults={},this._shadersMap=x.a.COMMON_SHADERS.reduce(function(L,c){return L[c]=x.a.createShader("ecgl."+c),L},{}),this._linesShader=x.a.createShader("ecgl.meshLines3D");var P={};x.a.COMMON_SHADERS.forEach(function(L){P[L]=new x.a.Material({shader:x.a.createShader("ecgl."+L)})}),this._groundMaterials=P,this._groundMesh=new x.a.Mesh({geometry:new x.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new d.a(512,512,O),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=O}T.prototype={constructor:T,extrudeY:!0,update:function(O,P,L,c,f){var D=O.getData();c==null&&(c=0),f==null&&(f=D.count()),this._startIndex=c,this._endIndex=f-1,this._triangulation(O,c,f);var R=this._getShader(O.get("shading"));this._prepareMesh(O,R,L,c,f),this.rootNode.updateWorldTransform(),this._updateRegionMesh(O,L,c,f);var k=O.coordinateSystem;k.type==="geo3D"&&this._updateGroundPlane(O,k,L);var W=this;this._labelsBuilder.updateData(D,c,f),this._labelsBuilder.getLabelPosition=function(z,Z,Q){var te=D.getName(z),$,ie=Q;if(k.type==="geo3D"){var ae=k.getRegion(te);return $=ae.center,k.dataToPoint([$[0],$[1],ie])}else var re=W._triangulationResults[z-W._startIndex],$=W.extrudeY?[(re.max[0]+re.min[0])/2,re.max[1]+ie,(re.max[2]+re.min[2])/2]:[(re.max[0]+re.min[0])/2,(re.max[1]+re.min[1])/2,re.max[2]+ie]},this._data=D,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(O),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var O=this;function P(){var f=new x.a.Mesh({name:"Polygon",material:new x.a.Material({shader:O._shadersMap.lambert}),culling:!1,geometry:new x.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return w.a.util.extend(f.geometry,C.a),f}var L=P(),c=new x.a.Mesh({material:new x.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new b.a({useNativeLine:!1})});this.rootNode.add(L),this.rootNode.add(c),L.material.define("both","VERTEX_COLOR"),L.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=L,this._linesMesh=c,this.rootNode.add(this._groundMesh)},_getShader:function(O){var P=this._shadersMap[O];return P||(console.warn("Unkown shading "+O),P=this._shadersMap.lambert),P.__shading=O,P},_prepareMesh:function(O,P,L,c,f){for(var D=0,R=0,k=0,W=0,z=c;z<f;z++){var Z=this._getRegionPolygonInfo(z),Q=this._getRegionLinesInfo(z,O,this._linesMesh.geometry);D+=Z.vertexCount,R+=Z.triangleCount,k+=Q.vertexCount,W+=Q.triangleCount}var te=this._polygonMesh,$=te.geometry;["position","normal","texcoord0","color"].forEach(function(ie){$.attributes[ie].init(D)}),$.indices=D>65535?new Uint32Array(R*3):new Uint16Array(R*3),te.material.shader!==P&&te.material.attachShader(P,!0),x.a.setMaterialFromModel(P.__shading,te.material,O,L),k>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(k),this._linesMesh.geometry.setTriangleCount(W)),this._dataIndexOfVertex=new Uint32Array(D),this._vertexRangeOfDataIndex=new Uint32Array((f-c)*2)},_updateRegionMesh:function(O,P,L,c){for(var f=O.getData(),D=0,R=0,k=!1,me=this._polygonMesh,W=this._linesMesh,z=L;z<c;z++){var Z=O.getRegionModel(z),Q=Z.getModel("itemStyle"),te=Q.get("color"),$=E.a.firstNotNull(Q.get("opacity"),1),ie=f.getItemVisual(z,"color",!0);ie!=null&&f.hasValue(z)&&(te=ie),f.setItemVisual(z,"color",te),f.setItemVisual(z,"opacity",$),te=x.a.parseColor(te);var ae=x.a.parseColor(Q.get("borderColor"));te[3]*=$,ae[3]*=$;var re=te[3]<.99;me.material.set("color",[1,1,1,1]),k=k||re;for(var ce=E.a.firstNotNull(Z.get("height",!0),O.get("regionHeight")),oe=this._updatePolygonGeometry(O,me.geometry,z,ce,D,R,te),he=D;he<oe.vertexOffset;he++)this._dataIndexOfVertex[he]=z;this._vertexRangeOfDataIndex[(z-L)*2]=D,this._vertexRangeOfDataIndex[(z-L)*2+1]=oe.vertexOffset,D=oe.vertexOffset,R=oe.triangleOffset;var se=Q.get("borderWidth"),pe=se>0;pe&&(se*=P.getDevicePixelRatio(),this._updateLinesGeometry(W.geometry,O,z,ce,se,O.coordinateSystem.transform)),W.invisible=!pe,W.material.set({color:ae})}var me=this._polygonMesh;me.material.transparent=k,me.material.depthMask=!k,me.geometry.updateBoundingBox(),me.material.get("normalMap")&&me.geometry.generateTangents(),me.seriesIndex=O.seriesIndex,me.on("mousemove",this._onmousemove,this),me.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(O){var P=O.getModel("debug.wireframe");if(P.get("show")){var L=x.a.parseColor(P.get("lineStyle.color")||"rgba(0,0,0,0.5)"),c=E.a.firstNotNull(P.get("lineStyle.width"),1),f=this._polygonMesh;f.geometry.generateBarycentric(),f.material.define("both","WIREFRAME_TRIANGLE"),f.material.set("wireframeLineColor",L),f.material.set("wireframeLineWidth",c)}},_onmousemove:function(O){var P=this._dataIndexOfVertex[O.triangle[0]];P==null&&(P=-1),P!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(P)),this._lastHoverDataIndex=P,this._polygonMesh.dataIndex=P},_onmouseover:function(O){if(O.target){var P=O.target.eventData?this._data.indexOfName(O.target.eventData.name):O.target.dataIndex;P!=null&&(this.highlight(P),this._labelsBuilder.updateLabels([P]))}},_onmouseout:function(O){O.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(O,P,L){var c=O.getModel("groundPlane",O);if(this._groundMesh.invisible=!c.get("show",!0),!this._groundMesh.invisible){var f=O.get("shading"),D=this._groundMaterials[f];D||(console.warn("Unkown shading "+f),D=this._groundMaterials.lambert),x.a.setMaterialFromModel(f,D,c,L),D.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=D,this._groundMesh.material.set("color",x.a.parseColor(c.get("color"))),this._groundMesh.scale.set(P.size[0],P.size[2],1)}},_triangulation:function(O,P,L){this._triangulationResults=[];for(var c=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],D=O.coordinateSystem,R=P;R<L;R++){for(var k=[],W=O.getRegionPolygonCoords(R),z=0;z<W.length;z++){var Z=W[z].exterior,Q=W[z].interiors,te=[],$=[];if(!(Z.length<3)){for(var ie=0,ae=0;ae<Z.length;ae++){var re=Z[ae];te[ie++]=re[0],te[ie++]=re[1]}for(var ae=0;ae<Q.length;ae++)if(!(Q[ae].length<3)){for(var ce=te.length/2,oe=0;oe<Q[ae].length;oe++){var re=Q[ae][oe];te.push(re[0]),te.push(re[1])}$.push(ce)}for(var he=Object(y.a)(te,$),se=new Float64Array(te.length/2*3),pe=[],me=[1/0,1/0,1/0],ge=[-1/0,-1/0,-1/0],Ee=0,ae=0;ae<te.length;)A.set(pe,te[ae++],0,te[ae++]),D&&D.transform&&A.transformMat4(pe,pe,D.transform),A.min(me,me,pe),A.max(ge,ge,pe),se[Ee++]=pe[0],se[Ee++]=pe[1],se[Ee++]=pe[2];A.min(c,c,me),A.max(f,f,ge),k.push({points:se,indices:he,min:me,max:ge})}}this._triangulationResults.push(k)}this._geoBoundingBox=[c,f]},_getRegionPolygonInfo:function(O){for(var P=this._triangulationResults[O-this._startIndex],L=0,c=0,f=0;f<P.length;f++)L+=P[f].points.length/3,c+=P[f].indices.length/3;var D=L*2+L*4,R=c*2+L*2;return{vertexCount:D,triangleCount:R}},_updatePolygonGeometry:function(O,P,L,c,f,D,R){var k=O.get("projectUVOnGround"),W=P.attributes.position,z=P.attributes.normal,Z=P.attributes.texcoord0,Q=P.attributes.color,te=this._triangulationResults[L-this._startIndex],$=Q.value&&R,ie=P.indices,ae=this.extrudeY?1:2,re=this.extrudeY?2:1,ce=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],oe=A.mul([],this._geoBoundingBox[0],ce),he=A.mul([],this._geoBoundingBox[1],ce),se=Math.max(he[0]-oe[0],he[2]-oe[2]);function pe(Be,Ve,$e){for(var lt=Be.points,pt=lt.length,xt=[],wt=[],Dt=0;Dt<pt;Dt+=3)xt[0]=lt[Dt],xt[ae]=Ve,xt[re]=lt[Dt+2],wt[0]=(lt[Dt]*ce[0]-oe[0])/se,wt[1]=(lt[Dt+2]*ce[re]-oe[2])/se,W.set(f,xt),$&&Q.set(f,R),Z.set(f++,wt)}function me(Be,Ve,$e){var lt=f;pe(Be,Ve,$e);for(var pt=0;pt<Be.indices.length;pt++)ie[D*3+pt]=Be.indices[pt]+lt;D+=Be.indices.length/3}for(var ge=this.extrudeY?[0,1,0]:[0,0,1],Ee=A.negate([],ge),Ae=0;Ae<te.length;Ae++){var Fe=f,Ue=te[Ae];me(Ue,0,0),me(Ue,c,0);for(var nt=Ue.points.length/3,rt=0;rt<nt;rt++)z.set(Fe+rt,Ee),z.set(Fe+rt+nt,ge);for(var qe=[0,3,1,1,3,2],dt=[[],[],[],[]],yt=[],je=[],at=[],it=[],ht=0,rt=0;rt<nt;rt++){for(var ut=(rt+1)%nt,Mt=(Ue.points[ut*3]-Ue.points[rt*3])*ce[0],Ce=(Ue.points[ut*3+2]-Ue.points[rt*3+2])*ce[re],ot=Math.sqrt(Mt*Mt+Ce*Ce),Pe=0;Pe<4;Pe++){var Ne=Pe===0||Pe===3,We=(Ne?rt:ut)*3;dt[Pe][0]=Ue.points[We],dt[Pe][ae]=Pe>1?c:0,dt[Pe][re]=Ue.points[We+2],W.set(f+Pe,dt[Pe]),k?(it[0]=(Ue.points[We]*ce[0]-oe[0])/se,it[1]=(Ue.points[We+2]*ce[re]-oe[re])/se):(it[0]=(Ne?ht:ht+ot)/se,it[1]=(dt[Pe][ae]*ce[ae]-oe[ae])/se),Z.set(f+Pe,it)}A.sub(yt,dt[1],dt[0]),A.sub(je,dt[3],dt[0]),A.cross(at,yt,je),A.normalize(at,at);for(var Pe=0;Pe<4;Pe++)z.set(f+Pe,at),$&&Q.set(f+Pe,R);for(var Pe=0;Pe<6;Pe++)ie[D*3+Pe]=qe[Pe]+f;f+=4,D+=2,ht+=ot}}return P.dirty(),{vertexOffset:f,triangleOffset:D}},_getRegionLinesInfo:function(O,P,L){var c=0,f=0,D=P.getRegionModel(O),R=D.getModel("itemStyle"),k=R.get("borderWidth");if(k>0){var W=P.getRegionPolygonCoords(O);W.forEach(function(z){var Z=z.exterior,Q=z.interiors;c+=L.getPolylineVertexCount(Z),f+=L.getPolylineTriangleCount(Z);for(var te=0;te<Q.length;te++)c+=L.getPolylineVertexCount(Q[te]),f+=L.getPolylineTriangleCount(Q[te])},this)}return{vertexCount:c,triangleCount:f}},_updateLinesGeometry:function(O,P,L,c,f,D){function R(z){for(var Z=new Float64Array(z.length*3),Q=0,te=[],$=0;$<z.length;$++)te[0]=z[$][0],te[1]=c+.1,te[2]=z[$][1],D&&A.transformMat4(te,te,D),Z[Q++]=te[0],Z[Q++]=te[1],Z[Q++]=te[2];return Z}var k=[1,1,1,1],W=P.getRegionPolygonCoords(L);W.forEach(function(z){var Z=z.exterior,Q=z.interiors;O.addPolyline(R(Z),k,f);for(var te=0;te<Q.length;te++)O.addPolyline(R(Q[te]),k,f)})},highlight:function(O){var P=this._data;if(P){var L=P.getItemModel(O),c=L.getModel("emphasis.itemStyle"),f=c.get("color"),D=E.a.firstNotNull(c.get("opacity"),P.getItemVisual(O,"opacity"),1);if(f==null){var R=P.getItemVisual(O,"color");f=w.a.color.lift(R,-.4)}D==null&&(D=P.getItemVisual(O,"opacity"));var k=x.a.parseColor(f);k[3]*=D,this._setColorOfDataIndex(P,O,k)}},downplay:function(O){var P=this._data;if(P){var L=P.getItemVisual(O,"color"),c=E.a.firstNotNull(P.getItemVisual(O,"opacity"),1),f=x.a.parseColor(L);f[3]*=c,this._setColorOfDataIndex(P,O,f)}},_setColorOfDataIndex:function(O,P,L){if(!(P<this._startIndex&&P>this._endIndex)){P-=this._startIndex;for(var c=this._vertexRangeOfDataIndex[P*2];c<this._vertexRangeOfDataIndex[P*2+1];c++)this._polygonMesh.geometry.attributes.color.set(c,L);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},G.a=T},function(ee,G,_){"use strict";var F=_(81),w=_(1),x=_.n(w),y=x.a.vec3,b=y.create(),E=y.create(),g=y.create();G.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(m,C){var d=this.indices;if(C===0){var v=this.attributes.position,m=m.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new d.constructor(d.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var A=0,T,O=0;O<d.length;){v.get(d[O++],b),v.get(d[O++],E),v.get(d[O++],g);var P=y.sqrDist(b,m),L=y.sqrDist(E,m),c=y.sqrDist(g,m),f=Math.min(P,L);f=Math.min(f,c),O===3?(T=f,f=0):f=f-T,this._triangleZList[A++]=f}}for(var D=this._sortedTriangleIndices,O=0;O<D.length;O++)D[O]=O;if(this.triangleCount<2e4)C===0&&this._simpleSort(!0);else for(var O=0;O<3;O++)this._progressiveQuickSort(C*3+O);for(var R=this._indicesTmp,k=this._triangleZListTmp,W=this._triangleZList,O=0;O<this.triangleCount;O++){var z=D[O]*3,Z=O*3;R[Z++]=d[z++],R[Z++]=d[z++],R[Z]=d[z],k[O]=W[D[O]]}var Q=this._indicesTmp;this._indicesTmp=this.indices,this.indices=Q;var Q=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=Q,this.dirtyIndices()},_simpleSort:function(m){var C=this._triangleZList,d=this._sortedTriangleIndices;function v(A,T){return C[T]-C[A]}m?Array.prototype.sort.call(d,v):F.a.sort(d,v,0,d.length-1)},_progressiveQuickSort:function(m){var C=this._triangleZList,d=this._sortedTriangleIndices;this._quickSort=this._quickSort||new F.a,this._quickSort.step(d,function(v,A){return C[A]-C[v]},m)}}},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(73),y=_(58),b=_(3),E=1,g=2;function m(C,d,v){this._labelsMesh=new y.a,this._labelTextureSurface=new x.a({width:512,height:512,devicePixelRatio:v.getDevicePixelRatio(),onupdate:function(){v.getZr().refresh()}}),this._api=v,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}m.prototype.getLabelPosition=function(C,d,v){return[0,0,0]},m.prototype.getLabelDistance=function(C,d,v){return 0},m.prototype.getMesh=function(){return this._labelsMesh},m.prototype.updateData=function(C,d,v){d==null&&(d=0),v==null&&(v=C.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==v-d)&&(this._labelsVisibilitiesBits=new Uint8Array(v-d));for(var A=["label","show"],T=["emphasis","label","show"],O=d;O<v;O++){var P=C.getItemModel(O),L=P.get(A),c=P.get(T);c==null&&(c=L);var f=(L?E:0)|(c?g:0);this._labelsVisibilitiesBits[O-d]=f}this._start=d,this._end=v,this._data=C},m.prototype.updateLabels=function(C){if(this._data){C=C||[];for(var d=C.length>0,v={},A=0;A<C.length;A++)v[C[A]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var T=["label"],O=["emphasis","label"],P=this._data.hostModel,L=this._data,c=P.getModel(T),f=P.getModel(O,c),D={left:"right",right:"left",top:"center",bottom:"center"},R={left:"middle",right:"middle",top:"bottom",bottom:"top"},k=this._start;k<this._end;k++){var W=!1;d&&v[k]&&(W=!0);var z=this._labelsVisibilitiesBits[k-this._start]&(W?g:E);if(z){var Z=L.getItemModel(k),Q=Z.getModel(W?O:T,W?f:c),te=Q.get("distance")||0,$=Q.get("position"),ie=Q.getModel("textStyle"),ae=this._api.getDevicePixelRatio(),re=P.getFormattedLabel(k,W?"emphasis":"normal");if(re==null||re==="")return;var ce=new w.a.graphic.Text;w.a.graphic.setTextStyle(ce.style,ie,{text:re,textFill:ie.get("color")||L.getItemVisual(k,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:b.a.firstNotNull(ie.get("opacity"),L.getItemVisual(k,"opacity"),1)});var oe=ce.getBoundingRect(),he=1.2;oe.height*=he;var se=this._labelTextureSurface.add(ce),pe=D[$]||"center",me=R[$]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(k,$,te),[oe.width*ae,oe.height*ae],se,pe,me,this.getLabelDistance(k,$,te)*ae)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},G.a=m},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(216),b=_(217),E=_(61),g=_(9),m=_(3),C=20,d=-10;function v(T,O){return T&&O&&T[0]===O[0]&&T[1]===O[1]}function A(T,O){this.rootNode=new x.a.Node,this.is2D=T,this._labelsBuilder=new E.a(256,256,O),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=O,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}A.prototype={constructor:A,highlightOnMouseover:!0,update:function(T,O,P,L,c){var f=this._prevMesh;this._prevMesh=this._mesh,this._mesh=f;var D=T.getData();if(L==null&&(L=0),c==null&&(c=D.count()),this._startDataIndex=L,this._endDataIndex=c-1,!this._mesh){var R=this._prevMesh&&this._prevMesh.material;this._mesh=new b.a({renderOrder:10,frustumCulling:!1}),R&&(this._mesh.material=R)}var R=this._mesh.material,k=this._mesh.geometry,W=k.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var z=this._getSymbolInfo(T,L,c),Z=P.getDevicePixelRatio(),Q=T.getModel("itemStyle").getItemStyle(),te=T.get("large"),$=1;z.maxSize>2?($=this._updateSymbolSprite(T,Q,z,Z),R.enableTexture("sprite")):R.disableTexture("sprite"),W.position.init(c-L);var ie=[];if(te){R.undefine("VERTEX_SIZE"),R.undefine("VERTEX_COLOR");var ae=D.getVisual("color"),re=D.getVisual("opacity");x.a.parseColor(ae,ie),ie[3]*=re,R.set({color:ie,u_Size:z.maxSize*this._sizeScale})}else R.set({color:[1,1,1,1]}),R.define("VERTEX_SIZE"),R.define("VERTEX_COLOR"),W.size.init(c-L),W.color.init(c-L),this._originalOpacity=new Float32Array(c-L);for(var ce=D.getLayout("points"),oe=W.position.value,he=!1,se=0;se<c-L;se++){var pe=se*3,me=se*2;if(this.is2D?(oe[pe]=ce[me],oe[pe+1]=ce[me+1],oe[pe+2]=d):(oe[pe]=ce[pe],oe[pe+1]=ce[pe+1],oe[pe+2]=ce[pe+2]),!te){var ae=D.getItemVisual(se,"color"),re=D.getItemVisual(se,"opacity");x.a.parseColor(ae,ie),ie[3]*=re,W.color.set(se,ie),ie[3]<.99&&(he=!0);var ge=D.getItemVisual(se,"symbolSize");ge=ge instanceof Array?Math.max(ge[0],ge[1]):ge,isNaN(ge)&&(ge=0),W.size.value[se]=ge*$*this._sizeScale,this._originalOpacity[se]=ie[3]}}this._mesh.sizeScale=$,k.updateBoundingBox(),k.dirty(),this._updateMaterial(T,Q);var Ee=T.coordinateSystem;if(Ee&&Ee.viewGL){var Ae=Ee.viewGL.isLinearSpace()?"define":"undefine";R[Ae]("fragment","SRGB_DECODE")}te||this._updateLabelBuilder(T,L,c),this._updateHandler(T,O,P),this._updateAnimation(T),this._api=P},getPointsMesh:function(){return this._mesh},updateLabels:function(T){this._labelsBuilder.updateLabels(T)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(T,O,P,L){P.maxSize=Math.min(P.maxSize*2,200);var c=[];return P.aspect>1?(c[0]=P.maxSize,c[1]=P.maxSize/P.aspect):(c[1]=P.maxSize,c[0]=P.maxSize*P.aspect),c[0]=c[0]||1,c[1]=c[1]||1,(this._symbolType!==P.type||!v(this._symbolSize,c)||this._lineWidth!==O.lineWidth)&&(y.a.createSymbolSprite(P.type,c,{fill:"#fff",lineWidth:O.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(c[0]/2,10)},this._spriteImageCanvas),y.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),C,this._mesh.material.get("sprite").image),this._symbolType=P.type,this._symbolSize=c,this._lineWidth=O.lineWidth),this._spriteImageCanvas.width/P.maxSize*L},_updateMaterial:function(T,O){var P=T.get("blendMode")==="lighter"?x.a.additiveBlend:null,L=this._mesh.material;L.blend=P,L.set("lineWidth",O.lineWidth/C);var c=x.a.parseColor(O.stroke);L.set("strokeColor",c),L.transparent=!0,L.depthMask=!1,L.depthTest=!this.is2D,L.sortVertices=!this.is2D},_updateLabelBuilder:function(T,D,P){var L=T.getData(),c=this._mesh.geometry,f=c.attributes.position.value,D=this._startDataIndex,R=this._mesh.sizeScale;this._labelsBuilder.updateData(L,D,P),this._labelsBuilder.getLabelPosition=function(k,W,z){var Z=(k-D)*3;return[f[Z],f[Z+1],f[Z+2]]},this._labelsBuilder.getLabelDistance=function(k,W,z){var Z=c.attributes.size.get(k-D)/R;return Z/2+z},this._labelsBuilder.updateLabels()},_updateAnimation:function(T){x.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,T)},_updateHandler:function(T,O,P){var L=T.getData(),c=this._mesh,f=this,D=-1,R=T.coordinateSystem&&T.coordinateSystem.type==="cartesian3D",k;R&&(k=T.coordinateSystem.model),c.seriesIndex=T.seriesIndex,c.off("mousemove"),c.off("mouseout"),c.on("mousemove",function(W){var z=W.vertexIndex+f._startDataIndex;z!==D&&(this.highlightOnMouseover&&(this.downplay(L,D),this.highlight(L,z),this._labelsBuilder.updateLabels([z])),R&&P.dispatchAction({type:"grid3DShowAxisPointer",value:[L.get(T.coordDimToDataDim("x")[0],z),L.get(T.coordDimToDataDim("y")[0],z),L.get(T.coordDimToDataDim("z")[0],z)],grid3DIndex:k.componentIndex})),c.dataIndex=z,D=z},this),c.on("mouseout",function(W){var z=W.vertexIndex+f._startDataIndex;this.highlightOnMouseover&&(this.downplay(L,z),this._labelsBuilder.updateLabels()),D=-1,c.dataIndex=-1,R&&P.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:k.componentIndex})},this)},updateLayout:function(T,O,P){var L=T.getData();if(this._mesh){var c=this._mesh.geometry.attributes.position.value,f=L.getLayout("points");if(this.is2D)for(var D=0;D<f.length/2;D++){var R=D*3,k=D*2;c[R]=f[k],c[R+1]=f[k+1],c[R+2]=d}else for(var D=0;D<f.length;D++)c[D]=f[D];this._mesh.geometry.dirty(),P.getZr().refresh()}},updateView:function(T){if(this._mesh){var O=new g.a;g.a.mul(O,T.viewMatrix,this._mesh.worldTransform),g.a.mul(O,T.projectionMatrix,O),this._mesh.updateNDCPosition(O,this.is2D,this._api)}},highlight:function(T,O){if(!(O>this._endDataIndex||O<this._startDataIndex)){var P=T.getItemModel(O),L=P.getModel("emphasis.itemStyle"),c=L.get("color"),f=L.get("opacity");if(c==null){var D=T.getItemVisual(O,"color");c=w.a.color.lift(D,-.4)}f==null&&(f=T.getItemVisual(O,"opacity"));var R=x.a.parseColor(c);R[3]*=f,this._mesh.geometry.attributes.color.set(O-this._startDataIndex,R),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(T,O){if(!(O>this._endDataIndex||O<this._startDataIndex)){var P=T.getItemVisual(O,"color"),L=T.getItemVisual(O,"opacity"),c=x.a.parseColor(P);c[3]*=L,this._mesh.geometry.attributes.color.set(O-this._startDataIndex,c),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(T){if(this._originalOpacity){for(var O=this._mesh.geometry,P=0;P<O.vertexCount;P++){var L=this._originalOpacity[P]*T;O.attributes.color.value[P*4+3]=L}O.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(T){this._mesh&&this._setPositionTextureToMesh(this._mesh,T),this._positionTexture=T},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(T){if(T!==this._sizeScale){if(this._mesh){var O=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",O/this._sizeScale*T);var P=this._mesh.geometry.attributes;if(P.size.value)for(var L=0;L<P.size.value.length;L++)P.size.value[L]=P.size.value[L]/this._sizeScale*T}this._sizeScale=T}},_setPositionTextureToMesh:function(T,O){O&&T.material.set("positionTexture",O),T.material[O?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(T,O,P){if(T.get("large")){var L=m.a.firstNotNull(T.get("symbolSize"),1),W,f;return L instanceof Array?(W=Math.max(L[0],L[1]),f=L[0]/L[1]):(W=L,f=1),{maxSize:L,type:T.get("symbol"),aspect:f}}for(var c=T.getData(),f,D=!1,R=c.getItemVisual(0,"symbol")||"circle",k=!1,W=0,z=O;z<P;z++){var L=c.getItemVisual(z,"symbolSize"),Z=c.getItemVisual(z,"symbol"),Q;if(L instanceof Array)Q=L[0]/L[1],W=Math.max(Math.max(L[0],L[1]),W);else{if(isNaN(L))return;Q=1,W=Math.max(L,W)}f!=null&&Math.abs(Q-f)>.05&&(D=!0),Z!==R&&(k=!0),R=Z,f=Q}return D&&console.warn("Different symbol width / height ratio will be ignored."),k&&console.warn("Different symbol type will be ignored."),{maxSize:W,type:R,aspect:f}}},G.a=A},function(ee,G,_){"use strict";G.a=`@export clay.prez.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
}
@end
@export clay.prez.fragment
void main()
{
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
@end`},function(ee,G,_){"use strict";var F=_(28),w=_(11),x=0,y=null,b=!0,E,g=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function m(d,v,A){this.availableAttributes=d,this.availableAttributeSymbols=v,this.indicesBuffer=A,this.vao=null}var C=F.a.extend({material:null,geometry:null,mode:w.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new g},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:w.a.BACK,frontFace:w.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(d){},afterRender:function(d,v){},getBoundingBox:function(d,v){return v=F.a.prototype.getBoundingBox.call(this,d,v),this.geometry&&this.geometry.boundingBox&&v.union(this.geometry.boundingBox),v},render:function(d,v,A){var T=d.gl;v=v||this.material;var O=v.shader,P=this.geometry,L=this.mode,c=P.vertexCount,f=P.isUseIndices(),D=d.getGLExtension("OES_element_index_uint"),R=D&&c>65535,k=R?T.UNSIGNED_INT:T.UNSIGNED_SHORT,W=d.getGLExtension("OES_vertex_array_object"),z=!P.dynamic,Z=this._renderInfo;Z.vertexCount=c,Z.triangleCount=0,Z.drawCallCount=0;var Q=!1;if(E=d.__uid__+"-"+P.__uid__+"-"+A.__uid__,(E!==x||W&&z||P._cache.isDirty("any"))&&(Q=!0),x=E,!Q)b?(T.drawElements(L,y.count,k,0),Z.triangleCount=y.count/3):T.drawArrays(L,0,c),Z.drawCallCount=1;else{var te=this._drawCache[E];if(!te){var $=P.getBufferChunks(d);if(!$)return;te=[];for(var ie=0;ie<$.length;ie++){for(var ae=$[ie],re=ae.attributeBuffers,ce=ae.indicesBuffer,oe=[],he=[],se=0;se<re.length;se++){var pe=re[se],me=pe.name,ge=pe.semantic,Ee;if(ge){var Ae=O.attributeSemantics[ge];Ee=Ae&&Ae.symbol}else Ee=me;Ee&&A.attributes[Ee]&&(oe.push(pe),he.push(Ee))}var Fe=new m(oe,he,ce);te.push(Fe)}z&&(this._drawCache[E]=te)}for(var Ue=0;Ue<te.length;Ue++){var Fe=te[Ue],nt=!0;W&&z&&(Fe.vao==null?Fe.vao=W.createVertexArrayOES():nt=!1,W.bindVertexArrayOES(Fe.vao));var oe=Fe.availableAttributes,ce=Fe.indicesBuffer;if(nt)for(var rt=A.enableAttributes(d,Fe.availableAttributeSymbols,W&&z&&Fe.vao),se=0;se<oe.length;se++){var qe=rt[se];if(qe!==-1){var pe=oe[se],dt=pe.buffer,yt=pe.size,je;switch(pe.type){case"float":je=T.FLOAT;break;case"byte":je=T.BYTE;break;case"ubyte":je=T.UNSIGNED_BYTE;break;case"short":je=T.SHORT;break;case"ushort":je=T.UNSIGNED_SHORT;break;default:je=T.FLOAT;break}T.bindBuffer(T.ARRAY_BUFFER,dt),T.vertexAttribPointer(qe,yt,je,!1,0,0)}}(L==w.a.LINES||L==w.a.LINE_STRIP||L==w.a.LINE_LOOP)&&T.lineWidth(this.lineWidth),y=ce,b=P.isUseIndices(),b?(nt&&T.bindBuffer(T.ELEMENT_ARRAY_BUFFER,ce.buffer),T.drawElements(L,ce.count,k,0),Z.triangleCount+=ce.count/3):T.drawArrays(L,0,c),W&&z&&W.bindVertexArrayOES(null),Z.drawCallCount++}}return Z},clone:function(){var d=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var v=F.a.prototype.clone.call(this);v.geometry=this.geometry,v.material=this.material;for(var A=0;A<d.length;A++){var T=d[A];v[T]!==this[T]&&(v[T]=this[T])}return v}}()});C.POINTS=w.a.POINTS,C.LINES=w.a.LINES,C.LINE_LOOP=w.a.LINE_LOOP,C.LINE_STRIP=w.a.LINE_STRIP,C.TRIANGLES=w.a.TRIANGLES,C.TRIANGLE_STRIP=w.a.TRIANGLE_STRIP,C.TRIANGLE_FAN=w.a.TRIANGLE_FAN,C.BACK=w.a.BACK,C.FRONT=w.a.FRONT,C.FRONT_AND_BACK=w.a.FRONT_AND_BACK,C.CW=w.a.CW,C.CCW=w.a.CCW,C.RenderInfo=g,G.a=C},function(ee,G){var _=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(F){setTimeout(F,16)};ee.exports=_},function(ee,G,_){"use strict";var F={};F.isPowerOfTwo=function(w){return(w&w-1)===0},F.nextPowerOfTwo=function(w){return w--,w|=w>>1,w|=w>>2,w|=w>>4,w|=w>>8,w|=w>>16,w++,w},F.nearestPowerOfTwo=function(w){return Math.pow(2,Math.round(Math.log(w)/Math.LN2))},G.a=F},function(ee,G,_){"use strict";var F=_(4),w=_(1),x=_.n(w),y=x.a.vec3,b=x.a.mat4,E=x.a.vec4,g=function(m,C){this.normal=m||new F.a(0,1,0),this.distance=C||0};g.prototype={constructor:g,distanceToPoint:function(m){return y.dot(m.array,this.normal.array)-this.distance},projectPoint:function(m,C){C||(C=new F.a);var d=this.distanceToPoint(m);return y.scaleAndAdd(C.array,m.array,this.normal.array,-d),C._dirty=!0,C},normalize:function(){var m=1/y.len(this.normal.array);y.scale(this.normal.array,m),this.distance*=m},intersectFrustum:function(m){for(var C=m.vertices,d=this.normal.array,v=y.dot(C[0].array,d)>this.distance,A=1;A<8;A++)if(y.dot(C[A].array,d)>this.distance!=v)return!0},intersectLine:function(){var m=y.create();return function(C,d,v){var A=this.distanceToPoint(C),T=this.distanceToPoint(d);if(A>0&&T>0||A<0&&T<0)return null;var O=this.normal.array,P=this.distance,L=C.array;y.sub(m,d.array,C.array),y.normalize(m,m);var c=y.dot(O,m);if(c===0)return null;v||(v=new F.a);var f=(y.dot(O,L)-P)/c;return y.scaleAndAdd(v.array,L,m,-f),v._dirty=!0,v}}(),applyTransform:function(){var m=b.create(),C=E.create(),d=E.create();return d[3]=1,function(v){v=v.array,y.scale(d,this.normal.array,this.distance),E.transformMat4(d,d,v),this.distance=y.dot(d,this.normal.array),b.invert(m,v),b.transpose(m,m),C[3]=0,y.copy(C,this.normal.array),E.transformMat4(C,C,m),y.copy(this.normal.array,C)}}(),copy:function(m){y.copy(this.normal.array,m.normal.array),this.normal._dirty=!0,this.distance=m.distance},clone:function(){var m=new g;return m.copy(this),m}},G.a=g},function(ee,G,_){"use strict";var F=_(13),w=_(15),x=F.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var y=this.heightSegments,b=this.widthSegments,E=this.attributes.position,g=this.attributes.texcoord0,m=this.attributes.normal,C=(b+1)*(y+1);E.init(C),g.init(C),m.init(C);var d=C>65535?Uint32Array:Uint16Array,v=this.indices=new d(b*y*6),A,T,O,P,L,c,f,z=this.radius,D=this.phiStart,R=this.phiLength,k=this.thetaStart,W=this.thetaLength,z=this.radius,Z=[],Q=[],te=0,$=1/z;for(f=0;f<=y;f++)for(c=0;c<=b;c++)P=c/b,L=f/y,A=-z*Math.cos(D+P*R)*Math.sin(k+L*W),T=z*Math.cos(k+L*W),O=z*Math.sin(D+P*R)*Math.sin(k+L*W),Z[0]=A,Z[1]=T,Z[2]=O,Q[0]=P,Q[1]=L,E.set(te,Z),g.set(te,Q),Z[0]*=$,Z[1]*=$,Z[2]*=$,m.set(te,Z),te++;var ie,ae,re,ce,oe=b+1,he=0;for(f=0;f<y;f++)for(c=0;c<b;c++)ae=f*oe+c,ie=f*oe+c+1,ce=(f+1)*oe+c+1,re=(f+1)*oe+c,v[he++]=ie,v[he++]=ae,v[he++]=ce,v[he++]=ae,v[he++]=re,v[he++]=ce;this.boundingBox=new w.a,this.boundingBox.max.set(z,z,z),this.boundingBox.min.set(-z,-z,-z)}});G.a=x},function(ee,G,_){"use strict";var F=_(13),w=_(37),x=_(9),y=_(4),b=_(15),E=_(18),g=new x.a,m=F.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var d={px:C("px",this.depthSegments,this.heightSegments),nx:C("nx",this.depthSegments,this.heightSegments),py:C("py",this.widthSegments,this.depthSegments),ny:C("ny",this.widthSegments,this.depthSegments),pz:C("pz",this.widthSegments,this.heightSegments),nz:C("nz",this.widthSegments,this.heightSegments)},v=["position","texcoord0","normal"],A=0,T=0;for(var O in d)A+=d[O].vertexCount,T+=d[O].indices.length;for(var P=0;P<v.length;P++)this.attributes[v[P]].init(A);this.indices=new E.a.Uint16Array(T);var L=0,c=0;for(var O in d){for(var f=d[O],P=0;P<v.length;P++)for(var D=v[P],R=f.attributes[D].value,k=f.attributes[D].size,W=D==="normal",z=0;z<R.length;z++){var Z=R[z];this.inside&&W&&(Z=-Z),this.attributes[D].value[z+k*c]=Z}for(var Q=f.indices.length,z=0;z<f.indices.length;z++)this.indices[z+L]=c+f.indices[this.inside?Q-z-1:z];L+=f.indices.length,c+=f.vertexCount}this.boundingBox=new b.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function C(d,v,A){g.identity();var T=new w.a({widthSegments:v,heightSegments:A});switch(d){case"px":x.a.translate(g,g,y.a.POSITIVE_X),x.a.rotateY(g,g,Math.PI/2);break;case"nx":x.a.translate(g,g,y.a.NEGATIVE_X),x.a.rotateY(g,g,-Math.PI/2);break;case"py":x.a.translate(g,g,y.a.POSITIVE_Y),x.a.rotateX(g,g,-Math.PI/2);break;case"ny":x.a.translate(g,g,y.a.NEGATIVE_Y),x.a.rotateX(g,g,Math.PI/2);break;case"pz":x.a.translate(g,g,y.a.POSITIVE_Z);break;case"nz":x.a.translate(g,g,y.a.NEGATIVE_Z),x.a.rotateY(g,g,Math.PI);break}return T.applyTransform(g),T}G.a=m},function(ee,G,_){"use strict";var F=_(19),w=_(4),x=F.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(y){return y.__dir=y.__dir||new w.a,y.__dir.copy(y.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(y){var b=y.color,E=y.intensity;return[b[0]*E,b[1]*E,b[2]*E]}}},clone:function(){var y=F.a.prototype.clone.call(this);return y.shadowBias=this.shadowBias,y.shadowSlopeScale=this.shadowSlopeScale,y}});G.a=x},function(ee,G,_){"use strict";var F=_(19),w=F.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(x){return x.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(x){return x.range}},pointLightColor:{type:"3f",value:function(x){var y=x.color,b=x.intensity;return[y[0]*b,y[1]*b,y[2]*b]}}},clone:function(){var x=F.a.prototype.clone.call(this);return x.range=this.range,x}});G.a=w},function(ee,G,_){"use strict";var F=_(19),w=_(4),x=F.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(y){return y.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(y){return y.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(y){return Math.cos(y.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(y){return Math.cos(y.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(y){return y.falloffFactor}},spotLightDirection:{type:"3f",value:function(y){return y.__dir=y.__dir||new w.a,y.__dir.copy(y.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(y){var b=y.color,E=y.intensity;return[b[0]*E,b[1]*E,b[2]*E]}}},clone:function(){var y=F.a.prototype.clone.call(this);return y.range=this.range,y.umbraAngle=this.umbraAngle,y.penumbraAngle=this.penumbraAngle,y.falloffFactor=this.falloffFactor,y.shadowBias=this.shadowBias,y.shadowSlopeScale=this.shadowSlopeScale,y}});G.a=x},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(5);function y(E,g,m,C,d,v,A){this._zr=E,this._x=0,this._y=0,this._rowHeight=0,this.width=C,this.height=d,this.offsetX=g,this.offsetY=m,this.dpr=A,this.gap=v}y.prototype={constructor:y,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(E,g,m){var C=E.getBoundingRect();g==null&&(g=C.width),m==null&&(m=C.height),g*=this.dpr,m*=this.dpr,this._fitElement(E,g,m);var d=this._x,v=this._y,A=this.width*this.dpr,T=this.height*this.dpr,O=this.gap;if(d+g+O>A&&(d=this._x=0,v+=this._rowHeight+O,this._y=v,this._rowHeight=0),this._x+=g+O,this._rowHeight=Math.max(this._rowHeight,m),v+m+O>T)return null;E.position[0]+=this.offsetX*this.dpr+d,E.position[1]+=this.offsetY*this.dpr+v,this._zr.add(E);var P=[this.offsetX/this.width,this.offsetY/this.height],L=[[d/A+P[0],v/T+P[1]],[(d+g)/A+P[0],(v+m)/T+P[1]]];return L},_fitElement:function(E,g,m){var C=E.getBoundingRect(),d=g/C.width,v=m/C.height;E.position=[-C.x*d,-C.y*v],E.scale=[d,v],E.update()}};function b(E){E=E||{},E.width=E.width||512,E.height=E.height||512,E.devicePixelRatio=E.devicePixelRatio||1,E.gap=E.gap==null?2:E.gap;var g=document.createElement("canvas");g.width=E.width*E.devicePixelRatio,g.height=E.height*E.devicePixelRatio,this._canvas=g,this._texture=new x.a({image:g,flipY:!1});var m=this;this._zr=w.a.zrender.init(g);var C=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){C.call(this),m._texture.dirty(),m.onupdate&&m.onupdate()},this._dpr=E.devicePixelRatio,this._coords={},this.onupdate=E.onupdate,this._gap=E.gap,this._textureAtlasNodes=[new y(this._zr,0,0,E.width,E.height,this._gap,this._dpr)],this._nodeWidth=E.width,this._nodeHeight=E.height,this._currentNodeIdx=0}b.prototype={clear:function(){for(var E=0;E<this._textureAtlasNodes.length;E++)this._textureAtlasNodes[E].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var E=4096/this._dpr,g=this._textureAtlasNodes,m=g.length,C=m*this._nodeWidth%E,d=Math.floor(m*this._nodeWidth/E)*this._nodeHeight;if(d>=E){console.error("Too much labels. Some will be ignored.");return}var v=(C+this._nodeWidth)*this._dpr,A=(d+this._nodeHeight)*this._dpr;try{this._zr.resize({width:v,height:A})}catch(O){this._canvas.width=v,this._canvas.height=A}var T=new y(this._zr,C,d,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(T),T},add:function(E,g,m){if(this._coords[E.id])return console.warn("Element already been add"),this._coords[E.id];var C=this._getCurrentNode().add(E,g,m);if(!C){var d=this._expand();if(!d)return;C=d.add(E,g,m)}return this._coords[E.id]=C,C},getCoordsScale:function(){var E=this._dpr;return[this._nodeWidth/this._canvas.width*E,this._nodeHeight/this._canvas.height*E]},getCoords:function(E){return this._coords[E]}},G.a=b},function(ee,G,_){"use strict";G.a=F;function F(w,x,y){var b,E=w.scale;return E.type==="ordinal"&&(typeof y=="function"?(b=E.getTicks()[x],!y(b,E.getLabel(b))):x%(y+1))}},function(ee,G,_){var F=_(76),w=_(77),x=F.applyTransform,y=Math.min,b=Math.max;function E(m,C,d,v){d<0&&(m=m+d,d=-d),v<0&&(C=C+v,v=-v),this.x=m,this.y=C,this.width=d,this.height=v}E.prototype={constructor:E,union:function(m){var C=y(m.x,this.x),d=y(m.y,this.y);this.width=b(m.x+m.width,this.x+this.width)-C,this.height=b(m.y+m.height,this.y+this.height)-d,this.x=C,this.y=d},applyTransform:function(){var m=[],C=[],d=[],v=[];return function(A){if(A){m[0]=d[0]=this.x,m[1]=v[1]=this.y,C[0]=v[0]=this.x+this.width,C[1]=d[1]=this.y+this.height,x(m,m,A),x(C,C,A),x(d,d,A),x(v,v,A),this.x=y(m[0],C[0],d[0],v[0]),this.y=y(m[1],C[1],d[1],v[1]);var T=b(m[0],C[0],d[0],v[0]),O=b(m[1],C[1],d[1],v[1]);this.width=T-this.x,this.height=O-this.y}}}(),calculateTransform:function(m){var C=this,d=m.width/C.width,v=m.height/C.height,A=w.create();return w.translate(A,A,[-C.x,-C.y]),w.scale(A,A,[d,v]),w.translate(A,A,[m.x,m.y]),A},intersect:function(m){if(!m)return!1;m instanceof E||(m=E.create(m));var C=this,d=C.x,v=C.x+C.width,A=C.y,T=C.y+C.height,O=m.x,P=m.x+m.width,L=m.y,c=m.y+m.height;return!(v<O||P<d||T<L||c<A)},contain:function(m,C){var d=this;return m>=d.x&&m<=d.x+d.width&&C>=d.y&&C<=d.y+d.height},clone:function(){return new E(this.x,this.y,this.width,this.height)},copy:function(m){this.x=m.x,this.y=m.y,this.width=m.width,this.height=m.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},E.create=function(m){return new E(m.x,m.y,m.width,m.height)};var g=E;ee.exports=g},function(ee,G){var _=typeof Float32Array=="undefined"?Array:Float32Array;function F(te,$){var ie=new _(2);return te==null&&(te=0),$==null&&($=0),ie[0]=te,ie[1]=$,ie}function w(te,$){return te[0]=$[0],te[1]=$[1],te}function x(te){var $=new _(2);return $[0]=te[0],$[1]=te[1],$}function y(te,$,ie){return te[0]=$,te[1]=ie,te}function b(te,$,ie){return te[0]=$[0]+ie[0],te[1]=$[1]+ie[1],te}function E(te,$,ie,ae){return te[0]=$[0]+ie[0]*ae,te[1]=$[1]+ie[1]*ae,te}function g(te,$,ie){return te[0]=$[0]-ie[0],te[1]=$[1]-ie[1],te}function m(te){return Math.sqrt(d(te))}var C=m;function d(te){return te[0]*te[0]+te[1]*te[1]}var v=d;function A(te,$,ie){return te[0]=$[0]*ie[0],te[1]=$[1]*ie[1],te}function T(te,$,ie){return te[0]=$[0]/ie[0],te[1]=$[1]/ie[1],te}function O(te,$){return te[0]*$[0]+te[1]*$[1]}function P(te,$,ie){return te[0]=$[0]*ie,te[1]=$[1]*ie,te}function L(te,$){var ie=m($);return ie===0?(te[0]=0,te[1]=0):(te[0]=$[0]/ie,te[1]=$[1]/ie),te}function c(te,$){return Math.sqrt((te[0]-$[0])*(te[0]-$[0])+(te[1]-$[1])*(te[1]-$[1]))}var f=c;function D(te,$){return(te[0]-$[0])*(te[0]-$[0])+(te[1]-$[1])*(te[1]-$[1])}var R=D;function k(te,$){return te[0]=-$[0],te[1]=-$[1],te}function W(te,$,ie,ae){return te[0]=$[0]+ae*(ie[0]-$[0]),te[1]=$[1]+ae*(ie[1]-$[1]),te}function z(te,$,ie){var ae=$[0],re=$[1];return te[0]=ie[0]*ae+ie[2]*re+ie[4],te[1]=ie[1]*ae+ie[3]*re+ie[5],te}function Z(te,$,ie){return te[0]=Math.min($[0],ie[0]),te[1]=Math.min($[1],ie[1]),te}function Q(te,$,ie){return te[0]=Math.max($[0],ie[0]),te[1]=Math.max($[1],ie[1]),te}G.create=F,G.copy=w,G.clone=x,G.set=y,G.add=b,G.scaleAndAdd=E,G.sub=g,G.len=m,G.length=C,G.lenSquare=d,G.lengthSquare=v,G.mul=A,G.div=T,G.dot=O,G.scale=P,G.normalize=L,G.distance=c,G.dist=f,G.distanceSquare=D,G.distSquare=R,G.negate=k,G.lerp=W,G.applyTransform=z,G.min=Z,G.max=Q},function(ee,G){var _=typeof Float32Array=="undefined"?Array:Float32Array;function F(){var d=new _(6);return w(d),d}function w(d){return d[0]=1,d[1]=0,d[2]=0,d[3]=1,d[4]=0,d[5]=0,d}function x(d,v){return d[0]=v[0],d[1]=v[1],d[2]=v[2],d[3]=v[3],d[4]=v[4],d[5]=v[5],d}function y(d,v,A){var T=v[0]*A[0]+v[2]*A[1],O=v[1]*A[0]+v[3]*A[1],P=v[0]*A[2]+v[2]*A[3],L=v[1]*A[2]+v[3]*A[3],c=v[0]*A[4]+v[2]*A[5]+v[4],f=v[1]*A[4]+v[3]*A[5]+v[5];return d[0]=T,d[1]=O,d[2]=P,d[3]=L,d[4]=c,d[5]=f,d}function b(d,v,A){return d[0]=v[0],d[1]=v[1],d[2]=v[2],d[3]=v[3],d[4]=v[4]+A[0],d[5]=v[5]+A[1],d}function E(d,v,A){var T=v[0],O=v[2],P=v[4],L=v[1],c=v[3],f=v[5],D=Math.sin(A),R=Math.cos(A);return d[0]=T*R+L*D,d[1]=-T*D+L*R,d[2]=O*R+c*D,d[3]=-O*D+R*c,d[4]=R*P+D*f,d[5]=R*f-D*P,d}function g(d,v,A){var T=A[0],O=A[1];return d[0]=v[0]*T,d[1]=v[1]*O,d[2]=v[2]*T,d[3]=v[3]*O,d[4]=v[4]*T,d[5]=v[5]*O,d}function m(d,v){var A=v[0],T=v[2],O=v[4],P=v[1],L=v[3],c=v[5],f=A*L-P*T;return f?(f=1/f,d[0]=L*f,d[1]=-P*f,d[2]=-T*f,d[3]=A*f,d[4]=(T*c-L*O)*f,d[5]=(P*O-A*c)*f,d):null}function C(d){var v=F();return x(v,d),v}G.create=F,G.identity=w,G.copy=x,G.mul=y,G.translate=b,G.rotate=E,G.scale=g,G.invert=m,G.clone=C},function(ee,G,_){var F=_(12),w=1e-4;function x(W){return W.replace(/^\s+/,"").replace(/\s+$/,"")}function y(W,z,Z,Q){var te=z[1]-z[0],$=Z[1]-Z[0];if(te===0)return $===0?Z[0]:(Z[0]+Z[1])/2;if(Q)if(te>0){if(W<=z[0])return Z[0];if(W>=z[1])return Z[1]}else{if(W>=z[0])return Z[0];if(W<=z[1])return Z[1]}else{if(W===z[0])return Z[0];if(W===z[1])return Z[1]}return(W-z[0])/te*$+Z[0]}function b(W,z){switch(W){case"center":case"middle":W="50%";break;case"left":case"top":W="0%";break;case"right":case"bottom":W="100%";break}return typeof W=="string"?x(W).match(/%$/)?parseFloat(W)/100*z:parseFloat(W):W==null?NaN:+W}function E(W,z,Z){return z==null&&(z=10),z=Math.min(Math.max(0,z),20),W=(+W).toFixed(z),Z?W:+W}function g(W){return W.sort(function(z,Z){return z-Z}),W}function m(W){if(W=+W,isNaN(W))return 0;for(var z=1,Z=0;Math.round(W*z)/z!==W;)z*=10,Z++;return Z}function C(W){var z=W.toString(),Z=z.indexOf("e");if(Z>0){var Q=+z.slice(Z+1);return Q<0?-Q:0}else{var te=z.indexOf(".");return te<0?0:z.length-1-te}}function d(W,z){var Z=Math.log,Q=Math.LN10,te=Math.floor(Z(W[1]-W[0])/Q),$=Math.round(Z(Math.abs(z[1]-z[0]))/Q),ie=Math.min(Math.max(-te+$,0),20);return isFinite(ie)?ie:20}function v(W,z,Z){if(!W[z])return 0;var Q=F.reduce(W,function(me,ge){return me+(isNaN(ge)?0:ge)},0);if(Q===0)return 0;for(var te=Math.pow(10,Z),$=F.map(W,function(me){return(isNaN(me)?0:me)/Q*te*100}),ie=te*100,ae=F.map($,function(me){return Math.floor(me)}),re=F.reduce(ae,function(me,ge){return me+ge},0),ce=F.map($,function(me,ge){return me-ae[ge]});re<ie;){for(var oe=Number.NEGATIVE_INFINITY,he=null,se=0,pe=ce.length;se<pe;++se)ce[se]>oe&&(oe=ce[se],he=se);++ae[he],ce[he]=0,++re}return ae[z]/te}var A=9007199254740991;function T(W){var z=Math.PI*2;return(W%z+z)%z}function O(W){return W>-w&&W<w}var P=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function L(W){if(W instanceof Date)return W;if(typeof W=="string"){var z=P.exec(W);if(!z)return new Date(NaN);if(z[8]){var Z=+z[4]||0;return z[8].toUpperCase()!=="Z"&&(Z-=z[8].slice(0,3)),new Date(Date.UTC(+z[1],+(z[2]||1)-1,+z[3]||1,Z,+(z[5]||0),+z[6]||0,+z[7]||0))}else return new Date(+z[1],+(z[2]||1)-1,+z[3]||1,+z[4]||0,+(z[5]||0),+z[6]||0,+z[7]||0)}else if(W==null)return new Date(NaN);return new Date(Math.round(W))}function c(W){return Math.pow(10,f(W))}function f(W){return Math.floor(Math.log(W)/Math.LN10)}function D(W,z){var Z=f(W),Q=Math.pow(10,Z),te=W/Q,$;return z?te<1.5?$=1:te<2.5?$=2:te<4?$=3:te<7?$=5:$=10:te<1?$=1:te<2?$=2:te<3?$=3:te<5?$=5:$=10,W=$*Q,Z>=-20?+W.toFixed(Z<0?-Z:0):W}function R(W){W.sort(function(re,ce){return ae(re,ce,0)?-1:1});for(var z=-1/0,Z=1,Q=0;Q<W.length;){for(var te=W[Q].interval,$=W[Q].close,ie=0;ie<2;ie++)te[ie]<=z&&(te[ie]=z,$[ie]=ie?1:1-Z),z=te[ie],Z=$[ie];te[0]===te[1]&&$[0]*$[1]!==1?W.splice(Q,1):Q++}return W;function ae(re,ce,oe){return re.interval[oe]<ce.interval[oe]||re.interval[oe]===ce.interval[oe]&&(re.close[oe]-ce.close[oe]===(oe?-1:1)||!oe&&ae(re,ce,1))}}function k(W){return W-parseFloat(W)>=0}G.linearMap=y,G.parsePercent=b,G.round=E,G.asc=g,G.getPrecision=m,G.getPrecisionSafe=C,G.getPixelPrecision=d,G.getPercentWithPrecision=v,G.MAX_SAFE_INTEGER=A,G.remRadian=T,G.isRadianAroundZero=O,G.parseDate=L,G.quantity=c,G.nice=D,G.reformIntervals=R,G.isNumeric=k},function(ee,G,_){"use strict";var F=_(5),w=_(11),x=_(21),y=function(){this._pool={},this._allocatedTextures=[]};y.prototype={constructor:y,get:function(d){var v=g(d);this._pool.hasOwnProperty(v)||(this._pool[v]=[]);var A=this._pool[v];if(!A.length){var T=new F.a(d);return this._allocatedTextures.push(T),T}return A.pop()},put:function(d){var v=g(d);this._pool.hasOwnProperty(v)||(this._pool[v]=[]);var A=this._pool[v];A.push(d)},clear:function(d){for(var v=0;v<this._allocatedTextures.length;v++)this._allocatedTextures[v].dispose(d);this._pool={},this._allocatedTextures=[]}};var b={width:512,height:512,type:w.a.UNSIGNED_BYTE,format:w.a.RGBA,wrapS:w.a.CLAMP_TO_EDGE,wrapT:w.a.CLAMP_TO_EDGE,minFilter:w.a.LINEAR_MIPMAP_LINEAR,magFilter:w.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},E=Object.keys(b);function g(d){x.a.defaultsWithPropList(d,b,E),m(d);for(var v="",A=0;A<E.length;A++){var T=E[A],O=d[T].toString();v+=O}return v}function m(d){var v=C(d.width,d.height);d.format===w.a.DEPTH_COMPONENT&&(d.useMipmap=!1),(!v||!d.useMipmap)&&(d.minFilter==w.a.NEAREST_MIPMAP_NEAREST||d.minFilter==w.a.NEAREST_MIPMAP_LINEAR?d.minFilter=w.a.NEAREST:(d.minFilter==w.a.LINEAR_MIPMAP_LINEAR||d.minFilter==w.a.LINEAR_MIPMAP_NEAREST)&&(d.minFilter=w.a.LINEAR)),v||(d.wrapS=w.a.CLAMP_TO_EDGE,d.wrapT=w.a.CLAMP_TO_EDGE)}function C(d,v){return(d&d-1)===0&&(v&v-1)===0}G.a=y},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);G.a={getFilledRegions:function(x,y){var b=(x||[]).slice(),E;if(typeof y=="string"?(y=w.a.getMap(y),E=y&&y.geoJson):y&&y.features&&(E=y),!E)return console.error("Map "+y+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),E.features||console.error("Invalid GeoJSON for map3D"),[];for(var g={},m=E.features,C=0;C<b.length;C++)g[b[C].name]=b[C];for(var C=0;C<m.length;C++){var d=m[C].properties.name;g[d]||b.push({name:d})}return b},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(ee,G,_){"use strict";function F(b,E,g){var m=b[E];b[E]=b[g],b[g]=m}function w(b,E,g,m,C){var d=g,v=b[E];F(b,E,m);for(var A=g;A<m;A++)C(b[A],v)<0&&(F(b,A,d),d++);return F(b,m,d),d}function x(b,E,g,m){if(g<m){var C=Math.floor((g+m)/2),d=w(b,C,g,m,E);x(b,E,g,d-1),x(b,E,d+1,m)}}function y(){this._parts=[]}y.prototype.step=function(b,E,g){var m=b.length;if(g===0){this._parts=[],this._sorted=!1;var C=Math.floor(m/2);this._parts.push({pivot:C,left:0,right:m-1}),this._currentSortPartIdx=0}if(!this._sorted){var d=this._parts;if(d.length===0)return this._sorted=!0,!0;if(d.length<512){for(var v=0;v<d.length;v++)d[v].pivot=w(b,d[v].pivot,d[v].left,d[v].right,E);for(var A=[],v=0;v<d.length;v++){var T=d[v].left,O=d[v].pivot-1;O>T&&A.push({pivot:Math.floor((O+T)/2),left:T,right:O});var T=d[v].pivot+1,O=d[v].right;O>T&&A.push({pivot:Math.floor((O+T)/2),left:T,right:O})}d=this._parts=A}else for(var v=0;v<Math.floor(d.length/10);v++){var P=d.length-1-this._currentSortPartIdx;if(x(b,E,d[P].left,d[P].right),this._currentSortPartIdx++,this._currentSortPartIdx===d.length)return this._sorted=!0,!0}return!1}},y.sort=x,G.a=y},function(ee,G,_){"use strict";var F=_(83),w=_(0),x=_.n(w),y=_(41),b=_.n(y),E=_(20),g=_(3);function m(T,O){var P=T.getBoxLayoutParams(),L=b.a.getLayoutRect(P,{width:O.getWidth(),height:O.getHeight()});L.y=O.getHeight()-L.y-L.height,this.viewGL.setViewport(L.x,L.y,L.width,L.height,O.getDevicePixelRatio());var c=this.getGeoBoundingRect(),f=c.width/c.height*(T.get("aspectScale")||.75),D=T.get("boxWidth"),R=T.get("boxDepth"),k=T.get("boxHeight");k==null&&(k=5),isNaN(D)&&isNaN(R)&&(D=100),isNaN(R)?R=D/f:isNaN(D)&&(D=R/f),this.setSize(D,k,R),this.regionHeight=T.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(k-this.regionHeight,0))}function C(T,O){var P=[1/0,-1/0];if(T.eachSeries(function(c){if(c.coordinateSystem===this&&c.type!=="series.map3D"){var f=c.getData(),D=c.coordDimToDataDim("alt")[0];if(D){var R=f.getDataExtent(D,!0);P[0]=Math.min(P[0],R[0]),P[1]=Math.max(P[1],R[1])}}},this),P&&isFinite(P[1]-P[0])){var L=x.a.helper.createScale(P,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new x.a.Axis("altitude",L),this.resize(this.model,O)}}var d=function(T){console.error("Map "+T+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},v=0,A={dimensions:F.a.prototype.dimensions,create:function(T,O){var P=[];if(!x.a.getMap)throw new Error("geo3D component depends on geo component");function L(c,f){var D=A.createGeo3D(c);c.__viewGL=c.__viewGL||new E.a,D.viewGL=c.__viewGL,c.coordinateSystem=D,D.model=c,P.push(D),D.resize=m,D.resize(c,O),D.update=C}return T.eachComponent("geo3D",function(c,f){L(c,f)}),T.eachSeriesByType("map3D",function(c,f){var D=c.get("coordinateSystem");D==null&&(D="geo3D"),D==="geo3D"&&L(c,f)}),T.eachSeries(function(c){if(c.get("coordinateSystem")==="geo3D"){if(c.type==="series.map3D")return;var f=c.getReferringComponents("geo3D")[0];if(f||(f=T.getComponent("geo3D")),!f)throw new Error('geo "'+g.a.firstNotNull(c.get("geo3DIndex"),c.get("geo3DId"),0)+'" not found');c.coordinateSystem=f.coordinateSystem}}),P},createGeo3D:function(T){var O=T.get("map"),P;if(typeof O=="string"?(P=O,O=x.a.getMap(O)):O&&O.features&&(O={geoJson:O}),O||d(O),!O.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return P==null&&(P="GEO_ANONYMOUS_"+v++),new F.a(P+v++,P,O&&O.geoJson,O&&O.specialAreas,T.get("nameMap"))}};x.a.registerCoordinateSystem("geo3D",A),G.a=A},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(1),y=_.n(x),b=_(187),E=_.n(b),g=_(188),m=_.n(g),C=y.a.vec3,d=y.a.mat4,v=[E.a,m.a];function A(T,O,P,L,c){this.name=T,this.map=O,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(P,L,c),this.transform=d.identity(new Float64Array(16)),this.invTransform=d.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}A.prototype={constructor:A,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(T,O,P){var L=w.a.parseGeoJSON||w.a.parseGeoJson;try{this.regions=T?L(T):[]}catch(W){throw`Invalid geoJson format
`+W}O=O||{},P=P||{};for(var c=this.regions,f={},D=0;D<c.length;D++){var R=c[D].name;R=P[R]||R,c[D].name=R,f[R]=c[D],this.addGeoCoord(R,c[D].center);var k=O[R];k&&c[D].transformTo(k.left,k.top,k.width,k.height)}this._regionsMap=f,this._geoRect=null,v.forEach(function(W){W(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var T,O=this.regions,P=0;P<O.length;P++){var L=O[P].getBoundingRect();T=T||L.clone(),T.union(L)}return this._geoRect=T||new w.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(T,O){this._nameCoordMap[T]=O},getRegion:function(T){return this._regionsMap[T]},getRegionByCoord:function(T){for(var O=this.regions,P=0;P<O.length;P++)if(O[P].contain(T))return O[P]},setSize:function(T,O,P){this.size=[T,O,P];var L=this.getGeoBoundingRect(),c=T/L.width,f=-P/L.height,D=-T/2-L.x*c,R=P/2-L.y*f,k=this.extrudeY?[D,0,R]:[D,R,0],W=this.extrudeY?[c,1,f]:[c,f,1],z=this.transform;d.identity(z),d.translate(z,z,k),d.scale(z,z,W),d.invert(this.invTransform,z)},dataToPoint:function(T,O){O=O||[];var P=this.extrudeY?1:2,L=this.extrudeY?2:1,c=T[2];return isNaN(c)&&(c=0),O[0]=T[0],O[L]=T[1],this.altitudeAxis?O[P]=this.altitudeAxis.dataToCoord(c):O[P]=0,O[P]+=this.regionHeight,C.transformMat4(O,O,this.transform),O},pointToData:function(T,O){}},G.a=A},function(ee,G,_){"use strict";var F=_(77),w=_.n(F),x=_(76),y=_.n(x);function b(E){this.viewGL=E}b.prototype.reset=function(E,g){this._updateCamera(g.getWidth(),g.getHeight(),g.getDevicePixelRatio()),this._viewTransform=w.a.create(),this.updateTransform(E,g)},b.prototype.updateTransform=function(E,g){var m=E.coordinateSystem;m.getRoamTransform&&(w.a.invert(this._viewTransform,m.getRoamTransform()),this._setCameraTransform(this._viewTransform),g.getZr().refresh())},b.prototype.dataToPoint=function(E,g,m){m=E.dataToPoint(g,null,m);var C=this._viewTransform;C&&y.a.applyTransform(m,m,C)},b.prototype.removeTransformInPoint=function(E){return this._viewTransform&&y.a.applyTransform(E,E,this._viewTransform),E},b.prototype.getZoom=function(){if(this._viewTransform){var E=this._viewTransform;return 1/Math.max(Math.sqrt(E[0]*E[0]+E[1]*E[1]),Math.sqrt(E[2]*E[2]+E[3]*E[3]))}return 1},b.prototype._setCameraTransform=function(E){var g=this.viewGL.camera;g.position.set(E[4],E[5],0),g.scale.set(Math.sqrt(E[0]*E[0]+E[1]*E[1]),Math.sqrt(E[2]*E[2]+E[3]*E[3]),1)},b.prototype._updateCamera=function(E,g,m){this.viewGL.setViewport(0,0,E,g,m);var C=this.viewGL.camera;C.left=C.top=0,C.bottom=g,C.right=E,C.near=0,C.far=100},G.a=b},function(ee,G,_){(function(F){var w;typeof window!="undefined"?w=window.__DEV__:typeof F!="undefined"&&(w=F.__DEV__),typeof w=="undefined"&&(w=!0);var x=w;G.__DEV__=x}).call(G,_(243))},function(ee,G,_){"use strict";var F=_(13),w=_(0),x=_.n(w),y=_(33),b=_(1),E=_.n(b),g=E.a.vec2,m=[[0,0],[1,1]],C=F.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new F.a.Attribute("position","float",2,"POSITION"),normal:new F.a.Attribute("normal","float",2),offset:new F.a.Attribute("offset","float",1),color:new F.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(d){var v=this.attributes;this.vertexCount!==d&&(v.position.init(d),v.color.init(d),this.useNativeLine||(v.offset.init(d),v.normal.init(d)),d>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(d){this.triangleCount!==d&&(d===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(d*3):new Uint16Array(d*3))},_getCubicCurveApproxStep:function(d,v,A,T){var O=g.dist(d,v)+g.dist(A,v)+g.dist(T,A),P=1/(O+1)*this.segmentScale;return P},getCubicCurveVertexCount:function(d,v,A,T){var O=this._getCubicCurveApproxStep(d,v,A,T),P=Math.ceil(1/O);return this.useNativeLine?P*2:P*2+2},getCubicCurveTriangleCount:function(d,v,A,T){var O=this._getCubicCurveApproxStep(d,v,A,T),P=Math.ceil(1/O);return this.useNativeLine?0:P*2},getLineVertexCount:function(){return this.getPolylineVertexCount(m)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(m)},getPolylineVertexCount:function(d){var v;if(typeof d=="number")v=d;else{var A=typeof d[0]!="number";v=A?d.length:d.length/2}return this.useNativeLine?(v-1)*2:(v-1)*2+2},getPolylineTriangleCount:function(d){var v;if(typeof d=="number")v=d;else{var A=typeof d[0]!="number";v=A?d.length:d.length/2}return this.useNativeLine?0:(v-1)*2},addCubicCurve:function(d,v,A,T,O,P){P==null&&(P=1);for(var L=d[0],c=d[1],f=v[0],D=v[1],R=A[0],k=A[1],W=T[0],z=T[1],Z=this._getCubicCurveApproxStep(d,v,A,T),Q=Z*Z,te=Q*Z,$=3*Z,ie=3*Q,ae=6*Q,re=6*te,ce=L-f*2+R,oe=c-D*2+k,he=(f-R)*3-L+W,se=(D-k)*3-c+z,pe=L,me=c,ge=(f-L)*$+ce*ie+he*te,Ee=(D-c)*$+oe*ie+se*te,Ae=ce*ae+he*re,Fe=oe*ae+se*re,Ue=he*re,nt=se*re,rt=0,qe=0,dt=Math.ceil(1/Z),yt=new Float32Array((dt+1)*3),yt=[],je=0,qe=0;qe<dt+1;qe++)yt[je++]=pe,yt[je++]=me,pe+=ge,me+=Ee,ge+=Ae,Ee+=Fe,Ae+=Ue,Fe+=nt,rt+=Z,rt>1&&(pe=ge>0?Math.min(pe,W):Math.max(pe,W),me=Ee>0?Math.min(me,z):Math.max(me,z));this.addPolyline(yt,O,P)},addLine:function(d,v,A,T){this.addPolyline([d,v],A,T)},addPolyline:function(){var d=g.create(),v=g.create(),A=g.create(),T=g.create(),O=[],P=[],L=[];return function(c,f,D,R,k){if(c.length){var W=typeof c[0]!="number";if(k==null&&(k=W?c.length:c.length/2),!(k<2)){R==null&&(R=0),D==null&&(D=1),this._itemVertexOffsets.push(this._vertexOffset);for(var z=W?typeof f[0]!="number":f.length/4===k,Z=this.attributes.position,Q=this.attributes.color,te=this.attributes.offset,$=this.attributes.normal,ie=this.indices,ae=this._vertexOffset,re,ce=0;ce<k;ce++){if(W)O=c[ce+R],z?re=f[ce+R]:re=f;else{var oe=ce*2+R;if(O=O||[],O[0]=c[oe],O[1]=c[oe+1],z){var he=ce*4+R;re=re||[],re[0]=f[he],re[1]=f[he+1],re[2]=f[he+2],re[3]=f[he+3]}else re=f}if(this.useNativeLine)ce>1&&(Z.copy(ae,ae-1),Q.copy(ae,ae-1),ae++);else{var se;if(ce<k-1){if(W)g.copy(P,c[ce+1]);else{var oe=(ce+1)*2+R;P=P||[],P[0]=c[oe],P[1]=c[oe+1]}if(ce>0){g.sub(d,O,L),g.sub(v,P,O),g.normalize(d,d),g.normalize(v,v),g.add(T,d,v),g.normalize(T,T);var pe=D/2*Math.min(1/g.dot(d,T),2);A[0]=-T[1],A[1]=T[0],se=pe}else g.sub(d,P,O),g.normalize(d,d),A[0]=-d[1],A[1]=d[0],se=D/2}else g.sub(d,O,L),g.normalize(d,d),A[0]=-d[1],A[1]=d[0],se=D/2;$.set(ae,A),$.set(ae+1,A),te.set(ae,se),te.set(ae+1,-se),g.copy(L,O),Z.set(ae,O),Z.set(ae+1,O),Q.set(ae,re),Q.set(ae+1,re),ae+=2}if(this.useNativeLine)Q.set(ae,re),Z.set(ae,O),ae++;else if(ce>0){var me=this._faceOffset*3,ie=this.indices;ie[me]=ae-4,ie[me+1]=ae-3,ie[me+2]=ae-2,ie[me+3]=ae-3,ie[me+4]=ae-1,ie[me+5]=ae-2,this._faceOffset+=2}}this._vertexOffset=ae}}}}(),setItemColor:function(d,v){for(var A=this._itemVertexOffsets[d],T=d<this._itemVertexOffsets.length-1?this._itemVertexOffsets[d+1]:this._vertexOffset,O=A;O<T;O++)this.attributes.color.set(O,v);this.dirty("color")}});x.a.util.defaults(C.prototype,y.a),G.a=C},function(ee,G,_){"use strict";Object.defineProperty(G,"__esModule",{value:!0});var F=_(88),w=_(133),x=_(183),y=_(189),b=_(195),E=_(202),g=_(209),m=_(213),C=_(220),d=_(226),v=_(229),A=_(233),T=_(236),O=_(239),P=_(253),L=_(259)},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(89),y=_(90),b=_(101),E=_(2),g={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},m=g.dependencies;function C(O){throw new Error(O+" version is too old, needs "+m[O]+" or higher")}function d(O,P){O.replace(".","")-0<m[P].replace(".","")-0&&C(P),console.log("Loaded "+P+", version "+O)}d(x.a,"claygl"),d(w.a.version,"echarts");function v(O){this._layers={},this._zr=O}v.prototype.update=function(O,P){var L=this,c=P.getZr();if(!c.getWidth()||!c.getHeight()){console.warn("Dom has no width or height");return}function f(k){var W;k.coordinateSystem&&k.coordinateSystem.model,W=k.get("zlevel");var z=L._layers,Z=z[W];if(!Z){if(Z=z[W]=new y.a("gl-"+W,c),c.painter.isSingleCanvas()){Z.virtual=!0;var Q=new w.a.graphic.Image({z:1e4,style:{image:Z.renderer.canvas},silent:!0});Z.__hostImage=Q,c.add(Q)}c.painter.insertLayer(W,Z)}return Z.__hostImage&&Z.__hostImage.setStyle({width:Z.renderer.getWidth(),height:Z.renderer.getHeight()}),Z}function D(k,W){k&&k.traverse(function(z){z.isRenderable&&z.isRenderable()&&(z.ignorePicking=z.$ignorePicking!=null?z.$ignorePicking:W)})}for(var R in this._layers)this._layers[R].removeViewsAll();O.eachComponent(function(k,W){if(k!=="series"){var z=P.getViewOfComponentModel(W),Z=W.coordinateSystem;if(z.__ecgl__){var Q;if(Z){if(!Z.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+W.id);return}Q=Z.viewGL}else{if(!W.viewGL){console.error("Can't find viewGL of component "+W.id);return}Q=Z.viewGL}var Q=Z.viewGL,te=f(W);te.addView(Q),z.afterRender&&z.afterRender(W,O,P,te),D(z.groupGL,W.get("silent"))}}}),O.eachSeries(function(k){var W=P.getViewOfSeriesModel(k),z=k.coordinateSystem;if(W.__ecgl__){if(z&&!z.viewGL&&!W.viewGL){console.error("Can't find viewGL of series "+W.id);return}var Z=z&&z.viewGL||W.viewGL,Q=f(k);Q.addView(Z),W.afterRender&&W.afterRender(k,O,P,Q),D(W.groupGL,k.get("silent"))}})};var A=w.a.init;w.a.init=function(){var O=A.apply(this,arguments);return O.getZr().painter.getRenderedCanvas=function(P){if(P=P||{},this._singleCanvas)return this._layers[0].dom;var L=document.createElement("canvas"),c=P.pixelRatio||this.dpr;L.width=this.getWidth()*c,L.height=this.getHeight()*c;var f=L.getContext("2d");f.dpr=c,f.clearRect(0,0,L.width,L.height),P.backgroundColor&&(f.fillStyle=P.backgroundColor,f.fillRect(0,0,L.width,L.height));var D=this.storage.getDisplayList(!0),R={},k,W=this;function z($,ie){var ae=W._zlevelList;$==null&&($=-1/0);for(var re,ce=0;ce<ae.length;ce++){var oe=ae[ce],he=W._layers[oe];if(!he.__builtin__&&oe>$&&oe<ie){re=he;break}}re&&re.renderToCanvas&&(f.save(),re.renderToCanvas(f),f.restore())}for(var Z={ctx:f},Q=0;Q<D.length;Q++){var te=D[Q];te.zlevel!==k&&(z(k,te.zlevel),k=te.zlevel),this._doPaintEl(te,Z,!0,R)}return z(k,1/0),L},O},w.a.registerPostUpdate(function(O,P){var L=P.getZr(),c=L.__egl=L.__egl||new v(L);c.update(O,P)}),w.a.registerPreprocessor(b.a),w.a.graphicGL=E.a;var T=v},function(ee,G,_){"use strict";G.a="1.0.0"},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(46),y=_(100),b=_(6),E=_(47),g=_(65),m=_.n(g),C=function(L,c){this.id=L,this.zr=c;try{this.renderer=new x.a({clearBit:0,devicePixelRatio:c.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(c.painter.getWidth(),c.painter.getHeight())}catch(D){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(D);return}this.onglobalout=this.onglobalout.bind(this),c.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var f=this.dom.style;f.position="absolute",f.left="0",f.top="0",this.views=[],this._picking=new y.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new w.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};C.prototype.addView=function(L){if(L.layer!==this){var c=this._viewsToDispose.indexOf(L);c>=0&&this._viewsToDispose.splice(c,1),this.views.push(L),L.layer=this;var f=this.zr;L.scene.traverse(function(D){D.__zr=f,D.addAnimatorsToZr&&D.addAnimatorsToZr(f)})}};function d(L){var c=L.__zr;L.__zr=null,c&&L.removeAnimatorsFromZr&&L.removeAnimatorsFromZr(c)}C.prototype.removeView=function(L){if(L.layer===this){var c=this.views.indexOf(L);c>=0&&(this.views.splice(c,1),L.scene.traverse(d,this),L.layer=null,this._viewsToDispose.push(L))}},C.prototype.removeViewsAll=function(){this.views.forEach(function(L){L.scene.traverse(d,this),L.layer=null,this._viewsToDispose.push(L)},this),this.views.length=0},C.prototype.resize=function(L,c){var f=this.renderer;f.resize(L,c)},C.prototype.clear=function(){var L=this.renderer.gl;L.clearColor(0,0,0,0),L.depthMask(!0),L.colorMask(!0,!0,!0,!0),L.clear(L.DEPTH_BUFFER_BIT|L.COLOR_BUFFER_BIT)},C.prototype.clearDepth=function(){var L=this.renderer.gl;L.clear(L.DEPTH_BUFFER_BIT)},C.prototype.clearColor=function(){var L=this.renderer.gl;L.clearColor(0,0,0,0),L.clear(L.COLOR_BUFFER_BIT)},C.prototype.needsRefresh=function(){this.zr.refresh()},C.prototype.refresh=function(){for(var L=0;L<this.views.length;L++)this.views[L].prepareRender();this._doRender(!1),this._trackAndClean();for(var L=0;L<this._viewsToDispose.length;L++)this._viewsToDispose[L].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},C.prototype.renderToCanvas=function(L){this._startAccumulating(!0),L.drawImage(this.dom,0,0,L.canvas.width,L.canvas.height)},C.prototype._doRender=function(L){this.clear(),this.renderer.saveViewport();for(var c=0;c<this.views.length;c++)this.views[c].render(this.renderer,L);this.renderer.restoreViewport()},C.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var v=1;C.prototype._startAccumulating=function(L){var c=this;this._stopAccumulating();for(var f=!1,D=0;D<this.views.length;D++)f=this.views[D].needsAccumulate()||f;if(!f)return;function R(k){if(!(!c._accumulatingId||k!==c._accumulatingId)){for(var W=!0,z=0;z<c.views.length;z++)W=c.views[z].isAccumulateFinished()&&f;W||(c._doRender(!0),L?R(k):m()(function(){R(k)}))}}this._accumulatingId=v++,L?R(c._accumulatingId):this._accumulatingTimeout=setTimeout(function(){R(c._accumulatingId)},50)},C.prototype._trackAndClean=function(){var L=[],c=[];this._textureList&&(A(this._textureList),A(this._geometriesList));for(var f=0;f<this.views.length;f++)P(this.views[f].scene,L,c);this._textureList&&(T(this.renderer,this._textureList),T(this.renderer,this._geometriesList)),this._textureList=L,this._geometriesList=c};function A(L){for(var c=0;c<L.length;c++)L[c].__used__=0}function T(L,c){for(var f=0;f<c.length;f++)c[f].__used__||c[f].dispose(L)}function O(L,c){L.__used__=L.__used__||0,L.__used__++,L.__used__===1&&c.push(L)}function P(L,c,f){function D(k){for(var W,z,Z=0;Z<k.length;Z++){var Q=k[Z],te=Q.geometry,$=Q.material;if($!==W)for(var ie=$.getTextureUniforms(),ae=0;ae<ie.length;ae++){var re=ie[ae],ce=$.uniforms[re].value;if(ce){if(ce instanceof b.a)O(ce,c);else if(ce instanceof Array)for(var oe=0;oe<ce.length;oe++)ce[oe]instanceof b.a&&O(ce[oe],c)}}te!==z&&O(te,f),W=$,z=te}}D(L.opaqueList),D(L.transparentList);for(var R=0;R<L.lights.length;R++)L.lights[R].cubemap&&O(L.lights[R].cubemap,c)}C.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},C.prototype.onmousedown=function(L){if(!(L.target&&L.target.__isGLToZRProxy)){L=L.event;var c=this.pickObject(L.offsetX,L.offsetY);c&&(this._dispatchEvent("mousedown",L,c),this._dispatchDataEvent("mousedown",L,c)),this._downX=L.offsetX,this._downY=L.offsetY}},C.prototype.onmousemove=function(L){if(!(L.target&&L.target.__isGLToZRProxy)){L=L.event;var c=this.pickObject(L.offsetX,L.offsetY),f=c&&c.target,D=this._hovered;this._hovered=c,D&&f!==D.target&&(D.relatedTarget=f,this._dispatchEvent("mouseout",L,D),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",L,c),c&&(this.zr.setCursorStyle("pointer"),(!D||f!==D.target)&&this._dispatchEvent("mouseover",L,c)),this._dispatchDataEvent("mousemove",L,c)}},C.prototype.onmouseup=function(L){if(!(L.target&&L.target.__isGLToZRProxy)){L=L.event;var c=this.pickObject(L.offsetX,L.offsetY);c&&(this._dispatchEvent("mouseup",L,c),this._dispatchDataEvent("mouseup",L,c)),this._upX=L.offsetX,this._upY=L.offsetY}},C.prototype.onclick=C.prototype.dblclick=function(L){if(!(L.target&&L.target.__isGLToZRProxy)){var c=this._upX-this._downX,f=this._upY-this._downY;if(!(Math.sqrt(c*c+f*f)>20)){L=L.event;var D=this.pickObject(L.offsetX,L.offsetY);D&&(this._dispatchEvent(L.type,L,D),this._dispatchDataEvent(L.type,L,D));var R=this._clickToSetFocusPoint(L);if(R){var k=R.view.setDOFFocusOnPoint(R.distance);k&&this.zr.refresh()}}}},C.prototype._clickToSetFocusPoint=function(L){for(var c=this.renderer,f=c.viewport,D=this.views.length-1;D>=0;D--){var R=this.views[D];if(R.hasDOF()&&R.containPoint(L.offsetX,L.offsetY)){this._picking.scene=R.scene,this._picking.camera=R.camera,c.viewport=R.viewport;var k=this._picking.pick(L.offsetX,L.offsetY,!0);if(k)return k.view=R,k}}c.viewport=f},C.prototype.onglobalout=function(L){var c=this._hovered;c&&this._dispatchEvent("mouseout",L,{target:c.target})},C.prototype.pickObject=function(L,c){for(var f=[],D=this.renderer,R=D.viewport,k=0;k<this.views.length;k++){var W=this.views[k];W.containPoint(L,c)&&(this._picking.scene=W.scene,this._picking.camera=W.camera,D.viewport=W.viewport,this._picking.pickAll(L,c,f))}return D.viewport=R,f.sort(function(z,Z){return z.distance-Z.distance}),f[0]},C.prototype._dispatchEvent=function(L,c,f){f||(f={});var D=f.target;for(f.cancelBubble=!1,f.event=c,f.type=L,f.offsetX=c.offsetX,f.offsetY=c.offsetY;D&&(D.trigger(L,f),D=D.getParent(),!f.cancelBubble););this._dispatchToView(L,f)},C.prototype._dispatchDataEvent=function(L,c,f){var D=f&&f.target,R=D&&D.dataIndex,k=D&&D.seriesIndex,W=D&&D.eventData,z=!1,Z=this._zrEventProxy;Z.position=[c.offsetX,c.offsetY],Z.update();var Q={target:Z};L==="mousemove"&&(R!=null?R!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(Z.dataIndex=this._lastDataIndex,Z.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(Q,"mouseout",c)),z=!0):W!=null&&W!==this._lastEventData&&(this._lastEventData!=null&&(Z.eventData=this._lastEventData,this.zr.handler.dispatchToElement(Q,"mouseout",c)),z=!0),this._lastEventData=W,this._lastDataIndex=R,this._lastSeriesIndex=k),Z.eventData=W,Z.dataIndex=R,Z.seriesIndex=k,(W!=null||parseInt(R,10)>=0)&&(this.zr.handler.dispatchToElement(Q,L,c),z&&this.zr.handler.dispatchToElement(Q,"mouseover",c))},C.prototype._dispatchToView=function(L,c){for(var f=0;f<this.views.length;f++)this.views[f].containPoint(c.offsetX,c.offsetY)&&this.views[f].trigger(L,c)},w.a.util.extend(C.prototype,E.a),G.a=C},function(ee,G,_){"use strict";function F(y,b,E){typeof b=="object"&&(E=b,b=null);var g=this,m;if(!(y instanceof Function)){m=[];for(var C in y)y.hasOwnProperty(C)&&m.push(C)}var d=function(A){if(g.apply(this,arguments),y instanceof Function?w(this,y.call(this,A)):x(this,y,m),this.constructor===d)for(var T=d.__initializers__,O=0;O<T.length;O++)T[O].apply(this,arguments)};d.__super__=g,g.__initializers__?d.__initializers__=g.__initializers__.slice():d.__initializers__=[],b&&d.__initializers__.push(b);var v=function(){};return v.prototype=g.prototype,d.prototype=new v,d.prototype.constructor=d,w(d.prototype,E),d.extend=g.extend,d.derive=g.extend,d}function w(y,b){if(b)for(var E in b)b.hasOwnProperty(E)&&(y[E]=b[E])}function x(y,b,E){for(var g=0;g<E.length;g++){var m=E[g];y[m]=b[m]}}G.a={extend:F,derive:F}},function(ee,G,_){"use strict";var F=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],w=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function x(y){for(var b={},E={},g=0;g<F.length;g++){var m=F[g];d(m)}for(var g=0;g<w.length;g++){var C=w[g];E[C]=y.getParameter(y[C])}this.getExtension=function(v){return v in b||d(v),b[v]},this.getParameter=function(v){return E[v]};function d(v){var A=y.getExtension(v);A||(A=y.getExtension("MOZ_"+v)),A||(A=y.getExtension("WEBKIT_"+v)),b[v]=A}}G.a=x},function(ee,G,_){"use strict";var F=_(94),w={},x={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function y(f){return f=Math.round(f),f<0?0:f>255?255:f}function b(f){return f=Math.round(f),f<0?0:f>360?360:f}function E(f){return f<0?0:f>1?1:f}function g(f){return f.length&&f.charAt(f.length-1)==="%"?y(parseFloat(f)/100*255):y(parseInt(f,10))}function m(f){return f.length&&f.charAt(f.length-1)==="%"?E(parseFloat(f)/100):E(parseFloat(f))}function C(f,D,R){return R<0?R+=1:R>1&&(R-=1),R*6<1?f+(D-f)*R*6:R*2<1?D:R*3<2?f+(D-f)*(2/3-R)*6:f}function d(f,D,R){return f+(D-f)*R}function v(f,D,R,k,W){return f[0]=D,f[1]=R,f[2]=k,f[3]=W,f}function A(f,D){return f[0]=D[0],f[1]=D[1],f[2]=D[2],f[3]=D[3],f}var T=new F.a(20),O=null;function P(f,D){O&&A(O,D),O=T.put(f,O||D.slice())}w.parse=function(f,D){if(f){D=D||[];var R=T.get(f);if(R)return A(D,R);f=f+"";var k=f.replace(/ /g,"").toLowerCase();if(k in x)return A(D,x[k]),P(f,D),D;if(k.charAt(0)==="#"){if(k.length===4){var W=parseInt(k.substr(1),16);if(!(W>=0&&W<=4095)){v(D,0,0,0,1);return}return v(D,(W&3840)>>4|(W&3840)>>8,W&240|(W&240)>>4,W&15|(W&15)<<4,1),P(f,D),D}else if(k.length===7){var W=parseInt(k.substr(1),16);if(!(W>=0&&W<=16777215)){v(D,0,0,0,1);return}return v(D,(W&16711680)>>16,(W&65280)>>8,W&255,1),P(f,D),D}return}var z=k.indexOf("("),Z=k.indexOf(")");if(z!==-1&&Z+1===k.length){var Q=k.substr(0,z),te=k.substr(z+1,Z-(z+1)).split(","),$=1;switch(Q){case"rgba":if(te.length!==4){v(D,0,0,0,1);return}$=m(te.pop());case"rgb":if(te.length!==3){v(D,0,0,0,1);return}return v(D,g(te[0]),g(te[1]),g(te[2]),$),P(f,D),D;case"hsla":if(te.length!==4){v(D,0,0,0,1);return}return te[3]=m(te[3]),L(te,D),P(f,D),D;case"hsl":if(te.length!==3){v(D,0,0,0,1);return}return L(te,D),P(f,D),D;default:return}}v(D,0,0,0,1)}},w.parseToFloat=function(f,D){if(D=w.parse(f,D),!!D)return D[0]/=255,D[1]/=255,D[2]/=255,D};function L(f,D){var R=(parseFloat(f[0])%360+360)%360/360,k=m(f[1]),W=m(f[2]),z=W<=.5?W*(k+1):W+k-W*k,Z=W*2-z;return D=D||[],v(D,y(C(Z,z,R+1/3)*255),y(C(Z,z,R)*255),y(C(Z,z,R-1/3)*255),1),f.length===4&&(D[3]=f[3]),D}function c(f){if(f){var D=f[0]/255,R=f[1]/255,k=f[2]/255,W=Math.min(D,R,k),z=Math.max(D,R,k),Z=z-W,Q=(z+W)/2,te,$;if(Z===0)te=0,$=0;else{Q<.5?$=Z/(z+W):$=Z/(2-z-W);var ie=((z-D)/6+Z/2)/Z,ae=((z-R)/6+Z/2)/Z,re=((z-k)/6+Z/2)/Z;D===z?te=re-ae:R===z?te=1/3+ie-re:k===z&&(te=2/3+ae-ie),te<0&&(te+=1),te>1&&(te-=1)}var ce=[te*360,$,Q];return f[3]!=null&&ce.push(f[3]),ce}}w.lift=function(f,D){var R=w.parse(f);if(R){for(var k=0;k<3;k++)D<0?R[k]=R[k]*(1-D)|0:R[k]=(255-R[k])*D+R[k]|0;return w.stringify(R,R.length===4?"rgba":"rgb")}},w.toHex=function(f){var D=w.parse(f);if(D)return((1<<24)+(D[0]<<16)+(D[1]<<8)+ +D[2]).toString(16).slice(1)},w.fastLerp=function(f,D,R){if(!(!(D&&D.length)||!(f>=0&&f<=1))){R=R||[];var k=f*(D.length-1),W=Math.floor(k),z=Math.ceil(k),Z=D[W],Q=D[z],te=k-W;return R[0]=y(d(Z[0],Q[0],te)),R[1]=y(d(Z[1],Q[1],te)),R[2]=y(d(Z[2],Q[2],te)),R[3]=E(d(Z[3],Q[3],te)),R}},w.fastMapToColor=w.fastLerp,w.lerp=function(f,D,R){if(!(!(D&&D.length)||!(f>=0&&f<=1))){var k=f*(D.length-1),W=Math.floor(k),z=Math.ceil(k),Z=w.parse(D[W]),Q=w.parse(D[z]),te=k-W,$=w.stringify([y(d(Z[0],Q[0],te)),y(d(Z[1],Q[1],te)),y(d(Z[2],Q[2],te)),E(d(Z[3],Q[3],te))],"rgba");return R?{color:$,leftIndex:W,rightIndex:z,value:k}:$}},w.mapToColor=w.lerp,w.modifyHSL=function(f,D,R,k){if(f=w.parse(f),f)return f=c(f),D!=null&&(f[0]=b(D)),R!=null&&(f[1]=m(R)),k!=null&&(f[2]=m(k)),w.stringify(L(f),"rgba")},w.modifyAlpha=function(f,D){if(f=w.parse(f),f&&D!=null)return f[3]=E(D),w.stringify(f,"rgba")},w.stringify=function(f,D){if(!(!f||!f.length)){var R=f[0]+","+f[1]+","+f[2];return(D==="rgba"||D==="hsva"||D==="hsla")&&(R+=","+f[3]),D+"("+R+")"}},G.a=w},function(ee,G,_){"use strict";var F=_(95),w=function(x){this._list=new F.a,this._map={},this._maxSize=x||10};w.prototype.setMaxSize=function(x){this._maxSize=x},w.prototype.put=function(x,y){if(typeof this._map[x]=="undefined"){var b=this._list.length();if(b>=this._maxSize&&b>0){var E=this._list.head;this._list.remove(E),delete this._map[E.key]}var g=this._list.insert(y);g.key=x,this._map[x]=g}},w.prototype.get=function(x){var y=this._map[x];if(typeof y!="undefined")return y!==this._list.tail&&(this._list.remove(y),this._list.insertEntry(y)),y.value},w.prototype.remove=function(x){var y=this._map[x];typeof y!="undefined"&&(delete this._map[x],this._list.remove(y))},w.prototype.clear=function(){this._list.clear(),this._map={}},G.a=w},function(ee,G,_){"use strict";var F=function(){this.head=null,this.tail=null,this._length=0};F.prototype.insert=function(w){var x=new F.Entry(w);return this.insertEntry(x),x},F.prototype.insertAt=function(w,x){if(!(w<0)){for(var y=this.head,b=0;y&&b!=w;)y=y.next,b++;if(y){var E=new F.Entry(x),g=y.prev;g?(g.next=E,E.prev=g):this.head=E,E.next=y,y.prev=E}else this.insert(x)}},F.prototype.insertBeforeEntry=function(w,x){var y=new F.Entry(w),b=x.prev;b?(b.next=y,y.prev=b):this.head=y,y.next=x,x.prev=y,this._length++},F.prototype.insertEntry=function(w){this.head?(this.tail.next=w,w.prev=this.tail,this.tail=w):this.head=this.tail=w,this._length++},F.prototype.remove=function(w){var x=w.prev,y=w.next;x?x.next=y:this.head=y,y?y.prev=x:this.tail=x,w.next=w.prev=null,this._length--},F.prototype.removeAt=function(w){if(!(w<0)){for(var x=this.head,y=0;x&&y!=w;)x=x.next,y++;if(x)return this.remove(x),x.value}},F.prototype.getHead=function(){if(this.head)return this.head.value},F.prototype.getTail=function(){if(this.tail)return this.tail.value},F.prototype.getAt=function(w){if(!(w<0)){for(var x=this.head,y=0;x&&y!=w;)x=x.next,y++;return x.value}},F.prototype.indexOf=function(w){for(var x=this.head,y=0;x;){if(x.value===w)return y;x=x.next,y++}},F.prototype.length=function(){return this._length},F.prototype.isEmpty=function(){return this._length===0},F.prototype.forEach=function(w,x){for(var y=this.head,b=0,E=typeof x!="undefined";y;)E?w.call(x,y.value,b):w(y.value,b),y=y.next,b++},F.prototype.clear=function(){this.tail=this.head=null,this._length=0},F.Entry=function(w){this.value=w,this.next=null,this.prev=null},G.a=F},function(ee,G,_){"use strict";var F=_(97),w=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function x(m,C,d){function v(O,P,L,c){var f="";isNaN(P)&&(P in C?P=C[P]:P=A[P]),isNaN(L)&&(L in C?L=C[L]:L=A[L]);for(var D=parseInt(P);D<parseInt(L);D++)f+="{"+c.replace(/float\s*\(\s*_idx_\s*\)/g,D.toFixed(1)).replace(/_idx_/g,D)+"}";return f}var A={};for(var T in d)A[T+"_COUNT"]=d[T];return m.replace(w,v)}function y(m,C,d){var v=[];if(C)for(var A in C){var T=C[A];T>0&&v.push("#define "+A.toUpperCase()+"_COUNT "+T)}if(d)for(var O=0;O<d.length;O++){var P=d[O];v.push("#define "+P.toUpperCase()+"_ENABLED")}for(var P in m){var L=m[P];L===null?v.push("#define "+P):v.push("#define "+P+" "+L.toString())}return v.join(`
`)}function b(m){for(var C=[],d=0;d<m.length;d++)C.push("#extension GL_"+m[d]+" : enable");return C.join(`
`)}function E(m){return["precision",m,"float"].join(" ")+`;
`+["precision",m,"int"].join(" ")+`;
`+["precision",m,"sampler2D"].join(" ")+`;
`}function g(m){this._renderer=m,this._cache={}}g.prototype.getProgram=function(m,C,d){var v=this._cache,A="s"+C.shader.shaderID+"m"+C.programKey;d&&(A+="se"+d.getProgramKey(m.lightGroup)),m.isSkinnedMesh()&&(A+=","+m.joints.length);var Z=v[A];if(Z)return Z;var T=d?d.getLightsNumbers(m.lightGroup):{},O=this._renderer,P=O.gl,L=C.getEnabledTextures(),c="";m.isSkinnedMesh()&&(c=`
`+y({SKINNING:null,JOINT_COUNT:m.joints.length})+`
`);var f=c+y(C.vertexDefines,T,L),D=c+y(C.fragmentDefines,T,L),R=f+`
`+C.shader.vertex,k=b(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
`+E(C.precision)+`
`+D+`
`+C.shader.fragment,W=x(R,C.vertexDefines,T),z=x(k,C.fragmentDefines,T),Z=new F.a;Z.uniformSemantics=C.shader.uniformSemantics,Z.attributes=C.shader.attributes;var Q=Z.buildProgram(P,C.shader,W,z);return Z.__error=Q,v[A]=Z,Z},G.a=g},function(ee,G,_){"use strict";var F=_(18),w=_(8),x=1,y=2,b=3,E={};function g(d){for(var v=d.split(`
`),A=0,T=v.length;A<T;A++)v[A]=A+1+": "+v[A];return v.join(`
`)}function m(d,v,A){if(!d.getShaderParameter(v,d.COMPILE_STATUS))return[d.getShaderInfoLog(v),g(A)].join(`
`)}var C=w.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(d){this._textureSlot=0,d.gl.useProgram(this._program)},hasUniform:function(d){var v=this._locations[d];return v!=null},useTextureSlot:function(d,v,A){v&&(d.gl.activeTexture(d.gl.TEXTURE0+A),v.isRenderable()?v.bind(d):v.unbind(d))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(d){this._textureSlot=d||0},takeCurrentTextureSlot:function(d,v){var A=this._textureSlot;return this.useTextureSlot(d,v,A),this._textureSlot++,A},setUniform:function(d,v,A,T){var O=this._locations,P=O[A];if(P==null)return!1;switch(v){case"m4":d.uniformMatrix4fv(P,!1,T);break;case"2i":d.uniform2i(P,T[0],T[1]);break;case"2f":d.uniform2f(P,T[0],T[1]);break;case"3i":d.uniform3i(P,T[0],T[1],T[2]);break;case"3f":d.uniform3f(P,T[0],T[1],T[2]);break;case"4i":d.uniform4i(P,T[0],T[1],T[2],T[3]);break;case"4f":d.uniform4f(P,T[0],T[1],T[2],T[3]);break;case"1i":d.uniform1i(P,T);break;case"1f":d.uniform1f(P,T);break;case"1fv":d.uniform1fv(P,T);break;case"1iv":d.uniform1iv(P,T);break;case"2iv":d.uniform2iv(P,T);break;case"2fv":d.uniform2fv(P,T);break;case"3iv":d.uniform3iv(P,T);break;case"3fv":d.uniform3fv(P,T);break;case"4iv":d.uniform4iv(P,T);break;case"4fv":d.uniform4fv(P,T);break;case"m2":case"m2v":d.uniformMatrix2fv(P,!1,T);break;case"m3":case"m3v":d.uniformMatrix3fv(P,!1,T);break;case"m4v":if(Array.isArray(T)){for(var L=new F.a.Float32Array(T.length*16),c=0,f=0;f<T.length;f++)for(var D=T[f],R=0;R<16;R++)L[c++]=D[R];d.uniformMatrix4fv(P,!1,L)}else T instanceof F.a.Float32Array&&d.uniformMatrix4fv(P,!1,T);break}return!0},setUniformOfSemantic:function(d,v,A){var T=this.uniformSemantics[v];return T?this.setUniform(d,T.type,T.symbol,A):!1},enableAttributes:function(d,v,A){var T=d.gl,O=this._program,P=this._locations,L;A?L=A.__enabledAttributeList:L=E[d.__uid__],L||(A?L=A.__enabledAttributeList=[]:L=E[d.__uid__]=[]);for(var c=[],f=0;f<v.length;f++){var D=v[f];if(!this.attributes[D]){c[f]=-1;continue}var R=P[D];if(R==null){if(R=T.getAttribLocation(O,D),R===-1){c[f]=-1;continue}P[D]=R}c[f]=R,L[R]?L[R]=y:L[R]=x}for(var f=0;f<L.length;f++)switch(L[f]){case x:T.enableVertexAttribArray(f),L[f]=b;break;case y:L[f]=b;break;case b:T.disableVertexAttribArray(f),L[f]=0;break}return c},buildProgram:function(d,v,A,T){var O=d.createShader(d.VERTEX_SHADER),P=d.createProgram();d.shaderSource(O,A),d.compileShader(O);var L=d.createShader(d.FRAGMENT_SHADER);d.shaderSource(L,T),d.compileShader(L);var c=m(d,O,A);if(c||(c=m(d,L,T),c))return c;if(d.attachShader(P,O),d.attachShader(P,L),v.attributeSemantics.POSITION)d.bindAttribLocation(P,0,v.attributeSemantics.POSITION.symbol);else{var f=Object.keys(this.attributes);d.bindAttribLocation(P,0,f[0])}if(d.linkProgram(P),!d.getProgramParameter(P,d.LINK_STATUS))return`Could not link program
VALIDATE_STATUS: `+d.getProgramParameter(P,d.VALIDATE_STATUS)+", gl error ["+d.getError()+"]";for(var D=0;D<v.uniforms.length;D++){var R=v.uniforms[D];this._locations[R]=d.getUniformLocation(P,R)}d.deleteShader(O),d.deleteShader(L),this._program=P,this.vertexCode=A,this.fragmentCode=T}});G.a=C},function(ee,G,_){"use strict";var F=_(99),w="uniform vec3 ",x="uniform float ",y="@export clay.header.",b="@end",E=":unconfigurable;";G.a=[y+"directional_light",w+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+E,w+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+E,b,y+"ambient_light",w+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+E,b,y+"ambient_sh_light",w+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+E,w+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+E,F.a,b,y+"ambient_cubemap_light",w+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+E,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+E,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+E,b,y+"point_light",w+"pointLightPosition[POINT_LIGHT_COUNT]"+E,x+"pointLightRange[POINT_LIGHT_COUNT]"+E,w+"pointLightColor[POINT_LIGHT_COUNT]"+E,b,y+"spot_light",w+"spotLightPosition[SPOT_LIGHT_COUNT]"+E,w+"spotLightDirection[SPOT_LIGHT_COUNT]"+E,x+"spotLightRange[SPOT_LIGHT_COUNT]"+E,x+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+E,x+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+E,x+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+E,w+"spotLightColor[SPOT_LIGHT_COUNT]"+E,b].join(`
`)},function(ee,G,_){"use strict";G.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
int offset = 9 * idx;
return ambientSHLightCoefficients[0]
+ ambientSHLightCoefficients[1] * N.x
+ ambientSHLightCoefficients[2] * N.y
+ ambientSHLightCoefficients[3] * N.z
+ ambientSHLightCoefficients[4] * N.x * N.z
+ ambientSHLightCoefficients[5] * N.z * N.y
+ ambientSHLightCoefficients[6] * N.y * N.x
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
}`},function(ee,G,_){"use strict";var F=_(8),w=_(49),x=_(23),y=_(4),b=_(9),E=_(64),g=_(11),m=_(1),C=_.n(m),d=C.a.vec3,v=F.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new w.a,this._ndc=new x.a},{pick:function(A,T,O){var P=this.pickAll(A,T,[],O);return P[0]||null},pickAll:function(A,T,O,P){return this.renderer.screenToNDC(A,T,this._ndc),this.camera.castRay(this._ndc,this._ray),O=O||[],this._intersectNode(this.scene,O,P||!1),O.sort(this._intersectionCompareFunc),O},_intersectNode:function(A,T,O){A instanceof E.a&&A.isRenderable()&&(!A.ignorePicking||O)&&(A.mode===g.a.TRIANGLES&&A.geometry.isUseIndices()||A.geometry.pickByRay||A.geometry.pick)&&this._intersectRenderable(A,T);for(var P=0;P<A._children.length;P++)this._intersectNode(A._children[P],T,O)},_intersectRenderable:function(){var A=new y.a,T=new y.a,O=new y.a,P=new w.a,L=new b.a;return function(c,f){var D=c.isSkinnedMesh();P.copy(this._ray),b.a.invert(L,c.worldTransform),D||P.applyTransform(L);var R=c.geometry;if(!(!D&&R.boundingBox&&!P.intersectBoundingBox(R.boundingBox))){if(R.pick){R.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,c,f);return}else if(R.pickByRay){R.pickByRay(P,c,f);return}var k=c.cullFace===g.a.BACK&&c.frontFace===g.a.CCW||c.cullFace===g.a.FRONT&&c.frontFace===g.a.CW,W,z=R.indices,Z=R.attributes.position,Q=R.attributes.weight,te=R.attributes.joint,$,ie=[];if(!(!Z||!Z.value||!z)){if(D){$=c.skeleton.getSubSkinMatrices(c.__uid__,c.joints);for(var ae=0;ae<c.joints.length;ae++){ie[ae]=ie[ae]||[];for(var re=0;re<16;re++)ie[ae][re]=$[ae*16+re]}var ce=[],oe=[],he=[],se=[],pe=[],me=R.attributes.skinnedPosition;(!me||!me.value)&&(R.createAttribute("skinnedPosition","f",3),me=R.attributes.skinnedPosition,me.init(R.vertexCount));for(var ae=0;ae<R.vertexCount;ae++){Z.get(ae,ce),Q.get(ae,oe),te.get(ae,he),oe[3]=1-oe[0]-oe[1]-oe[2],d.set(se,0,0,0);for(var re=0;re<4;re++)he[re]>=0&&oe[re]>1e-4&&(d.transformMat4(pe,ce,ie[he[re]]),d.scaleAndAdd(se,se,pe,oe[re]));me.set(ae,se)}}for(var ae=0;ae<z.length;ae+=3){var ge=z[ae],Ee=z[ae+1],Ae=z[ae+2],Fe=D?R.attributes.skinnedPosition:Z;if(Fe.get(ge,A.array),Fe.get(Ee,T.array),Fe.get(Ae,O.array),k?W=P.intersectTriangle(A,T,O,c.culling):W=P.intersectTriangle(A,O,T,c.culling),W){var Ue=new y.a;D?y.a.copy(Ue,W):y.a.transformMat4(Ue,W,c.worldTransform),f.push(new v.Intersection(W,Ue,c,[ge,Ee,Ae],ae/3,y.a.dist(Ue,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(A,T){return A.distance-T.distance}});v.Intersection=function(A,T,O,P,L,c){this.point=A,this.pointWorld=T,this.target=O,this.triangle=P,this.triangleIndex=L,this.distance=c},G.a=v},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function y(g,m){if(g&&g[m]&&(g[m].normal||g[m].emphasis)){var C=g[m].normal,d=g[m].emphasis;C&&(g[m]=C),d&&(g.emphasis=g.emphasis||{},g.emphasis[m]=d)}}function b(g){y(g,"itemStyle"),y(g,"lineStyle"),y(g,"areaStyle"),y(g,"label")}function E(g){g&&(g instanceof Array||(g=[g]),w.a.util.each(g,function(m){if(m.axisLabel){var C=m.axisLabel;w.a.util.extend(C,C.textStyle),C.textStyle=null}}))}G.a=function(g){w.a.util.each(g.series,function(m){w.a.util.indexOf(x,m.type)>=0&&(b(m),m.coordinateSystem==="mapbox"&&(m.coordinateSystem="mapbox3D",g.mapbox3D=g.mapbox))}),E(g.xAxis3D),E(g.yAxis3D),E(g.zAxis3D),E(g.grid3D),y(g.geo3D)}},function(ee,G,_){"use strict";function F(w){var x=new XMLHttpRequest;x.open("get",w.url),x.responseType=w.responseType||"text",w.onprogress&&(x.onprogress=function(y){if(y.lengthComputable){var b=y.loaded/y.total;w.onprogress(b,y.loaded,y.total)}else w.onprogress(null)}),x.onload=function(y){x.status>=400?w.onerror&&w.onerror():w.onload&&w.onload(x.response)},w.onerror&&(x.onerror=w.onerror),x.send(null)}G.a={get:F}},function(ee,G,_){"use strict";G.a=`@export clay.basic.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position : POSITION;
attribute vec3 barycentric;
@import clay.chunk.skinning_header
varying vec2 v_Texcoord;
varying vec3 v_Barycentric;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_Barycentric = barycentric;
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
}
@end
@export clay.basic.fragment
varying vec2 v_Texcoord;
uniform sampler2D diffuseMap;
uniform vec3 color : [1.0, 1.0, 1.0];
uniform vec3 emission : [0.0, 0.0, 0.0];
uniform float alpha : 1.0;
#ifdef ALPHA_TEST
uniform float alphaCutoff: 0.9;
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
uniform float lineWidth : 0.0;
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
varying vec3 v_Barycentric;
@import clay.util.edge_factor
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
#ifdef RENDER_TEXCOORD
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
return;
#endif
gl_FragColor = vec4(color, alpha);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef DIFFUSEMAP_ENABLED
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
#ifdef SRGB_DECODE
tex = sRGBToLinear(tex);
#endif
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
gl_FragColor.a = tex.a;
#endif
gl_FragColor.rgb *= tex.rgb;
#endif
gl_FragColor.rgb += emission;
if( lineWidth > 0.)
{
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
}
#ifdef ALPHA_TEST
if (gl_FragColor.a < alphaCutoff) {
discard;
}
#endif
#ifdef TONEMAPPING
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
#endif
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
gl_FragColor = encodeHDR(gl_FragColor);
}
@end`},function(ee,G,_){"use strict";var F=_(6),w=_(5),x=_(25),y=542327876,b=1,E=2,g=4,m=8,C=4096,d=131072,v=524288,A=8388608,T=8,O=4194304,P=4096,L=512,c=1024,f=2048,D=4096,R=8192,k=16384,W=32768,z=2097152,Z=1,Q=2,te=4,$=64,ie=512,ae=131072;function re(it){return it.charCodeAt(0)+(it.charCodeAt(1)<<8)+(it.charCodeAt(2)<<16)+(it.charCodeAt(3)<<24)}function ce(it){return String.fromCharCode(it&255,it>>8&255,it>>16&255,it>>24&255)}var oe=31,he=re("DXT1"),se=re("DXT3"),pe=re("DXT5"),me=0,ge=1,Ee=2,Ae=3,Fe=4,Ue=7,nt=20,rt=21,qe=27,dt=28,yt=29,je=30,at={parse:function(it,ht){var ut=new Int32Array(it,0,oe);if(ut[me]!==y||!ut(nt)&te)return null;var Mt=ut(rt),Ce=ut[Fe],ot=ut[Ae],Pe=ut[dt]&L,Ne=ut[Ee]&d,We,Be;switch(Mt){case he:We=8,Be=F.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case se:We=16,Be=F.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case pe:We=16,Be=F.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var Ve=ut[ge]+4,$e=Pe?6:1,lt=1;Ne&&(lt=Math.max(1,ut[Ue]));for(var pt=[],xt=0;xt<$e;xt++){var wt=Ce,Dt=ot;pt[xt]=new w.a({width:wt,height:Dt,format:Be});for(var kt=[],Yt=0;Yt<lt;Yt++){var Wt=Math.max(4,wt)/4*Math.max(4,Dt)/4*We,Ot=new Uint8Array(it,Ve,Wt);Ve+=Wt,wt*=.5,Dt*=.5,kt[Yt]=Ot}pt[xt].pixels=kt[0],Ne&&(pt[xt].mipmaps=kt)}if(ht)ht.width=pt[0].width,ht.height=pt[0].height,ht.format=pt[0].format,ht.pixels=pt[0].pixels,ht.mipmaps=pt[0].mipmaps;else return pt[0]}};G.a=at},function(ee,G,_){"use strict";var F=_(6),w=_(5),x=String.fromCharCode,y=8,b=32767;function E(A,T,O,P){if(A[3]>0){var L=Math.pow(2,A[3]-128-8+P);T[O+0]=A[0]*L,T[O+1]=A[1]*L,T[O+2]=A[2]*L}else T[O+0]=0,T[O+1]=0,T[O+2]=0;return T[O+3]=1,T}function g(A,T,O){for(var P="",L=T;L<O;L++)P+=x(A[L]);return P}function m(A,T){T[0]=A[0],T[1]=A[1],T[2]=A[2],T[3]=A[3]}function C(A,T,O,P){for(var L=0,c=0,f=P;f>0;)if(A[c][0]=T[O++],A[c][1]=T[O++],A[c][2]=T[O++],A[c][3]=T[O++],A[c][0]===1&&A[c][1]===1&&A[c][2]===1){for(var D=A[c][3]<<L>>>0;D>0;D--)m(A[c-1],A[c]),c++,f--;L+=8}else c++,f--,L=0;return O}function d(A,T,O,P){if(P<y|P>b)return C(A,T,O,P);var L=T[O++];if(L!=2)return C(A,T,O-1,P);if(A[0][1]=T[O++],A[0][2]=T[O++],L=T[O++],(A[0][2]<<8>>>0|L)>>>0!==P)return null;for(var L=0;L<4;L++)for(var c=0;c<P;){var f=T[O++];if(f>128){f=(f&127)>>>0;for(var D=T[O++];f--;)A[c++][L]=D}else for(;f--;)A[c++][L]=T[O++]}return O}var v={parseRGBE:function(A,T,O){O==null&&(O=0);var P=new Uint8Array(A),L=P.length;if(g(P,0,2)==="#?"){for(var c=2;c<L&&!(x(P[c])===`
`&&x(P[c+1])===`
`);c++);if(!(c>=L)){c+=2;for(var f="";c<L;c++){var D=x(P[c]);if(D===`
`)break;f+=D}var R=f.split(" "),k=parseInt(R[1]),W=parseInt(R[3]);if(!(!W||!k)){for(var z=c+1,Z=[],Q=0;Q<W;Q++){Z[Q]=[];for(var te=0;te<4;te++)Z[Q][te]=0}for(var $=new Float32Array(W*k*4),ie=0,ae=0;ae<k;ae++){var z=d(Z,P,z,W);if(!z)return null;for(var Q=0;Q<W;Q++)E(Z[Q],$,ie,O),ie+=4}return T||(T=new w.a),T.width=W,T.height=k,T.pixels=$,T.type=F.a.FLOAT,T}}}},parseRGBEFromPNG:function(A){}};G.a=v},function(ee,G,_){"use strict";var F=_(5),w=_(4),x=_(23),y=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function b(g){return"_on"+g}var E=function(g){var m=this;this._texture=new F.a({anisotropic:32,flipY:!1,surface:this,dispose:function(C){m.dispose(),F.a.prototype.dispose.call(this,C)}}),y.forEach(function(C){this[b(C)]=function(d){d.triangle&&this._meshes.forEach(function(v){this.dispatchEvent(C,v,d.triangle,d.point)},this)}},this),this._meshes=[],g&&this.setECharts(g),this.onupdate=null};E.prototype={constructor:E,getTexture:function(){return this._texture},setECharts:function(g){this._chart=g;var m=g.getDom();if(!(m instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),m=document.createElement("canvas");else{var C=this,d=g.getZr(),v=d.__oldRefreshImmediately||d.refreshImmediately;d.refreshImmediately=function(){v.call(this),C._texture.dirty(),C.onupdate&&C.onupdate()},d.__oldRefreshImmediately=v}this._texture.image=m,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var g=new w.a,m=new w.a,C=new w.a,d=new x.a,v=new x.a,A=new x.a,T=new x.a,O=new w.a;return function(P,L,c,f){var D=L.geometry,R=D.attributes.position,k=D.attributes.texcoord0,W=w.a.dot,z=w.a.cross;R.get(c[0],g.array),R.get(c[1],m.array),R.get(c[2],C.array),k.get(c[0],d.array),k.get(c[1],v.array),k.get(c[2],A.array),z(O,m,C);var Z=W(g,O),Q=W(f,O)/Z;z(O,C,g);var te=W(f,O)/Z;z(O,g,m);var $=W(f,O)/Z;x.a.scale(T,d,Q),x.a.scaleAndAdd(T,T,v,te),x.a.scaleAndAdd(T,T,A,$);var ie=T.x*this._chart.getWidth(),ae=T.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(P,{zrX:ie,zrY:ae})}}(),attachToMesh:function(g){this._meshes.indexOf(g)>=0||(y.forEach(function(m){g.on(m,this[b(m)],this)},this),this._meshes.push(g))},detachFromMesh:function(g){var m=this._meshes.indexOf(g);m>=0&&this._meshes.splice(m,1),y.forEach(function(C){g.off(C,this[b(C)])},this)},dispose:function(){this._meshes.forEach(function(g){this.detachFromMesh(g)},this)}},G.a=E},function(ee,G,_){"use strict";var F=_(19),w=_(108),x=F.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(y,b){this._brdfLookup||(this._normalDistribution=w.a.generateNormalDistribution(),this._brdfLookup=w.a.integrateBRDF(y,this._normalDistribution));var E=this.cubemap;if(!E.__prefiltered){var g=w.a.prefilterEnvironmentMap(y,E,{encodeRGBM:!0,width:b,height:b},this._normalDistribution,this._brdfLookup);this.cubemap=g.environmentMap,this.cubemap.__prefiltered=!0,E.dispose(y)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(y){var b=y.color,E=y.intensity;return[b[0]*E,b[1]*E,b[2]*E]}},ambientCubemapLightCubemap:{type:"t",value:function(y){return y.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(y){return y._brdfLookup}}}});G.a=x},function(ee,G,_){"use strict";var F=_(5),w=_(25),x=_(6),y=_(10),b=_(14),E=_(17),g=_(7),m=_(57),C=_(29),d=_(55),v=_(18),A=_(54),T=_(111),O=_(112),P={},L=["px","nx","py","ny","pz","nz"];P.prefilterEnvironmentMap=function(c,f,D,R,k){(!k||!R)&&(R=P.generateNormalDistribution(),k=P.integrateBRDF(c,R)),D=D||{};var W=D.width||64,z=D.height||64,Z=D.type||f.type,Q=new w.a({width:W,height:z,type:Z,flipY:!1,mipmaps:[]});Q.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var te=Math.min(W,z),$=Math.log(te)/Math.log(2)+1,ie=new E.a({shader:new g.a({vertex:g.a.source("clay.skybox.vertex"),fragment:O.a})});ie.set("normalDistribution",R),D.encodeRGBM&&ie.define("fragment","RGBM_ENCODE"),D.decodeRGBM&&ie.define("fragment","RGBM_DECODE");var ae=new C.a,re;if(f instanceof F.a){var ce=new w.a({width:W,height:z,type:Z===x.a.FLOAT?x.a.HALF_FLOAT:Z});A.a.panoramaToCubeMap(c,f,ce,{encodeRGBM:D.decodeRGBM}),f=ce}re=new m.a({scene:ae,material:ie}),re.material.set("environmentMap",f);var oe=new d.a({texture:Q});D.encodeRGBM&&(Z=Q.type=x.a.UNSIGNED_BYTE);for(var he=new F.a({width:W,height:z,type:Z}),se=new y.a({depthBuffer:!1}),pe=v.a[Z===x.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],me=0;me<$;me++){Q.mipmaps[me]={pixels:{}},re.material.set("roughness",me/(L.length-1));for(var ge=he.width,Ee=2*Math.atan(ge/(ge-.5))/Math.PI*180,Ae=0;Ae<L.length;Ae++){var Fe=new pe(he.width*he.height*4);se.attach(he),se.bind(c);var Ue=oe.getCamera(L[Ae]);Ue.fov=Ee,c.render(ae,Ue),c.gl.readPixels(0,0,he.width,he.height,x.a.RGBA,Z,Fe),se.unbind(c),Q.mipmaps[me].pixels[L[Ae]]=Fe}he.width/=2,he.height/=2,he.dirty()}return se.dispose(c),he.dispose(c),re.dispose(c),R.dispose(c),{environmentMap:Q,brdfLookup:k,normalDistribution:R,maxMipmapLevel:$}},P.integrateBRDF=function(c,f){f=f||P.generateNormalDistribution();var D=new y.a({depthBuffer:!1}),R=new b.a({fragment:T.a}),k=new F.a({width:512,height:256,type:x.a.HALF_FLOAT,minFilter:x.a.NEAREST,magFilter:x.a.NEAREST,useMipmap:!1});return R.setUniform("normalDistribution",f),R.setUniform("viewportSize",[512,256]),R.attachOutput(k),R.render(c,D),D.dispose(c),k},P.generateNormalDistribution=function(D,R){for(var D=D||256,R=R||1024,k=new F.a({width:D,height:R,type:x.a.FLOAT,minFilter:x.a.NEAREST,magFilter:x.a.NEAREST,useMipmap:!1}),W=new Float32Array(R*D*4),z=0;z<R;z++){var Z=z/R,Q=(z<<16|z>>>16)>>>0;Q=((Q&1431655765)<<1|(Q&2863311530)>>>1)>>>0,Q=((Q&858993459)<<2|(Q&3435973836)>>>2)>>>0,Q=((Q&252645135)<<4|(Q&4042322160)>>>4)>>>0,Q=(((Q&16711935)<<8|(Q&4278255360)>>>8)>>>0)/4294967296;for(var te=0;te<D;te++){var $=te/D,ie=$*$,ae=2*Math.PI*Z,re=Math.sqrt((1-Q)/(1+(ie*ie-1)*Q)),ce=Math.sqrt(1-re*re),oe=(z*D+te)*4;W[oe]=ce*Math.cos(ae),W[oe+1]=ce*Math.sin(ae),W[oe+2]=re,W[oe+3]=1}}return k.pixels=W,k},G.a=P},function(ee,G,_){"use strict";G.a=`
@export clay.compositor.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
varying vec2 v_Texcoord;
void main()
{
v_Texcoord = texcoord;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.skybox.vertex
uniform mat4 world : WORLD;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
varying vec3 v_WorldPosition;
void main()
{
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export clay.skybox.fragment
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform float lod: 0.0;
varying vec3 v_WorldPosition;
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
vec3 eyePos = viewInverse[3].xyz;
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
#ifdef LOD
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
#else
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
#endif
#ifdef SRGB_DECODE
texel = sRGBToLinear(texel);
#endif
#ifdef TONEMAPPING
texel.rgb = ACESToneMapping(texel.rgb);
#endif
#ifdef SRGB_ENCODE
texel = linearTosRGB(texel);
#endif
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
}
@end`},function(ee,G,_){"use strict";G.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform sampler2D normalDistribution;
uniform vec2 viewportSize : [512, 256];
const vec3 N = vec3(0.0, 0.0, 1.0);
const float fSampleNumber = float(SAMPLE_NUMBER);
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
float G_Smith(float roughness, float NoV, float NoL) {
float k = roughness * roughness / 2.0;
float G1V = NoV / (NoV * (1.0 - k) + k);
float G1L = NoL / (NoL * (1.0 - k) + k);
return G1L * G1V;
}
void main() {
vec2 uv = gl_FragCoord.xy / viewportSize;
float NoV = uv.x;
float roughness = uv.y;
vec3 V;
V.x = sqrt(1.0 - NoV * NoV);
V.y = 0.0;
V.z = NoV;
float A = 0.0;
float B = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(L.z, 0.0, 1.0);
float NoH = clamp(H.z, 0.0, 1.0);
float VoH = clamp(dot(V, H), 0.0, 1.0);
if (NoL > 0.0) {
float G = G_Smith(roughness, NoV, NoL);
float G_Vis = G * VoH / (NoH * NoV);
float Fc = pow(1.0 - VoH, 5.0);
A += (1.0 - Fc) * G_Vis;
B += Fc * G_Vis;
}
}
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
}
`},function(ee,G,_){"use strict";G.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform sampler2D normalDistribution;
uniform float roughness : 0.5;
varying vec2 v_Texcoord;
varying vec3 v_WorldPosition;
const float fSampleNumber = float(SAMPLE_NUMBER);
@import clay.util.rgbm
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
void main() {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(v_WorldPosition - eyePos);
vec3 N = V;
vec3 R = V;
vec3 prefilteredColor = vec3(0.0);
float totalWeight = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(dot(N, L), 0.0, 1.0);
if (NoL > 0.0) {
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
totalWeight += NoL;
}
}
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
}
`},function(ee,G,_){"use strict";var F=_(19),w=_(18),x=F.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new w.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(y){var b=y.color,E=y.intensity;return[b[0]*E,b[1]*E,b[2]*E]}},ambientSHLightCoefficients:{type:"3f",value:function(y){for(var b=y._coefficientsTmpArr,E=0;E<y.coefficients.length;E++)b[E]=y.coefficients[E];return b}}}});G.a=x},function(ee,G,_){"use strict";var F=_(6),w=_(10),x=_(5),y=_(14),b=_(18),E=_(57),g=_(56),m=_(55),C=_(29),d=_(1),v=_.n(d),A=_(115),T=v.a.vec3,O={},P=["px","nx","py","ny","pz","nz"];function L(R,k){var W=new x.a({width:9,height:1,type:F.a.FLOAT}),z=new y.a({fragment:A.a});z.material.define("fragment","TEXTURE_SIZE",k.width),z.setUniform("environmentMap",k);var Z=new w.a;Z.attach(W),z.render(R,Z),Z.bind(R);var Q=new b.a.Float32Array(9*4);R.gl.readPixels(0,0,9,1,F.a.RGBA,F.a.FLOAT,Q);for(var te=new b.a.Float32Array(9*3),$=0;$<9;$++)te[$*3]=Q[$*4],te[$*3+1]=Q[$*4+1],te[$*3+2]=Q[$*4+2];return Z.unbind(R),Z.dispose(R),z.dispose(R),te}function c(R,k){var W=R[0],z=R[1],Z=R[2];return k===0?1:k===1?W:k===2?z:k===3?Z:k===4?W*Z:k===5?z*Z:k===6?W*z:k===7?3*Z*Z-1:W*W-z*z}var f={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function D(R,k,W,z){for(var Z=new b.a.Float32Array(27),Q=T.create(),te=T.create(),$=T.create(),ie=0;ie<9;ie++){for(var ae=T.create(),re=0;re<P.length;re++){for(var ce=k[P[re]],oe=T.create(),he=0,se=0,pe=f[P[re]],me=0;me<z;me++)for(var ge=0;ge<W;ge++){Q[0]=ge/(W-1)*2-1,Q[1]=me/(z-1)*2-1,Q[2]=-1,T.normalize(Q,Q),$[0]=Q[pe[0]]*pe[3],$[1]=Q[pe[1]]*pe[4],$[2]=Q[pe[2]]*pe[5],te[0]=ce[se++]/255,te[1]=ce[se++]/255,te[2]=ce[se++]/255;var Ee=ce[se++]/255*51.5;te[0]*=Ee,te[1]*=Ee,te[2]*=Ee,T.scaleAndAdd(oe,oe,te,c($,ie)*-Q[2]),he+=-Q[2]}T.scaleAndAdd(ae,ae,oe,1/he)}Z[ie*3]=ae[0]/6,Z[ie*3+1]=ae[1]/6,Z[ie*3+2]=ae[2]/6}return Z}O.projectEnvironmentMap=function(R,k,W){W=W||{},W.lod=W.lod||0;var z,Z=new C.a,Q=64;k instanceof x.a?z=new g.a({scene:Z,environmentMap:k}):(Q=k.image&&k.image.px?k.image.px.width:k.width,z=new E.a({scene:Z,environmentMap:k}));var te=Math.ceil(Q/Math.pow(2,W.lod)),$=Math.ceil(Q/Math.pow(2,W.lod)),ie=new x.a({width:te,height:$}),ae=new w.a;z.material.define("fragment","RGBM_ENCODE"),W.decodeRGBM&&z.material.define("fragment","RGBM_DECODE"),z.material.set("lod",W.lod);for(var re=new m.a({texture:ie}),ce={},oe=0;oe<P.length;oe++){ce[P[oe]]=new Uint8Array(te*$*4);var he=re.getCamera(P[oe]);he.fov=90,ae.attach(ie),ae.bind(R),R.render(Z,he),R.gl.readPixels(0,0,te,$,F.a.RGBA,F.a.UNSIGNED_BYTE,ce[P[oe]]),ae.unbind(R)}return z.dispose(R),ae.dispose(R),ie.dispose(R),D(R,ce,te,$)},G.a=O},function(ee,G,_){"use strict";G.a=`uniform samplerCube environmentMap;
varying vec2 v_Texcoord;
#define TEXTURE_SIZE 16
mat3 front = mat3(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
);
mat3 back = mat3(
-1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, -1.0
);
mat3 left = mat3(
0.0, 0.0, -1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0
);
mat3 right = mat3(
0.0, 0.0, 1.0,
0.0, 1.0, 0.0,
-1.0, 0.0, 0.0
);
mat3 up = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, 1.0,
0.0, -1.0, 0.0
);
mat3 down = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, -1.0,
0.0, 1.0, 0.0
);
float harmonics(vec3 normal){
int index = int(gl_FragCoord.x);
float x = normal.x;
float y = normal.y;
float z = normal.z;
if(index==0){
return 1.0;
}
else if(index==1){
return x;
}
else if(index==2){
return y;
}
else if(index==3){
return z;
}
else if(index==4){
return x*z;
}
else if(index==5){
return y*z;
}
else if(index==6){
return x*y;
}
else if(index==7){
return 3.0*z*z - 1.0;
}
else{
return x*x - y*y;
}
}
vec3 sampleSide(mat3 rot)
{
vec3 result = vec3(0.0);
float divider = 0.0;
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
float x = mod(float(i), float(TEXTURE_SIZE));
float y = float(i / TEXTURE_SIZE);
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
vec3 normal = normalize(vec3(sidecoord, -1.0));
vec3 fetchNormal = rot * normal;
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
result += harmonics(fetchNormal) * texel * -normal.z;
divider += -normal.z;
}
return result / divider;
}
void main()
{
vec3 result = (
sampleSide(front) +
sampleSide(back) +
sampleSide(left) +
sampleSide(right) +
sampleSide(up) +
sampleSide(down)
) / 6.0;
gl_FragColor = vec4(result, 1.0);
}`},function(ee,G,_){"use strict";var F=_(19),w=F.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(x){var y=x.color,b=x.intensity;return[y[0]*b,y[1]*b,y[2]*b]}}}});G.a=w},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.vec4,y=function(g,m,C,d){g=g||0,m=m||0,C=C||0,d=d||0,this.array=x.fromValues(g,m,C,d),this._dirty=!0};y.prototype={constructor:y,add:function(g){return x.add(this.array,this.array,g.array),this._dirty=!0,this},set:function(g,m,C,d){return this.array[0]=g,this.array[1]=m,this.array[2]=C,this.array[3]=d,this._dirty=!0,this},setArray:function(g){return this.array[0]=g[0],this.array[1]=g[1],this.array[2]=g[2],this.array[3]=g[3],this._dirty=!0,this},clone:function(){return new y(this.x,this.y,this.z,this.w)},copy:function(g){return x.copy(this.array,g.array),this._dirty=!0,this},dist:function(g){return x.dist(this.array,g.array)},distance:function(g){return x.distance(this.array,g.array)},div:function(g){return x.div(this.array,this.array,g.array),this._dirty=!0,this},divide:function(g){return x.divide(this.array,this.array,g.array),this._dirty=!0,this},dot:function(g){return x.dot(this.array,g.array)},len:function(){return x.len(this.array)},length:function(){return x.length(this.array)},lerp:function(g,m,C){return x.lerp(this.array,g.array,m.array,C),this._dirty=!0,this},min:function(g){return x.min(this.array,this.array,g.array),this._dirty=!0,this},max:function(g){return x.max(this.array,this.array,g.array),this._dirty=!0,this},mul:function(g){return x.mul(this.array,this.array,g.array),this._dirty=!0,this},multiply:function(g){return x.multiply(this.array,this.array,g.array),this._dirty=!0,this},negate:function(){return x.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return x.normalize(this.array,this.array),this._dirty=!0,this},random:function(g){return x.random(this.array,g),this._dirty=!0,this},scale:function(g){return x.scale(this.array,this.array,g),this._dirty=!0,this},scaleAndAdd:function(g,m){return x.scaleAndAdd(this.array,this.array,g.array,m),this._dirty=!0,this},sqrDist:function(g){return x.sqrDist(this.array,g.array)},squaredDistance:function(g){return x.squaredDistance(this.array,g.array)},sqrLen:function(){return x.sqrLen(this.array)},squaredLength:function(){return x.squaredLength(this.array)},sub:function(g){return x.sub(this.array,this.array,g.array),this._dirty=!0,this},subtract:function(g){return x.subtract(this.array,this.array,g.array),this._dirty=!0,this},transformMat4:function(g){return x.transformMat4(this.array,this.array,g.array),this._dirty=!0,this},transformQuat:function(g){return x.transformQuat(this.array,this.array,g.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var b=Object.defineProperty;if(b){var E=y.prototype;b(E,"x",{get:function(){return this.array[0]},set:function(g){this.array[0]=g,this._dirty=!0}}),b(E,"y",{get:function(){return this.array[1]},set:function(g){this.array[1]=g,this._dirty=!0}}),b(E,"z",{get:function(){return this.array[2]},set:function(g){this.array[2]=g,this._dirty=!0}}),b(E,"w",{get:function(){return this.array[3]},set:function(g){this.array[3]=g,this._dirty=!0}})}y.add=function(g,m,C){return x.add(g.array,m.array,C.array),g._dirty=!0,g},y.set=function(g,m,C,d,v){x.set(g.array,m,C,d,v),g._dirty=!0},y.copy=function(g,m){return x.copy(g.array,m.array),g._dirty=!0,g},y.dist=function(g,m){return x.distance(g.array,m.array)},y.distance=y.dist,y.div=function(g,m,C){return x.divide(g.array,m.array,C.array),g._dirty=!0,g},y.divide=y.div,y.dot=function(g,m){return x.dot(g.array,m.array)},y.len=function(g){return x.length(g.array)},y.lerp=function(g,m,C,d){return x.lerp(g.array,m.array,C.array,d),g._dirty=!0,g},y.min=function(g,m,C){return x.min(g.array,m.array,C.array),g._dirty=!0,g},y.max=function(g,m,C){return x.max(g.array,m.array,C.array),g._dirty=!0,g},y.mul=function(g,m,C){return x.multiply(g.array,m.array,C.array),g._dirty=!0,g},y.multiply=y.mul,y.negate=function(g,m){return x.negate(g.array,m.array),g._dirty=!0,g},y.normalize=function(g,m){return x.normalize(g.array,m.array),g._dirty=!0,g},y.random=function(g,m){return x.random(g.array,m),g._dirty=!0,g},y.scale=function(g,m,C){return x.scale(g.array,m.array,C),g._dirty=!0,g},y.scaleAndAdd=function(g,m,C,d){return x.scaleAndAdd(g.array,m.array,C.array,d),g._dirty=!0,g},y.sqrDist=function(g,m){return x.sqrDist(g.array,m.array)},y.squaredDistance=y.sqrDist,y.sqrLen=function(g){return x.sqrLen(g.array)},y.squaredLength=y.sqrLen,y.sub=function(g,m,C){return x.subtract(g.array,m.array,C.array),g._dirty=!0,g},y.subtract=y.sub,y.transformMat4=function(g,m,C){return x.transformMat4(g.array,m.array,C.array),g._dirty=!0,g},y.transformQuat=function(g,m,C){return x.transformQuat(g.array,m.array,C.array),g._dirty=!0,g},G.a=y},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.mat2,y=function(){this.array=x.create(),this._dirty=!0};y.prototype={constructor:y,setArray:function(b){for(var E=0;E<this.array.length;E++)this.array[E]=b[E];return this._dirty=!0,this},clone:function(){return new y().copy(this)},copy:function(b){return x.copy(this.array,b.array),this._dirty=!0,this},adjoint:function(){return x.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return x.determinant(this.array)},identity:function(){return x.identity(this.array),this._dirty=!0,this},invert:function(){return x.invert(this.array,this.array),this._dirty=!0,this},mul:function(b){return x.mul(this.array,this.array,b.array),this._dirty=!0,this},mulLeft:function(b){return x.mul(this.array,b.array,this.array),this._dirty=!0,this},multiply:function(b){return x.multiply(this.array,this.array,b.array),this._dirty=!0,this},multiplyLeft:function(b){return x.multiply(this.array,b.array,this.array),this._dirty=!0,this},rotate:function(b){return x.rotate(this.array,this.array,b),this._dirty=!0,this},scale:function(b){return x.scale(this.array,this.array,b.array),this._dirty=!0,this},transpose:function(){return x.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},y.adjoint=function(b,E){return x.adjoint(b.array,E.array),b._dirty=!0,b},y.copy=function(b,E){return x.copy(b.array,E.array),b._dirty=!0,b},y.determinant=function(b){return x.determinant(b.array)},y.identity=function(b){return x.identity(b.array),b._dirty=!0,b},y.invert=function(b,E){return x.invert(b.array,E.array),b._dirty=!0,b},y.mul=function(b,E,g){return x.mul(b.array,E.array,g.array),b._dirty=!0,b},y.multiply=y.mul,y.rotate=function(b,E,g){return x.rotate(b.array,E.array,g),b._dirty=!0,b},y.scale=function(b,E,g){return x.scale(b.array,E.array,g.array),b._dirty=!0,b},y.transpose=function(b,E){return x.transpose(b.array,E.array),b._dirty=!0,b},G.a=y},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.mat2d,y=function(){this.array=x.create(),this._dirty=!0};y.prototype={constructor:y,setArray:function(b){for(var E=0;E<this.array.length;E++)this.array[E]=b[E];return this._dirty=!0,this},clone:function(){return new y().copy(this)},copy:function(b){return x.copy(this.array,b.array),this._dirty=!0,this},determinant:function(){return x.determinant(this.array)},identity:function(){return x.identity(this.array),this._dirty=!0,this},invert:function(){return x.invert(this.array,this.array),this._dirty=!0,this},mul:function(b){return x.mul(this.array,this.array,b.array),this._dirty=!0,this},mulLeft:function(b){return x.mul(this.array,b.array,this.array),this._dirty=!0,this},multiply:function(b){return x.multiply(this.array,this.array,b.array),this._dirty=!0,this},multiplyLeft:function(b){return x.multiply(this.array,b.array,this.array),this._dirty=!0,this},rotate:function(b){return x.rotate(this.array,this.array,b),this._dirty=!0,this},scale:function(b){return x.scale(this.array,this.array,b.array),this._dirty=!0,this},translate:function(b){return x.translate(this.array,this.array,b.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},y.copy=function(b,E){return x.copy(b.array,E.array),b._dirty=!0,b},y.determinant=function(b){return x.determinant(b.array)},y.identity=function(b){return x.identity(b.array),b._dirty=!0,b},y.invert=function(b,E){return x.invert(b.array,E.array),b._dirty=!0,b},y.mul=function(b,E,g){return x.mul(b.array,E.array,g.array),b._dirty=!0,b},y.multiply=y.mul,y.rotate=function(b,E,g){return x.rotate(b.array,E.array,g),b._dirty=!0,b},y.scale=function(b,E,g){return x.scale(b.array,E.array,g.array),b._dirty=!0,b},y.translate=function(b,E,g){return x.translate(b.array,E.array,g.array),b._dirty=!0,b},G.a=y},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.mat3,y=function(){this.array=x.create(),this._dirty=!0};y.prototype={constructor:y,setArray:function(b){for(var E=0;E<this.array.length;E++)this.array[E]=b[E];return this._dirty=!0,this},adjoint:function(){return x.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new y().copy(this)},copy:function(b){return x.copy(this.array,b.array),this._dirty=!0,this},determinant:function(){return x.determinant(this.array)},fromMat2d:function(b){return x.fromMat2d(this.array,b.array),this._dirty=!0,this},fromMat4:function(b){return x.fromMat4(this.array,b.array),this._dirty=!0,this},fromQuat:function(b){return x.fromQuat(this.array,b.array),this._dirty=!0,this},identity:function(){return x.identity(this.array),this._dirty=!0,this},invert:function(){return x.invert(this.array,this.array),this._dirty=!0,this},mul:function(b){return x.mul(this.array,this.array,b.array),this._dirty=!0,this},mulLeft:function(b){return x.mul(this.array,b.array,this.array),this._dirty=!0,this},multiply:function(b){return x.multiply(this.array,this.array,b.array),this._dirty=!0,this},multiplyLeft:function(b){return x.multiply(this.array,b.array,this.array),this._dirty=!0,this},rotate:function(b){return x.rotate(this.array,this.array,b),this._dirty=!0,this},scale:function(b){return x.scale(this.array,this.array,b.array),this._dirty=!0,this},translate:function(b){return x.translate(this.array,this.array,b.array),this._dirty=!0,this},normalFromMat4:function(b){return x.normalFromMat4(this.array,b.array),this._dirty=!0,this},transpose:function(){return x.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},y.adjoint=function(b,E){return x.adjoint(b.array,E.array),b._dirty=!0,b},y.copy=function(b,E){return x.copy(b.array,E.array),b._dirty=!0,b},y.determinant=function(b){return x.determinant(b.array)},y.identity=function(b){return x.identity(b.array),b._dirty=!0,b},y.invert=function(b,E){return x.invert(b.array,E.array),b},y.mul=function(b,E,g){return x.mul(b.array,E.array,g.array),b._dirty=!0,b},y.multiply=y.mul,y.fromMat2d=function(b,E){return x.fromMat2d(b.array,E.array),b._dirty=!0,b},y.fromMat4=function(b,E){return x.fromMat4(b.array,E.array),b._dirty=!0,b},y.fromQuat=function(b,E){return x.fromQuat(b.array,E.array),b._dirty=!0,b},y.normalFromMat4=function(b,E){return x.normalFromMat4(b.array,E.array),b._dirty=!0,b},y.rotate=function(b,E,g){return x.rotate(b.array,E.array,g),b._dirty=!0,b},y.scale=function(b,E,g){return x.scale(b.array,E.array,g.array),b._dirty=!0,b},y.transpose=function(b,E){return x.transpose(b.array,E.array),b._dirty=!0,b},y.translate=function(b,E,g){return x.translate(b.array,E.array,g.array),b._dirty=!0,b},G.a=y},function(ee,G,_){"use strict";var F=_(122),w=_.n(F),x={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(y,b){this._animators=this._animators||[];var E=this,g;if(y){for(var m=y.split("."),C=E,d=0,v=m.length;d<v;d++)C&&(C=C[m[d]]);C&&(g=C)}else g=E;if(g==null)throw new Error("Target "+y+" not exists");var A=this._animators,T=new w.a(g,b),O=this;return T.during(function(){O.__zr&&O.__zr.refresh()}).done(function(){var P=A.indexOf(T);P>=0&&A.splice(P,1)}),A.push(T),this.__zr&&this.__zr.animation.addAnimator(T),T},stopAnimation:function(y){this._animators=this._animators||[];for(var b=this._animators,E=b.length,g=0;g<E;g++)b[g].stop(y);return b.length=0,this},addAnimatorsToZr:function(y){if(this._animators)for(var b=0;b<this._animators.length;b++)y.animation.addAnimator(this._animators[b])},removeAnimatorsFromZr:function(y){if(this._animators)for(var b=0;b<this._animators.length;b++)y.animation.removeAnimator(this._animators[b])}};G.a=x},function(ee,G,_){var F=_(123),w=_(125),x=_(12),y=x.isArrayLike,b=Array.prototype.slice;function E(k,W){return k[W]}function g(k,W,z){k[W]=z}function m(k,W,z){return(W-k)*z+k}function C(k,W,z){return z>.5?W:k}function d(k,W,z,Z,Q){var te=k.length;if(Q==1)for(var $=0;$<te;$++)Z[$]=m(k[$],W[$],z);else for(var ie=te&&k[0].length,$=0;$<te;$++)for(var ae=0;ae<ie;ae++)Z[$][ae]=m(k[$][ae],W[$][ae],z)}function v(k,W,z){var Z=k.length,Q=W.length;if(Z!==Q){var te=Z>Q;if(te)k.length=Q;else for(var $=Z;$<Q;$++)k.push(z===1?W[$]:b.call(W[$]))}for(var ie=k[0]&&k[0].length,$=0;$<k.length;$++)if(z===1)isNaN(k[$])&&(k[$]=W[$]);else for(var ae=0;ae<ie;ae++)isNaN(k[$][ae])&&(k[$][ae]=W[$][ae])}function A(k,W,z){if(k===W)return!0;var Z=k.length;if(Z!==W.length)return!1;if(z===1){for(var Q=0;Q<Z;Q++)if(k[Q]!==W[Q])return!1}else for(var te=k[0].length,Q=0;Q<Z;Q++)for(var $=0;$<te;$++)if(k[Q][$]!==W[Q][$])return!1;return!0}function T(k,W,z,Z,Q,te,$,ie,ae){var re=k.length;if(ae==1)for(var ce=0;ce<re;ce++)ie[ce]=O(k[ce],W[ce],z[ce],Z[ce],Q,te,$);else for(var oe=k[0].length,ce=0;ce<re;ce++)for(var he=0;he<oe;he++)ie[ce][he]=O(k[ce][he],W[ce][he],z[ce][he],Z[ce][he],Q,te,$)}function O(k,W,z,Z,Q,te,$){var ie=(z-k)*.5,ae=(Z-W)*.5;return(2*(W-z)+ie+ae)*$+(-3*(W-z)-2*ie-ae)*te+ie*Q+W}function P(k){if(y(k)){var W=k.length;if(y(k[0])){for(var z=[],Z=0;Z<W;Z++)z.push(b.call(k[Z]));return z}return b.call(k)}return k}function L(k){return k[0]=Math.floor(k[0]),k[1]=Math.floor(k[1]),k[2]=Math.floor(k[2]),"rgba("+k.join(",")+")"}function c(k){var W=k[k.length-1].value;return y(W&&W[0])?2:1}function f(k,W,z,Z,Q,te){var $=k._getter,ie=k._setter,ae=W==="spline",re=Z.length;if(re){var ce=Z[0].value,oe=y(ce),he=!1,se=!1,pe=oe?c(Z):0,me;Z.sort(function(Ne,We){return Ne.time-We.time}),me=Z[re-1].time;for(var ge=[],Ee=[],Ae=Z[0].value,Fe=!0,Ue=0;Ue<re;Ue++){ge.push(Z[Ue].time/me);var nt=Z[Ue].value;if(oe&&A(nt,Ae,pe)||!oe&&nt===Ae||(Fe=!1),Ae=nt,typeof nt=="string"){var rt=w.parse(nt);rt?(nt=rt,he=!0):se=!0}Ee.push(nt)}if(!(!te&&Fe)){for(var qe=Ee[re-1],Ue=0;Ue<re-1;Ue++)oe?v(Ee[Ue],qe,pe):isNaN(Ee[Ue])&&!isNaN(qe)&&!se&&!he&&(Ee[Ue]=qe);oe&&v($(k._target,Q),qe,pe);var dt=0,yt=0,je,at,it,ht,ut,Mt;if(he)var Ce=[0,0,0,0];var ot=function(Ne,We){var Be;if(We<0)Be=0;else if(We<yt){for(je=Math.min(dt+1,re-1),Be=je;Be>=0&&!(ge[Be]<=We);Be--);Be=Math.min(Be,re-2)}else{for(Be=dt;Be<re&&!(ge[Be]>We);Be++);Be=Math.min(Be-1,re-2)}dt=Be,yt=We;var Ve=ge[Be+1]-ge[Be];if(Ve!==0)if(at=(We-ge[Be])/Ve,ae)if(ht=Ee[Be],it=Ee[Be===0?Be:Be-1],ut=Ee[Be>re-2?re-1:Be+1],Mt=Ee[Be>re-3?re-1:Be+2],oe)T(it,ht,ut,Mt,at,at*at,at*at*at,$(Ne,Q),pe);else{var $e;if(he)$e=T(it,ht,ut,Mt,at,at*at,at*at*at,Ce,1),$e=L(Ce);else{if(se)return C(ht,ut,at);$e=O(it,ht,ut,Mt,at,at*at,at*at*at)}ie(Ne,Q,$e)}else if(oe)d(Ee[Be],Ee[Be+1],at,$(Ne,Q),pe);else{var $e;if(he)d(Ee[Be],Ee[Be+1],at,Ce,1),$e=L(Ce);else{if(se)return C(Ee[Be],Ee[Be+1],at);$e=m(Ee[Be],Ee[Be+1],at)}ie(Ne,Q,$e)}},Pe=new F({target:k._target,life:me,loop:k._loop,delay:k._delay,onframe:ot,ondestroy:z});return W&&W!=="spline"&&(Pe.easing=W),Pe}}}var D=function(k,W,z,Z){this._tracks={},this._target=k,this._loop=W||!1,this._getter=z||E,this._setter=Z||g,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};D.prototype={when:function(k,W){var z=this._tracks;for(var Z in W)if(W.hasOwnProperty(Z)){if(!z[Z]){z[Z]=[];var Q=this._getter(this._target,Z);if(Q==null)continue;k!==0&&z[Z].push({time:0,value:P(Q)})}z[Z].push({time:k,value:W[Z]})}return this},during:function(k){return this._onframeList.push(k),this},pause:function(){for(var k=0;k<this._clipList.length;k++)this._clipList[k].pause();this._paused=!0},resume:function(){for(var k=0;k<this._clipList.length;k++)this._clipList[k].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var k=this._doneList,W=k.length,z=0;z<W;z++)k[z].call(this)},start:function(k,W){var z=this,Z=0,Q=function(){Z--,Z||z._doneCallback()},te;for(var $ in this._tracks)if(this._tracks.hasOwnProperty($)){var ie=f(this,k,Q,this._tracks[$],$,W);ie&&(this._clipList.push(ie),Z++,this.animation&&this.animation.addClip(ie),te=ie)}if(te){var ae=te.onframe;te.onframe=function(re,ce){ae(re,ce);for(var oe=0;oe<z._onframeList.length;oe++)z._onframeList[oe](re,ce)}}return Z||this._doneCallback(),this},stop:function(k){for(var W=this._clipList,z=this.animation,Z=0;Z<W.length;Z++){var Q=W[Z];k&&Q.onframe(this._target,1),z&&z.removeClip(Q)}W.length=0},delay:function(k){return this._delay=k,this},done:function(k){return k&&this._doneList.push(k),this},getClips:function(){return this._clipList}};var R=D;ee.exports=R},function(ee,G,_){var F=_(124);function w(y){this._target=y.target,this._life=y.life||1e3,this._delay=y.delay||0,this._initialized=!1,this.loop=y.loop==null?!1:y.loop,this.gap=y.gap||0,this.easing=y.easing||"Linear",this.onframe=y.onframe,this.ondestroy=y.ondestroy,this.onrestart=y.onrestart,this._pausedTime=0,this._paused=!1}w.prototype={constructor:w,step:function(y,b){if(this._initialized||(this._startTime=y+this._delay,this._initialized=!0),this._paused){this._pausedTime+=b;return}var E=(y-this._startTime-this._pausedTime)/this._life;if(!(E<0)){E=Math.min(E,1);var g=this.easing,m=typeof g=="string"?F[g]:g,C=typeof m=="function"?m(E):E;return this.fire("frame",C),E==1?this.loop?(this.restart(y),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(y){var b=(y-this._startTime-this._pausedTime)%this._life;this._startTime=y-b+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(y,b){y="on"+y,this[y]&&this[y](this._target,b)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var x=w;ee.exports=x},function(ee,G){var _={linear:function(w){return w},quadraticIn:function(w){return w*w},quadraticOut:function(w){return w*(2-w)},quadraticInOut:function(w){return(w*=2)<1?.5*w*w:-.5*(--w*(w-2)-1)},cubicIn:function(w){return w*w*w},cubicOut:function(w){return--w*w*w+1},cubicInOut:function(w){return(w*=2)<1?.5*w*w*w:.5*((w-=2)*w*w+2)},quarticIn:function(w){return w*w*w*w},quarticOut:function(w){return 1- --w*w*w*w},quarticInOut:function(w){return(w*=2)<1?.5*w*w*w*w:-.5*((w-=2)*w*w*w-2)},quinticIn:function(w){return w*w*w*w*w},quinticOut:function(w){return--w*w*w*w*w+1},quinticInOut:function(w){return(w*=2)<1?.5*w*w*w*w*w:.5*((w-=2)*w*w*w*w+2)},sinusoidalIn:function(w){return 1-Math.cos(w*Math.PI/2)},sinusoidalOut:function(w){return Math.sin(w*Math.PI/2)},sinusoidalInOut:function(w){return .5*(1-Math.cos(Math.PI*w))},exponentialIn:function(w){return w===0?0:Math.pow(1024,w-1)},exponentialOut:function(w){return w===1?1:1-Math.pow(2,-10*w)},exponentialInOut:function(w){return w===0?0:w===1?1:(w*=2)<1?.5*Math.pow(1024,w-1):.5*(-Math.pow(2,-10*(w-1))+2)},circularIn:function(w){return 1-Math.sqrt(1-w*w)},circularOut:function(w){return Math.sqrt(1- --w*w)},circularInOut:function(w){return(w*=2)<1?-.5*(Math.sqrt(1-w*w)-1):.5*(Math.sqrt(1-(w-=2)*w)+1)},elasticIn:function(w){var x,y=.1,b=.4;return w===0?0:w===1?1:(!y||y<1?(y=1,x=b/4):x=b*Math.asin(1/y)/(2*Math.PI),-(y*Math.pow(2,10*(w-=1))*Math.sin((w-x)*(2*Math.PI)/b)))},elasticOut:function(w){var x,y=.1,b=.4;return w===0?0:w===1?1:(!y||y<1?(y=1,x=b/4):x=b*Math.asin(1/y)/(2*Math.PI),y*Math.pow(2,-10*w)*Math.sin((w-x)*(2*Math.PI)/b)+1)},elasticInOut:function(w){var x,y=.1,b=.4;return w===0?0:w===1?1:(!y||y<1?(y=1,x=b/4):x=b*Math.asin(1/y)/(2*Math.PI),(w*=2)<1?-.5*(y*Math.pow(2,10*(w-=1))*Math.sin((w-x)*(2*Math.PI)/b)):y*Math.pow(2,-10*(w-=1))*Math.sin((w-x)*(2*Math.PI)/b)*.5+1)},backIn:function(w){var x=1.70158;return w*w*((x+1)*w-x)},backOut:function(w){var x=1.70158;return--w*w*((x+1)*w+x)+1},backInOut:function(w){var x=2.5949095;return(w*=2)<1?.5*(w*w*((x+1)*w-x)):.5*((w-=2)*w*((x+1)*w+x)+2)},bounceIn:function(w){return 1-_.bounceOut(1-w)},bounceOut:function(w){return w<.36363636363636365?7.5625*w*w:w<.7272727272727273?7.5625*(w-=.5454545454545454)*w+.75:w<.9090909090909091?7.5625*(w-=.8181818181818182)*w+.9375:7.5625*(w-=.9545454545454546)*w+.984375},bounceInOut:function(w){return w<.5?_.bounceIn(w*2)*.5:_.bounceOut(w*2-1)*.5+.5}},F=_;ee.exports=F},function(ee,G,_){var F=_(53),w={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function x($){return $=Math.round($),$<0?0:$>255?255:$}function y($){return $=Math.round($),$<0?0:$>360?360:$}function b($){return $<0?0:$>1?1:$}function E($){return $.length&&$.charAt($.length-1)==="%"?x(parseFloat($)/100*255):x(parseInt($,10))}function g($){return $.length&&$.charAt($.length-1)==="%"?b(parseFloat($)/100):b(parseFloat($))}function m($,ie,ae){return ae<0?ae+=1:ae>1&&(ae-=1),ae*6<1?$+(ie-$)*ae*6:ae*2<1?ie:ae*3<2?$+(ie-$)*(2/3-ae)*6:$}function C($,ie,ae){return $+(ie-$)*ae}function d($,ie,ae,re,ce){return $[0]=ie,$[1]=ae,$[2]=re,$[3]=ce,$}function v($,ie){return $[0]=ie[0],$[1]=ie[1],$[2]=ie[2],$[3]=ie[3],$}var A=new F(20),T=null;function O($,ie){T&&v(T,ie),T=A.put($,T||ie.slice())}function P($,ie){if($){ie=ie||[];var ae=A.get($);if(ae)return v(ie,ae);$=$+"";var re=$.replace(/ /g,"").toLowerCase();if(re in w)return v(ie,w[re]),O($,ie),ie;if(re.charAt(0)==="#"){if(re.length===4){var ce=parseInt(re.substr(1),16);if(!(ce>=0&&ce<=4095)){d(ie,0,0,0,1);return}return d(ie,(ce&3840)>>4|(ce&3840)>>8,ce&240|(ce&240)>>4,ce&15|(ce&15)<<4,1),O($,ie),ie}else if(re.length===7){var ce=parseInt(re.substr(1),16);if(!(ce>=0&&ce<=16777215)){d(ie,0,0,0,1);return}return d(ie,(ce&16711680)>>16,(ce&65280)>>8,ce&255,1),O($,ie),ie}return}var oe=re.indexOf("("),he=re.indexOf(")");if(oe!==-1&&he+1===re.length){var se=re.substr(0,oe),pe=re.substr(oe+1,he-(oe+1)).split(","),me=1;switch(se){case"rgba":if(pe.length!==4){d(ie,0,0,0,1);return}me=g(pe.pop());case"rgb":if(pe.length!==3){d(ie,0,0,0,1);return}return d(ie,E(pe[0]),E(pe[1]),E(pe[2]),me),O($,ie),ie;case"hsla":if(pe.length!==4){d(ie,0,0,0,1);return}return pe[3]=g(pe[3]),L(pe,ie),O($,ie),ie;case"hsl":if(pe.length!==3){d(ie,0,0,0,1);return}return L(pe,ie),O($,ie),ie;default:return}}d(ie,0,0,0,1)}}function L($,ie){var ae=(parseFloat($[0])%360+360)%360/360,re=g($[1]),ce=g($[2]),oe=ce<=.5?ce*(re+1):ce+re-ce*re,he=ce*2-oe;return ie=ie||[],d(ie,x(m(he,oe,ae+1/3)*255),x(m(he,oe,ae)*255),x(m(he,oe,ae-1/3)*255),1),$.length===4&&(ie[3]=$[3]),ie}function c($){if($){var ie=$[0]/255,ae=$[1]/255,re=$[2]/255,ce=Math.min(ie,ae,re),oe=Math.max(ie,ae,re),he=oe-ce,se=(oe+ce)/2,pe,me;if(he===0)pe=0,me=0;else{se<.5?me=he/(oe+ce):me=he/(2-oe-ce);var ge=((oe-ie)/6+he/2)/he,Ee=((oe-ae)/6+he/2)/he,Ae=((oe-re)/6+he/2)/he;ie===oe?pe=Ae-Ee:ae===oe?pe=1/3+ge-Ae:re===oe&&(pe=2/3+Ee-ge),pe<0&&(pe+=1),pe>1&&(pe-=1)}var Fe=[pe*360,me,se];return $[3]!=null&&Fe.push($[3]),Fe}}function f($,ie){var ae=P($);if(ae){for(var re=0;re<3;re++)ie<0?ae[re]=ae[re]*(1-ie)|0:ae[re]=(255-ae[re])*ie+ae[re]|0;return te(ae,ae.length===4?"rgba":"rgb")}}function D($){var ie=P($);if(ie)return((1<<24)+(ie[0]<<16)+(ie[1]<<8)+ +ie[2]).toString(16).slice(1)}function R($,ie,ae){if(!(!(ie&&ie.length)||!($>=0&&$<=1))){ae=ae||[];var re=$*(ie.length-1),ce=Math.floor(re),oe=Math.ceil(re),he=ie[ce],se=ie[oe],pe=re-ce;return ae[0]=x(C(he[0],se[0],pe)),ae[1]=x(C(he[1],se[1],pe)),ae[2]=x(C(he[2],se[2],pe)),ae[3]=b(C(he[3],se[3],pe)),ae}}var k=R;function W($,ie,ae){if(!(!(ie&&ie.length)||!($>=0&&$<=1))){var re=$*(ie.length-1),ce=Math.floor(re),oe=Math.ceil(re),he=P(ie[ce]),se=P(ie[oe]),pe=re-ce,me=te([x(C(he[0],se[0],pe)),x(C(he[1],se[1],pe)),x(C(he[2],se[2],pe)),b(C(he[3],se[3],pe))],"rgba");return ae?{color:me,leftIndex:ce,rightIndex:oe,value:re}:me}}var z=W;function Z($,ie,ae,re){if($=P($),$)return $=c($),ie!=null&&($[0]=y(ie)),ae!=null&&($[1]=g(ae)),re!=null&&($[2]=g(re)),te(L($),"rgba")}function Q($,ie){if($=P($),$&&ie!=null)return $[3]=b(ie),te($,"rgba")}function te($,ie){if(!(!$||!$.length)){var ae=$[0]+","+$[1]+","+$[2];return(ie==="rgba"||ie==="hsva"||ie==="hsla")&&(ae+=","+$[3]),ie+"("+ae+")"}}G.parse=P,G.lift=f,G.toHex=D,G.fastLerp=R,G.fastMapToColor=k,G.lerp=W,G.mapToColor=z,G.modifyHSL=Z,G.modifyAlpha=Q,G.stringify=te},function(ee,G,_){"use strict";G.a=`
@export clay.util.rand
highp float rand(vec2 uv) {
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);
return fract(sin(sn) * c);
}
@end
@export clay.util.calculate_attenuation
uniform float attenuationFactor : 5.0;
float lightAttenuation(float dist, float range)
{
float attenuation = 1.0;
attenuation = dist*dist/(range*range+1.0);
float att_s = attenuationFactor;
attenuation = 1.0/(attenuation*att_s+1.0);
att_s = 1.0/(att_s+1.0);
attenuation = attenuation - att_s;
attenuation /= 1.0 - att_s;
return clamp(attenuation, 0.0, 1.0);
}
@end
@export clay.util.edge_factor
float edgeFactor(float width)
{
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
@end
@export clay.util.encode_float
vec4 encodeFloat(const in float depth)
{
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
vec4 res = fract(depth * bitShifts);
res -= res.xxyz * bit_mask;
return res;
}
@end
@export clay.util.decode_float
float decodeFloat(const in vec4 color)
{
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
return dot(color, bitShifts);
}
@end
@export clay.util.float
@import clay.util.encode_float
@import clay.util.decode_float
@end
@export clay.util.rgbm_decode
vec3 RGBMDecode(vec4 rgbm, float range) {
return range * rgbm.rgb * rgbm.a;
}
@end
@export clay.util.rgbm_encode
vec4 RGBMEncode(vec3 color, float range) {
if (dot(color, color) == 0.0) {
return vec4(0.0);
}
vec4 rgbm;
color /= range;
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
rgbm.rgb = color / rgbm.a;
return rgbm;
}
@end
@export clay.util.rgbm
@import clay.util.rgbm_decode
@import clay.util.rgbm_encode
vec4 decodeHDR(vec4 color)
{
#if defined(RGBM_DECODE) || defined(RGBM)
return vec4(RGBMDecode(color, 51.5), 1.0);
#else
return color;
#endif
}
vec4 encodeHDR(vec4 color)
{
#if defined(RGBM_ENCODE) || defined(RGBM)
return RGBMEncode(color.xyz, 51.5);
#else
return color;
#endif
}
@end
@export clay.util.srgb
vec4 sRGBToLinear(in vec4 value) {
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
}
vec4 linearTosRGB(in vec4 value) {
return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);
}
@end
@export clay.chunk.skinning_header
#ifdef SKINNING
attribute vec3 weight : WEIGHT;
attribute vec4 joint : JOINT;
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
mat4 getSkinMatrix(float idx) {
return skinMatrix[int(idx)];
}
#endif
@end
@export clay.chunk.skin_matrix
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
if (weight.y > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
}
if (weight.z > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
}
float weightW = 1.0-weight.x-weight.y-weight.z;
if (weightW > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
}
@end
@export clay.util.parallax_correct
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
vec3 first = (boxMax - pos) / dir;
vec3 second = (boxMin - pos) / dir;
vec3 further = max(first, second);
float dist = min(further.x, min(further.y, further.z));
vec3 fixedPos = pos + dir * dist;
vec3 boxCenter = (boxMax + boxMin) * 0.5;
return normalize(fixedPos - boxCenter);
}
@end
@export clay.util.clamp_sample
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
{
#ifdef STEREO
float eye = step(0.5, coord.x) * 0.5;
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
#else
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
#endif
return texture2D(texture, coordClamped);
}
@end
@export clay.util.ACES
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
@end`},function(ee,G,_){"use strict";G.a=`
@export ecgl.common.transformUniforms
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
uniform mat4 world : WORLD;
@end
@export ecgl.common.attributes
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 normal : NORMAL;
@end
@export ecgl.common.uv.header
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
uniform vec2 detailUvRepeat : [1.0, 1.0];
uniform vec2 detailUvOffset : [0.0, 0.0];
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.uv.main
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
@end
@export ecgl.common.uv.fragmentHeader
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.albedo.main
vec4 albedoTexel = vec4(1.0);
#ifdef DIFFUSEMAP_ENABLED
albedoTexel = texture2D(diffuseMap, v_Texcoord);
#ifdef SRGB_DECODE
albedoTexel = sRGBToLinear(albedoTexel);
#endif
#endif
#ifdef DETAILMAP_ENABLED
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
#ifdef SRGB_DECODE
detailTexel = sRGBToLinear(detailTexel);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
#endif
@end
@export ecgl.common.wireframe.vertexHeader
#ifdef WIREFRAME_QUAD
attribute vec4 barycentric;
varying vec4 v_Barycentric;
#elif defined(WIREFRAME_TRIANGLE)
attribute vec3 barycentric;
varying vec3 v_Barycentric;
#endif
@end
@export ecgl.common.wireframe.vertexMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
v_Barycentric = barycentric;
#endif
@end
@export ecgl.common.wireframe.fragmentHeader
uniform float wireframeLineWidth : 1;
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
#ifdef WIREFRAME_QUAD
varying vec4 v_Barycentric;
float edgeFactor () {
vec4 d = fwidth(v_Barycentric);
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(min(a4.x, a4.y), a4.z), a4.w);
}
#elif defined(WIREFRAME_TRIANGLE)
varying vec3 v_Barycentric;
float edgeFactor () {
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
#endif
@end
@export ecgl.common.wireframe.fragmentMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
if (wireframeLineWidth > 0.) {
vec4 lineColor = wireframeLineColor;
#ifdef SRGB_DECODE
lineColor = sRGBToLinear(lineColor);
#endif
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
}
#endif
@end
@export ecgl.common.bumpMap.header
#ifdef BUMPMAP_ENABLED
uniform sampler2D bumpMap;
uniform float bumpScale : 1.0;
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
{
vec2 dSTdx = dFdx(v_Texcoord);
vec2 dSTdy = dFdy(v_Texcoord);
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
vec3 vSigmaX = dFdx(surfPos);
vec3 vSigmaY = dFdy(surfPos);
vec3 vN = surfNormal;
vec3 R1 = cross(vSigmaY, vN);
vec3 R2 = cross(vN, vSigmaX);
float fDet = dot(vSigmaX, R1);
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
return normalize(abs(fDet) * baseNormal - vGrad);
}
#endif
@end
@export ecgl.common.normalMap.vertexHeader
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.vertexMain
#ifdef NORMALMAP_ENABLED
if (dot(tangent, tangent) > 0.0) {
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
}
#endif
@end
@export ecgl.common.normalMap.fragmentHeader
#ifdef NORMALMAP_ENABLED
uniform sampler2D normalMap;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.fragmentMain
#ifdef NORMALMAP_ENABLED
if (dot(v_Tangent, v_Tangent) > 0.0) {
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
N = normalize(tbn * N);
}
}
#endif
@end
@export ecgl.common.vertexAnimation.header
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevNormal;
uniform float percent;
#endif
@end
@export ecgl.common.vertexAnimation.main
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
vec3 norm = mix(prevNormal, normal, percent);
#else
vec3 pos = position;
vec3 norm = normal;
#endif
@end
@export ecgl.common.ssaoMap.header
#ifdef SSAOMAP_ENABLED
uniform sampler2D ssaoMap;
uniform vec4 viewport : VIEWPORT;
#endif
@end
@export ecgl.common.ssaoMap.main
float ao = 1.0;
#ifdef SSAOMAP_ENABLED
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
#endif
@end
@export ecgl.common.diffuseLayer.header
#if (LAYER_DIFFUSEMAP_COUNT > 0)
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
#endif
@end
@export ecgl.common.emissiveLayer.header
#if (LAYER_EMISSIVEMAP_COUNT > 0)
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
#endif
@end
@export ecgl.common.layers.header
@import ecgl.common.diffuseLayer.header
@import ecgl.common.emissiveLayer.header
@end
@export ecgl.common.diffuseLayer.main
#if (LAYER_DIFFUSEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
float intensity = layerDiffuseIntensity[_idx_];
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
}}
#endif
@end
@export ecgl.common.emissiveLayer.main
#if (LAYER_EMISSIVEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
{{
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
float intensity = layerEmissionIntensity[_idx_];
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
}}
#endif
@end
`},function(ee,G,_){"use strict";G.a=`@export ecgl.color.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
@import ecgl.common.uv.header
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position: POSITION;
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
void main()
{
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
@import ecgl.common.uv.main
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.color.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.layers.header
@import ecgl.common.uv.fragmentHeader
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(ee,G,_){"use strict";G.a=`/**
* http: */
@export ecgl.lambert.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.lambert.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
gl_FragColor *= sRGBToLinear(v_Color);
#else
gl_FragColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
vec3 lightColor = directionalLightColor[i];
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor.rgb *= diffuseColor;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(ee,G,_){"use strict";G.a=`@export ecgl.realistic.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
#ifdef NORMALMAP_ENABLED
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.realistic.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define PI 3.14159265358979
#define ROUGHNESS_CHANEL 0
#define METALNESS_CHANEL 1
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform sampler2D metalnessMap;
uniform sampler2D roughnessMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float metalness : 0.0;
uniform float roughness : 0.5;
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
@import clay.header.ambient_cubemap_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import clay.util.rgbm
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
vec3 F_Schlick(float ndv, vec3 spec) {
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
}
float D_Phong(float g, float ndh) {
float a = pow(8192.0, g);
return (a + 2.0) / 8.0 * pow(ndh, a);
}
void main()
{
vec4 albedoColor = color;
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
albedoColor *= sRGBToLinear(v_Color);
#else
albedoColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
albedoColor *= albedoTexel;
float m = metalness;
#ifdef METALNESSMAP_ENABLED
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 baseColor = albedoColor.rgb;
albedoColor.rgb = baseColor * (1.0 - m);
vec3 specFactor = mix(vec3(0.04), baseColor, m);
float g = 1.0 - roughness;
#ifdef ROUGHNESSMAP_ENABLED
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
@import ecgl.common.normalMap.fragmentMain
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseTerm = vec3(0.0);
vec3 specularTerm = vec3(0.0);
float ndv = clamp(dot(N, V), 0.0, 1.0);
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
}}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
{{
vec3 L = -directionalLightDirection[_idx_];
vec3 lc = directionalLightColor[_idx_];
vec3 H = normalize(L + V);
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
float ndh = clamp(dot(N, H), 0.0, 1.0);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[_idx_];
}
#endif
vec3 li = lc * ndl * shadowContrib;
diffuseTerm += li;
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
}}
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
vec3 L = reflect(-V, N);
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
float rough2 = clamp(1.0 - g, 0.0, 1.0);
float bias2 = rough2 * 5.0;
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
vec3 envTexel2;
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
{{
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
}}
#endif
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
gl_FragColor.a = albedoColor.a;
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(ee,G,_){"use strict";G.a=`@export ecgl.hatching.vertex
@import ecgl.realistic.vertex
@end
@export ecgl.hatching.fragment
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
uniform sampler2D hatch1;
uniform sampler2D hatch2;
uniform sampler2D hatch3;
uniform sampler2D hatch4;
uniform sampler2D hatch5;
uniform sampler2D hatch6;
float shade(in float tone) {
vec4 c = vec4(1. ,1., 1., 1.);
float step = 1. / 6.;
vec2 uv = v_DetailTexcoord;
if (tone <= step / 2.0) {
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
}
else if (tone <= step) {
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
}
if(tone > step && tone <= 2. * step){
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
}
if(tone > 2. * step && tone <= 3. * step){
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
}
if(tone > 3. * step && tone <= 4. * step){
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
}
if(tone > 4. * step && tone <= 5. * step){
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
}
if(tone > 5. * step){
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
}
return c.r;
}
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
void main()
{
#ifdef SRGB_DECODE
vec4 inkColor = sRGBToLinear(color);
#else
vec4 inkColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
inkColor *= sRGBToLinear(v_Color);
#else
inkColor *= v_Color;
#endif
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float tone = 0.0;
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
float lightTone = dot(directionalLightColor[i], w);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
tone += lightTone * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
}
@end
`},function(ee,G,_){"use strict";G.a=`@export ecgl.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
varying vec4 v_ViewPosition;
void main(){
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
gl_Position = v_ViewPosition;
}
@end
@export ecgl.sm.depth.fragment
@import clay.sm.depth.fragment
@end`},function(ee,G,_){"use strict";var F=_(134),w=_(138),x=_(139),y=_(145),b=_(0),E=_.n(b);E.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(g,m){m.eachComponent({mainType:"grid3D",query:g},function(C){C.setView(g)})}),E.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(g,m){}),E.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(g,m){})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(135),y=w.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});w.a.helper.mixinAxisModelCommonMethods(y);function b(E,g){return g.type||(g.data?"category":"value")}Object(x.a)("x",y,b,{name:"X"}),Object(x.a)("y",y,b,{name:"Y"}),Object(x.a)("z",y,b,{name:"Z"})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(136),y=_(137),b=_.n(y),E=["value","category","time","log"];G.a=function(g,m,C,d){w.a.util.each(E,function(v){m.extend({type:g+"Axis3D."+v,__ordinalMeta:null,mergeDefaultAndTheme:function(A,T){var O=T.getTheme();w.a.util.merge(A,O.get(v+"Axis3D")),w.a.util.merge(A,this.getDefaultOption()),A.type=C(g,A)},optionUpdated:function(){var A=this.option;A.type==="category"&&(this.__ordinalMeta=b.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:w.a.util.merge(w.a.util.clone(x.a[v+"Axis3D"]),d||{},!0)})}),m.superClass.registerSubTypeDefaulter(g+"Axis3D",w.a.util.curry(C,g))}},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},y=w.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},x),b=w.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},x),E=w.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},b),g=w.a.util.defaults({logBase:10},b);g.scale=!0,G.a={categoryAxis3D:y,valueAxis3D:b,timeAxis3D:E,logAxis3D:g}},function(ee,G,_){var F=_(12),w=F.createHashMap,x=F.isObject,y=F.map;function b(d){this.categories=d.categories||[],this._needCollect=d.needCollect,this._deduplication=d.deduplication,this._map}b.createByAxisModel=function(d){var v=d.option,A=v.data,T=A&&y(A,m);return new b({categories:T,needCollect:!T,deduplication:v.dedplication!==!1})};var E=b.prototype;E.getOrdinal=function(d){return g(this).get(d)},E.parseAndCollect=function(d){var v,A=this._needCollect;if(typeof d!="string"&&!A)return d;if(A&&!this._deduplication)return v=this.categories.length,this.categories[v]=d,v;var T=g(this);return v=T.get(d),v==null&&(A?(v=this.categories.length,this.categories[v]=d,T.set(d,v)):v=NaN),v};function g(d){return d._map||(d._map=w(d.categories))}function m(d){return x(d)&&d.value!=null?d.value:d+""}var C=b;ee.exports=C},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(38),y=_(31),b=_(32),E=w.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});w.a.util.merge(E.prototype,x.a),w.a.util.merge(E.prototype,y.a),w.a.util.merge(E.prototype,b.a);var g=E},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(39),b=_(22),E=_(3),g=_(73),m=_(34),C=_(140),d=_(142),v=_(58),A=_(40),T=E.a.firstNotNull;x.a.Shader.import(A.a),["x","y","z"].forEach(function(L){w.a.extendComponentView({type:L+"Axis3D"})});var O={x:0,y:2,z:1},P=w.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(L,c){var f=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],D=["x","y","z"],R=new x.a.Material({shader:x.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),k=new x.a.Material({shader:x.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});R.define("fragment","DOUBLE_SIDED"),R.define("both","VERTEX_COLOR"),this.groupGL=new x.a.Node,this._control=new y.a({zr:c.getZr()}),this._control.init(),this._faces=f.map(function(z){var Z=new C.a(z,k,R);return this.groupGL.add(Z.rootNode),Z},this),this._axes=D.map(function(z){var Z=new d.a(z,k);return this.groupGL.add(Z.rootNode),Z},this);var W=c.getDevicePixelRatio();this._axisLabelSurface=new g.a({width:256,height:256,devicePixelRatio:W}),this._axisLabelSurface.onupdate=function(){c.getZr().refresh()},this._axisPointerLineMesh=new x.a.Mesh({geometry:new b.a({useNativeLine:!1}),material:k,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new g.a({width:128,height:128,devicePixelRatio:W}),this._axisPointerLabelsMesh=new v.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new x.a.Node,this._sceneHelper=new m.a,this._sceneHelper.initLight(this._lightRoot)},render:function(L,c,f){this._model=L,this._api=f;var D=L.coordinateSystem;D.viewGL.add(this._lightRoot),L.get("show")?D.viewGL.add(this.groupGL):D.viewGL.remove(this.groupGL);var R=this._control;R.setViewGL(D.viewGL);var k=L.getModel("viewControl");R.setFromViewControlModel(k,0),this._axisLabelSurface.clear();var W=["x","y","z"].reduce(function(z,Z){var Q=D.getAxis(Z),te=Q.model;return z[Z]=T(te.get("axisLabel.interval"),L.get("axisLabel.interval")),Q.scale.type==="ordinal"&&(z[Z]==null||z[Z]=="auto")&&(z[Z]=Math.floor(Q.scale.getTicks().length/8)),z},{});R.off("update"),L.get("show")&&(this._faces.forEach(function(z){z.update(W,L,c,f)},this),this._axes.forEach(function(z){z.update(L,W,this._axisLabelSurface,f)},this)),R.on("update",this._onCameraChange.bind(this,L,f),this),this._sceneHelper.setScene(D.viewGL.scene),this._sceneHelper.updateLight(L),D.viewGL.setPostEffect(L.getModel("postEffect"),f),D.viewGL.setTemporalSuperSampling(L.getModel("temporalSuperSampling")),this._initMouseHandler(L)},afterRender:function(L,c,f,D){var R=D.renderer;this._sceneHelper.updateAmbientCubemap(R,L,f),this._sceneHelper.updateSkybox(R,L,f)},showAxisPointer:function(L,c,f,D){this._doShowAxisPointer(),this._updateAxisPointer(D.value)},hideAxisPointer:function(L,c,f,D){this._doHideAxisPointer()},_initMouseHandler:function(L){var c=L.coordinateSystem,f=c.viewGL;L.get("show")&&L.get("axisPointer.show")?f.on("mousemove",this._updateAxisPointerOnMousePosition,this):f.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(L){if(!L.target){for(var c=this._model,f=c.coordinateSystem,D=f.viewGL,R=D.castRay(L.offsetX,L.offsetY,new x.a.Ray),k,W=0;W<this._faces.length;W++){var z=this._faces[W];if(!z.rootNode.invisible){z.plane.normal.dot(D.camera.worldTransform.z)<0&&z.plane.normal.negate();var Z=R.intersectPlane(z.plane);if(Z){var Q=f.getAxis(z.faceInfo[0]),te=f.getAxis(z.faceInfo[1]),$=O[z.faceInfo[0]],ie=O[z.faceInfo[1]];Q.contain(Z.array[$])&&te.contain(Z.array[ie])&&(k=Z)}}}if(k){var ae=f.pointToData(k.array,[],!0);this._updateAxisPointer(ae),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(L,c){L.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var f=this._control;c.dispatchAction({type:"grid3DChangeCamera",alpha:f.getAlpha(),beta:f.getBeta(),distance:f.getDistance(),center:f.getCenter(),from:this.uid,grid3DId:L.id})},_updateFaceVisibility:function(){var L=this._control.getCamera(),c=new x.a.Vector3;L.update();for(var f=0;f<this._faces.length/2;f++){for(var D=[],R=0;R<2;R++){var k=this._faces[f*2+R];k.rootNode.getWorldPosition(c),c.transformMat4(L.viewMatrix),D[R]=c.z}var W=D[0]>D[1]?0:1,z=this._faces[f*2+W],Z=this._faces[f*2+1-W];z.rootNode.invisible=!0,Z.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var L=this._model.coordinateSystem,c=L.getAxis("x"),f=L.getAxis("y"),D=L.getAxis("z"),R=D.getExtentMax(),k=D.getExtentMin(),W=c.getExtentMin(),z=c.getExtentMax(),Z=f.getExtentMax(),Q=f.getExtentMin(),te=this._axes[0].rootNode,$=this._axes[1].rootNode,ie=this._axes[2].rootNode,ae=this._faces,re=ae[4].rootNode.invisible?Q:Z,ce=ae[2].rootNode.invisible?R:k,oe=ae[0].rootNode.invisible?W:z,he=ae[2].rootNode.invisible?R:k,se=ae[0].rootNode.invisible?z:W,pe=ae[4].rootNode.invisible?Q:Z;te.rotation.identity(),$.rotation.identity(),ie.rotation.identity(),ae[4].rootNode.invisible&&(this._axes[0].flipped=!0,te.rotation.rotateX(Math.PI)),ae[0].rootNode.invisible&&(this._axes[1].flipped=!0,$.rotation.rotateZ(Math.PI)),ae[4].rootNode.invisible&&(this._axes[2].flipped=!0,ie.rotation.rotateY(Math.PI)),te.position.set(0,ce,re),$.position.set(oe,he,0),ie.position.set(se,0,pe),te.update(),$.update(),ie.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var L=this._control.getCamera(),c=[new x.a.Vector4,new x.a.Vector4],f=new x.a.Vector4;this.groupGL.getWorldPosition(f),f.w=1,f.transformMat4(L.viewMatrix).transformMat4(L.projectionMatrix),f.x/=f.w,f.y/=f.w,this._axes.forEach(function(D){for(var R=D.axisLineCoords,k=D.labelsMesh.geometry,W=0;W<c.length;W++)c[W].setArray(R[W]),c[W].w=1,c[W].transformMat4(D.rootNode.worldTransform).transformMat4(L.viewMatrix).transformMat4(L.projectionMatrix),c[W].x/=c[W].w,c[W].y/=c[W].w;var z=c[1].x-c[0].x,Z=c[1].y-c[0].y,Q=(c[1].x+c[0].x)/2,te=(c[1].y+c[0].y)/2,$,ie;Math.abs(Z/z)<.5?($="center",ie=te>f.y?"bottom":"top"):(ie="middle",$=Q>f.x?"left":"right"),D.setSpriteAlign($,ie,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(L){var c=this._model.coordinateSystem,f=c.dataToPoint(L),D=this._axisPointerLineMesh,R=D.geometry,k=this._model.getModel("axisPointer"),W=this._api.getDevicePixelRatio();R.convertToDynamicArray(!0);function z(Fe){return E.a.firstNotNull(Fe.model.get("axisPointer.show"),k.get("show"))}function Z(Fe){var Ue=Fe.model.getModel("axisPointer",k),nt=Ue.getModel("lineStyle"),rt=x.a.parseColor(nt.get("color")),qe=T(nt.get("width"),1),dt=T(nt.get("opacity"),1);return rt[3]*=dt,{color:rt,lineWidth:qe}}for(var Q=0;Q<this._faces.length;Q++){var te=this._faces[Q];if(!te.rootNode.invisible){for(var $=te.faceInfo,ie=$[3]<0?c.getAxis($[2]).getExtentMin():c.getAxis($[2]).getExtentMax(),ae=O[$[2]],re=0;re<2;re++){var ce=$[re],oe=$[1-re],he=c.getAxis(ce),se=c.getAxis(oe);if(z(he)){var pe=[0,0,0],me=[0,0,0],ge=O[ce],Ee=O[oe];pe[ge]=me[ge]=f[ge],pe[ae]=me[ae]=ie,pe[Ee]=se.getExtentMin(),me[Ee]=se.getExtentMax();var Ae=Z(he);R.addLine(pe,me,Ae.color,Ae.lineWidth*W)}}if(z(c.getAxis($[2]))){var pe=f.slice(),me=f.slice();me[ae]=ie;var Ae=Z(c.getAxis($[2]));R.addLine(pe,me,Ae.color,Ae.lineWidth*W)}}}R.convertToTypedArray(),this._updateAxisPointerLabelsMesh(L),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(L){var c=this._model,f=this._axisPointerLabelsMesh,D=this._axisPointerLabelsSurface,R=c.coordinateSystem,k=c.getModel("axisPointer");f.geometry.convertToDynamicArray(!0),D.clear();var W={x:"y",y:"x",z:"y"};this._axes.forEach(function(z,Z){var Q=R.getAxis(z.dim),te=Q.model,$=te.getModel("axisPointer",k),ie=$.getModel("label"),ae=$.get("lineStyle.color");if(!(!ie.get("show")||!$.get("show"))){var re=L[Z],ce=ie.get("formatter"),oe=Q.scale.getLabel(re);if(ce!=null)oe=ce(oe,L);else if(Q.scale.type==="interval"||Q.scale.type==="log"){var he=w.a.number.getPrecisionSafe(Q.scale.getTicks()[0]);oe=re.toFixed(he+2)}var se=ie.getModel("textStyle"),pe=se.get("color"),me=new w.a.graphic.Text;w.a.graphic.setTextStyle(me.style,se,{text:oe,textFill:pe||ae,textAlign:"left",textVerticalAlign:"top"});var ge=D.add(me),Ee=me.getBoundingRect(),Ae=this._api.getDevicePixelRatio(),Fe=z.rootNode.position.toArray(),Ue=O[W[z.dim]];Fe[Ue]+=(z.flipped?-1:1)*ie.get("margin"),Fe[O[z.dim]]=Q.dataToCoord(L[Z]),f.geometry.addSprite(Fe,[Ee.width*Ae,Ee.height*Ae],ge,z.textAlign,z.textVerticalAlign)}},this),D.getZr().refreshImmediately(),f.material.set("uvScale",D.getCoordsScale()),f.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(22),E=_(141),g=_(74),m=y.a.firstNotNull,C={x:0,y:2,z:1};function d(A,T,O,P){var L=[0,0,0],c=P<0?O.getExtentMin():O.getExtentMax();L[C[O.dim]]=c,A.position.setArray(L),A.rotation.identity(),T.distance=-Math.abs(c),T.normal.set(0,0,0),O.dim==="x"?(A.rotation.rotateY(P*Math.PI/2),T.normal.x=-P):O.dim==="z"?(A.rotation.rotateX(-P*Math.PI/2),T.normal.y=-P):(P>0&&A.rotation.rotateY(Math.PI),T.normal.z=-P)}function v(A,T,O){this.rootNode=new x.a.Node;var P=new x.a.Mesh({geometry:new b.a({useNativeLine:!1}),material:T,castShadow:!1,ignorePicking:!0,renderOrder:1}),L=new x.a.Mesh({geometry:new E.a,material:O,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(L),this.rootNode.add(P),this.faceInfo=A,this.plane=new x.a.Plane,this.linesMesh=P,this.quadsMesh=L}v.prototype.update=function(A,T,O,P){var L=T.coordinateSystem,c=[L.getAxis(this.faceInfo[0]),L.getAxis(this.faceInfo[1])],f=this.linesMesh.geometry,D=this.quadsMesh.geometry;f.convertToDynamicArray(!0),D.convertToDynamicArray(!0),this._updateSplitLines(f,c,T,A,P),this._udpateSplitAreas(D,c,T,A,P),f.convertToTypedArray(),D.convertToTypedArray();var R=L.getAxis(this.faceInfo[2]);d(this.rootNode,this.plane,R,this.faceInfo[3])},v.prototype._updateSplitLines=function(A,T,O,P,L){var c=L.getDevicePixelRatio();T.forEach(function(f,D){var R=f.model,k=T[1-D].getExtent();if(!f.scale.isBlank()){var W=R.getModel("splitLine",O.getModel("splitLine"));if(W.get("show")){var z=W.getModel("lineStyle"),Z=z.get("color"),Q=m(z.get("opacity"),1),te=m(z.get("width"),1),$=W.get("interval");($==null||$==="auto")&&($=P[f.dim]),Z=w.a.util.isArray(Z)?Z:[Z];for(var ie=f.getTicksCoords(),ae=0,re=0;re<ie.length;re++)if(!Object(g.a)(f,re,$)){var ce=ie[re],oe=x.a.parseColor(Z[ae%Z.length]);oe[3]*=Q;var he=[0,0,0],se=[0,0,0];he[D]=se[D]=ce,he[1-D]=k[0],se[1-D]=k[1],A.addLine(he,se,oe,te*c),ae++}}}})},v.prototype._udpateSplitAreas=function(A,T,O,P,L){T.forEach(function(c,f){var D=c.model,R=T[1-f].getExtent();if(!c.scale.isBlank()){var k=D.getModel("splitArea",O.getModel("splitArea"));if(k.get("show")){var W=k.getModel("areaStyle"),z=W.get("color"),Z=m(W.get("opacity"),1),Q=k.get("interval");(Q==null||Q==="auto")&&(Q=P[c.dim]),z=w.a.util.isArray(z)?z:[z];for(var te=c.getTicksCoords(),$=0,ie=[0,0,0],ae=[0,0,0],re=0;re<te.length;re++){var ce=te[re],oe=[0,0,0],he=[0,0,0];if(oe[f]=he[f]=ce,oe[1-f]=R[0],he[1-f]=R[1],re===0){ie=oe,ae=he;continue}if(!Object(g.a)(c,re,Q)){var se=x.a.parseColor(z[$%z.length]);se[3]*=Z,A.addQuad([ie,oe,he,ae],se),ie=oe,ae=he,$++}}}}})},G.a=v},function(ee,G,_){"use strict";var F=_(13),w=_(0),x=_.n(w),y=_(33),b=_(1),E=_.n(b),g=E.a.vec3,m=F.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new F.a.Attribute("position","float",3,"POSITION"),normal:new F.a.Attribute("normal","float",3,"NORMAL"),color:new F.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(C){var d=this.attributes,v=this.getQuadVertexCount()*C,A=this.getQuadTriangleCount()*C;this.vertexCount!==v&&(d.position.init(v),d.normal.init(v),d.color.init(v)),this.triangleCount!==A&&(this.indices=v>65535?new Uint32Array(A*3):new Uint16Array(A*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var C=g.create(),d=g.create(),v=g.create(),A=[0,3,1,3,2,1];return function(T,O){var P=this.attributes.position,L=this.attributes.normal,c=this.attributes.color;g.sub(C,T[1],T[0]),g.sub(d,T[2],T[1]),g.cross(v,C,d),g.normalize(v,v);for(var f=0;f<4;f++)P.set(this._vertexOffset+f,T[f]),c.set(this._vertexOffset+f,O),L.set(this._vertexOffset+f,v);for(var D=this._faceOffset*3,f=0;f<6;f++)this.indices[D+f]=A[f]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});x.a.util.defaults(m.prototype,y.a),G.a=m},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(22),b=_(3),E=_(58),g=_(74),m=b.a.firstNotNull,C={x:0,y:2,z:1};function d(A,T){var O=new x.a.Mesh({geometry:new y.a({useNativeLine:!1}),material:T,castShadow:!1,ignorePicking:!0,renderOrder:2}),P=new E.a;P.material.depthMask=!1;var L=new x.a.Node;L.add(O),L.add(P),this.rootNode=L,this.dim=A,this.linesMesh=O,this.labelsMesh=P,this.axisLineCoords=null,this.labelElements=[]}var v={x:"y",y:"x",z:"y"};d.prototype.update=function(A,T,O,P){var L=A.coordinateSystem,c=L.getAxis(this.dim),f=T[this.dim],D=this.linesMesh.geometry,R=this.labelsMesh.geometry;D.convertToDynamicArray(!0),R.convertToDynamicArray(!0);var k=c.model,W=c.getExtent(),nt=P.getDevicePixelRatio(),z=k.getModel("axisLine",A.getModel("axisLine")),Z=k.getModel("axisTick",A.getModel("axisTick")),Q=k.getModel("axisLabel",A.getModel("axisLabel")),te=z.get("lineStyle.color");if(z.get("show")){var $=z.getModel("lineStyle"),ie=[0,0,0],ae=[0,0,0],re=C[c.dim];ie[re]=W[0],ae[re]=W[1],this.axisLineCoords=[ie,ae];var ce=x.a.parseColor(te),oe=m($.get("width"),1),he=m($.get("opacity"),1);ce[3]*=he,D.addLine(ie,ae,ce,oe*nt)}if(Z.get("show")){var se=Z.getModel("lineStyle"),pe=x.a.parseColor(m(se.get("color"),te)),oe=m(se.get("width"),1);pe[3]*=m(se.get("opacity"),1);var me=c.getTicksCoords(),ge=Z.get("interval");(ge==null||ge==="auto")&&(ge=f);for(var Ee=Z.get("length"),Ae=0;Ae<me.length;Ae++)if(!Object(g.a)(c,Ae,ge)){var Fe=me[Ae],ie=[0,0,0],ae=[0,0,0],re=C[c.dim],Ue=C[v[c.dim]];ie[re]=ae[re]=Fe,ae[Ue]=Ee,D.addLine(ie,ae,pe,oe*nt)}}this.labelElements=[];var nt=P.getDevicePixelRatio();if(Q.get("show")){for(var rt=c.getLabelsCoords(),qe=k.get("data"),ge=f,dt=Q.get("margin"),yt=k.getFormattedLabels(),je=c.scale.getTicks(),Ae=0;Ae<rt.length;Ae++)if(!Object(g.a)(c,Ae,ge)){var Fe=rt[Ae],at=[0,0,0],re=C[c.dim],Ue=C[v[c.dim]];at[re]=at[re]=Fe,at[Ue]=dt;var it=Q;qe&&qe[je[Ae]]&&qe[je[Ae]].textStyle&&(it=new w.a.Model(qe[je[Ae]].textStyle,Q,k.ecModel));var ht=m(it.get("color"),te),ut=new w.a.graphic.Text;w.a.graphic.setTextStyle(ut.style,it,{text:yt[Ae],textFill:typeof ht=="function"?ht(c.type==="category"?yt[Ae]:c.type==="value"?je[Ae]+"":je[Ae],Ae):ht,textVerticalAlign:"top",textAlign:"left"});var Mt=O.add(ut),Ce=ut.getBoundingRect();R.addSprite(at,[Ce.width*nt,Ce.height*nt],Mt),this.labelElements.push(ut)}}if(k.get("name")){var ot=k.getModel("nameTextStyle"),at=[0,0,0],re=C[c.dim],Ue=C[v[c.dim]],Pe=m(ot.get("color"),te),Ne=ot.get("borderColor"),oe=ot.get("borderWidth");at[re]=at[re]=(W[0]+W[1])/2,at[Ue]=k.get("nameGap");var ut=new w.a.graphic.Text;w.a.graphic.setTextStyle(ut.style,ot,{text:k.get("name"),textFill:Pe,textStroke:Ne,lineWidth:oe});var Mt=O.add(ut),Ce=ut.getBoundingRect();R.addSprite(at,[Ce.width*nt,Ce.height*nt],Mt),ut.__idx=this.labelElements.length,this.nameLabelElement=ut}this.labelsMesh.material.set("textureAtlas",O.getTexture()),this.labelsMesh.material.set("uvScale",O.getCoordsScale()),D.convertToTypedArray(),R.convertToTypedArray()},d.prototype.setSpriteAlign=function(A,T,O){for(var P=O.getDevicePixelRatio(),L=this.labelsMesh.geometry,c=0;c<this.labelElements.length;c++){var f=this.labelElements[c],D=f.getBoundingRect();L.setSpriteAlign(c,[D.width*P,D.height*P],A,T)}var R=this.nameLabelElement;if(R){var D=R.getBoundingRect();L.setSpriteAlign(R.__idx,[D.width*P,D.height*P],A,T),L.dirty()}this.textAlign=A,this.textVerticalAlign=T},G.a=d},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(13),y=_(33),b=[0,1,2,0,2,3],E=x.a.extend(function(){return{attributes:{position:new x.a.Attribute("position","float",3,"POSITION"),texcoord:new x.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new x.a.Attribute("offset","float",2),color:new x.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(g){this._spriteCount=g;var m=g*4,C=g*2;this.vertexCount!==m&&(this.attributes.position.init(m),this.attributes.offset.init(m),this.attributes.color.init(m)),this.triangleCount!==C&&(this.indices=m>65535?new Uint32Array(C*3):new Uint16Array(C*3))},setSpriteAlign:function(g,m,C,d,v){C==null&&(C="left"),d==null&&(d="top");var A,T,O,P;switch(v=v||0,C){case"left":A=v,O=m[0]+v;break;case"center":case"middle":A=-m[0]/2,O=m[0]/2;break;case"right":A=-m[0]-v,O=-v;break}switch(d){case"bottom":T=v,P=m[1]+v;break;case"middle":T=-m[1]/2,P=m[1]/2;break;case"top":T=-m[1]-v,P=-v;break}var L=g*4,c=this.attributes.offset;c.set(L,[A,P]),c.set(L+1,[O,P]),c.set(L+2,[O,T]),c.set(L+3,[A,T])},addSprite:function(g,m,C,d,v,A){var T=this._vertexOffset;this.setSprite(this._vertexOffset/4,g,m,C,d,v,A);for(var O=0;O<b.length;O++)this.indices[this._faceOffset*3+O]=b[O]+T;return this._faceOffset+=2,this._vertexOffset+=4,T/4},setSprite:function(g,m,C,d,v,A,T){for(var O=g*4,P=this.attributes,L=0;L<4;L++)P.position.set(O+L,m);var c=P.texcoord;c.set(O,[d[0][0],d[0][1]]),c.set(O+1,[d[1][0],d[0][1]]),c.set(O+2,[d[1][0],d[1][1]]),c.set(O+3,[d[0][0],d[1][1]]),this.setSpriteAlign(g,C,v,A,T)}});w.a.util.defaults(E.prototype,y.a),G.a=E},function(ee,G,_){"use strict";G.a=`@export ecgl.labels.vertex
attribute vec3 position: POSITION;
attribute vec2 texcoord: TEXCOORD_0;
attribute vec2 offset;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
void main()
{
vec4 proj = worldViewProjection * vec4(position, 1.0);
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
screen += offset;
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
gl_Position = proj;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
v_Texcoord = texcoord;
}
@end
@export ecgl.labels.fragment
uniform vec3 color : [1.0, 1.0, 1.0];
uniform float alpha : 1.0;
uniform sampler2D textureAtlas;
uniform vec2 uvScale: [1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Miter;
varying vec2 v_Texcoord;
void main()
{
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
}
@end`},function(ee,G,_){"use strict";var F=_(146),w=_(148),x=_(0),y=_.n(x),b=_(41),E=_.n(b),g=_(20),m=_(3);function C(T,O){var P=T.getBoxLayoutParams(),L=E.a.getLayoutRect(P,{width:O.getWidth(),height:O.getHeight()});L.y=O.getHeight()-L.y-L.height,this.viewGL.setViewport(L.x,L.y,L.width,L.height,O.getDevicePixelRatio());var c=T.get("boxWidth"),f=T.get("boxHeight"),D=T.get("boxDepth");["x","y","z"].forEach(function(R){if(!this.getAxis(R))throw new Error("Grid"+T.id+" don't have "+R+"Axis")},this),this.getAxis("x").setExtent(-c/2,c/2),this.getAxis("y").setExtent(D/2,-D/2),this.getAxis("z").setExtent(-f/2,f/2),this.size=[c,f,D]}function d(T,O){var P={};function L(c,f){P[c]=P[c]||[1/0,-1/0],P[c][0]=Math.min(f[0],P[c][0]),P[c][1]=Math.max(f[1],P[c][1])}T.eachSeries(function(c){if(c.coordinateSystem===this){var f=c.getData();["x","y","z"].forEach(function(D){L(D,f.getDataExtent(c.coordDimToDataDim(D)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(c){T.eachComponent(c,function(f){var D=c.charAt(0),R=f.getReferringComponents("grid3D")[0],k=R.coordinateSystem;if(k===this){var W=k.getAxis(D);if(W){console.warn("Can't have two %s in one grid3D",c);return}var z=y.a.helper.createScale(P[D]||[1/0,-1/0],f);W=new w.a(D,z),W.type=f.get("type");var Z=W.type==="category";W.onBand=Z&&f.get("boundaryGap"),W.inverse=f.get("inverse"),f.axis=W,W.model=f,k.addAxis(W)}},this)},this),this.resize(this.model,O)}var v={dimensions:F.a.prototype.dimensions,create:function(T,O){var P=[];T.eachComponent("grid3D",function(f){f.__viewGL=f.__viewGL||new g.a;var D=new F.a;D.model=f,D.viewGL=f.__viewGL,f.coordinateSystem=D,P.push(D),D.resize=C,D.update=d});var L=["xAxis3D","yAxis3D","zAxis3D"];function c(f,D){return L.map(function(R){var k=f.getReferringComponents(R)[0];if(k==null&&(k=D.getComponent(R)),!k)throw new Error(R+' "'+m.a.firstNotNull(f.get(R+"Index"),f.get(R+"Id"),0)+'" not found');return k})}return T.eachSeries(function(f){if(f.get("coordinateSystem")==="cartesian3D"){var D=f.getReferringComponents("grid3D")[0];if(D==null){var R=c(f,T),D=R[0].getCoordSysModel();R.forEach(function(z){var Z=z.getCoordSysModel();if(!Z)throw new Error('grid3D "'+m.a.firstNotNull(z.get("gridIndex"),z.get("gridId"),0)+'" not found');if(Z!==D)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var k=D.coordinateSystem;f.coordinateSystem=k}}),P}};y.a.registerCoordinateSystem("grid3D",v);var A=v},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(147),y=_.n(x);function b(E){y.a.call(this,E),this.size=[0,0,0]}b.prototype={constructor:b,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(E){return this.getAxis("x").contain(E[0])&&this.getAxis("y").contain(E[2])&&this.getAxis("z").contain(E[1])},containData:function(E){return this.getAxis("x").containData(E[0])&&this.getAxis("y").containData(E[1])&&this.getAxis("z").containData(E[2])},dataToPoint:function(E,g,m){return g=g||[],g[0]=this.getAxis("x").dataToCoord(E[0],m),g[2]=this.getAxis("y").dataToCoord(E[1],m),g[1]=this.getAxis("z").dataToCoord(E[2],m),g},pointToData:function(E,g,m){return g=g||[],g[0]=this.getAxis("x").coordToData(E[0],m),g[1]=this.getAxis("y").coordToData(E[2],m),g[2]=this.getAxis("z").coordToData(E[1],m),g}},w.a.util.inherits(b,y.a),G.a=b},function(ee,G,_){var F=_(12);function w(b){return this._axes[b]}var x=function(b){this._axes={},this._dimList=[],this.name=b||""};x.prototype={constructor:x,type:"cartesian",getAxis:function(b){return this._axes[b]},getAxes:function(){return F.map(this._dimList,w,this)},getAxesByScale:function(b){return b=b.toLowerCase(),F.filter(this.getAxes(),function(E){return E.scale.type===b})},addAxis:function(b){var E=b.dim;this._axes[E]=b,this._dimList.push(E)},dataToCoord:function(b){return this._dataCoordConvert(b,"dataToCoord")},coordToData:function(b){return this._dataCoordConvert(b,"coordToData")},_dataCoordConvert:function(b,E){for(var g=this._dimList,m=b instanceof Array?[]:{},C=0;C<g.length;C++){var d=g[C],v=this._axes[d];m[d]=v[E](b[d])}return m}};var y=x;ee.exports=y},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);function x(y,b,E){w.a.Axis.call(this,y,b,E)}x.prototype={constructor:x,getExtentMin:function(){var y=this._extent;return Math.min(y[0],y[1])},getExtentMax:function(){var y=this._extent;return Math.max(y[0],y[1])}},w.a.util.inherits(x,w.a.Axis),G.a=x},function(ee,G,_){var F=_(12),w=_(150),x=_(78);function y(f){return isNaN(f)?"-":(f=(f+"").split("."),f[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(f.length>1?"."+f[1]:""))}function b(f,D){return f=(f||"").toLowerCase().replace(/-(.)/g,function(R,k){return k.toUpperCase()}),D&&f&&(f=f.charAt(0).toUpperCase()+f.slice(1)),f}var E=F.normalizeCssArray;function g(f){return String(f).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var m=["a","b","c","d","e","f","g"],C=function(f,D){return"{"+f+(D==null?"":D)+"}"};function d(f,D,R){F.isArray(D)||(D=[D]);var k=D.length;if(!k)return"";for(var W=D[0].$vars||[],z=0;z<W.length;z++){var Z=m[z];f=f.replace(C(Z),C(Z,0))}for(var Q=0;Q<k;Q++)for(var te=0;te<W.length;te++){var $=D[Q][W[te]];f=f.replace(C(m[te],Q),R?g($):$)}return f}function v(f,D,R){return F.each(D,function(k,W){f=f.replace("{"+W+"}",R?g(k):k)}),f}function A(f,W){f=F.isString(f)?{color:f,extraCssText:W}:f||{};var R=f.color,k=f.type,W=f.extraCssText;return R?k==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+g(R)+";"+(W||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+g(R)+";"+(W||"")+'"></span>':""}var T=function(f){return f<10?"0"+f:f};function O(f,D,R){(f==="week"||f==="month"||f==="quarter"||f==="half-year"||f==="year")&&(f=`MM-dd
yyyy`);var k=x.parseDate(D),W=R?"UTC":"",z=k["get"+W+"FullYear"](),Z=k["get"+W+"Month"]()+1,Q=k["get"+W+"Date"](),te=k["get"+W+"Hours"](),$=k["get"+W+"Minutes"](),ie=k["get"+W+"Seconds"]();return f=f.replace("MM",T(Z)).replace("M",Z).replace("yyyy",z).replace("yy",z%100).replace("dd",T(Q)).replace("d",Q).replace("hh",T(te)).replace("h",te).replace("mm",T($)).replace("m",$).replace("ss",T(ie)).replace("s",ie),f}function P(f){return f&&f.charAt(0).toUpperCase()+f.substr(1)}var L=w.truncateText,c=w.getBoundingRect;G.addCommas=y,G.toCamelCase=b,G.normalizeCssArray=E,G.encodeHTML=g,G.formatTpl=d,G.formatTplSimple=v,G.getTooltipMarker=A,G.formatTime=O,G.capitalFirst=P,G.truncateText=L,G.getTextRect=c},function(ee,G,_){var F=_(75),w=_(151),x=_(12),y=x.getContext,b=x.extend,E=x.retrieve2,g=x.retrieve3,m={},C=0,d=5e3,v=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,A="12px sans-serif",T={};function O(oe,he){T[oe]=he}function P(oe,he){he=he||A;var se=oe+":"+he;if(m[se])return m[se];for(var pe=(oe+"").split(`
`),me=0,ge=0,Ee=pe.length;ge<Ee;ge++)me=Math.max($(pe[ge],he).width,me);return C>d&&(C=0,m={}),C++,m[se]=me,me}function L(oe,he,se,pe,me,ge,Ee){return ge?f(oe,he,se,pe,me,ge,Ee):c(oe,he,se,pe,me,Ee)}function c(oe,he,se,pe,me,ge){var Ee=ie(oe,he,me,ge),Ae=P(oe,he);me&&(Ae+=me[1]+me[3]);var Fe=Ee.outerHeight,Ue=D(0,Ae,se),nt=R(0,Fe,pe),rt=new F(Ue,nt,Ae,Fe);return rt.lineHeight=Ee.lineHeight,rt}function f(oe,he,se,pe,me,ge,Ee){var Ae=ae(oe,{rich:ge,truncate:Ee,font:he,textAlign:se,textPadding:me}),Fe=Ae.outerWidth,Ue=Ae.outerHeight,nt=D(0,Fe,se),rt=R(0,Ue,pe);return new F(nt,rt,Fe,Ue)}function D(oe,he,se){return se==="right"?oe-=he:se==="center"&&(oe-=he/2),oe}function R(oe,he,se){return se==="middle"?oe-=he/2:se==="bottom"&&(oe-=he),oe}function k(oe,he,se){var pe=he.x,me=he.y,ge=he.height,Ee=he.width,Ae=ge/2,Fe="left",Ue="top";switch(oe){case"left":pe-=se,me+=Ae,Fe="right",Ue="middle";break;case"right":pe+=se+Ee,me+=Ae,Ue="middle";break;case"top":pe+=Ee/2,me-=se,Fe="center",Ue="bottom";break;case"bottom":pe+=Ee/2,me+=ge+se,Fe="center";break;case"inside":pe+=Ee/2,me+=Ae,Fe="center",Ue="middle";break;case"insideLeft":pe+=se,me+=Ae,Ue="middle";break;case"insideRight":pe+=Ee-se,me+=Ae,Fe="right",Ue="middle";break;case"insideTop":pe+=Ee/2,me+=se,Fe="center";break;case"insideBottom":pe+=Ee/2,me+=ge-se,Fe="center",Ue="bottom";break;case"insideTopLeft":pe+=se,me+=se;break;case"insideTopRight":pe+=Ee-se,me+=se,Fe="right";break;case"insideBottomLeft":pe+=se,me+=ge-se,Ue="bottom";break;case"insideBottomRight":pe+=Ee-se,me+=ge-se,Fe="right",Ue="bottom";break}return{x:pe,y:me,textAlign:Fe,textVerticalAlign:Ue}}function W(oe,he,se,pe,me){if(!he)return"";var ge=(oe+"").split(`
`);me=z(he,se,pe,me);for(var Ee=0,Ae=ge.length;Ee<Ae;Ee++)ge[Ee]=Z(ge[Ee],me);return ge.join(`
`)}function z(oe,he,me,pe){pe=b({},pe),pe.font=he;var me=E(me,"...");pe.maxIterations=E(pe.maxIterations,2);var ge=pe.minChar=E(pe.minChar,0);pe.cnCharWidth=P("\u56FD",he);var Ee=pe.ascCharWidth=P("a",he);pe.placeholder=E(pe.placeholder,"");for(var Ae=oe=Math.max(0,oe-1),Fe=0;Fe<ge&&Ae>=Ee;Fe++)Ae-=Ee;var Ue=P(me);return Ue>Ae&&(me="",Ue=0),Ae=oe-Ue,pe.ellipsis=me,pe.ellipsisWidth=Ue,pe.contentWidth=Ae,pe.containerWidth=oe,pe}function Z(oe,he){var se=he.containerWidth,pe=he.font,me=he.contentWidth;if(!se)return"";var ge=P(oe,pe);if(ge<=se)return oe;for(var Ee=0;;Ee++){if(ge<=me||Ee>=he.maxIterations){oe+=he.ellipsis;break}var Ae=Ee===0?Q(oe,me,he.ascCharWidth,he.cnCharWidth):ge>0?Math.floor(oe.length*me/ge):0;oe=oe.substr(0,Ae),ge=P(oe,pe)}return oe===""&&(oe=he.placeholder),oe}function Q(oe,he,se,pe){for(var me=0,ge=0,Ee=oe.length;ge<Ee&&me<he;ge++){var Ae=oe.charCodeAt(ge);me+=0<=Ae&&Ae<=127?se:pe}return ge}function te(oe){return P("\u56FD",oe)}function $(oe,he){return T.measureText(oe,he)}T.measureText=function(oe,he){var se=y();return se.font=he||A,se.measureText(oe)};function ie(oe,he,se,pe){oe!=null&&(oe+="");var me=te(he),ge=oe?oe.split(`
`):[],Ee=ge.length*me,Ae=Ee;if(se&&(Ae+=se[0]+se[2]),oe&&pe){var Fe=pe.outerHeight,Ue=pe.outerWidth;if(Fe!=null&&Ae>Fe)oe="",ge=[];else if(Ue!=null)for(var nt=z(Ue-(se?se[1]+se[3]:0),he,pe.ellipsis,{minChar:pe.minChar,placeholder:pe.placeholder}),rt=0,qe=ge.length;rt<qe;rt++)ge[rt]=Z(ge[rt],nt)}return{lines:ge,height:Ee,outerHeight:Ae,lineHeight:me}}function ae(oe,he){var se={lines:[],width:0,height:0};if(oe!=null&&(oe+=""),!oe)return se;for(var pe=v.lastIndex=0,me;(me=v.exec(oe))!=null;){var ge=me.index;ge>pe&&re(se,oe.substring(pe,ge)),re(se,me[2],me[1]),pe=v.lastIndex}pe<oe.length&&re(se,oe.substring(pe,oe.length));var Ee=se.lines,Ae=0,Fe=0,Ue=[],nt=he.textPadding,rt=he.truncate,qe=rt&&rt.outerWidth,dt=rt&&rt.outerHeight;nt&&(qe!=null&&(qe-=nt[1]+nt[3]),dt!=null&&(dt-=nt[0]+nt[2]));for(var yt=0;yt<Ee.length;yt++){for(var je=Ee[yt],at=0,it=0,ht=0;ht<je.tokens.length;ht++){var ut=je.tokens[ht],Mt=ut.styleName&&he.rich[ut.styleName]||{},Ce=ut.textPadding=Mt.textPadding,ot=ut.font=Mt.font||he.font,Pe=ut.textHeight=E(Mt.textHeight,te(ot));if(Ce&&(Pe+=Ce[0]+Ce[2]),ut.height=Pe,ut.lineHeight=g(Mt.textLineHeight,he.textLineHeight,Pe),ut.textAlign=Mt&&Mt.textAlign||he.textAlign,ut.textVerticalAlign=Mt&&Mt.textVerticalAlign||"middle",dt!=null&&Ae+ut.lineHeight>dt)return{lines:[],width:0,height:0};ut.textWidth=P(ut.text,ot);var Ne=Mt.textWidth,We=Ne==null||Ne==="auto";if(typeof Ne=="string"&&Ne.charAt(Ne.length-1)==="%")ut.percentWidth=Ne,Ue.push(ut),Ne=0;else{if(We){Ne=ut.textWidth;var Be=Mt.textBackgroundColor,Ve=Be&&Be.image;Ve&&(Ve=w.findExistImage(Ve),w.isImageReady(Ve)&&(Ne=Math.max(Ne,Ve.width*Pe/Ve.height)))}var $e=Ce?Ce[1]+Ce[3]:0;Ne+=$e;var lt=qe!=null?qe-it:null;lt!=null&&lt<Ne&&(!We||lt<$e?(ut.text="",ut.textWidth=Ne=0):(ut.text=W(ut.text,lt-$e,ot,rt.ellipsis,{minChar:rt.minChar}),ut.textWidth=P(ut.text,ot),Ne=ut.textWidth+$e))}it+=ut.width=Ne,Mt&&(at=Math.max(at,ut.lineHeight))}je.width=it,je.lineHeight=at,Ae+=at,Fe=Math.max(Fe,it)}se.outerWidth=se.width=E(he.textWidth,Fe),se.outerHeight=se.height=E(he.textHeight,Ae),nt&&(se.outerWidth+=nt[1]+nt[3],se.outerHeight+=nt[0]+nt[2]);for(var yt=0;yt<Ue.length;yt++){var ut=Ue[yt],pt=ut.percentWidth;ut.width=parseInt(pt,10)/100*Fe}return se}function re(oe,he,se){for(var pe=he==="",me=he.split(`
`),ge=oe.lines,Ee=0;Ee<me.length;Ee++){var Ae=me[Ee],Fe={styleName:se,text:Ae,isLineHolder:!Ae&&!pe};if(Ee)ge.push({tokens:[Fe]});else{var Ue=(ge[ge.length-1]||(ge[0]={tokens:[]})).tokens,nt=Ue.length;nt===1&&Ue[0].isLineHolder?Ue[0]=Fe:(Ae||!nt||pe)&&Ue.push(Fe)}}}function ce(oe){return(oe.fontSize||oe.fontFamily)&&[oe.fontStyle,oe.fontWeight,(oe.fontSize||12)+"px",oe.fontFamily||"sans-serif"].join(" ")||oe.textFont||oe.font}G.DEFAULT_FONT=A,G.$override=O,G.getWidth=P,G.getBoundingRect=L,G.adjustTextX=D,G.adjustTextY=R,G.adjustTextPositionOnRect=k,G.truncateText=W,G.getLineHeight=te,G.measureText=$,G.parsePlainText=ie,G.parseRichText=ae,G.makeFont=ce},function(ee,G,_){var F=_(53),w=new F(50);function x(g){if(typeof g=="string"){var m=w.get(g);return m&&m.image}else return g}function y(g,m,C,d,v){if(g)if(typeof g=="string"){if(m&&m.__zrImageSrc===g||!C)return m;var A=w.get(g),T={hostEl:C,cb:d,cbPayload:v};return A?(m=A.image,!E(m)&&A.pending.push(T)):(!m&&(m=new Image),m.onload=b,w.put(g,m.__cachedImgObj={image:m,pending:[T]}),m.src=m.__zrImageSrc=g),m}else return g;else return m}function b(){var g=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var m=0;m<g.pending.length;m++){var C=g.pending[m],d=C.cb;d&&d(this,C.cbPayload),C.hostEl.dirty()}g.pending.length=0}function E(g){return g&&g.width&&g.height}G.findExistImage=x,G.createOrUpdateImage=y,G.isImageReady=E},function(ee,G,_){"use strict";var F=_(8),w=_(11),x=_(4),y=_(15),b=_(52),E=_(9),g=_(46),m=_(7),C=_(19),d=_(24),v=_(72),A=_(70),T=_(71),O=_(153),P=_(17),L=_(10),c=_(6),f=_(5),D=_(25),R=_(36),k=_(30),W=_(14),z=_(79),Z=_(1),Q=_.n(Z),te=_(154),$=Q.a.mat4,ie=Q.a.vec3,ae=["px","nx","py","ny","pz","nz"];m.a.import(te.a);var re=F.a.extend(function(){return{softShadow:re.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new L.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new z.a}},function(){this._gaussianPassH=new W.a({fragment:m.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new W.a({fragment:m.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new W.a({fragment:m.a.source("clay.sm.debug_depth")})},{render:function(ce,oe,he,se){he||(he=oe.getMainCamera()),this.trigger("beforerender",this,ce,oe,he),this._renderShadowPass(ce,oe,he,se),this.trigger("afterrender",this,ce,oe,he)},renderDebug:function(ce,oe){ce.saveClear();var he=ce.viewport,se=0,pe=0,me=oe||he.width/4,ge=me;this.softShadow===re.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var Ee in this._textures){var Ae=this._textures[Ee];ce.setViewport(se,pe,me*Ae.width/Ae.height,ge),this._outputDepthPass.setUniform("depthMap",Ae),this._outputDepthPass.render(ce),se+=me*Ae.width/Ae.height}ce.setViewport(he),ce.restoreClear()},_updateCasterAndReceiver:function(ce,oe){if(oe.castShadow&&this._opaqueCasters.push(oe),oe.receiveShadow?(this._receivers.push(oe),oe.material.set("shadowEnabled",1),oe.material.set("pcfKernel",this.kernelPCF)):oe.material.set("shadowEnabled",0),!oe.material.shader&&oe.material.updateShader&&oe.material.updateShader(ce),this.softShadow===re.VSM)oe.material.define("fragment","USE_VSM"),oe.material.undefine("fragment","PCF_KERNEL_SIZE");else{oe.material.undefine("fragment","USE_VSM");var he=this.kernelPCF;he&&he.length?oe.material.define("fragment","PCF_KERNEL_SIZE",he.length/2):oe.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(ce,oe){for(var he=0;he<oe.opaqueList.length;he++)this._updateCasterAndReceiver(ce,oe.opaqueList[he]);for(var he=0;he<oe.transparentList.length;he++)this._updateCasterAndReceiver(ce,oe.transparentList[he]);for(var he=0;he<oe.lights.length;he++){var se=oe.lights[he];se.castShadow&&this._lightsCastShadow.push(se)}},_renderShadowPass:function(ce,oe,he,se){for(var pe in this._shadowMapNumber)this._shadowMapNumber[pe]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var me=ce.gl;if(se||oe.update(),he&&he.update(),this._update(ce,oe),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,me.enable(me.DEPTH_TEST),me.depthMask(!0),me.disable(me.BLEND),me.clearColor(1,1,1,1);for(var ge=[],Ee=[],Ae=[],Fe=[],Ue=[],nt=[],rt,qe=0;qe<this._lightsCastShadow.length;qe++){var dt=this._lightsCastShadow[qe];if(dt instanceof A.a){if(rt){console.warn("Only one direectional light supported with shadow cascade");continue}if(dt.shadowCascade>4){console.warn("Support at most 4 cascade");continue}dt.shadowCascade>1&&(rt=dt.shadowCascade),this.renderDirectionalLightShadow(ce,oe,he,dt,this._opaqueCasters,Ue,Fe,Ae)}else dt instanceof v.a?this.renderSpotLightShadow(ce,oe,dt,this._opaqueCasters,Ee,ge):dt instanceof T.a&&this.renderPointLightShadow(ce,oe,dt,this._opaqueCasters,nt);this._shadowMapNumber[dt.type]++}for(var yt in this._shadowMapNumber)for(var je=this._shadowMapNumber[yt],at=yt+"_SHADOWMAP_COUNT",qe=0;qe<this._receivers.length;qe++){var it=this._receivers[qe],ht=it.material;ht.fragmentDefines[at]!==je&&(je>0?ht.define("fragment",at,je):ht.isDefined("fragment",at)&&ht.undefine("fragment",at))}for(var qe=0;qe<this._receivers.length;qe++){var it=this._receivers[qe],ht=it.material;rt?ht.define("fragment","SHADOW_CASCADE",rt.shadowCascade):ht.undefine("fragment","SHADOW_CASCADE")}var ut=oe.shadowUniforms;function Mt(We){return We.height}if(Ae.length>0){var Ce=Ae.map(Mt);if(ut.directionalLightShadowMaps={value:Ae,type:"tv"},ut.directionalLightMatrices={value:Fe,type:"m4v"},ut.directionalLightShadowMapSizes={value:Ce,type:"1fv"},rt){var ot=Ue.slice(),Pe=Ue.slice();ot.pop(),Pe.shift(),ot.reverse(),Pe.reverse(),Fe.reverse(),ut.shadowCascadeClipsNear={value:ot,type:"1fv"},ut.shadowCascadeClipsFar={value:Pe,type:"1fv"}}}if(ge.length>0){var Ne=ge.map(Mt),ut=oe.shadowUniforms;ut.spotLightShadowMaps={value:ge,type:"tv"},ut.spotLightMatrices={value:Ee,type:"m4v"},ut.spotLightShadowMapSizes={value:Ne,type:"1fv"}}nt.length>0&&(ut.pointLightShadowMaps={value:nt,type:"tv"})},renderDirectionalLightShadow:function(){var ce=new b.a,oe=new E.a,he=new y.a,se=new E.a,pe=new E.a,me=new E.a,ge=new E.a;return function(Ee,Ae,Fe,Ue,nt,rt,qe,dt){var yt=this._getDepthMaterial(Ue),je={getMaterial:function(en){return en.shadowDepthMaterial||yt},sortCompare:g.a.opaqueSortCompare};if(!Ae.viewBoundingBoxLastFrame.isFinite()){var at=Ae.getBoundingBox();Ae.viewBoundingBoxLastFrame.copy(at).applyTransform(Fe.viewMatrix)}var it=Math.min(-Ae.viewBoundingBoxLastFrame.min.z,Fe.far),ht=Math.max(-Ae.viewBoundingBoxLastFrame.max.z,Fe.near),ut=this._getDirectionalLightCamera(Ue,Ae,Fe),Mt=me.array;ge.copy(ut.projectionMatrix),$.invert(pe.array,ut.worldTransform.array),$.multiply(pe.array,pe.array,Fe.worldTransform.array),$.multiply(Mt,ge.array,pe.array);for(var Ce=[],ot=Fe instanceof R.a,Pe=(Fe.near+Fe.far)/(Fe.near-Fe.far),Ne=2*Fe.near*Fe.far/(Fe.near-Fe.far),We=0;We<=Ue.shadowCascade;We++){var Be=ht*Math.pow(it/ht,We/Ue.shadowCascade),Ve=ht+(it-ht)*We/Ue.shadowCascade,$e=Be*Ue.cascadeSplitLogFactor+Ve*(1-Ue.cascadeSplitLogFactor);Ce.push($e),rt.push(-(-$e*Pe+Ne)/-$e)}var lt=this._getTexture(Ue,Ue.shadowCascade);dt.push(lt);var pt=Ee.viewport,xt=Ee.gl;this._frameBuffer.attach(lt),this._frameBuffer.bind(Ee),xt.clear(xt.COLOR_BUFFER_BIT|xt.DEPTH_BUFFER_BIT);for(var We=0;We<Ue.shadowCascade;We++){var wt=Ce[We],Dt=Ce[We+1];ot?$.perspective(oe.array,Fe.fov/180*Math.PI,Fe.aspect,wt,Dt):$.ortho(oe.array,Fe.left,Fe.right,Fe.bottom,Fe.top,wt,Dt),ce.setFromProjection(oe),ce.getTransformedBoundingBox(he,pe),he.applyProjection(ge);var kt=he.min.array,Yt=he.max.array;kt[0]=Math.max(kt[0],-1),kt[1]=Math.max(kt[1],-1),Yt[0]=Math.min(Yt[0],1),Yt[1]=Math.min(Yt[1],1),se.ortho(kt[0],Yt[0],kt[1],Yt[1],1,-1),ut.projectionMatrix.multiplyLeft(se);var Wt=Ue.shadowResolution||512;Ee.setViewport((Ue.shadowCascade-We-1)*Wt,0,Wt,Wt,1),Ee.renderPass(nt,ut,je),this.softShadow===re.VSM&&this._gaussianFilter(Ee,lt,lt.width);var Ot=new E.a;Ot.copy(ut.viewMatrix).multiplyLeft(ut.projectionMatrix),qe.push(Ot.array),ut.projectionMatrix.copy(ge)}this._frameBuffer.unbind(Ee),Ee.setViewport(pt)}}(),renderSpotLightShadow:function(ce,oe,he,se,pe,me){var ge=this._getTexture(he),Ee=this._getSpotLightCamera(he),Ae=ce.gl;this._frameBuffer.attach(ge),this._frameBuffer.bind(ce),Ae.clear(Ae.COLOR_BUFFER_BIT|Ae.DEPTH_BUFFER_BIT);var Fe=this._getDepthMaterial(he),Ue={getMaterial:function(rt){return rt.shadowDepthMaterial||Fe},sortCompare:g.a.opaqueSortCompare};ce.renderPass(ce.cullRenderList(se,null,Ee),Ee,Ue),this._frameBuffer.unbind(ce),this.softShadow===re.VSM&&this._gaussianFilter(ce,ge,ge.width);var nt=new E.a;nt.copy(Ee.worldTransform).invert().multiplyLeft(Ee.projectionMatrix),me.push(ge),pe.push(nt.array)},renderPointLightShadow:function(ce,oe,he,se,pe){var me=this._getTexture(he),ge=ce.gl;pe.push(me);for(var Ee=this._getDepthMaterial(he),Ae={getMaterial:function(rt){return rt.shadowDepthMaterial||Ee},sortCompare:g.a.opaqueSortCompare},Fe=0;Fe<6;Fe++){var Ue=ae[Fe],nt=this._getPointLightCamera(he,Ue);this._frameBuffer.attach(me,ge.COLOR_ATTACHMENT0,ge.TEXTURE_CUBE_MAP_POSITIVE_X+Fe),this._frameBuffer.bind(ce),ge.clear(ge.COLOR_BUFFER_BIT|ge.DEPTH_BUFFER_BIT),ce.renderPass(ce.cullRenderList(se,null,nt),nt,Ae)}this._frameBuffer.unbind(ce)},_getDepthMaterial:function(ce){var oe=this._lightMaterials[ce.__uid__],he=ce instanceof T.a;if(!oe){var se=he?"clay.sm.distance.":"clay.sm.depth.";oe=new P.a({precision:this.precision,shader:new m.a(m.a.source(se+"vertex"),m.a.source(se+"fragment"))}),this._lightMaterials[ce.__uid__]=oe}return ce.shadowSlopeScale!=null&&oe.setUniform("slopeScale",ce.shadowSlopeScale),ce.shadowBias!=null&&oe.setUniform("shadowBias",ce.shadowBias),this.softShadow===re.VSM?oe.define("fragment","USE_VSM"):oe.undefine("fragment","USE_VSM"),he&&(oe.set("lightPosition",ce.getWorldPosition().array),oe.set("range",ce.range)),oe},_gaussianFilter:function(ce,oe,he){var se={width:he,height:he,type:c.a.FLOAT},pe=this._texturePool.get(se);this._frameBuffer.attach(pe),this._frameBuffer.bind(ce),this._gaussianPassH.setUniform("texture",oe),this._gaussianPassH.setUniform("textureWidth",he),this._gaussianPassH.render(ce),this._frameBuffer.attach(oe),this._gaussianPassV.setUniform("texture",pe),this._gaussianPassV.setUniform("textureHeight",he),this._gaussianPassV.render(ce),this._frameBuffer.unbind(ce),this._texturePool.put(pe)},_getTexture:function(ce,oe){var he=ce.__uid__,se=this._textures[he],pe=ce.shadowResolution||512;return oe=oe||1,se||(ce instanceof T.a?se=new D.a:se=new f.a,se.width=pe*oe,se.height=pe,this.softShadow===re.VSM?(se.type=c.a.FLOAT,se.anisotropic=4):(se.minFilter=w.a.NEAREST,se.magFilter=w.a.NEAREST,se.useMipmap=!1),this._textures[he]=se),se},_getPointLightCamera:function(ce,oe){this._lightCameras.point||(this._lightCameras.point={px:new R.a,nx:new R.a,py:new R.a,ny:new R.a,pz:new R.a,nz:new R.a});var he=this._lightCameras.point[oe];switch(he.far=ce.range,he.fov=90,he.position.set(0,0,0),oe){case"px":he.lookAt(x.a.POSITIVE_X,x.a.NEGATIVE_Y);break;case"nx":he.lookAt(x.a.NEGATIVE_X,x.a.NEGATIVE_Y);break;case"py":he.lookAt(x.a.POSITIVE_Y,x.a.POSITIVE_Z);break;case"ny":he.lookAt(x.a.NEGATIVE_Y,x.a.NEGATIVE_Z);break;case"pz":he.lookAt(x.a.POSITIVE_Z,x.a.NEGATIVE_Y);break;case"nz":he.lookAt(x.a.NEGATIVE_Z,x.a.NEGATIVE_Y);break}return ce.getWorldPosition(he.position),he.update(),he},_getDirectionalLightCamera:function(){var ce=new E.a,oe=new y.a,he=new y.a;return function(se,pe,me){this._lightCameras.directional||(this._lightCameras.directional=new k.a);var ge=this._lightCameras.directional;oe.copy(pe.viewBoundingBoxLastFrame),oe.intersection(me.frustum.boundingBox),ge.position.copy(oe.min).add(oe.max).scale(.5).transformMat4(me.worldTransform),ge.rotation.copy(se.rotation),ge.scale.copy(se.scale),ge.updateWorldTransform(),E.a.invert(ce,ge.worldTransform),E.a.multiply(ce,ce,me.worldTransform),he.copy(oe).applyTransform(ce);var Ee=he.min.array,Ae=he.max.array;return ge.position.set((Ee[0]+Ae[0])/2,(Ee[1]+Ae[1])/2,Ae[2]).transformMat4(ge.worldTransform),ge.near=0,ge.far=-Ee[2]+Ae[2],isNaN(this.lightFrustumBias)?ge.far*=4:ge.far+=this.lightFrustumBias,ge.left=Ee[0],ge.right=Ae[0],ge.top=Ae[1],ge.bottom=Ee[1],ge.update(!0),ge}}(),_getSpotLightCamera:function(ce){this._lightCameras.spot||(this._lightCameras.spot=new R.a);var oe=this._lightCameras.spot;return oe.fov=ce.penumbraAngle*2,oe.far=ce.range,oe.worldTransform.copy(ce.worldTransform),oe.updateProjectionMatrix(),$.invert(oe.viewMatrix.array,oe.worldTransform.array),oe},dispose:function(ce){var oe=ce.gl||ce;this._frameBuffer&&this._frameBuffer.dispose(oe);for(var he in this._textures)this._textures[he].dispose(oe);this._texturePool.clear(ce.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var se=0;se<this._receivers.length;se++){var pe=this._receivers[se];if(pe.material&&pe.material.shader){var me=pe.material,ge=me.shader;ge.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),ge.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),ge.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),me.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});re.VSM=1,re.PCF=2,G.a=re},function(ee,G,_){"use strict";var F=_(7),w={};function x(){this._pool={}}x.prototype.get=function(g){var m=g;if(this._pool[m])return this._pool[m];var C=w[g];if(!C){console.error('Shader "'+g+'" is not in the library');return}var d=new F.a(C.vertex,C.fragment);return this._pool[m]=d,d},x.prototype.clear=function(){this._pool={}};function y(g,m,C){w[g]={vertex:m,fragment:C}}var b=new x,E={createLibrary:function(){return new x},get:function(){return b.get.apply(b,arguments)},template:y,clear:function(){return b.clear()}}},function(ee,G,_){"use strict";G.a=`@export clay.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef SHADOW_TRANSPARENT
attribute vec2 texcoord : TEXCOORD_0;
#endif
@import clay.chunk.skinning_header
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
void main(){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
gl_Position = v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
v_Texcoord = texcoord;
#endif
}
@end
@export clay.sm.depth.fragment
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
uniform float bias : 0.001;
uniform float slopeScale : 1.0;
#ifdef SHADOW_TRANSPARENT
uniform sampler2D transparentMap;
#endif
@import clay.util.encode_float
void main(){
float depth = v_ViewPosition.z / v_ViewPosition.w;
#ifdef USE_VSM
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
#else
float dx = dFdx(depth);
float dy = dFdy(depth);
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
#ifdef SHADOW_TRANSPARENT
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
gl_FragColor = encodeFloat(0.9999);
return;
}
#endif
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
#endif
}
@end
@export clay.sm.debug_depth
uniform sampler2D depthMap;
varying vec2 v_Texcoord;
@import clay.util.decode_float
void main() {
vec4 tex = texture2D(depthMap, v_Texcoord);
#ifdef USE_VSM
gl_FragColor = vec4(tex.rgb, 1.0);
#else
float depth = decodeFloat(tex);
gl_FragColor = vec4(depth, depth, depth, 1.0);
#endif
}
@end
@export clay.sm.distance.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 world : WORLD;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
varying vec3 v_WorldPosition;
void main (){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
}
@end
@export clay.sm.distance.fragment
uniform vec3 lightPosition;
uniform float range : 100;
varying vec3 v_WorldPosition;
@import clay.util.encode_float
void main(){
float dist = distance(lightPosition, v_WorldPosition);
#ifdef USE_VSM
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
#else
dist = dist / range;
gl_FragColor = encodeFloat(dist);
#endif
}
@end
@export clay.plugin.shadow_map_common
@import clay.util.decode_float
float tapShadowMap(sampler2D map, vec2 uv, float z){
vec4 tex = texture2D(map, uv);
return step(z, decodeFloat(tex) * 2.0 - 1.0);
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
float shadowContrib = tapShadowMap(map, uv, z);
vec2 offset = vec2(1.0 / textureSize) * scale;
#ifdef PCF_KERNEL_SIZE
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
}}
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
#else
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
return shadowContrib / 9.0;
#endif
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
return pcf(map, uv, z, textureSize, vec2(1.0));
}
float chebyshevUpperBound(vec2 moments, float z){
float p = 0.0;
z = z * 0.5 + 0.5;
if (z <= moments.x) {
p = 1.0;
}
float variance = moments.y - moments.x * moments.x;
variance = max(variance, 0.0000001);
float mD = moments.x - z;
float pMax = variance / (variance + mD * mD);
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
return max(p, pMax);
}
float computeShadowContrib(
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
) {
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
posInLightSpace.xyz /= posInLightSpace.w;
float z = posInLightSpace.z;
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
#ifdef USE_VSM
vec2 moments = texture2D(map, uv * scale + offset).xy;
return chebyshevUpperBound(moments, z);
#else
return pcf(map, uv * scale + offset, z, textureSize, scale);
#endif
}
return 1.0;
}
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
}
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
{
float dist = length(direction);
vec4 shadowTex = textureCube(map, direction);
#ifdef USE_VSM
vec2 moments = shadowTex.xy;
float variance = moments.y - moments.x * moments.x;
float mD = moments.x - dist;
float p = variance / (variance + mD * mD);
if(moments.x + 0.001 < dist){
return clamp(p, 0.0, 1.0);
}else{
return 1.0;
}
#else
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
#endif
}
@end
@export clay.plugin.compute_shadow_map
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
#if defined(SHADOW_CASCADE)
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
#else
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#endif
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
uniform bool shadowEnabled : true;
#ifdef PCF_KERNEL_SIZE
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
#endif
@import clay.plugin.shadow_map_common
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
float shadowContrib;
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
spotLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
#ifdef SHADOW_CASCADE
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
/ (gl_DepthRange.far - gl_DepthRange.near);
float shadowContrib;
shadowContribs[0] = 1.0;
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
if (
depth >= shadowCascadeClipsNear[_idx_] &&
depth <= shadowCascadeClipsFar[_idx_]
) {
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[0],
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
);
shadowContribs[0] = shadowContrib;
}
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#else
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float shadowContrib;
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
vec3 lightPosition;
vec3 direction;
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
lightPosition = pointLightPosition[_idx_];
direction = position - lightPosition;
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
}}
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
@end`},function(ee,G,_){"use strict";var F=_(7),w=_(5),x=_(6),y=_(10),b=_(156),E=_(162),g=_(164),m=_(166),C=_(2),d=_(167),v=_(169),A=_(9),T=_(170),O=_(171),P=_(172),L=_(173),c=_(174),f=_(175),D=_(176),R=_(177),k=_(178),W=_(179),z=_(180),Z=_(181);F.a.import(O.a),F.a.import(P.a),F.a.import(L.a),F.a.import(c.a),F.a.import(f.a),F.a.import(D.a),F.a.import(R.a),F.a.import(k.a),F.a.import(W.a),F.a.import(z.a),F.a.import(Z.a);var Q={color:{parameters:{width:function(ie){return ie.getWidth()},height:function(ie){return ie.getHeight()}}}},te=["composite","FXAA"];function $(){this._sourceTexture=new w.a({type:x.a.HALF_FLOAT}),this._depthTexture=new w.a({format:x.a.DEPTH_COMPONENT,type:x.a.UNSIGNED_INT}),this._framebuffer=new y.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,y.a.DEPTH_ATTACHMENT),this._normalPass=new d.a,this._compositor=Object(b.a)(T.a);var ie=this._compositor.getNodeByName("source");ie.texture=this._sourceTexture;var ae=this._compositor.getNodeByName("coc");this._sourceNode=ie,this._cocNode=ae,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(ce){return this._compositor.getNodeByName(ce)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=te.map(function(ce){return this._compositor.getNodeByName(ce)},this);var re={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new E.a(re),this._ssrPass=new g.a(re),this._edgePass=new v.a(re)}$.prototype.resize=function(ce,oe,re){re=re||1;var ce=ce*re,oe=oe*re,he=this._sourceTexture,se=this._depthTexture;he.width=ce,he.height=oe,se.width=ce,se.height=oe},$.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},$.prototype._getPrevNode=function(ie){for(var ae=te.indexOf(ie.name)-1,re=this._finalNodesChain[ae];re&&!this._compositor.getNodeByName(re.name);)ae-=1,re=this._finalNodesChain[ae];return re},$.prototype._getNextNode=function(ie){for(var ae=te.indexOf(ie.name)+1,re=this._finalNodesChain[ae];re&&!this._compositor.getNodeByName(re.name);)ae+=1,re=this._finalNodesChain[ae];return re},$.prototype._addChainNode=function(ie){var ae=this._getPrevNode(ie),re=this._getNextNode(ie);ae&&(ae.outputs=Q,ie.inputs.texture=ae.name,re?(ie.outputs=Q,re.inputs.texture=ie.name):ie.outputs=null,this._compositor.addNode(ie))},$.prototype._removeChainNode=function(ie){var ae=this._getPrevNode(ie),re=this._getNextNode(ie);ae&&(re?(ae.outputs=Q,re.inputs.texture=ae.name):ae.outputs=null,this._compositor.removeNode(ie))},$.prototype.updateNormal=function(ie,ae,re,ce){this._ifRenderNormalPass()&&this._normalPass.update(ie,ae,re)},$.prototype.updateSSAO=function(ie,ae,re,ce){this._ssaoPass.update(ie,re,ce)},$.prototype.enableSSAO=function(){this._enableSSAO=!0},$.prototype.disableSSAO=function(){this._enableSSAO=!1},$.prototype.enableSSR=function(){this._enableSSR=!0},$.prototype.disableSSR=function(){this._enableSSR=!1},$.prototype.getSSAOTexture=function(ie,ae,re,ce){return this._ssaoPass.getTargetTexture()},$.prototype.getSourceFrameBuffer=function(){return this._framebuffer},$.prototype.getSourceTexture=function(){return this._sourceTexture},$.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},$.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},$.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},$.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},$.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},$.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},$.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},$.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},$.prototype.enableEdge=function(){this._enableEdge=!0},$.prototype.disableEdge=function(){this._enableEdge=!1},$.prototype.setBloomIntensity=function(ie){this._compositeNode.setParameter("bloomIntensity",ie)},$.prototype.setSSAOParameter=function(ie,ae){switch(ie){case"quality":var re={low:6,medium:12,high:32,ultra:62}[ae]||12;this._ssaoPass.setParameter("kernelSize",re);break;case"radius":this._ssaoPass.setParameter(ie,ae),this._ssaoPass.setParameter("bias",ae/200);break;case"intensity":this._ssaoPass.setParameter(ie,ae);break;default:console.warn("Unkown SSAO parameter "+ie)}},$.prototype.setDOFParameter=function(ie,ae){switch(ie){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(ie,ae);break;case"blurRadius":for(var re=0;re<this._dofBlurNodes.length;re++)this._dofBlurNodes[re].setParameter("blurRadius",ae);break;case"quality":var ce={low:4,medium:8,high:16,ultra:32}[ae]||8;this._dofBlurKernelSize=ce;for(var re=0;re<this._dofBlurNodes.length;re++)this._dofBlurNodes[re].pass.material.define("POISSON_KERNEL_SIZE",ce);this._dofBlurKernel=new Float32Array(ce*2);break;default:console.warn("Unkown DOF parameter "+ie)}},$.prototype.setSSRParameter=function(ie,ae){switch(ie){case"quality":var re={low:10,medium:20,high:40,ultra:80}[ae]||20,ce={low:32,medium:16,high:8,ultra:4}[ae]||16;this._ssrPass.setParameter("maxIteration",re),this._ssrPass.setParameter("pixelStride",ce);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-ae,1),0));break;default:console.warn("Unkown SSR parameter "+ie)}},$.prototype.setEdgeColor=function(ie){var ae=C.a.parseColor(ie);this._edgePass.setParameter("edgeColor",ae)},$.prototype.setExposure=function(ie){this._compositeNode.setParameter("exposure",Math.pow(2,ie))},$.prototype.setColorLookupTexture=function(ie,ae){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?ie:"none",ae,{minFilter:C.a.Texture.NEAREST,magFilter:C.a.Texture.NEAREST,flipY:!1})},$.prototype.setColorCorrection=function(ie,ae){this._compositeNode.setParameter(ie,ae)},$.prototype.composite=function(ie,ae,re,ce){var oe=this._sourceTexture,he=oe;this._enableEdge&&(this._edgePass.update(ie,ae,oe,ce),oe=he=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(ie,ae,oe,ce),he=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=he,this._cocNode.setParameter("depth",this._depthTexture);for(var se=this._dofBlurKernel,pe=this._dofBlurKernelSize,me=Math.floor(m.a.length/2/pe),ge=ce%me,Ee=0;Ee<pe*2;Ee++)se[Ee]=m.a[Ee+ge*pe*2];for(var Ee=0;Ee<this._dofBlurNodes.length;Ee++)this._dofBlurNodes[Ee].setParameter("percent",ce/30),this._dofBlurNodes[Ee].setParameter("poissonKernel",se);this._cocNode.setParameter("zNear",ae.near),this._cocNode.setParameter("zFar",ae.far),this._compositor.render(ie,re)},$.prototype.dispose=function(ie){this._sourceTexture.dispose(ie),this._depthTexture.dispose(ie),this._framebuffer.dispose(ie),this._compositor.dispose(ie),this._normalPass.dispose(ie),this._ssaoPass.dispose(ie)},G.a=$},function(ee,G,_){"use strict";var F=_(21),w=_(157),x=_(159),y=_(160),b=_(161),E=_(7),g=_(6),m=_(5),C=_(25),d=/^#source\((.*?)\)/;function v(f,D){var R=new w.a;D=D||{};var k={textures:{},parameters:{}},W=function(Q,te){for(var $=0;$<f.nodes.length;$++){var ie=f.nodes[$],ae=A(ie,k,D);ae&&R.addNode(ae)}};for(var z in f.parameters){var Z=f.parameters[z];k.parameters[z]=T(Z)}return O(f,k,D,function(Q){k.textures=Q,W()}),R}function A(f,D,R){var k=f.type||"filter",W,z,Z;if(k==="filter"){var Q=f.shader.trim(),te=d.exec(Q);if(te?W=E.a.source(te[1].trim()):Q.charAt(0)==="#"&&(W=D.shaders[Q.substr(1)]),W||(W=Q),!W)return}if(f.inputs){z={};for(var $ in f.inputs)typeof f.inputs[$]=="string"?z[$]=f.inputs[$]:z[$]={node:f.inputs[$].node,pin:f.inputs[$].pin}}if(f.outputs){Z={};for(var $ in f.outputs){var ie=f.outputs[$];Z[$]={},ie.attachment!=null&&(Z[$].attachment=ie.attachment),ie.keepLastFrame!=null&&(Z[$].keepLastFrame=ie.keepLastFrame),ie.outputLastFrame!=null&&(Z[$].outputLastFrame=ie.outputLastFrame),ie.parameters&&(Z[$].parameters=T(ie.parameters))}}var ae;if(k==="scene"?ae=new x.a({name:f.name,scene:R.scene,camera:R.camera,outputs:Z}):k==="texture"?ae=new y.a({name:f.name,outputs:Z}):ae=new b.a({name:f.name,shader:W,inputs:z,outputs:Z}),ae){if(f.parameters)for(var $ in f.parameters){var re=f.parameters[$];typeof re=="string"&&(re=re.trim(),re.charAt(0)==="#"?re=D.textures[re.substr(1)]:ae.on("beforerender",P($,c(re)))),ae.setParameter($,re)}if(f.defines&&ae.pass)for(var $ in f.defines){var re=f.defines[$];ae.pass.material.define("fragment",$,re)}}return ae}function T(f){var D={};return f&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(R){var k=f[R];k!=null&&(typeof k=="string"&&(k=g.a[k]),D[R]=k)}),["width","height"].forEach(function(R){if(f[R]!=null){var k=f[R];typeof k=="string"?(k=k.trim(),D[R]=L(R,c(k))):D[R]=k}}),f.useMipmap!=null&&(D.useMipmap=f.useMipmap)),D}function O(f,D,R,k){if(!f.textures){k({});return}var W={},z=0,Z=!1,Q=R.textureRootPath;F.a.each(f.textures,function(te,$){var ie,ae=te.path,re=T(te.parameters);if(Array.isArray(ae)&&ae.length===6)Q&&(ae=ae.map(function(ce){return F.a.relative2absolute(ce,Q)})),ie=new C.a(re);else if(typeof ae=="string")Q&&(ae=F.a.relative2absolute(ae,Q)),ie=new m.a(re);else return;ie.load(ae),z++,ie.once("success",function(){W[$]=ie,z--,z===0&&(k(W),Z=!0)})}),z===0&&!Z&&k(W)}function P(f,D){return function(R){var k=R.getDevicePixelRatio(),W=R.getWidth(),z=R.getHeight(),Z=D(W,z,k);this.setParameter(f,Z)}}function L(f,D){return function(R){var k=R.getDevicePixelRatio(),W=R.getWidth(),z=R.getHeight();return D(W,z,k)}}function c(f){var D=/^expr\((.*)\)$/.exec(f);if(D)try{var R=new Function("width","height","dpr","return "+D[1]);return R(1,1),R}catch(k){throw new Error("Invalid expression.")}}G.a=v},function(ee,G,_){"use strict";var F=_(158),w=_(79),x=_(10),y=F.a.extend(function(){return{_outputs:[],_texturePool:new w.a,_frameBuffer:new x.a({depthBuffer:!1})}},{addNode:function(b){F.a.prototype.addNode.call(this,b),b._compositor=this},render:function(b,E){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var g=0;g<this.nodes.length;g++)this.nodes[g].outputs||this._outputs.push(this.nodes[g])}for(var g=0;g<this.nodes.length;g++)this.nodes[g].beforeFrame();for(var g=0;g<this._outputs.length;g++)this._outputs[g].updateReference();for(var g=0;g<this._outputs.length;g++)this._outputs[g].render(b,E);for(var g=0;g<this.nodes.length;g++)this.nodes[g].afterFrame()},allocateTexture:function(b){return this._texturePool.get(b)},releaseTexture:function(b){this._texturePool.put(b)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(b){this._texturePool.clear(b)}});G.a=y},function(ee,G,_){"use strict";var F=_(8),w=_(42),x=F.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(y){this.nodes.indexOf(y)>=0||(this.nodes.push(y),this._dirty=!0)},removeNode:function(y){typeof y=="string"&&(y=this.getNodeByName(y));var b=this.nodes.indexOf(y);b>=0&&(this.nodes.splice(b,1),this._dirty=!0)},getNodeByName:function(y){for(var b=0;b<this.nodes.length;b++)if(this.nodes[b].name===y)return this.nodes[b]},update:function(){for(var y=0;y<this.nodes.length;y++)this.nodes[y].clear();for(var y=0;y<this.nodes.length;y++){var b=this.nodes[y];if(b.inputs){for(var E in b.inputs)if(b.inputs[E]){if(b.pass&&!b.pass.material.isUniformEnabled(E)){console.warn("Pin "+b.name+"."+E+" not used.");continue}var g=b.inputs[E],m=this.findPin(g);m?b.link(E,m.node,m.pin):console.warn(typeof g=="string"?"Node "+g+" not exist":"Pin of "+g.node+"."+g.pin+" not exist")}}}},findPin:function(y){var b;if((typeof y=="string"||y instanceof w.a)&&(y={node:y}),typeof y.node=="string")for(var E=0;E<this.nodes.length;E++){var g=this.nodes[E];g.name===y.node&&(b=g)}else b=y.node;if(b){var m=y.pin;if(m||b.outputs&&(m=Object.keys(b.outputs)[0]),b.outputs[m])return{node:b,pin:m}}}});G.a=x},function(ee,G,_){"use strict";var F=_(42),w=_(11),x=_(10),y=F.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new x.a},{render:function(b){this._rendering=!0;var E=b.gl;this.trigger("beforerender");var g;if(!this.outputs)g=b.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var m=this.frameBuffer;for(var C in this.outputs){var d=this.updateParameter(C,b),v=this.outputs[C],A=this._compositor.allocateTexture(d);this._outputTextures[C]=A;var T=v.attachment||E.COLOR_ATTACHMENT0;typeof T=="string"&&(T=E[T]),m.attach(A,T)}m.bind(b);var O=b.getGLExtension("EXT_draw_buffers");if(O){var P=[];for(var T in this.outputs)T=parseInt(T),T>=E.COLOR_ATTACHMENT0&&T<=E.COLOR_ATTACHMENT0+8&&P.push(T);O.drawBuffersEXT(P)}b.saveClear(),b.clearBit=w.a.DEPTH_BUFFER_BIT|w.a.COLOR_BUFFER_BIT,g=b.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),b.restoreClear(),m.unbind(b)}this.trigger("afterrender",g),this._rendering=!1,this._rendered=!0}});G.a=y},function(ee,G,_){"use strict";var F=_(42),w=F.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(x,y){return this.texture},beforeFrame:function(){},afterFrame:function(){}});G.a=w},function(ee,G,_){"use strict";var F=_(14),w=_(42),x=w.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var y=new F.a({fragment:this.shader});this.pass=y},{render:function(y,b){this.trigger("beforerender",y),this._rendering=!0;var E=y.gl;for(var g in this.inputLinks){var m=this.inputLinks[g],C=m.node.getOutput(y,m.pin);this.pass.setUniform(g,C)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(y),this.pass.render(y,b);else{this.pass.outputs={};var d={};for(var v in this.outputs){var A=this.updateParameter(v,y);isNaN(A.width)&&this.updateParameter(v,y);var T=this.outputs[v],O=this._compositor.allocateTexture(A);this._outputTextures[v]=O;var P=T.attachment||E.COLOR_ATTACHMENT0;typeof P=="string"&&(P=E[P]),d[P]=O}this._compositor.getFrameBuffer().bind(y);for(var P in d)this._compositor.getFrameBuffer().attach(d[P],P);this.pass.render(y),this._compositor.getFrameBuffer().updateMipmap(y.gl)}for(var g in this.inputLinks){var m=this.inputLinks[g];m.node.removeReference(m.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",y)},updateParameter:function(y,b){var E=this.outputs[y],g=E.parameters,m=E._parametersCopy;if(m||(m=E._parametersCopy={}),g)for(var C in g)C!=="width"&&C!=="height"&&(m[C]=g[C]);var d,v;return g.width instanceof Function?d=g.width.call(this,b):d=g.width,g.height instanceof Function?v=g.height.call(this,b):v=g.height,(m.width!==d||m.height!==v)&&this._outputTextures[y]&&this._outputTextures[y].dispose(b),m.width=d,m.height=v,m},setParameter:function(y,b){this.pass.setUniform(y,b)},getParameter:function(y){return this.pass.getUniform(y)},setParameters:function(y){for(var b in y)this.setParameter(b,y[b])},define:function(y,b){this.pass.material.define("fragment",y,b)},undefine:function(y){this.pass.material.undefine("fragment",y)},removeReference:function(y){if(this._outputReferences[y]--,this._outputReferences[y]===0){var b=this.outputs[y];b.keepLastFrame?(this._prevOutputTextures[y]&&this._compositor.releaseTexture(this._prevOutputTextures[y]),this._prevOutputTextures[y]=this._outputTextures[y]):this._compositor.releaseTexture(this._outputTextures[y])}},clear:function(){w.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});G.a=x},function(ee,G,_){"use strict";var F=_(9),w=_(4),x=_(5),y=_(6),b=_(14),E=_(7),g=_(10),m=_(43),C=_(163);E.a.import(C.a);function d(O){for(var P=new Uint8Array(O*O*4),L=0,c=new w.a,f=0;f<O;f++)for(var D=0;D<O;D++)c.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),P[L++]=(c.x*.5+.5)*255,P[L++]=(c.y*.5+.5)*255,P[L++]=0,P[L++]=255;return P}function v(O){return new x.a({pixels:d(O),wrapS:y.a.REPEAT,wrapT:y.a.REPEAT,width:O,height:O})}function A(O,P,L){var c=new Float32Array(O*3);P=P||0;for(var f=0;f<O;f++){var D=Object(m.a)(f+P,2)*(L?1:2)*Math.PI,R=Object(m.a)(f+P,3)*Math.PI,k=Math.random(),W=Math.cos(D)*Math.sin(R)*k,z=Math.cos(R)*k,Z=Math.sin(D)*Math.sin(R)*k;c[f*3]=W,c[f*3+1]=z,c[f*3+2]=Z}return c}function T(O){O=O||{},this._ssaoPass=new b.a({fragment:E.a.source("ecgl.ssao.estimate")}),this._blurPass=new b.a({fragment:E.a.source("ecgl.ssao.blur")}),this._framebuffer=new g.a({depthBuffer:!1}),this._ssaoTexture=new x.a,this._blurTexture=new x.a,this._blurTexture2=new x.a,this._depthTex=O.depthTexture,this._normalTex=O.normalTexture,this.setNoiseSize(4),this.setKernelSize(O.kernelSize||12),O.radius!=null&&this.setParameter("radius",O.radius),O.power!=null&&this.setParameter("power",O.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}T.prototype.setDepthTexture=function(O){this._depthTex=O},T.prototype.setNormalTexture=function(O){this._normalTex=O,this._ssaoPass.material[O?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},T.prototype.update=function(O,P,L){var c=O.getWidth(),f=O.getHeight(),D=this._ssaoPass,R=this._blurPass;D.setUniform("kernel",this._kernels[L%this._kernels.length]),D.setUniform("depthTex",this._depthTex),this._normalTex!=null&&D.setUniform("normalTex",this._normalTex),D.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var k=new F.a;F.a.transpose(k,P.worldTransform),D.setUniform("projection",P.projectionMatrix.array),D.setUniform("projectionInv",P.invProjectionMatrix.array),D.setUniform("viewInverseTranspose",k.array);var W=this._ssaoTexture,z=this._blurTexture,Z=this._blurTexture2;W.width=c/2,W.height=f/2,z.width=c,z.height=f,Z.width=c,Z.height=f,this._framebuffer.attach(W),this._framebuffer.bind(O),O.gl.clearColor(1,1,1,1),O.gl.clear(O.gl.COLOR_BUFFER_BIT),D.render(O),R.setUniform("textureSize",[c/2,f/2]),R.setUniform("projection",P.projectionMatrix.array),this._framebuffer.attach(z),R.setUniform("direction",0),R.setUniform("ssaoTexture",W),R.render(O),this._framebuffer.attach(Z),R.setUniform("textureSize",[c,f]),R.setUniform("direction",1),R.setUniform("ssaoTexture",z),R.render(O),this._framebuffer.unbind(O);var Q=O.clearColor;O.gl.clearColor(Q[0],Q[1],Q[2],Q[3])},T.prototype.getTargetTexture=function(){return this._blurTexture2},T.prototype.setParameter=function(O,P){O==="noiseTexSize"?this.setNoiseSize(P):O==="kernelSize"?this.setKernelSize(P):O==="intensity"?this._ssaoPass.material.set("intensity",P):this._ssaoPass.setUniform(O,P)},T.prototype.setKernelSize=function(O){this._kernelSize=O,this._ssaoPass.material.define("fragment","KERNEL_SIZE",O),this._kernels=this._kernels||[];for(var P=0;P<30;P++)this._kernels[P]=A(O,P*O,!!this._normalTex)},T.prototype.setNoiseSize=function(O){var P=this._ssaoPass.getUniform("noiseTex");P?(P.data=d(O),P.width=P.height=O,P.dirty()):(P=v(O),this._ssaoPass.setUniform("noiseTex",v(O))),this._ssaoPass.setUniform("noiseTexSize",[O,O])},T.prototype.dispose=function(O){this._blurTexture.dispose(O),this._ssaoTexture.dispose(O),this._blurTexture2.dispose(O)},G.a=T},function(ee,G,_){"use strict";G.a=`@export ecgl.ssao.estimate
uniform sampler2D depthTex;
uniform sampler2D normalTex;
uniform sampler2D noiseTex;
uniform vec2 depthTexSize;
uniform vec2 noiseTexSize;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform vec3 kernel[KERNEL_SIZE];
uniform float radius : 1;
uniform float power : 1;
uniform float bias: 1e-2;
uniform float intensity: 1.0;
varying vec2 v_Texcoord;
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
float occlusion = 0.0;
for (int i = 0; i < KERNEL_SIZE; i++) {
vec3 samplePos = kernel[i];
#ifdef NORMALTEX_ENABLED
samplePos = kernelBasis * samplePos;
#endif
samplePos = samplePos * radius + originPos;
vec4 texCoord = projection * vec4(samplePos, 1.0);
texCoord.xy /= texCoord.w;
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
float sampleDepth = depthTexel.r * 2.0 - 1.0;
if (projection[3][3] == 0.0) {
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
}
else {
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
}
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
}
#ifdef NORMALTEX_ENABLED
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
#else
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
#endif
return pow(occlusion, power);
}
void main()
{
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
#ifdef NORMALTEX_ENABLED
vec4 tex = texture2D(normalTex, v_Texcoord);
if (dot(tex.rgb, tex.rgb) == 0.0) {
gl_FragColor = vec4(1.0);
return;
}
vec3 N = tex.rgb * 2.0 - 1.0;
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
vec3 T = normalize(rvec - N * dot(rvec, N));
vec3 BT = normalize(cross(N, T));
mat3 kernelBasis = mat3(T, BT, N);
#else
if (depthTexel.r > 0.99999) {
gl_FragColor = vec4(1.0);
return;
}
mat3 kernelBasis;
#endif
float z = depthTexel.r * 2.0 - 1.0;
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * projectedPos;
vec3 position = p4.xyz / p4.w;
float ao = ssaoEstimator(position, kernelBasis);
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
gl_FragColor = vec4(vec3(ao), 1.0);
}
@end
@export ecgl.ssao.blur
#define SHADER_NAME SSAO_BLUR
uniform sampler2D ssaoTexture;
#ifdef NORMALTEX_ENABLED
uniform sampler2D normalTex;
#endif
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 1.0;
uniform int direction: 0.0;
#ifdef DEPTHTEX_ENABLED
uniform sampler2D depthTex;
uniform mat4 projection;
uniform float depthRange : 0.5;
float getLinearDepth(vec2 coord)
{
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
#endif
void main()
{
float kernel[5];
kernel[0] = 0.122581;
kernel[1] = 0.233062;
kernel[2] = 0.288713;
kernel[3] = 0.233062;
kernel[4] = 0.122581;
vec2 off = vec2(0.0);
if (direction == 0) {
off[0] = blurSize / textureSize.x;
}
else {
off[1] = blurSize / textureSize.y;
}
vec2 coord = v_Texcoord;
float sum = 0.0;
float weightAll = 0.0;
#ifdef NORMALTEX_ENABLED
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
#endif
#if defined(DEPTHTEX_ENABLED)
float centerDepth = getLinearDepth(v_Texcoord);
#endif
for (int i = 0; i < 5; i++) {
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
float w = kernel[i];
#ifdef NORMALTEX_ENABLED
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
#endif
#ifdef DEPTHTEX_ENABLED
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
#endif
weightAll += w;
sum += texture2D(ssaoTexture, coord).r * w;
}
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
}
@end
`},function(ee,G,_){"use strict";var F=_(9),w=_(4),x=_(5),y=_(6),b=_(14),E=_(7),g=_(10),m=_(43),C=_(165);E.a.import(C.a);function d(v){v=v||{},this._ssrPass=new b.a({fragment:E.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new b.a({fragment:E.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new b.a({fragment:E.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",v.normalTexture),this._ssrPass.setUniform("gBufferTexture2",v.depthTexture),this._blurPass1.setUniform("gBufferTexture1",v.normalTexture),this._blurPass1.setUniform("gBufferTexture2",v.depthTexture),this._blurPass2.setUniform("gBufferTexture1",v.normalTexture),this._blurPass2.setUniform("gBufferTexture2",v.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new x.a({type:y.a.HALF_FLOAT}),this._texture2=new x.a({type:y.a.HALF_FLOAT}),this._texture3=new x.a({type:y.a.HALF_FLOAT}),this._frameBuffer=new g.a({depthBuffer:!1})}d.prototype.update=function(v,A,T,O){var P=v.getWidth(),L=v.getHeight(),c=v.getDevicePixelRatio(),f=this._texture1,D=this._texture2,R=this._texture3;D.width=P/2,D.height=L/2,f.width=P,f.height=L,R.width=P*c,R.height=L*c;var k=this._frameBuffer,W=this._ssrPass,z=this._blurPass1,Z=this._blurPass2,Q=new F.a;F.a.transpose(Q,A.worldTransform),W.setUniform("sourceTexture",T),W.setUniform("projection",A.projectionMatrix.array),W.setUniform("projectionInv",A.invProjectionMatrix.array),W.setUniform("viewInverseTranspose",Q.array),W.setUniform("nearZ",A.near),W.setUniform("jitterOffset",O/30),z.setUniform("textureSize",[P/2,L/2]),Z.setUniform("textureSize",[P,L]),Z.setUniform("sourceTexture",T),z.setUniform("projection",A.projectionMatrix.array),Z.setUniform("projection",A.projectionMatrix.array),k.attach(f),k.bind(v),W.render(v),k.attach(D),z.setUniform("texture",f),z.render(v),k.attach(R),Z.setUniform("texture",D),Z.render(v),k.unbind(v)},d.prototype.getTargetTexture=function(){return this._texture3},d.prototype.setParameter=function(v,A){v==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",A):this._ssrPass.setUniform(v,A)},d.prototype.setSSAOTexture=function(v){var A=this._blurPass2;v?(A.material.enableTexture("ssaoTex"),A.material.set("ssaoTex",v)):A.material.disableTexture("ssaoTex")},d.prototype.dispose=function(v){this._texture1.dispose(v),this._texture2.dispose(v),this._texture3.dispose(v),this._frameBuffer.dispose(v)},G.a=d},function(ee,G,_){"use strict";G.a=`@export ecgl.ssr.main
#define MAX_ITERATION 20;
uniform sampler2D sourceTexture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform float maxRayDistance: 50;
uniform float pixelStride: 16;
uniform float pixelStrideZCutoff: 50;
uniform float screenEdgeFadeStart: 0.9;
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
uniform float nearZ;
uniform vec2 viewportSize : VIEWPORT_SIZE;
uniform float jitterOffset: 0;
varying vec2 v_Texcoord;
#ifdef DEPTH_DECODE
@import clay.util.decode_float
#endif
float fetchDepth(sampler2D depthTexture, vec2 uv)
{
vec4 depthTexel = texture2D(depthTexture, uv);
return depthTexel.r * 2.0 - 1.0;
}
float linearDepth(float depth)
{
if (projection[3][3] == 0.0) {
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
else {
return (depth - projection[3][2]) / projection[2][2];
}
}
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
{
if (rayZFar > rayZNear)
{
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
}
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
}
bool traceScreenSpaceRay(
vec3 rayOrigin, vec3 rayDir, float jitter,
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
)
{
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
vec3 rayEnd = rayOrigin + rayDir * rayLength;
vec4 H0 = projection * vec4(rayOrigin, 1.0);
vec4 H1 = projection * vec4(rayEnd, 1.0);
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
vec2 delta = P1 - P0;
bool permute = false;
if (abs(delta.x) < abs(delta.y)) {
permute = true;
delta = delta.yx;
P0 = P0.yx;
P1 = P1.yx;
}
float stepDir = sign(delta.x);
float invdx = stepDir / delta.x;
vec3 dQ = (Q1 - Q0) * invdx;
float dk = (k1 - k0) * invdx;
vec2 dP = vec2(stepDir, delta.y * invdx);
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
float pixStride = 1.0 + strideScaler * pixelStride;
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
vec4 pqk = vec4(P0, Q0.z, k0);
vec4 dPQK = vec4(dP, dQ.z, dk);
pqk += dPQK * jitter;
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
float rayZNear;
bool intersect = false;
vec2 texelSize = 1.0 / viewportSize;
iterationCount = 0.0;
for (int i = 0; i < MAX_ITERATION; i++)
{
pqk += dPQK;
rayZNear = rayZFar;
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
hitPixel = permute ? pqk.yx : pqk.xy;
hitPixel *= texelSize;
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
iterationCount += 1.0;
if (intersect) {
break;
}
}
Q0.xy += dQ.xy * iterationCount;
Q0.z = pqk.z;
hitPoint = Q0 / pqk.w;
return intersect;
}
float calculateAlpha(
float iterationCount, float reflectivity,
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
)
{
float alpha = clamp(reflectivity, 0.0, 1.0);
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
float _eyeFadeStart = eyeFadeStart;
float _eyeFadeEnd = eyeFadeEnd;
if (_eyeFadeStart > _eyeFadeEnd) {
float tmp = _eyeFadeEnd;
_eyeFadeEnd = _eyeFadeStart;
_eyeFadeStart = tmp;
}
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
return alpha;
}
@import clay.util.rand
@import clay.util.rgbm
void main()
{
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
discard;
}
float g = normalAndGloss.a;
if (g <= minGlossiness) {
discard;
}
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
vec4 pos = projectionInv * projectedPos;
vec3 rayOrigin = pos.xyz / pos.w;
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
vec2 hitPixel;
vec3 hitPoint;
float iterationCount;
vec2 uv2 = v_Texcoord * viewportSize;
float jitter = rand(fract(v_Texcoord + jitterOffset));
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
float dist = distance(rayOrigin, hitPoint);
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
if (dot(hitNormal, rayDir) >= 0.0) {
discard;
}
if (!intersect) {
discard;
}
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
}
@end
@export ecgl.ssr.blur
uniform sampler2D texture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform float depthRange : 0.05;
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 4.0;
#ifdef BLEND
#ifdef SSAOTEX_ENABLED
uniform sampler2D ssaoTex;
#endif
uniform sampler2D sourceTexture;
#endif
float getLinearDepth(vec2 coord)
{
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
@import clay.util.rgbm
void main()
{
@import clay.compositor.kernel.gaussian_9
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
float g = centerNTexel.a;
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
#ifdef VERTICAL
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
#else
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
#endif
vec2 coord = v_Texcoord;
vec4 sum = vec4(0.0);
float weightAll = 0.0;
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
float cD = getLinearDepth(v_Texcoord);
for (int i = 0; i < 9; i++) {
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
float w = gaussianKernel[i]
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
weightAll += w;
sum += decodeHDR(texture2D(texture, coord)) * w;
}
#ifdef BLEND
float aoFactor = 1.0;
#ifdef SSAOTEX_ENABLED
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
#endif
gl_FragColor = encodeHDR(
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
);
#else
gl_FragColor = encodeHDR(sum / weightAll);
#endif
}
@end`},function(ee,G,_){"use strict";G.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(ee,G,_){"use strict";var F=_(5),w=_(6),x=_(7),y=_(10),b=_(17),E=_(14),g=_(54),m=_(168);x.a.import(m.a);function C(A,T,O,P,L){var c=A.gl;T.setUniform(c,"1i",O,L),c.activeTexture(c.TEXTURE0+L),P.isRenderable()?P.bind(A):P.unbind(A)}function d(A,T,O,P,L){var c,f,D,R,k=A.gl;return function(W,z,Z){if(!(R&&R.material===W.material)){var Q=W.material,te=W.__program,$=Q.get("roughness");$==null&&($=1);var ie=Q.get("normalMap")||T,ae=Q.get("roughnessMap"),re=Q.get("bumpMap"),ce=Q.get("uvRepeat"),oe=Q.get("uvOffset"),he=Q.get("detailUvRepeat"),se=Q.get("detailUvOffset"),pe=!!re&&Q.isTextureEnabled("bumpMap"),me=!!ae&&Q.isTextureEnabled("roughnessMap"),ge=Q.isDefined("fragment","DOUBLE_SIDED");re=re||O,ae=ae||P,Z!==z?(z.set("normalMap",ie),z.set("bumpMap",re),z.set("roughnessMap",ae),z.set("useBumpMap",pe),z.set("useRoughnessMap",me),z.set("doubleSide",ge),ce!=null&&z.set("uvRepeat",ce),oe!=null&&z.set("uvOffset",oe),he!=null&&z.set("detailUvRepeat",he),se!=null&&z.set("detailUvOffset",se),z.set("roughness",$)):(te.setUniform(k,"1f","roughness",$),c!==ie&&C(A,te,"normalMap",ie,0),f!==re&&re&&C(A,te,"bumpMap",re,1),D!==ae&&ae&&C(A,te,"roughnessMap",ae,2),ce!=null&&te.setUniform(k,"2f","uvRepeat",ce),oe!=null&&te.setUniform(k,"2f","uvOffset",oe),he!=null&&te.setUniform(k,"2f","detailUvRepeat",he),se!=null&&te.setUniform(k,"2f","detailUvOffset",se),te.setUniform(k,"1i","useBumpMap",+pe),te.setUniform(k,"1i","useRoughnessMap",+me),te.setUniform(k,"1i","doubleSide",+ge)),c=ie,f=re,D=ae,R=W}}}function v(A){A=A||{},this._depthTex=new F.a({format:w.a.DEPTH_COMPONENT,type:w.a.UNSIGNED_INT}),this._normalTex=new F.a({type:w.a.HALF_FLOAT}),this._framebuffer=new y.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,y.a.DEPTH_ATTACHMENT),this._normalMaterial=new b.a({shader:new x.a(x.a.source("ecgl.normal.vertex"),x.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=g.a.createBlank("#000"),this._defaultBumpMap=g.a.createBlank("#000"),this._defaultRoughessMap=g.a.createBlank("#000"),this._debugPass=new E.a({fragment:x.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}v.prototype.getDepthTexture=function(){return this._depthTex},v.prototype.getNormalTexture=function(){return this._normalTex},v.prototype.update=function(A,T,O){var P=A.getWidth(),L=A.getHeight(),c=this._depthTex,f=this._normalTex,D=this._normalMaterial;c.width=P,c.height=L,f.width=P,f.height=L;var R=T.opaqueList;this._framebuffer.bind(A),A.gl.clearColor(0,0,0,0),A.gl.clear(A.gl.COLOR_BUFFER_BIT|A.gl.DEPTH_BUFFER_BIT),A.gl.disable(A.gl.BLEND),A.renderPass(R,O,{getMaterial:function(){return D},ifRender:function(k){return k.renderNormal},beforeRender:d(A,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:A.opaqueSortCompare}),this._framebuffer.unbind(A)},v.prototype.renderDebug=function(A){this._debugPass.render(A)},v.prototype.dispose=function(A){this._depthTex.dispose(A),this._normalTex.dispose(A)},G.a=v},function(ee,G,_){"use strict";G.a=`@export ecgl.normal.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
@import ecgl.common.normalMap.vertexHeader
@import ecgl.common.vertexAnimation.header
void main()
{
@import ecgl.common.vertexAnimation.main
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
@import ecgl.common.normalMap.vertexMain
gl_Position = worldViewProjection * vec4(pos, 1.0);
}
@end
@export ecgl.normal.fragment
#define ROUGHNESS_CHANEL 0
uniform bool useBumpMap;
uniform bool useRoughnessMap;
uniform bool doubleSide;
uniform float roughness;
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform mat4 viewInverse : VIEWINVERSE;
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.bumpMap.header
uniform sampler2D roughnessMap;
void main()
{
vec3 N = v_Normal;
bool flipNormal = false;
if (doubleSide) {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
flipNormal = true;
}
}
@import ecgl.common.normalMap.fragmentMain
if (useBumpMap) {
N = bumpNormal(v_WorldPosition, v_Normal, N);
}
float g = 1.0 - roughness;
if (useRoughnessMap) {
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
}
if (flipNormal) {
N = -N;
}
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
gl_FragColor.a = g;
}
@end`},function(ee,G,_){"use strict";var F=_(9),w=_(4),x=_(5),y=_(6),b=_(14),E=_(7),g=_(10);function m(C){C=C||{},this._edgePass=new b.a({fragment:E.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",C.normalTexture),this._edgePass.setUniform("depthTexture",C.depthTexture),this._targetTexture=new x.a({type:y.a.HALF_FLOAT}),this._frameBuffer=new g.a,this._frameBuffer.attach(this._targetTexture)}m.prototype.update=function(C,d,v,A){var T=C.getWidth(),O=C.getHeight(),P=this._targetTexture;P.width=T,P.height=O;var L=this._frameBuffer;L.bind(C),this._edgePass.setUniform("projectionInv",d.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[T,O]),this._edgePass.setUniform("texture",v),this._edgePass.render(C),L.unbind(C)},m.prototype.getTargetTexture=function(){return this._targetTexture},m.prototype.setParameter=function(C,d){this._edgePass.setUniform(C,d)},m.prototype.dispose=function(C){this._targetTexture.dispose(C),this._frameBuffer.dispose(C)},G.a=m},function(ee,G,_){"use strict";G.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(ee,G,_){"use strict";G.a=`@export clay.compositor.kernel.gaussian_9
float gaussianKernel[9];
gaussianKernel[0] = 0.07;
gaussianKernel[1] = 0.09;
gaussianKernel[2] = 0.12;
gaussianKernel[3] = 0.14;
gaussianKernel[4] = 0.16;
gaussianKernel[5] = 0.14;
gaussianKernel[6] = 0.12;
gaussianKernel[7] = 0.09;
gaussianKernel[8] = 0.07;
@end
@export clay.compositor.kernel.gaussian_13
float gaussianKernel[13];
gaussianKernel[0] = 0.02;
gaussianKernel[1] = 0.03;
gaussianKernel[2] = 0.06;
gaussianKernel[3] = 0.08;
gaussianKernel[4] = 0.11;
gaussianKernel[5] = 0.13;
gaussianKernel[6] = 0.14;
gaussianKernel[7] = 0.13;
gaussianKernel[8] = 0.11;
gaussianKernel[9] = 0.08;
gaussianKernel[10] = 0.06;
gaussianKernel[11] = 0.03;
gaussianKernel[12] = 0.02;
@end
@export clay.compositor.gaussian_blur
#define SHADER_NAME gaussian_blur
uniform sampler2D texture;varying vec2 v_Texcoord;
uniform float blurSize : 2.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform float blurDir : 0.0;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main (void)
{
@import clay.compositor.kernel.gaussian_9
vec2 off = blurSize / textureSize;
off *= vec2(1.0 - blurDir, blurDir);
vec4 sum = vec4(0.0);
float weightAll = 0.0;
for (int i = 0; i < 9; i++) {
float w = gaussianKernel[i];
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
sum += texel * w;
weightAll += w;
}
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
}
@end
`},function(ee,G,_){"use strict";G.a=`
@export clay.compositor.lut
varying vec2 v_Texcoord;
uniform sampler2D texture;
uniform sampler2D lookup;
void main()
{
vec4 tex = texture2D(texture, v_Texcoord);
float blueColor = tex.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec4 newColor1 = texture2D(lookup, texPos1);
vec4 newColor2 = texture2D(lookup, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
gl_FragColor = vec4(newColor.rgb, tex.w);
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.output
#define OUTPUT_ALPHA
varying vec2 v_Texcoord;
uniform sampler2D texture;
@import clay.util.rgbm
void main()
{
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
gl_FragColor.rgb = tex.rgb;
#ifdef OUTPUT_ALPHA
gl_FragColor.a = tex.a;
#else
gl_FragColor.a = 1.0;
#endif
gl_FragColor = encodeHDR(gl_FragColor);
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.bright
uniform sampler2D texture;
uniform float threshold : 1;
uniform float scale : 1.0;
uniform vec2 textureSize: [512, 512];
varying vec2 v_Texcoord;
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
@import clay.util.rgbm
vec4 median(vec4 a, vec4 b, vec4 c)
{
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
}
void main()
{
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
#ifdef ANTI_FLICKER
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
texel = median(median(texel, s1, s2), s3, s4);
#endif
float lum = dot(texel.rgb , lumWeight);
vec4 color;
if (lum > threshold && texel.a > 0.0)
{
color = vec4(texel.rgb * scale, texel.a * scale);
}
else
{
color = vec4(0.0);
}
gl_FragColor = encodeHDR(color);
}
@end
`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.downsample
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
varying vec2 v_Texcoord;
@import clay.util.rgbm
float brightness(vec3 c)
{
return max(max(c.r, c.g), c.b);
}
@import clay.util.clamp_sample
void main()
{
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
#ifdef ANTI_FLICKER
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
float s1w = 1.0 / (brightness(s1) + 1.0);
float s2w = 1.0 / (brightness(s2) + 1.0);
float s3w = 1.0 / (brightness(s3) + 1.0);
float s4w = 1.0 / (brightness(s4) + 1.0);
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
vec4 color = vec4(
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
1.0
);
#else
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
color *= 0.25;
#endif
gl_FragColor = encodeHDR(color);
}
@end`},function(ee,G,_){"use strict";G.a=`
@export clay.compositor.upsample
#define HIGH_QUALITY
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
uniform float sampleScale: 0.5;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main()
{
#ifdef HIGH_QUALITY
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
gl_FragColor = encodeHDR(s / 16.0);
#else
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
gl_FragColor = encodeHDR(s / 4.0);
#endif
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.hdr.composite
uniform sampler2D texture;
#ifdef BLOOM_ENABLED
uniform sampler2D bloom;
#endif
#ifdef LENSFLARE_ENABLED
uniform sampler2D lensflare;
uniform sampler2D lensdirt;
#endif
#ifdef LUM_ENABLED
uniform sampler2D lum;
#endif
#ifdef LUT_ENABLED
uniform sampler2D lut;
#endif
#ifdef COLOR_CORRECTION
uniform float brightness : 0.0;
uniform float contrast : 1.0;
uniform float saturation : 1.0;
#endif
#ifdef VIGNETTE
uniform float vignetteDarkness: 1.0;
uniform float vignetteOffset: 1.0;
#endif
uniform float exposure : 1.0;
uniform float bloomIntensity : 0.25;
uniform float lensflareIntensity : 1;
varying vec2 v_Texcoord;
@import clay.util.srgb
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
float eyeAdaption(float fLum)
{
return mix(0.2, fLum, 0.5);
}
#ifdef LUT_ENABLED
vec3 lutTransform(vec3 color) {
float blueColor = color.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec4 newColor1 = texture2D(lut, texPos1);
vec4 newColor2 = texture2D(lut, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
return newColor.rgb;
}
#endif
@import clay.util.rgbm
void main()
{
vec4 texel = vec4(0.0);
vec4 originalTexel = vec4(0.0);
#ifdef TEXTURE_ENABLED
texel = decodeHDR(texture2D(texture, v_Texcoord));
originalTexel = texel;
#endif
#ifdef BLOOM_ENABLED
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
texel.rgb += bloomTexel.rgb * bloomIntensity;
texel.a += bloomTexel.a * bloomIntensity;
#endif
#ifdef LENSFLARE_ENABLED
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
#endif
texel.a = min(texel.a, 1.0);
#ifdef LUM_ENABLED
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
float exposureBias = adaptedLumDest * exposure;
#else
float exposureBias = exposure;
#endif
texel.rgb *= exposureBias;
texel.rgb = ACESToneMapping(texel.rgb);
texel = linearTosRGB(texel);
#ifdef LUT_ENABLED
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
#endif
#ifdef COLOR_CORRECTION
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
#endif
#ifdef VIGNETTE
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
#endif
gl_FragColor = encodeHDR(texel);
#ifdef DEBUG
#if DEBUG == 1
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
#elif DEBUG == 2
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
#elif DEBUG == 3
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
#endif
#endif
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
}
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.blend
#define SHADER_NAME blend
#ifdef TEXTURE1_ENABLED
uniform sampler2D texture1;
uniform float weight1 : 1.0;
#endif
#ifdef TEXTURE2_ENABLED
uniform sampler2D texture2;
uniform float weight2 : 1.0;
#endif
#ifdef TEXTURE3_ENABLED
uniform sampler2D texture3;
uniform float weight3 : 1.0;
#endif
#ifdef TEXTURE4_ENABLED
uniform sampler2D texture4;
uniform float weight4 : 1.0;
#endif
#ifdef TEXTURE5_ENABLED
uniform sampler2D texture5;
uniform float weight5 : 1.0;
#endif
#ifdef TEXTURE6_ENABLED
uniform sampler2D texture6;
uniform float weight6 : 1.0;
#endif
varying vec2 v_Texcoord;
@import clay.util.rgbm
void main()
{
vec4 tex = vec4(0.0);
#ifdef TEXTURE1_ENABLED
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
#endif
#ifdef TEXTURE2_ENABLED
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
#endif
#ifdef TEXTURE3_ENABLED
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
#endif
#ifdef TEXTURE4_ENABLED
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
#endif
#ifdef TEXTURE5_ENABLED
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
#endif
#ifdef TEXTURE6_ENABLED
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
#endif
gl_FragColor = encodeHDR(tex);
}
@end`},function(ee,G,_){"use strict";G.a=`@export clay.compositor.fxaa
uniform sampler2D texture;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
#define FXAA_REDUCE_MIN (1.0/128.0)
#define FXAA_REDUCE_MUL (1.0/8.0)
#define FXAA_SPAN_MAX 8.0
@import clay.util.rgbm
void main()
{
vec2 resolution = 1.0 / viewport.zw;
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
vec3 rgbM = rgbaM.xyz;
float opacity = rgbaM.w;
vec3 luma = vec3( 0.299, 0.587, 0.114 );
float lumaNW = dot( rgbNW, luma );
float lumaNE = dot( rgbNE, luma );
float lumaSW = dot( rgbSW, luma );
float lumaSE = dot( rgbSE, luma );
float lumaM = dot( rgbM, luma );
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
vec2 dir;
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
dir * rcpDirMin)) * resolution;
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA *= 0.5;
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
rgbB *= 0.25;
rgbB += rgbA * 0.5;
float lumaB = dot( rgbB, luma );
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
{
gl_FragColor = vec4( rgbA, opacity );
}
else {
gl_FragColor = vec4( rgbB, opacity );
}
}
@end`},function(ee,G,_){"use strict";G.a=`@export ecgl.dof.coc
uniform sampler2D depth;
uniform float zNear: 0.1;
uniform float zFar: 2000;
uniform float focalDistance: 3;
uniform float focalRange: 1;
uniform float focalLength: 30;
uniform float fstop: 2.8;
varying vec2 v_Texcoord;
@import clay.util.encode_float
void main()
{
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
float aperture = focalLength / fstop;
float coc;
float uppper = focalDistance + focalRange;
float lower = focalDistance - focalRange;
if (dist <= uppper && dist >= lower) {
coc = 0.5;
}
else {
float focalAdjusted = dist > uppper ? uppper : lower;
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
coc = clamp(coc, 0.0, 2.0) / 2.00001;
if (dist < lower) {
coc = -coc;
}
coc = coc * 0.5 + 0.5;
}
gl_FragColor = encodeFloat(coc);
}
@end
@export ecgl.dof.composite
#define DEBUG 0
uniform sampler2D original;
uniform sampler2D blurred;
uniform sampler2D nearfield;
uniform sampler2D coc;
uniform sampler2D nearcoc;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
fCoc = abs(fCoc * 2.0 - 1.0);
float weight = smoothstep(0.0, 1.0, fCoc);
#ifdef NEARFIELD_ENABLED
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
gl_FragColor = encodeHDR(
mix(
nearfieldColor, mix(originalColor, blurredColor, weight),
pow(1.0 - fNearCoc, 4.0)
)
);
#else
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
#endif
}
@end
@export ecgl.dof.diskBlur
#define POISSON_KERNEL_SIZE 16;
uniform sampler2D texture;
uniform sampler2D coc;
varying vec2 v_Texcoord;
uniform float blurRadius : 10.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
uniform float percent;
float nrand(const in vec2 n) {
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec2 offset = blurRadius / textureSize;
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
float cosa = cos(rnd);
float sina = sin(rnd);
vec4 basis = vec4(cosa, -sina, sina, cosa);
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
#endif
#ifdef BLUR_COC
float cocSum = 0.0;
#else
vec4 color = vec4(0.0);
#endif
float weightSum = 0.0;
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
vec2 ofs = poissonKernel[i];
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
vec2 uv = v_Texcoord + ofs * offset;
vec4 texel = texture2D(texture, uv);
float w = 1.0;
#ifdef BLUR_COC
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
cocSum += clamp(fCoc, -1.0, 0.0) * w;
#else
texel = decodeHDR(texel);
#if !defined(BLUR_NEARFIELD)
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
w *= abs(fCoc);
#endif
color += texel * w;
#endif
weightSum += w;
}
#ifdef BLUR_COC
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
#else
color /= weightSum;
gl_FragColor = encodeHDR(color);
#endif
}
@end`},function(ee,G,_){"use strict";G.a=`@export ecgl.edge
uniform sampler2D texture;
uniform sampler2D normalTexture;
uniform sampler2D depthTexture;
uniform mat4 projectionInv;
uniform vec2 textureSize;
uniform vec4 edgeColor: [0,0,0,0.8];
varying vec2 v_Texcoord;
vec3 packColor(vec2 coord) {
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * p;
return vec3(
texture2D(normalTexture, coord).rg,
-p4.z / p4.w / 5.0
);
}
void main() {
vec2 cc = v_Texcoord;
vec3 center = packColor(cc);
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
float dx = size / textureSize.x;
float dy = size / textureSize.y;
vec2 coord;
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
vec3 top = packColor(cc+vec2(0.0, -dy));
vec3 topRight = packColor(cc+vec2(dx, -dy));
vec3 left = packColor(cc+vec2(-dx, 0.0));
vec3 right = packColor(cc+vec2(dx, 0.0));
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
vec3 bottom = packColor(cc+vec2(0.0, dy));
vec3 bottomRight = packColor(cc+vec2(dx, dy));
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
float edge = sqrt(dot(h, h) + dot(v, v));
edge = smoothstep(0.8, 1.0, edge);
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
}
@end`},function(ee,G,_){"use strict";var F=_(43),w=_(14),x=_(10),y=_(5),b=_(7),E=_(9);function g(m){for(var C=[],d=0;d<30;d++)C.push([Object(F.a)(d,2),Object(F.a)(d,3)]);this._haltonSequence=C,this._frame=0,this._sourceTex=new y.a,this._sourceFb=new x.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new y.a,this._outputTex=new y.a;var v=this._blendPass=new w.a({fragment:b.a.source("clay.compositor.blend")});v.material.disableTexturesAll(),v.material.enableTexture(["texture1","texture2"]),this._blendFb=new x.a({depthBuffer:!1}),this._outputPass=new w.a({fragment:b.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(A){A.blendEquationSeparate(A.FUNC_ADD,A.FUNC_ADD),A.blendFuncSeparate(A.ONE,A.ONE_MINUS_SRC_ALPHA,A.ONE,A.ONE_MINUS_SRC_ALPHA)}}g.prototype={constructor:g,jitterProjection:function(m,C){var d=m.viewport,v=d.devicePixelRatio||m.getDevicePixelRatio(),A=d.width*v,T=d.height*v,O=this._haltonSequence[this._frame%this._haltonSequence.length],P=new E.a;P.array[12]=(O[0]*2-1)/A,P.array[13]=(O[1]*2-1)/T,E.a.mul(C.projectionMatrix,P,C.projectionMatrix),E.a.invert(C.invProjectionMatrix,C.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(m,C){this._prevFrameTex.width=m,this._prevFrameTex.height=C,this._outputTex.width=m,this._outputTex.height=C,this._sourceTex.width=m,this._sourceTex.height=C,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(m,C,d){var v=this._blendPass;this._frame===0?(v.setUniform("weight1",0),v.setUniform("weight2",1)):(v.setUniform("weight1",.9),v.setUniform("weight2",.1)),v.setUniform("texture1",this._prevFrameTex),v.setUniform("texture2",C||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(m),v.render(m),this._blendFb.unbind(m),d||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(m));var A=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=A,this._frame++},dispose:function(m){this._sourceFb.dispose(m),this._blendFb.dispose(m),this._prevFrameTex.dispose(m),this._outputTex.dispose(m),this._sourceTex.dispose(m),this._outputPass.dispose(m),this._blendPass.dispose(m)}},G.a=g},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(184),y=_(185),b=_(82);w.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(E,g){g.eachComponent({mainType:"geo3D",query:E},function(m){m.setView(E)})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(38),y=_(31),b=_(32),E=_(26),g=_(80),m=w.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var d=this.option;d.regions=this.getFilledRegions(d.regions,d.map);var v=w.a.helper.completeDimensions(["value"],d.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),A=new w.a.List(v,this);A.initData(d.regions);var T={};A.each(function(O){var P=A.getName(O),L=A.getItemModel(O);T[P]=L}),this._regionModelMap=T,this._data=A},getData:function(){return this._data},getRegionModel:function(d){var v=this.getData().getName(d);return this._regionModelMap[v]||new w.a.Model(null,this)},getRegionPolygonCoords:function(d){var v=this.getData().getName(d),A=this.coordinateSystem.getRegion(v);return A?A.geometries:[]},getFormattedLabel:function(d,v){var A=this._data.getName(d),T=this.getRegionModel(A),O=T.get(v==="normal"?["label","formatter"]:["emphasis","label","formatter"]);O==null&&(O=T.get(["label","formatter"]));var P={name:A};if(typeof O=="function")return P.status=v,O(P);if(typeof O=="string"){var L=P.seriesName;return O.replace("{a}",L!=null?L:"")}else return A},defaultOption:{regions:[]}});w.a.util.merge(m.prototype,g.a),w.a.util.merge(m.prototype,x.a),w.a.util.merge(m.prototype,y.a),w.a.util.merge(m.prototype,b.a),w.a.util.merge(m.prototype,E.a);var C=m},function(ee,G,_){"use strict";var F=_(59),w=_(0),x=_.n(w),y=_(2),b=_(39),E=_(34),g=x.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(m,C){this._geo3DBuilder=new F.a(C),this.groupGL=new y.a.Node,this._lightRoot=new y.a.Node,this._sceneHelper=new E.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new b.a({zr:C.getZr()}),this._control.init()},render:function(m,C,d){this.groupGL.add(this._geo3DBuilder.rootNode);var v=m.coordinateSystem;if(!(!v||!v.viewGL)){v.viewGL.add(this._lightRoot),m.get("show")?v.viewGL.add(this.groupGL):v.viewGL.remove(this.groupGL);var A=this._control;A.setViewGL(v.viewGL);var T=m.getModel("viewControl");A.setFromViewControlModel(T,0),this._sceneHelper.setScene(v.viewGL.scene),this._sceneHelper.updateLight(m),v.viewGL.setPostEffect(m.getModel("postEffect"),d),v.viewGL.setTemporalSuperSampling(m.getModel("temporalSuperSampling")),this._geo3DBuilder.update(m,C,d,0,m.getData().count());var O=v.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(P){P.material&&P.material[O]("fragment","SRGB_DECODE")}),A.off("update"),A.on("update",function(){d.dispatchAction({type:"geo3DChangeCamera",alpha:A.getAlpha(),beta:A.getBeta(),distance:A.getDistance(),center:A.getCenter(),from:this.uid,geo3DId:m.id})})}},afterRender:function(m,C,d,v){var A=v.renderer;this._sceneHelper.updateAmbientCubemap(A,m,d),this._sceneHelper.updateSkybox(A,m,d)},dispose:function(){this._control.dispose()}})},function(ee,G,_){"use strict";G.a=F;function F(re,ce,oe){oe=oe||2;var he=ce&&ce.length,se=he?ce[0]*oe:re.length,pe=w(re,0,se,oe,!0),me=[];if(!pe)return me;var ge,Ee,Ae,Fe,Ue,nt,rt;if(he&&(pe=C(re,ce,pe,oe)),re.length>80*oe){ge=Ae=re[0],Ee=Fe=re[1];for(var qe=oe;qe<se;qe+=oe)Ue=re[qe],nt=re[qe+1],Ue<ge&&(ge=Ue),nt<Ee&&(Ee=nt),Ue>Ae&&(Ae=Ue),nt>Fe&&(Fe=nt);rt=Math.max(Ae-ge,Fe-Ee)}return y(pe,me,oe,ge,Ee,rt),me}function w(re,ce,oe,he,se){var pe,me;if(se===ae(re,ce,oe,he)>0)for(pe=ce;pe<oe;pe+=he)me=te(pe,re[pe],re[pe+1],me);else for(pe=oe-he;pe>=ce;pe-=he)me=te(pe,re[pe],re[pe+1],me);return me&&R(me,me.next)&&($(me),me=me.next),me}function x(re,ce){if(!re)return re;ce||(ce=re);var oe=re,he;do if(he=!1,!oe.steiner&&(R(oe,oe.next)||D(oe.prev,oe,oe.next)===0)){if($(oe),oe=ce=oe.prev,oe===oe.next)return null;he=!0}else oe=oe.next;while(he||oe!==ce);return ce}function y(re,ce,oe,he,se,pe,me){if(re){!me&&pe&&T(re,he,se,pe);for(var ge=re,Ee,Ae;re.prev!==re.next;){if(Ee=re.prev,Ae=re.next,pe?E(re,he,se,pe):b(re)){ce.push(Ee.i/oe),ce.push(re.i/oe),ce.push(Ae.i/oe),$(re),re=Ae.next,ge=Ae.next;continue}if(re=Ae,re===ge){me?me===1?(re=g(re,ce,oe),y(re,ce,oe,he,se,pe,2)):me===2&&m(re,ce,oe,he,se,pe):y(x(re),ce,oe,he,se,pe,1);break}}}}function b(re){var ce=re.prev,oe=re,he=re.next;if(D(ce,oe,he)>=0)return!1;for(var se=re.next.next;se!==re.prev;){if(c(ce.x,ce.y,oe.x,oe.y,he.x,he.y,se.x,se.y)&&D(se.prev,se,se.next)>=0)return!1;se=se.next}return!0}function E(re,ce,oe,he){var se=re.prev,pe=re,me=re.next;if(D(se,pe,me)>=0)return!1;for(var ge=se.x<pe.x?se.x<me.x?se.x:me.x:pe.x<me.x?pe.x:me.x,Ee=se.y<pe.y?se.y<me.y?se.y:me.y:pe.y<me.y?pe.y:me.y,Ae=se.x>pe.x?se.x>me.x?se.x:me.x:pe.x>me.x?pe.x:me.x,Fe=se.y>pe.y?se.y>me.y?se.y:me.y:pe.y>me.y?pe.y:me.y,Ue=P(ge,Ee,ce,oe,he),nt=P(Ae,Fe,ce,oe,he),rt=re.nextZ;rt&&rt.z<=nt;){if(rt!==re.prev&&rt!==re.next&&c(se.x,se.y,pe.x,pe.y,me.x,me.y,rt.x,rt.y)&&D(rt.prev,rt,rt.next)>=0)return!1;rt=rt.nextZ}for(rt=re.prevZ;rt&&rt.z>=Ue;){if(rt!==re.prev&&rt!==re.next&&c(se.x,se.y,pe.x,pe.y,me.x,me.y,rt.x,rt.y)&&D(rt.prev,rt,rt.next)>=0)return!1;rt=rt.prevZ}return!0}function g(re,ce,oe){var he=re;do{var se=he.prev,pe=he.next.next;!R(se,pe)&&k(se,he,he.next,pe)&&z(se,pe)&&z(pe,se)&&(ce.push(se.i/oe),ce.push(he.i/oe),ce.push(pe.i/oe),$(he),$(he.next),he=re=pe),he=he.next}while(he!==re);return he}function m(re,ce,oe,he,se,pe){var me=re;do{for(var ge=me.next.next;ge!==me.prev;){if(me.i!==ge.i&&f(me,ge)){var Ee=Q(me,ge);me=x(me,me.next),Ee=x(Ee,Ee.next),y(me,ce,oe,he,se,pe),y(Ee,ce,oe,he,se,pe);return}ge=ge.next}me=me.next}while(me!==re)}function C(re,ce,oe,he){var se=[],pe,me,ge,Ee,Ae;for(pe=0,me=ce.length;pe<me;pe++)ge=ce[pe]*he,Ee=pe<me-1?ce[pe+1]*he:re.length,Ae=w(re,ge,Ee,he,!1),Ae===Ae.next&&(Ae.steiner=!0),se.push(L(Ae));for(se.sort(d),pe=0;pe<se.length;pe++)v(se[pe],oe),oe=x(oe,oe.next);return oe}function d(re,ce){return re.x-ce.x}function v(re,ce){if(ce=A(re,ce),ce){var oe=Q(ce,re);x(oe,oe.next)}}function A(re,ce){var oe=ce,he=re.x,se=re.y,pe=-1/0,me;do{if(se<=oe.y&&se>=oe.next.y&&oe.next.y!==oe.y){var ge=oe.x+(se-oe.y)*(oe.next.x-oe.x)/(oe.next.y-oe.y);if(ge<=he&&ge>pe){if(pe=ge,ge===he){if(se===oe.y)return oe;if(se===oe.next.y)return oe.next}me=oe.x<oe.next.x?oe:oe.next}}oe=oe.next}while(oe!==ce);if(!me)return null;if(he===pe)return me.prev;var Ee=me,Ae=me.x,Fe=me.y,Ue=1/0,nt;for(oe=me.next;oe!==Ee;)he>=oe.x&&oe.x>=Ae&&he!==oe.x&&c(se<Fe?he:pe,se,Ae,Fe,se<Fe?pe:he,se,oe.x,oe.y)&&(nt=Math.abs(se-oe.y)/(he-oe.x),(nt<Ue||nt===Ue&&oe.x>me.x)&&z(oe,re)&&(me=oe,Ue=nt)),oe=oe.next;return me}function T(re,ce,oe,he){var se=re;do se.z===null&&(se.z=P(se.x,se.y,ce,oe,he)),se.prevZ=se.prev,se.nextZ=se.next,se=se.next;while(se!==re);se.prevZ.nextZ=null,se.prevZ=null,O(se)}function O(re){var ce,oe,he,se,pe,me,ge,Ee,Ae=1;do{for(oe=re,re=null,pe=null,me=0;oe;){for(me++,he=oe,ge=0,ce=0;ce<Ae&&(ge++,he=he.nextZ,!!he);ce++);for(Ee=Ae;ge>0||Ee>0&&he;)ge!==0&&(Ee===0||!he||oe.z<=he.z)?(se=oe,oe=oe.nextZ,ge--):(se=he,he=he.nextZ,Ee--),pe?pe.nextZ=se:re=se,se.prevZ=pe,pe=se;oe=he}pe.nextZ=null,Ae*=2}while(me>1);return re}function P(re,ce,oe,he,se){return re=32767*(re-oe)/se,ce=32767*(ce-he)/se,re=(re|re<<8)&16711935,re=(re|re<<4)&252645135,re=(re|re<<2)&858993459,re=(re|re<<1)&1431655765,ce=(ce|ce<<8)&16711935,ce=(ce|ce<<4)&252645135,ce=(ce|ce<<2)&858993459,ce=(ce|ce<<1)&1431655765,re|ce<<1}function L(re){var ce=re,oe=re;do ce.x<oe.x&&(oe=ce),ce=ce.next;while(ce!==re);return oe}function c(re,ce,oe,he,se,pe,me,ge){return(se-me)*(ce-ge)-(re-me)*(pe-ge)>=0&&(re-me)*(he-ge)-(oe-me)*(ce-ge)>=0&&(oe-me)*(pe-ge)-(se-me)*(he-ge)>=0}function f(re,ce){return re.next.i!==ce.i&&re.prev.i!==ce.i&&!W(re,ce)&&z(re,ce)&&z(ce,re)&&Z(re,ce)}function D(re,ce,oe){return(ce.y-re.y)*(oe.x-ce.x)-(ce.x-re.x)*(oe.y-ce.y)}function R(re,ce){return re.x===ce.x&&re.y===ce.y}function k(re,ce,oe,he){return R(re,ce)&&R(oe,he)||R(re,he)&&R(oe,ce)?!0:D(re,ce,oe)>0!=D(re,ce,he)>0&&D(oe,he,re)>0!=D(oe,he,ce)>0}function W(re,ce){var oe=re;do{if(oe.i!==re.i&&oe.next.i!==re.i&&oe.i!==ce.i&&oe.next.i!==ce.i&&k(oe,oe.next,re,ce))return!0;oe=oe.next}while(oe!==re);return!1}function z(re,ce){return D(re.prev,re,re.next)<0?D(re,ce,re.next)>=0&&D(re,re.prev,ce)>=0:D(re,ce,re.prev)<0||D(re,re.next,ce)<0}function Z(re,ce){var oe=re,he=!1,se=(re.x+ce.x)/2,pe=(re.y+ce.y)/2;do oe.y>pe!=oe.next.y>pe&&oe.next.y!==oe.y&&se<(oe.next.x-oe.x)*(pe-oe.y)/(oe.next.y-oe.y)+oe.x&&(he=!he),oe=oe.next;while(oe!==re);return he}function Q(re,ce){var oe=new ie(re.i,re.x,re.y),he=new ie(ce.i,ce.x,ce.y),se=re.next,pe=ce.prev;return re.next=ce,ce.prev=re,oe.next=se,se.prev=oe,he.next=oe,oe.prev=he,pe.next=he,he.prev=pe,he}function te(re,ce,oe,he){var se=new ie(re,ce,oe);return he?(se.next=he.next,se.prev=he,he.next.prev=se,he.next=se):(se.prev=se,se.next=se),se}function $(re){re.next.prev=re.prev,re.prev.next=re.next,re.prevZ&&(re.prevZ.nextZ=re.nextZ),re.nextZ&&(re.nextZ.prevZ=re.prevZ)}function ie(re,ce,oe){this.i=re,this.x=ce,this.y=oe,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}F.deviation=function(re,ce,oe,he){var se=ce&&ce.length,pe=se?ce[0]*oe:re.length,me=Math.abs(ae(re,0,pe,oe));if(se)for(var ge=0,Ee=ce.length;ge<Ee;ge++){var Ae=ce[ge]*oe,Fe=ge<Ee-1?ce[ge+1]*oe:re.length;me-=Math.abs(ae(re,Ae,Fe,oe))}var Ue=0;for(ge=0;ge<he.length;ge+=3){var nt=he[ge]*oe,rt=he[ge+1]*oe,qe=he[ge+2]*oe;Ue+=Math.abs((re[nt]-re[qe])*(re[rt+1]-re[nt+1])-(re[nt]-re[rt])*(re[qe+1]-re[nt+1]))}return me===0&&Ue===0?0:Math.abs((Ue-me)/me)};function ae(re,ce,oe,he){for(var se=0,pe=ce,me=oe-he;pe<oe;pe+=he)se+=(re[me]-re[pe])*(re[pe+1]+re[me+1]),me=pe;return se}},function(ee,G,_){var F=_(12),w={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function x(y){F.each(y.regions,function(b){var E=w[b.name];if(E){var g=b.center;g[0]+=E[0]/10.5,g[1]+=-E[1]/(10.5/.75)}})}ee.exports=x},function(ee,G,_){var F=_(12),w={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function x(y){F.each(y.regions,function(b){var E=w[b.name];if(E){var g=b.center;g[0]=E[0],g[1]=E[1]}})}ee.exports=x},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(190),y=_(191),b=_(193);w.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(E,g){g.eachComponent({mainType:"globe",query:E},function(m){m.setView(E)})}),w.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(E,g){})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(38),y=_(31),b=_(32),E=_(26);function g(d,v){d.id=d.id||d.name||v+""}var m=w.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){m.superApply(this,"init",arguments),w.a.util.each(this.option.layers,function(d,v){w.a.util.merge(d,this.defaultLayerOption),g(d,v)},this)},mergeOption:function(d){var v=this.option.layers;this.option.layers=null,m.superApply(this,"mergeOption",arguments);function A(L){return w.a.util.reduce(L,function(c,f,D){return g(f,D),c[f.id]=f,c},{})}if(v&&v.length){var T=A(d.layers),O=A(v);for(var P in T)O[P]?w.a.util.merge(O[P],T[P],!0):v.push(d.layers[P]);this.option.layers=v}w.a.util.each(this.option.layers,function(L){w.a.util.merge(L,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(d,v,A){this.displacementData=d,this.displacementWidth=v,this.displacementHeight=A},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var d=this.getDisplacementTexture(),v=this.get("displacementScale");return(!d||d==="none")&&(v=0),v},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var d=this.getDisplacementTexture(),v=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==d||this._displacementScale!==v,this._displacementTexture=d,this._displacementScale=v},isDisplacementChanged:function(){return this._displacementChanged}});w.a.util.merge(m.prototype,x.a),w.a.util.merge(m.prototype,y.a),w.a.util.merge(m.prototype,b.a),w.a.util.merge(m.prototype,E.a);var C=m},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(39),b=_(34),E=_(192),g=_(3),m=w.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(C,d){this.groupGL=new x.a.Node,this._sphereGeometry=new x.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new x.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new x.a.PlaneGeometry,this._earthMesh=new x.a.Mesh({renderNormal:!0}),this._lightRoot=new x.a.Node,this._sceneHelper=new b.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new y.a({zr:d.getZr()}),this._control.init(),this._layerMeshes={}},render:function(C,d,v){var A=C.coordinateSystem,T=C.get("shading");A.viewGL.add(this._lightRoot),C.get("show")?A.viewGL.add(this.groupGL):A.viewGL.remove(this.groupGL),this._sceneHelper.setScene(A.viewGL.scene),A.viewGL.setPostEffect(C.getModel("postEffect"),v),A.viewGL.setTemporalSuperSampling(C.getModel("temporalSuperSampling"));var O=this._earthMesh;O.geometry=this._sphereGeometry;var P="ecgl."+T;(!O.material||O.material.shader.name!==P)&&(O.material=x.a.createMaterial(P)),x.a.setMaterialFromModel(T,O.material,C,v),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(D){var R=O.material.get(D);R&&(R.flipY=!1)}),O.material.set("color",x.a.parseColor(C.get("baseColor")));var L=A.radius*.99;O.scale.set(L,L,L);var c=O.material.setTextureImage("diffuseMap",C.get("baseTexture"),v,{flipY:!1,anisotropic:8});c&&c.surface&&c.surface.attachToMesh(O);var f=O.material.setTextureImage("bumpMap",C.get("heightTexture"),v,{flipY:!1,anisotropic:8});f&&f.surface&&f.surface.attachToMesh(O),O.material[C.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(C,v),this._displaceVertices(C,v),this._updateViewControl(C,v),this._updateLayers(C,v)},afterRender:function(C,d,v,A){var T=A.renderer;this._sceneHelper.updateAmbientCubemap(T,C,v),this._sceneHelper.updateSkybox(T,C,v)},_updateLayers:function(C,d){var v=C.coordinateSystem,A=C.get("layers"),T=v.radius,O=[],P=[],L=[],c=[];w.a.util.each(A,function(W){var z=new w.a.Model(W),Z=z.get("type"),Q=x.a.loadTexture(z.get("texture"),d,{flipY:!1,anisotropic:8});if(Q.surface&&Q.surface.attachToMesh(this._earthMesh),Z==="blend"){var te=z.get("blendTo"),$=g.a.firstNotNull(z.get("intensity"),1);te==="emission"?(L.push(Q),c.push($)):(O.push(Q),P.push($))}else{var ie=z.get("id"),ae=this._layerMeshes[ie];ae||(ae=this._layerMeshes[ie]=new x.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var re=z.get("shading");re==="lambert"?(ae.material=ae.__lambertMaterial||new x.a.Material({autoUpdateTextureStatus:!1,shader:x.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),ae.__lambertMaterial=ae.material):(ae.material=ae.__colorMaterial||new x.a.Material({autoUpdateTextureStatus:!1,shader:x.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),ae.__colorMaterial=ae.material),ae.material.enableTexture("diffuseMap");var ce=z.get("distance"),oe=T+(ce==null?v.radius/100:ce);ae.scale.set(oe,oe,oe),T=oe;var he=this._blankTexture||(this._blankTexture=x.a.createBlankTexture("rgba(255, 255, 255, 0)"));ae.material.set("diffuseMap",he),x.a.loadTexture(z.get("texture"),d,{flipY:!1,anisotropic:8},function(se){se.surface&&se.surface.attachToMesh(ae),ae.material.set("diffuseMap",se),d.getZr().refresh()}),z.get("show")?this.groupGL.add(ae):this.groupGL.remove(ae)}},this);var f=this._earthMesh.material;f.define("fragment","LAYER_DIFFUSEMAP_COUNT",O.length),f.define("fragment","LAYER_EMISSIVEMAP_COUNT",L.length),f.set("layerDiffuseMap",O),f.set("layerDiffuseIntensity",P),f.set("layerEmissiveMap",L),f.set("layerEmissionIntensity",c);var D=C.getModel("debug.wireframe");if(D.get("show")){f.define("both","WIREFRAME_TRIANGLE");var R=x.a.parseColor(D.get("lineStyle.color")||"rgba(0,0,0,0.5)"),k=g.a.firstNotNull(D.get("lineStyle.width"),1);f.set("wireframeLineWidth",k),f.set("wireframeLineColor",R)}else f.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(C,d){var v=C.coordinateSystem,A=C.getModel("viewControl"),T=v.viewGL.camera,O=this;function P(){return{type:"globeChangeCamera",alpha:L.getAlpha(),beta:L.getBeta(),distance:L.getDistance()-v.radius,center:L.getCenter(),from:O.uid,globeId:C.id}}var L=this._control;L.setViewGL(v.viewGL);var c=A.get("targetCoord"),f,D;c!=null&&(D=c[0]+90,f=c[1]),L.setFromViewControlModel(A,{baseDistance:v.radius,alpha:f,beta:D}),L.off("update"),L.on("update",function(){d.dispatchAction(P())})},_displaceVertices:function(C,d){var v=C.get("displacementQuality"),A=C.get("debug.wireframe.show"),T=C.coordinateSystem;if(!(!C.isDisplacementChanged()&&v===this._displacementQuality&&A===this._showDebugWireframe)){this._displacementQuality=v,this._showDebugWireframe=A;var O=this._sphereGeometry,P={low:100,medium:200,high:400,ultra:800}[v]||200,L=P/2;(O.widthSegments!==P||A)&&(O.widthSegments=P,O.heightSegments=L,O.build()),this._doDisplaceVertices(O,T),A&&O.generateBarycentric()}},_doDisplaceVertices:function(C,d){var v=C.attributes.position.value,A=C.attributes.texcoord0.value,T=C.__originalPosition;(!T||T.length!==v.length)&&(T=new Float32Array(v.length),T.set(v),C.__originalPosition=T);for(var O=d.displacementWidth,P=d.displacementHeight,L=d.displacementData,c=0;c<C.vertexCount;c++){var f=c*3,D=c*2,R=T[f+1],k=T[f+2],W=T[f+3],z=A[D++],Z=A[D++],Q=Math.round(z*(O-1)),te=Math.round(Z*(P-1)),$=te*O+Q,ie=L?L[$]:0;v[f+1]=R+R*ie,v[f+2]=k+k*ie,v[f+3]=W+W*ie}C.generateVertexNormals(),C.dirty(),C.updateBoundingBox()},_updateLight:function(C,d){var v=this._earthMesh;this._sceneHelper.updateLight(C);var A=this._sceneHelper.mainLight,T=C.get("light.main.time")||new Date,O=E.a.getPosition(w.a.number.parseDate(T),0,0),P=Math.cos(O.altitude);A.position.y=-P*Math.cos(O.azimuth),A.position.x=Math.sin(O.altitude),A.position.z=P*Math.sin(O.azimuth),A.lookAt(v.getWorldPosition())},dispose:function(C,d){this.groupGL.removeAll(),this._control.dispose()}})},function(ee,G,_){"use strict";var F=Math.PI,w=Math.sin,x=Math.cos,y=Math.tan,b=Math.asin,E=Math.atan2,g=F/180,m=1e3*60*60*24,C=2440588,d=2451545;function v(z){return z.valueOf()/m-.5+C}function A(z){return v(z)-d}var T=g*23.4397;function O(z,Z){return E(w(z)*x(T)-y(Z)*w(T),x(z))}function P(z,Z){return b(w(Z)*x(T)+x(Z)*w(T)*w(z))}function L(z,Z,Q){return E(w(z),x(z)*w(Z)-y(Q)*x(Z))}function c(z,Z,Q){return b(w(Z)*w(Q)+x(Z)*x(Q)*x(z))}function f(z,Z){return g*(280.16+360.9856235*z)-Z}function D(z){return g*(357.5291+.98560028*z)}function R(z){var Z=g*(1.9148*w(z)+.02*w(2*z)+3e-4*w(3*z)),Q=g*102.9372;return z+Z+Q+F}function k(z){var Z=D(z),Q=R(Z);return{dec:P(Q,0),ra:O(Q,0)}}var W={};W.getPosition=function(z,Z,Q){var te=g*-Q,$=g*Z,ie=A(z),ae=k(ie),re=f(ie,te)-ae.ra;return{azimuth:L(re,$,ae.dec),altitude:c(re,$,ae.dec)}},G.a=W},function(ee,G,_){"use strict";var F=_(194),w=_(0),x=_.n(w),y=_(41),b=_.n(y),E=_(20),g=_(3),m=_(2);function C(O,P){var L=document.createElement("canvas"),c=L.getContext("2d"),f=O.width,D=O.height;L.width=f,L.height=D,c.drawImage(O,0,0,f,D);for(var R=c.getImageData(0,0,f,D).data,k=new Float32Array(R.length/4),W=0;W<R.length/4;W++){var z=R[W*4];k[W]=z/255*P}return{data:k,width:f,height:D}}function d(O,P){var L=O.getBoxLayoutParams(),c=b.a.getLayoutRect(L,{width:P.getWidth(),height:P.getHeight()});c.y=P.getHeight()-c.y-c.height,this.viewGL.setViewport(c.x,c.y,c.width,c.height,P.getDevicePixelRatio()),this.radius=O.get("globeRadius");var f=O.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,f-this.radius)}function v(O,P){var L=[1/0,-1/0];if(O.eachSeries(function(f){if(f.coordinateSystem===this){var D=f.getData(),R=f.coordDimToDataDim("alt")[0];if(R){var k=D.getDataExtent(R,!0);L[0]=Math.min(L[0],k[0]),L[1]=Math.max(L[1],k[1])}}},this),L&&isFinite(L[1]-L[0])){var c=x.a.helper.createScale(L,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new x.a.Axis("altitude",c),this.resize(this.model,P)}}var A={dimensions:F.a.prototype.dimensions,create:function(O,P){var L=[];return O.eachComponent("globe",function(c){c.__viewGL=c.__viewGL||new E.a;var f=new F.a;f.viewGL=c.__viewGL,c.coordinateSystem=f,f.model=c,L.push(f),f.resize=d,f.resize(c,P),f.update=v}),O.eachSeries(function(c){if(c.get("coordinateSystem")==="globe"){var f=c.getReferringComponents("globe")[0];if(f||(f=O.getComponent("globe")),!f)throw new Error('globe "'+g.a.firstNotNull(c.get("globe3DIndex"),c.get("globe3DId"),0)+'" not found');var D=f.coordinateSystem;c.coordinateSystem=D}}),O.eachComponent("globe",function(c,f){var D=c.coordinateSystem,R=c.getDisplacementTexture(),k=c.getDisplacemenScale();if(c.isDisplacementChanged()){if(c.hasDisplacement()){var W=!0;m.a.loadTexture(R,P,function(z){var Z=z.image,Q=C(Z,k);c.setDisplacementData(Q.data,Q.width,Q.height),W||P.dispatchAction({type:"globeUpdateDisplacment"})}),W=!1}else D.setDisplacementData(null,0,0);D.setDisplacementData(c.displacementData,c.displacementWidth,c.displacementHeight)}}),L}};x.a.registerCoordinateSystem("globe",A);var T=A},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.vec3;function y(b){this.radius=b,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}y.prototype={constructor:y,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(b,E,g){this.displacementData=b,this.displacementWidth=E,this.displacementHeight=g},_getDisplacementScale:function(b,E){var g=(b+180)/360*(this.displacementWidth-1),m=(90-E)/180*(this.displacementHeight-1),C=Math.round(g)+Math.round(m)*this.displacementWidth;return this.displacementData[C]},dataToPoint:function(b,E){var g=b[0],m=b[1],C=b[2]||0,d=this.radius;this.displacementData&&(d*=1+this._getDisplacementScale(g,m)),this.altitudeAxis&&(d+=this.altitudeAxis.dataToCoord(C)),g=g*Math.PI/180,m=m*Math.PI/180;var v=Math.cos(m)*d;return E=E||[],E[0]=-v*Math.cos(g+Math.PI),E[1]=Math.sin(m)*d,E[2]=v*Math.sin(g+Math.PI),E},pointToData:function(b,E){var g=b[0],m=b[1],C=b[2],d=x.len(b);g/=d,m/=d,C/=d;var v=Math.asin(m),A=Math.atan2(C,-g);A<0&&(A=Math.PI*2+A);var T=v*180/Math.PI,O=A*180/Math.PI-180;return E=E||[],E[0]=O,E[1]=T,E[2]=d-this.radius,this.altitudeAxis&&(E[2]=this.altitudeAxis.coordToData(E[2])),E}},G.a=y},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(196),y=_(198),b=_(199);w.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(E,g){g.eachComponent({mainType:"mapbox3D",query:E},function(m){m.setMapboxCameraOption(E)})})},function(ee,G,_){"use strict";var F=_(197),w=_(0),x=_.n(w),y=_(3),b=_(2),E=_(20);function g(v,A){var T=A.getWidth(),O=A.getHeight(),P=A.getDevicePixelRatio();this.viewGL.setViewport(0,0,T,O,P),this.width=T,this.height=O,this.altitudeScale=v.get("altitudeScale"),this.boxHeight=v.get("boxHeight")}function m(v,A){if(this.model.get("boxHeight")!=="auto"){var T=[1/0,-1/0];v.eachSeries(function(O){if(O.coordinateSystem===this){var P=O.getData(),L=O.coordDimToDataDim("alt")[0];if(L){var c=P.getDataExtent(L,!0);T[0]=Math.min(T[0],c[0]),T[1]=Math.max(T[1],c[1])}}},this),T&&isFinite(T[1]-T[0])&&(this.altitudeExtent=T)}}var C={dimensions:F.a.prototype.dimensions,create:function(v,A){var T=[];return v.eachComponent("mapbox3D",function(O){var P=O.__viewGL;P||(P=O.__viewGL=new E.a,P.setRootNode(new b.a.Node));var L=new F.a;L.viewGL=O.__viewGL,L.resize=g,L.resize(O,A),T.push(L),O.coordinateSystem=L,L.model=O,L.setCameraOption(O.getMapboxCameraOption()),L.update=m}),v.eachSeries(function(O){if(O.get("coordinateSystem")==="mapbox3D"){var P=O.getReferringComponents("mapbox3D")[0];if(P||(P=v.getComponent("mapbox3D")),!P)throw new Error('mapbox3D "'+y.a.firstNotNull(O.get("mapbox3DIndex"),O.get("mapbox3DId"),0)+'" not found');O.coordinateSystem=P.coordinateSystem}}),T}};x.a.registerCoordinateSystem("mapbox3D",C);var d=C},function(ee,G,_){"use strict";var F=_(1),w=_.n(F),x=w.a.mat4,y=512,b=.6435011087932844,E=Math.PI,g=1/10;function m(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}m.prototype={constructor:m,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(C){this.bearing=C.bearing,this.pitch=C.pitch,this.center=C.center,this.zoom=C.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,y)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var C=.5/Math.tan(b/2)*this.height*g,d=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,v=b/2,A=Math.PI/2+d,T=Math.sin(v)*C/Math.sin(Math.PI-A-v),O=Math.cos(Math.PI/2-d)*T+C,P=O*1.1,L=new Float64Array(16);x.perspective(L,b,this.width/this.height,1,P),this.viewGL.camera.projectionMatrix.setArray(L),this.viewGL.camera.decomposeProjectionMatrix();var L=x.identity(new Float64Array(16)),c=this.dataToPoint(this.center);x.scale(L,L,[1,-1,1]),x.translate(L,L,[0,0,-C]),x.rotateX(L,L,d),x.rotateZ(L,L,-this.bearing/180*Math.PI),x.translate(L,L,[-c[0]*this.getScale()*g,-c[1]*this.getScale()*g,0]),this.viewGL.camera.viewMatrix.array=L;var f=new Float64Array(16);x.invert(f,L),this.viewGL.camera.worldTransform.array=f,this.viewGL.camera.decomposeWorldTransform();var D=y*this.getScale(),R;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var k=this.altitudeExtent[1]-this.altitudeExtent[0];R=this.boxHeight/k*this.getScale()/Math.pow(2,this._initialZoom)}else R=D/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*g;this.viewGL.rootNode.scale.set(this.getScale()*g,this.getScale()*g,R)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(C,d){return this.projectOnTileWithScale(C,this.getScale()*y,d)},projectOnTileWithScale:function(C,d,v){var A=C[0],T=C[1],O=A*E/180,P=T*E/180,L=d*(O+E)/(2*E),c=d*(E-Math.log(Math.tan(E/4+P*.5)))/(2*E);return v=v||[],v[0]=L,v[1]=c,v},unprojectFromTile:function(C,d){return this.unprojectOnTileWithScale(C,this.getScale()*y,d)},unprojectOnTileWithScale:function(C,d,v){var A=C[0],T=C[1],O=A/d*(2*E)-E,P=2*(Math.atan(Math.exp(E-T/d*(2*E)))-E/4);return v=v||[],v[0]=O*180/E,v[1]=P*180/E,v},dataToPoint:function(C,d){return d=this.projectOnTileWithScale(C,y,d),d[0]-=this._origin[0],d[1]-=this._origin[1],d[2]=isNaN(C[2])?0:C[2],isNaN(C[2])||(d[2]=C[2],this.altitudeExtent&&(d[2]-=this.altitudeExtent[0])),d}},G.a=m},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(31),y=_(32),b=["zoom","center","pitch","bearing"],E=w.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var m=this;return b.reduce(function(C,d){return C[d]=m.get(d),C},{})},setMapboxCameraOption:function(m){m!=null&&b.forEach(function(C){m[C]!=null&&(this.option[C]=m[C])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(m){this._mapbox=m}});w.a.util.merge(E.prototype,x.a),w.a.util.merge(E.prototype,y.a);var g=E},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(200),y=_(34),b=_(2),E=_(201);b.a.Shader.import(E.a);var g=512,m=w.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(C,d){var v=d.getZr();this._zrLayer=new x.a("mapbox3D",v),v.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new b.a.Node,this._sceneHelper=new y.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var A=this._zrLayer.getMapbox(),T=this._dispatchInteractAction.bind(this,d,A);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(O){A.on(O,T)}),this._groundMesh=new b.a.Mesh({geometry:new b.a.PlaneGeometry,material:new b.a.Material({shader:new b.a.Shader({vertex:b.a.Shader.source("ecgl.displayShadow.vertex"),fragment:b.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(C,d,v){var A=this._zrLayer.getMapbox(),T=C.get("style"),O=JSON.stringify(T);O!==this._oldStyleStr&&T&&A.setStyle(T),this._oldStyleStr=O,A.setCenter(C.get("center")),A.setZoom(C.get("zoom")),A.setPitch(C.get("pitch")),A.setBearing(C.get("bearing")),C.setMapbox(A);var P=C.coordinateSystem;P.viewGL.scene.add(this._lightRoot),P.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(P.viewGL.scene),this._sceneHelper.updateLight(C),P.viewGL.setPostEffect(C.getModel("postEffect"),v),P.viewGL.setTemporalSuperSampling(C.getModel("temporalSuperSampling")),this._mapbox3DModel=C},afterRender:function(C,d,v,A){var T=A.renderer;this._sceneHelper.updateAmbientCubemap(T,C,v),this._sceneHelper.updateSkybox(T,C,v),C.coordinateSystem.viewGL.scene.traverse(function(O){O.material&&(O.material.define("fragment","NORMAL_UP_AXIS",2),O.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(C,d,v,A){C.coordinateSystem.setCameraOption(A),this._updateGroundMesh(),v.getZr().refresh()},_dispatchInteractAction:function(C,d,v){C.dispatchAction({type:"mapbox3DChangeCamera",pitch:d.getPitch(),zoom:d.getZoom(),center:d.getCenter().toArray(),bearing:d.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var C=this._mapbox3DModel.coordinateSystem,d=C.dataToPoint(C.center);this._groundMesh.position.set(d[0],d[1],-.001);var v=new b.a.Plane(new b.a.Vector3(0,0,1),0),A=C.viewGL.camera.castRay(new b.a.Vector2(-1,-1)),T=C.viewGL.camera.castRay(new b.a.Vector2(1,1)),O=A.intersectPlane(v),P=T.intersectPlane(v),L=O.dist(P)/C.viewGL.rootNode.scale.x;this._groundMesh.scale.set(L,L,1)}},dispose:function(C,d){d.getZr().delLayer(-1e3)}})},function(ee,G,_){"use strict";function F(x,y){if(this.id=x,this.zr=y,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}F.prototype.resize=function(){this._mapbox.resize()},F.prototype.getMapbox=function(){return this._mapbox},F.prototype.clear=function(){},F.prototype.refresh=function(){this._mapbox.resize()};var w=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];F.prototype._initEvents=function(){var x=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(y){return y.preventDefault(),!1}},w.forEach(function(y){this._handlers[y]=function(b){var E={};for(var g in b)E[g]=b[g];E.bubbles=!1;var m=new b.constructor(b.type,E);x.dispatchEvent(m)},this.zr.dom.addEventListener(y,this._handlers[y])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},F.prototype.dispose=function(){w.forEach(function(x){this.zr.dom.removeEventListener(x,this._handlers[x])},this)},G.a=F},function(ee,G,_){"use strict";G.a=`
@export ecgl.displayShadow.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_WorldPosition;
varying vec3 v_Normal;
void main()
{
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export ecgl.displayShadow.fragment
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform float roughness: 0.2;
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.ssaoMap.header
@import clay.plugin.compute_shadow_map
void main()
{
float shadow = 1.0;
@import ecgl.common.ssaoMap.main
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
}
#endif
shadow *= 0.5 + ao * 0.5;
shadow = clamp(shadow, 0.0, 1.0);
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
}
@end`},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(203),y=_(206),b=_(208),E=_(16);w.a.registerVisual(Object(E.a)("bar3D")),w.a.registerProcessor(function(g,m){g.eachSeriesByType("bar3d",function(C){var d=C.getData();d.filterSelf(function(v){return d.hasValue(v)})})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(4),y=_(1),b=_.n(y),E=_(204),g=_(205),m=b.a.vec3;function C(A,T){var O=A.getData(),P=A.get("minHeight")||0,L=A.get("barSize"),c=["lng","lat","alt"].map(function(R){return A.coordDimToDataDim(R)[0]});if(L==null){var f=T.radius*Math.PI,D=Object(g.a)(O,c[0],c[1]);L=[f/Math.sqrt(O.count()/D),f/Math.sqrt(O.count()/D)]}else w.a.util.isArray(L)||(L=[L,L]);O.each(c,function(R,k,W,z){var Z=O.get(c[2],z,!0),Q=O.stackedOn?Z-W:T.altitudeAxis.scale.getExtent()[0],te=Math.max(T.altitudeAxis.dataToCoord(W),P),$=T.dataToPoint([R,k,Q]),ie=T.dataToPoint([R,k,Z]),ae=m.sub([],ie,$);m.normalize(ae,ae);var re=[L[0],te,L[1]];O.setItemLayout(z,[$,ae,re])}),O.setLayout("orient",x.a.UP.array)}function d(A,T){var O=A.getData(),P=A.get("barSize"),L=A.get("minHeight")||0,c=["lng","lat","alt"].map(function(k){return A.coordDimToDataDim(k)[0]});if(P==null){var f=Math.min(T.size[0],T.size[2]),D=Object(g.a)(O,c[0],c[1]);P=[f/Math.sqrt(O.count()/D),f/Math.sqrt(O.count()/D)]}else w.a.util.isArray(P)||(P=[P,P]);var R=[0,1,0];O.each(c,function(k,W,z,Z){var Q=O.get(c[2],Z,!0),te=O.stackedOn?Q-z:T.altitudeAxis.scale.getExtent()[0],$=Math.max(T.altitudeAxis.dataToCoord(z),L),ie=T.dataToPoint([k,W,te]),ae=[P[0],$,P[1]];O.setItemLayout(Z,[ie,R,ae])}),O.setLayout("orient",[1,0,0])}function v(A,T){var O=A.getData(),P=A.coordDimToDataDim("lng")[0],L=A.coordDimToDataDim("lat")[0],c=A.coordDimToDataDim("alt")[0],f=A.get("barSize"),D=A.get("minHeight")||0;if(f==null){var R=O.getDataExtent(P),k=O.getDataExtent(L),W=T.dataToPoint([R[0],k[0]]),z=T.dataToPoint([R[1],k[1]]),Z=Math.min(Math.abs(W[0]-z[0]),Math.abs(W[1]-z[1]))||1,Q=Object(g.a)(O,P,L);f=[Z/Math.sqrt(O.count()/Q),Z/Math.sqrt(O.count()/Q)]}else w.a.util.isArray(f)||(f=[f,f]),f[0]/=T.getScale()/16,f[1]/=T.getScale()/16;var te=[0,0,1];O.each([P,L,c],function($,ie,ae,re){var ce=O.get(c,re,!0),oe=O.stackedOn?ce-ae:0,he=T.dataToPoint([$,ie,oe]),se=T.dataToPoint([$,ie,ce]),pe=Math.max(se[2]-he[2],D),me=[f[0],pe,f[1]];O.setItemLayout(re,[he,te,me])}),O.setLayout("orient",[1,0,0])}w.a.registerLayout(function(A,T){A.eachSeriesByType("bar3D",function(O){var P=O.coordinateSystem,L=P&&P.type;if(L==="globe")C(O,P);else if(L==="cartesian3D")Object(E.a)(O,P);else if(L==="geo3D")d(O,P);else if(L==="mapbox3D")v(O,P);else throw P?new Error("bar3D doesn't support coordinate system "+P.type):new Error("bar3D doesn't have coordinate system.")})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(1),y=_.n(x),b=y.a.vec3;function E(m){var C=m[0],d=m[1];return!(C>0&&d>0||C<0&&d<0)}function g(m,C){var d=m.getData(),v=m.get("barSize");if(v==null){var A=C.size,T,O,P=C.getAxis("x"),L=C.getAxis("y");P.type==="category"?T=P.getBandWidth()*.7:T=Math.round(A[0]/Math.sqrt(d.count()))*.6,L.type==="category"?O=L.getBandWidth()*.7:O=Math.round(A[1]/Math.sqrt(d.count()))*.6,v=[T,O]}else w.a.util.isArray(v)||(v=[v,v]);var c=C.getAxis("z").scale.getExtent(),f=E(c),D=["x","y","z"].map(function(R){return m.coordDimToDataDim(R)[0]});d.each(D,function(R,k,W,z){var Z=d.get(D[2],z,!0),Q=d.stackedOn?Z-W:f?0:c[0],te=C.dataToPoint([R,k,Q]),$=C.dataToPoint([R,k,Z]),ie=b.dist(te,$),ae=[0,$[1]<te[1]?-1:1,0];Math.abs(ie)===0&&(ie=.1);var re=[v[0],ie,v[1]];d.setItemLayout(z,[te,ae,re])}),d.setLayout("orient",[1,0,0])}G.a=g},function(ee,G,_){"use strict";G.a=function(F,w,x){for(var y=F.getDataExtent(w),b=F.getDataExtent(x),E=y[1]-y[0]||y[0],g=b[1]-b[0]||b[0],m=50,C=new Uint8Array(m*m),d=0;d<F.count();d++){var v=F.get(w,d),A=F.get(x,d),T=Math.floor((v-y[0])/E*(m-1)),O=Math.floor((A-b[0])/g*(m-1)),P=O*m+T;C[P]=C[P]||1}for(var L=0,d=0;d<C.length;d++)C[d]&&L++;return L/C.length}},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(27),E=_(207),g=_(61),m=_(1),C=_.n(m),d=C.a.vec3,v=w.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(A,T){this.groupGL=new x.a.Node,this._api=T,this._labelsBuilder=new g.a(256,256,T);var O=this;this._labelsBuilder.getLabelPosition=function(P,L,c){if(O._data){var f=O._data.getItemLayout(P),D=f[0],R=f[1],k=f[2][1];return d.scaleAndAdd([],D,R,c+k)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(A,T,O){var P=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=P,this._barMesh||(this._barMesh=new x.a.Mesh({geometry:new E.a,shadowDepthMaterial:new x.a.Material({shader:new x.a.Shader(x.a.Shader.source("ecgl.sm.depth.vertex"),x.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:A.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var L=A.coordinateSystem;if(this._doRender(A,O),L&&L.viewGL){L.viewGL.add(this.groupGL);var c=L.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[c]("fragment","SRGB_DECODE")}this._data=A.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(A)},_updateAnimation:function(A){x.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,A)},_doRender:function(A,T){var O=A.getData(),P=A.get("shading"),L=P!=="color",c=this,f=this._barMesh,D="ecgl."+P;(!f.material||f.material.shader.name!==D)&&(f.material=x.a.createMaterial(D,["VERTEX_COLOR"])),x.a.setMaterialFromModel(P,f.material,A,T),f.geometry.enableNormal=L,f.geometry.resetOffset();var R=A.get("bevelSize"),k=A.get("bevelSmoothness");f.geometry.bevelSegments=k,f.geometry.bevelSize=R;var W=[],z=new Float32Array(O.count()*4),Z=0,ie=0,Q=!1;O.each(function(re){if(O.hasValue(re)){var ce=O.getItemVisual(re,"color"),oe=O.getItemVisual(re,"opacity");oe==null&&(oe=1),x.a.parseColor(ce,W),W[3]*=oe,z[Z++]=W[0],z[Z++]=W[1],z[Z++]=W[2],z[Z++]=W[3],W[3]>0&&(ie++,W[3]<.99&&(Q=!0))}}),f.geometry.setBarCount(ie);var te=O.getLayout("orient"),$=this._barIndexOfData=new Int32Array(O.count()),ie=0;O.each(function(re){if(!O.hasValue(re)){$[re]=-1;return}var ce=O.getItemLayout(re),oe=ce[0],he=ce[1],se=ce[2],pe=re*4;W[0]=z[pe++],W[1]=z[pe++],W[2]=z[pe++],W[3]=z[pe++],W[3]>0&&(c._barMesh.geometry.addBar(oe,he,te,se,W,re),$[re]=ie++)}),f.geometry.dirty(),f.geometry.updateBoundingBox();var ae=f.material;ae.transparent=Q,ae.depthMask=!Q,f.geometry.sortTriangles=Q,this._initHandler(A,T)},_initHandler:function(A,T){var O=A.getData(),P=this._barMesh,L=A.coordinateSystem.type==="cartesian3D";P.seriesIndex=A.seriesIndex;var c=-1;P.off("mousemove"),P.off("mouseout"),P.on("mousemove",function(f){var D=P.geometry.getDataIndexOfVertex(f.triangle[0]);D!==c&&(this._downplay(c),this._highlight(D),this._labelsBuilder.updateLabels([D]),L&&T.dispatchAction({type:"grid3DShowAxisPointer",value:[O.get("x",D),O.get("y",D),O.get("z",D,!0)]})),c=D,P.dataIndex=D},this),P.on("mouseout",function(f){this._downplay(c),this._labelsBuilder.updateLabels(),c=-1,P.dataIndex=-1,L&&T.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(A){var T=this._data;if(T){var O=this._barIndexOfData[A];if(!(O<0)){var P=T.getItemModel(A),L=P.getModel("emphasis.itemStyle"),c=L.get("color"),f=L.get("opacity");if(c==null){var D=T.getItemVisual(A,"color");c=w.a.color.lift(D,-.4)}f==null&&(f=T.getItemVisual(A,"opacity"));var R=x.a.parseColor(c);R[3]*=f,this._barMesh.geometry.setColor(O,R),this._api.getZr().refresh()}}},_downplay:function(A){var T=this._data;if(T){var O=this._barIndexOfData[A];if(!(O<0)){var P=T.getItemVisual(A,"color"),L=T.getItemVisual(A,"opacity"),c=x.a.parseColor(P);c[3]*=L,this._barMesh.geometry.setColor(O,c),this._api.getZr().refresh()}}},highlight:function(A,T,O,P){this._toggleStatus("highlight",A,T,O,P)},downplay:function(A,T,O,P){this._toggleStatus("downplay",A,T,O,P)},_toggleStatus:function(A,T,O,P,L){var c=T.getData(),f=y.a.queryDataIndex(c,L),D=this;f!=null?w.a.util.each(b.a.normalizeToArray(f),function(R){A==="highlight"?this._highlight(R):this._downplay(R)},this):c.each(function(R){A==="highlight"?D._highlight(R):D._downplay(R)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(33),y=_(60),b=_(13),E=_(1),g=_.n(E),m=g.a.vec3,C=g.a.mat3,d=b.a.extend(function(){return{attributes:{position:new b.a.Attribute("position","float",3,"POSITION"),normal:new b.a.Attribute("normal","float",3,"NORMAL"),color:new b.a.Attribute("color","float",4,"COLOR"),prevPosition:new b.a.Attribute("prevPosition","float",3),prevNormal:new b.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(v){var A=this.enableNormal,T=this.getBarVertexCount()*v,O=this.getBarTriangleCount()*v;this.vertexCount!==T&&(this.attributes.position.init(T),A?this.attributes.normal.init(T):this.attributes.normal.value=null,this.attributes.color.init(T)),this.triangleCount!==O&&(this.indices=T>65535?new Uint32Array(O*3):new Uint16Array(O*3),this._dataIndices=new Uint32Array(T))},getBarVertexCount:function(){var v=this.bevelSize>0?this.bevelSegments:0;return v>0?this._getBevelBarVertexCount(v):this.enableNormal?24:8},getBarTriangleCount:function(){var v=this.bevelSize>0?this.bevelSegments:0;return v>0?this._getBevelBarTriangleCount(v):12},_getBevelBarVertexCount:function(v){return(v+1)*4*(v+1)*2},_getBevelBarTriangleCount:function(v){var A=v*4+3,T=v*2+1;return(A+1)*T*2+4},setColor:function(v,A){for(var T=this.getBarVertexCount(),O=T*v,P=T*(v+1),L=O;L<P;L++)this.attributes.color.set(L,A);this.dirtyAttribute("color")},getDataIndexOfVertex:function(v){return this._dataIndices?this._dataIndices[v]:null},addBar:function(){for(var v=m.create,A=m.scaleAndAdd,T=v(),O=v(),P=v(),L=v(),c=v(),f=v(),D=v(),R=[],k=[],W=0;W<8;W++)R[W]=v();for(var z=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],Z=[0,1,2,0,2,3],Q=[],W=0;W<z.length;W++)for(var te=z[W],$=0;$<2;$++){for(var ie=[],ae=0;ae<3;ae++)ie.push(te[Z[$*3+ae]]);Q.push(ie)}return function(re,ce,oe,he,se,pe){var me=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(re,ce,oe,he,this.bevelSize,this.bevelSegments,se);else{m.copy(P,ce),m.normalize(P,P),m.cross(L,oe,P),m.normalize(L,L),m.cross(O,P,L),m.normalize(L,L),m.negate(c,O),m.negate(f,P),m.negate(D,L),A(R[0],re,O,he[0]/2),A(R[0],R[0],L,he[2]/2),A(R[1],re,O,he[0]/2),A(R[1],R[1],D,he[2]/2),A(R[2],re,c,he[0]/2),A(R[2],R[2],D,he[2]/2),A(R[3],re,c,he[0]/2),A(R[3],R[3],L,he[2]/2),A(T,re,P,he[1]),A(R[4],T,O,he[0]/2),A(R[4],R[4],L,he[2]/2),A(R[5],T,O,he[0]/2),A(R[5],R[5],D,he[2]/2),A(R[6],T,c,he[0]/2),A(R[6],R[6],D,he[2]/2),A(R[7],T,c,he[0]/2),A(R[7],R[7],L,he[2]/2);var ge=this.attributes;if(this.enableNormal){k[0]=O,k[1]=c,k[2]=P,k[3]=f,k[4]=L,k[5]=D;for(var Ee=this._vertexOffset,Ae=0;Ae<z.length;Ae++){for(var Fe=this._triangleOffset*3,Ue=0;Ue<6;Ue++)this.indices[Fe++]=Ee+Z[Ue];Ee+=4,this._triangleOffset+=2}for(var Ae=0;Ae<z.length;Ae++)for(var nt=k[Ae],Ue=0;Ue<4;Ue++){var rt=z[Ae][Ue];ge.position.set(this._vertexOffset,R[rt]),ge.normal.set(this._vertexOffset,nt),ge.color.set(this._vertexOffset++,se)}}else{for(var Ae=0;Ae<Q.length;Ae++){for(var Fe=this._triangleOffset*3,Ue=0;Ue<3;Ue++)this.indices[Fe+Ue]=Q[Ae][Ue]+this._vertexOffset;this._triangleOffset++}for(var Ae=0;Ae<R.length;Ae++)ge.position.set(this._vertexOffset,R[Ae]),ge.color.set(this._vertexOffset++,se)}}for(var qe=this._vertexOffset,Ae=me;Ae<qe;Ae++)this._dataIndices[Ae]=pe}}(),_addBevelBar:function(){var v=m.create(),A=m.create(),T=m.create(),O=C.create(),P=[],L=[1,-1,-1,1],c=[1,1,-1,-1],f=[2,0];return function(D,R,k,W,z,Z,Q){m.copy(A,R),m.normalize(A,A),m.cross(T,k,A),m.normalize(T,T),m.cross(v,A,T),m.normalize(T,T),O[0]=v[0],O[1]=v[1],O[2]=v[2],O[3]=A[0],O[4]=A[1],O[5]=A[2],O[6]=T[0],O[7]=T[1],O[8]=T[2],z=Math.min(W[0],W[2])/2*z;for(var te=0;te<3;te++)P[te]=Math.max(W[te]-z*2,0);for(var $=(W[0]-P[0])/2,ie=(W[1]-P[1])/2,ae=(W[2]-P[2])/2,re=[],ce=[],oe=this._vertexOffset,he=[],te=0;te<2;te++){he[te]=he[te]=[];for(var se=0;se<=Z;se++)for(var pe=0;pe<4;pe++){(se===0&&te===0||te===1&&se===Z)&&he[te].push(oe);for(var me=0;me<=Z;me++){var ge=me/Z*Math.PI/2+Math.PI/2*pe,Ee=se/Z*Math.PI/2+Math.PI/2*te;ce[0]=$*Math.cos(ge)*Math.sin(Ee),ce[1]=ie*Math.cos(Ee),ce[2]=ae*Math.sin(ge)*Math.sin(Ee),re[0]=ce[0]+L[pe]*P[0]/2,re[1]=ce[1]+ie+f[te]*P[1]/2,re[2]=ce[2]+c[pe]*P[2]/2,Math.abs($-ie)<1e-6&&Math.abs(ie-ae)<1e-6||(ce[0]/=$*$,ce[1]/=ie*ie,ce[2]/=ae*ae),m.normalize(ce,ce),m.transformMat3(re,re,O),m.transformMat3(ce,ce,O),m.add(re,re,D),this.attributes.position.set(oe,re),this.enableNormal&&this.attributes.normal.set(oe,ce),this.attributes.color.set(oe,Q),oe++}}}for(var Ae=Z*4+3,Fe=Z*2+1,Ue=Ae+1,pe=0;pe<Fe;pe++)for(var te=0;te<=Ae;te++){var nt=pe*Ue+te+this._vertexOffset,rt=pe*Ue+(te+1)%Ue+this._vertexOffset,qe=(pe+1)*Ue+(te+1)%Ue+this._vertexOffset,dt=(pe+1)*Ue+te+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[qe,nt,rt]),this.setTriangleIndices(this._triangleOffset++,[qe,dt,nt])}this.setTriangleIndices(this._triangleOffset++,[he[0][0],he[0][2],he[0][1]]),this.setTriangleIndices(this._triangleOffset++,[he[0][0],he[0][3],he[0][2]]),this.setTriangleIndices(this._triangleOffset++,[he[1][0],he[1][1],he[1][2]]),this.setTriangleIndices(this._triangleOffset++,[he[1][0],he[1][2],he[1][3]]),this._vertexOffset=oe}}()});w.a.util.defaults(d.prototype,x.a),w.a.util.defaults(d.prototype,y.a),G.a=d},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(26),y=_(27),b=_(35),E=_(44),g=w.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(C,d){return Object(E.a)(this)},getFormattedLabel:function(C,d,v,A){var T=y.a.getFormattedLabel(this,C,d,v,A);return T==null&&(T=this.getData().get("z",C)),T},formatTooltip:function(C){return Object(b.a)(this,C)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});w.a.util.merge(g.prototype,x.a);var m=g},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(210),y=_(211),b=_(45),E=_.n(b),g=_(16);w.a.registerVisual(E()("line3D","circle",null)),w.a.registerVisual(Object(g.a)("line3D")),w.a.registerLayout(function(m,C){m.eachSeriesByType("line3D",function(d){var v=d.getData(),A=d.coordinateSystem;if(A){if(A.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var T=new Float32Array(v.count()*3),O=[],P=[],L=A.dimensions,c=L.map(function(f){return d.coordDimToDataDim(f)[0]});A&&v.each(c,function(f,D,R,k){O[0]=f,O[1]=D,O[2]=R,A.dataToPoint(O,P),T[k*3]=P[0],T[k*3+1]=P[1],T[k*3+2]=P[2]}),v.setLayout("points",T)}})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(35),y=_(44),b=w.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(g,m){return Object(y.a)(this)},formatTooltip:function(g){return Object(x.a)(this,g)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),E=b},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(22),E=_(9),g=_(4),m=_(212),C=_.n(m),d=_(1),v=_.n(d),A=_(40),T=v.a.vec3;x.a.Shader.import(A.a);var O=w.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(P,L){this.groupGL=new x.a.Node,this._api=L},render:function(P,L,c){var f=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=f,this._line3DMesh||(this._line3DMesh=new x.a.Mesh({geometry:new b.a({useNativeLine:!1,sortTriangles:!0}),material:new x.a.Material({shader:x.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var D=P.coordinateSystem;if(D&&D.viewGL){D.viewGL.add(this.groupGL);var R=D.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[R]("fragment","SRGB_DECODE")}this._doRender(P,c),this._data=P.getData(),this._camera=D.viewGL.camera,this.updateCamera(),this._updateAnimation(P)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(P,L){var c=P.getData(),f=this._line3DMesh;f.geometry.resetOffset();var D=c.getLayout("points"),R=[],k=new Float32Array(D.length/3*4),W=0,z=!1;c.each(function(te){var $=c.getItemVisual(te,"color"),ie=c.getItemVisual(te,"opacity");ie==null&&(ie=1),x.a.parseColor($,R),R[3]*=ie,k[W++]=R[0],k[W++]=R[1],k[W++]=R[2],k[W++]=R[3],R[3]<.99&&(z=!0)}),f.geometry.setVertexCount(f.geometry.getPolylineVertexCount(D)),f.geometry.setTriangleCount(f.geometry.getPolylineTriangleCount(D)),f.geometry.addPolyline(D,k,y.a.firstNotNull(P.get("lineStyle.width"),1)),f.geometry.dirty(),f.geometry.updateBoundingBox();var Z=f.material;Z.transparent=z,Z.depthMask=!z;var Q=P.getModel("debug.wireframe");Q.get("show")?(f.geometry.createAttribute("barycentric","float",3),f.geometry.generateBarycentric(),f.material.set("both","WIREFRAME_TRIANGLE"),f.material.set("wireframeLineColor",x.a.parseColor(Q.get("lineStyle.color")||"rgba(0,0,0,0.5)")),f.material.set("wireframeLineWidth",y.a.firstNotNull(Q.get("lineStyle.width"),1))):f.material.set("both","WIREFRAME_TRIANGLE"),this._points=D,this._initHandler(P,L)},_updateAnimation:function(P){x.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,P)},_initHandler:function(P,L){var c=P.getData(),f=P.coordinateSystem,D=this._line3DMesh,R=-1;D.seriesIndex=P.seriesIndex,D.off("mousemove"),D.off("mouseout"),D.on("mousemove",function(k){var W=f.pointToData(k.point.array),z=c.indicesOfNearest("x",W[0])[0];z!==R&&(L.dispatchAction({type:"grid3DShowAxisPointer",value:[c.get("x",z),c.get("y",z),c.get("z",z)]}),D.dataIndex=z),R=z},this),D.on("mouseout",function(k){R=-1,D.dataIndex=-1,L.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var P=new E.a,L=this._camera;E.a.multiply(P,L.projectionMatrix,L.viewMatrix);var c=this._positionNDC,f=this._points,D=f.length/3;(!c||c.length/2!==D)&&(c=this._positionNDC=new Float32Array(D*2));for(var R=[],k=0;k<D;k++){var W=k*3,z=k*2;R[0]=f[W],R[1]=f[W+1],R[2]=f[W+2],R[3]=1,T.transformMat4(R,R,P.array),c[z]=R[0]/R[3],c[z+1]=R[1]/R[3]}},_pick:function(P,L,c,f,D,R){var k=this._positionNDC,W=this._data.hostModel,z=W.get("lineStyle.width"),Z=-1,Q=c.viewport.width,te=c.viewport.height,$=Q*.5,ie=te*.5;P=(P+1)*$,L=(L+1)*ie;for(var ae=1;ae<k.length/2;ae++){var re=(k[(ae-1)*2]+1)*$,ce=(k[(ae-1)*2+1]+1)*ie,oe=(k[ae*2]+1)*$,he=(k[ae*2+1]+1)*ie;if(C.a.containStroke(re,ce,oe,he,z,P,L)){var se=(re-P)*(re-P)+(ce-L)*(ce-L),pe=(oe-P)*(oe-P)+(he-L)*(he-L);Z=se<pe?ae-1:ae}}if(Z>=0){var me=Z*3,ge=new g.a(this._points[me],this._points[me+1],this._points[me+2]);R.push({dataIndex:Z,point:ge,pointWorld:ge.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(ge)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(ee,G){function _(F,w,x,y,b,E,g){if(b===0)return!1;var m=b,C=0,d=F;if(g>w+m&&g>y+m||g<w-m&&g<y-m||E>F+m&&E>x+m||E<F-m&&E<x-m)return!1;if(F!==x)C=(w-y)/(F-x),d=(F*y-x*w)/(F-x);else return Math.abs(E-F)<=m/2;var v=C*E-g+d,A=v*v/(C*C+1);return A<=m/2*m/2}G.containStroke=_},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(214),y=_(215),b=_(45),E=_.n(b),g=_(16);w.a.registerVisual(E()("scatter3D","circle",null)),w.a.registerVisual(Object(g.a)("scatter3D")),w.a.registerLayout({seriesType:"scatter3D",reset:function(m){var C=m.coordinateSystem;if(C){var d=C.dimensions;if(d.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var v=d.map(function(O){return m.coordDimToDataDim(O)[0]}),A=[],T=[];return{progress:function(O,P){for(var L=new Float32Array((O.end-O.start)*3),c=O.start;c<O.end;c++){var f=(c-O.start)*3;A[0]=P.get(v[0],c),A[1]=P.get(v[1],c),A[2]=P.get(v[2],c),C.dataToPoint(A,T),L[f]=T[0],L[f+1]=T[1],L[f+2]=T[2]}P.setLayout("points",L)}}}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(27),y=_(35),b=_(44);w.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(E,g){return Object(b.a)(this)},getFormattedLabel:function(E,g,m,C){var d=x.a.getFormattedLabel(this,E,g,m,C);if(d==null){var v=this.getData(),A=v.dimensions[v.dimensions.length-1];d=v.get(A,E)}return d},formatTooltip:function(E){return Object(y.a)(this,E)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(27),E=_(62);w.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(g,m){this.groupGL=new x.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(g,m,C){if(this.groupGL.removeAll(),!!g.getData().count()){var d=g.coordinateSystem;if(d&&d.viewGL){d.viewGL.add(this.groupGL),this._camera=d.viewGL.camera;var v=this._pointsBuilderList[0];v||(v=this._pointsBuilderList[0]=new E.a(!1,C)),this._pointsBuilderList.length=1,this.groupGL.add(v.rootNode),v.update(g,m,C),v.updateView(d.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(g,m,C){var d=g.coordinateSystem;if(d&&d.viewGL)d.viewGL.add(this.groupGL),this._camera=d.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(g,m,C,d){if(!(g.end<=g.start)){var v=this._pointsBuilderList[this._currentStep];v||(v=new E.a(!1,d),this._pointsBuilderList[this._currentStep]=v),this.groupGL.add(v.rootNode),v.update(m,C,d,g.start,g.end),v.updateView(m.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(g){g.updateView(this._camera)},this)},highlight:function(g,m,C,d){this._toggleStatus("highlight",g,m,C,d)},downplay:function(g,m,C,d){this._toggleStatus("downplay",g,m,C,d)},_toggleStatus:function(g,m,C,d,v){var A=m.getData(),T=y.a.queryDataIndex(A,v),O=g==="highlight";T!=null?w.a.util.each(b.a.normalizeToArray(T),function(P){for(var L=0;L<this._pointsBuilderList.length;L++){var c=this._pointsBuilderList[L];O?c.highlight(A,P):c.downplay(A,P)}},this):A.each(function(P){for(var L=0;L<this._pointsBuilderList.length;L++){var c=this._pointsBuilderList[L];O?c.highlight(A,P):c.downplay(A,P)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);function x(g,d,C){var d=d||document.createElement("canvas");d.width=g,d.height=g;var v=d.getContext("2d");return C&&C(v),d}function y(g,m,C,d){w.a.util.isArray(m)||(m=[m,m]);var v=E.getMarginByStyle(C,d),A=m[0]+v.left+v.right,T=m[1]+v.top+v.bottom,O=w.a.helper.createSymbol(g,0,0,m[0],m[1]),P=Math.max(A,T);O.position=[v.left,v.top],A>T?O.position[1]+=(P-T)/2:O.position[0]+=(P-A)/2;var L=O.getBoundingRect();return O.position[0]-=L.x,O.position[1]-=L.y,O.setStyle(C),O.update(),O.__size=P,O}function b(g,m,C){var d=m.width,v=m.height,A=g.canvas.width,T=g.canvas.height,O=d/A,P=v/T;function L(Z){return Z<128?1:-1}function c(Z,Q){var te=1/0;Z=Math.floor(Z*O),Q=Math.floor(Q*P);for(var $=Q*d+Z,ie=m.data[$*4],ae=L(ie),re=Math.max(Q-C,0);re<Math.min(Q+C,v);re++)for(var ce=Math.max(Z-C,0);ce<Math.min(Z+C,d);ce++){var $=re*d+ce,oe=m.data[$*4],he=L(oe),se=ce-Z,pe=re-Q;if(ae!==he){var me=se*se+pe*pe;me<te&&(te=me)}}return ae*Math.sqrt(te)}for(var f=g.createImageData(A,T),D=0;D<T;D++)for(var R=0;R<A;R++){var k=c(R,D),W=k/C*.5+.5,z=(D*A+R)*4;f.data[z++]=(1-W)*255,f.data[z++]=(1-W)*255,f.data[z++]=(1-W)*255,f.data[z++]=255}return f}var E={getMarginByStyle:function(g){var m=g.minMargin||0,C=0;g.stroke&&g.stroke!=="none"&&(C=g.lineWidth==null?1:g.lineWidth);var d=g.shadowBlur||0,v=g.shadowOffsetX||0,A=g.shadowOffsetY||0,T={};return T.left=Math.max(C/2,-v+d,m),T.right=Math.max(C/2,v+d,m),T.top=Math.max(C/2,-A+d,m),T.bottom=Math.max(C/2,A+d,m),T},createSymbolSprite:function(g,m,C,d){var v=y(g,m,C),A=E.getMarginByStyle(C);return{image:x(v.__size,d,function(T){v.brush(T)}),margin:A}},createSDFFromCanvas:function(g,m,C,d){return x(m,d,function(v){var A=g.getContext("2d"),T=A.getImageData(0,0,g.width,g.height);v.putImageData(b(v,T,C),0,0)})},createSimpleSprite:function(g,m){return x(g,m,function(C){var d=g/2;C.beginPath(),C.arc(d,d,60,0,Math.PI*2,!1),C.closePath();var v=C.createRadialGradient(d,d,0,d,d,d);v.addColorStop(0,"rgba(255, 255, 255, 1)"),v.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),v.addColorStop(1,"rgba(255, 255, 255, 0)"),C.fillStyle=v,C.fill()})}};G.a=E},function(ee,G,_){"use strict";var F=_(2),w=_(218),x=_(0),y=_.n(x),b=_(1),E=_.n(b),g=_(219),m=E.a.vec4;F.a.Shader.import(g.a);var C=F.a.Mesh.extend(function(){var d=new F.a.Geometry({dynamic:!0,attributes:{color:new F.a.Geometry.Attribute("color","float",4,"COLOR"),position:new F.a.Geometry.Attribute("position","float",3,"POSITION"),size:new F.a.Geometry.Attribute("size","float",1),prevPosition:new F.a.Geometry.Attribute("prevPosition","float",3),prevSize:new F.a.Geometry.Attribute("prevSize","float",1)}});y.a.util.extend(d,w.a);var v=new F.a.Material({shader:F.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});v.enableTexture("sprite"),v.define("both","VERTEX_COLOR"),v.define("both","VERTEX_SIZE");var A=new F.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return v.set("sprite",A),d.pick=this._pick.bind(this),{geometry:d,material:v,mode:F.a.Mesh.POINTS,sizeScale:1}},{_pick:function(d,v,A,T,O,P){var L=this._positionNDC;if(L)for(var c=A.viewport,f=2/c.width,D=2/c.height,R=this.geometry.vertexCount-1;R>=0;R--){var k;this.geometry.indices?k=this.geometry.indices[R]:k=R;var W=L[k*2],z=L[k*2+1],Z=this.geometry.attributes.size.get(k)/this.sizeScale,Q=Z/2;if(d>W-Q*f&&d<W+Q*f&&v>z-Q*D&&v<z+Q*D){var te=new F.a.Vector3,$=new F.a.Vector3;this.geometry.attributes.position.get(k,te.array),F.a.Vector3.transformMat4($,te,this.worldTransform),P.push({vertexIndex:k,point:te,pointWorld:$,target:this,distance:$.distance(T.getWorldPosition())})}}},updateNDCPosition:function(d,v,A){var T=this._positionNDC,O=this.geometry;(!T||T.length/2!==O.vertexCount)&&(T=this._positionNDC=new Float32Array(O.vertexCount*2));for(var P=m.create(),L=0;L<O.vertexCount;L++)O.attributes.position.get(L,P),P[3]=1,m.transformMat4(P,P,d.array),m.scale(P,P,1/P[3]),T[L*2]=P[0],T[L*2+1]=P[1]}});G.a=C},function(ee,G,_){"use strict";var F=_(81),w=_(1),x=_.n(w),y=x.a.vec3;G.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(b,E){var g=this.indices,m=y.create();if(!g){g=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var C=0;C<g.length;C++)g[C]=C}if(E===0){var d=this.attributes.position,b=b.array,v=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var A,C=0;C<this.vertexCount;C++){d.get(C,m);var T=y.sqrDist(m,b);isNaN(T)&&(T=1e7,v++),C===0?(A=T,T=0):T=T-A,this._zList[C]=T}this._noneCount=v}if(this.vertexCount<2e4)E===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var C=0;C<3;C++)this._progressiveQuickSort(E*3+C);this.dirtyIndices()},_simpleSort:function(b){var E=this._zList,g=this.indices;function m(C,d){return E[d]-E[C]}b?Array.prototype.sort.call(g,m):F.a.sort(g,m,0,g.length-1)},_progressiveQuickSort:function(b){var E=this._zList,g=this.indices;this._quickSort=this._quickSort||new F.a,this._quickSort.step(g,function(m,C){return E[C]-E[m]},b)}}},function(ee,G,_){"use strict";G.a=`@export ecgl.sdfSprite.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float elapsedTime : 0;
attribute vec3 position : POSITION;
#ifdef VERTEX_SIZE
attribute float size;
#else
uniform float u_Size;
#endif
#ifdef VERTEX_COLOR
attribute vec4 a_FillColor: COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute float prevSize;
uniform float percent : 1.0;
#endif
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
varying float v_Size;
void main()
{
#ifdef POSITIONTEXTURE_ENABLED
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
#else
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
#endif
#ifdef VERTEX_SIZE
#ifdef VERTEX_ANIMATION
v_Size = mix(prevSize, size, percent);
#else
v_Size = size;
#endif
#else
v_Size = u_Size;
#endif
#ifdef VERTEX_COLOR
v_Color = a_FillColor;
#endif
gl_PointSize = v_Size;
}
@end
@export ecgl.sdfSprite.fragment
uniform vec4 color: [1, 1, 1, 1];
uniform vec4 strokeColor: [1, 1, 1, 1];
uniform float smoothing: 0.07;
uniform float lineWidth: 0.0;
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Size;
uniform sampler2D sprite;
@import clay.util.srgb
void main()
{
gl_FragColor = color;
vec4 _strokeColor = strokeColor;
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef SPRITE_ENABLED
float d = texture2D(sprite, gl_PointCoord).r;
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
if (lineWidth > 0.0) {
float sLineWidth = lineWidth / 2.0;
float outlineMaxValue0 = 0.5 + sLineWidth;
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
float outlineMinValue1 = 0.5 - sLineWidth;
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
float a = _strokeColor.a;
if (d <= outlineMinValue1) {
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
}
else {
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
}
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
}
}
#endif
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(gl_FragColor);
#endif
}
@end`},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(221),y=_(222),b=_(225),E=_(16);w.a.registerVisual(Object(E.a)("lines3D")),w.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),w.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),w.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(1),y=_.n(x),b=y.a.vec3,E=y.a.vec2,g=b.normalize,m=b.cross,C=b.sub,d=b.add,v=b.create,A=v(),T=v(),O=v(),P=v(),L=[],c=[];function f(Z,Q){E.copy(L,Z[0]),E.copy(c,Z[1]);var te=[],$=te[0]=v(),ie=te[1]=v(),ae=te[2]=v(),re=te[3]=v();Q.dataToPoint(L,$),Q.dataToPoint(c,re),g(A,$),C(T,re,$),g(T,T),m(O,T,A),g(O,O),m(T,A,O),d(ie,A,T),g(ie,ie),g(A,re),C(T,$,re),g(T,T),m(O,T,A),g(O,O),m(T,A,O),d(ae,A,T),g(ae,ae),d(P,$,re),g(P,P);var ce=b.dot($,P),oe=b.dot(P,ie),he=(Math.max(b.len($),b.len(re))-ce)/oe*2;return b.scaleAndAdd(ie,$,ie,he),b.scaleAndAdd(ae,re,ae,he),te}function D(Z,Q,te){var $=[],ie=$[0]=b.create(),ae=$[1]=b.create(),re=$[2]=b.create(),ce=$[3]=b.create();Q.dataToPoint(Z[0],ie),Q.dataToPoint(Z[1],ce);var oe=b.dist(ie,ce);return b.lerp(ae,ie,ce,.3),b.lerp(re,ie,ce,.3),b.scaleAndAdd(ae,ae,te,Math.min(oe*.1,10)),b.scaleAndAdd(re,re,te,Math.min(oe*.1,10)),$}function R(Z,Q){for(var te=new Float32Array(Z.length*3),$=0,ie=[],ae=0;ae<Z.length;ae++)Q.dataToPoint(Z[ae],ie),te[$++]=ie[0],te[$++]=ie[1],te[$++]=ie[2];return te}function k(Z){var Q=[];return Z.each(function(te){var $=Z.getItemModel(te),ie=$.option instanceof Array?$.option:$.getShallow("coords",!0);if(!(ie instanceof Array&&ie.length>0&&ie[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(ie)+". Lines must have 2d coords array in data item.");Q.push(ie)}),{coordsList:Q}}function W(Z,Q){var te=Z.getData(),$=Z.get("polyline");te.setLayout("lineType",$?"polyline":"cubicBezier");var ie=k(te);te.each(function(ae){var re=ie.coordsList[ae],ce=$?R:f;te.setItemLayout(ae,ce(re,Q))})}function z(Z,Q,te){var $=Z.getData(),ie=Z.get("polyline"),ae=k($);$.setLayout("lineType",ie?"polyline":"cubicBezier"),$.each(function(re){var ce=ae.coordsList[re],oe=ie?R(ce,Q):D(ce,Q,te);$.setItemLayout(re,oe)})}w.a.registerLayout(function(Z,Q){Z.eachSeriesByType("lines3D",function(te){var $=te.coordinateSystem;$.type==="globe"?W(te,$):$.type==="geo3D"?z(te,$,[0,1,0]):$.type==="mapbox3D"&&z(te,$,[0,0,1])})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(22),b=_(223),E=_(40);x.a.Shader.import(E.a);function g(C){return C.radius!=null?C.radius:C.size!=null?Math.max(C.size[0],C.size[1],C.size[2]):100}var m=w.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(C,d){this.groupGL=new x.a.Node,this._meshLinesMaterial=new x.a.Material({shader:x.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new x.a.Mesh({geometry:new y.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new b.a},render:function(C,d,v){this.groupGL.add(this._linesMesh);var A=C.coordinateSystem,T=C.getData();if(A&&A.viewGL){var O=A.viewGL;O.add(this.groupGL),this._updateLines(C,d,v);var P=A.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[P]("fragment","SRGB_DECODE"),this._trailMesh.material[P]("fragment","SRGB_DECODE")}var L=this._trailMesh;if(L.stopAnimation(),C.get("effect.show")){this.groupGL.add(L),L.updateData(T,v,this._linesMesh.geometry),L.__time=L.__time||0;var c=3600*1e3;this._curveEffectsAnimator=L.animate("",{loop:!0}).when(c,{__time:c}).during(function(){L.setAnimationTime(L.__time)}).start()}else this.groupGL.remove(L),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=C.get("blendMode")==="lighter"?x.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var C=this._curveEffectsAnimator;C&&(C.isPaused()?C.resume():C.pause())},_updateLines:function(C,d,v){var A=C.getData(),T=C.coordinateSystem,O=this._linesMesh.geometry,P=C.get("polyline");O.expandLine=!0;var L=g(T);O.segmentScale=L/20;var c="lineStyle.width".split("."),f=v.getDevicePixelRatio(),D=0;A.each(function(z){var Z=A.getItemModel(z),Q=Z.get(c);Q==null&&(Q=1),A.setItemVisual(z,"lineWidth",Q),D=Math.max(Q,D)}),O.useNativeLine=!1;var R=0,k=0;A.each(function(z){var Z=A.getItemLayout(z);P?(R+=O.getPolylineVertexCount(Z),k+=O.getPolylineTriangleCount(Z)):(R+=O.getCubicCurveVertexCount(Z[0],Z[1],Z[2],Z[3]),k+=O.getCubicCurveTriangleCount(Z[0],Z[1],Z[2],Z[3]))}),O.setVertexCount(R),O.setTriangleCount(k),O.resetOffset();var W=[];A.each(function(z){var Z=A.getItemLayout(z),Q=A.getItemVisual(z,"color"),te=A.getItemVisual(z,"opacity"),$=A.getItemVisual(z,"lineWidth")*f;te==null&&(te=1),W=x.a.parseColor(Q,W),W[3]*=te,P?O.addPolyline(Z,W,$):O.addCubicCurve(Z[0],Z[1],Z[2],Z[3],W,$)}),O.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(1),b=_.n(y),E=_(22),g=_(224),m=b.a.vec3;function C(d){return d>0?1:-1}x.a.Shader.import(g.a),G.a=x.a.Mesh.extend(function(){var d=new x.a.Material({shader:new x.a.Shader(x.a.Shader.source("ecgl.trail2.vertex"),x.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),v=new E.a({dynamic:!0});return v.createAttribute("dist","float",1),v.createAttribute("distAll","float",1),v.createAttribute("start","float",1),{geometry:v,material:d,culling:!1,$ignorePicking:!0}},{updateData:function(d,v,A){var T=d.hostModel,O=this.geometry,P=T.getModel("effect"),L=P.get("trailWidth")*v.getDevicePixelRatio(),c=P.get("trailLength"),f=T.get("effect.constantSpeed"),D=T.get("effect.period")*1e3,R=f!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),R?this.material.set("speed",f/1e3):this.material.set("period",D),this.material[R?"define":"undefine"]("vertex","CONSTANT_SPEED");var k=T.get("polyline");O.trailLength=c,this.material.set("trailLength",c),O.resetOffset(),["position","positionPrev","positionNext"].forEach(function(he){O.attributes[he].value=A.attributes[he].value});var W=["dist","distAll","start","offset","color"];W.forEach(function(he){O.attributes[he].init(O.vertexCount)}),O.indices=A.indices;var z=[],Z=P.get("trailColor"),Q=P.get("trailOpacity"),te=Z!=null,$=Q!=null;this.updateWorldTransform();var ie=this.worldTransform.x.len(),ae=this.worldTransform.y.len(),re=this.worldTransform.z.len(),ce=0,oe=0;d.each(function(he){var se=d.getItemLayout(he),pe=$?Q:d.getItemVisual(he,"opacity"),me=d.getItemVisual(he,"color");pe==null&&(pe=1),z=x.a.parseColor(te?Z:me,z),z[3]*=pe;for(var ge=k?A.getPolylineVertexCount(se):A.getCubicCurveVertexCount(se[0],se[1],se[2],se[3]),Ee=0,Ae=[],Fe=[],Ue=ce;Ue<ce+ge;Ue++)O.attributes.position.get(Ue,Ae),Ae[0]*=ie,Ae[1]*=ae,Ae[2]*=re,Ue>ce&&(Ee+=m.dist(Ae,Fe)),O.attributes.dist.set(Ue,Ee),m.copy(Fe,Ae);oe=Math.max(oe,Ee);for(var nt=Math.random()*(R?Ee:D),Ue=ce;Ue<ce+ge;Ue++)O.attributes.distAll.set(Ue,Ee),O.attributes.start.set(Ue,nt),O.attributes.offset.set(Ue,C(A.attributes.offset.get(Ue))*L/2),O.attributes.color.set(Ue,z);ce+=ge}),this.material.set("spotSize",oe*.1*c),this.material.set("spotIntensity",P.get("spotIntensity")),O.dirty()},setAnimationTime:function(d){this.material.set("time",d)}})},function(ee,G,_){"use strict";G.a=`@export ecgl.trail2.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute float dist;
attribute float distAll;
attribute float start;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
uniform float speed : 0;
uniform float trailLength: 0.3;
uniform float time;
uniform float period: 1000;
uniform float spotSize: 1;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
#ifdef CONSTANT_SPEED
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
#else
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
#endif
float trailLen = distAll * trailLength;
v_Percent = (dist - t * distAll) / trailLen;
v_SpotPercent = spotSize / distAll;
}
@end
@export ecgl.trail2.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float spotIntensity: 5;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
if (v_Percent > 1.0 || v_Percent < 0.0) {
discard;
}
float fade = v_Percent;
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
if (v_Percent > (1.0 - v_SpotPercent)) {
gl_FragColor.rgb *= spotIntensity;
}
gl_FragColor.a *= fade;
}
@end`},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);w.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(x,y){var b=new w.a.List(["value"],this);return b.hasItemOption=!1,b.initData(x.data,[],function(E,g,m,C){if(E instanceof Array)return NaN;b.hasItemOption=!0;var d=E.value;if(d!=null)return d instanceof Array?d[C]:d}),b},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(227),y=_(228),b=_(16);w.a.registerVisual(Object(b.a)("polygons3D"))},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(26);function y(g,m){for(var C=[],d=0;d<m.length;d++)C.push(g.dataToPoint(m[d]));return C}var b=w.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(g){return this.getData().getItemModel(g)},getRegionPolygonCoords:function(g){var m=this.coordinateSystem,C=this.getData().getItemModel(g),d=C.option instanceof Array?C.option:C.getShallow("coords");C.get("multiPolygon")||(d=[d]);for(var v=[],A=0;A<d.length;A++){for(var T=[],O=1;O<d[A].length;O++)T.push(y(m,d[A][O]));v.push({exterior:y(m,d[A][0]),interiors:T})}return v},getInitialData:function(g){var m=new w.a.List(["value"],this);return m.hasItemOption=!1,m.initData(g.data,[],function(C,d,v,A){if(C instanceof Array)return NaN;m.hasItemOption=!0;var T=C.value;if(T!=null)return T instanceof Array?T[A]:T}),m},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});w.a.util.merge(b.prototype,x.a);var E=b},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(59),y=_(2);w.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(b,E){this.groupGL=new y.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(b,E,g){this.groupGL.removeAll();var m=b.coordinateSystem;m&&m.viewGL&&m.viewGL.add(this.groupGL);var C=this._geo3DBuilderList[0];C||(C=new x.a(g),C.extrudeY=m.type!=="mapbox3D",this._geo3DBuilderList[0]=C),this._updateShaderDefines(m,C),C.update(b,E,g),this._geo3DBuilderList.length=1,this.groupGL.add(C.rootNode)},incrementalPrepareRender:function(b,E,g){this.groupGL.removeAll();var m=b.coordinateSystem;m&&m.viewGL&&m.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(b,E,g,m){var C=this._geo3DBuilderList[this._currentStep],d=E.coordinateSystem;C||(C=new x.a(m),C.extrudeY=d.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=C),C.update(E,g,m,b.start,b.end),this.groupGL.add(C.rootNode),this._updateShaderDefines(d,C),this._currentStep++},_updateShaderDefines:function(b,E){var g=b.viewGL.isLinearSpace()?"define":"undefine";E.rootNode.traverse(function(m){m.material&&(m.material[g]("fragment","SRGB_DECODE"),b.type==="mapbox3D"&&(m.material.define("fragment","NORMAL_UP_AXIS",2),m.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(230),y=_(231),b=_(232),E=_(16);w.a.registerVisual(Object(E.a)("surface"))},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(26),y=_(35),b=_(44),E=w.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(m){return Object(y.a)(this,m)},getInitialData:function(m,C){var d=m.data;function v(se){return!(isNaN(se.min)||isNaN(se.max)||isNaN(se.step))}function A(se){var pe=w.a.number.getPrecisionSafe;return Math.max(pe(se.min),pe(se.max),pe(se.step))+1}if(!d)if(d=[],m.parametric){var z=m.parametricEquation||{},Z=z.u||{},Q=z.v||{};["u","v"].forEach(function(se){if(!v(z[se])){console.error("Invalid parametricEquation.%s",se);return}}),["x","y","z"].forEach(function(se){if(typeof z[se]!="function"){console.error("parametricEquation.%s needs to be function",se);return}});for(var te=A(Z),$=A(Q),ie=Q.min;ie<Q.max+Q.step*.999;ie+=Q.step)for(var ae=Z.min;ae<Z.max+Z.step*.999;ae+=Z.step){var re=w.a.number.round(Math.min(ae,Z.max),te),ce=w.a.number.round(Math.min(ie,Q.max),$),D=z.x(re,ce),f=z.y(re,ce),W=z.z(re,ce);d.push([D,f,W,re,ce])}}else{var T=m.equation||{},O=T.x||{},P=T.y||{};if(["x","y"].forEach(function(se){if(!v(T[se])){console.error("Invalid equation.%s",se);return}}),typeof T.z!="function"){console.error("equation.z needs to be function");return}for(var L=A(O),c=A(P),f=P.min;f<P.max+P.step*.999;f+=P.step)for(var D=O.min;D<O.max+O.step*.999;D+=O.step){var R=w.a.number.round(Math.min(D,O.max),L),k=w.a.number.round(Math.min(f,P.max),c),W=T.z(R,k);d.push([R,k,W])}}var oe=["x","y","z"];m.parametric&&oe.push("u","v");var he=Object(b.a)(this,oe,m.data||d);return he},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});w.a.util.merge(E.prototype,x.a);var g=E},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(1),E=_.n(b),g=_(60),m=E.a.vec3;function C(d){return isNaN(d[0])||isNaN(d[1])||isNaN(d[2])}w.a.extendChartView({type:"surface",__ecgl__:!0,init:function(d,v){this.groupGL=new x.a.Node},render:function(d,v,A){var T=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=T,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var O=d.coordinateSystem,P=d.get("shading"),L=d.getData(),c="ecgl."+P;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==c)&&(this._surfaceMesh.material=x.a.createMaterial(c,["VERTEX_COLOR","DOUBLE_SIDED"])),x.a.setMaterialFromModel(P,this._surfaceMesh.material,d,A),O&&O.viewGL){O.viewGL.add(this.groupGL);var f=O.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[f]("fragment","SRGB_DECODE")}var D=d.get("parametric"),R=this._getDataShape(L,D),k=d.getModel("wireframe"),W=k.get("lineStyle.width"),z=k.get("show")&&W>0;this._updateSurfaceMesh(this._surfaceMesh,d,R,z);var Z=this._surfaceMesh.material;z?(Z.define("WIREFRAME_QUAD"),Z.set("wireframeLineWidth",W),Z.set("wireframeLineColor",x.a.parseColor(k.get("lineStyle.color")))):Z.undefine("WIREFRAME_QUAD"),this._initHandler(d,A),this._updateAnimation(d)},_updateAnimation:function(d){x.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,d)},_createSurfaceMesh:function(){var d=new x.a.Mesh({geometry:new x.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new x.a.Material({shader:new x.a.Shader(x.a.Shader.source("ecgl.sm.depth.vertex"),x.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return d.geometry.createAttribute("barycentric","float",4),d.geometry.createAttribute("prevPosition","float",3),d.geometry.createAttribute("prevNormal","float",3),w.a.util.extend(d.geometry,g.a),d},_initHandler:function(d,v){var A=d.getData(),T=this._surfaceMesh,O=d.coordinateSystem;function P(c,f){for(var D=1/0,R=-1,k=[],W=0;W<c.length;W++){T.geometry.attributes.position.get(c[W],k);var z=m.dist(f.array,k);z<D&&(D=z,R=c[W])}return R}T.seriesIndex=d.seriesIndex;var L=-1;T.off("mousemove"),T.off("mouseout"),T.on("mousemove",function(c){var f=P(c.triangle,c.point);if(f>=0){var D=[];T.geometry.attributes.position.get(f,D);for(var R=O.pointToData(D),k=1/0,W=-1,z=[],Z=0;Z<A.count();Z++){z[0]=A.get("x",Z),z[1]=A.get("y",Z),z[2]=A.get("z",Z);var Q=m.squaredDistance(z,R);Q<k&&(W=Z,k=Q)}W!==L&&v.dispatchAction({type:"grid3DShowAxisPointer",value:R}),L=W,T.dataIndex=W}else T.dataIndex=-1},this),T.on("mouseout",function(c){L=-1,T.dataIndex=-1,v.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(d,v,A,T){var O=d.geometry,P=v.getData(),L=P.getLayout("points"),c=0;P.each(function(Ve){P.hasValue(Ve)||c++});var f=c||T,D=O.attributes.position,R=O.attributes.normal,k=O.attributes.texcoord0,W=O.attributes.barycentric,z=O.attributes.color,Z=A.row,Q=A.column,te=v.get("shading"),$=te!=="color";if(f){var ie=(Z-1)*(Q-1)*4;D.init(ie),T&&W.init(ie)}else D.value=new Float32Array(L);z.init(O.vertexCount),k.init(O.vertexCount);var ae=[0,3,1,1,3,2],re=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],ce=O.indices=new(O.vertexCount>65535?Uint32Array:Uint16Array)((Z-1)*(Q-1)*6),oe=function(Ve,$e,lt){lt[1]=Ve*Q+$e,lt[0]=Ve*Q+$e+1,lt[3]=(Ve+1)*Q+$e+1,lt[2]=(Ve+1)*Q+$e},he=!1;if(f){var se=[],pe=[],me=0;$?R.init(O.vertexCount):R.value=null;for(var ge=[[],[],[]],Ee=[],Ae=[],Fe=m.create(),Ue=function(Ve,$e,lt){var pt=$e*3;return lt[0]=Ve[pt],lt[1]=Ve[pt+1],lt[2]=Ve[pt+2],lt},nt=new Float32Array(L.length),rt=new Float32Array(L.length/3*4),qe=0;qe<P.count();qe++)if(P.hasValue(qe)){var Ne=x.a.parseColor(P.getItemVisual(qe,"color")),dt=P.getItemVisual(qe,"opacity");Ne[3]*=dt,Ne[3]<.99&&(he=!0);for(var yt=0;yt<4;yt++)rt[qe*4+yt]=Ne[yt]}for(var je=[1e7,1e7,1e7],qe=0;qe<Z-1;qe++)for(var at=0;at<Q-1;at++){var it=qe*(Q-1)+at,ht=it*4;oe(qe,at,se);for(var ut=!1,yt=0;yt<4;yt++)Ue(L,se[yt],pe),C(pe)&&(ut=!0);for(var yt=0;yt<4;yt++)ut?D.set(ht+yt,je):(Ue(L,se[yt],pe),D.set(ht+yt,pe)),T&&W.set(ht+yt,re[yt]);for(var yt=0;yt<6;yt++)ce[me++]=ae[yt]+ht;if($&&!ut)for(var yt=0;yt<2;yt++){for(var Mt=yt*3,Ce=0;Ce<3;Ce++){var ot=se[ae[Mt]+Ce];Ue(L,ot,ge[Ce])}m.sub(Ee,ge[0],ge[1]),m.sub(Ae,ge[1],ge[2]),m.cross(Fe,Ee,Ae);for(var Ce=0;Ce<3;Ce++){var Pe=se[ae[Mt]+Ce]*3;nt[Pe]=nt[Pe]+Fe[0],nt[Pe+1]=nt[Pe+1]+Fe[1],nt[Pe+2]=nt[Pe+2]+Fe[2]}}}if($)for(var qe=0;qe<nt.length/3;qe++)Ue(nt,qe,Fe),m.normalize(Fe,Fe),nt[qe*3]=Fe[0],nt[qe*3+1]=Fe[1],nt[qe*3+2]=Fe[2];for(var Ne=[],We=[],qe=0;qe<Z-1;qe++)for(var at=0;at<Q-1;at++){var it=qe*(Q-1)+at,ht=it*4;oe(qe,at,se);for(var yt=0;yt<4;yt++){for(var Ce=0;Ce<4;Ce++)Ne[Ce]=rt[se[yt]*4+Ce];z.set(ht+yt,Ne),$&&(Ue(nt,se[yt],Fe),R.set(ht+yt,Fe));var ot=se[yt];We[0]=ot%Q/(Q-1),We[1]=Math.floor(ot/Q)/(Z-1),k.set(ht+yt,We)}it++}}else{for(var We=[],qe=0;qe<P.count();qe++){We[0]=qe%Q/(Q-1),We[1]=Math.floor(qe/Q)/(Z-1);var Ne=x.a.parseColor(P.getItemVisual(qe,"color")),dt=P.getItemVisual(qe,"opacity");Ne[3]*=dt,Ne[3]<.99&&(he=!0),z.set(qe,Ne),k.set(qe,We)}for(var se=[],Be=0,qe=0;qe<Z-1;qe++)for(var at=0;at<Q-1;at++){oe(qe,at,se);for(var yt=0;yt<6;yt++)ce[Be++]=se[ae[yt]]}$?O.generateVertexNormals():R.value=null}d.material.get("normalMap")&&O.generateTangents(),O.updateBoundingBox(),O.dirty(),d.material.transparent=he,d.material.depthMask=!he},_getDataShape:function(d,v){for(var A=-1/0,T=0,O=0,P=0,L=v?"u":"x",c=0;c<d.count();c++){var f=d.get(L,c);if(f<A){if(P&&P!==O)throw new Error("Invalid data. data should be a row major 2d array.");P=O,O=0,T++}A=f,O++}return{row:T+1,column:O}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);w.a.registerLayout(function(x,y){x.eachSeriesByType("surface",function(b){var E=b.coordinateSystem;(!E||E.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var g=b.getData(),m=new Float32Array(3*g.count()),C=[NaN,NaN,NaN];if(E&&E.type==="cartesian3D"){var d=E.dimensions,v=d.map(function(A){return b.coordDimToDataDim(A)[0]});g.each(v,function(A,T,O,P){var L;g.hasValue(P)?L=E.dataToPoint([A,T,O]):L=C,m[P*3]=L[0],m[P*3+1]=L[1],m[P*3+2]=L[2]})}g.setLayout("points",m)})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(83),y=_(234),b=_(235),E=_(16);w.a.registerVisual(Object(E.a)("map3D")),w.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(g,m){m.eachComponent({mainType:"series",subType:"map3D",query:g},function(C){C.setView(g)})})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(38),y=_(31),b=_(32),E=_(26),g=_(80),m=_(27),C=_(35),d=_(82);function v(O,P){for(var L=[],c=0;c<P.length;c++)L.push(O.dataToPoint(P[c]));return L}var A=w.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(O){O=O||{};var P=this.get("coordinateSystem");if(!(P==null||P==="geo3D")){var L=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],c=[];L.forEach(function(f){O[f]!=null&&c.push(f)}),c.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",c.join(", "),P),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(O){O.data=this.getFilledRegions(O.data,O.map);var P=w.a.helper.completeDimensions(["value"],O.data),L=new w.a.List(P,this);L.initData(O.data);var c={};return L.each(function(f){var D=L.getName(f),R=L.getItemModel(f);c[D]=R}),this._regionModelMap=c,L},formatTooltip:function(O){return Object(C.a)(this,O)},getRegionModel:function(O){var P=this.getData().getName(O);return this._regionModelMap[P]||new w.a.Model(null,this)},getRegionPolygonCoords:function(O){var P=this.coordinateSystem,L=this.getData().getName(O);if(P.transform){var c=P.getRegion(L);return c?c.geometries:[]}else{this._geo||(this._geo=d.a.createGeo3D(this));for(var c=this._geo.getRegion(L),f=[],D=0;D<c.geometries.length;D++){var R=c.geometries[D],k=[],W=v(P,R.exterior);if(k&&k.length)for(var z=0;z<R.interiors.length;z++)k.push(v(P,k[z]));f.push({interiors:k,exterior:W})}return f}},getFormattedLabel:function(O,P){var L=m.a.getFormattedLabel(this,O,P);return L==null&&(L=this.getData().getName(O)),L},defaultOption:{coordinateSystem:"geo3D",data:null}});w.a.util.merge(A.prototype,g.a),w.a.util.merge(A.prototype,x.a),w.a.util.merge(A.prototype,y.a),w.a.util.merge(A.prototype,b.a),w.a.util.merge(A.prototype,E.a);var T=A},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(39),b=_(34),E=_(59),g=w.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(m,C){this._geo3DBuilder=new E.a(C),this.groupGL=new x.a.Node},render:function(m,C,d){var v=m.coordinateSystem;if(!(!v||!v.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),v.viewGL.add(this.groupGL);var A;if(v.type==="geo3D"){A=v,this._sceneHelper||(this._sceneHelper=new b.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(v.viewGL.scene),this._sceneHelper.updateLight(m),v.viewGL.setPostEffect(m.getModel("postEffect"),d),v.viewGL.setTemporalSuperSampling(m.getModel("temporalSuperSampling"));var T=this._control;T||(T=this._control=new y.a({zr:d.getZr()}),this._control.init());var O=m.getModel("viewControl");T.setViewGL(v.viewGL),T.setFromViewControlModel(O,0),T.off("update"),T.on("update",function(){d.dispatchAction({type:"map3DChangeCamera",alpha:T.getAlpha(),beta:T.getBeta(),distance:T.getDistance(),from:this.uid,map3DId:m.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),A=m.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(m,C,d,0,m.getData().count());var P=v.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(L){L.material&&L.material[P]("fragment","SRGB_DECODE")})}},afterRender:function(m,C,d,v){var A=v.renderer,T=m.coordinateSystem;T&&T.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(A,m,d),this._sceneHelper.updateSkybox(A,m,d))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(237),y=_(238),b=_(45),E=_.n(b),g=_(16);w.a.registerVisual(E()("scatterGL","circle",null)),w.a.registerVisual(Object(g.a)("scatterGL")),w.a.registerLayout({seriesType:"scatterGL",reset:function(m){var C=m.coordinateSystem,d;if(C){var v=C.dimensions,A=[];v.length===1?d=function(T,O){for(var P=new Float32Array((T.end-T.start)*2),L=T.start;L<T.end;L++){var c=(L-T.start)*2,f=O.get(v[0],L),D=C.dataToPoint(f);P[c]=D[0],P[c+1]=D[1]}O.setLayout("points",P)}:v.length===2&&(d=function(T,O){for(var P=new Float32Array((T.end-T.start)*2),L=T.start;L<T.end;L++){var c=(L-T.start)*2,f=O.get(v[0],L),D=O.get(v[1],L);A[0]=f,A[1]=D,A=C.dataToPoint(A),P[c]=A[0],P[c+1]=A[1]}O.setLayout("points",P)})}return{progress:d}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);w.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return w.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(20),b=_(62),E=_(84),g=_(3);w.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(m,C){this.groupGL=new x.a.Node,this.viewGL=new y.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new E.a(this.viewGL)},render:function(m,C,d){if(this.groupGL.removeAll(),this._glViewHelper.reset(m,d),!!m.getData().count()){var v=this._pointsBuilderList[0];v||(v=this._pointsBuilderList[0]=new b.a(!0,d)),this._pointsBuilderList.length=1,this.groupGL.add(v.rootNode),this._removeTransformInPoints(m.getData().getLayout("points")),v.update(m,C,d),this.viewGL.setPostEffect(m.getModel("postEffect"),d)}},incrementalPrepareRender:function(m,C,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d),this._currentStep=0,this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalRender:function(m,C,d,v){if(!(m.end<=m.start)){var A=this._pointsBuilderList[this._currentStep];A||(A=new b.a(!0,v),this._pointsBuilderList[this._currentStep]=A),this.groupGL.add(A.rootNode),this._removeTransformInPoints(C.getData().getLayout("points")),A.setSizeScale(this._sizeScale),A.update(C,d,v,m.start,m.end),v.getZr().refresh(),this._currentStep++}},updateTransform:function(m,C,d){if(m.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(m,d);var v=this._glViewHelper.getZoom(),A=Math.max((m.get("zoomScale")||0)*(v-1)+1,0);this._sizeScale=A,this._pointsBuilderList.forEach(function(T){T.setSizeScale(A)})}},_removeTransformInPoints:function(m){if(m)for(var C=[],d=0;d<m.length;d+=2)C[0]=m[d],C[1]=m[d+1],this._glViewHelper.removeTransformInPoint(C),m[d]=C[0],m[d+1]=C[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(240),y=_(246),b=_(45),E=_.n(b),g=_(16);w.a.registerVisual(E()("graphGL","circle",null)),w.a.registerVisual(Object(g.a)("graphGL")),w.a.registerVisual(function(C){var d={};C.eachSeriesByType("graphGL",function(v){var A=v.getCategoriesData(),T=v.getData(),O={};A.each(function(P){var L=A.getName(P);O[L]=P;var c=A.getItemModel(P),f=c.get("itemStyle.color")||v.getColorFromPalette(L,d);A.setItemVisual(P,"color",f)}),A.count()&&T.each(function(P){var L=T.getItemModel(P),c=L.getShallow("category");c!=null&&(typeof c=="string"&&(c=O[c]),T.getItemVisual(P,"color",!0)||T.setItemVisual(P,"color",A.getItemVisual(c,"color")))})})}),w.a.registerVisual(function(C){C.eachSeriesByType("graphGL",function(d){var v=d.getGraph(),A=d.getEdgeData(),T="lineStyle.color".split("."),O="lineStyle.opacity".split(".");A.setVisual("color",d.get(T)),A.setVisual("opacity",d.get(O)),A.each(function(P){var L=A.getItemModel(P),c=v.getEdgeByIndex(P),f=L.get(T),D=L.get(O);switch(f){case"source":f=c.node1.getVisual("color");break;case"target":f=c.node2.getVisual("color");break}c.setVisual("color",f),c.setVisual("opacity",D)})})}),w.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(C,d){d.eachComponent({mainType:"series",query:C},function(v){v.setView(C)})});function m(){}w.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},m),w.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},m),w.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},m),w.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},m)},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(241),y=_(27),b=w.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(g){b.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(g){b.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(g,m,C,d){var v=y.a.getFormattedLabel(this,g,m,C,d);if(v==null){var A=this.getData(),T=A.dimensions[A.dimensions.length-1];v=A.get(T,g)}return v},getInitialData:function(g,m){var C=g.edges||g.links||[],d=g.data||g.nodes||[],v=this;if(d&&C)return Object(x.a)(d,C,this,!0,A).data;function A(T,O){T.wrapMethod("getItemModel",function(f){var D=v._categoriesModels,R=f.getShallow("category"),k=D[R];return k&&(k.parentModel=f.parentModel,f.parentModel=k),f});var P=v.getModel("edgeLabel"),L=new w.a.Model({label:P.option},P.parentModel,m);O.wrapMethod("getItemModel",function(f){return f.customizeGetParent(c),f});function c(f){return f=this.parsePath(f),f&&f[0]==="label"?L:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(g,m,C){if(C==="edge"){var d=this.getData(),v=this.getDataParams(g,C),A=d.graph.getEdgeByIndex(g),T=d.getName(A.node1.dataIndex),O=d.getName(A.node2.dataIndex),P=[];return T!=null&&P.push(T),O!=null&&P.push(O),P=w.a.format.encodeHTML(P.join(" > ")),v.value&&(P+=" : "+w.a.format.encodeHTML(v.value)),P}else return b.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var g=(this.option.categories||[]).map(function(C){return C.value!=null?C:w.a.util.extend({value:0},C)}),m=new w.a.List(["value"],this);m.initData(g),this._categoriesData=m,this._categoriesModels=m.mapArray(function(C){return m.getItemModel(C,!0)})},setView:function(g){g.zoom!=null&&(this.option.zoom=g.zoom),g.offset!=null&&(this.option.offset=g.offset)},setNodePosition:function(g){for(var m=0;m<g.length/2;m++){var C=g[m*2],d=g[m*2+1],v=this.getData().getRawDataItem(m);v.x=C,v.y=d}},isAnimationEnabled:function(){return b.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),E=b},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(242),y=_.n(x),b=_(245),E=_.n(b),g=_(3);G.a=function(m,C,d,v,A){for(var T=new y.a(v),O=0;O<m.length;O++)T.addNode(g.a.firstNotNull(m[O].id,m[O].name,O),O);for(var P=[],L=[],c=0,O=0;O<C.length;O++){var f=C[O],D=f.source,R=f.target;T.addEdge(D,R,c)&&(L.push(f),P.push(g.a.firstNotNull(f.id,D+" > "+R)),c++)}var k,W=w.a.helper.completeDimensions(["value"],m);k=new w.a.List(W,d),k.initData(m);var z=new w.a.List(["value"],d);return z.initData(L,P),A&&A(k,z),E()({mainData:k,struct:T,structAttr:"graph",datas:{node:k,edge:z},datasAttr:{node:"data",edge:"edgeData"}}),T.update(),T}},function(ee,G,_){var F=_(85),w=F.__DEV__,x=_(12),y=_(244),b=y.enableClassCheck;function E(T){return"_EC_"+T}var g=function(T){this._directed=T||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},m=g.prototype;m.type="graph",m.isDirected=function(){return this._directed},m.addNode=function(T,O){T=T||""+O;var P=this._nodesMap;if(!P[E(T)]){var L=new C(T,O);return L.hostGraph=this,this.nodes.push(L),P[E(T)]=L,L}},m.getNodeByIndex=function(T){var O=this.data.getRawIndex(T);return this.nodes[O]},m.getNodeById=function(T){return this._nodesMap[E(T)]},m.addEdge=function(T,O,P){var L=this._nodesMap,c=this._edgesMap;if(typeof T=="number"&&(T=this.nodes[T]),typeof O=="number"&&(O=this.nodes[O]),C.isInstance(T)||(T=L[E(T)]),C.isInstance(O)||(O=L[E(O)]),!(!T||!O)){var f=T.id+"-"+O.id;if(!c[f]){var D=new d(T,O,P);return D.hostGraph=this,this._directed&&(T.outEdges.push(D),O.inEdges.push(D)),T.edges.push(D),T!==O&&O.edges.push(D),this.edges.push(D),c[f]=D,D}}},m.getEdgeByIndex=function(T){var O=this.edgeData.getRawIndex(T);return this.edges[O]},m.getEdge=function(T,O){C.isInstance(T)&&(T=T.id),C.isInstance(O)&&(O=O.id);var P=this._edgesMap;return this._directed?P[T+"-"+O]:P[T+"-"+O]||P[O+"-"+T]},m.eachNode=function(T,O){for(var P=this.nodes,L=P.length,c=0;c<L;c++)P[c].dataIndex>=0&&T.call(O,P[c],c)},m.eachEdge=function(T,O){for(var P=this.edges,L=P.length,c=0;c<L;c++)P[c].dataIndex>=0&&P[c].node1.dataIndex>=0&&P[c].node2.dataIndex>=0&&T.call(O,P[c],c)},m.breadthFirstTraverse=function(T,O,P,L){if(C.isInstance(O)||(O=this._nodesMap[E(O)]),!!O){for(var c=P==="out"?"outEdges":P==="in"?"inEdges":"edges",f=0;f<this.nodes.length;f++)this.nodes[f].__visited=!1;if(!T.call(L,O,null))for(var D=[O];D.length;)for(var R=D.shift(),k=R[c],f=0;f<k.length;f++){var W=k[f],z=W.node1===R?W.node2:W.node1;if(!z.__visited){if(T.call(L,z,R))return;D.push(z),z.__visited=!0}}}},m.update=function(){for(var T=this.data,O=this.edgeData,P=this.nodes,L=this.edges,c=0,f=P.length;c<f;c++)P[c].dataIndex=-1;for(var c=0,f=T.count();c<f;c++)P[T.getRawIndex(c)].dataIndex=c;O.filterSelf(function(D){var R=L[O.getRawIndex(D)];return R.node1.dataIndex>=0&&R.node2.dataIndex>=0});for(var c=0,f=L.length;c<f;c++)L[c].dataIndex=-1;for(var c=0,f=O.count();c<f;c++)L[O.getRawIndex(c)].dataIndex=c},m.clone=function(){for(var T=new g(this._directed),O=this.nodes,P=this.edges,L=0;L<O.length;L++)T.addNode(O[L].id,O[L].dataIndex);for(var L=0;L<P.length;L++){var c=P[L];T.addEdge(c.node1.id,c.node2.id,c.dataIndex)}return T};function C(T,O){this.id=T==null?"":T,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=O==null?-1:O}C.prototype={constructor:C,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(T){if(!(this.dataIndex<0)){var O=this.hostGraph,P=O.data.getItemModel(this.dataIndex);return P.getModel(T)}}};function d(T,O,P){this.node1=T,this.node2=O,this.dataIndex=P==null?-1:P}d.prototype.getModel=function(T){if(!(this.dataIndex<0)){var O=this.hostGraph,P=O.edgeData.getItemModel(this.dataIndex);return P.getModel(T)}};var v=function(T,O){return{getValue:function(P){var L=this[T][O];return L.get(L.getDimension(P||"value"),this.dataIndex)},setVisual:function(P,L){this.dataIndex>=0&&this[T][O].setItemVisual(this.dataIndex,P,L)},getVisual:function(P,L){return this[T][O].getItemVisual(this.dataIndex,P,L)},setLayout:function(P,L){this.dataIndex>=0&&this[T][O].setItemLayout(this.dataIndex,P,L)},getLayout:function(){return this[T][O].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[T][O].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[T][O].getRawIndex(this.dataIndex)}}};x.mixin(C,v("hostGraph","data")),x.mixin(d,v("hostGraph","edgeData")),g.Node=C,g.Edge=d,b(C),b(d);var A=g;ee.exports=A},function(ee,G){var _;_=function(){return this}();try{_=_||Function("return this")()||(0,eval)("this")}catch(F){typeof window=="object"&&(_=window)}ee.exports=_},function(ee,G,_){var F=_(85),w=F.__DEV__,x=_(12),y=".",b="___EC__COMPONENT__CONTAINER___";function E(P){var L={main:"",sub:""};return P&&(P=P.split(y),L.main=P[0]||"",L.sub=P[1]||""),L}function g(P){x.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(P),'componentType "'+P+'" illegal')}function m(P,L){P.$constructor=P,P.extend=function(c){var f=this,D=function(){c.$constructor?c.$constructor.apply(this,arguments):f.apply(this,arguments)};return x.extend(D.prototype,c),D.extend=this.extend,D.superCall=v,D.superApply=A,x.inherits(D,this),D.superClass=f,D}}var C=0;function d(P){var L=["__\0is_clz",C++,Math.random().toFixed(3)].join("_");P.prototype[L]=!0,P.isInstance=function(c){return!!(c&&c[L])}}function v(P,L){var c=x.slice(arguments,2);return this.superClass.prototype[L].apply(P,c)}function A(P,L,c){return this.superClass.prototype[L].apply(P,c)}function T(P,L){L=L||{};var c={};P.registerClass=function(R,k){if(k){if(g(k),k=E(k),!k.sub)c[k.main]=R;else if(k.sub!==b){var W=f(k);W[k.sub]=R}}return R},P.getClass=function(R,k,W){var z=c[R];if(z&&z[b]&&(z=k?z[k]:null),W&&!z)throw new Error(k?"Component "+R+"."+(k||"")+" not exists. Load it first.":R+".type should be specified.");return z},P.getClassesByMainType=function(R){R=E(R);var k=[],W=c[R.main];return W&&W[b]?x.each(W,function(z,Z){Z!==b&&k.push(z)}):k.push(W),k},P.hasClass=function(R){return R=E(R),!!c[R.main]},P.getAllClassMainTypes=function(){var R=[];return x.each(c,function(k,W){R.push(W)}),R},P.hasSubTypes=function(R){R=E(R);var k=c[R.main];return k&&k[b]},P.parseClassType=E;function f(R){var k=c[R.main];return(!k||!k[b])&&(k=c[R.main]={},k[b]=!0),k}if(L.registerWhenExtend){var D=P.extend;D&&(P.extend=function(R){var k=D.call(this,R);return P.registerClass(k,R.type)})}return P}function O(P,L){}G.parseClassType=E,G.enableClassExtend=m,G.enableClassCheck=d,G.enableClassManagement=T,G.setReadOnly=O},function(ee,G,_){var F=_(12),w=F.each,x="\0__link_datas",y="\0__link_mainData";function b(O){var P=O.mainData,L=O.datas;L||(L={main:P},O.datasAttr={main:"data"}),O.datas=O.mainData=null,v(P,L,O),w(L,function(c){w(P.TRANSFERABLE_METHODS,function(f){c.wrapMethod(f,F.curry(E,O))})}),P.wrapMethod("cloneShallow",F.curry(m,O)),w(P.CHANGABLE_METHODS,function(c){P.wrapMethod(c,F.curry(g,O))}),F.assert(L[P.dataType]===P)}function E(O,P){if(d(this)){var L=F.extend({},this[x]);L[this.dataType]=P,v(P,L,O)}else A(P,this.dataType,this[y],O);return P}function g(O,P){return O.struct&&O.struct.update(this),P}function m(O,P){return w(P[x],function(L,c){L!==P&&A(L.cloneShallow(),c,P,O)}),P}function C(O){var P=this[y];return O==null||P==null?P:P[x][O]}function d(O){return O[y]===O}function v(O,P,L){O[x]={},w(P,function(c,f){A(c,f,O,L)})}function A(O,P,L,c){L[x][P]=O,O[y]=L,O.dataType=P,c.struct&&(O[c.structAttr]=c.struct,c.struct[c.datasAttr[P]]=O),O.getLinkedData=C}var T=b;ee.exports=T},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(41),y=_.n(x),b=_(2),E=_(20),g=_(86),m=_(3),C=_(247),d=_(249),v=_(65),A=_.n(v),T=_(1),O=_.n(T),P=_(251),L=_(62),c=_(252),f=O.a.vec2;b.a.Shader.import(c.a);var D=1;w.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(R,k){this.groupGL=new b.a.Node,this.viewGL=new E.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new L.a(!0,k),this._forceEdgesMesh=new b.a.Mesh({material:new b.a.Material({shader:b.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new b.a.Geometry({attributes:{node:new b.a.Geometry.Attribute("node","float",2),color:new b.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:b.a.Mesh.LINES}),this._edgesMesh=new b.a.Mesh({material:new b.a.Material({shader:b.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new g.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new P.a({zr:k.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(R,k,W){this.groupGL.add(this._pointsBuilder.rootNode),this._model=R,this._api=W,this._initLayout(R,k,W),this._pointsBuilder.update(R,k,W),this._forceLayoutInstance instanceof C.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(R,W),this._control.off("update"),this._control.on("update",function(){W.dispatchAction({type:"graphGLRoam",seriesId:R.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(m.a.firstNotNull(R.get("zoom"),1)),this._control.setOffset(R.get("offset")||[0,0]);var z=this._pointsBuilder.getPointsMesh();if(z.off("mousemove",this._mousemoveHandler),z.off("mouseout",this._mouseOutHandler,this),W.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,R.get("focusNodeAdjacency")){var Z=R.get("focusNodeAdjacencyOn");Z==="click"?W.getZr().on("click",this._clickHandler):Z==="mouseover"?(z.on("mousemove",this._mousemoveHandler,this),z.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+Z)}this._lastMouseOverDataIndex=-1},_clickHandler:function(R){if(!this._layouting){var k=this._pointsBuilder.getPointsMesh().dataIndex;k>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:k}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(R){if(!this._layouting){var k=this._pointsBuilder.getPointsMesh().dataIndex;k>=0?k!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:k}):this._mouseOutHandler(R),this._lastMouseOverDataIndex=k}},_mouseOutHandler:function(R){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(R,k){var W=this._forceEdgesMesh.geometry,z=k.getEdgeData(),Z=0,Q=this._forceLayoutInstance,te=z.count()*2;W.attributes.node.init(te),W.attributes.color.init(te),z.each(function($){var ie=R[$];W.attributes.node.set(Z,Q.getNodeUV(ie.node1)),W.attributes.node.set(Z+1,Q.getNodeUV(ie.node2));var ae=z.getItemVisual(ie.dataIndex,"color"),re=b.a.parseColor(ae);re[3]*=m.a.firstNotNull(z.getItemVisual(ie.dataIndex,"opacity"),1),W.attributes.color.set(Z,re),W.attributes.color.set(Z+1,re),Z+=2}),W.dirty()},_updateMeshLinesGeometry:function(){var k=this._model.getEdgeData(),R=this._edgesMesh.geometry,k=this._model.getEdgeData(),W=this._model.getData().getLayout("points");R.resetOffset(),R.setVertexCount(k.count()*R.getLineVertexCount()),R.setTriangleCount(k.count()*R.getLineTriangleCount());var z=[],Z=[],Q=["lineStyle","width"];this._originalEdgeColors=new Float32Array(k.count()*4),this._edgeIndicesMap=new Float32Array(k.count()),k.each(function(te){var $=k.graph.getEdgeByIndex(te),ie=$.node1.dataIndex*2,ae=$.node2.dataIndex*2;z[0]=W[ie],z[1]=W[ie+1],Z[0]=W[ae],Z[1]=W[ae+1];var re=k.getItemVisual($.dataIndex,"color"),ce=b.a.parseColor(re);ce[3]*=m.a.firstNotNull(k.getItemVisual($.dataIndex,"opacity"),1);var oe=k.getItemModel($.dataIndex),he=m.a.firstNotNull(oe.get(Q),1)*this._api.getDevicePixelRatio();R.addLine(z,Z,ce,he);for(var se=0;se<4;se++)this._originalEdgeColors[$.dataIndex*4+se]=ce[se];this._edgeIndicesMap[$.dataIndex]=te},!1,this),R.dirty()},_updateForceNodesGeometry:function(R){for(var k=this._pointsBuilder.getPointsMesh(),W=[],z=0;z<R.count();z++)this._forceLayoutInstance.getNodeUV(z,W),k.geometry.attributes.position.set(z,W);k.geometry.dirty("position")},_initLayout:function(R,k,W){var z=R.get("layout"),Z=R.getGraph(),Q=R.getBoxLayoutParams(),te=y.a.getLayoutRect(Q,{width:W.getWidth(),height:W.getHeight()});z==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),z="forceAtlas2"),this.stopLayout(R,k,W,{beforeLayout:!0});var $=R.getData(),ie=R.getData();if(z==="forceAtlas2"){var ae=R.getModel("forceAtlas2"),re=this._forceLayoutInstance,ce=[],oe=[],he=$.getDataExtent("value"),se=ie.getDataExtent("value"),pe=m.a.firstNotNull(ae.get("edgeWeight"),1),me=m.a.firstNotNull(ae.get("nodeWeight"),1);typeof pe=="number"&&(pe=[pe,pe]),typeof me=="number"&&(me=[me,me]);var ge=0,Ee={},Ae=new Float32Array($.count()*2);if(Z.eachNode(function(Ue){var nt=Ue.dataIndex,rt=$.get("value",nt),qe,dt;if($.hasItemOption){var yt=$.getItemModel(nt);qe=yt.get("x"),dt=yt.get("y")}qe==null&&(qe=te.x+Math.random()*te.width,dt=te.y+Math.random()*te.height),Ae[ge*2]=qe,Ae[ge*2+1]=dt,Ee[Ue.id]=ge++;var je=w.a.number.linearMap(rt,he,me);isNaN(je)&&(isNaN(me[0])?je=1:je=me[0]),ce.push({x:qe,y:dt,mass:je,size:$.getItemVisual(nt,"symbolSize")})}),$.setLayout("points",Ae),Z.eachEdge(function(Ue){var nt=Ue.dataIndex,rt=$.get("value",nt),qe=w.a.number.linearMap(rt,se,pe);isNaN(qe)&&(isNaN(pe[0])?qe=1:qe=pe[0]),oe.push({node1:Ee[Ue.node1.id],node2:Ee[Ue.node2.id],weight:qe,dataIndex:nt})}),!re){var Fe=ae.get("GPU");this._forceLayoutInstance&&(Fe&&!(this._forceLayoutInstance instanceof C.a)||!Fe&&!(this._forceLayoutInstance instanceof d.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),re=this._forceLayoutInstance=Fe?new C.a:new d.a}re.initData(ce,oe),re.updateOption(ae.option),this._updateForceEdgesGeometry(re.getEdges(),R),this._updatePositionTexture(),W.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var Ae=new Float32Array($.count()*2),ge=0;Z.eachNode(function(rt){var qe=rt.dataIndex,dt,yt;if($.hasItemOption){var je=$.getItemModel(qe);dt=je.get("x"),yt=je.get("y")}Ae[ge++]=dt,Ae[ge++]=yt}),$.setLayout("points",Ae),this._updateAfterLayout(R,k,W)}},_updatePositionTexture:function(){var R=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(R),this._forceEdgesMesh.material.set("positionTex",R)},startLayout:function(R,k,Q,z){if(!(z&&z.from!=null&&z.from!==this.uid)){var Z=this.viewGL,Q=this._api,te=this._forceLayoutInstance,$=this._model.getData(),ie=this._model.getModel("forceAtlas2");if(!te){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(R.getData()),this._pointsBuilder.hideLabels();var ae=this,re=this._layoutId=D++,ce=ie.getShallow("maxSteps"),oe=ie.getShallow("steps"),he=0,se=Math.max(oe*2,20),pe=function(me){if(me===ae._layoutId){if(te.isFinished(ce)){Q.dispatchAction({type:"graphGLStopLayout",from:ae.uid}),Q.dispatchAction({type:"graphGLFinishLayout",points:$.getLayout("points"),from:ae.uid});return}te.update(Z.layer.renderer,oe,function(){ae._updatePositionTexture(),he+=oe,he>=se&&(ae._syncNodePosition(R),he=0),Q.getZr().refresh(),A()(function(){pe(me)})})}};A()(function(){ae._forceLayoutInstanceToDispose&&(ae._forceLayoutInstanceToDispose.dispose(Z.layer.renderer),ae._forceLayoutInstanceToDispose=null),pe(re)}),this._layouting=!0}}},stopLayout:function(R,k,W,z){z&&z.from!=null&&z.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(z&&z.beforeLayout||(this._syncNodePosition(R),this._updateAfterLayout(R,k,W)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(R){var k=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);R.getData().setLayout("points",k),R.setNodePosition(k)},_updateAfterLayout:function(R,k,W){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(R,k,W),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(R,k,W,z){var Z=this._model.getData();this._downplayAll();var Q=z.dataIndex,te=Z.graph,$=[],ie=te.getNodeByIndex(Q);$.push(ie),ie.edges.forEach(function(re){re.dataIndex<0||(re.node1!==ie&&$.push(re.node1),re.node2!==ie&&$.push(re.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),$.forEach(function(re){this._pointsBuilder.highlight(Z,re.dataIndex)},this),this._pointsBuilder.updateLabels($.map(function(re){return re.dataIndex}));var ae=[];ie.edges.forEach(function(re){re.dataIndex>=0&&(this._highlightEdge(re.dataIndex),ae.push(re))},this),this._focusNodes=$,this._focusEdges=ae},unfocusNodeAdjacency:function(R,k,W,z){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(R){var k=this._model.getEdgeData().getItemModel(R),W=b.a.parseColor(k.get("emphasis.lineStyle.color")||k.get("lineStyle.color")),z=m.a.firstNotNull(k.get("emphasis.lineStyle.opacity"),k.get("lineStyle.opacity"),1);W[3]*=z,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[R],W)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(R){this._pointsBuilder.downplay(this._model.getData(),R.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(R){this._downplayEdge(R.dataIndex)},this)},_downplayEdge:function(R){var k=this._getColor(R,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[R],k)},_setEdgeFade:function(){var R=[];return function(k,W){this._getColor(k,R),R[3]*=W,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[k],R)}}(),_getColor:function(R,k){for(var W=0;W<4;W++)k[W]=this._originalEdgeColors[R*4+W];return k},_fadeOutEdgesAll:function(R){var k=this._model.getData().graph;k.eachEdge(function(W){this._setEdgeFade(W.dataIndex,R)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(R,k){this.viewGL.setViewport(0,0,k.getWidth(),k.getHeight(),k.getDevicePixelRatio());for(var W=this.viewGL.camera,z=R.getData(),Z=z.getLayout("points"),Q=f.create(1/0,1/0),te=f.create(-1/0,-1/0),$=[],ie=0;ie<Z.length;)$[0]=Z[ie++],$[1]=Z[ie++],f.min(Q,Q,$),f.max(te,te,$);var ae=(te[1]+Q[1])/2,re=(te[0]+Q[0])/2;if(!(re>W.left&&re<W.right&&ae<W.bottom&&ae>W.top)){var ce=Math.max(te[0]-Q[0],10),oe=ce/k.getWidth()*k.getHeight();ce*=1.4,oe*=1.4,Q[0]-=ce*.2,W.left=Q[0],W.top=ae-oe/2,W.bottom=ae+oe/2,W.right=ce+Q[0],W.near=0,W.far=100}},dispose:function(){var R=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(R),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(14),b=_(10),E=_(248);x.a.Shader.import(E.a);var g={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function m(C){var d={type:x.a.Texture.FLOAT,minFilter:x.a.Texture.NEAREST,magFilter:x.a.Texture.NEAREST};this._positionSourceTex=new x.a.Texture2D(d),this._positionSourceTex.flipY=!1,this._positionTex=new x.a.Texture2D(d),this._positionPrevTex=new x.a.Texture2D(d),this._forceTex=new x.a.Texture2D(d),this._forcePrevTex=new x.a.Texture2D(d),this._weightedSumTex=new x.a.Texture2D(d),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new x.a.Texture2D(d),this._globalSpeedPrevTex=new x.a.Texture2D(d),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new y.a({fragment:x.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new y.a({fragment:x.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new y.a({fragment:x.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new y.a({fragment:x.a.Shader.source("clay.compositor.output")});var v=function(A){A.blendEquation(A.FUNC_ADD),A.blendFunc(A.ONE,A.ONE)};this._edgeForceMesh=new x.a.Mesh({geometry:new x.a.Geometry({attributes:{node1:new x.a.Geometry.Attribute("node1","float",2),node2:new x.a.Geometry.Attribute("node2","float",2),weight:new x.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new x.a.Material({transparent:!0,shader:x.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:v,depthMask:!1,depthText:!1}),mode:x.a.Mesh.POINTS}),this._weightedSumMesh=new x.a.Mesh({geometry:new x.a.Geometry({attributes:{node:new x.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new x.a.Material({transparent:!0,shader:x.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:v,depthMask:!1,depthText:!1}),mode:x.a.Mesh.POINTS}),this._framebuffer=new b.a({depthBuffer:!1}),this._dummyCamera=new x.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}m.prototype.updateOption=function(C){for(var d in g)this[d]=g[d];var v=this._nodes.length;if(v>5e4?this.jitterTolerence=10:v>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,v>100?this.scaling=2:this.scaling=10,C)for(var d in g)C[d]!=null&&(this[d]=C[d]);if(this.repulsionByDegree)for(var A=this._positionSourceTex.pixels,T=0;T<this._nodes.length;T++)A[T*4+2]=(this._nodes[T].degree||0)+1},m.prototype._updateGravityCenter=function(C){var d=this._nodes,v=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var A=[1/0,1/0],T=[-1/0,-1/0],O=0;O<d.length;O++)A[0]=Math.min(d[O].x,A[0]),A[1]=Math.min(d[O].y,A[1]),T[0]=Math.max(d[O].x,T[0]),T[1]=Math.max(d[O].y,T[1]);this._gravityCenter=[(A[0]+T[0])*.5,(A[1]+T[1])*.5]}for(var O=0;O<v.length;O++){var P=v[O].node1,L=v[O].node2;d[P].degree=(d[P].degree||0)+1,d[L].degree=(d[L].degree||0)+1}},m.prototype.initData=function(C,d){this._nodes=C,this._edges=d,this._updateGravityCenter();var v=Math.ceil(Math.sqrt(C.length)),A=v,T=new Float32Array(v*A*4);this._resize(v,A);for(var O=0,P=0;P<C.length;P++){var L=C[P];T[O++]=L.x||0,T[O++]=L.y||0,T[O++]=L.mass||1,T[O++]=L.size||1}this._positionSourceTex.pixels=T;var c=this._edgeForceMesh.geometry,f=d.length;c.attributes.node1.init(f*2),c.attributes.node2.init(f*2),c.attributes.weight.init(f*2);for(var D=[],P=0;P<d.length;P++){var R=c.attributes,k=d[P].weight;k==null&&(k=1),R.node1.set(P,this.getNodeUV(d[P].node1,D)),R.node2.set(P,this.getNodeUV(d[P].node2,D)),R.weight.set(P,k),R.node1.set(P+f,this.getNodeUV(d[P].node2,D)),R.node2.set(P+f,this.getNodeUV(d[P].node1,D)),R.weight.set(P+f,k)}var W=this._weightedSumMesh.geometry;W.attributes.node.init(C.length);for(var P=0;P<C.length;P++)W.attributes.node.set(P,this.getNodeUV(P,D));c.dirty(),W.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",C.length),this._nodeRepulsionPass.material.setUniform("textureSize",[v,A]),this._inited=!1,this._frame=0},m.prototype.getNodes=function(){return this._nodes},m.prototype.getEdges=function(){return this._edges},m.prototype.step=function(C){this._inited||(this._initFromSource(C),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(C);var d=this._nodeRepulsionPass;d.setUniform("strongGravityMode",this.strongGravityMode),d.setUniform("gravity",this.gravity),d.setUniform("gravityCenter",this._gravityCenter),d.setUniform("scaling",this.scaling),d.setUniform("preventOverlap",this.preventOverlap),d.setUniform("positionTex",this._positionPrevTex),d.render(C);var v=this._edgeForceMesh;v.material.set("linLogMode",this.linLogMode),v.material.set("edgeWeightInfluence",this.edgeWeightInfluence),v.material.set("preventOverlap",this.preventOverlap),v.material.set("positionTex",this._positionPrevTex),C.gl.enable(C.gl.BLEND),C.renderPass([v],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),C.gl.clearColor(0,0,0,0),C.gl.clear(C.gl.COLOR_BUFFER_BIT),C.gl.enable(C.gl.BLEND);var A=this._weightedSumMesh;A.material.set("positionTex",this._positionPrevTex),A.material.set("forceTex",this._forceTex),A.material.set("forcePrevTex",this._forcePrevTex),C.renderPass([A],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var T=this._globalSpeedPass;T.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),T.setUniform("weightedSumTex",this._weightedSumTex),T.setUniform("jitterTolerence",this.jitterTolerence),C.gl.disable(C.gl.BLEND),T.render(C);var O=this._positionPass;this._framebuffer.attach(this._positionTex),O.setUniform("globalSpeedTex",this._globalSpeedTex),O.setUniform("positionTex",this._positionPrevTex),O.setUniform("forceTex",this._forceTex),O.setUniform("forcePrevTex",this._forcePrevTex),O.render(C),this._framebuffer.unbind(C),this._swapTexture()},m.prototype.update=function(C,d,v){d==null&&(d=1),d=Math.max(d,1);for(var A=0;A<d;A++)this.step(C);v&&v()},m.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},m.prototype.getNodeUV=function(C,d){d=d||[];var v=this._positionTex.width,A=this._positionTex.height;return d[0]=C%v/(v-1),d[1]=Math.floor(C/v)/(A-1)||0,d},m.prototype.getNodePosition=function(C,d){var v=this._positionArr,A=this._positionTex.width,T=this._positionTex.height,O=A*T;(!v||v.length!==O*4)&&(v=this._positionArr=new Float32Array(O*4)),this._framebuffer.bind(C),this._framebuffer.attach(this._positionPrevTex),C.gl.readPixels(0,0,A,T,C.gl.RGBA,C.gl.FLOAT,v),this._framebuffer.unbind(C),d||(d=new Float32Array(this._nodes.length*2));for(var P=0;P<this._nodes.length;P++)d[P*2]=v[P*4],d[P*2+1]=v[P*4+1];return d},m.prototype.getTextureData=function(C,d){var v=this["_"+d+"Tex"],A=v.width,T=v.height;this._framebuffer.bind(C),this._framebuffer.attach(v);var O=new Float32Array(A*T*4);return C.gl.readPixels(0,0,A,T,C.gl.RGBA,C.gl.FLOAT,O),this._framebuffer.unbind(C),O},m.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},m.prototype.isFinished=function(C){return this._frame>C},m.prototype._swapTexture=function(){var C=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=C;var C=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=C;var C=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=C},m.prototype._initFromSource=function(C){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(C),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(C),C.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),C.gl.clear(C.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),C.gl.clear(C.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(C)},m.prototype._resize=function(C,d){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(v){this[v].width=C,this[v].height=d,this[v].dirty()},this)},m.prototype.dispose=function(C){this._framebuffer.dispose(C),this._copyPass.dispose(C),this._nodeRepulsionPass.dispose(C),this._positionPass.dispose(C),this._globalSpeedPass.dispose(C),this._edgeForceMesh.geometry.dispose(C),this._weightedSumMesh.geometry.dispose(C),this._positionSourceTex.dispose(C),this._positionTex.dispose(C),this._positionPrevTex.dispose(C),this._forceTex.dispose(C),this._forcePrevTex.dispose(C),this._weightedSumTex.dispose(C),this._globalSpeedTex.dispose(C),this._globalSpeedPrevTex.dispose(C)},w.a.ForceAtlas2GPU=m,G.a=m},function(ee,G,_){"use strict";G.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
#define NODE_COUNT 0
uniform sampler2D positionTex;
uniform vec2 textureSize;
uniform float gravity;
uniform float scaling;
uniform vec2 gravityCenter;
uniform bool strongGravityMode;
uniform bool preventOverlap;
varying vec2 v_Texcoord;
void main() {
vec4 n0 = texture2D(positionTex, v_Texcoord);
vec2 force = vec2(0.0);
for (int i = 0; i < NODE_COUNT; i++) {
vec2 uv = vec2(
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
);
vec4 n1 = texture2D(positionTex, uv);
vec2 dir = n0.xy - n1.xy;
float d2 = dot(dir, dir);
if (d2 > 0.0) {
float factor = 0.0;
if (preventOverlap) {
float d = sqrt(d2);
d = d - n0.w - n1.w;
if (d > 0.0) {
factor = scaling * n0.z * n1.z / (d * d);
}
else if (d < 0.0) {
factor = scaling * 100.0 * n0.z * n1.z;
}
}
else {
factor = scaling * n0.z * n1.z / d2;
}
force += dir * factor;
}
}
vec2 dir = gravityCenter - n0.xy;
float d = 1.0;
if (!strongGravityMode) {
d = length(dir);
}
force += dir * n0.z * gravity / (d + 1.0);
gl_FragColor = vec4(force, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
attribute vec2 node1;
attribute vec2 node2;
attribute float weight;
uniform sampler2D positionTex;
uniform float edgeWeightInfluence;
uniform bool preventOverlap;
uniform bool linLogMode;
uniform vec2 windowSize: WINDOW_SIZE;
varying vec2 v_Force;
void main() {
vec4 n0 = texture2D(positionTex, node1);
vec4 n1 = texture2D(positionTex, node2);
vec2 dir = n1.xy - n0.xy;
float d = length(dir);
float w;
if (edgeWeightInfluence == 0.0) {
w = 1.0;
}
else if (edgeWeightInfluence == 1.0) {
w = weight;
}
else {
w = pow(weight, edgeWeightInfluence);
}
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
vec2 pos = node1 * scale * 2.0 - 1.0;
gl_Position = vec4(pos + offset, 0.0, 1.0);
gl_PointSize = 1.0;
float factor;
if (preventOverlap) {
d = d - n1.w - n0.w;
}
if (d <= 0.0) {
v_Force = vec2(0.0);
return;
}
if (linLogMode) {
factor = w * log(d) / d;
}
else {
factor = w;
}
v_Force = dir * factor;
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
varying vec2 v_Force;
void main() {
gl_FragColor = vec4(v_Force, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.vertex
attribute vec2 node;
varying vec2 v_NodeUv;
void main() {
v_NodeUv = node;
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
gl_PointSize = 1.0;
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.fragment
varying vec2 v_NodeUv;
uniform sampler2D positionTex;
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
void main() {
vec2 force = texture2D(forceTex, v_NodeUv).rg;
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
float mass = texture2D(positionTex, v_NodeUv).z;
float swing = length(force - forcePrev) * mass;
float traction = length(force + forcePrev) * 0.5 * mass;
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcGlobalSpeed
uniform sampler2D globalSpeedPrevTex;
uniform sampler2D weightedSumTex;
uniform float jitterTolerence;
void main() {
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
float globalSpeed = jitterTolerence * jitterTolerence
* weightedSum.y / weightedSum.x;
if (prevGlobalSpeed > 0.0) {
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
}
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updatePosition
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
uniform sampler2D positionTex;
uniform sampler2D globalSpeedTex;
varying vec2 v_Texcoord;
void main() {
vec2 force = texture2D(forceTex, v_Texcoord).xy;
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
vec4 node = texture2D(positionTex, v_Texcoord);
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
float swing = length(force - forcePrev);
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
float df = length(force);
if (df > 0.0) {
speed = min(df * speed, 10.0) / df;
gl_FragColor = vec4(node.xy + speed * force, node.zw);
}
else {
gl_FragColor = node;
}
}
@end
@export ecgl.forceAtlas2.edges.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 node;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
uniform sampler2D positionTex;
void main()
{
gl_Position = worldViewProjection * vec4(
texture2D(positionTex, node).xy, -10.0, 1.0
);
v_Color = a_Color;
}
@end
@export ecgl.forceAtlas2.edges.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main() {
gl_FragColor = color * v_Color;
}
@end`},function(ee,G,_){"use strict";var F=_(5),w=_(6),x=_(250),y=x.a.toString();y=y.slice(y.indexOf("{")+1,y.lastIndexOf("}"));var b={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},E=function(g){for(var m in b)this[m]=b[m];if(g)for(var m in g)this[m]=g[m];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new F.a({type:w.a.FLOAT,flipY:!1,minFilter:w.a.NEAREST,magFilter:w.a.NEAREST})};E.prototype.initData=function(g,m){var C=new Blob([y]),d=window.URL.createObjectURL(C);this._worker=new Worker(d),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=g,this._edges=m,this._frame=0;for(var v=g.length,A=m.length,T=new Float32Array(v*2),O=new Float32Array(v),P=new Float32Array(v),L=new Float32Array(A*2),c=new Float32Array(A),f=0;f<g.length;f++){var D=g[f];T[f*2]=D.x,T[f*2+1]=D.y,O[f]=D.mass==null?1:D.mass,P[f]=D.size==null?1:D.size}for(var f=0;f<m.length;f++){var R=m[f],k=R.node1,W=R.node2;L[f*2]=k,L[f*2+1]=W,c[f]=R.weight==null?1:R.weight}var z=Math.ceil(Math.sqrt(g.length)),Z=z,Q=new Float32Array(z*Z*4),te=this._positionTex;te.width=z,te.height=Z,te.pixels=Q,this._worker.postMessage({cmd:"init",nodesPosition:T,nodesMass:O,nodesSize:P,edges:L,edgesWeight:c}),this._globalSpeed=1/0},E.prototype.updateOption=function(g){var m={};for(var C in b)m[C]=b[C];var d=this._nodes,v=this._edges,A=d.length;if(A>5e4?m.jitterTolerence=10:A>5e3?m.jitterTolerence=1:m.jitterTolerence=.1,A>100?m.scaling=2:m.scaling=10,A>1e3?m.barnesHutOptimize=!0:m.barnesHutOptimize=!1,g)for(var C in b)g[C]!=null&&(m[C]=g[C]);if(!m.gravityCenter){for(var T=[1/0,1/0],O=[-1/0,-1/0],P=0;P<d.length;P++)T[0]=Math.min(d[P].x,T[0]),T[1]=Math.min(d[P].y,T[1]),O[0]=Math.max(d[P].x,O[0]),O[1]=Math.max(d[P].y,O[1]);m.gravityCenter=[(T[0]+O[0])*.5,(T[1]+O[1])*.5]}for(var P=0;P<v.length;P++){var L=v[P].node1,c=v[P].node2;d[L].degree=(d[L].degree||0)+1,d[c].degree=(d[c].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:m})},E.prototype.update=function(g,m,C){m==null&&(m=1),m=Math.max(m,1),this._frame+=m,this._onupdate=C,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(m)})},E.prototype._$onupdate=function(g){if(!this._disposed){var m=new Float32Array(g.data.buffer);this._globalSpeed=g.data.globalSpeed,this._positionArr=m,this._updateTexture(m),this._onupdate&&this._onupdate()}},E.prototype.getNodePositionTexture=function(){return this._positionTex},E.prototype.getNodeUV=function(g,m){m=m||[];var C=this._positionTex.width,d=this._positionTex.height;return m[0]=g%C/(C-1),m[1]=Math.floor(g/C)/(d-1),m},E.prototype.getNodes=function(){return this._nodes},E.prototype.getEdges=function(){return this._edges},E.prototype.isFinished=function(g){return this._frame>g},E.prototype.getNodePosition=function(g,m){if(m||(m=new Float32Array(this._nodes.length*2)),this._positionArr)for(var C=0;C<this._positionArr.length;C++)m[C]=this._positionArr[C];return m},E.prototype._updateTexture=function(g){for(var m=this._positionTex.pixels,C=0,d=0;d<g.length;)m[C++]=g[d++],m[C++]=g[d++],m[C++]=1,m[C++]=1;this._positionTex.dirty()},E.prototype.dispose=function(g){this._disposed=!0,this._worker=null},G.a=E},function(ee,G,_){"use strict";function F(){var w={create:function(){return new Float32Array(2)},dist:function(d,v){var A=v[0]-d[0],T=v[1]-d[1];return Math.sqrt(A*A+T*T)},len:function(d){var v=d[0],A=d[1];return Math.sqrt(v*v+A*A)},scaleAndAdd:function(d,v,A,T){return d[0]=v[0]+A[0]*T,d[1]=v[1]+A[1]*T,d},scale:function(d,v,A){return d[0]=v[0]*A,d[1]=v[1]*A,d},add:function(d,v,A){return d[0]=v[0]+A[0],d[1]=v[1]+A[1],d},sub:function(d,v,A){return d[0]=v[0]-A[0],d[1]=v[1]-A[1],d},normalize:function(d,v){var A=v[0],T=v[1],O=A*A+T*T;return O>0&&(O=1/Math.sqrt(O),d[0]=v[0]*O,d[1]=v[1]*O),d},negate:function(d,v){return d[0]=-v[0],d[1]=-v[1],d},copy:function(d,v){return d[0]=v[0],d[1]=v[1],d},set:function(d,v,A){return d[0]=v,d[1]=A,d}};function x(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var y=x.prototype;y.beforeUpdate=function(){for(var d=0;d<this.nSubRegions;d++)this.subRegions[d].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},y.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var d=0;d<this.nSubRegions;d++)this.subRegions[d].afterUpdate()},y.addNode=function(d){if(this.nSubRegions===0)if(this.node==null){this.node=d;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(d),this._updateCenterOfMass(d)},y.findSubRegion=function(d,v){for(var A=0;A<this.nSubRegions;A++){var T=this.subRegions[A];if(T.contain(d,v))return T}},y.contain=function(d,v){return this.bbox[0]<=d&&this.bbox[2]>=d&&this.bbox[1]<=v&&this.bbox[3]>=v},y.setBBox=function(d,v,A,T){this.bbox[0]=d,this.bbox[1]=v,this.bbox[2]=A,this.bbox[3]=T,this.size=(A-d+T-v)/2},y._newSubRegion=function(){var d=this.subRegions[this.nSubRegions];return d||(d=new x,this.subRegions[this.nSubRegions]=d),this.nSubRegions++,d},y._addNodeToSubRegion=function(d){var v=this.findSubRegion(d.position[0],d.position[1]),A=this.bbox;if(!v){var T=(A[0]+A[2])/2,O=(A[1]+A[3])/2,P=(A[2]-A[0])/2,L=(A[3]-A[1])/2,c=d.position[0]>=T?1:0,f=d.position[1]>=O?1:0,v=this._newSubRegion();v.setBBox(c*P+A[0],f*L+A[1],(c+1)*P+A[0],(f+1)*L+A[1])}v.addNode(d)},y._updateCenterOfMass=function(d){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var v=this.centerOfMass[0]*this.mass,A=this.centerOfMass[1]*this.mass;v+=d.position[0]*d.mass,A+=d.position[1]*d.mass,this.mass+=d.mass,this.centerOfMass[0]=v/this.mass,this.centerOfMass[1]=A/this.mass};function b(){this.position=new Float32Array(2),this.force=w.create(),this.forcePrev=w.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function E(d,v){this.source=d,this.target=v,this.weight=1}function g(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new x,this.rootRegion.centerOfMass=w.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var m=g.prototype;m.initNodes=function(d,v,A){var T=v.length;this.nodes.length=0;for(var O=typeof A!="undefined",P=0;P<T;P++){var L=new b;L.position[0]=d[P*2],L.position[1]=d[P*2+1],L.mass=v[P],O&&(L.size=A[P]),this.nodes.push(L)}this._massArr=v,this._swingingArr=new Float32Array(T),O&&(this._sizeArr=A)},m.initEdges=function(d,v){var A=d.length/2;this.edges.length=0;for(var T=0;T<A;T++){var O=d[T*2],P=d[T*2+1],L=this.nodes[O],c=this.nodes[P];if(!L||!c){console.error("Node not exists, try initNodes before initEdges");return}L.outDegree++,c.inDegree++;var f=new E(L,c);v&&(f.weight=v[T]),this.edges.push(f)}},m.updateSettings=function(){if(this.repulsionByDegree)for(var d=0;d<this.nodes.length;d++){var v=this.nodes[d];v.mass=v.inDegree+v.outDegree+1}else for(var d=0;d<this.nodes.length;d++){var v=this.nodes[d];v.mass=this._massArr[d]}},m.update=function(){var d=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var v=0;v<d;v++)this.rootRegion.addNode(this.nodes[v]);this.rootRegion.afterUpdate()}for(var v=0;v<d;v++){var A=this.nodes[v];w.copy(A.forcePrev,A.force),w.set(A.force,0,0)}for(var v=0;v<d;v++){var T=this.nodes[v];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,T);else for(var O=v+1;O<d;O++){var P=this.nodes[O];this.applyNodeToNodeRepulsion(T,P,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(T):this.applyNodeGravity(T))}for(var v=0;v<this.edges.length;v++)this.applyEdgeAttraction(this.edges[v]);for(var L=0,c=0,f=w.create(),v=0;v<d;v++){var A=this.nodes[v],D=w.dist(A.force,A.forcePrev);L+=D*A.mass,w.add(f,A.force,A.forcePrev);var R=w.len(f)*.5;c+=R*A.mass,this._swingingArr[v]=D}var k=this.jitterTolerence*this.jitterTolerence*c/L;this._globalSpeed>0&&(k=Math.min(k/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=k;for(var v=0;v<d;v++){var A=this.nodes[v],D=this._swingingArr[v],W=.1*k/(1+k*Math.sqrt(D)),z=w.len(A.force);z>0&&(W=Math.min(z*W,10)/z,w.scaleAndAdd(A.position,A.position,A.force,W))}},m.applyRegionToNodeRepulsion=function(){var d=w.create();return function(A,T){if(A.node)this.applyNodeToNodeRepulsion(A.node,T,!0);else{w.sub(d,T.position,A.centerOfMass);var O=d[0]*d[0]+d[1]*d[1];if(O>this.barnesHutTheta*A.size*A.size){var P=this.scaling*T.mass*A.mass/O;w.scaleAndAdd(T.force,T.force,d,P)}else for(var L=0;L<A.nSubRegions;L++)this.applyRegionToNodeRepulsion(A.subRegions[L],T)}}}(),m.applyNodeToNodeRepulsion=function(){var d=w.create();return function(A,T,O){if(A!=T){w.sub(d,A.position,T.position);var P=d[0]*d[0]+d[1]*d[1];if(P!==0){var L;if(this.preventOverlap){var c=Math.sqrt(P);if(c=c-A.size-T.size,c>0)L=this.scaling*A.mass*T.mass/(c*c);else if(c<0)L=this.scaling*100*A.mass*T.mass;else return}else L=this.scaling*A.mass*T.mass/P;w.scaleAndAdd(A.force,A.force,d,L),w.scaleAndAdd(T.force,T.force,d,-L)}}}}(),m.applyEdgeAttraction=function(){var d=w.create();return function(A){var T=A.source,O=A.target;w.sub(d,T.position,O.position);var P=w.len(d),L;this.edgeWeightInfluence===0?L=1:this.edgeWeightInfluence===1?L=A.weight:L=Math.pow(A.weight,this.edgeWeightInfluence);var c;this.preventOverlap&&(P=P-T.size-O.size,P<=0)||(this.linLogMode?c=-L*Math.log(P+1)/(P+1):c=-L,w.scaleAndAdd(T.force,T.force,d,c),w.scaleAndAdd(O.force,O.force,d,-c))}}(),m.applyNodeGravity=function(){var d=w.create();return function(v){w.sub(d,this.gravityCenter,v.position);var A=w.len(d);w.scaleAndAdd(v.force,v.force,d,this.gravity*v.mass/(A+1))}}(),m.applyNodeStrongGravity=function(){var d=w.create();return function(v){w.sub(d,this.gravityCenter,v.position),w.scaleAndAdd(v.force,v.force,d,this.gravity*v.mass)}}(),m.updateBBox=function(){for(var d=1/0,v=1/0,A=-1/0,T=-1/0,O=0;O<this.nodes.length;O++){var P=this.nodes[O].position;d=Math.min(d,P[0]),v=Math.min(v,P[1]),A=Math.max(A,P[0]),T=Math.max(T,P[1])}this.bbox[0]=d,this.bbox[1]=v,this.bbox[2]=A,this.bbox[3]=T},m.getGlobalSpeed=function(){return this._globalSpeed};var C=null;self.onmessage=function(d){switch(d.data.cmd){case"init":C=new g,C.initNodes(d.data.nodesPosition,d.data.nodesMass,d.data.nodesSize),C.initEdges(d.data.edges,d.data.edgesWeight);break;case"updateConfig":if(C)for(var v in d.data.config)C[v]=d.data.config[v];break;case"update":var A=d.data.steps;if(C){for(var T=0;T<A;T++)C.update();for(var O=C.nodes.length,P=new Float32Array(O*2),T=0;T<O;T++){var L=C.nodes[T];P[T*2]=L.position[0],P[T*2+1]=L.position[1]}self.postMessage({buffer:P.buffer,globalSpeed:C.getGlobalSpeed()},[P.buffer])}else{var c=new Float32Array;self.postMessage({buffer:c.buffer,globalSpeed:C.getGlobalSpeed()},[c.buffer])}break}}}G.a=F},function(ee,G,_){"use strict";var F=_(8),w=_(3),x=F.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var y=this.zr;y.on("mousedown",this._mouseDownHandler),y.on("mousewheel",this._mouseWheelHandler),y.on("globalout",this._mouseUpHandler),y.animation.on("frame",this._update)},setTarget:function(y){this._target=y},setZoom:function(y){this._zoom=Math.max(Math.min(y,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(y){this._dx=y[0],this._dy=y[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var y=this._target,b=this._zoom;y.position.x=this._dx,y.position.y=this._dy,y.scale.set(b,b,b),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(y){if(!y.target){var b=y.offsetX,E=y.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(b,E))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var g=this._convertPos(b,E);this._x=g.x,this._y=g.y}}},_convertPos:function(y,b){var E=this.viewGL.camera,g=this.viewGL.viewport;return{x:(y-g.x)/g.width*(E.right-E.left)+E.left,y:(b-g.y)/g.height*(E.bottom-E.top)+E.top}},_mouseMoveHandler:function(y){var b=this._convertPos(y.offsetX,y.offsetY);this._dx+=b.x-this._x,this._dy+=b.y-this._y,this._x=b.x,this._y=b.y,this._needsUpdate=!0},_mouseUpHandler:function(y){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(y){y=y.event;var b=y.wheelDelta||-y.detail;if(b!==0){var E=y.offsetX,g=y.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(E,g))){var m=b>0?1.1:.9,C=Math.max(Math.min(this._zoom*m,this.maxZoom),this.minZoom);m=C/this._zoom;var d=this._convertPos(E,g),v=(d.x-this._dx)*(m-1),A=(d.y-this._dy)*(m-1);this._dx-=v,this._dy-=A,this._zoom=C,this._needsUpdate=!0}}},dispose:function(){var y=this.zr;y.off("mousedown",this._mouseDownHandler),y.off("mousemove",this._mouseMoveHandler),y.off("mouseup",this._mouseUpHandler),y.off("mousewheel",this._mouseWheelHandler),y.off("globalout",this._mouseUpHandler),y.animation.off("frame",this._update)}});G.a=x},function(ee,G,_){"use strict";G.a=`@export ecgl.lines2D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
void main()
{
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main()
{
gl_FragColor = color * v_Color;
}
@end
@export ecgl.meshLines2D.vertex
attribute vec2 position: POSITION;
attribute vec2 normal;
attribute float offset;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec4 v_Color;
varying float v_Miter;
void main()
{
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
p2.xy /= p2.w;
gl_Position.xy /= gl_Position.w;
vec2 N = normalize(p2.xy - gl_Position.xy);
gl_Position.xy += N * offset / viewport.zw * 2.0;
gl_Position.xy *= gl_Position.w;
v_Color = a_Color;
}
@end
@export ecgl.meshLines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
varying float v_Miter;
void main()
{
gl_FragColor = color * v_Color;
}
@end`},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(254),y=_(258)},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(3),b=_(20),E=_(255);w.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(g,m){this.viewGL=new b.a("orthographic"),this.groupGL=new x.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new E.a;var C=new x.a.Mesh({geometry:new x.a.PlaneGeometry,material:new x.a.Material({shader:new x.a.Shader({vertex:x.a.Shader.source("ecgl.color.vertex"),fragment:x.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});C.material.enableTexture("diffuseMap"),this.groupGL.add(C),this._planeMesh=C},render:function(g,m,C){var d=this._particleSurface;d.setParticleType(g.get("particleType")),d.setSupersampling(g.get("supersampling")),this._updateData(g,C),this._updateCamera(C.getWidth(),C.getHeight(),C.getDevicePixelRatio());var v=y.a.firstNotNull(g.get("particleDensity"),128);d.setParticleDensity(v,v);var A=this._planeMesh,T=+new Date,O=this,P=!0;A.__percent=0,A.stopAnimation(),A.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var f=+new Date,D=Math.min(f-T,20);T=T+D,O._renderer&&(d.update(O._renderer,C,D/1e3,P),A.material.set("diffuseMap",d.getSurfaceTexture())),P=!1}).start();var L=g.getModel("itemStyle"),c=x.a.parseColor(L.get("color"));c[3]*=y.a.firstNotNull(L.get("opacity"),1),A.material.set("color",c),d.setColorTextureImage(g.get("colorTexture"),C),d.setParticleSize(g.get("particleSize")),d.particleSpeedScaling=g.get("particleSpeed"),d.motionBlurFactor=1-Math.pow(.1,g.get("particleTrail"))},updateTransform:function(g,m,C){this._updateData(g,C)},afterRender:function(g,m,C,d){var v=d.renderer;this._renderer=v},_updateData:function(g,m){var C=g.coordinateSystem,d=C.dimensions.map(function(Q){return g.coordDimToDataDim(Q)[0]}),v=g.getData(),A=v.getDataExtent(d[0]),T=v.getDataExtent(d[1]),O=g.get("gridWidth"),P=g.get("gridHeight");if(O==null||O==="auto"){var L=(A[1]-A[0])/(T[1]-T[0]);O=Math.round(Math.sqrt(L*v.count()))}(P==null||P==="auto")&&(P=Math.ceil(v.count()/O));var c=this._particleSurface.vectorFieldTexture,f=c.pixels;if(!f||f.length!==P*O*4)f=c.pixels=new Float32Array(O*P*4);else for(var D=0;D<f.length;D++)f[D]=0;var R=0,k=1/0,W=new Float32Array(v.count()*2),z=0,Z=[[1/0,1/0],[-1/0,-1/0]];v.each([d[0],d[1],"vx","vy"],function(Q,te,$,ie){var ae=C.dataToPoint([Q,te]);W[z++]=ae[0],W[z++]=ae[1],Z[0][0]=Math.min(ae[0],Z[0][0]),Z[0][1]=Math.min(ae[1],Z[0][1]),Z[1][0]=Math.max(ae[0],Z[1][0]),Z[1][1]=Math.max(ae[1],Z[1][1]);var re=Math.sqrt($*$+ie*ie);R=Math.max(R,re),k=Math.min(k,re)}),v.each(["vx","vy"],function(Q,te,$){var ie=Math.round((W[$*2]-Z[0][0])/(Z[1][0]-Z[0][0])*(O-1)),ae=P-1-Math.round((W[$*2+1]-Z[0][1])/(Z[1][1]-Z[0][1])*(P-1)),re=(ae*O+ie)*4;f[re]=Q/R*.5+.5,f[re+1]=te/R*.5+.5,f[re+3]=1}),c.width=O,c.height=P,g.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(c),c.dirty(),this._updatePlanePosition(Z[0],Z[1],g,m),this._updateGradientTexture(v.getVisual("visualMeta"),[k,R])},_fillEmptyPixels:function(g){var m=g.pixels,C=g.width,d=g.height;function v(W,z,Z){W=Math.max(Math.min(W,C-1),0),z=Math.max(Math.min(z,d-1),0);var Q=(z*(C-1)+W)*4;return m[Q+3]===0?!1:(Z[0]=m[Q],Z[1]=m[Q+1],!0)}function A(W,z,Z){Z[0]=W[0]+z[0],Z[1]=W[1]+z[1]}for(var T=[],O=[],P=[],L=[],c=[],f=0,D=0;D<d;D++)for(var R=0;R<C;R++){var k=(D*(C-1)+R)*4;m[k+3]===0&&(f=T[0]=T[1]=0,v(R-1,D,O)&&(f++,A(O,T,T)),v(R+1,D,P)&&(f++,A(P,T,T)),v(R,D-1,L)&&(f++,A(L,T,T)),v(R,D+1,c)&&(f++,A(c,T,T)),T[0]/=f,T[1]/=f,m[k]=T[0],m[k+1]=T[1]),m[k+3]=1}},_updateGradientTexture:function(g,m){if(!g||!g.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new x.a.Texture2D({image:document.createElement("canvas")});var C=this._gradientTexture,d=C.image;d.width=200,d.height=1;var v=d.getContext("2d"),A=v.createLinearGradient(0,.5,d.width,.5);g[0].stops.forEach(function(T){var O;m[1]===m[0]?O=0:(O=T.value/m[1],O=Math.min(Math.max(O,0),1)),A.addColorStop(O,T.color)}),v.fillStyle=A,v.fillRect(0,0,d.width,d.height),C.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(g,m,C,d){var v=this._limitInViewportAndFullFill(g,m,C,d);g=v.leftTop,m=v.rightBottom,this._particleSurface.setRegion(v.region),this._planeMesh.position.set((g[0]+m[0])/2,d.getHeight()-(g[1]+m[1])/2,0);var A=m[0]-g[0],T=m[1]-g[1];this._planeMesh.scale.set(A/2,T/2,1),this._particleSurface.resize(Math.max(Math.min(A,2048),1),Math.max(Math.min(T,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(g,m,C,d){var v=[Math.max(g[0],0),Math.max(g[1],0)],A=[Math.min(m[0],d.getWidth()),Math.min(m[1],d.getHeight())];if(C.get("coordinateSystem")==="bmap"){var T=C.getData().getDataExtent(C.coordDimToDataDim("lng")[0]),O=Math.floor(T[1]-T[0])>=359;O&&(v[0]>0&&(v[0]=0),A[0]<d.getWidth()&&(A[0]=d.getWidth()))}var P=m[0]-g[0],L=m[1]-g[1],c=A[0]-v[0],f=A[1]-v[1],D=[(v[0]-g[0])/P,1-f/L-(v[1]-g[1])/L,c/P,f/L];return{leftTop:v,rightBottom:A,region:D}},_updateCamera:function(g,m,C){this.viewGL.setViewport(0,0,g,m,C);var d=this.viewGL.camera;d.left=d.bottom=0,d.top=m,d.right=g,d.near=0,d.far=100,d.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(ee,G,_){"use strict";var F=_(14),w=_(13),x=_(24),y=_(17),b=_(7),E=_(5),g=_(6),m=_(30),C=_(37),d=_(10),v=_(256),A=_(257);b.a.import(A.a);function T(P){var L=document.createElement("canvas");L.width=L.height=P;var c=L.getContext("2d");return c.fillStyle="#fff",c.arc(P/2,P/2,P/2,0,Math.PI*2),c.fill(),L}var O=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new E.a({type:g.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};O.prototype={constructor:O,init:function(){var P={type:g.a.FLOAT,minFilter:g.a.NEAREST,magFilter:g.a.NEAREST,useMipmap:!1};this._spawnTexture=new E.a(P),this._particleTexture0=new E.a(P),this._particleTexture1=new E.a(P),this._frameBuffer=new d.a({depthBuffer:!1}),this._particlePass=new F.a({fragment:b.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new F.a({fragment:b.a.source("clay.compositor.downsample")});var L=new x.a({renderOrder:10,material:new y.a({shader:new b.a(b.a.source("ecgl.vfParticle.renderPoints.vertex"),b.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:x.a.POINTS,geometry:new w.a({dynamic:!0,mainAttribute:"texcoord0"})}),c=new x.a({renderOrder:10,material:new y.a({shader:new b.a(b.a.source("ecgl.vfParticle.renderLines.vertex"),b.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new v.a,culling:!1}),f=new x.a({material:new y.a({shader:new b.a(b.a.source("ecgl.color.vertex"),b.a.source("ecgl.color.fragment"))}),geometry:new C.a});f.material.enableTexture("diffuseMap"),this._particlePointsMesh=L,this._particleLinesMesh=c,this._lastFrameFullQuadMesh=f,this._camera=new m.a,this._thisFrameTexture=new E.a,this._lastFrameTexture=new E.a},setParticleDensity:function(P,L){for(var c=P*L,f=new Float32Array(c*4),D=0,R=this.particleLife,k=0;k<P;k++)for(var W=0;W<L;W++,D++){f[D*4]=Math.random(),f[D*4+1]=Math.random(),f[D*4+2]=Math.random();var z=(R[1]-R[0])*Math.random()+R[0];f[D*4+3]=z}this._particleType==="line"?this._setLineGeometry(P,L):this._setPointsGeometry(P,L),this._spawnTexture.width=P,this._spawnTexture.height=L,this._spawnTexture.pixels=f,this._particleTexture0.width=this._particleTexture1.width=P,this._particleTexture0.height=this._particleTexture1.height=L,this._particlePass.setUniform("textureSize",[P,L])},_setPointsGeometry:function(P,L){var c=P*L,f=this._particlePointsMesh.geometry,D=f.attributes;D.texcoord0.init(c);for(var R=0,k=0;k<P;k++)for(var W=0;W<L;W++,R++)D.texcoord0.value[R*2]=k/P,D.texcoord0.value[R*2+1]=W/L;f.dirty()},_setLineGeometry:function(P,L){var c=P*L,f=this._getParticleMesh().geometry;f.setLineCount(c),f.resetOffset();for(var D=0;D<P;D++)for(var R=0;R<L;R++)f.addLine([D/P,R/L]);f.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(P,L,c,f){var D=this._getParticleMesh(),R=this._frameBuffer,k=this._particlePass;f&&this._updateDownsampleTextures(P,L),D.material.set("size",this._particleSize*this._supersampling),D.material.set("color",this.particleColor),k.setUniform("speedScaling",this.particleSpeedScaling),R.attach(this._particleTexture1),k.setUniform("firstFrameTime",f?(this.particleLife[1]+this.particleLife[0])/2:0),k.setUniform("particleTexture",this._particleTexture0),k.setUniform("deltaTime",c),k.setUniform("elapsedTime",this._elapsedTime),k.render(P,R),D.material.set("particleTexture",this._particleTexture1),D.material.set("prevParticleTexture",this._particleTexture0),R.attach(this._thisFrameTexture),R.bind(P),P.gl.clear(P.gl.DEPTH_BUFFER_BIT|P.gl.COLOR_BUFFER_BIT);var W=this._lastFrameFullQuadMesh;W.material.set("diffuseMap",this._lastFrameTexture),W.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),P.renderPass([W,D],this._camera),R.unbind(P),this._downsample(P),this._swapTexture(),this._elapsedTime+=c},_downsample:function(P){var L=this._downsampleTextures;if(L.length!==0)for(var c=0,f=this._thisFrameTexture,D=L[c];D;)this._frameBuffer.attach(D),this._downsamplePass.setUniform("texture",f),this._downsamplePass.setUniform("textureSize",[f.width,f.height]),this._downsamplePass.render(P,this._frameBuffer),f=D,D=L[++c]},getSurfaceTexture:function(){var P=this._downsampleTextures;return P.length>0?P[P.length-1]:this._lastFrameTexture},setRegion:function(P){this._particlePass.setUniform("region",P)},resize:function(P,L){this._lastFrameTexture.width=P*this._supersampling,this._lastFrameTexture.height=L*this._supersampling,this._thisFrameTexture.width=P*this._supersampling,this._thisFrameTexture.height=L*this._supersampling,this._width=P,this._height=L},setParticleSize:function(P){var L=this._getParticleMesh();if(P<=2){L.material.disableTexture("spriteTexture"),L.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new E.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==P)&&(this._spriteTexture.image=T(P),this._spriteTexture.dirty()),L.material.transparent=!0,L.material.enableTexture("spriteTexture"),L.material.set("spriteTexture",this._spriteTexture),this._particleSize=P},setGradientTexture:function(P){var L=this._getParticleMesh().material;L[P?"enableTexture":"disableTexture"]("gradientTexture"),L.setUniform("gradientTexture",P)},setColorTextureImage:function(P,L){var c=this._getParticleMesh().material;c.setTextureImage("colorTexture",P,L,{flipY:!0})},setParticleType:function(P){this._particleType=P},clearFrame:function(P){var L=this._frameBuffer;L.attach(this._lastFrameTexture),L.bind(P),P.gl.clear(P.gl.DEPTH_BUFFER_BIT|P.gl.COLOR_BUFFER_BIT),L.unbind(P)},setSupersampling:function(P){this._supersampling=P,this.resize(this._width,this._height)},_updateDownsampleTextures:function(P,L){for(var c=this._downsampleTextures,f=Math.max(Math.floor(Math.log(this._supersampling/L.getDevicePixelRatio())/Math.log(2)),0),D=2,R=this._width*this._supersampling,k=this._height*this._supersampling,W=0;W<f;W++)c[W]=c[W]||new E.a,c[W].width=R/D,c[W].height=k/D,D*=2;for(;W<c.length;W++)c[W].dispose(P);c.length=f},_swapTexture:function(){var P=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=P;var P=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=P},dispose:function(P){P.disposeFrameBuffer(this._frameBuffer),P.disposeTexture(this.vectorFieldTexture),P.disposeTexture(this._spawnTexture),P.disposeTexture(this._particleTexture0),P.disposeTexture(this._particleTexture1),P.disposeTexture(this._thisFrameTexture),P.disposeTexture(this._lastFrameTexture),P.disposeGeometry(this._particleLinesMesh.geometry),P.disposeGeometry(this._particlePointsMesh.geometry),P.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&P.disposeTexture(this._spriteTexture),this._particlePass.dispose(P),this._downsamplePass.dispose(P),this._downsampleTextures.forEach(function(L){L.dispose(P)})}},G.a=O},function(ee,G,_){"use strict";var F=_(13),w=_(0),x=_.n(w),y=F.a.extend(function(){return{dynamic:!0,attributes:{position:new F.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(b){var E=this.attributes,g=4*b,m=2*b;this.vertexCount!==g&&E.position.init(g),this.triangleCount!==m&&(m===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(m*3):new Uint16Array(m*3))},addLine:function(b){var E=this._vertexOffset;this.attributes.position.set(E,[b[0],b[1],1]),this.attributes.position.set(E+1,[b[0],b[1],-1]),this.attributes.position.set(E+2,[b[0],b[1],2]),this.attributes.position.set(E+3,[b[0],b[1],-2]),this.setTriangleIndices(this._faceOffset++,[E,E+1,E+2]),this.setTriangleIndices(this._faceOffset++,[E+1,E+2,E+3]),this._vertexOffset+=4}});G.a=y},function(ee,G,_){"use strict";G.a=`@export ecgl.vfParticle.particle.fragment
uniform sampler2D particleTexture;
uniform sampler2D spawnTexture;
uniform sampler2D velocityTexture;
uniform float deltaTime;
uniform float elapsedTime;
uniform float speedScaling : 1.0;
uniform vec2 textureSize;
uniform vec4 region : [0, 0, 1, 1];
uniform float firstFrameTime;
varying vec2 v_Texcoord;
void main()
{
vec4 p = texture2D(particleTexture, v_Texcoord);
bool spawn = false;
if (p.w <= 0.0) {
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
p.w -= firstFrameTime;
spawn = true;
}
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
v = (v - 0.5) * 2.0;
p.z = length(v);
p.xy += v * deltaTime / 10.0 * speedScaling;
p.w -= deltaTime;
if (spawn || p.xy != fract(p.xy)) {
p.z = 0.0;
}
p.xy = fract(p.xy);
gl_FragColor = p;
}
@end
@export ecgl.vfParticle.renderPoints.vertex
#define PI 3.1415926
attribute vec2 texcoord : TEXCOORD_0;
uniform sampler2D particleTexture;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float size : 1.0;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
vec4 p = texture2D(particleTexture, texcoord);
if (p.w > 0.0 && p.z > 1e-5) {
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
v_Mag = p.z;
v_Uv = p.xy;
gl_PointSize = size;
}
@end
@export ecgl.vfParticle.renderPoints.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
uniform sampler2D spriteTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef SPRITETEXTURE_ENABLED
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
if (color.a == 0.0) {
discard;
}
#endif
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
@export ecgl.vfParticle.renderLines.vertex
#define PI 3.1415926
attribute vec3 position : POSITION;
uniform sampler2D particleTexture;
uniform sampler2D prevParticleTexture;
uniform float size : 1.0;
uniform vec4 vp: VIEWPORT;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
varying float v_Mag;
varying vec2 v_Uv;
@import clay.util.rand
void main()
{
vec4 p = texture2D(particleTexture, position.xy);
vec4 p2 = texture2D(prevParticleTexture, position.xy);
p.xy = p.xy * 2.0 - 1.0;
p2.xy = p2.xy * 2.0 - 1.0;
if (p.w > 0.0 && p.z > 1e-5) {
vec2 dir = normalize(p.xy - p2.xy);
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
if (abs(position.z) == 2.0) {
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
v_Uv = p.xy;
v_Mag = p.z;
}
else {
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
v_Mag = p2.z;
v_Uv = p2.xy;
}
gl_Position = worldViewProjection * gl_Position;
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
}
@end
@export ecgl.vfParticle.renderLines.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
`},function(ee,G,_){"use strict";var F=_(0),w=_.n(F);w.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(x,y){var b=w.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(b.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");b.push("vx","vy");var E=w.a.helper.completeDimensions(b,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),g=new w.a.List(E,this);return g.initData(this.getSource()),g},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(260),y=_(261),b=_(16);w.a.registerVisual(Object(b.a)("linesGL"))},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(12),y=_.n(x),b=w.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(E){var g=this._processFlatCoordsArray(E.data);this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset,g.flatCoords&&(E.data=new Float32Array(g.count)),b.superApply(this,"init",arguments)},mergeOption:function(E){var g=this._processFlatCoordsArray(E.data);this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset,g.flatCoords&&(E.data=new Float32Array(g.count)),b.superApply(this,"mergeOption",arguments)},appendData:function(E){var g=this._processFlatCoordsArray(E.data);g.flatCoords&&(this._flatCoords?(this._flatCoords=Object(x.concatArray)(this._flatCoords,g.flatCoords),this._flatCoordsOffset=Object(x.concatArray)(this._flatCoordsOffset,g.flatCoordsOffset)):(this._flatCoords=g.flatCoords,this._flatCoordsOffset=g.flatCoordsOffset),E.data=new Float32Array(g.count)),this.getRawData().appendData(E.data)},_getCoordsFromItemModel:function(E){var g=this.getData().getItemModel(E),m=g.option instanceof Array?g.option:g.getShallow("coords");if(!(m instanceof Array&&m.length>0&&m[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(m)+". Lines must have 2d coords array in data item.");return m},getLineCoordsCount:function(E){return this._flatCoordsOffset?this._flatCoordsOffset[E*2+1]:this._getCoordsFromItemModel(E).length},getLineCoords:function(E,g){if(this._flatCoordsOffset){for(var m=this._flatCoordsOffset[E*2],C=this._flatCoordsOffset[E*2+1],d=0;d<C;d++)g[d]=g[d]||[],g[d][0]=this._flatCoords[m+d*2],g[d][1]=this._flatCoords[m+d*2+1];return C}else{for(var v=this._getCoordsFromItemModel(E),d=0;d<v.length;d++)g[d]=g[d]||[],g[d][0]=v[d][0],g[d][1]=v[d][1];return v.length}},_processFlatCoordsArray:function(E){var g=0;if(this._flatCoords&&(g=this._flatCoords.length),typeof E[0]=="number"){for(var m=E.length,C=new Uint32Array(m),d=new Float64Array(m),v=0,A=0,T=0,O=0;O<m;){T++;var P=E[O++];C[A++]=v+g,C[A++]=P;for(var L=0;L<P;L++){var c=E[O++],f=E[O++];if(d[v++]=c,d[v++]=f,O>m)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(C.buffer,0,A),flatCoords:d,count:T}}return{flatCoordsOffset:null,flatCoords:null,count:E.length}},getInitialData:function(E,g){var m=new w.a.List(["value"],this);return m.hasItemOption=!1,m.initData(E.data,[],function(C,d,v,A){if(C instanceof Array)return NaN;m.hasItemOption=!0;var T=C.value;if(T!=null)return T instanceof Array?T[A]:T}),m},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(ee,G,_){"use strict";var F=_(0),w=_.n(F),x=_(2),y=_(20),b=_(86),E=_(84),g=_(3);w.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(m,C){this.groupGL=new x.a.Node,this.viewGL=new y.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new E.a(this.viewGL),this._nativeLinesShader=x.a.createShader("ecgl.lines3D"),this._meshLinesShader=x.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(m,C,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d);var v=this._linesMeshes[0];v||(v=this._linesMeshes[0]=this._createLinesMesh(m)),this._linesMeshes.length=1,this.groupGL.add(v),this._updateLinesMesh(m,v,0,m.getData().count()),this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalPrepareRender:function(m,C,d){this.groupGL.removeAll(),this._glViewHelper.reset(m,d),this._currentStep=0,this.viewGL.setPostEffect(m.getModel("postEffect"),d)},incrementalRender:function(m,C,d,v){var A=this._linesMeshes[this._currentStep];A||(A=this._createLinesMesh(C),this._linesMeshes[this._currentStep]=A),this._updateLinesMesh(C,A,m.start,m.end),this.groupGL.add(A),v.getZr().refresh(),this._currentStep++},updateTransform:function(m,C,d){m.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(m,d)},_createLinesMesh:function(m){var C=new x.a.Mesh({$ignorePicking:!0,material:new x.a.Material({shader:x.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new b.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:x.a.Mesh.LINES,culling:!1});return C},_updateLinesMesh:function(m,C,d,v){var A=m.getData();C.material.blend=m.get("blendMode")==="lighter"?x.a.additiveBlend:null;var T=m.get("lineStyle.curveness")||0,O=m.get("polyline"),P=C.geometry,L=m.coordinateSystem,c=g.a.firstNotNull(m.get("lineStyle.width"),1);c>1?(C.material.shader!==this._meshLinesShader&&C.material.attachShader(this._meshLinesShader),C.mode=x.a.Mesh.TRIANGLES):(C.material.shader!==this._nativeLinesShader&&C.material.attachShader(this._nativeLinesShader),C.mode=x.a.Mesh.LINES),d=d||0,v=v||A.count(),P.resetOffset();var f=0,D=0,R=[],k=[],W=[],z=[],Z=[],Q=.3,te=.7;function $(){k[0]=R[0]*te+z[0]*Q-(R[1]-z[1])*T,k[1]=R[1]*te+z[1]*Q-(z[0]-R[0])*T,W[0]=R[0]*Q+z[0]*te-(R[1]-z[1])*T,W[1]=R[1]*Q+z[1]*te-(z[0]-R[0])*T}if(O||T!==0)for(var ie=d;ie<v;ie++)if(O){var ae=m.getLineCoordsCount(ie);f+=P.getPolylineVertexCount(ae),D+=P.getPolylineTriangleCount(ae)}else m.getLineCoords(ie,Z),this._glViewHelper.dataToPoint(L,Z[0],R),this._glViewHelper.dataToPoint(L,Z[1],z),$(),f+=P.getCubicCurveVertexCount(R,k,W,z),D+=P.getCubicCurveTriangleCount(R,k,W,z);else{var re=v-d;f+=re*P.getLineVertexCount(),D+=re*P.getLineVertexCount()}P.setVertexCount(f),P.setTriangleCount(D);for(var ce=d,oe=[],ie=d;ie<v;ie++){x.a.parseColor(A.getItemVisual(ce,"color"),oe);var he=g.a.firstNotNull(A.getItemVisual(ce,"opacity"),1);oe[3]*=he;for(var ae=m.getLineCoords(ie,Z),se=0;se<ae;se++)this._glViewHelper.dataToPoint(L,Z[se],Z[se]);O?P.addPolyline(Z,oe,c,0,ae):T!==0?(R=Z[0],z=Z[1],$(),P.addCubicCurve(R,k,W,z,oe,c)):P.addPolyline(Z,oe,c,0,2),ce++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(we,Me,X){var K=X(97671);(function(ee,G){we.exports=G()})(this,function(){"use strict";function ee(Pe){var Ne=typeof Pe;return Pe!==null&&(Ne==="object"||Ne==="function")}function G(Pe){return typeof Pe=="function"}var _=void 0;Array.isArray?_=Array.isArray:_=function(Pe){return Object.prototype.toString.call(Pe)==="[object Array]"};var F=_,w=0,x=void 0,y=void 0,b=function(Ne,We){f[w]=Ne,f[w+1]=We,w+=2,w===2&&(y?y(D):k())};function E(Pe){y=Pe}function g(Pe){b=Pe}var m=typeof window!="undefined"?window:void 0,C=m||{},d=C.MutationObserver||C.WebKitMutationObserver,v=typeof self=="undefined"&&typeof K!="undefined"&&{}.toString.call(K)==="[object process]",A=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function T(){return function(){return K.nextTick(D)}}function O(){return typeof x!="undefined"?function(){x(D)}:c()}function P(){var Pe=0,Ne=new d(D),We=document.createTextNode("");return Ne.observe(We,{characterData:!0}),function(){We.data=Pe=++Pe%2}}function L(){var Pe=new MessageChannel;return Pe.port1.onmessage=D,function(){return Pe.port2.postMessage(0)}}function c(){var Pe=setTimeout;return function(){return Pe(D,1)}}var f=new Array(1e3);function D(){for(var Pe=0;Pe<w;Pe+=2){var Ne=f[Pe],We=f[Pe+1];Ne(We),f[Pe]=void 0,f[Pe+1]=void 0}w=0}function R(){try{var Pe=Function("return this")().require("vertx");return x=Pe.runOnLoop||Pe.runOnContext,O()}catch(Ne){return c()}}var k=void 0;v?k=T():d?k=P():A?k=L():m===void 0?k=R():k=c();function W(Pe,Ne){var We=this,Be=new this.constructor(Q);Be[Z]===void 0&&dt(Be);var Ve=We._state;if(Ve){var $e=arguments[Ve-1];b(function(){return Ue(Ve,Be,$e,We._result)})}else Ae(We,Be,Pe,Ne);return Be}function z(Pe){var Ne=this;if(Pe&&typeof Pe=="object"&&Pe.constructor===Ne)return Pe;var We=new Ne(Q);return pe(We,Pe),We}var Z=Math.random().toString(36).substring(2);function Q(){}var te=void 0,$=1,ie=2;function ae(){return new TypeError("You cannot resolve a promise with itself")}function re(){return new TypeError("A promises callback cannot return that same promise.")}function ce(Pe,Ne,We,Be){try{Pe.call(Ne,We,Be)}catch(Ve){return Ve}}function oe(Pe,Ne,We){b(function(Be){var Ve=!1,$e=ce(We,Ne,function(lt){Ve||(Ve=!0,Ne!==lt?pe(Be,lt):ge(Be,lt))},function(lt){Ve||(Ve=!0,Ee(Be,lt))},"Settle: "+(Be._label||" unknown promise"));!Ve&&$e&&(Ve=!0,Ee(Be,$e))},Pe)}function he(Pe,Ne){Ne._state===$?ge(Pe,Ne._result):Ne._state===ie?Ee(Pe,Ne._result):Ae(Ne,void 0,function(We){return pe(Pe,We)},function(We){return Ee(Pe,We)})}function se(Pe,Ne,We){Ne.constructor===Pe.constructor&&We===W&&Ne.constructor.resolve===z?he(Pe,Ne):We===void 0?ge(Pe,Ne):G(We)?oe(Pe,Ne,We):ge(Pe,Ne)}function pe(Pe,Ne){if(Pe===Ne)Ee(Pe,ae());else if(ee(Ne)){var We=void 0;try{We=Ne.then}catch(Be){Ee(Pe,Be);return}se(Pe,Ne,We)}else ge(Pe,Ne)}function me(Pe){Pe._onerror&&Pe._onerror(Pe._result),Fe(Pe)}function ge(Pe,Ne){Pe._state===te&&(Pe._result=Ne,Pe._state=$,Pe._subscribers.length!==0&&b(Fe,Pe))}function Ee(Pe,Ne){Pe._state===te&&(Pe._state=ie,Pe._result=Ne,b(me,Pe))}function Ae(Pe,Ne,We,Be){var Ve=Pe._subscribers,$e=Ve.length;Pe._onerror=null,Ve[$e]=Ne,Ve[$e+$]=We,Ve[$e+ie]=Be,$e===0&&Pe._state&&b(Fe,Pe)}function Fe(Pe){var Ne=Pe._subscribers,We=Pe._state;if(Ne.length!==0){for(var Be=void 0,Ve=void 0,$e=Pe._result,lt=0;lt<Ne.length;lt+=3)Be=Ne[lt],Ve=Ne[lt+We],Be?Ue(We,Be,Ve,$e):Ve($e);Pe._subscribers.length=0}}function Ue(Pe,Ne,We,Be){var Ve=G(We),$e=void 0,lt=void 0,pt=!0;if(Ve){try{$e=We(Be)}catch(xt){pt=!1,lt=xt}if(Ne===$e){Ee(Ne,re());return}}else $e=Be;Ne._state!==te||(Ve&&pt?pe(Ne,$e):pt===!1?Ee(Ne,lt):Pe===$?ge(Ne,$e):Pe===ie&&Ee(Ne,$e))}function nt(Pe,Ne){try{Ne(function(Be){pe(Pe,Be)},function(Be){Ee(Pe,Be)})}catch(We){Ee(Pe,We)}}var rt=0;function qe(){return rt++}function dt(Pe){Pe[Z]=rt++,Pe._state=void 0,Pe._result=void 0,Pe._subscribers=[]}function yt(){return new Error("Array Methods must be provided an Array")}var je=function(){function Pe(Ne,We){this._instanceConstructor=Ne,this.promise=new Ne(Q),this.promise[Z]||dt(this.promise),F(We)?(this.length=We.length,this._remaining=We.length,this._result=new Array(this.length),this.length===0?ge(this.promise,this._result):(this.length=this.length||0,this._enumerate(We),this._remaining===0&&ge(this.promise,this._result))):Ee(this.promise,yt())}return Pe.prototype._enumerate=function(We){for(var Be=0;this._state===te&&Be<We.length;Be++)this._eachEntry(We[Be],Be)},Pe.prototype._eachEntry=function(We,Be){var Ve=this._instanceConstructor,$e=Ve.resolve;if($e===z){var lt=void 0,pt=void 0,xt=!1;try{lt=We.then}catch(Dt){xt=!0,pt=Dt}if(lt===W&&We._state!==te)this._settledAt(We._state,Be,We._result);else if(typeof lt!="function")this._remaining--,this._result[Be]=We;else if(Ve===Ce){var wt=new Ve(Q);xt?Ee(wt,pt):se(wt,We,lt),this._willSettleAt(wt,Be)}else this._willSettleAt(new Ve(function(Dt){return Dt(We)}),Be)}else this._willSettleAt($e(We),Be)},Pe.prototype._settledAt=function(We,Be,Ve){var $e=this.promise;$e._state===te&&(this._remaining--,We===ie?Ee($e,Ve):this._result[Be]=Ve),this._remaining===0&&ge($e,this._result)},Pe.prototype._willSettleAt=function(We,Be){var Ve=this;Ae(We,void 0,function($e){return Ve._settledAt($,Be,$e)},function($e){return Ve._settledAt(ie,Be,$e)})},Pe}();function at(Pe){return new je(this,Pe).promise}function it(Pe){var Ne=this;return F(Pe)?new Ne(function(We,Be){for(var Ve=Pe.length,$e=0;$e<Ve;$e++)Ne.resolve(Pe[$e]).then(We,Be)}):new Ne(function(We,Be){return Be(new TypeError("You must pass an array to race."))})}function ht(Pe){var Ne=this,We=new Ne(Q);return Ee(We,Pe),We}function ut(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function Mt(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var Ce=function(){function Pe(Ne){this[Z]=qe(),this._result=this._state=void 0,this._subscribers=[],Q!==Ne&&(typeof Ne!="function"&&ut(),this instanceof Pe?nt(this,Ne):Mt())}return Pe.prototype.catch=function(We){return this.then(null,We)},Pe.prototype.finally=function(We){var Be=this,Ve=Be.constructor;return G(We)?Be.then(function($e){return Ve.resolve(We()).then(function(){return $e})},function($e){return Ve.resolve(We()).then(function(){throw $e})}):Be.then(We,We)},Pe}();Ce.prototype.then=W,Ce.all=at,Ce.race=it,Ce.resolve=z,Ce.reject=ht,Ce._setScheduler=E,Ce._setAsap=g,Ce._asap=b;function ot(){var Pe=void 0;if(typeof X.g!="undefined")Pe=X.g;else if(typeof self!="undefined")Pe=self;else try{Pe=Function("return this")()}catch(Be){throw new Error("polyfill failed because global object is unavailable in this environment")}var Ne=Pe.Promise;if(Ne){var We=null;try{We=Object.prototype.toString.call(Ne.resolve())}catch(Be){}if(We==="[object Promise]"&&!Ne.cast)return}Pe.Promise=Ce}return Ce.polyfill=ot,Ce.Promise=Ce,Ce})},37271:function(we){"use strict";var Me=Object.prototype.hasOwnProperty,X="~";function K(){}Object.create&&(K.prototype=Object.create(null),new K().__proto__||(X=!1));function ee(w,x,y){this.fn=w,this.context=x,this.once=y||!1}function G(w,x,y,b,E){if(typeof y!="function")throw new TypeError("The listener must be a function");var g=new ee(y,b||w,E),m=X?X+x:x;return w._events[m]?w._events[m].fn?w._events[m]=[w._events[m],g]:w._events[m].push(g):(w._events[m]=g,w._eventsCount++),w}function _(w,x){--w._eventsCount===0?w._events=new K:delete w._events[x]}function F(){this._events=new K,this._eventsCount=0}F.prototype.eventNames=function(){var x=[],y,b;if(this._eventsCount===0)return x;for(b in y=this._events)Me.call(y,b)&&x.push(X?b.slice(1):b);return Object.getOwnPropertySymbols?x.concat(Object.getOwnPropertySymbols(y)):x},F.prototype.listeners=function(x){var y=X?X+x:x,b=this._events[y];if(!b)return[];if(b.fn)return[b.fn];for(var E=0,g=b.length,m=new Array(g);E<g;E++)m[E]=b[E].fn;return m},F.prototype.listenerCount=function(x){var y=X?X+x:x,b=this._events[y];return b?b.fn?1:b.length:0},F.prototype.emit=function(x,y,b,E,g,m){var C=X?X+x:x;if(!this._events[C])return!1;var d=this._events[C],v=arguments.length,A,T;if(d.fn){switch(d.once&&this.removeListener(x,d.fn,void 0,!0),v){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,y),!0;case 3:return d.fn.call(d.context,y,b),!0;case 4:return d.fn.call(d.context,y,b,E),!0;case 5:return d.fn.call(d.context,y,b,E,g),!0;case 6:return d.fn.call(d.context,y,b,E,g,m),!0}for(T=1,A=new Array(v-1);T<v;T++)A[T-1]=arguments[T];d.fn.apply(d.context,A)}else{var O=d.length,P;for(T=0;T<O;T++)switch(d[T].once&&this.removeListener(x,d[T].fn,void 0,!0),v){case 1:d[T].fn.call(d[T].context);break;case 2:d[T].fn.call(d[T].context,y);break;case 3:d[T].fn.call(d[T].context,y,b);break;case 4:d[T].fn.call(d[T].context,y,b,E);break;default:if(!A)for(P=1,A=new Array(v-1);P<v;P++)A[P-1]=arguments[P];d[T].fn.apply(d[T].context,A)}}return!0},F.prototype.on=function(x,y,b){return G(this,x,y,b,!1)},F.prototype.once=function(x,y,b){return G(this,x,y,b,!0)},F.prototype.removeListener=function(x,y,b,E){var g=X?X+x:x;if(!this._events[g])return this;if(!y)return _(this,g),this;var m=this._events[g];if(m.fn)m.fn===y&&(!E||m.once)&&(!b||m.context===b)&&_(this,g);else{for(var C=0,d=[],v=m.length;C<v;C++)(m[C].fn!==y||E&&!m[C].once||b&&m[C].context!==b)&&d.push(m[C]);d.length?this._events[g]=d.length===1?d[0]:d:_(this,g)}return this},F.prototype.removeAllListeners=function(x){var y;return x?(y=X?X+x:x,this._events[y]&&_(this,y)):(this._events=new K,this._eventsCount=0),this},F.prototype.off=F.prototype.removeListener,F.prototype.addListener=F.prototype.on,F.prefixed=X,F.EventEmitter=F,we.exports=F},86204:function(we){"use strict";var Me=typeof Reflect=="object"?Reflect:null,X=Me&&typeof Me.apply=="function"?Me.apply:function(L,c,f){return Function.prototype.apply.call(L,c,f)},K;Me&&typeof Me.ownKeys=="function"?K=Me.ownKeys:Object.getOwnPropertySymbols?K=function(L){return Object.getOwnPropertyNames(L).concat(Object.getOwnPropertySymbols(L))}:K=function(L){return Object.getOwnPropertyNames(L)};function ee(P){console&&console.warn&&console.warn(P)}var G=Number.isNaN||function(L){return L!==L};function _(){_.init.call(this)}we.exports=_,we.exports.once=A,_.EventEmitter=_,_.prototype._events=void 0,_.prototype._eventsCount=0,_.prototype._maxListeners=void 0;var F=10;function w(P){if(typeof P!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof P)}Object.defineProperty(_,"defaultMaxListeners",{enumerable:!0,get:function(){return F},set:function(P){if(typeof P!="number"||P<0||G(P))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+P+".");F=P}}),_.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},_.prototype.setMaxListeners=function(L){if(typeof L!="number"||L<0||G(L))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+L+".");return this._maxListeners=L,this};function x(P){return P._maxListeners===void 0?_.defaultMaxListeners:P._maxListeners}_.prototype.getMaxListeners=function(){return x(this)},_.prototype.emit=function(L){for(var c=[],f=1;f<arguments.length;f++)c.push(arguments[f]);var D=L==="error",R=this._events;if(R!==void 0)D=D&&R.error===void 0;else if(!D)return!1;if(D){var k;if(c.length>0&&(k=c[0]),k instanceof Error)throw k;var W=new Error("Unhandled error."+(k?" ("+k.message+")":""));throw W.context=k,W}var z=R[L];if(z===void 0)return!1;if(typeof z=="function")X(z,this,c);else for(var Z=z.length,Q=C(z,Z),f=0;f<Z;++f)X(Q[f],this,c);return!0};function y(P,L,c,f){var D,R,k;if(w(c),R=P._events,R===void 0?(R=P._events=Object.create(null),P._eventsCount=0):(R.newListener!==void 0&&(P.emit("newListener",L,c.listener?c.listener:c),R=P._events),k=R[L]),k===void 0)k=R[L]=c,++P._eventsCount;else if(typeof k=="function"?k=R[L]=f?[c,k]:[k,c]:f?k.unshift(c):k.push(c),D=x(P),D>0&&k.length>D&&!k.warned){k.warned=!0;var W=new Error("Possible EventEmitter memory leak detected. "+k.length+" "+String(L)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=P,W.type=L,W.count=k.length,ee(W)}return P}_.prototype.addListener=function(L,c){return y(this,L,c,!1)},_.prototype.on=_.prototype.addListener,_.prototype.prependListener=function(L,c){return y(this,L,c,!0)};function b(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function E(P,L,c){var f={fired:!1,wrapFn:void 0,target:P,type:L,listener:c},D=b.bind(f);return D.listener=c,f.wrapFn=D,D}_.prototype.once=function(L,c){return w(c),this.on(L,E(this,L,c)),this},_.prototype.prependOnceListener=function(L,c){return w(c),this.prependListener(L,E(this,L,c)),this},_.prototype.removeListener=function(L,c){var f,D,R,k,W;if(w(c),D=this._events,D===void 0)return this;if(f=D[L],f===void 0)return this;if(f===c||f.listener===c)--this._eventsCount===0?this._events=Object.create(null):(delete D[L],D.removeListener&&this.emit("removeListener",L,f.listener||c));else if(typeof f!="function"){for(R=-1,k=f.length-1;k>=0;k--)if(f[k]===c||f[k].listener===c){W=f[k].listener,R=k;break}if(R<0)return this;R===0?f.shift():d(f,R),f.length===1&&(D[L]=f[0]),D.removeListener!==void 0&&this.emit("removeListener",L,W||c)}return this},_.prototype.off=_.prototype.removeListener,_.prototype.removeAllListeners=function(L){var c,f,D;if(f=this._events,f===void 0)return this;if(f.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):f[L]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete f[L]),this;if(arguments.length===0){var R=Object.keys(f),k;for(D=0;D<R.length;++D)k=R[D],k!=="removeListener"&&this.removeAllListeners(k);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(c=f[L],typeof c=="function")this.removeListener(L,c);else if(c!==void 0)for(D=c.length-1;D>=0;D--)this.removeListener(L,c[D]);return this};function g(P,L,c){var f=P._events;if(f===void 0)return[];var D=f[L];return D===void 0?[]:typeof D=="function"?c?[D.listener||D]:[D]:c?v(D):C(D,D.length)}_.prototype.listeners=function(L){return g(this,L,!0)},_.prototype.rawListeners=function(L){return g(this,L,!1)},_.listenerCount=function(P,L){return typeof P.listenerCount=="function"?P.listenerCount(L):m.call(P,L)},_.prototype.listenerCount=m;function m(P){var L=this._events;if(L!==void 0){var c=L[P];if(typeof c=="function")return 1;if(c!==void 0)return c.length}return 0}_.prototype.eventNames=function(){return this._eventsCount>0?K(this._events):[]};function C(P,L){for(var c=new Array(L),f=0;f<L;++f)c[f]=P[f];return c}function d(P,L){for(;L+1<P.length;L++)P[L]=P[L+1];P.pop()}function v(P){for(var L=new Array(P.length),c=0;c<L.length;++c)L[c]=P[c].listener||P[c];return L}function A(P,L){return new Promise(function(c,f){function D(k){P.removeListener(L,R),f(k)}function R(){typeof P.removeListener=="function"&&P.removeListener("error",D),c([].slice.call(arguments))}O(P,L,R,{once:!0}),L!=="error"&&T(P,D,{once:!0})})}function T(P,L,c){typeof P.on=="function"&&O(P,"error",L,c)}function O(P,L,c,f){if(typeof P.on=="function")f.once?P.once(L,c):P.on(L,c);else if(typeof P.addEventListener=="function")P.addEventListener(L,function D(R){f.once&&P.removeEventListener(L,D),c(R)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof P)}},53291:function(we){"use strict";var Me=Array.isArray,X=Object.keys,K=Object.prototype.hasOwnProperty;we.exports=function ee(G,_){if(G===_)return!0;if(G&&_&&typeof G=="object"&&typeof _=="object"){var F=Me(G),w=Me(_),x,y,b;if(F&&w){if(y=G.length,y!=_.length)return!1;for(x=y;x--!==0;)if(!ee(G[x],_[x]))return!1;return!0}if(F!=w)return!1;var E=G instanceof Date,g=_ instanceof Date;if(E!=g)return!1;if(E&&g)return G.getTime()==_.getTime();var m=G instanceof RegExp,C=_ instanceof RegExp;if(m!=C)return!1;if(m&&C)return G.toString()==_.toString();var d=X(G);if(y=d.length,y!==X(_).length)return!1;for(x=y;x--!==0;)if(!K.call(_,d[x]))return!1;for(x=y;x--!==0;)if(b=d[x],!ee(G[b],_[b]))return!1;return!0}return G!==G&&_!==_}},75172:function(we,Me,X){var K=X(89224);we.exports={Graph:K.Graph,json:X(17401),alg:X(54613),version:K.version}},91606:function(we,Me,X){var K=X(95329);we.exports=ee;function ee(G){var _={},F=[],w;function x(y){K.has(_,y)||(_[y]=!0,w.push(y),K.each(G.successors(y),x),K.each(G.predecessors(y),x))}return K.each(G.nodes(),function(y){w=[],x(y),w.length&&F.push(w)}),F}},21482:function(we,Me,X){var K=X(95329);we.exports=ee;function ee(_,F,w){K.isArray(F)||(F=[F]);var x=(_.isDirected()?_.successors:_.neighbors).bind(_),y=[],b={};return K.each(F,function(E){if(!_.hasNode(E))throw new Error("Graph does not have node: "+E);G(_,E,w==="post",b,x,y)}),y}function G(_,F,w,x,y,b){K.has(x,F)||(x[F]=!0,w||b.push(F),K.each(y(F),function(E){G(_,E,w,x,y,b)}),w&&b.push(F))}},40845:function(we,Me,X){var K=X(13746),ee=X(95329);we.exports=G;function G(_,F,w){return ee.transform(_.nodes(),function(x,y){x[y]=K(_,y,F,w)},{})}},13746:function(we,Me,X){var K=X(95329),ee=X(36614);we.exports=_;var G=K.constant(1);function _(w,x,y,b){return F(w,String(x),y||G,b||function(E){return w.outEdges(E)})}function F(w,x,y,b){var E={},g=new ee,m,C,d=function(v){var A=v.v!==m?v.v:v.w,T=E[A],O=y(v),P=C.distance+O;if(O<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+O);P<T.distance&&(T.distance=P,T.predecessor=m,g.decrease(A,P))};for(w.nodes().forEach(function(v){var A=v===x?0:Number.POSITIVE_INFINITY;E[v]={distance:A},g.add(v,A)});g.size()>0&&(m=g.removeMin(),C=E[m],C.distance!==Number.POSITIVE_INFINITY);)b(m).forEach(d);return E}},59324:function(we,Me,X){var K=X(95329),ee=X(94558);we.exports=G;function G(_){return K.filter(ee(_),function(F){return F.length>1||F.length===1&&_.hasEdge(F[0],F[0])})}},22893:function(we,Me,X){var K=X(95329);we.exports=G;var ee=K.constant(1);function G(F,w,x){return _(F,w||ee,x||function(y){return F.outEdges(y)})}function _(F,w,x){var y={},b=F.nodes();return b.forEach(function(E){y[E]={},y[E][E]={distance:0},b.forEach(function(g){E!==g&&(y[E][g]={distance:Number.POSITIVE_INFINITY})}),x(E).forEach(function(g){var m=g.v===E?g.w:g.v,C=w(g);y[E][m]={distance:C,predecessor:E}})}),b.forEach(function(E){var g=y[E];b.forEach(function(m){var C=y[m];b.forEach(function(d){var v=C[E],A=g[d],T=C[d],O=v.distance+A.distance;O<T.distance&&(T.distance=O,T.predecessor=A.predecessor)})})}),y}},54613:function(we,Me,X){we.exports={components:X(91606),dijkstra:X(13746),dijkstraAll:X(40845),findCycles:X(59324),floydWarshall:X(22893),isAcyclic:X(588),postorder:X(98049),preorder:X(67158),prim:X(66058),tarjan:X(94558),topsort:X(7793)}},588:function(we,Me,X){var K=X(7793);we.exports=ee;function ee(G){try{K(G)}catch(_){if(_ instanceof K.CycleException)return!1;throw _}return!0}},98049:function(we,Me,X){var K=X(21482);we.exports=ee;function ee(G,_){return K(G,_,"post")}},67158:function(we,Me,X){var K=X(21482);we.exports=ee;function ee(G,_){return K(G,_,"pre")}},66058:function(we,Me,X){var K=X(95329),ee=X(6349),G=X(36614);we.exports=_;function _(F,w){var x=new ee,y={},b=new G,E;function g(C){var d=C.v===E?C.w:C.v,v=b.priority(d);if(v!==void 0){var A=w(C);A<v&&(y[d]=E,b.decrease(d,A))}}if(F.nodeCount()===0)return x;K.each(F.nodes(),function(C){b.add(C,Number.POSITIVE_INFINITY),x.setNode(C)}),b.decrease(F.nodes()[0],0);for(var m=!1;b.size()>0;){if(E=b.removeMin(),K.has(y,E))x.setEdge(E,y[E]);else{if(m)throw new Error("Input graph is not connected: "+F);m=!0}F.nodeEdges(E).forEach(g)}return x}},94558:function(we,Me,X){var K=X(95329);we.exports=ee;function ee(G){var _=0,F=[],w={},x=[];function y(b){var E=w[b]={onStack:!0,lowlink:_,index:_++};if(F.push(b),G.successors(b).forEach(function(C){K.has(w,C)?w[C].onStack&&(E.lowlink=Math.min(E.lowlink,w[C].index)):(y(C),E.lowlink=Math.min(E.lowlink,w[C].lowlink))}),E.lowlink===E.index){var g=[],m;do m=F.pop(),w[m].onStack=!1,g.push(m);while(b!==m);x.push(g)}}return G.nodes().forEach(function(b){K.has(w,b)||y(b)}),x}},7793:function(we,Me,X){var K=X(95329);we.exports=ee,ee.CycleException=G;function ee(_){var F={},w={},x=[];function y(b){if(K.has(w,b))throw new G;K.has(F,b)||(w[b]=!0,F[b]=!0,K.each(_.predecessors(b),y),delete w[b],x.push(b))}if(K.each(_.sinks(),y),K.size(F)!==_.nodeCount())throw new G;return x}function G(){}G.prototype=new Error},36614:function(we,Me,X){var K=X(95329);we.exports=ee;function ee(){this._arr=[],this._keyIndices={}}ee.prototype.size=function(){return this._arr.length},ee.prototype.keys=function(){return this._arr.map(function(G){return G.key})},ee.prototype.has=function(G){return K.has(this._keyIndices,G)},ee.prototype.priority=function(G){var _=this._keyIndices[G];if(_!==void 0)return this._arr[_].priority},ee.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},ee.prototype.add=function(G,_){var F=this._keyIndices;if(G=String(G),!K.has(F,G)){var w=this._arr,x=w.length;return F[G]=x,w.push({key:G,priority:_}),this._decrease(x),!0}return!1},ee.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var G=this._arr.pop();return delete this._keyIndices[G.key],this._heapify(0),G.key},ee.prototype.decrease=function(G,_){var F=this._keyIndices[G];if(_>this._arr[F].priority)throw new Error("New priority is greater than current priority. Key: "+G+" Old: "+this._arr[F].priority+" New: "+_);this._arr[F].priority=_,this._decrease(F)},ee.prototype._heapify=function(G){var _=this._arr,F=2*G,w=F+1,x=G;F<_.length&&(x=_[F].priority<_[x].priority?F:x,w<_.length&&(x=_[w].priority<_[x].priority?w:x),x!==G&&(this._swap(G,x),this._heapify(x)))},ee.prototype._decrease=function(G){for(var _=this._arr,F=_[G].priority,w;G!==0&&(w=G>>1,!(_[w].priority<F));)this._swap(G,w),G=w},ee.prototype._swap=function(G,_){var F=this._arr,w=this._keyIndices,x=F[G],y=F[_];F[G]=y,F[_]=x,w[y.key]=G,w[x.key]=_}},6349:function(we,Me,X){"use strict";var K=X(95329);we.exports=F;var ee="\0",G="\0",_="";function F(g){this._isDirected=K.has(g,"directed")?g.directed:!0,this._isMultigraph=K.has(g,"multigraph")?g.multigraph:!1,this._isCompound=K.has(g,"compound")?g.compound:!1,this._label=void 0,this._defaultNodeLabelFn=K.constant(void 0),this._defaultEdgeLabelFn=K.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[G]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}F.prototype._nodeCount=0,F.prototype._edgeCount=0,F.prototype.isDirected=function(){return this._isDirected},F.prototype.isMultigraph=function(){return this._isMultigraph},F.prototype.isCompound=function(){return this._isCompound},F.prototype.setGraph=function(g){return this._label=g,this},F.prototype.graph=function(){return this._label},F.prototype.setDefaultNodeLabel=function(g){return K.isFunction(g)||(g=K.constant(g)),this._defaultNodeLabelFn=g,this},F.prototype.nodeCount=function(){return this._nodeCount},F.prototype.nodes=function(){return K.keys(this._nodes)},F.prototype.sources=function(){var g=this;return K.filter(this.nodes(),function(m){return K.isEmpty(g._in[m])})},F.prototype.sinks=function(){var g=this;return K.filter(this.nodes(),function(m){return K.isEmpty(g._out[m])})},F.prototype.setNodes=function(g,m){var C=arguments,d=this;return K.each(g,function(v){C.length>1?d.setNode(v,m):d.setNode(v)}),this},F.prototype.setNode=function(g,m){return K.has(this._nodes,g)?(arguments.length>1&&(this._nodes[g]=m),this):(this._nodes[g]=arguments.length>1?m:this._defaultNodeLabelFn(g),this._isCompound&&(this._parent[g]=G,this._children[g]={},this._children[G][g]=!0),this._in[g]={},this._preds[g]={},this._out[g]={},this._sucs[g]={},++this._nodeCount,this)},F.prototype.node=function(g){return this._nodes[g]},F.prototype.hasNode=function(g){return K.has(this._nodes,g)},F.prototype.removeNode=function(g){var m=this;if(K.has(this._nodes,g)){var C=function(d){m.removeEdge(m._edgeObjs[d])};delete this._nodes[g],this._isCompound&&(this._removeFromParentsChildList(g),delete this._parent[g],K.each(this.children(g),function(d){m.setParent(d)}),delete this._children[g]),K.each(K.keys(this._in[g]),C),delete this._in[g],delete this._preds[g],K.each(K.keys(this._out[g]),C),delete this._out[g],delete this._sucs[g],--this._nodeCount}return this},F.prototype.setParent=function(g,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(K.isUndefined(m))m=G;else{m+="";for(var C=m;!K.isUndefined(C);C=this.parent(C))if(C===g)throw new Error("Setting "+m+" as parent of "+g+" would create a cycle");this.setNode(m)}return this.setNode(g),this._removeFromParentsChildList(g),this._parent[g]=m,this._children[m][g]=!0,this},F.prototype._removeFromParentsChildList=function(g){delete this._children[this._parent[g]][g]},F.prototype.parent=function(g){if(this._isCompound){var m=this._parent[g];if(m!==G)return m}},F.prototype.children=function(g){if(K.isUndefined(g)&&(g=G),this._isCompound){var m=this._children[g];if(m)return K.keys(m)}else{if(g===G)return this.nodes();if(this.hasNode(g))return[]}},F.prototype.predecessors=function(g){var m=this._preds[g];if(m)return K.keys(m)},F.prototype.successors=function(g){var m=this._sucs[g];if(m)return K.keys(m)},F.prototype.neighbors=function(g){var m=this.predecessors(g);if(m)return K.union(m,this.successors(g))},F.prototype.isLeaf=function(g){var m;return this.isDirected()?m=this.successors(g):m=this.neighbors(g),m.length===0},F.prototype.filterNodes=function(g){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var C=this;K.each(this._nodes,function(A,T){g(T)&&m.setNode(T,A)}),K.each(this._edgeObjs,function(A){m.hasNode(A.v)&&m.hasNode(A.w)&&m.setEdge(A,C.edge(A))});var d={};function v(A){var T=C.parent(A);return T===void 0||m.hasNode(T)?(d[A]=T,T):T in d?d[T]:v(T)}return this._isCompound&&K.each(m.nodes(),function(A){m.setParent(A,v(A))}),m},F.prototype.setDefaultEdgeLabel=function(g){return K.isFunction(g)||(g=K.constant(g)),this._defaultEdgeLabelFn=g,this},F.prototype.edgeCount=function(){return this._edgeCount},F.prototype.edges=function(){return K.values(this._edgeObjs)},F.prototype.setPath=function(g,m){var C=this,d=arguments;return K.reduce(g,function(v,A){return d.length>1?C.setEdge(v,A,m):C.setEdge(v,A),A}),this},F.prototype.setEdge=function(){var g,m,C,d,v=!1,A=arguments[0];typeof A=="object"&&A!==null&&"v"in A?(g=A.v,m=A.w,C=A.name,arguments.length===2&&(d=arguments[1],v=!0)):(g=A,m=arguments[1],C=arguments[3],arguments.length>2&&(d=arguments[2],v=!0)),g=""+g,m=""+m,K.isUndefined(C)||(C=""+C);var T=y(this._isDirected,g,m,C);if(K.has(this._edgeLabels,T))return v&&(this._edgeLabels[T]=d),this;if(!K.isUndefined(C)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(g),this.setNode(m),this._edgeLabels[T]=v?d:this._defaultEdgeLabelFn(g,m,C);var O=b(this._isDirected,g,m,C);return g=O.v,m=O.w,Object.freeze(O),this._edgeObjs[T]=O,w(this._preds[m],g),w(this._sucs[g],m),this._in[m][T]=O,this._out[g][T]=O,this._edgeCount++,this},F.prototype.edge=function(g,m,C){var d=arguments.length===1?E(this._isDirected,arguments[0]):y(this._isDirected,g,m,C);return this._edgeLabels[d]},F.prototype.hasEdge=function(g,m,C){var d=arguments.length===1?E(this._isDirected,arguments[0]):y(this._isDirected,g,m,C);return K.has(this._edgeLabels,d)},F.prototype.removeEdge=function(g,m,C){var d=arguments.length===1?E(this._isDirected,arguments[0]):y(this._isDirected,g,m,C),v=this._edgeObjs[d];return v&&(g=v.v,m=v.w,delete this._edgeLabels[d],delete this._edgeObjs[d],x(this._preds[m],g),x(this._sucs[g],m),delete this._in[m][d],delete this._out[g][d],this._edgeCount--),this},F.prototype.inEdges=function(g,m){var C=this._in[g];if(C){var d=K.values(C);return m?K.filter(d,function(v){return v.v===m}):d}},F.prototype.outEdges=function(g,m){var C=this._out[g];if(C){var d=K.values(C);return m?K.filter(d,function(v){return v.w===m}):d}},F.prototype.nodeEdges=function(g,m){var C=this.inEdges(g,m);if(C)return C.concat(this.outEdges(g,m))};function w(g,m){g[m]?g[m]++:g[m]=1}function x(g,m){--g[m]||delete g[m]}function y(g,m,C,d){var v=""+m,A=""+C;if(!g&&v>A){var T=v;v=A,A=T}return v+_+A+_+(K.isUndefined(d)?ee:d)}function b(g,m,C,d){var v=""+m,A=""+C;if(!g&&v>A){var T=v;v=A,A=T}var O={v,w:A};return d&&(O.name=d),O}function E(g,m){return y(g,m.v,m.w,m.name)}},89224:function(we,Me,X){we.exports={Graph:X(6349),version:X(83780)}},17401:function(we,Me,X){var K=X(95329),ee=X(6349);we.exports={write:G,read:w};function G(x){var y={options:{directed:x.isDirected(),multigraph:x.isMultigraph(),compound:x.isCompound()},nodes:_(x),edges:F(x)};return K.isUndefined(x.graph())||(y.value=K.clone(x.graph())),y}function _(x){return K.map(x.nodes(),function(y){var b=x.node(y),E=x.parent(y),g={v:y};return K.isUndefined(b)||(g.value=b),K.isUndefined(E)||(g.parent=E),g})}function F(x){return K.map(x.edges(),function(y){var b=x.edge(y),E={v:y.v,w:y.w};return K.isUndefined(y.name)||(E.name=y.name),K.isUndefined(b)||(E.value=b),E})}function w(x){var y=new ee(x.options).setGraph(x.value);return K.each(x.nodes,function(b){y.setNode(b.v,b.value),b.parent&&y.setParent(b.v,b.parent)}),K.each(x.edges,function(b){y.setEdge({v:b.v,w:b.w,name:b.name},b.value)}),y}},95329:function(we,Me,X){var K;try{K={clone:X(76833),constant:X(13503),each:X(76934),filter:X(64725),has:X(99946),isArray:X(80744),isEmpty:X(61627),isFunction:X(9363),isUndefined:X(16513),keys:X(55451),map:X(9924),reduce:X(16473),size:X(40617),transform:X(91116),union:X(44065),values:X(81229)}}catch(ee){}K||(K=window._),we.exports=K},83780:function(we){we.exports="2.1.8"},34634:function(we,Me,X){"use strict";X.r(Me),X.d(Me,{isAnyArray:function(){return ee}});const K=Object.prototype.toString;function ee(G){const _=K.call(G);return _.endsWith("Array]")&&!_.includes("Big")}},22948:function(we){we.exports=function(X){return!X||typeof X=="string"?!1:X instanceof Array||Array.isArray(X)||X.length>=0&&(X.splice instanceof Function||Object.getOwnPropertyDescriptor(X,X.length-1)&&X.constructor.name!=="String")}},15584:function(we,Me,X){var K=X(73893),ee=X(33152),G=K(ee,"DataView");we.exports=G},97288:function(we,Me,X){var K=X(73893),ee=X(33152),G=K(ee,"Promise");we.exports=G},23599:function(we,Me,X){var K=X(73893),ee=X(33152),G=K(ee,"Set");we.exports=G},98924:function(we,Me,X){var K=X(52166),ee=X(34776),G=X(40393);function _(F){var w=-1,x=F==null?0:F.length;for(this.__data__=new K;++w<x;)this.add(F[w])}_.prototype.add=_.prototype.push=ee,_.prototype.has=G,we.exports=_},26873:function(we,Me,X){var K=X(73893),ee=X(33152),G=K(ee,"WeakMap");we.exports=G},74809:function(we){function Me(X,K){for(var ee=-1,G=X==null?0:X.length;++ee<G&&K(X[ee],ee,X)!==!1;);return X}we.exports=Me},86952:function(we){function Me(X,K){for(var ee=-1,G=X==null?0:X.length,_=0,F=[];++ee<G;){var w=X[ee];K(w,ee,X)&&(F[_++]=w)}return F}we.exports=Me},84271:function(we,Me,X){var K=X(17424);function ee(G,_){var F=G==null?0:G.length;return!!F&&K(G,_,0)>-1}we.exports=ee},94874:function(we){function Me(X,K,ee){for(var G=-1,_=X==null?0:X.length;++G<_;)if(ee(K,X[G]))return!0;return!1}we.exports=Me},75010:function(we){function Me(X,K){for(var ee=-1,G=X==null?0:X.length,_=Array(G);++ee<G;)_[ee]=K(X[ee],ee,X);return _}we.exports=Me},57095:function(we){function Me(X,K){for(var ee=-1,G=K.length,_=X.length;++ee<G;)X[_+ee]=K[ee];return X}we.exports=Me},99861:function(we){function Me(X,K,ee,G){var _=-1,F=X==null?0:X.length;for(G&&F&&(ee=X[++_]);++_<F;)ee=K(ee,X[_],_,X);return ee}we.exports=Me},64045:function(we){function Me(X,K){for(var ee=-1,G=X==null?0:X.length;++ee<G;)if(K(X[ee],ee,X))return!0;return!1}we.exports=Me},26539:function(we,Me,X){var K=X(22310),ee=K("length");we.exports=ee},91937:function(we,Me,X){var K=X(95378),ee=X(55451);function G(_,F){return _&&K(F,ee(F),_)}we.exports=G},26680:function(we,Me,X){var K=X(95378),ee=X(56730);function G(_,F){return _&&K(F,ee(F),_)}we.exports=G},99045:function(we,Me,X){var K=X(91866),ee=X(74809),G=X(60348),_=X(91937),F=X(26680),w=X(32315),x=X(47760),y=X(15168),b=X(71678),E=X(12076),g=X(22675),m=X(66139),C=X(79264),d=X(97541),v=X(4084),A=X(80744),T=X(57835),O=X(41626),P=X(20816),L=X(65226),c=X(55451),f=X(56730),D=1,R=2,k=4,W="[object Arguments]",z="[object Array]",Z="[object Boolean]",Q="[object Date]",te="[object Error]",$="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",re="[object Number]",ce="[object Object]",oe="[object RegExp]",he="[object Set]",se="[object String]",pe="[object Symbol]",me="[object WeakMap]",ge="[object ArrayBuffer]",Ee="[object DataView]",Ae="[object Float32Array]",Fe="[object Float64Array]",Ue="[object Int8Array]",nt="[object Int16Array]",rt="[object Int32Array]",qe="[object Uint8Array]",dt="[object Uint8ClampedArray]",yt="[object Uint16Array]",je="[object Uint32Array]",at={};at[W]=at[z]=at[ge]=at[Ee]=at[Z]=at[Q]=at[Ae]=at[Fe]=at[Ue]=at[nt]=at[rt]=at[ae]=at[re]=at[ce]=at[oe]=at[he]=at[se]=at[pe]=at[qe]=at[dt]=at[yt]=at[je]=!0,at[te]=at[$]=at[me]=!1;function it(ht,ut,Mt,Ce,ot,Pe){var Ne,We=ut&D,Be=ut&R,Ve=ut&k;if(Mt&&(Ne=ot?Mt(ht,Ce,ot,Pe):Mt(ht)),Ne!==void 0)return Ne;if(!P(ht))return ht;var $e=A(ht);if($e){if(Ne=C(ht),!We)return x(ht,Ne)}else{var lt=m(ht),pt=lt==$||lt==ie;if(T(ht))return w(ht,We);if(lt==ce||lt==W||pt&&!ot){if(Ne=Be||pt?{}:v(ht),!We)return Be?b(ht,F(Ne,ht)):y(ht,_(Ne,ht))}else{if(!at[lt])return ot?ht:{};Ne=d(ht,lt,We)}}Pe||(Pe=new K);var xt=Pe.get(ht);if(xt)return xt;Pe.set(ht,Ne),L(ht)?ht.forEach(function(kt){Ne.add(it(kt,ut,Mt,kt,ht,Pe))}):O(ht)&&ht.forEach(function(kt,Yt){Ne.set(Yt,it(kt,ut,Mt,Yt,ht,Pe))});var wt=Ve?Be?g:E:Be?f:c,Dt=$e?void 0:wt(ht);return ee(Dt||ht,function(kt,Yt){Dt&&(Yt=kt,kt=ht[Yt]),G(Ne,Yt,it(kt,ut,Mt,Yt,ht,Pe))}),Ne}we.exports=it},44107:function(we,Me,X){var K=X(1585),ee=X(49164),G=ee(K);we.exports=G},2659:function(we,Me,X){var K=X(50315);function ee(G,_,F){for(var w=-1,x=G.length;++w<x;){var y=G[w],b=_(y);if(b!=null&&(E===void 0?b===b&&!K(b):F(b,E)))var E=b,g=y}return g}we.exports=ee},32872:function(we,Me,X){var K=X(44107);function ee(G,_){var F=[];return K(G,function(w,x,y){_(w,x,y)&&F.push(w)}),F}we.exports=ee},51533:function(we){function Me(X,K,ee,G){for(var _=X.length,F=ee+(G?1:-1);G?F--:++F<_;)if(K(X[F],F,X))return F;return-1}we.exports=Me},9256:function(we,Me,X){var K=X(57095),ee=X(88133);function G(_,F,w,x,y){var b=-1,E=_.length;for(w||(w=ee),y||(y=[]);++b<E;){var g=_[b];F>0&&w(g)?F>1?G(g,F-1,w,x,y):K(y,g):x||(y[y.length]=g)}return y}we.exports=G},1585:function(we,Me,X){var K=X(14018),ee=X(55451);function G(_,F){return _&&K(_,F,ee)}we.exports=G},89147:function(we,Me,X){var K=X(1186),ee=X(9171);function G(_,F){F=K(F,_);for(var w=0,x=F.length;_!=null&&w<x;)_=_[ee(F[w++])];return w&&w==x?_:void 0}we.exports=G},75635:function(we,Me,X){var K=X(57095),ee=X(80744);function G(_,F,w){var x=F(_);return ee(_)?x:K(x,w(_))}we.exports=G},40302:function(we){function Me(X,K){return X>K}we.exports=Me},3251:function(we){var Me=Object.prototype,X=Me.hasOwnProperty;function K(ee,G){return ee!=null&&X.call(ee,G)}we.exports=K},62348:function(we){function Me(X,K){return X!=null&&K in Object(X)}we.exports=Me},17424:function(we,Me,X){var K=X(51533),ee=X(8373),G=X(49237);function _(F,w,x){return w===w?G(F,w,x):K(F,ee,x)}we.exports=_},77295:function(we,Me,X){var K=X(84412),ee=X(93913);function G(_,F,w,x,y){return _===F?!0:_==null||F==null||!ee(_)&&!ee(F)?_!==_&&F!==F:K(_,F,w,x,G,y)}we.exports=G},84412:function(we,Me,X){var K=X(91866),ee=X(50401),G=X(57710),_=X(4983),F=X(66139),w=X(80744),x=X(57835),y=X(18397),b=1,E="[object Arguments]",g="[object Array]",m="[object Object]",C=Object.prototype,d=C.hasOwnProperty;function v(A,T,O,P,L,c){var f=w(A),D=w(T),R=f?g:F(A),k=D?g:F(T);R=R==E?m:R,k=k==E?m:k;var W=R==m,z=k==m,Z=R==k;if(Z&&x(A)){if(!x(T))return!1;f=!0,W=!1}if(Z&&!W)return c||(c=new K),f||y(A)?ee(A,T,O,P,L,c):G(A,T,R,O,P,L,c);if(!(O&b)){var Q=W&&d.call(A,"__wrapped__"),te=z&&d.call(T,"__wrapped__");if(Q||te){var $=Q?A.value():A,ie=te?T.value():T;return c||(c=new K),L($,ie,O,P,c)}}return Z?(c||(c=new K),_(A,T,O,P,L,c)):!1}we.exports=v},55005:function(we,Me,X){var K=X(66139),ee=X(93913),G="[object Map]";function _(F){return ee(F)&&K(F)==G}we.exports=_},51524:function(we,Me,X){var K=X(91866),ee=X(77295),G=1,_=2;function F(w,x,y,b){var E=y.length,g=E,m=!b;if(w==null)return!g;for(w=Object(w);E--;){var C=y[E];if(m&&C[2]?C[1]!==w[C[0]]:!(C[0]in w))return!1}for(;++E<g;){C=y[E];var d=C[0],v=w[d],A=C[1];if(m&&C[2]){if(v===void 0&&!(d in w))return!1}else{var T=new K;if(b)var O=b(v,A,d,w,x,T);if(!(O===void 0?ee(A,v,G|_,b,T):O))return!1}}return!0}we.exports=F},8373:function(we){function Me(X){return X!==X}we.exports=Me},38652:function(we,Me,X){var K=X(66139),ee=X(93913),G="[object Set]";function _(F){return ee(F)&&K(F)==G}we.exports=_},95979:function(we,Me,X){var K=X(17632),ee=X(38933),G=X(46962),_=X(80744),F=X(35769);function w(x){return typeof x=="function"?x:x==null?G:typeof x=="object"?_(x)?ee(x[0],x[1]):K(x):F(x)}we.exports=w},6019:function(we,Me,X){var K=X(7975),ee=X(23730),G=Object.prototype,_=G.hasOwnProperty;function F(w){if(!K(w))return ee(w);var x=[];for(var y in Object(w))_.call(w,y)&&y!="constructor"&&x.push(y);return x}we.exports=F},93757:function(we){function Me(X,K){return X<K}we.exports=Me},65487:function(we,Me,X){var K=X(44107),ee=X(24665);function G(_,F){var w=-1,x=ee(_)?Array(_.length):[];return K(_,function(y,b,E){x[++w]=F(y,b,E)}),x}we.exports=G},17632:function(we,Me,X){var K=X(51524),ee=X(10261),G=X(24122);function _(F){var w=ee(F);return w.length==1&&w[0][2]?G(w[0][0],w[0][1]):function(x){return x===F||K(x,F,w)}}we.exports=_},38933:function(we,Me,X){var K=X(77295),ee=X(44231),G=X(37879),_=X(86773),F=X(88411),w=X(24122),x=X(9171),y=1,b=2;function E(g,m){return _(g)&&F(m)?w(x(g),m):function(C){var d=ee(C,g);return d===void 0&&d===m?G(C,g):K(m,d,y|b)}}we.exports=E},58506:function(we,Me,X){var K=X(75010),ee=X(89147),G=X(95979),_=X(65487),F=X(33065),w=X(38342),x=X(11249),y=X(46962),b=X(80744);function E(g,m,C){m.length?m=K(m,function(A){return b(A)?function(T){return ee(T,A.length===1?A[0]:A)}:A}):m=[y];var d=-1;m=K(m,w(G));var v=_(g,function(A,T,O){var P=K(m,function(L){return L(A)});return{criteria:P,index:++d,value:A}});return F(v,function(A,T){return x(A,T,C)})}we.exports=E},88832:function(we,Me,X){var K=X(10867),ee=X(37879);function G(_,F){return K(_,F,function(w,x){return ee(_,x)})}we.exports=G},10867:function(we,Me,X){var K=X(89147),ee=X(36897),G=X(1186);function _(F,w,x){for(var y=-1,b=w.length,E={};++y<b;){var g=w[y],m=K(F,g);x(m,g)&&ee(E,G(g,F),m)}return E}we.exports=_},22310:function(we){function Me(X){return function(K){return K==null?void 0:K[X]}}we.exports=Me},96916:function(we,Me,X){var K=X(89147);function ee(G){return function(_){return K(_,G)}}we.exports=ee},36121:function(we){var Me=Math.ceil,X=Math.max;function K(ee,G,_,F){for(var w=-1,x=X(Me((G-ee)/(_||1)),0),y=Array(x);x--;)y[F?x:++w]=ee,ee+=_;return y}we.exports=K},30739:function(we){function Me(X,K,ee,G,_){return _(X,function(F,w,x){ee=G?(G=!1,F):K(ee,F,w,x)}),ee}we.exports=Me},36897:function(we,Me,X){var K=X(60348),ee=X(1186),G=X(70213),_=X(20816),F=X(9171);function w(x,y,b,E){if(!_(x))return x;y=ee(y,x);for(var g=-1,m=y.length,C=m-1,d=x;d!=null&&++g<m;){var v=F(y[g]),A=b;if(v==="__proto__"||v==="constructor"||v==="prototype")return x;if(g!=C){var T=d[v];A=E?E(T,v,d):void 0,A===void 0&&(A=_(T)?T:G(y[g+1])?[]:{})}K(d,v,A),d=d[v]}return x}we.exports=w},33065:function(we){function Me(X,K){var ee=X.length;for(X.sort(K);ee--;)X[ee]=X[ee].value;return X}we.exports=Me},50230:function(we,Me,X){var K=X(91869),ee=X(75010),G=X(80744),_=X(50315),F=1/0,w=K?K.prototype:void 0,x=w?w.toString:void 0;function y(b){if(typeof b=="string")return b;if(G(b))return ee(b,y)+"";if(_(b))return x?x.call(b):"";var E=b+"";return E=="0"&&1/b==-F?"-0":E}we.exports=y},13927:function(we,Me,X){var K=X(15333),ee=/^\s+/;function G(_){return _&&_.slice(0,K(_)+1).replace(ee,"")}we.exports=G},29098:function(we,Me,X){var K=X(98924),ee=X(84271),G=X(94874),_=X(1931),F=X(47506),w=X(79679),x=200;function y(b,E,g){var m=-1,C=ee,d=b.length,v=!0,A=[],T=A;if(g)v=!1,C=G;else if(d>=x){var O=E?null:F(b);if(O)return w(O);v=!1,C=_,T=new K}else T=E?[]:A;e:for(;++m<d;){var P=b[m],L=E?E(P):P;if(P=g||P!==0?P:0,v&&L===L){for(var c=T.length;c--;)if(T[c]===L)continue e;E&&T.push(L),A.push(P)}else C(T,L,g)||(T!==A&&T.push(L),A.push(P))}return A}we.exports=y},20720:function(we,Me,X){var K=X(75010);function ee(G,_){return K(_,function(F){return G[F]})}we.exports=ee},94484:function(we){function Me(X,K,ee){for(var G=-1,_=X.length,F=K.length,w={};++G<_;){var x=G<F?K[G]:void 0;ee(w,X[G],x)}return w}we.exports=Me},1931:function(we){function Me(X,K){return X.has(K)}we.exports=Me},11756:function(we,Me,X){var K=X(46962);function ee(G){return typeof G=="function"?G:K}we.exports=ee},1186:function(we,Me,X){var K=X(80744),ee=X(86773),G=X(40493),_=X(44140);function F(w,x){return K(w)?w:ee(w,x)?[w]:G(_(w))}we.exports=F},27984:function(we,Me,X){var K=X(20188);function ee(G,_){var F=_?K(G.buffer):G.buffer;return new G.constructor(F,G.byteOffset,G.byteLength)}we.exports=ee},78583:function(we){var Me=/\w*$/;function X(K){var ee=new K.constructor(K.source,Me.exec(K));return ee.lastIndex=K.lastIndex,ee}we.exports=X},28757:function(we,Me,X){var K=X(91869),ee=K?K.prototype:void 0,G=ee?ee.valueOf:void 0;function _(F){return G?Object(G.call(F)):{}}we.exports=_},83018:function(we,Me,X){var K=X(50315);function ee(G,_){if(G!==_){var F=G!==void 0,w=G===null,x=G===G,y=K(G),b=_!==void 0,E=_===null,g=_===_,m=K(_);if(!E&&!m&&!y&&G>_||y&&b&&g&&!E&&!m||w&&b&&g||!F&&g||!x)return 1;if(!w&&!y&&!m&&G<_||m&&F&&x&&!w&&!y||E&&F&&x||!b&&x||!g)return-1}return 0}we.exports=ee},11249:function(we,Me,X){var K=X(83018);function ee(G,_,F){for(var w=-1,x=G.criteria,y=_.criteria,b=x.length,E=F.length;++w<b;){var g=K(x[w],y[w]);if(g){if(w>=E)return g;var m=F[w];return g*(m=="desc"?-1:1)}}return G.index-_.index}we.exports=ee},15168:function(we,Me,X){var K=X(95378),ee=X(20530);function G(_,F){return K(_,ee(_),F)}we.exports=G},71678:function(we,Me,X){var K=X(95378),ee=X(66817);function G(_,F){return K(_,ee(_),F)}we.exports=G},49164:function(we,Me,X){var K=X(24665);function ee(G,_){return function(F,w){if(F==null)return F;if(!K(F))return G(F,w);for(var x=F.length,y=_?x:-1,b=Object(F);(_?y--:++y<x)&&w(b[y],y,b)!==!1;);return F}}we.exports=ee},19554:function(we,Me,X){var K=X(95979),ee=X(24665),G=X(55451);function _(F){return function(w,x,y){var b=Object(w);if(!ee(w)){var E=K(x,3);w=G(w),x=function(m){return E(b[m],m,b)}}var g=F(w,x,y);return g>-1?b[E?w[g]:g]:void 0}}we.exports=_},76106:function(we,Me,X){var K=X(36121),ee=X(8138),G=X(97341);function _(F){return function(w,x,y){return y&&typeof y!="number"&&ee(w,x,y)&&(x=y=void 0),w=G(w),x===void 0?(x=w,w=0):x=G(x),y=y===void 0?w<x?1:-1:G(y),K(w,x,y,F)}}we.exports=_},47506:function(we,Me,X){var K=X(23599),ee=X(9958),G=X(79679),_=1/0,F=K&&1/G(new K([,-0]))[1]==_?function(w){return new K(w)}:ee;we.exports=F},50401:function(we,Me,X){var K=X(98924),ee=X(64045),G=X(1931),_=1,F=2;function w(x,y,b,E,g,m){var C=b&_,d=x.length,v=y.length;if(d!=v&&!(C&&v>d))return!1;var A=m.get(x),T=m.get(y);if(A&&T)return A==y&&T==x;var O=-1,P=!0,L=b&F?new K:void 0;for(m.set(x,y),m.set(y,x);++O<d;){var c=x[O],f=y[O];if(E)var D=C?E(f,c,O,y,x,m):E(c,f,O,x,y,m);if(D!==void 0){if(D)continue;P=!1;break}if(L){if(!ee(y,function(R,k){if(!G(L,k)&&(c===R||g(c,R,b,E,m)))return L.push(k)})){P=!1;break}}else if(!(c===f||g(c,f,b,E,m))){P=!1;break}}return m.delete(x),m.delete(y),P}we.exports=w},57710:function(we,Me,X){var K=X(91869),ee=X(77945),G=X(43607),_=X(50401),F=X(83383),w=X(79679),x=1,y=2,b="[object Boolean]",E="[object Date]",g="[object Error]",m="[object Map]",C="[object Number]",d="[object RegExp]",v="[object Set]",A="[object String]",T="[object Symbol]",O="[object ArrayBuffer]",P="[object DataView]",L=K?K.prototype:void 0,c=L?L.valueOf:void 0;function f(D,R,k,W,z,Z,Q){switch(k){case P:if(D.byteLength!=R.byteLength||D.byteOffset!=R.byteOffset)return!1;D=D.buffer,R=R.buffer;case O:return!(D.byteLength!=R.byteLength||!Z(new ee(D),new ee(R)));case b:case E:case C:return G(+D,+R);case g:return D.name==R.name&&D.message==R.message;case d:case A:return D==R+"";case m:var te=F;case v:var $=W&x;if(te||(te=w),D.size!=R.size&&!$)return!1;var ie=Q.get(D);if(ie)return ie==R;W|=y,Q.set(D,R);var ae=_(te(D),te(R),W,z,Z,Q);return Q.delete(D),ae;case T:if(c)return c.call(D)==c.call(R)}return!1}we.exports=f},4983:function(we,Me,X){var K=X(12076),ee=1,G=Object.prototype,_=G.hasOwnProperty;function F(w,x,y,b,E,g){var m=y&ee,C=K(w),d=C.length,v=K(x),A=v.length;if(d!=A&&!m)return!1;for(var T=d;T--;){var O=C[T];if(!(m?O in x:_.call(x,O)))return!1}var P=g.get(w),L=g.get(x);if(P&&L)return P==x&&L==w;var c=!0;g.set(w,x),g.set(x,w);for(var f=m;++T<d;){O=C[T];var D=w[O],R=x[O];if(b)var k=m?b(R,D,O,x,w,g):b(D,R,O,w,x,g);if(!(k===void 0?D===R||E(D,R,y,b,g):k)){c=!1;break}f||(f=O=="constructor")}if(c&&!f){var W=w.constructor,z=x.constructor;W!=z&&"constructor"in w&&"constructor"in x&&!(typeof W=="function"&&W instanceof W&&typeof z=="function"&&z instanceof z)&&(c=!1)}return g.delete(w),g.delete(x),c}we.exports=F},522:function(we,Me,X){var K=X(40151),ee=X(19652),G=X(71152);function _(F){return G(ee(F,void 0,K),F+"")}we.exports=_},12076:function(we,Me,X){var K=X(75635),ee=X(20530),G=X(55451);function _(F){return K(F,G,ee)}we.exports=_},22675:function(we,Me,X){var K=X(75635),ee=X(66817),G=X(56730);function _(F){return K(F,G,ee)}we.exports=_},10261:function(we,Me,X){var K=X(88411),ee=X(55451);function G(_){for(var F=ee(_),w=F.length;w--;){var x=F[w],y=_[x];F[w]=[x,y,K(y)]}return F}we.exports=G},20530:function(we,Me,X){var K=X(86952),ee=X(4134),G=Object.prototype,_=G.propertyIsEnumerable,F=Object.getOwnPropertySymbols,w=F?function(x){return x==null?[]:(x=Object(x),K(F(x),function(y){return _.call(x,y)}))}:ee;we.exports=w},66817:function(we,Me,X){var K=X(57095),ee=X(49217),G=X(20530),_=X(4134),F=Object.getOwnPropertySymbols,w=F?function(x){for(var y=[];x;)K(y,G(x)),x=ee(x);return y}:_;we.exports=w},66139:function(we,Me,X){var K=X(15584),ee=X(40164),G=X(97288),_=X(23599),F=X(26873),w=X(86756),x=X(63256),y="[object Map]",b="[object Object]",E="[object Promise]",g="[object Set]",m="[object WeakMap]",C="[object DataView]",d=x(K),v=x(ee),A=x(G),T=x(_),O=x(F),P=w;(K&&P(new K(new ArrayBuffer(1)))!=C||ee&&P(new ee)!=y||G&&P(G.resolve())!=E||_&&P(new _)!=g||F&&P(new F)!=m)&&(P=function(L){var c=w(L),f=c==b?L.constructor:void 0,D=f?x(f):"";if(D)switch(D){case d:return C;case v:return y;case A:return E;case T:return g;case O:return m}return c}),we.exports=P},63100:function(we,Me,X){var K=X(1186),ee=X(13053),G=X(80744),_=X(70213),F=X(11156),w=X(9171);function x(y,b,E){b=K(b,y);for(var g=-1,m=b.length,C=!1;++g<m;){var d=w(b[g]);if(!(C=y!=null&&E(y,d)))break;y=y[d]}return C||++g!=m?C:(m=y==null?0:y.length,!!m&&F(m)&&_(d,m)&&(G(y)||ee(y)))}we.exports=x},55015:function(we){var Me="\\ud800-\\udfff",X="\\u0300-\\u036f",K="\\ufe20-\\ufe2f",ee="\\u20d0-\\u20ff",G=X+K+ee,_="\\ufe0e\\ufe0f",F="\\u200d",w=RegExp("["+F+Me+G+_+"]");function x(y){return w.test(y)}we.exports=x},79264:function(we){var Me=Object.prototype,X=Me.hasOwnProperty;function K(ee){var G=ee.length,_=new ee.constructor(G);return G&&typeof ee[0]=="string"&&X.call(ee,"index")&&(_.index=ee.index,_.input=ee.input),_}we.exports=K},97541:function(we,Me,X){var K=X(20188),ee=X(27984),G=X(78583),_=X(28757),F=X(78358),w="[object Boolean]",x="[object Date]",y="[object Map]",b="[object Number]",E="[object RegExp]",g="[object Set]",m="[object String]",C="[object Symbol]",d="[object ArrayBuffer]",v="[object DataView]",A="[object Float32Array]",T="[object Float64Array]",O="[object Int8Array]",P="[object Int16Array]",L="[object Int32Array]",c="[object Uint8Array]",f="[object Uint8ClampedArray]",D="[object Uint16Array]",R="[object Uint32Array]";function k(W,z,Z){var Q=W.constructor;switch(z){case d:return K(W);case w:case x:return new Q(+W);case v:return ee(W,Z);case A:case T:case O:case P:case L:case c:case f:case D:case R:return F(W,Z);case y:return new Q;case b:case m:return new Q(W);case E:return G(W);case g:return new Q;case C:return _(W)}}we.exports=k},88133:function(we,Me,X){var K=X(91869),ee=X(13053),G=X(80744),_=K?K.isConcatSpreadable:void 0;function F(w){return G(w)||ee(w)||!!(_&&w&&w[_])}we.exports=F},86773:function(we,Me,X){var K=X(80744),ee=X(50315),G=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_=/^\w*$/;function F(w,x){if(K(w))return!1;var y=typeof w;return y=="number"||y=="symbol"||y=="boolean"||w==null||ee(w)?!0:_.test(w)||!G.test(w)||x!=null&&w in Object(x)}we.exports=F},88411:function(we,Me,X){var K=X(20816);function ee(G){return G===G&&!K(G)}we.exports=ee},83383:function(we){function Me(X){var K=-1,ee=Array(X.size);return X.forEach(function(G,_){ee[++K]=[_,G]}),ee}we.exports=Me},24122:function(we){function Me(X,K){return function(ee){return ee==null?!1:ee[X]===K&&(K!==void 0||X in Object(ee))}}we.exports=Me},26332:function(we,Me,X){var K=X(52858),ee=500;function G(_){var F=K(_,function(x){return w.size===ee&&w.clear(),x}),w=F.cache;return F}we.exports=G},23730:function(we,Me,X){var K=X(31030),ee=K(Object.keys,Object);we.exports=ee},34776:function(we){var Me="__lodash_hash_undefined__";function X(K){return this.__data__.set(K,Me),this}we.exports=X},40393:function(we){function Me(X){return this.__data__.has(X)}we.exports=Me},79679:function(we){function Me(X){var K=-1,ee=Array(X.size);return X.forEach(function(G){ee[++K]=G}),ee}we.exports=Me},49237:function(we){function Me(X,K,ee){for(var G=ee-1,_=X.length;++G<_;)if(X[G]===K)return G;return-1}we.exports=Me},29405:function(we,Me,X){var K=X(26539),ee=X(55015),G=X(60844);function _(F){return ee(F)?G(F):K(F)}we.exports=_},40493:function(we,Me,X){var K=X(26332),ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/\\(\\)?/g,_=K(function(F){var w=[];return F.charCodeAt(0)===46&&w.push(""),F.replace(ee,function(x,y,b,E){w.push(b?E.replace(G,"$1"):y||x)}),w});we.exports=_},9171:function(we,Me,X){var K=X(50315),ee=1/0;function G(_){if(typeof _=="string"||K(_))return _;var F=_+"";return F=="0"&&1/_==-ee?"-0":F}we.exports=G},15333:function(we){var Me=/\s/;function X(K){for(var ee=K.length;ee--&&Me.test(K.charAt(ee)););return ee}we.exports=X},60844:function(we){var Me="\\ud800-\\udfff",X="\\u0300-\\u036f",K="\\ufe20-\\ufe2f",ee="\\u20d0-\\u20ff",G=X+K+ee,_="\\ufe0e\\ufe0f",F="["+Me+"]",w="["+G+"]",x="\\ud83c[\\udffb-\\udfff]",y="(?:"+w+"|"+x+")",b="[^"+Me+"]",E="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",m="\\u200d",C=y+"?",d="["+_+"]?",v="(?:"+m+"(?:"+[b,E,g].join("|")+")"+d+C+")*",A=d+C+v,T="(?:"+[b+w+"?",w,E,g,F].join("|")+")",O=RegExp(x+"(?="+x+")|"+T+A,"g");function P(L){for(var c=O.lastIndex=0;O.test(L);)++c;return c}we.exports=P},76833:function(we,Me,X){var K=X(99045),ee=4;function G(_){return K(_,ee)}we.exports=G},20250:function(we,Me,X){var K=X(99045),ee=1,G=4;function _(F){return K(F,ee|G)}we.exports=_},28548:function(we,Me,X){var K=X(92918),ee=X(43607),G=X(8138),_=X(56730),F=Object.prototype,w=F.hasOwnProperty,x=K(function(y,b){y=Object(y);var E=-1,g=b.length,m=g>2?b[2]:void 0;for(m&&G(b[0],b[1],m)&&(g=1);++E<g;)for(var C=b[E],d=_(C),v=-1,A=d.length;++v<A;){var T=d[v],O=y[T];(O===void 0||ee(O,F[T])&&!w.call(y,T))&&(y[T]=C[T])}return y});we.exports=x},76934:function(we,Me,X){we.exports=X(99204)},64725:function(we,Me,X){var K=X(86952),ee=X(32872),G=X(95979),_=X(80744);function F(w,x){var y=_(w)?K:ee;return y(w,G(x,3))}we.exports=F},79785:function(we,Me,X){var K=X(19554),ee=X(9991),G=K(ee);we.exports=G},9991:function(we,Me,X){var K=X(51533),ee=X(95979),G=X(12824),_=Math.max;function F(w,x,y){var b=w==null?0:w.length;if(!b)return-1;var E=y==null?0:G(y);return E<0&&(E=_(b+E,0)),K(w,ee(x,3),E)}we.exports=F},40151:function(we,Me,X){var K=X(9256);function ee(G){var _=G==null?0:G.length;return _?K(G,1):[]}we.exports=ee},99204:function(we,Me,X){var K=X(74809),ee=X(44107),G=X(11756),_=X(80744);function F(w,x){var y=_(w)?K:ee;return y(w,G(x))}we.exports=F},23190:function(we,Me,X){var K=X(14018),ee=X(11756),G=X(56730);function _(F,w){return F==null?F:K(F,ee(w),G)}we.exports=_},44231:function(we,Me,X){var K=X(89147);function ee(G,_,F){var w=G==null?void 0:K(G,_);return w===void 0?F:w}we.exports=ee},99946:function(we,Me,X){var K=X(3251),ee=X(63100);function G(_,F){return _!=null&&ee(_,F,K)}we.exports=G},37879:function(we,Me,X){var K=X(62348),ee=X(63100);function G(_,F){return _!=null&&ee(_,F,K)}we.exports=G},61627:function(we,Me,X){var K=X(6019),ee=X(66139),G=X(13053),_=X(80744),F=X(24665),w=X(57835),x=X(7975),y=X(18397),b="[object Map]",E="[object Set]",g=Object.prototype,m=g.hasOwnProperty;function C(d){if(d==null)return!0;if(F(d)&&(_(d)||typeof d=="string"||typeof d.splice=="function"||w(d)||y(d)||G(d)))return!d.length;var v=ee(d);if(v==b||v==E)return!d.size;if(x(d))return!K(d).length;for(var A in d)if(m.call(d,A))return!1;return!0}we.exports=C},41626:function(we,Me,X){var K=X(55005),ee=X(38342),G=X(52495),_=G&&G.isMap,F=_?ee(_):K;we.exports=F},65226:function(we,Me,X){var K=X(38652),ee=X(38342),G=X(52495),_=G&&G.isSet,F=_?ee(_):K;we.exports=F},7941:function(we,Me,X){var K=X(86756),ee=X(80744),G=X(93913),_="[object String]";function F(w){return typeof w=="string"||!ee(w)&&G(w)&&K(w)==_}we.exports=F},50315:function(we,Me,X){var K=X(86756),ee=X(93913),G="[object Symbol]";function _(F){return typeof F=="symbol"||ee(F)&&K(F)==G}we.exports=_},16513:function(we){function Me(X){return X===void 0}we.exports=Me},55451:function(we,Me,X){var K=X(63333),ee=X(6019),G=X(24665);function _(F){return G(F)?K(F):ee(F)}we.exports=_},10611:function(we){function Me(X){var K=X==null?0:X.length;return K?X[K-1]:void 0}we.exports=Me},9924:function(we,Me,X){var K=X(75010),ee=X(95979),G=X(65487),_=X(80744);function F(w,x){var y=_(w)?K:G;return y(w,ee(x,3))}we.exports=F},70642:function(we,Me,X){var K=X(42813),ee=X(1585),G=X(95979);function _(F,w){var x={};return w=G(w,3),ee(F,function(y,b,E){K(x,b,w(y,b,E))}),x}we.exports=_},95987:function(we,Me,X){var K=X(2659),ee=X(40302),G=X(46962);function _(F){return F&&F.length?K(F,G,ee):void 0}we.exports=_},52858:function(we,Me,X){var K=X(52166),ee="Expected a function";function G(_,F){if(typeof _!="function"||F!=null&&typeof F!="function")throw new TypeError(ee);var w=function(){var x=arguments,y=F?F.apply(this,x):x[0],b=w.cache;if(b.has(y))return b.get(y);var E=_.apply(this,x);return w.cache=b.set(y,E)||b,E};return w.cache=new(G.Cache||K),w}G.Cache=K,we.exports=G},73376:function(we,Me,X){var K=X(2659),ee=X(93757),G=X(46962);function _(F){return F&&F.length?K(F,G,ee):void 0}we.exports=_},83296:function(we,Me,X){var K=X(2659),ee=X(95979),G=X(93757);function _(F,w){return F&&F.length?K(F,ee(w,2),G):void 0}we.exports=_},9958:function(we){function Me(){}we.exports=Me},5795:function(we,Me,X){var K=X(33152),ee=function(){return K.Date.now()};we.exports=ee},89409:function(we,Me,X){var K=X(88832),ee=X(522),G=ee(function(_,F){return _==null?{}:K(_,F)});we.exports=G},35769:function(we,Me,X){var K=X(22310),ee=X(96916),G=X(86773),_=X(9171);function F(w){return G(w)?K(_(w)):ee(w)}we.exports=F},60859:function(we,Me,X){var K=X(76106),ee=K();we.exports=ee},16473:function(we,Me,X){var K=X(99861),ee=X(44107),G=X(95979),_=X(30739),F=X(80744);function w(x,y,b){var E=F(x)?K:_,g=arguments.length<3;return E(x,G(y,4),b,g,ee)}we.exports=w},40617:function(we,Me,X){var K=X(6019),ee=X(66139),G=X(24665),_=X(7941),F=X(29405),w="[object Map]",x="[object Set]";function y(b){if(b==null)return 0;if(G(b))return _(b)?F(b):b.length;var E=ee(b);return E==w||E==x?b.size:K(b).length}we.exports=y},351:function(we,Me,X){var K=X(9256),ee=X(58506),G=X(92918),_=X(8138),F=G(function(w,x){if(w==null)return[];var y=x.length;return y>1&&_(w,x[0],x[1])?x=[]:y>2&&_(x[0],x[1],x[2])&&(x=[x[0]]),ee(w,K(x,1),[])});we.exports=F},4134:function(we){function Me(){return[]}we.exports=Me},97341:function(we,Me,X){var K=X(59406),ee=1/0,G=17976931348623157e292;function _(F){if(!F)return F===0?F:0;if(F=K(F),F===ee||F===-ee){var w=F<0?-1:1;return w*G}return F===F?F:0}we.exports=_},12824:function(we,Me,X){var K=X(97341);function ee(G){var _=K(G),F=_%1;return _===_?F?_-F:_:0}we.exports=ee},59406:function(we,Me,X){var K=X(13927),ee=X(20816),G=X(50315),_=NaN,F=/^[-+]0x[0-9a-f]+$/i,w=/^0b[01]+$/i,x=/^0o[0-7]+$/i,y=parseInt;function b(E){if(typeof E=="number")return E;if(G(E))return _;if(ee(E)){var g=typeof E.valueOf=="function"?E.valueOf():E;E=ee(g)?g+"":g}if(typeof E!="string")return E===0?E:+E;E=K(E);var m=w.test(E);return m||x.test(E)?y(E.slice(2),m?2:8):F.test(E)?_:+E}we.exports=b},44140:function(we,Me,X){var K=X(50230);function ee(G){return G==null?"":K(G)}we.exports=ee},91116:function(we,Me,X){var K=X(74809),ee=X(35024),G=X(1585),_=X(95979),F=X(49217),w=X(80744),x=X(57835),y=X(9363),b=X(20816),E=X(18397);function g(m,C,d){var v=w(m),A=v||x(m)||E(m);if(C=_(C,4),d==null){var T=m&&m.constructor;A?d=v?new T:[]:b(m)?d=y(T)?ee(F(m)):{}:d={}}return(A?K:G)(m,function(O,P,L){return C(d,O,P,L)}),d}we.exports=g},44065:function(we,Me,X){var K=X(9256),ee=X(92918),G=X(29098),_=X(41590),F=ee(function(w){return G(K(w,1,_,!0))});we.exports=F},95708:function(we,Me,X){var K=X(44140),ee=0;function G(_){var F=++ee;return K(_)+F}we.exports=G},81229:function(we,Me,X){var K=X(20720),ee=X(55451);function G(_){return _==null?[]:K(_,ee(_))}we.exports=G},65441:function(we,Me,X){var K=X(60348),ee=X(94484);function G(_,F){return ee(_||[],F||[],K)}we.exports=G},34402:function(we,Me,X){"use strict";X.r(Me),X.d(Me,{default:function(){return _}});var K=X(34634);function ee(F){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,K.isAnyArray)(F))throw new TypeError("input must be an array");if(F.length===0)throw new TypeError("input must not be empty");var x=w.fromIndex,y=x===void 0?0:x,b=w.toIndex,E=b===void 0?F.length:b;if(y<0||y>=F.length||!Number.isInteger(y))throw new Error("fromIndex must be a positive integer smaller than length");if(E<=y||E>F.length||!Number.isInteger(E))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var g=F[y],m=y+1;m<E;m++)F[m]>g&&(g=F[m]);return g}function G(F){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,K.isAnyArray)(F))throw new TypeError("input must be an array");if(F.length===0)throw new TypeError("input must not be empty");var x=w.fromIndex,y=x===void 0?0:x,b=w.toIndex,E=b===void 0?F.length:b;if(y<0||y>=F.length||!Number.isInteger(y))throw new Error("fromIndex must be a positive integer smaller than length");if(E<=y||E>F.length||!Number.isInteger(E))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var g=F[y],m=y+1;m<E;m++)F[m]<g&&(g=F[m]);return g}function _(F){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,K.isAnyArray)(F)){if(F.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var x;if(w.output!==void 0){if(!(0,K.isAnyArray)(w.output))throw new TypeError("output option must be an array if specified");x=w.output}else x=new Array(F.length);var y=G(F),b=ee(F);if(y===b)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var E=w.min,g=E===void 0?w.autoMinMax?y:0:E,m=w.max,C=m===void 0?w.autoMinMax?b:1:m;if(g>=C)throw new RangeError("min option must be smaller than max option");for(var d=(C-g)/(b-y),v=0;v<F.length;v++)x[v]=(F[v]-y)*d+g;return x}},25930:function(we,Me,X){"use strict";X.d(Me,{Cd:function(){return Z}});var K=X(14809),ee=X(20439),G=X(62646),_=X(59301),F=X(92310),w=X.n(F),x={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},y=function(){var $=(0,_.useRef)([]),ie=(0,_.useRef)(null);return(0,_.useEffect)(function(){var ae=Date.now(),re=!1;$.current.forEach(function(ce){if(ce){re=!0;var oe=ce.style;oe.transitionDuration=".3s, .3s, .3s, .06s",ie.current&&ae-ie.current<100&&(oe.transitionDuration="0s, 0s")}}),re&&(ie.current=Date.now())}),$.current},b=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],E=function($){var ie=(0,ee.Z)((0,ee.Z)({},x),$),ae=ie.className,re=ie.percent,ce=ie.prefixCls,oe=ie.strokeColor,he=ie.strokeLinecap,se=ie.strokeWidth,pe=ie.style,me=ie.trailColor,ge=ie.trailWidth,Ee=ie.transition,Ae=(0,G.Z)(ie,b);delete Ae.gapPosition;var Fe=Array.isArray(re)?re:[re],Ue=Array.isArray(oe)?oe:[oe],nt=y(),rt=se/2,qe=100-se/2,dt="M ".concat(he==="round"?rt:0,",").concat(rt,`
L `).concat(he==="round"?qe:100,",").concat(rt),yt="0 0 100 ".concat(se),je=0;return _.createElement("svg",(0,K.Z)({className:w()("".concat(ce,"-line"),ae),viewBox:yt,preserveAspectRatio:"none",style:pe},Ae),_.createElement("path",{className:"".concat(ce,"-line-trail"),d:dt,strokeLinecap:he,stroke:me,strokeWidth:ge||se,fillOpacity:"0"}),Fe.map(function(at,it){var ht=1;switch(he){case"round":ht=1-se/100;break;case"square":ht=1-se/2/100;break;default:ht=1;break}var ut={strokeDasharray:"".concat(at*ht,"px, 100px"),strokeDashoffset:"-".concat(je,"px"),transition:Ee||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},Mt=Ue[it]||Ue[Ue.length-1];return je+=at,_.createElement("path",{key:it,className:"".concat(ce,"-line-path"),d:dt,strokeLinecap:he,stroke:Mt,strokeWidth:se,fillOpacity:"0",ref:function(ot){nt[it]=ot},style:ut})}))},g=E,m=X(93664),C=X(50298),d=X(47273),v=0,A=(0,d.Z)();function T(){var te;return A?(te=v,v+=1):te="TEST_OR_SSR",te}var O=function(te){var $=_.useState(),ie=(0,C.Z)($,2),ae=ie[0],re=ie[1];return _.useEffect(function(){re("rc_progress_".concat(T()))},[]),te||ae},P=function($){var ie=$.bg,ae=$.children;return _.createElement("div",{style:{width:"100%",height:"100%",background:ie}},ae)};function L(te,$){return Object.keys(te).map(function(ie){var ae=parseFloat(ie),re="".concat(Math.floor(ae*$),"%");return"".concat(te[ie]," ").concat(re)})}var c=_.forwardRef(function(te,$){var ie=te.prefixCls,ae=te.color,re=te.gradientId,ce=te.radius,oe=te.style,he=te.ptg,se=te.strokeLinecap,pe=te.strokeWidth,me=te.size,ge=te.gapDegree,Ee=ae&&(0,m.Z)(ae)==="object",Ae=Ee?"#FFF":void 0,Fe=me/2,Ue=_.createElement("circle",{className:"".concat(ie,"-circle-path"),r:ce,cx:Fe,cy:Fe,stroke:Ae,strokeLinecap:se,strokeWidth:pe,opacity:he===0?0:1,style:oe,ref:$});if(!Ee)return Ue;var nt="".concat(re,"-conic"),rt=ge?"".concat(180+ge/2,"deg"):"0deg",qe=L(ae,(360-ge)/360),dt=L(ae,1),yt="conic-gradient(from ".concat(rt,", ").concat(qe.join(", "),")"),je="linear-gradient(to ".concat(ge?"bottom":"top",", ").concat(dt.join(", "),")");return _.createElement(_.Fragment,null,_.createElement("mask",{id:nt},Ue),_.createElement("foreignObject",{x:0,y:0,width:me,height:me,mask:"url(#".concat(nt,")")},_.createElement(P,{bg:je},_.createElement(P,{bg:yt}))))}),f=c,D=100,R=function($,ie,ae,re,ce,oe,he,se,pe,me){var ge=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,Ee=ae/100*360*((360-oe)/360),Ae=oe===0?0:{bottom:0,top:180,left:90,right:-90}[he],Fe=(100-re)/100*ie;pe==="round"&&re!==100&&(Fe+=me/2,Fe>=ie&&(Fe=ie-.01));var Ue=D/2;return{stroke:typeof se=="string"?se:void 0,strokeDasharray:"".concat(ie,"px ").concat($),strokeDashoffset:Fe+ge,transform:"rotate(".concat(ce+Ee+Ae,"deg)"),transformOrigin:"".concat(Ue,"px ").concat(Ue,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},k=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function W(te){var $=te!=null?te:[];return Array.isArray($)?$:[$]}var z=function($){var ie=(0,ee.Z)((0,ee.Z)({},x),$),ae=ie.id,re=ie.prefixCls,ce=ie.steps,oe=ie.strokeWidth,he=ie.trailWidth,se=ie.gapDegree,pe=se===void 0?0:se,me=ie.gapPosition,ge=ie.trailColor,Ee=ie.strokeLinecap,Ae=ie.style,Fe=ie.className,Ue=ie.strokeColor,nt=ie.percent,rt=(0,G.Z)(ie,k),qe=D/2,dt=O(ae),yt="".concat(dt,"-gradient"),je=qe-oe/2,at=Math.PI*2*je,it=pe>0?90+pe/2:-90,ht=at*((360-pe)/360),ut=(0,m.Z)(ce)==="object"?ce:{count:ce,gap:2},Mt=ut.count,Ce=ut.gap,ot=W(nt),Pe=W(Ue),Ne=Pe.find(function(xt){return xt&&(0,m.Z)(xt)==="object"}),We=Ne&&(0,m.Z)(Ne)==="object",Be=We?"butt":Ee,Ve=R(at,ht,0,100,it,pe,me,ge,Be,oe),$e=y(),lt=function(){var wt=0;return ot.map(function(Dt,kt){var Yt=Pe[kt]||Pe[Pe.length-1],Wt=R(at,ht,wt,Dt,it,pe,me,Yt,Be,oe);return wt+=Dt,_.createElement(f,{key:kt,color:Yt,ptg:Dt,radius:je,prefixCls:re,gradientId:yt,style:Wt,strokeLinecap:Be,strokeWidth:oe,gapDegree:pe,ref:function(en){$e[kt]=en},size:D})}).reverse()},pt=function(){var wt=Math.round(Mt*(ot[0]/100)),Dt=100/Mt,kt=0;return new Array(Mt).fill(null).map(function(Yt,Wt){var Ot=Wt<=wt-1?Pe[0]:ge,en=Ot&&(0,m.Z)(Ot)==="object"?"url(#".concat(yt,")"):void 0,vn=R(at,ht,kt,Dt,it,pe,me,Ot,"butt",oe,Ce);return kt+=(ht-vn.strokeDashoffset+Ce)*100/ht,_.createElement("circle",{key:Wt,className:"".concat(re,"-circle-path"),r:je,cx:qe,cy:qe,stroke:en,strokeWidth:oe,opacity:1,style:vn,ref:function(Fn){$e[Wt]=Fn}})})};return _.createElement("svg",(0,K.Z)({className:w()("".concat(re,"-circle"),Fe),viewBox:"0 0 ".concat(D," ").concat(D),style:Ae,id:ae,role:"presentation"},rt),!Mt&&_.createElement("circle",{className:"".concat(re,"-circle-trail"),r:je,cx:qe,cy:qe,stroke:ge,strokeLinecap:Be,strokeWidth:he||oe,style:Ve}),Mt?pt():lt())},Z=z,Q={Line:g,Circle:Z}},738:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return L}});var K=X(14809),ee=X(4635),G=X(50298),_=X(62646),F=X(92310),w=X.n(F),x=X(18929),y=X(10228),b=X(26112),E=X(59301);function g(c,f){var D=c.disabled,R=c.prefixCls,k=c.character,W=c.characterRender,z=c.index,Z=c.count,Q=c.value,te=c.allowHalf,$=c.focused,ie=c.onHover,ae=c.onClick,re=function(Ee){ie(Ee,z)},ce=function(Ee){ae(Ee,z)},oe=function(Ee){Ee.keyCode===y.Z.ENTER&&ae(Ee,z)},he=z+1,se=new Set([R]);Q===0&&z===0&&$?se.add("".concat(R,"-focused")):te&&Q+.5>=he&&Q<he?(se.add("".concat(R,"-half")),se.add("".concat(R,"-active")),$&&se.add("".concat(R,"-focused"))):(he<=Q?se.add("".concat(R,"-full")):se.add("".concat(R,"-zero")),he===Q&&$&&se.add("".concat(R,"-focused")));var pe=typeof k=="function"?k(c):k,me=E.createElement("li",{className:w()(Array.from(se)),ref:f},E.createElement("div",{onClick:D?null:ce,onKeyDown:D?null:oe,onMouseMove:D?null:re,role:"radio","aria-checked":Q>z?"true":"false","aria-posinset":z+1,"aria-setsize":Z,tabIndex:D?-1:0},E.createElement("div",{className:"".concat(R,"-first")},pe),E.createElement("div",{className:"".concat(R,"-second")},pe)));return W&&(me=W(me,c)),me}var m=E.forwardRef(g);function C(){var c=E.useRef({});function f(R){return c.current[R]}function D(R){return function(k){c.current[R]=k}}return[f,D]}function d(c){var f=c.pageXOffset,D="scrollLeft";if(typeof f!="number"){var R=c.document;f=R.documentElement[D],typeof f!="number"&&(f=R.body[D])}return f}function v(c){var f,D,R=c.ownerDocument,k=R.body,W=R&&R.documentElement,z=c.getBoundingClientRect();return f=z.left,D=z.top,f-=W.clientLeft||k.clientLeft||0,D-=W.clientTop||k.clientTop||0,{left:f,top:D}}function A(c){var f=v(c),D=c.ownerDocument,R=D.defaultView||D.parentWindow;return f.left+=d(R),f.left}var T=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","keyboard","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function O(c,f){var D=c.prefixCls,R=D===void 0?"rc-rate":D,k=c.className,W=c.defaultValue,z=c.value,Z=c.count,Q=Z===void 0?5:Z,te=c.allowHalf,$=te===void 0?!1:te,ie=c.allowClear,ae=ie===void 0?!0:ie,re=c.keyboard,ce=re===void 0?!0:re,oe=c.character,he=oe===void 0?"\u2605":oe,se=c.characterRender,pe=c.disabled,me=c.direction,ge=me===void 0?"ltr":me,Ee=c.tabIndex,Ae=Ee===void 0?0:Ee,Fe=c.autoFocus,Ue=c.onHoverChange,nt=c.onChange,rt=c.onFocus,qe=c.onBlur,dt=c.onKeyDown,yt=c.onMouseLeave,je=(0,_.Z)(c,T),at=C(),it=(0,G.Z)(at,2),ht=it[0],ut=it[1],Mt=E.useRef(null),Ce=function(){if(!pe){var tn;(tn=Mt.current)===null||tn===void 0||tn.focus()}};E.useImperativeHandle(f,function(){return{focus:Ce,blur:function(){if(!pe){var tn;(tn=Mt.current)===null||tn===void 0||tn.blur()}}}});var ot=(0,x.Z)(W||0,{value:z}),Pe=(0,G.Z)(ot,2),Ne=Pe[0],We=Pe[1],Be=(0,x.Z)(null),Ve=(0,G.Z)(Be,2),$e=Ve[0],lt=Ve[1],pt=function(tn,An){var wn=ge==="rtl",sn=tn+1;if($){var ir=ht(tn),Nt=A(ir),zt=ir.clientWidth;(wn&&An-Nt>zt/2||!wn&&An-Nt<zt/2)&&(sn-=.5)}return sn},xt=function(tn){We(tn),nt==null||nt(tn)},wt=E.useState(!1),Dt=(0,G.Z)(wt,2),kt=Dt[0],Yt=Dt[1],Wt=function(){Yt(!0),rt==null||rt()},Ot=function(){Yt(!1),qe==null||qe()},en=E.useState(null),vn=(0,G.Z)(en,2),Jn=vn[0],Fn=vn[1],qn=function(tn,An){var wn=pt(An,tn.pageX);wn!==$e&&(Fn(wn),lt(null)),Ue==null||Ue(wn)},br=function(tn){pe||(Fn(null),lt(null),Ue==null||Ue(void 0)),tn&&(yt==null||yt(tn))},Vn=function(tn,An){var wn=pt(An,tn.pageX),sn=!1;ae&&(sn=wn===Ne),br(),xt(sn?0:wn),lt(sn?wn:null)},tr=function(tn){var An=tn.keyCode,wn=ge==="rtl",sn=$?.5:1;ce&&(An===y.Z.RIGHT&&Ne<Q&&!wn?(xt(Ne+sn),tn.preventDefault()):An===y.Z.LEFT&&Ne>0&&!wn||An===y.Z.RIGHT&&Ne>0&&wn?(xt(Ne-sn),tn.preventDefault()):An===y.Z.LEFT&&Ne<Q&&wn&&(xt(Ne+sn),tn.preventDefault())),dt==null||dt(tn)};E.useEffect(function(){Fe&&!pe&&Ce()},[]);var lr=new Array(Q).fill(0).map(function(an,tn){return E.createElement(m,{ref:ut(tn),index:tn,count:Q,disabled:pe,prefixCls:"".concat(R,"-star"),allowHalf:$,value:Jn===null?Ne:Jn,onClick:Vn,onHover:qn,key:an||tn,character:he,characterRender:se,focused:kt})}),nr=w()(R,k,(0,ee.Z)((0,ee.Z)({},"".concat(R,"-disabled"),pe),"".concat(R,"-rtl"),ge==="rtl"));return E.createElement("ul",(0,K.Z)({className:nr,onMouseLeave:br,tabIndex:pe?-1:Ae,onFocus:pe?null:Wt,onBlur:pe?null:Ot,onKeyDown:pe?null:tr,ref:Mt},(0,b.Z)(je,{aria:!0,data:!0,attr:!0})),lr)}var P=E.forwardRef(O),L=P},6551:function(we,Me,X){"use strict";X.d(Me,{ZP:function(){return x}});var K=X(50298),ee=X(59301),G=X(47273),_=0,F=(0,G.Z)();function w(){var y;return F?(y=_,_+=1):y="TEST_OR_SSR",y}function x(y){var b=ee.useState(),E=(0,K.Z)(b,2),g=E[0],m=E[1];return ee.useEffect(function(){m("rc_select_".concat(w()))},[]),y||g}},37463:function(we,Me,X){"use strict";X.d(Me,{Ac:function(){return Yt},Xo:function(){return Ot},Wx:function(){return vn},ZP:function(){return Ge},lk:function(){return L}});var K=X(14809),ee=X(95190),G=X(4635),_=X(20439),F=X(50298),w=X(62646),x=X(93664),y=X(18929),b=X(48736),E=X(59301),g=X(92310),m=X.n(g),C=X(34280),d=X(49658),v=X(8654),A=function(De){var Ke=De.className,He=De.customizeIcon,Je=De.customizeIconProps,ke=De.children,Ze=De.onMouseDown,tt=De.onClick,mt=typeof He=="function"?He(Je):He;return E.createElement("span",{className:Ke,onMouseDown:function(It){It.preventDefault(),Ze==null||Ze(It)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:tt,"aria-hidden":!0},mt!==void 0?mt:E.createElement("span",{className:m()(Ke.split(/\s+/).map(function(Tt){return"".concat(Tt,"-icon")}))},ke))},T=A,O=function(De,Ke,He,Je,ke){var Ze=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,tt=arguments.length>6?arguments[6]:void 0,mt=arguments.length>7?arguments[7]:void 0,Tt=E.useMemo(function(){if((0,x.Z)(Je)==="object")return Je.clearIcon;if(ke)return ke},[Je,ke]),It=E.useMemo(function(){return!!(!Ze&&Je&&(He.length||tt)&&!(mt==="combobox"&&tt===""))},[Je,Ze,He.length,tt,mt]);return{allowClear:It,clearIcon:E.createElement(T,{className:"".concat(De,"-clear"),onMouseDown:Ke,customizeIcon:Tt},"\xD7")}},P=E.createContext(null);function L(){return E.useContext(P)}function c(){var Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,De=E.useState(!1),Ke=(0,F.Z)(De,2),He=Ke[0],Je=Ke[1],ke=E.useRef(null),Ze=function(){window.clearTimeout(ke.current)};E.useEffect(function(){return Ze},[]);var tt=function(Tt,It){Ze(),ke.current=window.setTimeout(function(){Je(Tt),It&&It()},Re)};return[He,tt,Ze]}function f(){var Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,De=E.useRef(null),Ke=E.useRef(null);E.useEffect(function(){return function(){window.clearTimeout(Ke.current)}},[]);function He(Je){(Je||De.current===null)&&(De.current=Je),window.clearTimeout(Ke.current),Ke.current=window.setTimeout(function(){De.current=null},Re)}return[function(){return De.current},He]}function D(Re,De,Ke,He){var Je=E.useRef(null);Je.current={open:De,triggerOpen:Ke,customizedTrigger:He},E.useEffect(function(){function ke(Ze){var tt;if(!((tt=Je.current)!==null&&tt!==void 0&&tt.customizedTrigger)){var mt=Ze.target;mt.shadowRoot&&Ze.composed&&(mt=Ze.composedPath()[0]||mt),Je.current.open&&Re().filter(function(Tt){return Tt}).every(function(Tt){return!Tt.contains(mt)&&Tt!==mt})&&Je.current.triggerOpen(!1)}}return window.addEventListener("mousedown",ke),function(){return window.removeEventListener("mousedown",ke)}},[])}var R=X(10228);function k(Re){return Re&&![R.Z.ESC,R.Z.SHIFT,R.Z.BACKSPACE,R.Z.TAB,R.Z.WIN_KEY,R.Z.ALT,R.Z.META,R.Z.WIN_KEY_RIGHT,R.Z.CTRL,R.Z.SEMICOLON,R.Z.EQUALS,R.Z.CAPS_LOCK,R.Z.CONTEXT_MENU,R.Z.F1,R.Z.F2,R.Z.F3,R.Z.F4,R.Z.F5,R.Z.F6,R.Z.F7,R.Z.F8,R.Z.F9,R.Z.F10,R.Z.F11,R.Z.F12].includes(Re)}var W=X(26112),z=X(11780);function Z(Re,De,Ke){var He=(0,_.Z)((0,_.Z)({},Re),Ke?De:{});return Object.keys(De).forEach(function(Je){var ke=De[Je];typeof ke=="function"&&(He[Je]=function(){for(var Ze,tt=arguments.length,mt=new Array(tt),Tt=0;Tt<tt;Tt++)mt[Tt]=arguments[Tt];return ke.apply(void 0,mt),(Ze=Re[Je])===null||Ze===void 0?void 0:Ze.call.apply(Ze,[Re].concat(mt))})}),He}var Q=Z,te=["prefixCls","id","inputElement","autoFocus","autoComplete","editable","activeDescendantId","value","open","attrs"],$=function(De,Ke){var He=De.prefixCls,Je=De.id,ke=De.inputElement,Ze=De.autoFocus,tt=De.autoComplete,mt=De.editable,Tt=De.activeDescendantId,It=De.value,vt=De.open,Rt=De.attrs,Bt=(0,w.Z)(De,te),Qe=ke||E.createElement("input",null),gt=Qe,Pt=gt.ref,St=gt.props;return(0,b.Kp)(!("maxLength"in Qe.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),Qe=E.cloneElement(Qe,(0,_.Z)((0,_.Z)((0,_.Z)({type:"search"},Q(Bt,St,!0)),{},{id:Je,ref:(0,v.sQ)(Ke,Pt),autoComplete:tt||"off",autoFocus:Ze,className:m()("".concat(He,"-selection-search-input"),St==null?void 0:St.className),role:"combobox","aria-expanded":vt||!1,"aria-haspopup":"listbox","aria-owns":"".concat(Je,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(Je,"_list"),"aria-activedescendant":vt?Tt:void 0},Rt),{},{value:mt?It:"",readOnly:!mt,unselectable:mt?null:"on",style:(0,_.Z)((0,_.Z)({},St.style),{},{opacity:mt?null:0})})),Qe},ie=E.forwardRef($),ae=ie;function re(Re){return Array.isArray(Re)?Re:Re!==void 0?[Re]:[]}var ce=typeof window!="undefined"&&window.document&&window.document.documentElement,oe=ce;function he(Re){return Re!=null}function se(Re){return!Re&&Re!==0}function pe(Re){return["string","number"].includes((0,x.Z)(Re))}function me(Re){var De=void 0;return Re&&(pe(Re.title)?De=Re.title.toString():pe(Re.label)&&(De=Re.label.toString())),De}function ge(Re,De){oe?E.useLayoutEffect(Re,De):E.useEffect(Re,De)}function Ee(Re){var De;return(De=Re.key)!==null&&De!==void 0?De:Re.value}var Ae=function(De){De.preventDefault(),De.stopPropagation()},Fe=function(De){var Ke=De.id,He=De.prefixCls,Je=De.values,ke=De.open,Ze=De.searchValue,tt=De.autoClearSearchValue,mt=De.inputRef,Tt=De.placeholder,It=De.disabled,vt=De.mode,Rt=De.showSearch,Bt=De.autoFocus,Qe=De.autoComplete,gt=De.activeDescendantId,Pt=De.tabIndex,St=De.removeIcon,on=De.maxTagCount,ln=De.maxTagTextLength,Zt=De.maxTagPlaceholder,Jt=Zt===void 0?function(mn){return"+ ".concat(mn.length," ...")}:Zt,Xt=De.tagRender,dn=De.onToggleOpen,gn=De.onRemove,Mn=De.onInputChange,Hn=De.onInputPaste,pn=De.onInputKeyDown,Rn=De.onInputMouseDown,Yn=De.onInputCompositionStart,Gn=De.onInputCompositionEnd,Cn=De.onInputBlur,Mr=E.useRef(null),kr=(0,E.useState)(0),Rr=(0,F.Z)(kr,2),xr=Rr[0],rr=Rr[1],Zn=(0,E.useState)(!1),Fr=(0,F.Z)(Zn,2),ei=Fr[0],ti=Fr[1],Ir="".concat(He,"-selection"),ta=ke||vt==="multiple"&&tt===!1||vt==="tags"?Ze:"",Kr=vt==="tags"||vt==="multiple"&&tt===!1||Rt&&(ke||ei);ge(function(){rr(Mr.current.scrollWidth)},[ta]);var Ma=function(cn,Tn,ar,gr,hr){return E.createElement("span",{title:me(cn),className:m()("".concat(Ir,"-item"),(0,G.Z)({},"".concat(Ir,"-item-disabled"),ar))},E.createElement("span",{className:"".concat(Ir,"-item-content")},Tn),gr&&E.createElement(T,{className:"".concat(Ir,"-item-remove"),onMouseDown:Ae,onClick:hr,customizeIcon:St},"\xD7"))},ji=function(cn,Tn,ar,gr,hr,gi){var Vi=function(ws){Ae(ws),dn(!ke)};return E.createElement("span",{onMouseDown:Vi},Xt({label:Tn,value:cn,disabled:ar,closable:gr,onClose:hr,isMaxTag:!!gi}))},Xr=function(cn){var Tn=cn.disabled,ar=cn.label,gr=cn.value,hr=!It&&!Tn,gi=ar;if(typeof ln=="number"&&(typeof ar=="string"||typeof ar=="number")){var Vi=String(gi);Vi.length>ln&&(gi="".concat(Vi.slice(0,ln),"..."))}var na=function(ni){ni&&ni.stopPropagation(),gn(cn)};return typeof Xt=="function"?ji(gr,gi,Tn,hr,na):Ma(cn,gi,Tn,hr,na)},zn=function(cn){if(!Je.length)return null;var Tn=typeof Jt=="function"?Jt(cn):Jt;return typeof Xt=="function"?ji(void 0,Tn,!1,!1,void 0,!0):Ma({title:Tn},Tn,!1)},Ut=E.createElement("div",{className:"".concat(Ir,"-search"),style:{width:xr},onFocus:function(){ti(!0)},onBlur:function(){ti(!1)}},E.createElement(ae,{ref:mt,open:ke,prefixCls:He,id:Ke,inputElement:null,disabled:It,autoFocus:Bt,autoComplete:Qe,editable:Kr,activeDescendantId:gt,value:ta,onKeyDown:pn,onMouseDown:Rn,onChange:Mn,onPaste:Hn,onCompositionStart:Yn,onCompositionEnd:Gn,onBlur:Cn,tabIndex:Pt,attrs:(0,W.Z)(De,!0)}),E.createElement("span",{ref:Mr,className:"".concat(Ir,"-search-mirror"),"aria-hidden":!0},ta,"\xA0")),Kt=E.createElement(z.Z,{prefixCls:"".concat(Ir,"-overflow"),data:Je,renderItem:Xr,renderRest:zn,suffix:Ut,itemKey:Ee,maxCount:on});return E.createElement("span",{className:"".concat(Ir,"-wrap")},Kt,!Je.length&&!ta&&E.createElement("span",{className:"".concat(Ir,"-placeholder")},Tt))},Ue=Fe,nt=function(De){var Ke=De.inputElement,He=De.prefixCls,Je=De.id,ke=De.inputRef,Ze=De.disabled,tt=De.autoFocus,mt=De.autoComplete,Tt=De.activeDescendantId,It=De.mode,vt=De.open,Rt=De.values,Bt=De.placeholder,Qe=De.tabIndex,gt=De.showSearch,Pt=De.searchValue,St=De.activeValue,on=De.maxLength,ln=De.onInputKeyDown,Zt=De.onInputMouseDown,Jt=De.onInputChange,Xt=De.onInputPaste,dn=De.onInputCompositionStart,gn=De.onInputCompositionEnd,Mn=De.onInputBlur,Hn=De.title,pn=E.useState(!1),Rn=(0,F.Z)(pn,2),Yn=Rn[0],Gn=Rn[1],Cn=It==="combobox",Mr=Cn||gt,kr=Rt[0],Rr=Pt||"";Cn&&St&&!Yn&&(Rr=St),E.useEffect(function(){Cn&&Gn(!1)},[Cn,St]);var xr=It!=="combobox"&&!vt&&!gt?!1:!!Rr,rr=Hn===void 0?me(kr):Hn,Zn=E.useMemo(function(){return kr?null:E.createElement("span",{className:"".concat(He,"-selection-placeholder"),style:xr?{visibility:"hidden"}:void 0},Bt)},[kr,xr,Bt,He]);return E.createElement("span",{className:"".concat(He,"-selection-wrap")},E.createElement("span",{className:"".concat(He,"-selection-search")},E.createElement(ae,{ref:ke,prefixCls:He,id:Je,open:vt,inputElement:Ke,disabled:Ze,autoFocus:tt,autoComplete:mt,editable:Mr,activeDescendantId:Tt,value:Rr,onKeyDown:ln,onMouseDown:Zt,onChange:function(ei){Gn(!0),Jt(ei)},onPaste:Xt,onCompositionStart:dn,onCompositionEnd:gn,onBlur:Mn,tabIndex:Qe,attrs:(0,W.Z)(De,!0),maxLength:Cn?on:void 0})),!Cn&&kr?E.createElement("span",{className:"".concat(He,"-selection-item"),title:rr,style:xr?{visibility:"hidden"}:void 0},kr.label):null,Zn)},rt=nt,qe=function(De,Ke){var He=(0,E.useRef)(null),Je=(0,E.useRef)(!1),ke=De.prefixCls,Ze=De.open,tt=De.mode,mt=De.showSearch,Tt=De.tokenWithEnter,It=De.disabled,vt=De.prefix,Rt=De.autoClearSearchValue,Bt=De.onSearch,Qe=De.onSearchSubmit,gt=De.onToggleOpen,Pt=De.onInputKeyDown,St=De.onInputBlur,on=De.domRef;E.useImperativeHandle(Ke,function(){return{focus:function(rr){He.current.focus(rr)},blur:function(){He.current.blur()}}});var ln=f(0),Zt=(0,F.Z)(ln,2),Jt=Zt[0],Xt=Zt[1],dn=function(rr){var Zn=rr.which,Fr=He.current instanceof HTMLTextAreaElement;!Fr&&Ze&&(Zn===R.Z.UP||Zn===R.Z.DOWN)&&rr.preventDefault(),Pt&&Pt(rr),Zn===R.Z.ENTER&&tt==="tags"&&!Je.current&&!Ze&&(Qe==null||Qe(rr.target.value)),!(Fr&&!Ze&&~[R.Z.UP,R.Z.DOWN,R.Z.LEFT,R.Z.RIGHT].indexOf(Zn))&&k(Zn)&&gt(!0)},gn=function(){Xt(!0)},Mn=(0,E.useRef)(null),Hn=function(rr){Bt(rr,!0,Je.current)!==!1&&gt(!0)},pn=function(){Je.current=!0},Rn=function(rr){Je.current=!1,tt!=="combobox"&&Hn(rr.target.value)},Yn=function(rr){var Zn=rr.target.value;if(Tt&&Mn.current&&/[\r\n]/.test(Mn.current)){var Fr=Mn.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Zn=Zn.replace(Fr,Mn.current)}Mn.current=null,Hn(Zn)},Gn=function(rr){var Zn=rr.clipboardData,Fr=Zn==null?void 0:Zn.getData("text");Mn.current=Fr||""},Cn=function(rr){var Zn=rr.target;if(Zn!==He.current){var Fr=document.body.style.msTouchAction!==void 0;Fr?setTimeout(function(){He.current.focus()}):He.current.focus()}},Mr=function(rr){var Zn=Jt();rr.target!==He.current&&!Zn&&!(tt==="combobox"&&It)&&rr.preventDefault(),(tt!=="combobox"&&(!mt||!Zn)||!Ze)&&(Ze&&Rt!==!1&&Bt("",!0,!1),gt())},kr={inputRef:He,onInputKeyDown:dn,onInputMouseDown:gn,onInputChange:Yn,onInputPaste:Gn,onInputCompositionStart:pn,onInputCompositionEnd:Rn,onInputBlur:St},Rr=tt==="multiple"||tt==="tags"?E.createElement(Ue,(0,K.Z)({},De,kr)):E.createElement(rt,(0,K.Z)({},De,kr));return E.createElement("div",{ref:on,className:"".concat(ke,"-selector"),onClick:Cn,onMouseDown:Mr},vt&&E.createElement("div",{className:"".concat(ke,"-prefix")},vt),Rr)},dt=E.forwardRef(qe),yt=dt,je=X(65966),at=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],it=function(De){var Ke=De===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:Ke,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:Ke,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:Ke,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:Ke,adjustY:1},htmlRegion:"scroll"}}},ht=function(De,Ke){var He=De.prefixCls,Je=De.disabled,ke=De.visible,Ze=De.children,tt=De.popupElement,mt=De.animation,Tt=De.transitionName,It=De.dropdownStyle,vt=De.dropdownClassName,Rt=De.direction,Bt=Rt===void 0?"ltr":Rt,Qe=De.placement,gt=De.builtinPlacements,Pt=De.dropdownMatchSelectWidth,St=De.dropdownRender,on=De.dropdownAlign,ln=De.getPopupContainer,Zt=De.empty,Jt=De.getTriggerDOMNode,Xt=De.onPopupVisibleChange,dn=De.onPopupMouseEnter,gn=(0,w.Z)(De,at),Mn="".concat(He,"-dropdown"),Hn=tt;St&&(Hn=St(tt));var pn=E.useMemo(function(){return gt||it(Pt)},[gt,Pt]),Rn=mt?"".concat(Mn,"-").concat(mt):Tt,Yn=typeof Pt=="number",Gn=E.useMemo(function(){return Yn?null:Pt===!1?"minWidth":"width"},[Pt,Yn]),Cn=It;Yn&&(Cn=(0,_.Z)((0,_.Z)({},Cn),{},{width:Pt}));var Mr=E.useRef(null);return E.useImperativeHandle(Ke,function(){return{getPopupElement:function(){var Rr;return(Rr=Mr.current)===null||Rr===void 0?void 0:Rr.popupElement}}}),E.createElement(je.Z,(0,K.Z)({},gn,{showAction:Xt?["click"]:[],hideAction:Xt?["click"]:[],popupPlacement:Qe||(Bt==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:pn,prefixCls:Mn,popupTransitionName:Rn,popup:E.createElement("div",{onMouseEnter:dn},Hn),ref:Mr,stretch:Gn,popupAlign:on,popupVisible:ke,getPopupContainer:ln,popupClassName:m()(vt,(0,G.Z)({},"".concat(Mn,"-empty"),Zt)),popupStyle:Cn,getTriggerDOMNode:Jt,onPopupVisibleChange:Xt}),Ze)},ut=E.forwardRef(ht),Mt=ut,Ce=X(21696);function ot(Re,De){var Ke=Re.key,He;return"value"in Re&&(He=Re.value),Ke!=null?Ke:He!==void 0?He:"rc-index-key-".concat(De)}function Pe(Re){return typeof Re!="undefined"&&!Number.isNaN(Re)}function Ne(Re,De){var Ke=Re||{},He=Ke.label,Je=Ke.value,ke=Ke.options,Ze=Ke.groupLabel,tt=He||(De?"children":"label");return{label:tt,value:Je||"value",options:ke||"options",groupLabel:Ze||tt}}function We(Re){var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ke=De.fieldNames,He=De.childrenAsData,Je=[],ke=Ne(Ke,!1),Ze=ke.label,tt=ke.value,mt=ke.options,Tt=ke.groupLabel;function It(vt,Rt){Array.isArray(vt)&&vt.forEach(function(Bt){if(Rt||!(mt in Bt)){var Qe=Bt[tt];Je.push({key:ot(Bt,Je.length),groupOption:Rt,data:Bt,label:Bt[Ze],value:Qe})}else{var gt=Bt[Tt];gt===void 0&&He&&(gt=Bt.label),Je.push({key:ot(Bt,Je.length),group:!0,data:Bt,label:gt}),It(Bt[mt],!0)}})}return It(Re,!1),Je}function Be(Re){var De=(0,_.Z)({},Re);return"props"in De||Object.defineProperty(De,"props",{get:function(){return(0,b.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),De}}),De}var Ve=function(De,Ke,He){if(!Ke||!Ke.length)return null;var Je=!1,ke=function tt(mt,Tt){var It=(0,Ce.Z)(Tt),vt=It[0],Rt=It.slice(1);if(!vt)return[mt];var Bt=mt.split(vt);return Je=Je||Bt.length>1,Bt.reduce(function(Qe,gt){return[].concat((0,ee.Z)(Qe),(0,ee.Z)(tt(gt,Rt)))},[]).filter(Boolean)},Ze=ke(De,Ke);return Je?typeof He!="undefined"?Ze.slice(0,He):Ze:null},$e=E.createContext(null),lt=$e;function pt(Re){var De=Re.visible,Ke=Re.values;if(!De)return null;var He=50;return E.createElement("span",{"aria-live":"polite",style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0}},"".concat(Ke.slice(0,He).map(function(Je){var ke=Je.label,Ze=Je.value;return["number","string"].includes((0,x.Z)(ke))?ke:Ze}).join(", ")),Ke.length>He?", ...":null)}var xt=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","prefix","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],wt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],Dt=function(De){return De==="tags"||De==="multiple"},kt=E.forwardRef(function(Re,De){var Ke,He=Re.id,Je=Re.prefixCls,ke=Re.className,Ze=Re.showSearch,tt=Re.tagRender,mt=Re.direction,Tt=Re.omitDomProps,It=Re.displayValues,vt=Re.onDisplayValuesChange,Rt=Re.emptyOptions,Bt=Re.notFoundContent,Qe=Bt===void 0?"Not Found":Bt,gt=Re.onClear,Pt=Re.mode,St=Re.disabled,on=Re.loading,ln=Re.getInputElement,Zt=Re.getRawInputElement,Jt=Re.open,Xt=Re.defaultOpen,dn=Re.onDropdownVisibleChange,gn=Re.activeValue,Mn=Re.onActiveValueChange,Hn=Re.activeDescendantId,pn=Re.searchValue,Rn=Re.autoClearSearchValue,Yn=Re.onSearch,Gn=Re.onSearchSplit,Cn=Re.tokenSeparators,Mr=Re.allowClear,kr=Re.prefix,Rr=Re.suffixIcon,xr=Re.clearIcon,rr=Re.OptionList,Zn=Re.animation,Fr=Re.transitionName,ei=Re.dropdownStyle,ti=Re.dropdownClassName,Ir=Re.dropdownMatchSelectWidth,ta=Re.dropdownRender,Kr=Re.dropdownAlign,Ma=Re.placement,ji=Re.builtinPlacements,Xr=Re.getPopupContainer,zn=Re.showAction,Ut=zn===void 0?[]:zn,Kt=Re.onFocus,mn=Re.onBlur,cn=Re.onKeyUp,Tn=Re.onKeyDown,ar=Re.onMouseDown,gr=(0,w.Z)(Re,xt),hr=Dt(Pt),gi=(Ze!==void 0?Ze:hr)||Pt==="combobox",Vi=(0,_.Z)({},gr);wt.forEach(function(sr){delete Vi[sr]}),Tt==null||Tt.forEach(function(sr){delete Vi[sr]});var na=E.useState(!1),ws=(0,F.Z)(na,2),ni=ws[0],Vo=ws[1];E.useEffect(function(){Vo((0,d.Z)())},[]);var uo=E.useRef(null),Ha=E.useRef(null),Zi=E.useRef(null),ha=E.useRef(null),Mi=E.useRef(null),Ms=E.useRef(!1),co=c(),Gs=(0,F.Z)(co,3),Ga=Gs[0],Aa=Gs[1],Cl=Gs[2];E.useImperativeHandle(De,function(){var sr,jn;return{focus:(sr=ha.current)===null||sr===void 0?void 0:sr.focus,blur:(jn=ha.current)===null||jn===void 0?void 0:jn.blur,scrollTo:function(ra){var mi;return(mi=Mi.current)===null||mi===void 0?void 0:mi.scrollTo(ra)},nativeElement:uo.current||Ha.current}});var ja=E.useMemo(function(){var sr;if(Pt!=="combobox")return pn;var jn=(sr=It[0])===null||sr===void 0?void 0:sr.value;return typeof jn=="string"||typeof jn=="number"?String(jn):""},[pn,Pt,It]),_u=Pt==="combobox"&&typeof ln=="function"&&ln()||null,fa=typeof Zt=="function"&&Zt(),Dc=(0,v.x1)(Ha,fa==null||(Ke=fa.props)===null||Ke===void 0?void 0:Ke.ref),Eu=E.useState(!1),xu=(0,F.Z)(Eu,2),Cc=xu[0],bu=xu[1];(0,C.Z)(function(){bu(!0)},[]);var wu=(0,y.Z)(!1,{defaultValue:Xt,value:Jt}),ho=(0,F.Z)(wu,2),Ll=ho[0],Gr=ho[1],pi=Cc?Ll:!1,Ta=!Qe&&Rt;(St||Ta&&pi&&Pt==="combobox")&&(pi=!1);var Zo=Ta?!1:pi,Sn=E.useCallback(function(sr){var jn=sr!==void 0?sr:!pi;St||(Gr(jn),pi!==jn&&(dn==null||dn(jn)))},[St,pi,Gr,dn]),On=E.useMemo(function(){return(Cn||[]).some(function(sr){return[`
`,`\r
`].includes(sr)})},[Cn]),Ln=E.useContext(lt)||{},In=Ln.maxCount,pr=Ln.rawValues,zr=function(jn,Ki,ra){if(!(hr&&Pe(In)&&(pr==null?void 0:pr.size)>=In)){var mi=!0,Ni=jn;Mn==null||Mn(null);var Ps=Ve(jn,Cn,Pe(In)?In-pr.size:void 0),as=ra?null:Ps;return Pt!=="combobox"&&as&&(Ni="",Gn==null||Gn(as),Sn(!1),mi=!1),Yn&&ja!==Ni&&Yn(Ni,{source:Ki?"typing":"effect"}),mi}},rs=function(jn){!jn||!jn.trim()||Yn(jn,{source:"submit"})};E.useEffect(function(){!pi&&!hr&&Pt!=="combobox"&&zr("",!1,!1)},[pi]),E.useEffect(function(){Ll&&St&&Gr(!1),St&&!Ms.current&&Aa(!1)},[St]);var Va=f(),js=(0,F.Z)(Va,2),oi=js[0],Vs=js[1],is=E.useRef(!1),Lc=function(jn){var Ki=oi(),ra=jn.key,mi=ra==="Enter";if(mi&&(Pt!=="combobox"&&jn.preventDefault(),pi||Sn(!0)),Vs(!!ja),ra==="Backspace"&&!Ki&&hr&&!ja&&It.length){for(var Ni=(0,ee.Z)(It),Ps=null,as=Ni.length-1;as>=0;as-=1){var fo=Ni[as];if(!fo.disabled){Ni.splice(as,1),Ps=fo;break}}Ps&&vt(Ni,{type:"remove",values:[Ps]})}for(var Ko=arguments.length,vo=new Array(Ko>1?Ko-1:0),Mu=1;Mu<Ko;Mu++)vo[Mu-1]=arguments[Mu];if(pi&&(!mi||!is.current)){var Au;mi&&(is.current=!0),(Au=Mi.current)===null||Au===void 0||Au.onKeyDown.apply(Au,[jn].concat(vo))}Tn==null||Tn.apply(void 0,[jn].concat(vo))},Rc=function(jn){for(var Ki=arguments.length,ra=new Array(Ki>1?Ki-1:0),mi=1;mi<Ki;mi++)ra[mi-1]=arguments[mi];if(pi){var Ni;(Ni=Mi.current)===null||Ni===void 0||Ni.onKeyUp.apply(Ni,[jn].concat(ra))}jn.key==="Enter"&&(is.current=!1),cn==null||cn.apply(void 0,[jn].concat(ra))},As=function(jn){var Ki=It.filter(function(ra){return ra!==jn});vt(Ki,{type:"remove",values:[jn]})},Ts=function(){is.current=!1},Ic=E.useRef(!1),Qd=function(){Aa(!0),St||(Kt&&!Ic.current&&Kt.apply(void 0,arguments),Ut.includes("focus")&&Sn(!0)),Ic.current=!0},Rl=function(){Ms.current=!0,Aa(!1,function(){Ic.current=!1,Ms.current=!1,Sn(!1)}),!St&&(ja&&(Pt==="tags"?Yn(ja,{source:"submit"}):Pt==="multiple"&&Yn("",{source:"blur"})),mn&&mn.apply(void 0,arguments))},Zs=[];E.useEffect(function(){return function(){Zs.forEach(function(sr){return clearTimeout(sr)}),Zs.splice(0,Zs.length)}},[]);var Ap=function(jn){var Ki,ra=jn.target,mi=(Ki=Zi.current)===null||Ki===void 0?void 0:Ki.getPopupElement();if(mi&&mi.contains(ra)){var Ni=setTimeout(function(){var Ko=Zs.indexOf(Ni);if(Ko!==-1&&Zs.splice(Ko,1),Cl(),!ni&&!mi.contains(document.activeElement)){var vo;(vo=ha.current)===null||vo===void 0||vo.focus()}});Zs.push(Ni)}for(var Ps=arguments.length,as=new Array(Ps>1?Ps-1:0),fo=1;fo<Ps;fo++)as[fo-1]=arguments[fo];ar==null||ar.apply(void 0,[jn].concat(as))},Nc=E.useState({}),Jd=(0,F.Z)(Nc,2),qd=Jd[1];function Tp(){qd({})}var $d;fa&&($d=function(jn){Sn(jn)}),D(function(){var sr;return[uo.current,(sr=Zi.current)===null||sr===void 0?void 0:sr.getPopupElement()]},Zo,Sn,!!fa);var Pp=E.useMemo(function(){return(0,_.Z)((0,_.Z)({},Re),{},{notFoundContent:Qe,open:pi,triggerOpen:Zo,id:He,showSearch:gi,multiple:hr,toggleOpen:Sn})},[Re,Qe,Zo,pi,He,gi,hr,Sn]),ev=!!Rr||on,tv;ev&&(tv=E.createElement(T,{className:m()("".concat(Je,"-arrow"),(0,G.Z)({},"".concat(Je,"-arrow-loading"),on)),customizeIcon:Rr,customizeIconProps:{loading:on,searchValue:ja,open:pi,focused:Ga,showSearch:gi}}));var Il=function(){var jn;gt==null||gt(),(jn=ha.current)===null||jn===void 0||jn.focus(),vt([],{type:"clear",values:It}),zr("",!1,!1)},nv=O(Je,Il,It,Mr,xr,St,ja,Pt),Sp=nv.allowClear,Op=nv.clearIcon,Dp=E.createElement(rr,{ref:Mi}),Cp=m()(Je,ke,(0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)({},"".concat(Je,"-focused"),Ga),"".concat(Je,"-multiple"),hr),"".concat(Je,"-single"),!hr),"".concat(Je,"-allow-clear"),Mr),"".concat(Je,"-show-arrow"),ev),"".concat(Je,"-disabled"),St),"".concat(Je,"-loading"),on),"".concat(Je,"-open"),pi),"".concat(Je,"-customize-input"),_u),"".concat(Je,"-show-search"),gi)),Nl=E.createElement(Mt,{ref:Zi,disabled:St,prefixCls:Je,visible:Zo,popupElement:Dp,animation:Zn,transitionName:Fr,dropdownStyle:ei,dropdownClassName:ti,direction:mt,dropdownMatchSelectWidth:Ir,dropdownRender:ta,dropdownAlign:Kr,placement:Ma,builtinPlacements:ji,getPopupContainer:Xr,empty:Rt,getTriggerDOMNode:function(jn){return Ha.current||jn},onPopupVisibleChange:$d,onPopupMouseEnter:Tp},fa?E.cloneElement(fa,{ref:Dc}):E.createElement(yt,(0,K.Z)({},Re,{domRef:Ha,prefixCls:Je,inputElement:_u,ref:ha,id:He,prefix:kr,showSearch:gi,autoClearSearchValue:Rn,mode:Pt,activeDescendantId:Hn,tagRender:tt,values:It,open:pi,onToggleOpen:Sn,activeValue:gn,searchValue:ja,onSearch:zr,onSearchSubmit:rs,onRemove:As,tokenWithEnter:On,onInputBlur:Ts}))),Bc;return fa?Bc=Nl:Bc=E.createElement("div",(0,K.Z)({className:Cp},Vi,{ref:uo,onMouseDown:Ap,onKeyDown:Lc,onKeyUp:Rc,onFocus:Qd,onBlur:Rl}),E.createElement(pt,{visible:Ga&&!pi,values:It}),Nl,tv,Sp&&Op),E.createElement(P.Provider,{value:Pp},Bc)}),Yt=kt,Wt=function(){return null};Wt.isSelectOptGroup=!0;var Ot=Wt,en=function(){return null};en.isSelectOption=!0;var vn=en,Jn=X(80547),Fn=X(2738),qn=X(65283);function br(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var Vn=["disabled","title","children","style","className"];function tr(Re){return typeof Re=="string"||typeof Re=="number"}var lr=function(De,Ke){var He=L(),Je=He.prefixCls,ke=He.id,Ze=He.open,tt=He.multiple,mt=He.mode,Tt=He.searchValue,It=He.toggleOpen,vt=He.notFoundContent,Rt=He.onPopupScroll,Bt=E.useContext(lt),Qe=Bt.maxCount,gt=Bt.flattenOptions,Pt=Bt.onActiveValue,St=Bt.defaultActiveFirstOption,on=Bt.onSelect,ln=Bt.menuItemSelectedIcon,Zt=Bt.rawValues,Jt=Bt.fieldNames,Xt=Bt.virtual,dn=Bt.direction,gn=Bt.listHeight,Mn=Bt.listItemHeight,Hn=Bt.optionRender,pn="".concat(Je,"-item"),Rn=(0,Jn.Z)(function(){return gt},[Ze,gt],function(zn,Ut){return Ut[0]&&zn[1]!==Ut[1]}),Yn=E.useRef(null),Gn=E.useMemo(function(){return tt&&Pe(Qe)&&(Zt==null?void 0:Zt.size)>=Qe},[tt,Qe,Zt==null?void 0:Zt.size]),Cn=function(Ut){Ut.preventDefault()},Mr=function(Ut){var Kt;(Kt=Yn.current)===null||Kt===void 0||Kt.scrollTo(typeof Ut=="number"?{index:Ut}:Ut)},kr=E.useCallback(function(zn){return mt==="combobox"?!1:Zt.has(zn)},[mt,(0,ee.Z)(Zt).toString(),Zt.size]),Rr=function(Ut){for(var Kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,mn=Rn.length,cn=0;cn<mn;cn+=1){var Tn=(Ut+cn*Kt+mn)%mn,ar=Rn[Tn]||{},gr=ar.group,hr=ar.data;if(!gr&&!(hr!=null&&hr.disabled)&&(kr(hr.value)||!Gn))return Tn}return-1},xr=E.useState(function(){return Rr(0)}),rr=(0,F.Z)(xr,2),Zn=rr[0],Fr=rr[1],ei=function(Ut){var Kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Fr(Ut);var mn={source:Kt?"keyboard":"mouse"},cn=Rn[Ut];if(!cn){Pt(null,-1,mn);return}Pt(cn.value,Ut,mn)};(0,E.useEffect)(function(){ei(St!==!1?Rr(0):-1)},[Rn.length,Tt]);var ti=E.useCallback(function(zn){return mt==="combobox"?String(zn).toLowerCase()===Tt.toLowerCase():Zt.has(zn)},[mt,Tt,(0,ee.Z)(Zt).toString(),Zt.size]);(0,E.useEffect)(function(){var zn=setTimeout(function(){if(!tt&&Ze&&Zt.size===1){var Kt=Array.from(Zt)[0],mn=Rn.findIndex(function(cn){var Tn=cn.data;return Tt?String(Tn.value).startsWith(Tt):Tn.value===Kt});mn!==-1&&(ei(mn),Mr(mn))}});if(Ze){var Ut;(Ut=Yn.current)===null||Ut===void 0||Ut.scrollTo(void 0)}return function(){return clearTimeout(zn)}},[Ze,Tt]);var Ir=function(Ut){Ut!==void 0&&on(Ut,{selected:!Zt.has(Ut)}),tt||It(!1)};if(E.useImperativeHandle(Ke,function(){return{onKeyDown:function(Ut){var Kt=Ut.which,mn=Ut.ctrlKey;switch(Kt){case R.Z.N:case R.Z.P:case R.Z.UP:case R.Z.DOWN:{var cn=0;if(Kt===R.Z.UP?cn=-1:Kt===R.Z.DOWN?cn=1:br()&&mn&&(Kt===R.Z.N?cn=1:Kt===R.Z.P&&(cn=-1)),cn!==0){var Tn=Rr(Zn+cn,cn);Mr(Tn),ei(Tn,!0)}break}case R.Z.TAB:case R.Z.ENTER:{var ar,gr=Rn[Zn];gr&&!(gr!=null&&(ar=gr.data)!==null&&ar!==void 0&&ar.disabled)&&!Gn?Ir(gr.value):Ir(void 0),Ze&&Ut.preventDefault();break}case R.Z.ESC:It(!1),Ze&&Ut.stopPropagation()}},onKeyUp:function(){},scrollTo:function(Ut){Mr(Ut)}}}),Rn.length===0)return E.createElement("div",{role:"listbox",id:"".concat(ke,"_list"),className:"".concat(pn,"-empty"),onMouseDown:Cn},vt);var ta=Object.keys(Jt).map(function(zn){return Jt[zn]}),Kr=function(Ut){return Ut.label};function Ma(zn,Ut){var Kt=zn.group;return{role:Kt?"presentation":"option",id:"".concat(ke,"_list_").concat(Ut)}}var ji=function(Ut){var Kt=Rn[Ut];if(!Kt)return null;var mn=Kt.data||{},cn=mn.value,Tn=Kt.group,ar=(0,W.Z)(mn,!0),gr=Kr(Kt);return Kt?E.createElement("div",(0,K.Z)({"aria-label":typeof gr=="string"&&!Tn?gr:null},ar,{key:Ut},Ma(Kt,Ut),{"aria-selected":ti(cn)}),cn):null},Xr={role:"listbox",id:"".concat(ke,"_list")};return E.createElement(E.Fragment,null,Xt&&E.createElement("div",(0,K.Z)({},Xr,{style:{height:0,width:0,overflow:"hidden"}}),ji(Zn-1),ji(Zn),ji(Zn+1)),E.createElement(qn.Z,{itemKey:"key",ref:Yn,data:Rn,height:gn,itemHeight:Mn,fullHeight:!1,onMouseDown:Cn,onScroll:Rt,virtual:Xt,direction:dn,innerProps:Xt?null:Xr},function(zn,Ut){var Kt=zn.group,mn=zn.groupOption,cn=zn.data,Tn=zn.label,ar=zn.value,gr=cn.key;if(Kt){var hr,gi=(hr=cn.title)!==null&&hr!==void 0?hr:tr(Tn)?Tn.toString():void 0;return E.createElement("div",{className:m()(pn,"".concat(pn,"-group"),cn.className),title:gi},Tn!==void 0?Tn:gr)}var Vi=cn.disabled,na=cn.title,ws=cn.children,ni=cn.style,Vo=cn.className,uo=(0,w.Z)(cn,Vn),Ha=(0,Fn.Z)(uo,ta),Zi=kr(ar),ha=Vi||!Zi&&Gn,Mi="".concat(pn,"-option"),Ms=m()(pn,Mi,Vo,(0,G.Z)((0,G.Z)((0,G.Z)((0,G.Z)({},"".concat(Mi,"-grouped"),mn),"".concat(Mi,"-active"),Zn===Ut&&!ha),"".concat(Mi,"-disabled"),ha),"".concat(Mi,"-selected"),Zi)),co=Kr(zn),Gs=!ln||typeof ln=="function"||Zi,Ga=typeof co=="number"?co:co||ar,Aa=tr(Ga)?Ga.toString():void 0;return na!==void 0&&(Aa=na),E.createElement("div",(0,K.Z)({},(0,W.Z)(Ha),Xt?{}:Ma(zn,Ut),{"aria-selected":ti(ar),className:Ms,title:Aa,onMouseMove:function(){Zn===Ut||ha||ei(Ut)},onClick:function(){ha||Ir(ar)},style:ni}),E.createElement("div",{className:"".concat(Mi,"-content")},typeof Hn=="function"?Hn(zn,{index:Ut}):Ga),E.isValidElement(ln)||Zi,Gs&&E.createElement(T,{className:"".concat(pn,"-option-state"),customizeIcon:ln,customizeIconProps:{value:ar,disabled:ha,isSelected:Zi}},Zi?"\u2713":null))}))},nr=E.forwardRef(lr),an=nr,tn=function(Re,De){var Ke=E.useRef({values:new Map,options:new Map}),He=E.useMemo(function(){var ke=Ke.current,Ze=ke.values,tt=ke.options,mt=Re.map(function(vt){if(vt.label===void 0){var Rt;return(0,_.Z)((0,_.Z)({},vt),{},{label:(Rt=Ze.get(vt.value))===null||Rt===void 0?void 0:Rt.label})}return vt}),Tt=new Map,It=new Map;return mt.forEach(function(vt){Tt.set(vt.value,vt),It.set(vt.value,De.get(vt.value)||tt.get(vt.value))}),Ke.current.values=Tt,Ke.current.options=It,mt},[Re,De]),Je=E.useCallback(function(ke){return De.get(ke)||Ke.current.options.get(ke)},[De]);return[He,Je]};function An(Re,De){return re(Re).join("").toUpperCase().includes(De)}var wn=function(Re,De,Ke,He,Je){return E.useMemo(function(){if(!Ke||He===!1)return Re;var ke=De.options,Ze=De.label,tt=De.value,mt=[],Tt=typeof He=="function",It=Ke.toUpperCase(),vt=Tt?He:function(Bt,Qe){return Je?An(Qe[Je],It):Qe[ke]?An(Qe[Ze!=="children"?Ze:"label"],It):An(Qe[tt],It)},Rt=Tt?function(Bt){return Be(Bt)}:function(Bt){return Bt};return Re.forEach(function(Bt){if(Bt[ke]){var Qe=vt(Ke,Rt(Bt));if(Qe)mt.push(Bt);else{var gt=Bt[ke].filter(function(Pt){return vt(Ke,Rt(Pt))});gt.length&&mt.push((0,_.Z)((0,_.Z)({},Bt),{},(0,G.Z)({},ke,gt)))}return}vt(Ke,Rt(Bt))&&mt.push(Bt)}),mt},[Re,He,Je,Ke,De])},sn=X(6551),ir=X(11592),Nt=["children","value"],zt=["children"];function Gt(Re){var De=Re,Ke=De.key,He=De.props,Je=He.children,ke=He.value,Ze=(0,w.Z)(He,Nt);return(0,_.Z)({key:Ke,value:ke!==void 0?ke:Ke,children:Je},Ze)}function jt(Re){var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,ir.Z)(Re).map(function(Ke,He){if(!E.isValidElement(Ke)||!Ke.type)return null;var Je=Ke,ke=Je.type.isSelectOptGroup,Ze=Je.key,tt=Je.props,mt=tt.children,Tt=(0,w.Z)(tt,zt);return De||!ke?Gt(Ke):(0,_.Z)((0,_.Z)({key:"__RC_SELECT_GRP__".concat(Ze===null?He:Ze,"__"),label:Ze},Tt),{},{options:jt(mt)})}).filter(function(Ke){return Ke})}var En=function(De,Ke,He,Je,ke){return E.useMemo(function(){var Ze=De,tt=!De;tt&&(Ze=jt(Ke));var mt=new Map,Tt=new Map,It=function(Bt,Qe,gt){gt&&typeof gt=="string"&&Bt.set(Qe[gt],Qe)},vt=function Rt(Bt){for(var Qe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,gt=0;gt<Bt.length;gt+=1){var Pt=Bt[gt];!Pt[He.options]||Qe?(mt.set(Pt[He.value],Pt),It(Tt,Pt,He.label),It(Tt,Pt,Je),It(Tt,Pt,ke)):Rt(Pt[He.options],!0)}};return vt(Ze),{options:Ze,valueOptions:mt,labelOptions:Tt}},[De,Ke,He,Je,ke])},_e=En;function M(Re){var De=E.useRef();De.current=Re;var Ke=E.useCallback(function(){return De.current.apply(De,arguments)},[]);return Ke}function B(Re){var De=Re.mode,Ke=Re.options,He=Re.children,Je=Re.backfill,ke=Re.allowClear,Ze=Re.placeholder,tt=Re.getInputElement,mt=Re.showSearch,Tt=Re.onSearch,It=Re.defaultOpen,vt=Re.autoFocus,Rt=Re.labelInValue,Bt=Re.value,Qe=Re.inputValue,gt=Re.optionLabelProp,Pt=isMultiple(De),St=mt!==void 0?mt:Pt||De==="combobox",on=Ke||convertChildrenToData(He);if(warning(De!=="tags"||on.every(function(Xt){return!Xt.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),De==="tags"||De==="combobox"){var ln=on.some(function(Xt){return Xt.options?Xt.options.some(function(dn){return typeof("value"in dn?dn.value:dn.key)=="number"}):typeof("value"in Xt?Xt.value:Xt.key)=="number"});warning(!ln,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(De!=="combobox"||!gt,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(De==="combobox"||!Je,"`backfill` only works with `combobox` mode."),warning(De==="combobox"||!tt,"`getInputElement` only work with `combobox` mode."),noteOnce(De!=="combobox"||!tt||!ke||!Ze,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),Tt&&!St&&De!=="combobox"&&De!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!It||vt,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),Bt!=null){var Zt=toArray(Bt);warning(!Rt||Zt.every(function(Xt){return _typeof(Xt)==="object"&&("key"in Xt||"value"in Xt)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!Pt||Array.isArray(Bt),"`value` should be array when `mode` is `multiple` or `tags`")}if(He){var Jt=null;toNodeArray(He).some(function(Xt){if(!React.isValidElement(Xt)||!Xt.type)return!1;var dn=Xt,gn=dn.type;if(gn.isSelectOption)return!1;if(gn.isSelectOptGroup){var Mn=toNodeArray(Xt.props.children).every(function(Hn){return!React.isValidElement(Hn)||!Xt.type||Hn.type.isSelectOption?!0:(Jt=Hn.type,!1)});return!Mn}return Jt=gn,!0}),Jt&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Jt.displayName||Jt.name||Jt,"`.")),warning(Qe===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function I(Re,De){if(Re){var Ke=function He(Je){for(var ke=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Ze=0;Ze<Je.length;Ze++){var tt=Je[Ze];if(tt[De==null?void 0:De.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!ke&&Array.isArray(tt[De==null?void 0:De.options])&&He(tt[De==null?void 0:De.options],!0))break}};Ke(Re)}}var j=null,J=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","optionRender","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","labelRender","value","defaultValue","labelInValue","onChange","maxCount"],ye=["inputValue"];function be(Re){return!Re||(0,x.Z)(Re)!=="object"}var Le=E.forwardRef(function(Re,De){var Ke=Re.id,He=Re.mode,Je=Re.prefixCls,ke=Je===void 0?"rc-select":Je,Ze=Re.backfill,tt=Re.fieldNames,mt=Re.inputValue,Tt=Re.searchValue,It=Re.onSearch,vt=Re.autoClearSearchValue,Rt=vt===void 0?!0:vt,Bt=Re.onSelect,Qe=Re.onDeselect,gt=Re.dropdownMatchSelectWidth,Pt=gt===void 0?!0:gt,St=Re.filterOption,on=Re.filterSort,ln=Re.optionFilterProp,Zt=Re.optionLabelProp,Jt=Re.options,Xt=Re.optionRender,dn=Re.children,gn=Re.defaultActiveFirstOption,Mn=Re.menuItemSelectedIcon,Hn=Re.virtual,pn=Re.direction,Rn=Re.listHeight,Yn=Rn===void 0?200:Rn,Gn=Re.listItemHeight,Cn=Gn===void 0?20:Gn,Mr=Re.labelRender,kr=Re.value,Rr=Re.defaultValue,xr=Re.labelInValue,rr=Re.onChange,Zn=Re.maxCount,Fr=(0,w.Z)(Re,J),ei=(0,sn.ZP)(Ke),ti=Dt(He),Ir=!!(!Jt&&dn),ta=E.useMemo(function(){return St===void 0&&He==="combobox"?!1:St},[St,He]),Kr=E.useMemo(function(){return Ne(tt,Ir)},[JSON.stringify(tt),Ir]),Ma=(0,y.Z)("",{value:Tt!==void 0?Tt:mt,postState:function(On){return On||""}}),ji=(0,F.Z)(Ma,2),Xr=ji[0],zn=ji[1],Ut=_e(Jt,dn,Kr,ln,Zt),Kt=Ut.valueOptions,mn=Ut.labelOptions,cn=Ut.options,Tn=E.useCallback(function(Sn){var On=re(Sn);return On.map(function(Ln){var In,pr,zr,rs,Va;if(be(Ln))In=Ln;else{var js;zr=Ln.key,pr=Ln.label,In=(js=Ln.value)!==null&&js!==void 0?js:zr}var oi=Kt.get(In);if(oi){var Vs;if(pr===void 0&&(pr=oi==null?void 0:oi[Zt||Kr.label]),zr===void 0&&(zr=(Vs=oi==null?void 0:oi.key)!==null&&Vs!==void 0?Vs:In),rs=oi==null?void 0:oi.disabled,Va=oi==null?void 0:oi.title,0)var is}return{label:pr,value:In,key:zr,disabled:rs,title:Va}})},[Kr,Zt,Kt]),ar=(0,y.Z)(Rr,{value:kr}),gr=(0,F.Z)(ar,2),hr=gr[0],gi=gr[1],Vi=E.useMemo(function(){var Sn,On=ti&&hr===null?[]:hr,Ln=Tn(On);return He==="combobox"&&se((Sn=Ln[0])===null||Sn===void 0?void 0:Sn.value)?[]:Ln},[hr,Tn,He,ti]),na=tn(Vi,Kt),ws=(0,F.Z)(na,2),ni=ws[0],Vo=ws[1],uo=E.useMemo(function(){if(!He&&ni.length===1){var Sn=ni[0];if(Sn.value===null&&(Sn.label===null||Sn.label===void 0))return[]}return ni.map(function(On){var Ln;return(0,_.Z)((0,_.Z)({},On),{},{label:(Ln=typeof Mr=="function"?Mr(On):On.label)!==null&&Ln!==void 0?Ln:On.value})})},[He,ni,Mr]),Ha=E.useMemo(function(){return new Set(ni.map(function(Sn){return Sn.value}))},[ni]);E.useEffect(function(){if(He==="combobox"){var Sn,On=(Sn=ni[0])===null||Sn===void 0?void 0:Sn.value;zn(he(On)?String(On):"")}},[ni]);var Zi=M(function(Sn,On){var Ln=On!=null?On:Sn;return(0,G.Z)((0,G.Z)({},Kr.value,Sn),Kr.label,Ln)}),ha=E.useMemo(function(){if(He!=="tags")return cn;var Sn=(0,ee.Z)(cn),On=function(In){return Kt.has(In)};return(0,ee.Z)(ni).sort(function(Ln,In){return Ln.value<In.value?-1:1}).forEach(function(Ln){var In=Ln.value;On(In)||Sn.push(Zi(In,Ln.label))}),Sn},[Zi,cn,Kt,ni,He]),Mi=wn(ha,Kr,Xr,ta,ln),Ms=E.useMemo(function(){return He!=="tags"||!Xr||Mi.some(function(Sn){return Sn[ln||"value"]===Xr})||Mi.some(function(Sn){return Sn[Kr.value]===Xr})?Mi:[Zi(Xr)].concat((0,ee.Z)(Mi))},[Zi,ln,He,Mi,Xr,Kr]),co=function Sn(On){var Ln=(0,ee.Z)(On).sort(function(In,pr){return on(In,pr,{searchValue:Xr})});return Ln.map(function(In){return Array.isArray(In.options)?(0,_.Z)((0,_.Z)({},In),{},{options:In.options.length>0?Sn(In.options):In.options}):In})},Gs=E.useMemo(function(){return on?co(Ms):Ms},[Ms,on,Xr]),Ga=E.useMemo(function(){return We(Gs,{fieldNames:Kr,childrenAsData:Ir})},[Gs,Kr,Ir]),Aa=function(On){var Ln=Tn(On);if(gi(Ln),rr&&(Ln.length!==ni.length||Ln.some(function(zr,rs){var Va;return((Va=ni[rs])===null||Va===void 0?void 0:Va.value)!==(zr==null?void 0:zr.value)}))){var In=xr?Ln:Ln.map(function(zr){return zr.value}),pr=Ln.map(function(zr){return Be(Vo(zr.value))});rr(ti?In:In[0],ti?pr:pr[0])}},Cl=E.useState(null),ja=(0,F.Z)(Cl,2),_u=ja[0],fa=ja[1],Dc=E.useState(0),Eu=(0,F.Z)(Dc,2),xu=Eu[0],Cc=Eu[1],bu=gn!==void 0?gn:He!=="combobox",wu=E.useCallback(function(Sn,On){var Ln=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},In=Ln.source,pr=In===void 0?"keyboard":In;Cc(On),Ze&&He==="combobox"&&Sn!==null&&pr==="keyboard"&&fa(String(Sn))},[Ze,He]),ho=function(On,Ln,In){var pr=function(){var As,Ts=Vo(On);return[xr?{label:Ts==null?void 0:Ts[Kr.label],value:On,key:(As=Ts==null?void 0:Ts.key)!==null&&As!==void 0?As:On}:On,Be(Ts)]};if(Ln&&Bt){var zr=pr(),rs=(0,F.Z)(zr,2),Va=rs[0],js=rs[1];Bt(Va,js)}else if(!Ln&&Qe&&In!=="clear"){var oi=pr(),Vs=(0,F.Z)(oi,2),is=Vs[0],Lc=Vs[1];Qe(is,Lc)}},Ll=M(function(Sn,On){var Ln,In=ti?On.selected:!0;In?Ln=ti?[].concat((0,ee.Z)(ni),[Sn]):[Sn]:Ln=ni.filter(function(pr){return pr.value!==Sn}),Aa(Ln),ho(Sn,In),He==="combobox"?fa(""):(!Dt||Rt)&&(zn(""),fa(""))}),Gr=function(On,Ln){Aa(On);var In=Ln.type,pr=Ln.values;(In==="remove"||In==="clear")&&pr.forEach(function(zr){ho(zr.value,!1,In)})},pi=function(On,Ln){if(zn(On),fa(null),Ln.source==="submit"){var In=(On||"").trim();if(In){var pr=Array.from(new Set([].concat((0,ee.Z)(Ha),[In])));Aa(pr),ho(In,!0),zn("")}return}Ln.source!=="blur"&&(He==="combobox"&&Aa(On),It==null||It(On))},Ta=function(On){var Ln=On;He!=="tags"&&(Ln=On.map(function(pr){var zr=mn.get(pr);return zr==null?void 0:zr.value}).filter(function(pr){return pr!==void 0}));var In=Array.from(new Set([].concat((0,ee.Z)(Ha),(0,ee.Z)(Ln))));Aa(In),In.forEach(function(pr){ho(pr,!0)})},Zo=E.useMemo(function(){var Sn=Hn!==!1&&Pt!==!1;return(0,_.Z)((0,_.Z)({},Ut),{},{flattenOptions:Ga,onActiveValue:wu,defaultActiveFirstOption:bu,onSelect:Ll,menuItemSelectedIcon:Mn,rawValues:Ha,fieldNames:Kr,virtual:Sn,direction:pn,listHeight:Yn,listItemHeight:Cn,childrenAsData:Ir,maxCount:Zn,optionRender:Xt})},[Zn,Ut,Ga,wu,bu,Ll,Mn,Ha,Kr,Hn,Pt,pn,Yn,Cn,Ir,Xt]);return E.createElement(lt.Provider,{value:Zo},E.createElement(Yt,(0,K.Z)({},Fr,{id:ei,prefixCls:ke,ref:De,omitDomProps:ye,mode:He,displayValues:uo,onDisplayValuesChange:Gr,direction:pn,searchValue:Xr,onSearch:pi,autoClearSearchValue:Rt,onSearchSplit:Ta,dropdownMatchSelectWidth:Pt,OptionList:an,emptyOptions:!Ga.length,activeValue:_u,activeDescendantId:"".concat(ei,"_list_").concat(xu)})))}),Se=Le;Se.Option=vn,Se.OptGroup=Ot;var Ye=Se,Ge=Ye},22711:function(we,Me,X){"use strict";X.r(Me),X.d(Me,{ResizableTextArea:function(){return Q},default:function(){return ae}});var K=X(14809),ee=X(4635),G=X(20439),_=X(95190),F=X(50298),w=X(62646),x=X(92310),y=X.n(x),b=X(36901),E=X(66003),g=X(30292),m=X(18929),C=X(59301),d=X(93664),v=X(29301),A=X(34280),T=X(16089),O=`
min-height:0 !important;
max-height:none !important;
height:0 !important;
visibility:hidden !important;
overflow:hidden !important;
position:absolute !important;
z-index:-1000 !important;
top:0 !important;
right:0 !important;
pointer-events: none !important;
`,P=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],L={},c;function f(re){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,oe=re.getAttribute("id")||re.getAttribute("data-reactid")||re.getAttribute("name");if(ce&&L[oe])return L[oe];var he=window.getComputedStyle(re),se=he.getPropertyValue("box-sizing")||he.getPropertyValue("-moz-box-sizing")||he.getPropertyValue("-webkit-box-sizing"),pe=parseFloat(he.getPropertyValue("padding-bottom"))+parseFloat(he.getPropertyValue("padding-top")),me=parseFloat(he.getPropertyValue("border-bottom-width"))+parseFloat(he.getPropertyValue("border-top-width")),ge=P.map(function(Ae){return"".concat(Ae,":").concat(he.getPropertyValue(Ae))}).join(";"),Ee={sizingStyle:ge,paddingSize:pe,borderSize:me,boxSizing:se};return ce&&oe&&(L[oe]=Ee),Ee}function D(re){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,oe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,he=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;c||(c=document.createElement("textarea"),c.setAttribute("tab-index","-1"),c.setAttribute("aria-hidden","true"),c.setAttribute("name","hiddenTextarea"),document.body.appendChild(c)),re.getAttribute("wrap")?c.setAttribute("wrap",re.getAttribute("wrap")):c.removeAttribute("wrap");var se=f(re,ce),pe=se.paddingSize,me=se.borderSize,ge=se.boxSizing,Ee=se.sizingStyle;c.setAttribute("style","".concat(Ee,";").concat(O)),c.value=re.value||re.placeholder||"";var Ae=void 0,Fe=void 0,Ue,nt=c.scrollHeight;if(ge==="border-box"?nt+=me:ge==="content-box"&&(nt-=pe),oe!==null||he!==null){c.value=" ";var rt=c.scrollHeight-pe;oe!==null&&(Ae=rt*oe,ge==="border-box"&&(Ae=Ae+pe+me),nt=Math.max(Ae,nt)),he!==null&&(Fe=rt*he,ge==="border-box"&&(Fe=Fe+pe+me),Ue=nt>Fe?"":"hidden",nt=Math.min(Fe,nt))}var qe={height:nt,overflowY:Ue,resize:"none"};return Ae&&(qe.minHeight=Ae),Fe&&(qe.maxHeight=Fe),qe}var R=["prefixCls","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],k=0,W=1,z=2,Z=C.forwardRef(function(re,ce){var oe=re,he=oe.prefixCls,se=oe.defaultValue,pe=oe.value,me=oe.autoSize,ge=oe.onResize,Ee=oe.className,Ae=oe.style,Fe=oe.disabled,Ue=oe.onChange,nt=oe.onInternalAutoSize,rt=(0,w.Z)(oe,R),qe=(0,m.Z)(se,{value:pe,postState:function(vn){return vn!=null?vn:""}}),dt=(0,F.Z)(qe,2),yt=dt[0],je=dt[1],at=function(vn){je(vn.target.value),Ue==null||Ue(vn)},it=C.useRef();C.useImperativeHandle(ce,function(){return{textArea:it.current}});var ht=C.useMemo(function(){return me&&(0,d.Z)(me)==="object"?[me.minRows,me.maxRows]:[]},[me]),ut=(0,F.Z)(ht,2),Mt=ut[0],Ce=ut[1],ot=!!me,Pe=function(){try{if(document.activeElement===it.current){var vn=it.current,Jn=vn.selectionStart,Fn=vn.selectionEnd,qn=vn.scrollTop;it.current.setSelectionRange(Jn,Fn),it.current.scrollTop=qn}}catch(br){}},Ne=C.useState(z),We=(0,F.Z)(Ne,2),Be=We[0],Ve=We[1],$e=C.useState(),lt=(0,F.Z)($e,2),pt=lt[0],xt=lt[1],wt=function(){Ve(k)};(0,A.Z)(function(){ot&&wt()},[pe,Mt,Ce,ot]),(0,A.Z)(function(){if(Be===k)Ve(W);else if(Be===W){var en=D(it.current,!1,Mt,Ce);Ve(z),xt(en)}else Pe()},[Be]);var Dt=C.useRef(),kt=function(){T.Z.cancel(Dt.current)},Yt=function(vn){Be===z&&(ge==null||ge(vn),me&&(kt(),Dt.current=(0,T.Z)(function(){wt()})))};C.useEffect(function(){return kt},[]);var Wt=ot?pt:null,Ot=(0,G.Z)((0,G.Z)({},Ae),Wt);return(Be===k||Be===W)&&(Ot.overflowY="hidden",Ot.overflowX="hidden"),C.createElement(v.Z,{onResize:Yt,disabled:!(me||ge)},C.createElement("textarea",(0,K.Z)({},rt,{ref:it,style:Ot,className:y()(he,Ee,(0,ee.Z)({},"".concat(he,"-disabled"),Fe)),disabled:Fe,value:yt,onChange:at})))}),Q=Z,te=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize","onClear","onPressEnter","readOnly","autoSize","onKeyDown"],$=C.forwardRef(function(re,ce){var oe,he=re.defaultValue,se=re.value,pe=re.onFocus,me=re.onBlur,ge=re.onChange,Ee=re.allowClear,Ae=re.maxLength,Fe=re.onCompositionStart,Ue=re.onCompositionEnd,nt=re.suffix,rt=re.prefixCls,qe=rt===void 0?"rc-textarea":rt,dt=re.showCount,yt=re.count,je=re.className,at=re.style,it=re.disabled,ht=re.hidden,ut=re.classNames,Mt=re.styles,Ce=re.onResize,ot=re.onClear,Pe=re.onPressEnter,Ne=re.readOnly,We=re.autoSize,Be=re.onKeyDown,Ve=(0,w.Z)(re,te),$e=(0,m.Z)(he,{value:se,defaultValue:he}),lt=(0,F.Z)($e,2),pt=lt[0],xt=lt[1],wt=pt==null?"":String(pt),Dt=C.useState(!1),kt=(0,F.Z)(Dt,2),Yt=kt[0],Wt=kt[1],Ot=C.useRef(!1),en=C.useState(null),vn=(0,F.Z)(en,2),Jn=vn[0],Fn=vn[1],qn=(0,C.useRef)(null),br=(0,C.useRef)(null),Vn=function(){var Se;return(Se=br.current)===null||Se===void 0?void 0:Se.textArea},tr=function(){Vn().focus()};(0,C.useImperativeHandle)(ce,function(){var Le;return{resizableTextArea:br.current,focus:tr,blur:function(){Vn().blur()},nativeElement:((Le=qn.current)===null||Le===void 0?void 0:Le.nativeElement)||Vn()}}),(0,C.useEffect)(function(){Wt(function(Le){return!it&&Le})},[it]);var lr=C.useState(null),nr=(0,F.Z)(lr,2),an=nr[0],tn=nr[1];C.useEffect(function(){if(an){var Le;(Le=Vn()).setSelectionRange.apply(Le,(0,_.Z)(an))}},[an]);var An=(0,E.Z)(yt,dt),wn=(oe=An.max)!==null&&oe!==void 0?oe:Ae,sn=Number(wn)>0,ir=An.strategy(wt),Nt=!!wn&&ir>wn,zt=function(Se,Ye){var Ge=Ye;!Ot.current&&An.exceedFormatter&&An.max&&An.strategy(Ye)>An.max&&(Ge=An.exceedFormatter(Ye,{max:An.max}),Ye!==Ge&&tn([Vn().selectionStart||0,Vn().selectionEnd||0])),xt(Ge),(0,g.rJ)(Se.currentTarget,Se,ge,Ge)},Gt=function(Se){Ot.current=!0,Fe==null||Fe(Se)},jt=function(Se){Ot.current=!1,zt(Se,Se.currentTarget.value),Ue==null||Ue(Se)},En=function(Se){zt(Se,Se.target.value)},_e=function(Se){Se.key==="Enter"&&Pe&&Pe(Se),Be==null||Be(Se)},M=function(Se){Wt(!0),pe==null||pe(Se)},B=function(Se){Wt(!1),me==null||me(Se)},I=function(Se){xt(""),tr(),(0,g.rJ)(Vn(),Se,ge)},j=nt,J;An.show&&(An.showFormatter?J=An.showFormatter({value:wt,count:ir,maxLength:wn}):J="".concat(ir).concat(sn?" / ".concat(wn):""),j=C.createElement(C.Fragment,null,j,C.createElement("span",{className:y()("".concat(qe,"-data-count"),ut==null?void 0:ut.count),style:Mt==null?void 0:Mt.count},J)));var ye=function(Se){var Ye;Ce==null||Ce(Se),(Ye=Vn())!==null&&Ye!==void 0&&Ye.style.height&&Fn(!0)},be=!We&&!dt&&!Ee;return C.createElement(b.BaseInput,{ref:qn,value:wt,allowClear:Ee,handleReset:I,suffix:j,prefixCls:qe,classNames:(0,G.Z)((0,G.Z)({},ut),{},{affixWrapper:y()(ut==null?void 0:ut.affixWrapper,(0,ee.Z)((0,ee.Z)({},"".concat(qe,"-show-count"),dt),"".concat(qe,"-textarea-allow-clear"),Ee))}),disabled:it,focused:Yt,className:y()(je,Nt&&"".concat(qe,"-out-of-range")),style:(0,G.Z)((0,G.Z)({},at),Jn&&!be?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof J=="string"?J:void 0}},hidden:ht,readOnly:Ne,onClear:ot},C.createElement(Q,(0,K.Z)({},Ve,{autoSize:We,maxLength:Ae,onKeyDown:_e,onChange:En,onFocus:M,onBlur:B,onCompositionStart:Gt,onCompositionEnd:jt,className:y()(ut==null?void 0:ut.textarea),style:(0,G.Z)((0,G.Z)({},Mt==null?void 0:Mt.textarea),{},{resize:at==null?void 0:at.resize}),disabled:it,prefixCls:qe,onResize:ye,ref:br,readOnly:Ne})))}),ie=$,ae=ie},65283:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return yt}});var K=X(14809),ee=X(93664),G=X(20439),_=X(4635),F=X(50298),w=X(62646),x=X(92310),y=X.n(x),b=X(29301),E=X(70425),g=X(34280),m=X(59301),C=X(4676),d=m.forwardRef(function(je,at){var it=je.height,ht=je.offsetY,ut=je.offsetX,Mt=je.children,Ce=je.prefixCls,ot=je.onInnerResize,Pe=je.innerProps,Ne=je.rtl,We=je.extra,Be={},Ve={display:"flex",flexDirection:"column"};return ht!==void 0&&(Be={height:it,position:"relative",overflow:"hidden"},Ve=(0,G.Z)((0,G.Z)({},Ve),{},(0,_.Z)((0,_.Z)((0,_.Z)((0,_.Z)((0,_.Z)({transform:"translateY(".concat(ht,"px)")},Ne?"marginRight":"marginLeft",-ut),"position","absolute"),"left",0),"right",0),"top",0))),m.createElement("div",{style:Be},m.createElement(b.Z,{onResize:function(lt){var pt=lt.offsetHeight;pt&&ot&&ot()}},m.createElement("div",(0,K.Z)({style:Ve,className:y()((0,_.Z)({},"".concat(Ce,"-holder-inner"),Ce)),ref:at},Pe),Mt,We)))});d.displayName="Filler";var v=d;function A(je){var at=je.children,it=je.setRef,ht=m.useCallback(function(ut){it(ut)},[]);return m.cloneElement(at,{ref:ht})}function T(je,at,it,ht,ut,Mt,Ce,ot){var Pe=ot.getKey;return je.slice(at,it+1).map(function(Ne,We){var Be=at+We,Ve=Ce(Ne,Be,{style:{width:ht},offsetX:ut}),$e=Pe(Ne);return m.createElement(A,{key:$e,setRef:function(pt){return Mt(Ne,pt)}},Ve)})}function O(je,at,it,ht){var ut=it-je,Mt=at-it,Ce=Math.min(ut,Mt)*2;if(ht<=Ce){var ot=Math.floor(ht/2);return ht%2?it+ot+1:it-ot}return ut>Mt?it-(ht-Mt):it+(ht-ut)}function P(je,at,it){var ht=je.length,ut=at.length,Mt,Ce;if(ht===0&&ut===0)return null;ht<ut?(Mt=je,Ce=at):(Mt=at,Ce=je);var ot={__EMPTY_ITEM__:!0};function Pe(lt){return lt!==void 0?it(lt):ot}for(var Ne=null,We=Math.abs(ht-ut)!==1,Be=0;Be<Ce.length;Be+=1){var Ve=Pe(Mt[Be]),$e=Pe(Ce[Be]);if(Ve!==$e){Ne=Be,We=We||Ve!==Pe(Ce[Be+1]);break}}return Ne===null?null:{index:Ne,multiple:We}}function L(je,at,it){var ht=m.useState(je),ut=(0,F.Z)(ht,2),Mt=ut[0],Ce=ut[1],ot=m.useState(null),Pe=(0,F.Z)(ot,2),Ne=Pe[0],We=Pe[1];return m.useEffect(function(){var Be=P(Mt||[],je||[],at);(Be==null?void 0:Be.index)!==void 0&&(it==null||it(Be.index),We(je[Be.index])),Ce(je)},[je]),[Ne]}var c=X(16089),f=(typeof navigator=="undefined"?"undefined":(0,ee.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),D=f,R=function(je,at,it,ht){var ut=(0,m.useRef)(!1),Mt=(0,m.useRef)(null);function Ce(){clearTimeout(Mt.current),ut.current=!0,Mt.current=setTimeout(function(){ut.current=!1},50)}var ot=(0,m.useRef)({top:je,bottom:at,left:it,right:ht});return ot.current.top=je,ot.current.bottom=at,ot.current.left=it,ot.current.right=ht,function(Pe,Ne){var We=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,Be=Pe?Ne<0&&ot.current.left||Ne>0&&ot.current.right:Ne<0&&ot.current.top||Ne>0&&ot.current.bottom;return We&&Be?(clearTimeout(Mt.current),ut.current=!1):(!Be||ut.current)&&Ce(),!ut.current&&Be}};function k(je,at,it,ht,ut,Mt,Ce){var ot=(0,m.useRef)(0),Pe=(0,m.useRef)(null),Ne=(0,m.useRef)(null),We=(0,m.useRef)(!1),Be=R(at,it,ht,ut);function Ve(Dt,kt){if(c.Z.cancel(Pe.current),!Be(!1,kt)){var Yt=Dt;if(!Yt._virtualHandled)Yt._virtualHandled=!0;else return;ot.current+=kt,Ne.current=kt,D||Yt.preventDefault(),Pe.current=(0,c.Z)(function(){var Wt=We.current?10:1;Ce(ot.current*Wt,!1),ot.current=0})}}function $e(Dt,kt){Ce(kt,!0),D||Dt.preventDefault()}var lt=(0,m.useRef)(null),pt=(0,m.useRef)(null);function xt(Dt){if(je){c.Z.cancel(pt.current),pt.current=(0,c.Z)(function(){lt.current=null},2);var kt=Dt.deltaX,Yt=Dt.deltaY,Wt=Dt.shiftKey,Ot=kt,en=Yt;(lt.current==="sx"||!lt.current&&Wt&&Yt&&!kt)&&(Ot=Yt,en=0,lt.current="sx");var vn=Math.abs(Ot),Jn=Math.abs(en);lt.current===null&&(lt.current=Mt&&vn>Jn?"x":"y"),lt.current==="y"?Ve(Dt,en):$e(Dt,Ot)}}function wt(Dt){je&&(We.current=Dt.detail===Ne.current)}return[xt,wt]}function W(je,at,it,ht){var ut=m.useMemo(function(){return[new Map,[]]},[je,it.id,ht]),Mt=(0,F.Z)(ut,2),Ce=Mt[0],ot=Mt[1],Pe=function(We){var Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:We,Ve=Ce.get(We),$e=Ce.get(Be);if(Ve===void 0||$e===void 0)for(var lt=je.length,pt=ot.length;pt<lt;pt+=1){var xt,wt=je[pt],Dt=at(wt);Ce.set(Dt,pt);var kt=(xt=it.get(Dt))!==null&&xt!==void 0?xt:ht;if(ot[pt]=(ot[pt-1]||0)+kt,Dt===We&&(Ve=pt),Dt===Be&&($e=pt),Ve!==void 0&&$e!==void 0)break}return{top:ot[Ve-1]||0,bottom:ot[$e]}};return Pe}var z=X(99153),Z=X(84851),Q=function(){function je(){(0,z.Z)(this,je),(0,_.Z)(this,"maps",void 0),(0,_.Z)(this,"id",0),(0,_.Z)(this,"diffRecords",new Map),this.maps=Object.create(null)}return(0,Z.Z)(je,[{key:"set",value:function(it,ht){this.diffRecords.set(it,this.maps[it]),this.maps[it]=ht,this.id+=1}},{key:"get",value:function(it){return this.maps[it]}},{key:"resetRecord",value:function(){this.diffRecords.clear()}},{key:"getRecord",value:function(){return this.diffRecords}}]),je}(),te=Q;function $(je){var at=parseFloat(je);return isNaN(at)?0:at}function ie(je,at,it){var ht=m.useState(0),ut=(0,F.Z)(ht,2),Mt=ut[0],Ce=ut[1],ot=(0,m.useRef)(new Map),Pe=(0,m.useRef)(new te),Ne=(0,m.useRef)(0);function We(){Ne.current+=1}function Be(){var $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;We();var lt=function(){var wt=!1;ot.current.forEach(function(Dt,kt){if(Dt&&Dt.offsetParent){var Yt=Dt.offsetHeight,Wt=getComputedStyle(Dt),Ot=Wt.marginTop,en=Wt.marginBottom,vn=$(Ot),Jn=$(en),Fn=Yt+vn+Jn;Pe.current.get(kt)!==Fn&&(Pe.current.set(kt,Fn),wt=!0)}}),wt&&Ce(function(Dt){return Dt+1})};if($e)lt();else{Ne.current+=1;var pt=Ne.current;Promise.resolve().then(function(){pt===Ne.current&&lt()})}}function Ve($e,lt){var pt=je($e),xt=ot.current.get(pt);lt?(ot.current.set(pt,lt),Be()):ot.current.delete(pt),!xt!=!lt&&(lt?at==null||at($e):it==null||it($e))}return(0,m.useEffect)(function(){return We},[]),[Ve,Be,Pe.current,Mt]}var ae=14/15;function re(je,at,it){var ht=(0,m.useRef)(!1),ut=(0,m.useRef)(0),Mt=(0,m.useRef)(0),Ce=(0,m.useRef)(null),ot=(0,m.useRef)(null),Pe,Ne=function($e){if(ht.current){var lt=Math.ceil($e.touches[0].pageX),pt=Math.ceil($e.touches[0].pageY),xt=ut.current-lt,wt=Mt.current-pt,Dt=Math.abs(xt)>Math.abs(wt);Dt?ut.current=lt:Mt.current=pt;var kt=it(Dt,Dt?xt:wt,!1,$e);kt&&$e.preventDefault(),clearInterval(ot.current),kt&&(ot.current=setInterval(function(){Dt?xt*=ae:wt*=ae;var Yt=Math.floor(Dt?xt:wt);(!it(Dt,Yt,!0)||Math.abs(Yt)<=.1)&&clearInterval(ot.current)},16))}},We=function(){ht.current=!1,Pe()},Be=function($e){Pe(),$e.touches.length===1&&!ht.current&&(ht.current=!0,ut.current=Math.ceil($e.touches[0].pageX),Mt.current=Math.ceil($e.touches[0].pageY),Ce.current=$e.target,Ce.current.addEventListener("touchmove",Ne,{passive:!1}),Ce.current.addEventListener("touchend",We,{passive:!0}))};Pe=function(){Ce.current&&(Ce.current.removeEventListener("touchmove",Ne),Ce.current.removeEventListener("touchend",We))},(0,g.Z)(function(){return je&&at.current.addEventListener("touchstart",Be,{passive:!0}),function(){var Ve;(Ve=at.current)===null||Ve===void 0||Ve.removeEventListener("touchstart",Be),Pe(),clearInterval(ot.current)}},[je])}function ce(je){return Math.floor(Math.pow(je,.5))}function oe(je,at){var it="touches"in je?je.touches[0]:je;return it[at?"pageX":"pageY"]-window[at?"scrollX":"scrollY"]}function he(je,at,it){m.useEffect(function(){var ht=at.current;if(je&&ht){var ut=!1,Mt,Ce,ot=function(){c.Z.cancel(Mt)},Pe=function Ve(){ot(),Mt=(0,c.Z)(function(){it(Ce),Ve()})},Ne=function($e){if(!($e.target.draggable||$e.button!==0)){var lt=$e;lt._virtualHandled||(lt._virtualHandled=!0,ut=!0)}},We=function(){ut=!1,ot()},Be=function($e){if(ut){var lt=oe($e,!1),pt=ht.getBoundingClientRect(),xt=pt.top,wt=pt.bottom;if(lt<=xt){var Dt=xt-lt;Ce=-ce(Dt),Pe()}else if(lt>=wt){var kt=lt-wt;Ce=ce(kt),Pe()}else ot()}};return ht.addEventListener("mousedown",Ne),ht.ownerDocument.addEventListener("mouseup",We),ht.ownerDocument.addEventListener("mousemove",Be),function(){ht.removeEventListener("mousedown",Ne),ht.ownerDocument.removeEventListener("mouseup",We),ht.ownerDocument.removeEventListener("mousemove",Be),ot()}}},[je])}var se=10;function pe(je,at,it,ht,ut,Mt,Ce,ot){var Pe=m.useRef(),Ne=m.useState(null),We=(0,F.Z)(Ne,2),Be=We[0],Ve=We[1];return(0,g.Z)(function(){if(Be&&Be.times<se){if(!je.current){Ve(function(An){return(0,G.Z)({},An)});return}Mt();var $e=Be.targetAlign,lt=Be.originAlign,pt=Be.index,xt=Be.offset,wt=je.current.clientHeight,Dt=!1,kt=$e,Yt=null;if(wt){for(var Wt=$e||lt,Ot=0,en=0,vn=0,Jn=Math.min(at.length-1,pt),Fn=0;Fn<=Jn;Fn+=1){var qn=ut(at[Fn]);en=Ot;var br=it.get(qn);vn=en+(br===void 0?ht:br),Ot=vn}for(var Vn=Wt==="top"?xt:wt-xt,tr=Jn;tr>=0;tr-=1){var lr=ut(at[tr]),nr=it.get(lr);if(nr===void 0){Dt=!0;break}if(Vn-=nr,Vn<=0)break}switch(Wt){case"top":Yt=en-xt;break;case"bottom":Yt=vn-wt+xt;break;default:{var an=je.current.scrollTop,tn=an+wt;en<an?kt="top":vn>tn&&(kt="bottom")}}Yt!==null&&Ce(Yt),Yt!==Be.lastTop&&(Dt=!0)}Dt&&Ve((0,G.Z)((0,G.Z)({},Be),{},{times:Be.times+1,targetAlign:kt,lastTop:Yt}))}},[Be,je.current]),function($e){if($e==null){ot();return}if(c.Z.cancel(Pe.current),typeof $e=="number")Ce($e);else if($e&&(0,ee.Z)($e)==="object"){var lt,pt=$e.align;"index"in $e?lt=$e.index:lt=at.findIndex(function(Dt){return ut(Dt)===$e.key});var xt=$e.offset,wt=xt===void 0?0:xt;Ve({times:0,index:lt,offset:wt,originAlign:pt})}}}var me=m.forwardRef(function(je,at){var it=je.prefixCls,ht=je.rtl,ut=je.scrollOffset,Mt=je.scrollRange,Ce=je.onStartMove,ot=je.onStopMove,Pe=je.onScroll,Ne=je.horizontal,We=je.spinSize,Be=je.containerSize,Ve=je.style,$e=je.thumbStyle,lt=je.showScrollBar,pt=m.useState(!1),xt=(0,F.Z)(pt,2),wt=xt[0],Dt=xt[1],kt=m.useState(null),Yt=(0,F.Z)(kt,2),Wt=Yt[0],Ot=Yt[1],en=m.useState(null),vn=(0,F.Z)(en,2),Jn=vn[0],Fn=vn[1],qn=!ht,br=m.useRef(),Vn=m.useRef(),tr=m.useState(lt),lr=(0,F.Z)(tr,2),nr=lr[0],an=lr[1],tn=m.useRef(),An=function(){lt===!0||lt===!1||(clearTimeout(tn.current),an(!0),tn.current=setTimeout(function(){an(!1)},3e3))},wn=Mt-Be||0,sn=Be-We||0,ir=m.useMemo(function(){if(ut===0||wn===0)return 0;var I=ut/wn;return I*sn},[ut,wn,sn]),Nt=function(j){j.stopPropagation(),j.preventDefault()},zt=m.useRef({top:ir,dragging:wt,pageY:Wt,startTop:Jn});zt.current={top:ir,dragging:wt,pageY:Wt,startTop:Jn};var Gt=function(j){Dt(!0),Ot(oe(j,Ne)),Fn(zt.current.top),Ce(),j.stopPropagation(),j.preventDefault()};m.useEffect(function(){var I=function(be){be.preventDefault()},j=br.current,J=Vn.current;return j.addEventListener("touchstart",I,{passive:!1}),J.addEventListener("touchstart",Gt,{passive:!1}),function(){j.removeEventListener("touchstart",I),J.removeEventListener("touchstart",Gt)}},[]);var jt=m.useRef();jt.current=wn;var En=m.useRef();En.current=sn,m.useEffect(function(){if(wt){var I,j=function(be){var Le=zt.current,Se=Le.dragging,Ye=Le.pageY,Ge=Le.startTop;c.Z.cancel(I);var Re=br.current.getBoundingClientRect(),De=Be/(Ne?Re.width:Re.height);if(Se){var Ke=(oe(be,Ne)-Ye)*De,He=Ge;!qn&&Ne?He-=Ke:He+=Ke;var Je=jt.current,ke=En.current,Ze=ke?He/ke:0,tt=Math.ceil(Ze*Je);tt=Math.max(tt,0),tt=Math.min(tt,Je),I=(0,c.Z)(function(){Pe(tt,Ne)})}},J=function(){Dt(!1),ot()};return window.addEventListener("mousemove",j,{passive:!0}),window.addEventListener("touchmove",j,{passive:!0}),window.addEventListener("mouseup",J,{passive:!0}),window.addEventListener("touchend",J,{passive:!0}),function(){window.removeEventListener("mousemove",j),window.removeEventListener("touchmove",j),window.removeEventListener("mouseup",J),window.removeEventListener("touchend",J),c.Z.cancel(I)}}},[wt]),m.useEffect(function(){return An(),function(){clearTimeout(tn.current)}},[ut]),m.useImperativeHandle(at,function(){return{delayHidden:An}});var _e="".concat(it,"-scrollbar"),M={position:"absolute",visibility:nr?null:"hidden"},B={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return Ne?(M.height=8,M.left=0,M.right=0,M.bottom=0,B.height="100%",B.width=We,qn?B.left=ir:B.right=ir):(M.width=8,M.top=0,M.bottom=0,qn?M.right=0:M.left=0,B.width="100%",B.height=We,B.top=ir),m.createElement("div",{ref:br,className:y()(_e,(0,_.Z)((0,_.Z)((0,_.Z)({},"".concat(_e,"-horizontal"),Ne),"".concat(_e,"-vertical"),!Ne),"".concat(_e,"-visible"),nr)),style:(0,G.Z)((0,G.Z)({},M),Ve),onMouseDown:Nt,onMouseMove:An},m.createElement("div",{ref:Vn,className:y()("".concat(_e,"-thumb"),(0,_.Z)({},"".concat(_e,"-thumb-moving"),wt)),style:(0,G.Z)((0,G.Z)({},B),$e),onMouseDown:Gt}))}),ge=me,Ee=20;function Ae(){var je=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,it=je/at*je;return isNaN(it)&&(it=0),it=Math.max(it,Ee),Math.floor(it)}var Fe=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],Ue=[],nt={overflowY:"auto",overflowAnchor:"none"};function rt(je,at){var it=je.prefixCls,ht=it===void 0?"rc-virtual-list":it,ut=je.className,Mt=je.height,Ce=je.itemHeight,ot=je.fullHeight,Pe=ot===void 0?!0:ot,Ne=je.style,We=je.data,Be=je.children,Ve=je.itemKey,$e=je.virtual,lt=je.direction,pt=je.scrollWidth,xt=je.component,wt=xt===void 0?"div":xt,Dt=je.onScroll,kt=je.onVirtualScroll,Yt=je.onVisibleChange,Wt=je.innerProps,Ot=je.extraRender,en=je.styles,vn=je.showScrollBar,Jn=vn===void 0?"optional":vn,Fn=(0,w.Z)(je,Fe),qn=m.useCallback(function(Ut){return typeof Ve=="function"?Ve(Ut):Ut==null?void 0:Ut[Ve]},[Ve]),br=ie(qn,null,null),Vn=(0,F.Z)(br,4),tr=Vn[0],lr=Vn[1],nr=Vn[2],an=Vn[3],tn=!!($e!==!1&&Mt&&Ce),An=m.useMemo(function(){return Object.values(nr.maps).reduce(function(Ut,Kt){return Ut+Kt},0)},[nr.id,nr.maps]),wn=tn&&We&&(Math.max(Ce*We.length,An)>Mt||!!pt),sn=lt==="rtl",ir=y()(ht,(0,_.Z)({},"".concat(ht,"-rtl"),sn),ut),Nt=We||Ue,zt=(0,m.useRef)(),Gt=(0,m.useRef)(),jt=(0,m.useRef)(),En=(0,m.useState)(0),_e=(0,F.Z)(En,2),M=_e[0],B=_e[1],I=(0,m.useState)(0),j=(0,F.Z)(I,2),J=j[0],ye=j[1],be=(0,m.useState)(!1),Le=(0,F.Z)(be,2),Se=Le[0],Ye=Le[1],Ge=function(){Ye(!0)},Re=function(){Ye(!1)},De={getKey:qn};function Ke(Ut){B(function(Kt){var mn;typeof Ut=="function"?mn=Ut(Kt):mn=Ut;var cn=gn(mn);return zt.current.scrollTop=cn,cn})}var He=(0,m.useRef)({start:0,end:Nt.length}),Je=(0,m.useRef)(),ke=L(Nt,qn),Ze=(0,F.Z)(ke,1),tt=Ze[0];Je.current=tt;var mt=m.useMemo(function(){if(!tn)return{scrollHeight:void 0,start:0,end:Nt.length-1,offset:void 0};if(!wn){var Ut;return{scrollHeight:((Ut=Gt.current)===null||Ut===void 0?void 0:Ut.offsetHeight)||0,start:0,end:Nt.length-1,offset:void 0}}for(var Kt=0,mn,cn,Tn,ar=Nt.length,gr=0;gr<ar;gr+=1){var hr=Nt[gr],gi=qn(hr),Vi=nr.get(gi),na=Kt+(Vi===void 0?Ce:Vi);na>=M&&mn===void 0&&(mn=gr,cn=Kt),na>M+Mt&&Tn===void 0&&(Tn=gr),Kt=na}return mn===void 0&&(mn=0,cn=0,Tn=Math.ceil(Mt/Ce)),Tn===void 0&&(Tn=Nt.length-1),Tn=Math.min(Tn+1,Nt.length-1),{scrollHeight:Kt,start:mn,end:Tn,offset:cn}},[wn,tn,M,Nt,an,Mt]),Tt=mt.scrollHeight,It=mt.start,vt=mt.end,Rt=mt.offset;He.current.start=It,He.current.end=vt,m.useLayoutEffect(function(){var Ut=nr.getRecord();if(Ut.size===1){var Kt=Array.from(Ut.keys())[0],mn=Ut.get(Kt),cn=Nt[It];if(cn&&mn===void 0){var Tn=qn(cn);if(Tn===Kt){var ar=nr.get(Kt),gr=ar-Ce;Ke(function(hr){return hr+gr})}}}nr.resetRecord()},[Tt]);var Bt=m.useState({width:0,height:Mt}),Qe=(0,F.Z)(Bt,2),gt=Qe[0],Pt=Qe[1],St=function(Kt){Pt({width:Kt.offsetWidth,height:Kt.offsetHeight})},on=(0,m.useRef)(),ln=(0,m.useRef)(),Zt=m.useMemo(function(){return Ae(gt.width,pt)},[gt.width,pt]),Jt=m.useMemo(function(){return Ae(gt.height,Tt)},[gt.height,Tt]),Xt=Tt-Mt,dn=(0,m.useRef)(Xt);dn.current=Xt;function gn(Ut){var Kt=Ut;return Number.isNaN(dn.current)||(Kt=Math.min(Kt,dn.current)),Kt=Math.max(Kt,0),Kt}var Mn=M<=0,Hn=M>=Xt,pn=J<=0,Rn=J>=pt,Yn=R(Mn,Hn,pn,Rn),Gn=function(){return{x:sn?-J:J,y:M}},Cn=(0,m.useRef)(Gn()),Mr=(0,E.zX)(function(Ut){if(kt){var Kt=(0,G.Z)((0,G.Z)({},Gn()),Ut);(Cn.current.x!==Kt.x||Cn.current.y!==Kt.y)&&(kt(Kt),Cn.current=Kt)}});function kr(Ut,Kt){var mn=Ut;Kt?((0,C.flushSync)(function(){ye(mn)}),Mr()):Ke(mn)}function Rr(Ut){var Kt=Ut.currentTarget.scrollTop;Kt!==M&&Ke(Kt),Dt==null||Dt(Ut),Mr()}var xr=function(Kt){var mn=Kt,cn=pt?pt-gt.width:0;return mn=Math.max(mn,0),mn=Math.min(mn,cn),mn},rr=(0,E.zX)(function(Ut,Kt){Kt?((0,C.flushSync)(function(){ye(function(mn){var cn=mn+(sn?-Ut:Ut);return xr(cn)})}),Mr()):Ke(function(mn){var cn=mn+Ut;return cn})}),Zn=k(tn,Mn,Hn,pn,Rn,!!pt,rr),Fr=(0,F.Z)(Zn,2),ei=Fr[0],ti=Fr[1];re(tn,zt,function(Ut,Kt,mn,cn){var Tn=cn;return Yn(Ut,Kt,mn)?!1:!Tn||!Tn._virtualHandled?(Tn&&(Tn._virtualHandled=!0),ei({preventDefault:function(){},deltaX:Ut?Kt:0,deltaY:Ut?0:Kt}),!0):!1}),he(wn,zt,function(Ut){Ke(function(Kt){return Kt+Ut})}),(0,g.Z)(function(){function Ut(mn){var cn=Mn&&mn.detail<0,Tn=Hn&&mn.detail>0;tn&&!cn&&!Tn&&mn.preventDefault()}var Kt=zt.current;return Kt.addEventListener("wheel",ei,{passive:!1}),Kt.addEventListener("DOMMouseScroll",ti,{passive:!0}),Kt.addEventListener("MozMousePixelScroll",Ut,{passive:!1}),function(){Kt.removeEventListener("wheel",ei),Kt.removeEventListener("DOMMouseScroll",ti),Kt.removeEventListener("MozMousePixelScroll",Ut)}},[tn,Mn,Hn]),(0,g.Z)(function(){if(pt){var Ut=xr(J);ye(Ut),Mr({x:Ut})}},[gt.width,pt]);var Ir=function(){var Kt,mn;(Kt=on.current)===null||Kt===void 0||Kt.delayHidden(),(mn=ln.current)===null||mn===void 0||mn.delayHidden()},ta=pe(zt,Nt,nr,Ce,qn,function(){return lr(!0)},Ke,Ir);m.useImperativeHandle(at,function(){return{nativeElement:jt.current,getScrollInfo:Gn,scrollTo:function(Kt){function mn(cn){return cn&&(0,ee.Z)(cn)==="object"&&("left"in cn||"top"in cn)}mn(Kt)?(Kt.left!==void 0&&ye(xr(Kt.left)),ta(Kt.top)):ta(Kt)}}}),(0,g.Z)(function(){if(Yt){var Ut=Nt.slice(It,vt+1);Yt(Ut,Nt)}},[It,vt,Nt]);var Kr=W(Nt,qn,nr,Ce),Ma=Ot==null?void 0:Ot({start:It,end:vt,virtual:wn,offsetX:J,offsetY:Rt,rtl:sn,getSize:Kr}),ji=T(Nt,It,vt,pt,J,tr,Be,De),Xr=null;Mt&&(Xr=(0,G.Z)((0,_.Z)({},Pe?"height":"maxHeight",Mt),nt),tn&&(Xr.overflowY="hidden",pt&&(Xr.overflowX="hidden"),Se&&(Xr.pointerEvents="none")));var zn={};return sn&&(zn.dir="rtl"),m.createElement("div",(0,K.Z)({ref:jt,style:(0,G.Z)((0,G.Z)({},Ne),{},{position:"relative"}),className:ir},zn,Fn),m.createElement(b.Z,{onResize:St},m.createElement(wt,{className:"".concat(ht,"-holder"),style:Xr,ref:zt,onScroll:Rr,onMouseEnter:Ir},m.createElement(v,{prefixCls:ht,height:Tt,offsetX:J,offsetY:Rt,scrollWidth:pt,onInnerResize:lr,ref:Gt,innerProps:Wt,rtl:sn,extra:Ma},ji))),wn&&Tt>Mt&&m.createElement(ge,{ref:on,prefixCls:ht,scrollOffset:M,scrollRange:Tt,rtl:sn,onScroll:kr,onStartMove:Ge,onStopMove:Re,spinSize:Jt,containerSize:gt.height,style:en==null?void 0:en.verticalScrollBar,thumbStyle:en==null?void 0:en.verticalScrollBarThumb,showScrollBar:Jn}),wn&&pt>gt.width&&m.createElement(ge,{ref:ln,prefixCls:ht,scrollOffset:J,scrollRange:pt,rtl:sn,onScroll:kr,onStartMove:Ge,onStopMove:Re,spinSize:Zt,containerSize:gt.width,horizontal:!0,style:en==null?void 0:en.horizontalScrollBar,thumbStyle:en==null?void 0:en.horizontalScrollBarThumb,showScrollBar:Jn}))}var qe=m.forwardRef(rt);qe.displayName="List";var dt=qe,yt=dt},75029:function(we,Me,X){"use strict";var K=X(22948),ee=Array.prototype.concat,G=Array.prototype.slice,_=we.exports=function(w){for(var x=[],y=0,b=w.length;y<b;y++){var E=w[y];K(E)?x=ee.call(x,G.call(E)):x.push(E)}return x};_.wrap=function(F){return function(){return F(_(arguments))}}},27774:function(we,Me){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.SizeSensorId=Me.SensorTabIndex=Me.SensorClassName=void 0;var X="size-sensor-id";Me.SizeSensorId=X;var K="size-sensor-object";Me.SensorClassName=K;var ee="-1";Me.SensorTabIndex=ee},79301:function(we,Me){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.default=void 0;var X=function(ee){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,_=null;return function(){for(var F=this,w=arguments.length,x=new Array(w),y=0;y<w;y++)x[y]=arguments[y];clearTimeout(_),_=setTimeout(function(){ee.apply(F,x)},G)}};Me.default=X},79789:function(we,Me){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.default=void 0;var X=1,K=function(){return"".concat(X++)};Me.default=K},47242:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.ver=Me.clear=Me.bind=void 0;var K=X(95270),ee=function(w,x){var y=(0,K.getSensor)(w);return y.bind(x),function(){y.unbind(x)}};Me.bind=ee;var G=function(w){var x=(0,K.getSensor)(w);(0,K.removeSensor)(x)};Me.clear=G;var _="1.0.2";Me.ver=_},95270:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.removeSensor=Me.getSensor=Me.Sensors=void 0;var K=_(X(79789)),ee=X(57829),G=X(27774);function _(b){return b&&b.__esModule?b:{default:b}}var F={};Me.Sensors=F;function w(b){b&&F[b]&&delete F[b]}var x=function(E){var g=E.getAttribute(G.SizeSensorId);if(g&&F[g])return F[g];var m=(0,K.default)();E.setAttribute(G.SizeSensorId,m);var C=(0,ee.createSensor)(E,function(){return w(m)});return F[m]=C,C};Me.getSensor=x;var y=function(E){var g=E.element.getAttribute(G.SizeSensorId);E.destroy(),w(g)};Me.removeSensor=y},57829:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.createSensor=void 0;var K=X(20953),ee=X(55202),G=typeof ResizeObserver!="undefined"?ee.createSensor:K.createSensor;Me.createSensor=G},20953:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.createSensor=void 0;var K=G(X(79301)),ee=X(27774);function G(F){return F&&F.__esModule?F:{default:F}}var _=function(w,x){var y=void 0,b=[],E=function(){getComputedStyle(w).position==="static"&&(w.style.position="relative");var A=document.createElement("object");return A.onload=function(){A.contentDocument.defaultView.addEventListener("resize",g),g()},A.style.display="block",A.style.position="absolute",A.style.top="0",A.style.left="0",A.style.height="100%",A.style.width="100%",A.style.overflow="hidden",A.style.pointerEvents="none",A.style.zIndex="-1",A.style.opacity="0",A.setAttribute("class",ee.SensorClassName),A.setAttribute("tabindex",ee.SensorTabIndex),A.type="text/html",w.appendChild(A),A.data="about:blank",A},g=(0,K.default)(function(){b.forEach(function(v){v(w)})}),m=function(A){y||(y=E()),b.indexOf(A)===-1&&b.push(A)},C=function(){y&&y.parentNode&&(y.contentDocument&&y.contentDocument.defaultView.removeEventListener("resize",g),y.parentNode.removeChild(y),w.removeAttribute(ee.SizeSensorId),y=void 0,b=[],x&&x())},d=function(A){var T=b.indexOf(A);T!==-1&&b.splice(T,1),b.length===0&&y&&C()};return{element:w,bind:m,destroy:C,unbind:d}};Me.createSensor=_},55202:function(we,Me,X){"use strict";Object.defineProperty(Me,"__esModule",{value:!0}),Me.createSensor=void 0;var K=X(27774),ee=G(X(79301));function G(F){return F&&F.__esModule?F:{default:F}}var _=function(w,x){var y=void 0,b=[],E=(0,ee.default)(function(){b.forEach(function(v){v(w)})}),g=function(){var A=new ResizeObserver(E);return A.observe(w),E(),A},m=function(A){y||(y=g()),b.indexOf(A)===-1&&b.push(A)},C=function(){y.disconnect(),b=[],y=void 0,w.removeAttribute(K.SizeSensorId),x&&x()},d=function(A){var T=b.indexOf(A);T!==-1&&b.splice(T,1),b.length===0&&y&&C()};return{element:w,bind:m,destroy:C,unbind:d}};Me.createSensor=_},82059:function(we){var Me=arguments[3],X=arguments[4],K=arguments[5],ee=JSON.stringify;we.exports=function(G,_){for(var F,w=Object.keys(K),x=0,y=w.length;x<y;x++){var b=w[x],E=K[b].exports;if(E===G||E&&E.default===G){F=b;break}}if(!F){F=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var g={},x=0,y=w.length;x<y;x++){var b=w[x];g[b]=b}X[F]=["function(require,module,exports){"+G+"(self); }",g]}var m=Math.floor(Math.pow(16,8)*Math.random()).toString(16),C={};C[F]=F,X[m]=["function(require,module,exports){var f = require("+ee(F)+");(f.default ? f.default : f)(self);}",C];var d={};v(m);function v(c){d[c]=!0;for(var f in X[c][1]){var D=X[c][1][f];d[D]||v(D)}}var A="("+Me+")({"+Object.keys(d).map(function(c){return ee(c)+":["+X[c][0]+","+ee(X[c][1])+"]"}).join(",")+"},{},["+ee(m)+"])",T=window.URL||window.webkitURL||window.mozURL||window.msURL,O=new Blob([A],{type:"text/javascript"});if(_&&_.bare)return O;var P=T.createObjectURL(O),L=new Worker(P);return L.objectURL=P,L}},93314:function(we){"use strict";we.exports="data:image/png;base64,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"},96908:function(we){"use strict";we.exports="data:image/png;base64,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"},57177:function(we){"use strict";we.exports="data:image/png;base64,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"},81378:function(we){"use strict";we.exports="data:image/png;base64,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"},99755:function(we){"use strict";we.exports="data:image/png;base64,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"},92691:function(we){"use strict";we.exports="data:image/png;base64,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"},46016:function(we){"use strict";we.exports="data:image/png;base64,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"},37426:function(we){"use strict";we.exports="data:image/png;base64,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"},19150:function(we){"use strict";we.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABGCAYAAAA3mEEuAAAAAXNSR0IArs4c6QAAEaRJREFUeF7dnHuQHMV5wL+v57Fv3UvHoUMCvYUNBpMirsiOsMSpXEiOcABLgAAXkkicwoQ4xFUJdipWGYfghMTP2I4jYqPEIUiAFQEWyIV0Fc4KihzAkiPkQgJ0Euhxx2n3HvuYR3+pnt3Zm92d3Z2ZnQ0i84dutTvzdff36+/7ur/uHoSQL9q7WYZz+7oBzE6QIApIMpiEoRSjA4DikCT+H9ZlyxZ/mcQBmQ6mmQVFTsPa584hIoVVlJuccBQEAESEsH1FHyjKhQCGFHqlnYoKXXhJYD2wJhWAxYbx9l3j7So6FBC0ba0EkZF5wLGjXRWFdoHwY1UavY0bBk+3o40tg7AsYeeKBW2D4EdRQTXkpwxMHsf1T48GLarec62D+PeBPuB8dtgVq5DnR1HNKtKqLI4EBj+MGwbzzYry83tLIGjvchnScDkAhhsT2umG7GDfChAJ03jLnmN+FN3s3tZAPPWJCwD1Oc0KCfR7K4qqV2BYMoWcyxcdxKt/EJZEaBHEwGJAngqk6HYrq1q+rTJhEWGorxAdxo27RsJqe4sgVlwJCHJYlQlFQW6VCUPx1XKZchZv3X0irLYHBmGNlnZc+xuhVMQ5UQtbaWHLsxusYxrvDC9OBAch5g7K6IdDASGEtENh7ZBp11WiDN4xeDSs9r83IISCZKUAnAqA3ASTK8CkOHCThdUwS06YIKpHcu9rEKbI4RgjEIuN4OpdBafSafNmBosOdICSnwXAYy0BCRNA2RWV8ly27PctCBPy0EPHcEXjiVAxZzXQD0AX+oLRDuU7IVRXxqAM3vV+c03IcqB1/xrXbTe9KpfEjL3gc8YeNoxGE8v3HQjhjnqM15pZghsgenJgPpi8qym8sGfiXuYcPkDQtrUqnBuZAUoMoVeewjVPZ6vb1P5greNpXLfn7abKdLmBfroqAuOFy4A1WM8I2woauSNnHT2AsABMjfSDgT3WOopdV6QMzOh90+kh2gtCFJyM/qo6MPuBQtuWLwSok15vBwSvMhuAsBbH3tw3C8DoLXeiarkc0/jZ6XlIm0GwHK574bAfxVffS9tW9QLkL6743quy/BTs1725gLDWZSbSfUDUB3LVUNytzh0zD+O67TlRzfaBsBqGabyhtdkn/cuqGaDmF5XnBWFkT+sB8gPYAcIaes/fNxN0fRZIpZSPF7CcjuNnB621jfaCkHAUb9pz3E/HrLGIrZ9IQFS/NPQJmj3hCwrWoAxs2nsMtq7sBo79gKbqarUNk4zsJP7eC2fCB1HdC5g8jp/+2estgdi2sgN0c2FFsGtFYPWzfqygMlgXQLY2FERrquPFGqyHPIAgIrHYIyi7px1GRxkc+ovFDXUiqzos+0ZrCyhDX+uB7PFeX7rXswCZU/VzHJ4V5avU4s2+ZDcAQURxABCLPckA1Th/HhEwhvcCvLwFQM/U1iuoJbi10Fa+DcKzFuqAIKJZANCvT6WN9JkDWeP0QS2XHXHfzxMFEAmhvGZUxZmoi60Wa1bQTPeYVGvcdWUU5VSXWdny+Mx5UqznciV5ydIYZDMIQw8BjL4coMd61mjABKMLCCLqBoB5E28PTRze9ZmMmc5STiOERLEyTvMQ35e+Bvt38YGJ++tcwszA+mf6ymvc82Bh+tE45PU65VSlClM9V0qzV/5dp5rsVmDHnQDZ0DdfBARg66AKBBGJ2H6ZNnZU+8U//Xa5tqGBiE8z8KN8J7QiiOK/XkFYHahzLltw0096YfQQwu77fXRxj7e25OJqQfQBwOxX/u1Tp3In9xt2FQSIZLnrT1fMt0W0G0SDpLn4qXvpVxIzr7w5BTtuKwVxj0pudltLEITwWhDzdH2q48A3F7zjLDunELpF7DIIB6QEJMCyoKrL6ZJaswZhCTF3V9YEhDp3tTL3uq/3wNADAMf2NlNv4999jYqaFVULYtHkuWORg4987GzoIErOPQiEypDiPTY42yAYMbkLF971Uh/s/xbAkR3NtFP/91AhuFvEYm1yWPnF9z9SsT3Ej0UwLe7aW+NxMbLyHpRr44IdE6oifbW266gvdBDBMbo8WWsRLYAo+ie3EZNQXV6uhFCrzmJPjyq58jDZTtZbz5dHSHVA1HFLzq9bsginFYS1J6qMpN0gSsHZtoSiQmOYnDWXpWZ/VInGZzOMdzPKjvF89iQffWPIkLPD1uqdlYrMFVFEOxKUzzQ5W/F/ASJUK3AKazMIVrICAaAQ7WL9v/kn8RkLr42qidnOYyYVzdOmTuqFEz/Pnxl6MMuNvGUdFpSKDy4aaRcIL6t0QQGVZbcIouyGLK9U6ZpsCEyPYf/H/yjWeen6lBLv9LxNRs+mefrQ1snMf33bsouowsgViAcAtp4Cu6aWh6d1SLULhA1GQBBWgHIM+1dv6UhevCzwthht+MXciWfunpgy8+QKo10gQh8ZNUgEKiFahD1ackKYe/OOLrXrA5Gglms/p505pJ14cn2azDzVWEeDUVL1T74tot2WYFcwbBDCCgSIAkXY/Ou+l0ouWtlgrNkYjz7yuqn0Liqft5g8uit3ZvcfTpCJZRiNwoaboXgG0S5rqNfksEAwRYxoEhaEhBzDzsXrohdc+0BnUEvQDv1Y006+YiZXPVyhz5HB+zPjh58pkJqnbK4qbjgKq+cHm4JohwV4SY2HAiIh5g5xZBpHpsQwkeK48NbBHkhcFGibvn54h0kvPqTBkuuZuvyLFW5NT79lntj2yTEyGAk3xRVWMapqFojeUxCNIIcGQo5jUiu6pFlXb4r2Lv2zYKdKR18j7ak/0DVukHrZDUxd9oWaYe74f3x1fPTIY4WsUSBuYkUAP29BNHMNLYNQCC1rEC5Jj6EUMVnfmq0dyTkfDRagf7LJmDr9OimqyWHuJ5k68MUaENqJfYW3d941kTOQVKZxO3g3a6s163fLNbXDHYnC/MhtBYSVeS25paTMUaIIYxGVzd9wYCYo7vmmhso6vJNr+x42gSPpoIPStQTUtT+s3BFhNTBLpx/52FiWaZyMAongbbuoZjBqQPhRVjPh9u9BJoCtg0hAUiPUohGW5CZLphbIfXc8L1b4/F3ZDMATt+haPksgGcVc00XLmXrdX7rOwE88OpA2Jk8ZHCXuHNI2K7QCxKEWsq/1Cgo62vIMwmVhyJq8JRIgc5OJkZJckKXUvKVq7/VbmscHsVQZnzndnAPfNbVXHjet2CAh4dUbZeWqjXWD/fgzG8bHTr6q84LGs8p0rHhPQQSxBN/ziDogmFKMDymKMIkpUmretZGZq7/T+HTp8H7QX/gqKWv+BmHmpQDZDGjbPq0VrQFJvfR3Jbcg7VTyxHOfnxw7ulfjqHOOGvfqntpiEUGtwNmgVi1CgLDiQzTCEgVFkrs+qPauf2JG3Z753z8kePVHBJyRvmQNKtfcx+DwdlP7+Td14AZB/xWorvn7aOWrZ2qlTTx+y0R24jU9WxAgiu7JS5z4fw1CpghLRlQmaYaUSHXJvZv2ubomXSxNDj7ILYVzgygWIfXWnYr21MaCln6Hq1KEcO2jMaWjv+mOjvEffXw8nztnmlw2s6i/NyDCDPQtWURp6CqTyZKRCEuwlCRxJneufTyl9C6ssyvwKOnP/bFJ2XFuBeVF16H22rOm5ZKW3a+oS66vmx4vD0pGjvL0U7dPEudmtjDBs8i412Fs2SKGQlgqFRUStTWoIOoPRsMtWI3DVztAdCy7L6Z+6LbaYaddlew7pD15jwbGKNdMnUATI6QrMfmp7zebj1kSpl7eqpsHvpvLl0BwZJx7nE+EAqI6JhBl4O69x+AHK3rAlPoBeNPOVEOlJRAaoYgRRYvoZAkmWxYR61mkJG/+53hDP58+yief2JQnrltD1ei6x2JK5yUe1ip00B6/I5tJv2UIizD5pHmuNLHzFSNasQgXEPi54mFGa1v+RS/2gmbOAvT4ghghL6G+iXc9PyZkWH6ZiNzXrBuMmkSwlpkqSVpKiscliZkozxz4chQW/07DXJP+5l5j/GdfKkQW3ygnl3/B00xc5KHyQ3+dz1POzHHTNLlhBgrWQUDUiwlEGRuE3dPLB1U06gNqcmZcyMXor/De4jHnlkCIWbUYvgqriMkxGeM9cnLdY1FQOhoG3snBBwuRq+5UvQRoPTsKhe0b85Q9ZeSJm5wbVqCuC6K8nDftCFiqtJ0mCAghxg2GC4gykH/4fQWMty4Echzdqp6Bi7Mj90yfHQkMQswjBIjeiMqYJktMYXIUYxLr+5CSWP0dFZRGLtOZI24Qz3QdtJ/eo2kjBw0ibubINHOazk3VMEWaY6qU/CtLcIEgfvMNwsscoQGIMpBvrYoATvUDl7rL5zuEWgr0Lnx++TDiZm7fGwiEc2ZtFAypOzKDiTgRRSYhkyR14YCsXvMlBZTA60MitwT6nq8YheEhC4KwBnvEJAK168w6LBD1rMDZZzyAcLgsFc6OFSe8CXPK7e1nvkFYPUzMrDWyArawikREtYJ2lMUlFDCQSWr3AglXPqQoHWKnv88rcwr0PX9uFM4cMUUuxbYG0nTudEtWBtYork00unxZhNd5gg8QzeoXKEYUQUynwQWIJFdZXLgoJkkxlIogSGJAEsOrbpeUD98mebIOcbjkl1u59uoTJmCOa4bJiZtmnhmcuFKMDdV5pjpW4Gy8ZxBeIRRHODXB2ovC690T0CKKIMR2Sm0qwiQyLauIRxQrXlguSpEtEKo4rC7FES9ZypQ51zDoXYSgdCLEO6x8E+hp0keOgHLyJa6/8Z+kFbLWuoRmSJzQ4JZb0gyeswL0dJAur0eEAcLLsma1Bs8LEKUDLPbikOWeJEJJUyQBI6oqDLVpGOJNyMgIldJrjHWTsCaWy0i6poOCjItsLCErQhAwmM5FfokMpIrY4AGCp2DtxxLKjv98sAgnCHvNWhYhVGWMuGUZqCosyotWgcQZMBnFtFtjZP2tuIQiJCSNMwJTJ2EJeVayCK1oCTkFyV4Q8mMNDUF4GR3V8yXnjUVYI4DSBgIBQY9hwoYR4YyRwjokFZFkpnGTRSQF0RBuSuz8UEEFzcpyWJeEROJ9qjKjgqmTygyeN5FEcLYgGEikFFfl/EJoCiKoYzcwjfe2dpjfWbQdIxZOnTsZ++UjV1uHr+2r6YmhEgirsaUtNUwvWkZMJtRIYTEpgihmmZKCUUZYMDjWTKdlVgKhkwAApkZiwpYzC0QtWEKZszi+teH5C2DobwGOPOtvXbkeKIPO4L2DJ4NyrH7OBnEJgN6z7+E5FYKbnqFzgLDPQdiWgRJhXI5gQUAxOIr/g7AQYRVVF4mD4yajPORB9HoyNAuAsIRItSWIZz3GBruYzivWRy4Y+HIXPHs/wKn94YDIq2/ifcU8URiXDUK8E2n+G0NfGzn90tfLr1r2A8K2Cmvvqx6zVvBQJ0RhETKhOMErPguLsE7zlo705kulkbAKYQ0ChuWKxObjHEQDuiOncvpv2tKRnPVbMXj0Bmui2PKF4h1UXQf9vAisWZk2CPF3ia5PRV/9x4+c1rPvWlNvLyCqz87Ze2DFAZNYLA7CVVmfozFAnaM4nC0AOSsmer/o5YJJpAqAxUxsKPNpBbb86BU3Ri4e+Ksu2L8F4OV/baYPb7+TchY/F947X0WhZYUQkeijH9D1NB/e+8DYmYM/LgQB4TwlVPwcQ+tgvF7cKV6EUtleoWPR88W3zv5qAQjgiqxnYqXTpB+8MQWjxwCevTscl2SAAWP0P7h5sHz61hu9xndV9kwiobO51oFmfcqYfPe4TpQrJ6bcRKGmT8uosyxkDVt1x31h1LyuDBXUVK+kJi8UuS60gvPQ98JxSWJkN0P+NX5m91TYTagNnOItkwA9ACA2E9d/KUp1TfQpCbLjDdYivMya/C9yuSpEvHtjdBjg2G6A4dKrH1rVnLCEXOoN/NOdE62Kcu3QYQqlbWuTkDk3BxTTW9rVC5sgFQxbrkhbZ3rfwc3by1OfINVq9EzTnRNBCqSn18ThbL4TkEeBuAJiyGr5pyDSWnwmSJmKYgLpOkRiU5BMZnBd+wDYrftf5H4s7DrfhR4AAAAASUVORK5CYII="},55303:function(we){"use strict";we.exports="data:image/png;base64,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"},59358:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return _}});var K=X(92359),ee=X(61230),G=X(88243);function _(F,w,x){return w=(0,K.Z)(w),(0,G.Z)(F,(0,ee.Z)()?Reflect.construct(w,x||[],(0,K.Z)(F).constructor):w.apply(F,x))}},37530:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(58750);function ee(G,_){var F=typeof Symbol!="undefined"&&G[Symbol.iterator]||G["@@iterator"];if(!F){if(Array.isArray(G)||(F=(0,K.Z)(G))||_&&G&&typeof G.length=="number"){F&&(G=F);var w=0,x=function(){};return{s:x,n:function(){return w>=G.length?{done:!0}:{done:!1,value:G[w++]}},e:function(m){throw m},f:x}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var y,b=!0,E=!1;return{s:function(){F=F.call(G)},n:function(){var m=F.next();return b=m.done,m},e:function(m){E=!0,y=m},f:function(){try{b||F.return==null||F.return()}finally{if(E)throw y}}}}},18609:function(we,Me){"use strict";var X={value:()=>{}};function K(){for(var w=0,x=arguments.length,y={},b;w<x;++w){if(!(b=arguments[w]+"")||b in y||/[\s.]/.test(b))throw new Error("illegal type: "+b);y[b]=[]}return new ee(y)}function ee(w){this._=w}function G(w,x){return w.trim().split(/^|\s+/).map(function(y){var b="",E=y.indexOf(".");if(E>=0&&(b=y.slice(E+1),y=y.slice(0,E)),y&&!x.hasOwnProperty(y))throw new Error("unknown type: "+y);return{type:y,name:b}})}ee.prototype=K.prototype={constructor:ee,on:function(w,x){var y=this._,b=G(w+"",y),E,g=-1,m=b.length;if(arguments.length<2){for(;++g<m;)if((E=(w=b[g]).type)&&(E=_(y[E],w.name)))return E;return}if(x!=null&&typeof x!="function")throw new Error("invalid callback: "+x);for(;++g<m;)if(E=(w=b[g]).type)y[E]=F(y[E],w.name,x);else if(x==null)for(E in y)y[E]=F(y[E],w.name,null);return this},copy:function(){var w={},x=this._;for(var y in x)w[y]=x[y].slice();return new ee(w)},call:function(w,x){if((E=arguments.length-2)>0)for(var y=new Array(E),b=0,E,g;b<E;++b)y[b]=arguments[b+2];if(!this._.hasOwnProperty(w))throw new Error("unknown type: "+w);for(g=this._[w],b=0,E=g.length;b<E;++b)g[b].value.apply(x,y)},apply:function(w,x,y){if(!this._.hasOwnProperty(w))throw new Error("unknown type: "+w);for(var b=this._[w],E=0,g=b.length;E<g;++E)b[E].value.apply(x,y)}};function _(w,x){for(var y=0,b=w.length,E;y<b;++y)if((E=w[y]).name===x)return E.value}function F(w,x,y){for(var b=0,E=w.length;b<E;++b)if(w[b].name===x){w[b]=X,w=w.slice(0,b).concat(w.slice(b+1));break}return y!=null&&w.push({name:x,value:y}),w}Me.Z=K},12713:function(we,Me,X){"use strict";X.d(Me,{H:function(){return G},Z:function(){return K}});function K(_){const F=+this._x.call(null,_),w=+this._y.call(null,_),x=+this._z.call(null,_);return ee(this.cover(F,w,x),F,w,x,_)}function ee(_,F,w,x,y){if(isNaN(F)||isNaN(w)||isNaN(x))return _;var b,E=_._root,g={data:y},m=_._x0,C=_._y0,d=_._z0,v=_._x1,A=_._y1,T=_._z1,O,P,L,c,f,D,R,k,W,z,Z;if(!E)return _._root=g,_;for(;E.length;)if((R=F>=(O=(m+v)/2))?m=O:v=O,(k=w>=(P=(C+A)/2))?C=P:A=P,(W=x>=(L=(d+T)/2))?d=L:T=L,b=E,!(E=E[z=W<<2|k<<1|R]))return b[z]=g,_;if(c=+_._x.call(null,E.data),f=+_._y.call(null,E.data),D=+_._z.call(null,E.data),F===c&&w===f&&x===D)return g.next=E,b?b[z]=g:_._root=g,_;do b=b?b[z]=new Array(8):_._root=new Array(8),(R=F>=(O=(m+v)/2))?m=O:v=O,(k=w>=(P=(C+A)/2))?C=P:A=P,(W=x>=(L=(d+T)/2))?d=L:T=L;while((z=W<<2|k<<1|R)===(Z=(D>=L)<<2|(f>=P)<<1|c>=O));return b[Z]=E,b[z]=g,_}function G(_){Array.isArray(_)||(_=Array.from(_));const F=_.length,w=new Float64Array(F),x=new Float64Array(F),y=new Float64Array(F);let b=1/0,E=1/0,g=1/0,m=-1/0,C=-1/0,d=-1/0;for(let v=0,A,T,O,P;v<F;++v)isNaN(T=+this._x.call(null,A=_[v]))||isNaN(O=+this._y.call(null,A))||isNaN(P=+this._z.call(null,A))||(w[v]=T,x[v]=O,y[v]=P,T<b&&(b=T),T>m&&(m=T),O<E&&(E=O),O>C&&(C=O),P<g&&(g=P),P>d&&(d=P));if(b>m||E>C||g>d)return this;this.cover(b,E,g).cover(m,C,d);for(let v=0;v<F;++v)ee(this,w[v],x[v],y[v],_[v]);return this}},17646:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee,G,_){if(isNaN(ee=+ee)||isNaN(G=+G)||isNaN(_=+_))return this;var F=this._x0,w=this._y0,x=this._z0,y=this._x1,b=this._y1,E=this._z1;if(isNaN(F))y=(F=Math.floor(ee))+1,b=(w=Math.floor(G))+1,E=(x=Math.floor(_))+1;else{for(var g=y-F||1,m=this._root,C,d;F>ee||ee>=y||w>G||G>=b||x>_||_>=E;)switch(d=(_<x)<<2|(G<w)<<1|ee<F,C=new Array(8),C[d]=m,m=C,g*=2,d){case 0:y=F+g,b=w+g,E=x+g;break;case 1:F=y-g,b=w+g,E=x+g;break;case 2:y=F+g,w=b-g,E=x+g;break;case 3:F=y-g,w=b-g,E=x+g;break;case 4:y=F+g,b=w+g,x=E-g;break;case 5:F=y-g,b=w+g,x=E-g;break;case 6:y=F+g,w=b-g,x=E-g;break;case 7:F=y-g,w=b-g,x=E-g;break}this._root&&this._root.length&&(this._root=m)}return this._x0=F,this._y0=w,this._z0=x,this._x1=y,this._y1=b,this._z1=E,this}},39894:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){var ee=[];return this.visit(function(G){if(!G.length)do ee.push(G.data);while(G=G.next)}),ee}},56033:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee){return arguments.length?this.cover(+ee[0][0],+ee[0][1],+ee[0][2]).cover(+ee[1][0],+ee[1][1],+ee[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}},77480:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(26805);function ee(G,_,F,w){var x,y=this._x0,b=this._y0,E=this._z0,g,m,C,d,v,A,T=this._x1,O=this._y1,P=this._z1,L=[],c=this._root,f,D;for(c&&L.push(new K.Z(c,y,b,E,T,O,P)),w==null?w=1/0:(y=G-w,b=_-w,E=F-w,T=G+w,O=_+w,P=F+w,w*=w);f=L.pop();)if(!(!(c=f.node)||(g=f.x0)>T||(m=f.y0)>O||(C=f.z0)>P||(d=f.x1)<y||(v=f.y1)<b||(A=f.z1)<E))if(c.length){var R=(g+d)/2,k=(m+v)/2,W=(C+A)/2;L.push(new K.Z(c[7],R,k,W,d,v,A),new K.Z(c[6],g,k,W,R,v,A),new K.Z(c[5],R,m,W,d,k,A),new K.Z(c[4],g,m,W,R,k,A),new K.Z(c[3],R,k,C,d,v,W),new K.Z(c[2],g,k,C,R,v,W),new K.Z(c[1],R,m,C,d,k,W),new K.Z(c[0],g,m,C,R,k,W)),(D=(F>=W)<<2|(_>=k)<<1|G>=R)&&(f=L[L.length-1],L[L.length-1]=L[L.length-1-D],L[L.length-1-D]=f)}else{var z=G-+this._x.call(null,c.data),Z=_-+this._y.call(null,c.data),Q=F-+this._z.call(null,c.data),te=z*z+Z*Z+Q*Q;if(te<w){var $=Math.sqrt(w=te);y=G-$,b=_-$,E=F-$,T=G+$,O=_+$,P=F+$,x=c.data}}return x}},72096:function(we,Me,X){"use strict";X.d(Me,{r:function(){return ee}});const K=(G,_,F,w,x,y)=>Math.sqrt(jo(G-w,2)+jo(_-x,2)+jo(F-y,2));function ee(G,_,F,w){const x=[],y=G-w,b=_-w,E=F-w,g=G+w,m=_+w,C=F+w;return this.visit((d,v,A,T,O,P,L)=>{if(!d.length)do{const c=d.data;K(G,_,F,this._x(c),this._y(c),this._z(c))<=w&&x.push(c)}while(d=d.next);return v>g||A>m||T>C||O<y||P<b||L<E}),x}},26805:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee,G,_,F,w,x,y){this.node=ee,this.x0=G,this.y0=_,this.z0=F,this.x1=w,this.y1=x,this.z1=y}},7695:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return v}});var K=X(12713),ee=X(17646),G=X(39894),_=X(56033),F=X(77480),w=X(72096),x=X(36989),y=X(10325),b=X(15902),E=X(12027),g=X(66612),m=X(14763),C=X(94009),d=X(68889);function v(P,L,c,f){var D=new A(L==null?m.P:L,c==null?C.q:c,f==null?d.i:f,NaN,NaN,NaN,NaN,NaN,NaN);return P==null?D:D.addAll(P)}function A(P,L,c,f,D,R,k,W,z){this._x=P,this._y=L,this._z=c,this._x0=f,this._y0=D,this._z0=R,this._x1=k,this._y1=W,this._z1=z,this._root=void 0}function T(P){for(var L={data:P.data},c=L;P=P.next;)c=c.next={data:P.data};return L}var O=v.prototype=A.prototype;O.copy=function(){var P=new A(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),L=this._root,c,f;if(!L)return P;if(!L.length)return P._root=T(L),P;for(c=[{source:L,target:P._root=new Array(8)}];L=c.pop();)for(var D=0;D<8;++D)(f=L.source[D])&&(f.length?c.push({source:f,target:L.target[D]=new Array(8)}):L.target[D]=T(f));return P},O.add=K.Z,O.addAll=K.H,O.cover=ee.Z,O.data=G.Z,O.extent=_.Z,O.find=F.Z,O.findAllWithinRadius=w.r,O.remove=x.Z,O.removeAll=x.x,O.root=y.Z,O.size=b.Z,O.visit=E.Z,O.visitAfter=g.Z,O.x=m.Z,O.y=C.Z,O.z=d.Z},36989:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K},x:function(){return ee}});function K(G){if(isNaN(v=+this._x.call(null,G))||isNaN(A=+this._y.call(null,G))||isNaN(T=+this._z.call(null,G)))return this;var _,F=this._root,w,x,y,b=this._x0,E=this._y0,g=this._z0,m=this._x1,C=this._y1,d=this._z1,v,A,T,O,P,L,c,f,D,R,k;if(!F)return this;if(F.length)for(;;){if((c=v>=(O=(b+m)/2))?b=O:m=O,(f=A>=(P=(E+C)/2))?E=P:C=P,(D=T>=(L=(g+d)/2))?g=L:d=L,_=F,!(F=F[R=D<<2|f<<1|c]))return this;if(!F.length)break;(_[R+1&7]||_[R+2&7]||_[R+3&7]||_[R+4&7]||_[R+5&7]||_[R+6&7]||_[R+7&7])&&(w=_,k=R)}for(;F.data!==G;)if(x=F,!(F=F.next))return this;return(y=F.next)&&delete F.next,x?(y?x.next=y:delete x.next,this):_?(y?_[R]=y:delete _[R],(F=_[0]||_[1]||_[2]||_[3]||_[4]||_[5]||_[6]||_[7])&&F===(_[7]||_[6]||_[5]||_[4]||_[3]||_[2]||_[1]||_[0])&&!F.length&&(w?w[k]=F:this._root=F),this):(this._root=y,this)}function ee(G){for(var _=0,F=G.length;_<F;++_)this.remove(G[_]);return this}},10325:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){return this._root}},15902:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){var ee=0;return this.visit(function(G){if(!G.length)do++ee;while(G=G.next)}),ee}},12027:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(26805);function ee(G){var _=[],F,w=this._root,x,y,b,E,g,m,C;for(w&&_.push(new K.Z(w,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));F=_.pop();)if(!G(w=F.node,y=F.x0,b=F.y0,E=F.z0,g=F.x1,m=F.y1,C=F.z1)&&w.length){var d=(y+g)/2,v=(b+m)/2,A=(E+C)/2;(x=w[7])&&_.push(new K.Z(x,d,v,A,g,m,C)),(x=w[6])&&_.push(new K.Z(x,y,v,A,d,m,C)),(x=w[5])&&_.push(new K.Z(x,d,b,A,g,v,C)),(x=w[4])&&_.push(new K.Z(x,y,b,A,d,v,C)),(x=w[3])&&_.push(new K.Z(x,d,v,E,g,m,A)),(x=w[2])&&_.push(new K.Z(x,y,v,E,d,m,A)),(x=w[1])&&_.push(new K.Z(x,d,b,E,g,v,A)),(x=w[0])&&_.push(new K.Z(x,y,b,E,d,v,A))}return this}},66612:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(26805);function ee(G){var _=[],F=[],w;for(this._root&&_.push(new K.Z(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));w=_.pop();){var x=w.node;if(x.length){var y,b=w.x0,E=w.y0,g=w.z0,m=w.x1,C=w.y1,d=w.z1,v=(b+m)/2,A=(E+C)/2,T=(g+d)/2;(y=x[0])&&_.push(new K.Z(y,b,E,g,v,A,T)),(y=x[1])&&_.push(new K.Z(y,v,E,g,m,A,T)),(y=x[2])&&_.push(new K.Z(y,b,A,g,v,C,T)),(y=x[3])&&_.push(new K.Z(y,v,A,g,m,C,T)),(y=x[4])&&_.push(new K.Z(y,b,E,T,v,A,d)),(y=x[5])&&_.push(new K.Z(y,v,E,T,m,A,d)),(y=x[6])&&_.push(new K.Z(y,b,A,T,v,C,d)),(y=x[7])&&_.push(new K.Z(y,v,A,T,m,C,d))}F.push(w)}for(;w=F.pop();)G(w.node,w.x0,w.y0,w.z0,w.x1,w.y1,w.z1);return this}},14763:function(we,Me,X){"use strict";X.d(Me,{P:function(){return K},Z:function(){return ee}});function K(G){return G[0]}function ee(G){return arguments.length?(this._x=G,this):this._x}},94009:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee},q:function(){return K}});function K(G){return G[1]}function ee(G){return arguments.length?(this._y=G,this):this._y}},68889:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee},i:function(){return K}});function K(G){return G[2]}function ee(G){return arguments.length?(this._z=G,this):this._z}},60272:function(we,Me,X){"use strict";X.d(Me,{H:function(){return G},Z:function(){return K}});function K(_){const F=+this._x.call(null,_),w=+this._y.call(null,_);return ee(this.cover(F,w),F,w,_)}function ee(_,F,w,x){if(isNaN(F)||isNaN(w))return _;var y,b=_._root,E={data:x},g=_._x0,m=_._y0,C=_._x1,d=_._y1,v,A,T,O,P,L,c,f;if(!b)return _._root=E,_;for(;b.length;)if((P=F>=(v=(g+C)/2))?g=v:C=v,(L=w>=(A=(m+d)/2))?m=A:d=A,y=b,!(b=b[c=L<<1|P]))return y[c]=E,_;if(T=+_._x.call(null,b.data),O=+_._y.call(null,b.data),F===T&&w===O)return E.next=b,y?y[c]=E:_._root=E,_;do y=y?y[c]=new Array(4):_._root=new Array(4),(P=F>=(v=(g+C)/2))?g=v:C=v,(L=w>=(A=(m+d)/2))?m=A:d=A;while((c=L<<1|P)===(f=(O>=A)<<1|T>=v));return y[f]=b,y[c]=E,_}function G(_){var F,w,x=_.length,y,b,E=new Array(x),g=new Array(x),m=1/0,C=1/0,d=-1/0,v=-1/0;for(w=0;w<x;++w)isNaN(y=+this._x.call(null,F=_[w]))||isNaN(b=+this._y.call(null,F))||(E[w]=y,g[w]=b,y<m&&(m=y),y>d&&(d=y),b<C&&(C=b),b>v&&(v=b));if(m>d||C>v)return this;for(this.cover(m,C).cover(d,v),w=0;w<x;++w)ee(this,E[w],g[w],_[w]);return this}},51097:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee,G){if(isNaN(ee=+ee)||isNaN(G=+G))return this;var _=this._x0,F=this._y0,w=this._x1,x=this._y1;if(isNaN(_))w=(_=Math.floor(ee))+1,x=(F=Math.floor(G))+1;else{for(var y=w-_||1,b=this._root,E,g;_>ee||ee>=w||F>G||G>=x;)switch(g=(G<F)<<1|ee<_,E=new Array(4),E[g]=b,b=E,y*=2,g){case 0:w=_+y,x=F+y;break;case 1:_=w-y,x=F+y;break;case 2:w=_+y,F=x-y;break;case 3:_=w-y,F=x-y;break}this._root&&this._root.length&&(this._root=b)}return this._x0=_,this._y0=F,this._x1=w,this._y1=x,this}},58007:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){var ee=[];return this.visit(function(G){if(!G.length)do ee.push(G.data);while(G=G.next)}),ee}},12070:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee){return arguments.length?this.cover(+ee[0][0],+ee[0][1]).cover(+ee[1][0],+ee[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}},47064:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(44213);function ee(G,_,F){var w,x=this._x0,y=this._y0,b,E,g,m,C=this._x1,d=this._y1,v=[],A=this._root,T,O;for(A&&v.push(new K.Z(A,x,y,C,d)),F==null?F=1/0:(x=G-F,y=_-F,C=G+F,d=_+F,F*=F);T=v.pop();)if(!(!(A=T.node)||(b=T.x0)>C||(E=T.y0)>d||(g=T.x1)<x||(m=T.y1)<y))if(A.length){var P=(b+g)/2,L=(E+m)/2;v.push(new K.Z(A[3],P,L,g,m),new K.Z(A[2],b,L,P,m),new K.Z(A[1],P,E,g,L),new K.Z(A[0],b,E,P,L)),(O=(_>=L)<<1|G>=P)&&(T=v[v.length-1],v[v.length-1]=v[v.length-1-O],v[v.length-1-O]=T)}else{var c=G-+this._x.call(null,A.data),f=_-+this._y.call(null,A.data),D=c*c+f*f;if(D<F){var R=Math.sqrt(F=D);x=G-R,y=_-R,C=G+R,d=_+R,w=A.data}}return w}},44213:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(ee,G,_,F,w){this.node=ee,this.x0=G,this.y0=_,this.x1=F,this.y1=w}},14301:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return C}});var K=X(60272),ee=X(51097),G=X(58007),_=X(12070),F=X(47064),w=X(88866),x=X(10864),y=X(68984),b=X(3715),E=X(73607),g=X(56570),m=X(30992);function C(T,O,P){var L=new d(O==null?g.P:O,P==null?m.q:P,NaN,NaN,NaN,NaN);return T==null?L:L.addAll(T)}function d(T,O,P,L,c,f){this._x=T,this._y=O,this._x0=P,this._y0=L,this._x1=c,this._y1=f,this._root=void 0}function v(T){for(var O={data:T.data},P=O;T=T.next;)P=P.next={data:T.data};return O}var A=C.prototype=d.prototype;A.copy=function(){var T=new d(this._x,this._y,this._x0,this._y0,this._x1,this._y1),O=this._root,P,L;if(!O)return T;if(!O.length)return T._root=v(O),T;for(P=[{source:O,target:T._root=new Array(4)}];O=P.pop();)for(var c=0;c<4;++c)(L=O.source[c])&&(L.length?P.push({source:L,target:O.target[c]=new Array(4)}):O.target[c]=v(L));return T},A.add=K.Z,A.addAll=K.H,A.cover=ee.Z,A.data=G.Z,A.extent=_.Z,A.find=F.Z,A.remove=w.Z,A.removeAll=w.x,A.root=x.Z,A.size=y.Z,A.visit=b.Z,A.visitAfter=E.Z,A.x=g.Z,A.y=m.Z},88866:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K},x:function(){return ee}});function K(G){if(isNaN(C=+this._x.call(null,G))||isNaN(d=+this._y.call(null,G)))return this;var _,F=this._root,w,x,y,b=this._x0,E=this._y0,g=this._x1,m=this._y1,C,d,v,A,T,O,P,L;if(!F)return this;if(F.length)for(;;){if((T=C>=(v=(b+g)/2))?b=v:g=v,(O=d>=(A=(E+m)/2))?E=A:m=A,_=F,!(F=F[P=O<<1|T]))return this;if(!F.length)break;(_[P+1&3]||_[P+2&3]||_[P+3&3])&&(w=_,L=P)}for(;F.data!==G;)if(x=F,!(F=F.next))return this;return(y=F.next)&&delete F.next,x?(y?x.next=y:delete x.next,this):_?(y?_[P]=y:delete _[P],(F=_[0]||_[1]||_[2]||_[3])&&F===(_[3]||_[2]||_[1]||_[0])&&!F.length&&(w?w[L]=F:this._root=F),this):(this._root=y,this)}function ee(G){for(var _=0,F=G.length;_<F;++_)this.remove(G[_]);return this}},10864:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){return this._root}},68984:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return K}});function K(){var ee=0;return this.visit(function(G){if(!G.length)do++ee;while(G=G.next)}),ee}},3715:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(44213);function ee(G){var _=[],F,w=this._root,x,y,b,E,g;for(w&&_.push(new K.Z(w,this._x0,this._y0,this._x1,this._y1));F=_.pop();)if(!G(w=F.node,y=F.x0,b=F.y0,E=F.x1,g=F.y1)&&w.length){var m=(y+E)/2,C=(b+g)/2;(x=w[3])&&_.push(new K.Z(x,m,C,E,g)),(x=w[2])&&_.push(new K.Z(x,y,C,m,g)),(x=w[1])&&_.push(new K.Z(x,m,b,E,C)),(x=w[0])&&_.push(new K.Z(x,y,b,m,C))}return this}},73607:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee}});var K=X(44213);function ee(G){var _=[],F=[],w;for(this._root&&_.push(new K.Z(this._root,this._x0,this._y0,this._x1,this._y1));w=_.pop();){var x=w.node;if(x.length){var y,b=w.x0,E=w.y0,g=w.x1,m=w.y1,C=(b+g)/2,d=(E+m)/2;(y=x[0])&&_.push(new K.Z(y,b,E,C,d)),(y=x[1])&&_.push(new K.Z(y,C,E,g,d)),(y=x[2])&&_.push(new K.Z(y,b,d,C,m)),(y=x[3])&&_.push(new K.Z(y,C,d,g,m))}F.push(w)}for(;w=F.pop();)G(w.node,w.x0,w.y0,w.x1,w.y1);return this}},56570:function(we,Me,X){"use strict";X.d(Me,{P:function(){return K},Z:function(){return ee}});function K(G){return G[0]}function ee(G){return arguments.length?(this._x=G,this):this._x}},30992:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return ee},q:function(){return K}});function K(G){return G[1]}function ee(G){return arguments.length?(this._y=G,this):this._y}},83833:function(we,Me,X){"use strict";X.d(Me,{HT:function(){return v}});var K=0,ee=0,G=0,_=1e3,F,w,x=0,y=0,b=0,E=typeof performance=="object"&&performance.now?performance:Date,g=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(c){setTimeout(c,17)};function m(){return y||(g(C),y=E.now()+b)}function C(){y=0}function d(){this._call=this._time=this._next=null}d.prototype=v.prototype={constructor:d,restart:function(c,f,D){if(typeof c!="function")throw new TypeError("callback is not a function");D=(D==null?m():+D)+(f==null?0:+f),!this._next&&w!==this&&(w?w._next=this:F=this,w=this),this._call=c,this._time=D,L()},stop:function(){this._call&&(this._call=null,this._time=1/0,L())}};function v(c,f,D){var R=new d;return R.restart(c,f,D),R}function A(){m(),++K;for(var c=F,f;c;)(f=y-c._time)>=0&&c._call.call(void 0,f),c=c._next;--K}function T(){y=(x=E.now())+b,K=ee=0;try{A()}finally{K=0,P(),y=0}}function O(){var c=E.now(),f=c-x;f>_&&(b-=f,x=c)}function P(){for(var c,f=F,D,R=1/0;f;)f._call?(R>f._time&&(R=f._time),c=f,f=f._next):(D=f._next,f._next=null,f=c?c._next=D:F=D);w=c,L(R)}function L(c){if(!K){ee&&(ee=clearTimeout(ee));var f=c-y;f>24?(c<1/0&&(ee=setTimeout(T,c-E.now()-b)),G&&(G=clearInterval(G))):(G||(x=E.now(),G=setInterval(O,_)),K=1,g(T))}}},16722:function(we,Me,X){"use strict";X.d(Me,{Z:function(){return y}});const K=b=>typeof b=="object"&&b!=null&&b.nodeType===1,ee=(b,E)=>(!E||b!=="hidden")&&b!=="visible"&&b!=="clip",G=(b,E)=>{if(b.clientHeight<b.scrollHeight||b.clientWidth<b.scrollWidth){const g=getComputedStyle(b,null);return ee(g.overflowY,E)||ee(g.overflowX,E)||(m=>{const C=(d=>{if(!d.ownerDocument||!d.ownerDocument.defaultView)return null;try{return d.ownerDocument.defaultView.frameElement}catch(v){return null}})(m);return!!C&&(C.clientHeight<m.scrollHeight||C.clientWidth<m.scrollWidth)})(b)}return!1},_=(b,E,g,m,C,d,v,A)=>d<b&&v>E||d>b&&v<E?0:d<=b&&A<=g||v>=E&&A>=g?d-b-m:v>E&&A<g||d<b&&A>g?v-E+C:0,F=b=>{const E=b.parentElement;return E==null?b.getRootNode().host||null:E},w=(b,E)=>{var g,m,C,d;if(typeof document=="undefined")return[];const{scrollMode:v,block:A,inline:T,boundary:O,skipOverflowHiddenElements:P}=E,L=typeof O=="function"?O:ge=>ge!==O;if(!K(b))throw new TypeError("Invalid target");const c=document.scrollingElement||document.documentElement,f=[];let D=b;for(;K(D)&&L(D);){if(D=F(D),D===c){f.push(D);break}D!=null&&D===document.body&&G(D)&&!G(document.documentElement)||D!=null&&G(D,P)&&f.push(D)}const R=(m=(g=window.visualViewport)==null?void 0:g.width)!=null?m:innerWidth,k=(d=(C=window.visualViewport)==null?void 0:C.height)!=null?d:innerHeight,{scrollX:W,scrollY:z}=window,{height:Z,width:Q,top:te,right:$,bottom:ie,left:ae}=b.getBoundingClientRect(),{top:re,right:ce,bottom:oe,left:he}=(ge=>{const Ee=window.getComputedStyle(ge);return{top:parseFloat(Ee.scrollMarginTop)||0,right:parseFloat(Ee.scrollMarginRight)||0,bottom:parseFloat(Ee.scrollMarginBottom)||0,left:parseFloat(Ee.scrollMarginLeft)||0}})(b);let se=A==="start"||A==="nearest"?te-re:A==="end"?ie+oe:te+Z/2-re+oe,pe=T==="center"?ae+Q/2-he+ce:T==="end"?$+ce:ae-he;const me=[];for(let ge=0;ge<f.length;ge++){const Ee=f[ge],{height:Ae,width:Fe,top:Ue,right:nt,bottom:rt,left:qe}=Ee.getBoundingClientRect();if(v==="if-needed"&&te>=0&&ae>=0&&ie<=k&&$<=R&&(Ee===c&&!G(Ee)||te>=Ue&&ie<=rt&&ae>=qe&&$<=nt))return me;const dt=getComputedStyle(Ee),yt=parseInt(dt.borderLeftWidth,10),je=parseInt(dt.borderTopWidth,10),at=parseInt(dt.borderRightWidth,10),it=parseInt(dt.borderBottomWidth,10);let ht=0,ut=0;const Mt="offsetWidth"in Ee?Ee.offsetWidth-Ee.clientWidth-yt-at:0,Ce="offsetHeight"in Ee?Ee.offsetHeight-Ee.clientHeight-je-it:0,ot="offsetWidth"in Ee?Ee.offsetWidth===0?0:Fe/Ee.offsetWidth:0,Pe="offsetHeight"in Ee?Ee.offsetHeight===0?0:Ae/Ee.offsetHeight:0;if(c===Ee)ht=A==="start"?se:A==="end"?se-k:A==="nearest"?_(z,z+k,k,je,it,z+se,z+se+Z,Z):se-k/2,ut=T==="start"?pe:T==="center"?pe-R/2:T==="end"?pe-R:_(W,W+R,R,yt,at,W+pe,W+pe+Q,Q),ht=Math.max(0,ht+z),ut=Math.max(0,ut+W);else{ht=A==="start"?se-Ue-je:A==="end"?se-rt+it+Ce:A==="nearest"?_(Ue,rt,Ae,je,it+Ce,se,se+Z,Z):se-(Ue+Ae/2)+Ce/2,ut=T==="start"?pe-qe-yt:T==="center"?pe-(qe+Fe/2)+Mt/2:T==="end"?pe-nt+at+Mt:_(qe,nt,Fe,yt,at+Mt,pe,pe+Q,Q);const{scrollLeft:Ne,scrollTop:We}=Ee;ht=Pe===0?0:Math.max(0,Math.min(We+ht/Pe,Ee.scrollHeight-Ae/Pe+Ce)),ut=ot===0?0:Math.max(0,Math.min(Ne+ut/ot,Ee.scrollWidth-Fe/ot+Mt)),se+=We-ht,pe+=Ne-ut}me.push({el:Ee,top:ht,left:ut})}return me},x=b=>b===!1?{block:"end",inline:"nearest"}:(E=>E===Object(E)&&Object.keys(E).length!==0)(b)?b:{block:"start",inline:"nearest"};function y(b,E){if(!b.isConnected||!(C=>{let d=C;for(;d&&d.parentNode;){if(d.parentNode===document)return!0;d=d.parentNode instanceof ShadowRoot?d.parentNode.host:d.parentNode}return!1})(b))return;const g=(C=>{const d=window.getComputedStyle(C);return{top:parseFloat(d.scrollMarginTop)||0,right:parseFloat(d.scrollMarginRight)||0,bottom:parseFloat(d.scrollMarginBottom)||0,left:parseFloat(d.scrollMarginLeft)||0}})(b);if((C=>typeof C=="object"&&typeof C.behavior=="function")(E))return E.behavior(w(b,E));const m=typeof E=="boolean"||E==null?void 0:E.behavior;for(const{el:C,top:d,left:v}of w(b,x(E))){const A=d-g.top+g.bottom,T=v-g.left+g.right;C.scroll({top:A,left:T,behavior:m})}}},80813:function(we,Me,X){"use strict";X.d(Me,{CR:function(){return T},Jh:function(){return C},Q_:function(){return te},XA:function(){return A},ZT:function(){return ee},_T:function(){return _},ev:function(){return L},mG:function(){return m},pi:function(){return G},pr:function(){return P}});var K=function(se,pe){return K=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(me,ge){me.__proto__=ge}||function(me,ge){for(var Ee in ge)Object.prototype.hasOwnProperty.call(ge,Ee)&&(me[Ee]=ge[Ee])},K(se,pe)};function ee(se,pe){if(typeof pe!="function"&&pe!==null)throw new TypeError("Class extends value "+String(pe)+" is not a constructor or null");K(se,pe);function me(){this.constructor=se}se.prototype=pe===null?Object.create(pe):(me.prototype=pe.prototype,new me)}var G=function(){return G=Object.assign||function(pe){for(var me,ge=1,Ee=arguments.length;ge<Ee;ge++){me=arguments[ge];for(var Ae in me)Object.prototype.hasOwnProperty.call(me,Ae)&&(pe[Ae]=me[Ae])}return pe},G.apply(this,arguments)};function _(se,pe){var me={};for(var ge in se)Object.prototype.hasOwnProperty.call(se,ge)&&pe.indexOf(ge)<0&&(me[ge]=se[ge]);if(se!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ee=0,ge=Object.getOwnPropertySymbols(se);Ee<ge.length;Ee++)pe.indexOf(ge[Ee])<0&&Object.prototype.propertyIsEnumerable.call(se,ge[Ee])&&(me[ge[Ee]]=se[ge[Ee]]);return me}function F(se,pe,me,ge){var Ee=arguments.length,Ae=Ee<3?pe:ge===null?ge=Object.getOwnPropertyDescriptor(pe,me):ge,Fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ae=Reflect.decorate(se,pe,me,ge);else for(var Ue=se.length-1;Ue>=0;Ue--)(Fe=se[Ue])&&(Ae=(Ee<3?Fe(Ae):Ee>3?Fe(pe,me,Ae):Fe(pe,me))||Ae);return Ee>3&&Ae&&Object.defineProperty(pe,me,Ae),Ae}function w(se,pe){return function(me,ge){pe(me,ge,se)}}function x(se,pe,me,ge,Ee,Ae){function Fe(ut){if(ut!==void 0&&typeof ut!="function")throw new TypeError("Function expected");return ut}for(var Ue=ge.kind,nt=Ue==="getter"?"get":Ue==="setter"?"set":"value",rt=!pe&&se?ge.static?se:se.prototype:null,qe=pe||(rt?Object.getOwnPropertyDescriptor(rt,ge.name):{}),dt,yt=!1,je=me.length-1;je>=0;je--){var at={};for(var it in ge)at[it]=it==="access"?{}:ge[it];for(var it in ge.access)at.access[it]=ge.access[it];at.addInitializer=function(ut){if(yt)throw new TypeError("Cannot add initializers after decoration has completed");Ae.push(Fe(ut||null))};var ht=(0,me[je])(Ue==="accessor"?{get:qe.get,set:qe.set}:qe[nt],at);if(Ue==="accessor"){if(ht===void 0)continue;if(ht===null||typeof ht!="object")throw new TypeError("Object expected");(dt=Fe(ht.get))&&(qe.get=dt),(dt=Fe(ht.set))&&(qe.set=dt),(dt=Fe(ht.init))&&Ee.unshift(dt)}else(dt=Fe(ht))&&(Ue==="field"?Ee.unshift(dt):qe[nt]=dt)}rt&&Object.defineProperty(rt,ge.name,qe),yt=!0}function y(se,pe,me){for(var ge=arguments.length>2,Ee=0;Ee<pe.length;Ee++)me=ge?pe[Ee].call(se,me):pe[Ee].call(se);return ge?me:void 0}function b(se){return typeof se=="symbol"?se:"".concat(se)}function E(se,pe,me){return typeof pe=="symbol"&&(pe=pe.description?"[".concat(pe.description,"]"):""),Object.defineProperty(se,"name",{configurable:!0,value:me?"".concat(me," ",pe):pe})}function g(se,pe){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(se,pe)}function m(se,pe,me,ge){function Ee(Ae){return Ae instanceof me?Ae:new me(function(Fe){Fe(Ae)})}return new(me||(me=Promise))(function(Ae,Fe){function Ue(qe){try{rt(ge.next(qe))}catch(dt){Fe(dt)}}function nt(qe){try{rt(ge.throw(qe))}catch(dt){Fe(dt)}}function rt(qe){qe.done?Ae(qe.value):Ee(qe.value).then(Ue,nt)}rt((ge=ge.apply(se,pe||[])).next())})}function C(se,pe){var me={label:0,sent:function(){if(Ae[0]&1)throw Ae[1];return Ae[1]},trys:[],ops:[]},ge,Ee,Ae,Fe=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return Fe.next=Ue(0),Fe.throw=Ue(1),Fe.return=Ue(2),typeof Symbol=="function"&&(Fe[Symbol.iterator]=function(){return this}),Fe;function Ue(rt){return function(qe){return nt([rt,qe])}}function nt(rt){if(ge)throw new TypeError("Generator is already executing.");for(;Fe&&(Fe=0,rt[0]&&(me=0)),me;)try{if(ge=1,Ee&&(Ae=rt[0]&2?Ee.return:rt[0]?Ee.throw||((Ae=Ee.return)&&Ae.call(Ee),0):Ee.next)&&!(Ae=Ae.call(Ee,rt[1])).done)return Ae;switch(Ee=0,Ae&&(rt=[rt[0]&2,Ae.value]),rt[0]){case 0:case 1:Ae=rt;break;case 4:return me.label++,{value:rt[1],done:!1};case 5:me.label++,Ee=rt[1],rt=[0];continue;case 7:rt=me.ops.pop(),me.trys.pop();continue;default:if(Ae=me.trys,!(Ae=Ae.length>0&&Ae[Ae.length-1])&&(rt[0]===6||rt[0]===2)){me=0;continue}if(rt[0]===3&&(!Ae||rt[1]>Ae[0]&&rt[1]<Ae[3])){me.label=rt[1];break}if(rt[0]===6&&me.label<Ae[1]){me.label=Ae[1],Ae=rt;break}if(Ae&&me.label<Ae[2]){me.label=Ae[2],me.ops.push(rt);break}Ae[2]&&me.ops.pop(),me.trys.pop();continue}rt=pe.call(se,me)}catch(qe){rt=[6,qe],Ee=0}finally{ge=Ae=0}if(rt[0]&5)throw rt[1];return{value:rt[0]?rt[1]:void 0,done:!0}}}var d=Object.create?function(se,pe,me,ge){ge===void 0&&(ge=me);var Ee=Object.getOwnPropertyDescriptor(pe,me);(!Ee||("get"in Ee?!pe.__esModule:Ee.writable||Ee.configurable))&&(Ee={enumerable:!0,get:function(){return pe[me]}}),Object.defineProperty(se,ge,Ee)}:function(se,pe,me,ge){ge===void 0&&(ge=me),se[ge]=pe[me]};function v(se,pe){for(var me in se)me!=="default"&&!Object.prototype.hasOwnProperty.call(pe,me)&&d(pe,se,me)}function A(se){var pe=typeof Symbol=="function"&&Symbol.iterator,me=pe&&se[pe],ge=0;if(me)return me.call(se);if(se&&typeof se.length=="number")return{next:function(){return se&&ge>=se.length&&(se=void 0),{value:se&&se[ge++],done:!se}}};throw new TypeError(pe?"Object is not iterable.":"Symbol.iterator is not defined.")}function T(se,pe){var me=typeof Symbol=="function"&&se[Symbol.iterator];if(!me)return se;var ge=me.call(se),Ee,Ae=[],Fe;try{for(;(pe===void 0||pe-- >0)&&!(Ee=ge.next()).done;)Ae.push(Ee.value)}catch(Ue){Fe={error:Ue}}finally{try{Ee&&!Ee.done&&(me=ge.return)&&me.call(ge)}finally{if(Fe)throw Fe.error}}return Ae}function O(){for(var se=[],pe=0;pe<arguments.length;pe++)se=se.concat(T(arguments[pe]));return se}function P(){for(var se=0,pe=0,me=arguments.length;pe<me;pe++)se+=arguments[pe].length;for(var ge=Array(se),Ee=0,pe=0;pe<me;pe++)for(var Ae=arguments[pe],Fe=0,Ue=Ae.length;Fe<Ue;Fe++,Ee++)ge[Ee]=Ae[Fe];return ge}function L(se,pe,me){if(me||arguments.length===2)for(var ge=0,Ee=pe.length,Ae;ge<Ee;ge++)(Ae||!(ge in pe))&&(Ae||(Ae=Array.prototype.slice.call(pe,0,ge)),Ae[ge]=pe[ge]);return se.concat(Ae||Array.prototype.slice.call(pe))}function c(se){return this instanceof c?(this.v=se,this):new c(se)}function f(se,pe,me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ge=me.apply(se,pe||[]),Ee,Ae=[];return Ee=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),Ue("next"),Ue("throw"),Ue("return",Fe),Ee[Symbol.asyncIterator]=function(){return this},Ee;function Fe(je){return function(at){return Promise.resolve(at).then(je,dt)}}function Ue(je,at){ge[je]&&(Ee[je]=function(it){return new Promise(function(ht,ut){Ae.push([je,it,ht,ut])>1||nt(je,it)})},at&&(Ee[je]=at(Ee[je])))}function nt(je,at){try{rt(ge[je](at))}catch(it){yt(Ae[0][3],it)}}function rt(je){je.value instanceof c?Promise.resolve(je.value.v).then(qe,dt):yt(Ae[0][2],je)}function qe(je){nt("next",je)}function dt(je){nt("throw",je)}function yt(je,at){je(at),Ae.shift(),Ae.length&&nt(Ae[0][0],Ae[0][1])}}function D(se){var pe,me;return pe={},ge("next"),ge("throw",function(Ee){throw Ee}),ge("return"),pe[Symbol.iterator]=function(){return this},pe;function ge(Ee,Ae){pe[Ee]=se[Ee]?function(Fe){return(me=!me)?{value:c(se[Ee](Fe)),done:!1}:Ae?Ae(Fe):Fe}:Ae}}function R(se){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var pe=se[Symbol.asyncIterator],me;return pe?pe.call(se):(se=typeof A=="function"?A(se):se[Symbol.iterator](),me={},ge("next"),ge("throw"),ge("return"),me[Symbol.asyncIterator]=function(){return this},me);function ge(Ae){me[Ae]=se[Ae]&&function(Fe){return new Promise(function(Ue,nt){Fe=se[Ae](Fe),Ee(Ue,nt,Fe.done,Fe.value)})}}function Ee(Ae,Fe,Ue,nt){Promise.resolve(nt).then(function(rt){Ae({value:rt,done:Ue})},Fe)}}function k(se,pe){return Object.defineProperty?Object.defineProperty(se,"raw",{value:pe}):se.raw=pe,se}var W=Object.create?function(se,pe){Object.defineProperty(se,"default",{enumerable:!0,value:pe})}:function(se,pe){se.default=pe},z=function(se){return z=Object.getOwnPropertyNames||function(pe){var me=[];for(var ge in pe)Object.prototype.hasOwnProperty.call(pe,ge)&&(me[me.length]=ge);return me},z(se)};function Z(se){if(se&&se.__esModule)return se;var pe={};if(se!=null)for(var me=z(se),ge=0;ge<me.length;ge++)me[ge]!=="default"&&d(pe,se,me[ge]);return W(pe,se),pe}function Q(se){return se&&se.__esModule?se:{default:se}}function te(se,pe,me,ge){if(me==="a"&&!ge)throw new TypeError("Private accessor was defined without a getter");if(typeof pe=="function"?se!==pe||!ge:!pe.has(se))throw new TypeError("Cannot read private member from an object whose class did not declare it");return me==="m"?ge:me==="a"?ge.call(se):ge?ge.value:pe.get(se)}function $(se,pe,me,ge,Ee){if(ge==="m")throw new TypeError("Private method is not writable");if(ge==="a"&&!Ee)throw new TypeError("Private accessor was defined without a setter");if(typeof pe=="function"?se!==pe||!Ee:!pe.has(se))throw new TypeError("Cannot write private member to an object whose class did not declare it");return ge==="a"?Ee.call(se,me):Ee?Ee.value=me:pe.set(se,me),me}function ie(se,pe){if(pe===null||typeof pe!="object"&&typeof pe!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof se=="function"?pe===se:se.has(pe)}function ae(se,pe,me){if(pe!=null){if(typeof pe!="object"&&typeof pe!="function")throw new TypeError("Object expected.");var ge,Ee;if(me){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");ge=pe[Symbol.asyncDispose]}if(ge===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");ge=pe[Symbol.dispose],me&&(Ee=ge)}if(typeof ge!="function")throw new TypeError("Object not disposable.");Ee&&(ge=function(){try{Ee.call(this)}catch(Ae){return Promise.reject(Ae)}}),se.stack.push({value:pe,dispose:ge,async:me})}else me&&se.stack.push({async:!0});return pe}var re=typeof SuppressedError=="function"?SuppressedError:function(se,pe,me){var ge=new Error(me);return ge.name="SuppressedError",ge.error=se,ge.suppressed=pe,ge};function ce(se){function pe(Ae){se.error=se.hasError?new re(Ae,se.error,"An error was suppressed during disposal."):Ae,se.hasError=!0}var me,ge=0;function Ee(){for(;me=se.stack.pop();)try{if(!me.async&&ge===1)return ge=0,se.stack.push(me),Promise.resolve().then(Ee);if(me.dispose){var Ae=me.dispose.call(me.value);if(me.async)return ge|=2,Promise.resolve(Ae).then(Ee,function(Fe){return pe(Fe),Ee()})}else ge|=1}catch(Fe){pe(Fe)}if(ge===1)return se.hasError?Promise.reject(se.error):Promise.resolve();if(se.hasError)throw se.error}return Ee()}function oe(se,pe){return typeof se=="string"&&/^\.\.?\//.test(se)?se.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(me,ge,Ee,Ae,Fe){return ge?pe?".jsx":".js":Ee&&(!Ae||!Fe)?me:Ee+Ae+"."+Fe.toLowerCase()+"js"}):se}var he={__extends:ee,__assign:G,__rest:_,__decorate:F,__param:w,__esDecorate:x,__runInitializers:y,__propKey:b,__setFunctionName:E,__metadata:g,__awaiter:m,__generator:C,__createBinding:d,__exportStar:v,__values:A,__read:T,__spread:O,__spreadArrays:P,__spreadArray:L,__await:c,__asyncGenerator:f,__asyncDelegator:D,__asyncValues:R,__makeTemplateObject:k,__importStar:Z,__importDefault:Q,__classPrivateFieldGet:te,__classPrivateFieldSet:$,__classPrivateFieldIn:ie,__addDisposableResource:ae,__disposeResources:ce,__rewriteRelativeImportExtension:oe}}}]);
}());