hzl-web 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +107 -64
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +299 -189
- package/dist/server.test.js.map +1 -1
- package/dist/ui/assets/Paired-CHegtbHO.js +1 -0
- package/dist/ui/assets/force-graph-B5HrL0HG.js +42 -0
- package/dist/ui/assets/index-CdpHwHFG.css +1 -0
- package/dist/ui/assets/index-CgGSX2ei.js +5 -0
- package/dist/ui/assets/index-DhxVdKMf.js +109 -0
- package/dist/ui/index.html +9 -4466
- package/dist/ui/legacy.html +4473 -0
- package/dist/ui/screenshot-mobile.png +0 -0
- package/dist/ui/screenshot-wide.png +0 -0
- package/dist/ui/site.webmanifest +27 -0
- package/dist/ui-embed.d.ts +8 -8
- package/dist/ui-embed.d.ts.map +1 -1
- package/dist/ui-embed.js +71 -29
- package/dist/ui-embed.js.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import{s as Jt,p as Tn,t as Rn,d as In,q as jn,o as Dn,a as Nn,b as Un,c as nt,e as $n,z as Fn,m as ve,f as me}from"./Paired-CHegtbHO.js";var Ln=typeof global=="object"&&global&&global.Object===Object&&global,Hn=typeof self=="object"&&self&&self.Object===Object&&self,Je=Ln||Hn||Function("return this")(),jt=Je.Symbol,tn=Object.prototype,qn=tn.hasOwnProperty,Gn=tn.toString,yt=jt?jt.toStringTag:void 0;function Wn(n){var e=qn.call(n,yt),r=n[yt];try{n[yt]=void 0;var i=!0}catch{}var a=Gn.call(n);return i&&(e?n[yt]=r:delete n[yt]),a}var Vn=Object.prototype,Bn=Vn.toString;function Zn(n){return Bn.call(n)}var Xn="[object Null]",Yn="[object Undefined]",xe=jt?jt.toStringTag:void 0;function Kn(n){return n==null?n===void 0?Yn:Xn:xe&&xe in Object(n)?Wn(n):Zn(n)}function Qn(n){return n!=null&&typeof n=="object"}var Jn="[object Symbol]";function tr(n){return typeof n=="symbol"||Qn(n)&&Kn(n)==Jn}var er=/\s/;function nr(n){for(var e=n.length;e--&&er.test(n.charAt(e)););return e}var rr=/^\s+/;function ir(n){return n&&n.slice(0,nr(n)+1).replace(rr,"")}function Dt(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}var be=NaN,ar=/^[-+]0x[0-9a-f]+$/i,or=/^0b[01]+$/i,sr=/^0o[0-7]+$/i,ur=parseInt;function we(n){if(typeof n=="number")return n;if(tr(n))return be;if(Dt(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=Dt(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=ir(n);var r=or.test(n);return r||sr.test(n)?ur(n.slice(2),r?2:8):ar.test(n)?be:+n}var Zt=function(){return Je.Date.now()},lr="Expected a function",fr=Math.max,cr=Math.min;function en(n,e,r){var i,a,o,s,u,c,f=0,h=!1,l=!1,d=!0;if(typeof n!="function")throw new TypeError(lr);e=we(e)||0,Dt(r)&&(h=!!r.leading,l="maxWait"in r,o=l?fr(we(r.maxWait)||0,e):o,d="trailing"in r?!!r.trailing:d);function p(w){var b=i,A=a;return i=a=void 0,f=w,s=n.apply(A,b),s}function _(w){return f=w,u=setTimeout(g,e),h?p(w):s}function v(w){var b=w-c,A=w-f,P=e-b;return l?cr(P,o-A):P}function y(w){var b=w-c,A=w-f;return c===void 0||b>=e||b<0||l&&A>=o}function g(){var w=Zt();if(y(w))return x(w);u=setTimeout(g,v(w))}function x(w){return u=void 0,d&&i?p(w):(i=a=void 0,s)}function k(){u!==void 0&&clearTimeout(u),f=0,i=c=a=u=void 0}function C(){return u===void 0?s:x(Zt())}function m(){var w=Zt(),b=y(w);if(i=arguments,a=this,c=w,b){if(u===void 0)return _(c);if(l)return clearTimeout(u),u=setTimeout(g,e),p(c)}return u===void 0&&(u=setTimeout(g,e)),s}return m.cancel=k,m.flush=C,m}var hr="Expected a function";function dr(n,e,r){var i=!0,a=!0;if(typeof n!="function")throw new TypeError(hr);return Dt(r)&&(i="leading"in r?!!r.leading:i,a="trailing"in r?!!r.trailing:a),en(n,e,{leading:i,maxWait:e,trailing:a})}var ht=Object.freeze({Linear:Object.freeze({None:function(n){return n},In:function(n){return n},Out:function(n){return n},InOut:function(n){return n}}),Quadratic:Object.freeze({In:function(n){return n*n},Out:function(n){return n*(2-n)},InOut:function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)}}),Cubic:Object.freeze({In:function(n){return n*n*n},Out:function(n){return--n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)}}),Quartic:Object.freeze({In:function(n){return n*n*n*n},Out:function(n){return 1- --n*n*n*n},InOut:function(n){return(n*=2)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)}}),Quintic:Object.freeze({In:function(n){return n*n*n*n*n},Out:function(n){return--n*n*n*n*n+1},InOut:function(n){return(n*=2)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)}}),Sinusoidal:Object.freeze({In:function(n){return 1-Math.sin((1-n)*Math.PI/2)},Out:function(n){return Math.sin(n*Math.PI/2)},InOut:function(n){return .5*(1-Math.sin(Math.PI*(.5-n)))}}),Exponential:Object.freeze({In:function(n){return n===0?0:Math.pow(1024,n-1)},Out:function(n){return n===1?1:1-Math.pow(2,-10*n)},InOut:function(n){return n===0?0:n===1?1:(n*=2)<1?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)}}),Circular:Object.freeze({In:function(n){return 1-Math.sqrt(1-n*n)},Out:function(n){return Math.sqrt(1- --n*n)},InOut:function(n){return(n*=2)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)}}),Elastic:Object.freeze({In:function(n){return n===0?0:n===1?1:-Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI)},Out:function(n){return n===0?0:n===1?1:Math.pow(2,-10*n)*Math.sin((n-.1)*5*Math.PI)+1},InOut:function(n){return n===0?0:n===1?1:(n*=2,n<1?-.5*Math.pow(2,10*(n-1))*Math.sin((n-1.1)*5*Math.PI):.5*Math.pow(2,-10*(n-1))*Math.sin((n-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(n){var e=1.70158;return n===1?1:n*n*((e+1)*n-e)},Out:function(n){var e=1.70158;return n===0?0:--n*n*((e+1)*n+e)+1},InOut:function(n){var e=2.5949095;return(n*=2)<1?.5*(n*n*((e+1)*n-e)):.5*((n-=2)*n*((e+1)*n+e)+2)}}),Bounce:Object.freeze({In:function(n){return 1-ht.Bounce.Out(1-n)},Out:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},InOut:function(n){return n<.5?ht.Bounce.In(n*2)*.5:ht.Bounce.Out(n*2-1)*.5+.5}}),generatePow:function(n){return n===void 0&&(n=4),n=n<Number.EPSILON?Number.EPSILON:n,n=n>1e4?1e4:n,{In:function(e){return Math.pow(e,n)},Out:function(e){return 1-Math.pow(1-e,n)},InOut:function(e){return e<.5?Math.pow(e*2,n)/2:(1-Math.pow(2-e*2,n))/2+.5}}}}),kt=function(){return performance.now()},nn=(function(){function n(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,e)}return n.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(r){return e._tweens[r]})},n.prototype.removeAll=function(){this._tweens={}},n.prototype.add=function(){for(var e,r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];for(var a=0,o=r;a<o.length;a++){var s=o[a];(e=s._group)===null||e===void 0||e.remove(s),s._group=this,this._tweens[s.getId()]=s,this._tweensAddedDuringUpdate[s.getId()]=s}},n.prototype.remove=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var i=0,a=e;i<a.length;i++){var o=a[i];o._group=void 0,delete this._tweens[o.getId()],delete this._tweensAddedDuringUpdate[o.getId()]}},n.prototype.allStopped=function(){return this.getAll().every(function(e){return!e.isPlaying()})},n.prototype.update=function(e,r){e===void 0&&(e=kt()),r===void 0&&(r=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var a=0;a<i.length;a++){var o=this._tweens[i[a]],s=!r;o&&o.update(e,s)===!1&&!r&&this.remove(o)}i=Object.keys(this._tweensAddedDuringUpdate)}},n})(),te={Linear:function(n,e){var r=n.length-1,i=r*e,a=Math.floor(i),o=te.Utils.Linear;return e<0?o(n[0],n[1],i):e>1?o(n[r],n[r-1],r-i):o(n[a],n[a+1>r?r:a+1],i-a)},Utils:{Linear:function(n,e,r){return(e-n)*r+n}}},rn=(function(){function n(){}return n.nextId=function(){return n._nextId++},n._nextId=0,n})(),ee=new nn,ke=(function(){function n(e,r){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=ht.Linear.None,this._interpolationFunction=te.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=rn.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=e,typeof r=="object"?(this._group=r,r.add(this)):r===!0&&(this._group=ee,ee.add(this))}return n.prototype.getId=function(){return this._id},n.prototype.isPlaying=function(){return this._isPlaying},n.prototype.isPaused=function(){return this._isPaused},n.prototype.getDuration=function(){return this._duration},n.prototype.to=function(e,r){if(r===void 0&&(r=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=r<0?0:r,this},n.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e<0?0:e,this},n.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},n.prototype.start=function(e,r){if(e===void 0&&(e=kt()),r===void 0&&(r=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||r){if(this._propertiesAreSetUp=!0,!this._isDynamic){var a={};for(var o in this._valuesEnd)a[o]=this._valuesEnd[o];this._valuesEnd=a}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,r)}return this},n.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},n.prototype._setupProperties=function(e,r,i,a,o){for(var s in i){var u=e[s],c=Array.isArray(u),f=c?"array":typeof u,h=!c&&Array.isArray(i[s]);if(!(f==="undefined"||f==="function")){if(h){var l=i[s];if(l.length===0)continue;for(var d=[u],p=0,_=l.length;p<_;p+=1){var v=this._handleRelativeValue(u,l[p]);if(isNaN(v)){h=!1,console.warn("Found invalid interpolation list. Skipping.");break}d.push(v)}h&&(i[s]=d)}if((f==="object"||c)&&u&&!h){r[s]=c?[]:{};var y=u;for(var g in y)r[s][g]=y[g];a[s]=c?[]:{};var l=i[s];if(!this._isDynamic){var x={};for(var g in l)x[g]=l[g];i[s]=l=x}this._setupProperties(y,r[s],l,a[s],o)}else(typeof r[s]>"u"||o)&&(r[s]=u),c||(r[s]*=1),h?a[s]=i[s].slice().reverse():a[s]=r[s]||0}}},n.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},n.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},n.prototype.pause=function(e){return e===void 0&&(e=kt()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this)},n.prototype.resume=function(e){return e===void 0&&(e=kt()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this)},n.prototype.stopChainedTweens=function(){for(var e=0,r=this._chainedTweens.length;e<r;e++)this._chainedTweens[e].stop();return this},n.prototype.group=function(e){return e?(e.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},n.prototype.remove=function(){var e;return(e=this._group)===null||e===void 0||e.remove(this),this},n.prototype.delay=function(e){return e===void 0&&(e=0),this._delayTime=e,this},n.prototype.repeat=function(e){return e===void 0&&(e=0),this._initialRepeat=e,this._repeat=e,this},n.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},n.prototype.yoyo=function(e){return e===void 0&&(e=!1),this._yoyo=e,this},n.prototype.easing=function(e){return e===void 0&&(e=ht.Linear.None),this._easingFunction=e,this},n.prototype.interpolation=function(e){return e===void 0&&(e=te.Linear),this._interpolationFunction=e,this},n.prototype.chain=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return this._chainedTweens=e,this},n.prototype.onStart=function(e){return this._onStartCallback=e,this},n.prototype.onEveryStart=function(e){return this._onEveryStartCallback=e,this},n.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},n.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},n.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},n.prototype.onStop=function(e){return this._onStopCallback=e,this},n.prototype.update=function(e,r){var i=this,a;if(e===void 0&&(e=kt()),r===void 0&&(r=n.autoStartOnUpdate),this._isPaused)return!0;var o;if(!this._goToEnd&&!this._isPlaying)if(r)this.start(e,!0);else return!1;if(this._goToEnd=!1,e<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var s=e-this._startTime,u=this._duration+((a=this._repeatDelayTime)!==null&&a!==void 0?a:this._delayTime),c=this._duration+this._repeat*u,f=function(){if(i._duration===0||s>c)return 1;var v=Math.trunc(s/u),y=s-v*u,g=Math.min(y/i._duration,1);return g===0&&s===i._duration?1:g},h=f(),l=this._easingFunction(h);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,l),this._onUpdateCallback&&this._onUpdateCallback(this._object,h),this._duration===0||s>=this._duration)if(this._repeat>0){var d=Math.min(Math.trunc((s-this._duration)/u)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=d);for(o in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[o]=="string"&&(this._valuesStartRepeat[o]=this._valuesStartRepeat[o]+parseFloat(this._valuesEnd[o])),this._yoyo&&this._swapEndStartRepeatValues(o),this._valuesStart[o]=this._valuesStartRepeat[o];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=u*d,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var p=0,_=this._chainedTweens.length;p<_;p++)this._chainedTweens[p].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},n.prototype._updateProperties=function(e,r,i,a){for(var o in i)if(r[o]!==void 0){var s=r[o]||0,u=i[o],c=Array.isArray(e[o]),f=Array.isArray(u),h=!c&&f;h?e[o]=this._interpolationFunction(u,a):typeof u=="object"&&u?this._updateProperties(e[o],s,u,a):(u=this._handleRelativeValue(s,u),typeof u=="number"&&(e[o]=s+(u-s)*a))}},n.prototype._handleRelativeValue=function(e,r){return typeof r!="string"?r:r.charAt(0)==="+"||r.charAt(0)==="-"?e+parseFloat(r):parseFloat(r)},n.prototype._swapEndStartRepeatValues=function(e){var r=this._valuesStartRepeat[e],i=this._valuesEnd[e];typeof i=="string"?this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(i):this._valuesStartRepeat[e]=this._valuesEnd[e],this._valuesEnd[e]=r},n.autoStartOnUpdate=!1,n})();rn.nextId;var Y=ee;Y.getAll.bind(Y);Y.removeAll.bind(Y);Y.add.bind(Y);Y.remove.bind(Y);Y.update.bind(Y);function Ce(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function pr(n){if(Array.isArray(n))return n}function gr(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function _r(n,e,r){return Object.defineProperty(n,"prototype",{writable:!1}),n}function yr(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,a,o,s,u=[],c=!0,f=!1;try{if(o=(r=r.call(n)).next,e!==0)for(;!(c=(i=o.call(r)).done)&&(u.push(i.value),u.length!==e);c=!0);}catch(h){f=!0,a=h}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(f)throw a}}return u}}function vr(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mr(n,e){return pr(n)||yr(n,e)||xr(n,e)||vr()}function xr(n,e){if(n){if(typeof n=="string")return Ce(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ce(n,e):void 0}}var br=_r(function n(e,r){var i=r.default,a=i===void 0?null:i,o=r.triggerUpdate,s=o===void 0?!0:o,u=r.onChange,c=u===void 0?function(f,h){}:u;gr(this,n),this.name=e,this.defaultVal=a,this.triggerUpdate=s,this.onChange=c});function ce(n){var e=n.stateInit,r=e===void 0?function(){return{}}:e,i=n.props,a=i===void 0?{}:i,o=n.methods,s=o===void 0?{}:o,u=n.aliases,c=u===void 0?{}:u,f=n.init,h=f===void 0?function(){}:f,l=n.update,d=l===void 0?function(){}:l,p=Object.keys(a).map(function(_){return new br(_,a[_])});return function _(){for(var v=arguments.length,y=new Array(v),g=0;g<v;g++)y[g]=arguments[g];var x=!!(this instanceof _&&this.constructor),k=x?y.shift():void 0,C=y[0],m=C===void 0?{}:C,w=Object.assign({},r instanceof Function?r(m):r,{initialised:!1}),b={};function A(E){return P(E,m),S(),A}var P=function(O,T){h.call(A,O,w,T),w.initialised=!0},S=en(function(){w.initialised&&(d.call(A,w,b),b={})},1);return p.forEach(function(E){A[E.name]=O(E);function O(T){var j=T.name,$=T.triggerUpdate,ot=$===void 0?!1:$,zt=T.onChange,Et=zt===void 0?function(lt,K){}:zt,_t=T.defaultVal,Vt=_t===void 0?null:_t;return function(lt){var K=w[j];if(!arguments.length)return K;var Q=lt===void 0?Vt:lt;return w[j]=Q,Et.call(A,Q,w,K),!b.hasOwnProperty(j)&&(b[j]=K),ot&&S(),A}}}),Object.keys(s).forEach(function(E){A[E]=function(){for(var O,T=arguments.length,j=new Array(T),$=0;$<T;$++)j[$]=arguments[$];return(O=s[E]).call.apply(O,[A,w].concat(j))}}),Object.entries(c).forEach(function(E){var O=mr(E,2),T=O[0],j=O[1];return A[T]=A[j]}),A.resetProps=function(){return p.forEach(function(E){A[E.name](E.defaultVal)}),A},A.resetProps(),w._rerender=S,x&&k&&A(k),A}}var R=(function(n){return typeof n=="function"?n:typeof n=="string"?function(e){return e[n]}:function(e){return n}});function Nt(n){"@babel/helpers - typeof";return Nt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(n)}var wr=/^\s+/,kr=/\s+$/;function z(n,e){if(n=n||"",e=e||{},n instanceof z)return n;if(!(this instanceof z))return new z(n,e);var r=Cr(n);this._originalInput=n,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=Math.round(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=r.ok}z.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},getLuminance:function(){var e=this.toRgb(),r,i,a,o,s,u;return r=e.r/255,i=e.g/255,a=e.b/255,r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),i<=.03928?s=i/12.92:s=Math.pow((i+.055)/1.055,2.4),a<=.03928?u=a/12.92:u=Math.pow((a+.055)/1.055,2.4),.2126*o+.7152*s+.0722*u},setAlpha:function(e){return this._a=an(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=Me(this._r,this._g,this._b);return{h:e.h*360,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=Me(this._r,this._g,this._b),r=Math.round(e.h*360),i=Math.round(e.s*100),a=Math.round(e.v*100);return this._a==1?"hsv("+r+", "+i+"%, "+a+"%)":"hsva("+r+", "+i+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var e=Ae(this._r,this._g,this._b);return{h:e.h*360,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=Ae(this._r,this._g,this._b),r=Math.round(e.h*360),i=Math.round(e.s*100),a=Math.round(e.l*100);return this._a==1?"hsl("+r+", "+i+"%, "+a+"%)":"hsla("+r+", "+i+"%, "+a+"%, "+this._roundA+")"},toHex:function(e){return Se(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return Pr(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(N(this._r,255)*100)+"%",g:Math.round(N(this._g,255)*100)+"%",b:Math.round(N(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(N(this._r,255)*100)+"%, "+Math.round(N(this._g,255)*100)+"%, "+Math.round(N(this._b,255)*100)+"%)":"rgba("+Math.round(N(this._r,255)*100)+"%, "+Math.round(N(this._g,255)*100)+"%, "+Math.round(N(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Fr[Se(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var r="#"+Pe(this._r,this._g,this._b,this._a),i=r,a=this._gradientType?"GradientType = 1, ":"";if(e){var o=z(e);i="#"+Pe(o._r,o._g,o._b,o._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+r+",endColorstr="+i+")"},toString:function(e){var r=!!e;e=e||this._format;var i=!1,a=this._a<1&&this._a>=0,o=!r&&a&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return o?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return z(this.toString())},_applyModification:function(e,r){var i=e.apply(null,[this].concat([].slice.call(r)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(Tr,arguments)},brighten:function(){return this._applyModification(Rr,arguments)},darken:function(){return this._applyModification(Ir,arguments)},desaturate:function(){return this._applyModification(Or,arguments)},saturate:function(){return this._applyModification(zr,arguments)},greyscale:function(){return this._applyModification(Er,arguments)},spin:function(){return this._applyModification(jr,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(Ur,arguments)},complement:function(){return this._applyCombination(Dr,arguments)},monochromatic:function(){return this._applyCombination($r,arguments)},splitcomplement:function(){return this._applyCombination(Nr,arguments)},triad:function(){return this._applyCombination(Oe,[3])},tetrad:function(){return this._applyCombination(Oe,[4])}};z.fromRatio=function(n,e){if(Nt(n)=="object"){var r={};for(var i in n)n.hasOwnProperty(i)&&(i==="a"?r[i]=n[i]:r[i]=Ct(n[i]));n=r}return z(n,e)};function Cr(n){var e={r:0,g:0,b:0},r=1,i=null,a=null,o=null,s=!1,u=!1;return typeof n=="string"&&(n=Gr(n)),Nt(n)=="object"&&(J(n.r)&&J(n.g)&&J(n.b)?(e=Ar(n.r,n.g,n.b),s=!0,u=String(n.r).substr(-1)==="%"?"prgb":"rgb"):J(n.h)&&J(n.s)&&J(n.v)?(i=Ct(n.s),a=Ct(n.v),e=Sr(n.h,i,a),s=!0,u="hsv"):J(n.h)&&J(n.s)&&J(n.l)&&(i=Ct(n.s),o=Ct(n.l),e=Mr(n.h,i,o),s=!0,u="hsl"),n.hasOwnProperty("a")&&(r=n.a)),r=an(r),{ok:s,format:n.format||u,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:r}}function Ar(n,e,r){return{r:N(n,255)*255,g:N(e,255)*255,b:N(r,255)*255}}function Ae(n,e,r){n=N(n,255),e=N(e,255),r=N(r,255);var i=Math.max(n,e,r),a=Math.min(n,e,r),o,s,u=(i+a)/2;if(i==a)o=s=0;else{var c=i-a;switch(s=u>.5?c/(2-i-a):c/(i+a),i){case n:o=(e-r)/c+(e<r?6:0);break;case e:o=(r-n)/c+2;break;case r:o=(n-e)/c+4;break}o/=6}return{h:o,s,l:u}}function Mr(n,e,r){var i,a,o;n=N(n,360),e=N(e,100),r=N(r,100);function s(f,h,l){return l<0&&(l+=1),l>1&&(l-=1),l<1/6?f+(h-f)*6*l:l<1/2?h:l<2/3?f+(h-f)*(2/3-l)*6:f}if(e===0)i=a=o=r;else{var u=r<.5?r*(1+e):r+e-r*e,c=2*r-u;i=s(c,u,n+1/3),a=s(c,u,n),o=s(c,u,n-1/3)}return{r:i*255,g:a*255,b:o*255}}function Me(n,e,r){n=N(n,255),e=N(e,255),r=N(r,255);var i=Math.max(n,e,r),a=Math.min(n,e,r),o,s,u=i,c=i-a;if(s=i===0?0:c/i,i==a)o=0;else{switch(i){case n:o=(e-r)/c+(e<r?6:0);break;case e:o=(r-n)/c+2;break;case r:o=(n-e)/c+4;break}o/=6}return{h:o,s,v:u}}function Sr(n,e,r){n=N(n,360)*6,e=N(e,100),r=N(r,100);var i=Math.floor(n),a=n-i,o=r*(1-e),s=r*(1-a*e),u=r*(1-(1-a)*e),c=i%6,f=[r,s,o,o,u,r][c],h=[u,r,r,s,o,o][c],l=[o,o,u,r,r,s][c];return{r:f*255,g:h*255,b:l*255}}function Se(n,e,r,i){var a=[Z(Math.round(n).toString(16)),Z(Math.round(e).toString(16)),Z(Math.round(r).toString(16))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function Pr(n,e,r,i,a){var o=[Z(Math.round(n).toString(16)),Z(Math.round(e).toString(16)),Z(Math.round(r).toString(16)),Z(on(i))];return a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}function Pe(n,e,r,i){var a=[Z(on(i)),Z(Math.round(n).toString(16)),Z(Math.round(e).toString(16)),Z(Math.round(r).toString(16))];return a.join("")}z.equals=function(n,e){return!n||!e?!1:z(n).toRgbString()==z(e).toRgbString()};z.random=function(){return z.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function Or(n,e){e=e===0?0:e||10;var r=z(n).toHsl();return r.s-=e/100,r.s=qt(r.s),z(r)}function zr(n,e){e=e===0?0:e||10;var r=z(n).toHsl();return r.s+=e/100,r.s=qt(r.s),z(r)}function Er(n){return z(n).desaturate(100)}function Tr(n,e){e=e===0?0:e||10;var r=z(n).toHsl();return r.l+=e/100,r.l=qt(r.l),z(r)}function Rr(n,e){e=e===0?0:e||10;var r=z(n).toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(e/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(e/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(e/100)))),z(r)}function Ir(n,e){e=e===0?0:e||10;var r=z(n).toHsl();return r.l-=e/100,r.l=qt(r.l),z(r)}function jr(n,e){var r=z(n).toHsl(),i=(r.h+e)%360;return r.h=i<0?360+i:i,z(r)}function Dr(n){var e=z(n).toHsl();return e.h=(e.h+180)%360,z(e)}function Oe(n,e){if(isNaN(e)||e<=0)throw new Error("Argument to polyad must be a positive number");for(var r=z(n).toHsl(),i=[z(n)],a=360/e,o=1;o<e;o++)i.push(z({h:(r.h+o*a)%360,s:r.s,l:r.l}));return i}function Nr(n){var e=z(n).toHsl(),r=e.h;return[z(n),z({h:(r+72)%360,s:e.s,l:e.l}),z({h:(r+216)%360,s:e.s,l:e.l})]}function Ur(n,e,r){e=e||6,r=r||30;var i=z(n).toHsl(),a=360/r,o=[z(n)];for(i.h=(i.h-(a*e>>1)+720)%360;--e;)i.h=(i.h+a)%360,o.push(z(i));return o}function $r(n,e){e=e||6;for(var r=z(n).toHsv(),i=r.h,a=r.s,o=r.v,s=[],u=1/e;e--;)s.push(z({h:i,s:a,v:o})),o=(o+u)%1;return s}z.mix=function(n,e,r){r=r===0?0:r||50;var i=z(n).toRgb(),a=z(e).toRgb(),o=r/100,s={r:(a.r-i.r)*o+i.r,g:(a.g-i.g)*o+i.g,b:(a.b-i.b)*o+i.b,a:(a.a-i.a)*o+i.a};return z(s)};z.readability=function(n,e){var r=z(n),i=z(e);return(Math.max(r.getLuminance(),i.getLuminance())+.05)/(Math.min(r.getLuminance(),i.getLuminance())+.05)};z.isReadable=function(n,e,r){var i=z.readability(n,e),a,o;switch(o=!1,a=Wr(r),a.level+a.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7;break}return o};z.mostReadable=function(n,e,r){var i=null,a=0,o,s,u,c;r=r||{},s=r.includeFallbackColors,u=r.level,c=r.size;for(var f=0;f<e.length;f++)o=z.readability(n,e[f]),o>a&&(a=o,i=z(e[f]));return z.isReadable(n,i,{level:u,size:c})||!s?i:(r.includeFallbackColors=!1,z.mostReadable(n,["#fff","#000"],r))};var ne=z.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Fr=z.hexNames=Lr(ne);function Lr(n){var e={};for(var r in n)n.hasOwnProperty(r)&&(e[n[r]]=r);return e}function an(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function N(n,e){Hr(n)&&(n="100%");var r=qr(n);return n=Math.min(e,Math.max(0,parseFloat(n))),r&&(n=parseInt(n*e,10)/100),Math.abs(n-e)<1e-6?1:n%e/parseFloat(e)}function qt(n){return Math.min(1,Math.max(0,n))}function q(n){return parseInt(n,16)}function Hr(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1}function qr(n){return typeof n=="string"&&n.indexOf("%")!=-1}function Z(n){return n.length==1?"0"+n:""+n}function Ct(n){return n<=1&&(n=n*100+"%"),n}function on(n){return Math.round(parseFloat(n)*255).toString(16)}function ze(n){return q(n)/255}var B=(function(){var n="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",r="(?:"+e+")|(?:"+n+")",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",a="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function J(n){return!!B.CSS_UNIT.exec(n)}function Gr(n){n=n.replace(wr,"").replace(kr,"").toLowerCase();var e=!1;if(ne[n])n=ne[n],e=!0;else if(n=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=B.rgb.exec(n))?{r:r[1],g:r[2],b:r[3]}:(r=B.rgba.exec(n))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=B.hsl.exec(n))?{h:r[1],s:r[2],l:r[3]}:(r=B.hsla.exec(n))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=B.hsv.exec(n))?{h:r[1],s:r[2],v:r[3]}:(r=B.hsva.exec(n))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=B.hex8.exec(n))?{r:q(r[1]),g:q(r[2]),b:q(r[3]),a:ze(r[4]),format:e?"name":"hex8"}:(r=B.hex6.exec(n))?{r:q(r[1]),g:q(r[2]),b:q(r[3]),format:e?"name":"hex"}:(r=B.hex4.exec(n))?{r:q(r[1]+""+r[1]),g:q(r[2]+""+r[2]),b:q(r[3]+""+r[3]),a:ze(r[4]+""+r[4]),format:e?"name":"hex8"}:(r=B.hex3.exec(n))?{r:q(r[1]+""+r[1]),g:q(r[2]+""+r[2]),b:q(r[3]+""+r[3]),format:e?"name":"hex"}:!1}function Wr(n){var e,r;return n=n||{level:"AA",size:"small"},e=(n.level||"AA").toUpperCase(),r=(n.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:e,size:r}}function re(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function Vr(n){if(Array.isArray(n))return re(n)}function sn(n,e,r){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function Br(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Zr(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function G(n,e){return n.get(sn(n,e))}function Ee(n,e,r){Br(n,e),e.set(n,r)}function Te(n,e,r){return n.set(sn(n,e),r),r}function Xr(n,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,ei(i.key),i)}}function Yr(n,e,r){return e&&Xr(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function Kr(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Qr(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jr(n){return Vr(n)||Kr(n)||ni(n)||Qr()}function ti(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function ei(n){var e=ti(n,"string");return typeof e=="symbol"?e:e+""}function ni(n,e){if(n){if(typeof n=="string")return re(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?re(n,e):void 0}}var ri=123,ii=function(e){return"#".concat(Math.min(e,Math.pow(2,24)).toString(16).padStart(6,"0"))},un=function(e,r,i){return(e<<16)+(r<<8)+i},ai=function(e){var r=z(e).toRgb(),i=r.r,a=r.g,o=r.b;return un(i,a,o)},Re=function(e,r){return e*ri%Math.pow(2,r)},ft=new WeakMap,tt=new WeakMap,oi=(function(){function n(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:6;Zr(this,n),Ee(this,ft,void 0),Ee(this,tt,void 0),Te(tt,this,e),this.reset()}return Yr(n,[{key:"reset",value:function(){Te(ft,this,["__reserved for background__"])}},{key:"register",value:function(r){if(G(ft,this).length>=Math.pow(2,24-G(tt,this)))return null;var i=G(ft,this).length,a=Re(i,G(tt,this)),o=ii(i+(a<<24-G(tt,this)));return G(ft,this).push(r),o}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?ai(r):un.apply(void 0,Jr(r));if(!i)return null;var a=i&Math.pow(2,24-G(tt,this))-1,o=i>>24-G(tt,this)&Math.pow(2,G(tt,this))-1;return Re(a,G(tt,this))!==o||a>=G(ft,this).length?null:G(ft,this)[a]}}])})(),Ot,U,ln,fn,ct,Ie,cn,hn,dn,he,ie,ae,Ut={},$t=[],si=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Gt=Array.isArray;function X(n,e){for(var r in e)n[r]=e[r];return n}function de(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function ui(n,e,r){var i,a,o,s={};for(o in e)o=="key"?i=e[o]:o=="ref"?a=e[o]:s[o]=e[o];if(arguments.length>2&&(s.children=arguments.length>3?Ot.call(arguments,2):r),typeof n=="function"&&n.defaultProps!=null)for(o in n.defaultProps)s[o]===void 0&&(s[o]=n.defaultProps[o]);return At(n,s,i,a,null)}function At(n,e,r,i,a){var o={type:n,props:e,key:r,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:a??++ln,__i:-1,__u:0};return a==null&&U.vnode!=null&&U.vnode(o),o}function Wt(n){return n.children}function It(n,e){this.props=n,this.context=e}function gt(n,e){if(e==null)return n.__?gt(n.__,n.__i+1):null;for(var r;e<n.__k.length;e++)if((r=n.__k[e])!=null&&r.__e!=null)return r.__e;return typeof n.type=="function"?gt(n):null}function li(n){if(n.__P&&n.__d){var e=n.__v,r=e.__e,i=[],a=[],o=X({},e);o.__v=e.__v+1,U.vnode&&U.vnode(o),pe(n.__P,o,e,n.__n,n.__P.namespaceURI,32&e.__u?[r]:null,i,r??gt(e),!!(32&e.__u),a),o.__v=e.__v,o.__.__k[o.__i]=o,yn(i,o,a),e.__e=e.__=null,o.__e!=r&&pn(o)}}function pn(n){if((n=n.__)!=null&&n.__c!=null)return n.__e=n.__c.base=null,n.__k.some(function(e){if(e!=null&&e.__e!=null)return n.__e=n.__c.base=e.__e}),pn(n)}function je(n){(!n.__d&&(n.__d=!0)&&ct.push(n)&&!Ft.__r++||Ie!=U.debounceRendering)&&((Ie=U.debounceRendering)||cn)(Ft)}function Ft(){for(var n,e=1;ct.length;)ct.length>e&&ct.sort(hn),n=ct.shift(),e=ct.length,li(n);Ft.__r=0}function gn(n,e,r,i,a,o,s,u,c,f,h){var l,d,p,_,v,y,g,x=i&&i.__k||$t,k=e.length;for(c=fi(r,e,x,c,k),l=0;l<k;l++)(p=r.__k[l])!=null&&(d=p.__i!=-1&&x[p.__i]||Ut,p.__i=l,y=pe(n,p,d,a,o,s,u,c,f,h),_=p.__e,p.ref&&d.ref!=p.ref&&(d.ref&&ge(d.ref,null,p),h.push(p.ref,p.__c||_,p)),v==null&&_!=null&&(v=_),(g=!!(4&p.__u))||d.__k===p.__k?c=_n(p,c,n,g):typeof p.type=="function"&&y!==void 0?c=y:_&&(c=_.nextSibling),p.__u&=-7);return r.__e=v,c}function fi(n,e,r,i,a){var o,s,u,c,f,h=r.length,l=h,d=0;for(n.__k=new Array(a),o=0;o<a;o++)(s=e[o])!=null&&typeof s!="boolean"&&typeof s!="function"?(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||s.constructor==String?s=n.__k[o]=At(null,s,null,null,null):Gt(s)?s=n.__k[o]=At(Wt,{children:s},null,null,null):s.constructor===void 0&&s.__b>0?s=n.__k[o]=At(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):n.__k[o]=s,c=o+d,s.__=n,s.__b=n.__b+1,u=null,(f=s.__i=ci(s,r,c,l))!=-1&&(l--,(u=r[f])&&(u.__u|=2)),u==null||u.__v==null?(f==-1&&(a>h?d--:a<h&&d++),typeof s.type!="function"&&(s.__u|=4)):f!=c&&(f==c-1?d--:f==c+1?d++:(f>c?d--:d++,s.__u|=4))):n.__k[o]=null;if(l)for(o=0;o<h;o++)(u=r[o])!=null&&(2&u.__u)==0&&(u.__e==i&&(i=gt(u)),mn(u,u));return i}function _n(n,e,r,i){var a,o;if(typeof n.type=="function"){for(a=n.__k,o=0;a&&o<a.length;o++)a[o]&&(a[o].__=n,e=_n(a[o],e,r,i));return e}n.__e!=e&&(i&&(e&&n.type&&!e.parentNode&&(e=gt(n)),r.insertBefore(n.__e,e||null)),e=n.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function ci(n,e,r,i){var a,o,s,u=n.key,c=n.type,f=e[r],h=f!=null&&(2&f.__u)==0;if(f===null&&u==null||h&&u==f.key&&c==f.type)return r;if(i>(h?1:0)){for(a=r-1,o=r+1;a>=0||o<e.length;)if((f=e[s=a>=0?a--:o++])!=null&&(2&f.__u)==0&&u==f.key&&c==f.type)return s}return-1}function De(n,e,r){e[0]=="-"?n.setProperty(e,r??""):n[e]=r==null?"":typeof r!="number"||si.test(e)?r:r+"px"}function Tt(n,e,r,i,a){var o,s;t:if(e=="style")if(typeof r=="string")n.style.cssText=r;else{if(typeof i=="string"&&(n.style.cssText=i=""),i)for(e in i)r&&e in r||De(n.style,e,"");if(r)for(e in r)i&&r[e]==i[e]||De(n.style,e,r[e])}else if(e[0]=="o"&&e[1]=="n")o=e!=(e=e.replace(dn,"$1")),s=e.toLowerCase(),e=s in n||e=="onFocusOut"||e=="onFocusIn"?s.slice(2):e.slice(2),n.l||(n.l={}),n.l[e+o]=r,r?i?r.u=i.u:(r.u=he,n.addEventListener(e,o?ae:ie,o)):n.removeEventListener(e,o?ae:ie,o);else{if(a=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in n)try{n[e]=r??"";break t}catch{}typeof r=="function"||(r==null||r===!1&&e[4]!="-"?n.removeAttribute(e):n.setAttribute(e,e=="popover"&&r==1?"":r))}}function Ne(n){return function(e){if(this.l){var r=this.l[e.type+n];if(e.t==null)e.t=he++;else if(e.t<r.u)return;return r(U.event?U.event(e):e)}}}function pe(n,e,r,i,a,o,s,u,c,f){var h,l,d,p,_,v,y,g,x,k,C,m,w,b,A,P=e.type;if(e.constructor!==void 0)return null;128&r.__u&&(c=!!(32&r.__u),o=[u=e.__e=r.__e]),(h=U.__b)&&h(e);t:if(typeof P=="function")try{if(g=e.props,x="prototype"in P&&P.prototype.render,k=(h=P.contextType)&&i[h.__c],C=h?k?k.props.value:h.__:i,r.__c?y=(l=e.__c=r.__c).__=l.__E:(x?e.__c=l=new P(g,C):(e.__c=l=new It(g,C),l.constructor=P,l.render=di),k&&k.sub(l),l.state||(l.state={}),l.__n=i,d=l.__d=!0,l.__h=[],l._sb=[]),x&&l.__s==null&&(l.__s=l.state),x&&P.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=X({},l.__s)),X(l.__s,P.getDerivedStateFromProps(g,l.__s))),p=l.props,_=l.state,l.__v=e,d)x&&P.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),x&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(x&&P.getDerivedStateFromProps==null&&g!==p&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(g,C),e.__v==r.__v||!l.__e&&l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(g,l.__s,C)===!1){e.__v!=r.__v&&(l.props=g,l.state=l.__s,l.__d=!1),e.__e=r.__e,e.__k=r.__k,e.__k.some(function(S){S&&(S.__=e)}),$t.push.apply(l.__h,l._sb),l._sb=[],l.__h.length&&s.push(l);break t}l.componentWillUpdate!=null&&l.componentWillUpdate(g,l.__s,C),x&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(p,_,v)})}if(l.context=C,l.props=g,l.__P=n,l.__e=!1,m=U.__r,w=0,x)l.state=l.__s,l.__d=!1,m&&m(e),h=l.render(l.props,l.state,l.context),$t.push.apply(l.__h,l._sb),l._sb=[];else do l.__d=!1,m&&m(e),h=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++w<25);l.state=l.__s,l.getChildContext!=null&&(i=X(X({},i),l.getChildContext())),x&&!d&&l.getSnapshotBeforeUpdate!=null&&(v=l.getSnapshotBeforeUpdate(p,_)),b=h!=null&&h.type===Wt&&h.key==null?vn(h.props.children):h,u=gn(n,Gt(b)?b:[b],e,r,i,a,o,s,u,c,f),l.base=e.__e,e.__u&=-161,l.__h.length&&s.push(l),y&&(l.__E=l.__=null)}catch(S){if(e.__v=null,c||o!=null)if(S.then){for(e.__u|=c?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;o[o.indexOf(u)]=null,e.__e=u}else{for(A=o.length;A--;)de(o[A]);oe(e)}else e.__e=r.__e,e.__k=r.__k,S.then||oe(e);U.__e(S,e,r)}else o==null&&e.__v==r.__v?(e.__k=r.__k,e.__e=r.__e):u=e.__e=hi(r.__e,e,r,i,a,o,s,c,f);return(h=U.diffed)&&h(e),128&e.__u?void 0:u}function oe(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(oe))}function yn(n,e,r){for(var i=0;i<r.length;i++)ge(r[i],r[++i],r[++i]);U.__c&&U.__c(e,n),n.some(function(a){try{n=a.__h,a.__h=[],n.some(function(o){o.call(a)})}catch(o){U.__e(o,a.__v)}})}function vn(n){return typeof n!="object"||n==null||n.__b>0?n:Gt(n)?n.map(vn):X({},n)}function hi(n,e,r,i,a,o,s,u,c){var f,h,l,d,p,_,v,y=r.props||Ut,g=e.props,x=e.type;if(x=="svg"?a="http://www.w3.org/2000/svg":x=="math"?a="http://www.w3.org/1998/Math/MathML":a||(a="http://www.w3.org/1999/xhtml"),o!=null){for(f=0;f<o.length;f++)if((p=o[f])&&"setAttribute"in p==!!x&&(x?p.localName==x:p.nodeType==3)){n=p,o[f]=null;break}}if(n==null){if(x==null)return document.createTextNode(g);n=document.createElementNS(a,x,g.is&&g),u&&(U.__m&&U.__m(e,o),u=!1),o=null}if(x==null)y===g||u&&n.data==g||(n.data=g);else{if(o=o&&Ot.call(n.childNodes),!u&&o!=null)for(y={},f=0;f<n.attributes.length;f++)y[(p=n.attributes[f]).name]=p.value;for(f in y)p=y[f],f=="dangerouslySetInnerHTML"?l=p:f=="children"||f in g||f=="value"&&"defaultValue"in g||f=="checked"&&"defaultChecked"in g||Tt(n,f,null,p,a);for(f in g)p=g[f],f=="children"?d=p:f=="dangerouslySetInnerHTML"?h=p:f=="value"?_=p:f=="checked"?v=p:u&&typeof p!="function"||y[f]===p||Tt(n,f,p,y[f],a);if(h)u||l&&(h.__html==l.__html||h.__html==n.innerHTML)||(n.innerHTML=h.__html),e.__k=[];else if(l&&(n.innerHTML=""),gn(e.type=="template"?n.content:n,Gt(d)?d:[d],e,r,i,x=="foreignObject"?"http://www.w3.org/1999/xhtml":a,o,s,o?o[0]:r.__k&>(r,0),u,c),o!=null)for(f=o.length;f--;)de(o[f]);u||(f="value",x=="progress"&&_==null?n.removeAttribute("value"):_!=null&&(_!==n[f]||x=="progress"&&!_||x=="option"&&_!=y[f])&&Tt(n,f,_,y[f],a),f="checked",v!=null&&v!=n[f]&&Tt(n,f,v,y[f],a))}return n}function ge(n,e,r){try{if(typeof n=="function"){var i=typeof n.__u=="function";i&&n.__u(),i&&e==null||(n.__u=n(e))}else n.current=e}catch(a){U.__e(a,r)}}function mn(n,e,r){var i,a;if(U.unmount&&U.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||ge(i,null,e)),(i=n.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(o){U.__e(o,e)}i.base=i.__P=null}if(i=n.__k)for(a=0;a<i.length;a++)i[a]&&mn(i[a],e,r||typeof n.type!="function");r||de(n.__e),n.__c=n.__=n.__e=void 0}function di(n,e,r){return this.constructor(n,r)}function pi(n,e,r){var i,a,o,s;e==document&&(e=document.documentElement),U.__&&U.__(n,e),a=(i=!1)?null:e.__k,o=[],s=[],pe(e,n=e.__k=ui(Wt,null,[n]),a||Ut,Ut,e.namespaceURI,a?null:e.firstChild?Ot.call(e.childNodes):null,o,a?a.__e:e.firstChild,i,s),yn(o,n,s)}function xn(n,e,r){var i,a,o,s,u=X({},n.props);for(o in n.type&&n.type.defaultProps&&(s=n.type.defaultProps),e)o=="key"?i=e[o]:o=="ref"?a=e[o]:u[o]=e[o]===void 0&&s!=null?s[o]:e[o];return arguments.length>2&&(u.children=arguments.length>3?Ot.call(arguments,2):r),At(n.type,u,i||n.key,a||n.ref,null)}Ot=$t.slice,U={__e:function(n,e,r,i){for(var a,o,s;e=e.__;)if((a=e.__c)&&!a.__)try{if((o=a.constructor)&&o.getDerivedStateFromError!=null&&(a.setState(o.getDerivedStateFromError(n)),s=a.__d),a.componentDidCatch!=null&&(a.componentDidCatch(n,i||{}),s=a.__d),s)return a.__E=a}catch(u){n=u}throw n}},ln=0,fn=function(n){return n!=null&&n.constructor===void 0},It.prototype.setState=function(n,e){var r;r=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=X({},this.state),typeof n=="function"&&(n=n(X({},r),this.props)),n&&X(r,n),n!=null&&this.__v&&(e&&this._sb.push(e),je(this))},It.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),je(this))},It.prototype.render=Wt,ct=[],cn=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,hn=function(n,e){return n.__v.__b-e.__v.__b},Ft.__r=0,dn=/(PointerCapture)$|Capture$/i,he=0,ie=Ne(!1),ae=Ne(!0);function Ue(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function gi(n){if(Array.isArray(n))return n}function _i(n,e,r){return(e=wi(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function yi(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,a,o,s,u=[],c=!0,f=!1;try{if(o=(r=r.call(n)).next,e!==0)for(;!(c=(i=o.call(r)).done)&&(u.push(i.value),u.length!==e);c=!0);}catch(h){f=!0,a=h}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(f)throw a}}return u}}function vi(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $e(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),r.push.apply(r,i)}return r}function mi(n){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?$e(Object(r),!0).forEach(function(i){_i(n,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):$e(Object(r)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(r,i))})}return n}function xi(n,e){return gi(n)||yi(n,e)||ki(n,e)||vi()}function bi(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function wi(n){var e=bi(n,"string");return typeof e=="symbol"?e:e+""}function Lt(n){"@babel/helpers - typeof";return Lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lt(n)}function ki(n,e){if(n){if(typeof n=="string")return Ue(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ue(n,e):void 0}}var se=function(e){if(Lt(e)!=="object")return e;var r=xn(e);if(r.props){var i;r.props=mi({},r.props),r!=null&&(i=r.props)!==null&&i!==void 0&&i.children&&(r.props.children=Array.isArray(r.props.children)?r.props.children.map(se):se(r.props.children))}return r},Ci=function(e){return fn(xn(e))},Ai=function(e,r){delete r.__k,pi(se(e),r)};function Mi(n,e){e===void 0&&(e={});var r=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",r==="top"&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=n:a.appendChild(document.createTextNode(n))}}var Si=`.float-tooltip-kap {
|
|
5
|
+
position: absolute;
|
|
6
|
+
width: max-content; /* prevent shrinking near right edge */
|
|
7
|
+
max-width: max(50%, 150px);
|
|
8
|
+
padding: 3px 5px;
|
|
9
|
+
border-radius: 3px;
|
|
10
|
+
font: 12px sans-serif;
|
|
11
|
+
color: #eee;
|
|
12
|
+
background: rgba(0,0,0,0.6);
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
}
|
|
15
|
+
`;Mi(Si);var Pi=ce({props:{content:{default:!1},offsetX:{triggerUpdate:!1},offsetY:{triggerUpdate:!1}},init:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=i.style,o=a===void 0?{}:a,s=!!e&&Lt(e)==="object"&&!!e.node&&typeof e.node=="function",u=Jt(s?e.node():e);u.style("position")==="static"&&u.style("position","relative"),r.tooltipEl=u.append("div").attr("class","float-tooltip-kap"),Object.entries(o).forEach(function(f){var h=xi(f,2),l=h[0],d=h[1];return r.tooltipEl.style(l,d)}),r.tooltipEl.style("left","-10000px").style("display","none");var c="tooltip-".concat(Math.round(Math.random()*1e12));r.mouseInside=!1,u.on("mousemove.".concat(c),function(f){r.mouseInside=!0;var h=Tn(f),l=u.node(),d=l.offsetWidth,p=l.offsetHeight,_=[r.offsetX===null||r.offsetX===void 0?"-".concat(h[0]/d*100,"%"):typeof r.offsetX=="number"?"calc(-50% + ".concat(r.offsetX,"px)"):r.offsetX,r.offsetY===null||r.offsetY===void 0?p>130&&p-h[1]<100?"calc(-100% - 6px)":"21px":typeof r.offsetY=="number"?r.offsetY<0?"calc(-100% - ".concat(Math.abs(r.offsetY),"px)"):"".concat(r.offsetY,"px"):r.offsetY];r.tooltipEl.style("left",h[0]+"px").style("top",h[1]+"px").style("transform","translate(".concat(_.join(","),")")),r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseover.".concat(c),function(){r.mouseInside=!0,r.content&&r.tooltipEl.style("display","inline")}),u.on("mouseout.".concat(c),function(){r.mouseInside=!1,r.tooltipEl.style("display","none")})},update:function(e){e.tooltipEl.style("display",e.content&&e.mouseInside?"inline":"none"),e.content?e.content instanceof HTMLElement?(e.tooltipEl.text(""),e.tooltipEl.append(function(){return e.content})):typeof e.content=="string"?e.tooltipEl.html(e.content):Ci(e.content)?(e.tooltipEl.text(""),Ai(e.content,e.tooltipEl.node())):(e.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",e.content,e.content.toString())):e.tooltipEl.text("")}});function Oi(n,e,r){var i,a=1;n==null&&(n=0),e==null&&(e=0),r==null&&(r=0);function o(){var s,u=i.length,c,f=0,h=0,l=0;for(s=0;s<u;++s)c=i[s],f+=c.x||0,h+=c.y||0,l+=c.z||0;for(f=(f/u-n)*a,h=(h/u-e)*a,l=(l/u-r)*a,s=0;s<u;++s)c=i[s],f&&(c.x-=f),h&&(c.y-=h),l&&(c.z-=l)}return o.initialize=function(s){i=s},o.x=function(s){return arguments.length?(n=+s,o):n},o.y=function(s){return arguments.length?(e=+s,o):e},o.z=function(s){return arguments.length?(r=+s,o):r},o.strength=function(s){return arguments.length?(a=+s,o):a},o}function zi(n){const e=+this._x.call(null,n);return bn(this.cover(e),e,n)}function bn(n,e,r){if(isNaN(e))return n;var i,a=n._root,o={data:r},s=n._x0,u=n._x1,c,f,h,l,d;if(!a)return n._root=o,n;for(;a.length;)if((h=e>=(c=(s+u)/2))?s=c:u=c,i=a,!(a=a[l=+h]))return i[l]=o,n;if(f=+n._x.call(null,a.data),e===f)return o.next=a,i?i[l]=o:n._root=o,n;do i=i?i[l]=new Array(2):n._root=new Array(2),(h=e>=(c=(s+u)/2))?s=c:u=c;while((l=+h)==(d=+(f>=c)));return i[d]=a,i[l]=o,n}function Ei(n){Array.isArray(n)||(n=Array.from(n));const e=n.length,r=new Float64Array(e);let i=1/0,a=-1/0;for(let o=0,s;o<e;++o)isNaN(s=+this._x.call(null,n[o]))||(r[o]=s,s<i&&(i=s),s>a&&(a=s));if(i>a)return this;this.cover(i).cover(a);for(let o=0;o<e;++o)bn(this,r[o],n[o]);return this}function Ti(n){if(isNaN(n=+n))return this;var e=this._x0,r=this._x1;if(isNaN(e))r=(e=Math.floor(n))+1;else{for(var i=r-e||1,a=this._root,o,s;e>n||n>=r;)switch(s=+(n<e),o=new Array(2),o[s]=a,a=o,i*=2,s){case 0:r=e+i;break;case 1:e=r-i;break}this._root&&this._root.length&&(this._root=a)}return this._x0=e,this._x1=r,this}function Ri(){var n=[];return this.visit(function(e){if(!e.length)do n.push(e.data);while(e=e.next)}),n}function Ii(n){return arguments.length?this.cover(+n[0][0]).cover(+n[1][0]):isNaN(this._x0)?void 0:[[this._x0],[this._x1]]}function at(n,e,r){this.node=n,this.x0=e,this.x1=r}function ji(n,e){var r,i=this._x0,a,o,s=this._x1,u=[],c=this._root,f,h;for(c&&u.push(new at(c,i,s)),e==null?e=1/0:(i=n-e,s=n+e);f=u.pop();)if(!(!(c=f.node)||(a=f.x0)>s||(o=f.x1)<i))if(c.length){var l=(a+o)/2;u.push(new at(c[1],l,o),new at(c[0],a,l)),(h=+(n>=l))&&(f=u[u.length-1],u[u.length-1]=u[u.length-1-h],u[u.length-1-h]=f)}else{var d=Math.abs(n-+this._x.call(null,c.data));d<e&&(e=d,i=n-d,s=n+d,r=c.data)}return r}function Di(n){if(isNaN(c=+this._x.call(null,n)))return this;var e,r=this._root,i,a,o,s=this._x0,u=this._x1,c,f,h,l,d;if(!r)return this;if(r.length)for(;;){if((h=c>=(f=(s+u)/2))?s=f:u=f,e=r,!(r=r[l=+h]))return this;if(!r.length)break;e[l+1&1]&&(i=e,d=l)}for(;r.data!==n;)if(a=r,!(r=r.next))return this;return(o=r.next)&&delete r.next,a?(o?a.next=o:delete a.next,this):e?(o?e[l]=o:delete e[l],(r=e[0]||e[1])&&r===(e[1]||e[0])&&!r.length&&(i?i[d]=r:this._root=r),this):(this._root=o,this)}function Ni(n){for(var e=0,r=n.length;e<r;++e)this.remove(n[e]);return this}function Ui(){return this._root}function $i(){var n=0;return this.visit(function(e){if(!e.length)do++n;while(e=e.next)}),n}function Fi(n){var e=[],r,i=this._root,a,o,s;for(i&&e.push(new at(i,this._x0,this._x1));r=e.pop();)if(!n(i=r.node,o=r.x0,s=r.x1)&&i.length){var u=(o+s)/2;(a=i[1])&&e.push(new at(a,u,s)),(a=i[0])&&e.push(new at(a,o,u))}return this}function Li(n){var e=[],r=[],i;for(this._root&&e.push(new at(this._root,this._x0,this._x1));i=e.pop();){var a=i.node;if(a.length){var o,s=i.x0,u=i.x1,c=(s+u)/2;(o=a[0])&&e.push(new at(o,s,c)),(o=a[1])&&e.push(new at(o,c,u))}r.push(i)}for(;i=r.pop();)n(i.node,i.x0,i.x1);return this}function Hi(n){return n[0]}function qi(n){return arguments.length?(this._x=n,this):this._x}function wn(n,e){var r=new _e(e??Hi,NaN,NaN);return n==null?r:r.addAll(n)}function _e(n,e,r){this._x=n,this._x0=e,this._x1=r,this._root=void 0}function Fe(n){for(var e={data:n.data},r=e;n=n.next;)r=r.next={data:n.data};return e}var H=wn.prototype=_e.prototype;H.copy=function(){var n=new _e(this._x,this._x0,this._x1),e=this._root,r,i;if(!e)return n;if(!e.length)return n._root=Fe(e),n;for(r=[{source:e,target:n._root=new Array(2)}];e=r.pop();)for(var a=0;a<2;++a)(i=e.source[a])&&(i.length?r.push({source:i,target:e.target[a]=new Array(2)}):e.target[a]=Fe(i));return n};H.add=zi;H.addAll=Ei;H.cover=Ti;H.data=Ri;H.extent=Ii;H.find=ji;H.remove=Di;H.removeAll=Ni;H.root=Ui;H.size=$i;H.visit=Fi;H.visitAfter=Li;H.x=qi;function Gi(n){const e=+this._x.call(null,n),r=+this._y.call(null,n),i=+this._z.call(null,n);return kn(this.cover(e,r,i),e,r,i,n)}function kn(n,e,r,i,a){if(isNaN(e)||isNaN(r)||isNaN(i))return n;var o,s=n._root,u={data:a},c=n._x0,f=n._y0,h=n._z0,l=n._x1,d=n._y1,p=n._z1,_,v,y,g,x,k,C,m,w,b,A;if(!s)return n._root=u,n;for(;s.length;)if((C=e>=(_=(c+l)/2))?c=_:l=_,(m=r>=(v=(f+d)/2))?f=v:d=v,(w=i>=(y=(h+p)/2))?h=y:p=y,o=s,!(s=s[b=w<<2|m<<1|C]))return o[b]=u,n;if(g=+n._x.call(null,s.data),x=+n._y.call(null,s.data),k=+n._z.call(null,s.data),e===g&&r===x&&i===k)return u.next=s,o?o[b]=u:n._root=u,n;do o=o?o[b]=new Array(8):n._root=new Array(8),(C=e>=(_=(c+l)/2))?c=_:l=_,(m=r>=(v=(f+d)/2))?f=v:d=v,(w=i>=(y=(h+p)/2))?h=y:p=y;while((b=w<<2|m<<1|C)===(A=(k>=y)<<2|(x>=v)<<1|g>=_));return o[A]=s,o[b]=u,n}function Wi(n){Array.isArray(n)||(n=Array.from(n));const e=n.length,r=new Float64Array(e),i=new Float64Array(e),a=new Float64Array(e);let o=1/0,s=1/0,u=1/0,c=-1/0,f=-1/0,h=-1/0;for(let l=0,d,p,_,v;l<e;++l)isNaN(p=+this._x.call(null,d=n[l]))||isNaN(_=+this._y.call(null,d))||isNaN(v=+this._z.call(null,d))||(r[l]=p,i[l]=_,a[l]=v,p<o&&(o=p),p>c&&(c=p),_<s&&(s=_),_>f&&(f=_),v<u&&(u=v),v>h&&(h=v));if(o>c||s>f||u>h)return this;this.cover(o,s,u).cover(c,f,h);for(let l=0;l<e;++l)kn(this,r[l],i[l],a[l],n[l]);return this}function Vi(n,e,r){if(isNaN(n=+n)||isNaN(e=+e)||isNaN(r=+r))return this;var i=this._x0,a=this._y0,o=this._z0,s=this._x1,u=this._y1,c=this._z1;if(isNaN(i))s=(i=Math.floor(n))+1,u=(a=Math.floor(e))+1,c=(o=Math.floor(r))+1;else{for(var f=s-i||1,h=this._root,l,d;i>n||n>=s||a>e||e>=u||o>r||r>=c;)switch(d=(r<o)<<2|(e<a)<<1|n<i,l=new Array(8),l[d]=h,h=l,f*=2,d){case 0:s=i+f,u=a+f,c=o+f;break;case 1:i=s-f,u=a+f,c=o+f;break;case 2:s=i+f,a=u-f,c=o+f;break;case 3:i=s-f,a=u-f,c=o+f;break;case 4:s=i+f,u=a+f,o=c-f;break;case 5:i=s-f,u=a+f,o=c-f;break;case 6:s=i+f,a=u-f,o=c-f;break;case 7:i=s-f,a=u-f,o=c-f;break}this._root&&this._root.length&&(this._root=h)}return this._x0=i,this._y0=a,this._z0=o,this._x1=s,this._y1=u,this._z1=c,this}function Bi(){var n=[];return this.visit(function(e){if(!e.length)do n.push(e.data);while(e=e.next)}),n}function Zi(n){return arguments.length?this.cover(+n[0][0],+n[0][1],+n[0][2]).cover(+n[1][0],+n[1][1],+n[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]}function I(n,e,r,i,a,o,s){this.node=n,this.x0=e,this.y0=r,this.z0=i,this.x1=a,this.y1=o,this.z1=s}function Xi(n,e,r,i){var a,o=this._x0,s=this._y0,u=this._z0,c,f,h,l,d,p,_=this._x1,v=this._y1,y=this._z1,g=[],x=this._root,k,C;for(x&&g.push(new I(x,o,s,u,_,v,y)),i==null?i=1/0:(o=n-i,s=e-i,u=r-i,_=n+i,v=e+i,y=r+i,i*=i);k=g.pop();)if(!(!(x=k.node)||(c=k.x0)>_||(f=k.y0)>v||(h=k.z0)>y||(l=k.x1)<o||(d=k.y1)<s||(p=k.z1)<u))if(x.length){var m=(c+l)/2,w=(f+d)/2,b=(h+p)/2;g.push(new I(x[7],m,w,b,l,d,p),new I(x[6],c,w,b,m,d,p),new I(x[5],m,f,b,l,w,p),new I(x[4],c,f,b,m,w,p),new I(x[3],m,w,h,l,d,b),new I(x[2],c,w,h,m,d,b),new I(x[1],m,f,h,l,w,b),new I(x[0],c,f,h,m,w,b)),(C=(r>=b)<<2|(e>=w)<<1|n>=m)&&(k=g[g.length-1],g[g.length-1]=g[g.length-1-C],g[g.length-1-C]=k)}else{var A=n-+this._x.call(null,x.data),P=e-+this._y.call(null,x.data),S=r-+this._z.call(null,x.data),E=A*A+P*P+S*S;if(E<i){var O=Math.sqrt(i=E);o=n-O,s=e-O,u=r-O,_=n+O,v=e+O,y=r+O,a=x.data}}return a}const Yi=(n,e,r,i,a,o)=>Math.sqrt((n-i)**2+(e-a)**2+(r-o)**2);function Ki(n,e,r,i){const a=[],o=n-i,s=e-i,u=r-i,c=n+i,f=e+i,h=r+i;return this.visit((l,d,p,_,v,y,g)=>{if(!l.length)do{const x=l.data;Yi(n,e,r,this._x(x),this._y(x),this._z(x))<=i&&a.push(x)}while(l=l.next);return d>c||p>f||_>h||v<o||y<s||g<u}),a}function Qi(n){if(isNaN(d=+this._x.call(null,n))||isNaN(p=+this._y.call(null,n))||isNaN(_=+this._z.call(null,n)))return this;var e,r=this._root,i,a,o,s=this._x0,u=this._y0,c=this._z0,f=this._x1,h=this._y1,l=this._z1,d,p,_,v,y,g,x,k,C,m,w;if(!r)return this;if(r.length)for(;;){if((x=d>=(v=(s+f)/2))?s=v:f=v,(k=p>=(y=(u+h)/2))?u=y:h=y,(C=_>=(g=(c+l)/2))?c=g:l=g,e=r,!(r=r[m=C<<2|k<<1|x]))return this;if(!r.length)break;(e[m+1&7]||e[m+2&7]||e[m+3&7]||e[m+4&7]||e[m+5&7]||e[m+6&7]||e[m+7&7])&&(i=e,w=m)}for(;r.data!==n;)if(a=r,!(r=r.next))return this;return(o=r.next)&&delete r.next,a?(o?a.next=o:delete a.next,this):e?(o?e[m]=o:delete e[m],(r=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&r===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!r.length&&(i?i[w]=r:this._root=r),this):(this._root=o,this)}function Ji(n){for(var e=0,r=n.length;e<r;++e)this.remove(n[e]);return this}function ta(){return this._root}function ea(){var n=0;return this.visit(function(e){if(!e.length)do++n;while(e=e.next)}),n}function na(n){var e=[],r,i=this._root,a,o,s,u,c,f,h;for(i&&e.push(new I(i,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));r=e.pop();)if(!n(i=r.node,o=r.x0,s=r.y0,u=r.z0,c=r.x1,f=r.y1,h=r.z1)&&i.length){var l=(o+c)/2,d=(s+f)/2,p=(u+h)/2;(a=i[7])&&e.push(new I(a,l,d,p,c,f,h)),(a=i[6])&&e.push(new I(a,o,d,p,l,f,h)),(a=i[5])&&e.push(new I(a,l,s,p,c,d,h)),(a=i[4])&&e.push(new I(a,o,s,p,l,d,h)),(a=i[3])&&e.push(new I(a,l,d,u,c,f,p)),(a=i[2])&&e.push(new I(a,o,d,u,l,f,p)),(a=i[1])&&e.push(new I(a,l,s,u,c,d,p)),(a=i[0])&&e.push(new I(a,o,s,u,l,d,p))}return this}function ra(n){var e=[],r=[],i;for(this._root&&e.push(new I(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));i=e.pop();){var a=i.node;if(a.length){var o,s=i.x0,u=i.y0,c=i.z0,f=i.x1,h=i.y1,l=i.z1,d=(s+f)/2,p=(u+h)/2,_=(c+l)/2;(o=a[0])&&e.push(new I(o,s,u,c,d,p,_)),(o=a[1])&&e.push(new I(o,d,u,c,f,p,_)),(o=a[2])&&e.push(new I(o,s,p,c,d,h,_)),(o=a[3])&&e.push(new I(o,d,p,c,f,h,_)),(o=a[4])&&e.push(new I(o,s,u,_,d,p,l)),(o=a[5])&&e.push(new I(o,d,u,_,f,p,l)),(o=a[6])&&e.push(new I(o,s,p,_,d,h,l)),(o=a[7])&&e.push(new I(o,d,p,_,f,h,l))}r.push(i)}for(;i=r.pop();)n(i.node,i.x0,i.y0,i.z0,i.x1,i.y1,i.z1);return this}function ia(n){return n[0]}function aa(n){return arguments.length?(this._x=n,this):this._x}function oa(n){return n[1]}function sa(n){return arguments.length?(this._y=n,this):this._y}function ua(n){return n[2]}function la(n){return arguments.length?(this._z=n,this):this._z}function Cn(n,e,r,i){var a=new ye(e??ia,r??oa,i??ua,NaN,NaN,NaN,NaN,NaN,NaN);return n==null?a:a.addAll(n)}function ye(n,e,r,i,a,o,s,u,c){this._x=n,this._y=e,this._z=r,this._x0=i,this._y0=a,this._z0=o,this._x1=s,this._y1=u,this._z1=c,this._root=void 0}function Le(n){for(var e={data:n.data},r=e;n=n.next;)r=r.next={data:n.data};return e}var F=Cn.prototype=ye.prototype;F.copy=function(){var n=new ye(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),e=this._root,r,i;if(!e)return n;if(!e.length)return n._root=Le(e),n;for(r=[{source:e,target:n._root=new Array(8)}];e=r.pop();)for(var a=0;a<8;++a)(i=e.source[a])&&(i.length?r.push({source:i,target:e.target[a]=new Array(8)}):e.target[a]=Le(i));return n};F.add=Gi;F.addAll=Wi;F.cover=Vi;F.data=Bi;F.extent=Zi;F.find=Xi;F.findAllWithinRadius=Ki;F.remove=Qi;F.removeAll=Ji;F.root=ta;F.size=ea;F.visit=na;F.visitAfter=ra;F.x=aa;F.y=sa;F.z=la;function it(n){return function(){return n}}function rt(n){return(n()-.5)*1e-6}function fa(n){return n.index}function He(n,e){var r=n.get(e);if(!r)throw new Error("node not found: "+e);return r}function ca(n){var e=fa,r=d,i,a=it(30),o,s,u,c,f,h,l=1;n==null&&(n=[]);function d(g){return 1/Math.min(c[g.source.index],c[g.target.index])}function p(g){for(var x=0,k=n.length;x<l;++x)for(var C=0,m,w,b,A=0,P=0,S=0,E,O;C<k;++C)m=n[C],w=m.source,b=m.target,A=b.x+b.vx-w.x-w.vx||rt(h),u>1&&(P=b.y+b.vy-w.y-w.vy||rt(h)),u>2&&(S=b.z+b.vz-w.z-w.vz||rt(h)),E=Math.sqrt(A*A+P*P+S*S),E=(E-o[C])/E*g*i[C],A*=E,P*=E,S*=E,b.vx-=A*(O=f[C]),u>1&&(b.vy-=P*O),u>2&&(b.vz-=S*O),w.vx+=A*(O=1-O),u>1&&(w.vy+=P*O),u>2&&(w.vz+=S*O)}function _(){if(s){var g,x=s.length,k=n.length,C=new Map(s.map((w,b)=>[e(w,b,s),w])),m;for(g=0,c=new Array(x);g<k;++g)m=n[g],m.index=g,typeof m.source!="object"&&(m.source=He(C,m.source)),typeof m.target!="object"&&(m.target=He(C,m.target)),c[m.source.index]=(c[m.source.index]||0)+1,c[m.target.index]=(c[m.target.index]||0)+1;for(g=0,f=new Array(k);g<k;++g)m=n[g],f[g]=c[m.source.index]/(c[m.source.index]+c[m.target.index]);i=new Array(k),v(),o=new Array(k),y()}}function v(){if(s)for(var g=0,x=n.length;g<x;++g)i[g]=+r(n[g],g,n)}function y(){if(s)for(var g=0,x=n.length;g<x;++g)o[g]=+a(n[g],g,n)}return p.initialize=function(g,...x){s=g,h=x.find(k=>typeof k=="function")||Math.random,u=x.find(k=>[1,2,3].includes(k))||2,_()},p.links=function(g){return arguments.length?(n=g,_(),p):n},p.id=function(g){return arguments.length?(e=g,p):e},p.iterations=function(g){return arguments.length?(l=+g,p):l},p.strength=function(g){return arguments.length?(r=typeof g=="function"?g:it(+g),v(),p):r},p.distance=function(g){return arguments.length?(a=typeof g=="function"?g:it(+g),y(),p):a},p}const ha=1664525,da=1013904223,qe=4294967296;function pa(){let n=1;return()=>(n=(ha*n+da)%qe)/qe}var Ge=3;function Xt(n){return n.x}function We(n){return n.y}function ga(n){return n.z}var _a=10,ya=Math.PI*(3-Math.sqrt(5)),va=Math.PI*20/(9+Math.sqrt(221));function ma(n,e){e=e||2;var r=Math.min(Ge,Math.max(1,Math.round(e))),i,a=1,o=.001,s=1-Math.pow(o,1/300),u=0,c=.6,f=new Map,h=Rn(p),l=In("tick","end"),d=pa();n==null&&(n=[]);function p(){_(),l.call("tick",i),a<o&&(h.stop(),l.call("end",i))}function _(g){var x,k=n.length,C;g===void 0&&(g=1);for(var m=0;m<g;++m)for(a+=(u-a)*s,f.forEach(function(w){w(a)}),x=0;x<k;++x)C=n[x],C.fx==null?C.x+=C.vx*=c:(C.x=C.fx,C.vx=0),r>1&&(C.fy==null?C.y+=C.vy*=c:(C.y=C.fy,C.vy=0)),r>2&&(C.fz==null?C.z+=C.vz*=c:(C.z=C.fz,C.vz=0));return i}function v(){for(var g=0,x=n.length,k;g<x;++g){if(k=n[g],k.index=g,k.fx!=null&&(k.x=k.fx),k.fy!=null&&(k.y=k.fy),k.fz!=null&&(k.z=k.fz),isNaN(k.x)||r>1&&isNaN(k.y)||r>2&&isNaN(k.z)){var C=_a*(r>2?Math.cbrt(.5+g):r>1?Math.sqrt(.5+g):g),m=g*ya,w=g*va;r===1?k.x=C:r===2?(k.x=C*Math.cos(m),k.y=C*Math.sin(m)):(k.x=C*Math.sin(m)*Math.cos(w),k.y=C*Math.cos(m),k.z=C*Math.sin(m)*Math.sin(w))}(isNaN(k.vx)||r>1&&isNaN(k.vy)||r>2&&isNaN(k.vz))&&(k.vx=0,r>1&&(k.vy=0),r>2&&(k.vz=0))}}function y(g){return g.initialize&&g.initialize(n,d,r),g}return v(),i={tick:_,restart:function(){return h.restart(p),i},stop:function(){return h.stop(),i},numDimensions:function(g){return arguments.length?(r=Math.min(Ge,Math.max(1,Math.round(g))),f.forEach(y),i):r},nodes:function(g){return arguments.length?(n=g,v(),f.forEach(y),i):n},alpha:function(g){return arguments.length?(a=+g,i):a},alphaMin:function(g){return arguments.length?(o=+g,i):o},alphaDecay:function(g){return arguments.length?(s=+g,i):+s},alphaTarget:function(g){return arguments.length?(u=+g,i):u},velocityDecay:function(g){return arguments.length?(c=1-g,i):1-c},randomSource:function(g){return arguments.length?(d=g,f.forEach(y),i):d},force:function(g,x){return arguments.length>1?(x==null?f.delete(g):f.set(g,y(x)),i):f.get(g)},find:function(){var g=Array.prototype.slice.call(arguments),x=g.shift()||0,k=(r>1?g.shift():null)||0,C=(r>2?g.shift():null)||0,m=g.shift()||1/0,w=0,b=n.length,A,P,S,E,O,T;for(m*=m,w=0;w<b;++w)O=n[w],A=x-O.x,P=k-(O.y||0),S=C-(O.z||0),E=A*A+P*P+S*S,E<m&&(T=O,m=E);return T},on:function(g,x){return arguments.length>1?(l.on(g,x),i):l.on(g)}}}function xa(){var n,e,r,i,a,o=it(-30),s,u=1,c=1/0,f=.81;function h(_){var v,y=n.length,g=(e===1?wn(n,Xt):e===2?jn(n,Xt,We):e===3?Cn(n,Xt,We,ga):null).visitAfter(d);for(a=_,v=0;v<y;++v)r=n[v],g.visit(p)}function l(){if(n){var _,v=n.length,y;for(s=new Array(v),_=0;_<v;++_)y=n[_],s[y.index]=+o(y,_,n)}}function d(_){var v=0,y,g,x=0,k,C,m,w,b=_.length;if(b){for(k=C=m=w=0;w<b;++w)(y=_[w])&&(g=Math.abs(y.value))&&(v+=y.value,x+=g,k+=g*(y.x||0),C+=g*(y.y||0),m+=g*(y.z||0));v*=Math.sqrt(4/b),_.x=k/x,e>1&&(_.y=C/x),e>2&&(_.z=m/x)}else{y=_,y.x=y.data.x,e>1&&(y.y=y.data.y),e>2&&(y.z=y.data.z);do v+=s[y.data.index];while(y=y.next)}_.value=v}function p(_,v,y,g,x){if(!_.value)return!0;var k=[y,g,x][e-1],C=_.x-r.x,m=e>1?_.y-r.y:0,w=e>2?_.z-r.z:0,b=k-v,A=C*C+m*m+w*w;if(b*b/f<A)return A<c&&(C===0&&(C=rt(i),A+=C*C),e>1&&m===0&&(m=rt(i),A+=m*m),e>2&&w===0&&(w=rt(i),A+=w*w),A<u&&(A=Math.sqrt(u*A)),r.vx+=C*_.value*a/A,e>1&&(r.vy+=m*_.value*a/A),e>2&&(r.vz+=w*_.value*a/A)),!0;if(_.length||A>=c)return;(_.data!==r||_.next)&&(C===0&&(C=rt(i),A+=C*C),e>1&&m===0&&(m=rt(i),A+=m*m),e>2&&w===0&&(w=rt(i),A+=w*w),A<u&&(A=Math.sqrt(u*A)));do _.data!==r&&(b=s[_.data.index]*a/A,r.vx+=C*b,e>1&&(r.vy+=m*b),e>2&&(r.vz+=w*b));while(_=_.next)}return h.initialize=function(_,...v){n=_,i=v.find(y=>typeof y=="function")||Math.random,e=v.find(y=>[1,2,3].includes(y))||2,l()},h.strength=function(_){return arguments.length?(o=typeof _=="function"?_:it(+_),l(),h):o},h.distanceMin=function(_){return arguments.length?(u=_*_,h):Math.sqrt(u)},h.distanceMax=function(_){return arguments.length?(c=_*_,h):Math.sqrt(c)},h.theta=function(_){return arguments.length?(f=_*_,h):Math.sqrt(f)},h}function ba(n,e,r,i){var a,o,s=it(.1),u,c;typeof n!="function"&&(n=it(+n)),e==null&&(e=0),r==null&&(r=0),i==null&&(i=0);function f(l){for(var d=0,p=a.length;d<p;++d){var _=a[d],v=_.x-e||1e-6,y=(_.y||0)-r||1e-6,g=(_.z||0)-i||1e-6,x=Math.sqrt(v*v+y*y+g*g),k=(c[d]-x)*u[d]*l/x;_.vx+=v*k,o>1&&(_.vy+=y*k),o>2&&(_.vz+=g*k)}}function h(){if(a){var l,d=a.length;for(u=new Array(d),c=new Array(d),l=0;l<d;++l)c[l]=+n(a[l],l,a),u[l]=isNaN(c[l])?0:+s(a[l],l,a)}}return f.initialize=function(l,...d){a=l,o=d.find(p=>[1,2,3].includes(p))||2,h()},f.strength=function(l){return arguments.length?(s=typeof l=="function"?l:it(+l),h(),f):s},f.radius=function(l){return arguments.length?(n=typeof l=="function"?l:it(+l),h(),f):n},f.x=function(l){return arguments.length?(e=+l,f):e},f.y=function(l){return arguments.length?(r=+l,f):r},f.z=function(l){return arguments.length?(i=+l,f):i},f}const{abs:vt,cos:et,sin:dt,acos:wa,atan2:mt,sqrt:st,pow:W}=Math;function xt(n){return n<0?-W(-n,1/3):W(n,1/3)}const An=Math.PI,Rt=2*An,ut=An/2,ka=1e-6,Yt=Number.MAX_SAFE_INTEGER||9007199254740991,Kt=Number.MIN_SAFE_INTEGER||-9007199254740991,Ca={x:0,y:0,z:0},M={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(n,e){const r=e(n);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),st(i)},compute:function(n,e,r){if(n===0)return e[0].t=0,e[0];const i=e.length-1;if(n===1)return e[i].t=1,e[i];const a=1-n;let o=e;if(i===0)return e[0].t=n,e[0];if(i===1){const u={x:a*o[0].x+n*o[1].x,y:a*o[0].y+n*o[1].y,t:n};return r&&(u.z=a*o[0].z+n*o[1].z),u}if(i<4){let u=a*a,c=n*n,f,h,l,d=0;i===2?(o=[o[0],o[1],o[2],Ca],f=u,h=a*n*2,l=c):i===3&&(f=u*a,h=u*n*3,l=a*c*3,d=n*c);const p={x:f*o[0].x+h*o[1].x+l*o[2].x+d*o[3].x,y:f*o[0].y+h*o[1].y+l*o[2].y+d*o[3].y,t:n};return r&&(p.z=f*o[0].z+h*o[1].z+l*o[2].z+d*o[3].z),p}const s=JSON.parse(JSON.stringify(e));for(;s.length>1;){for(let u=0;u<s.length-1;u++)s[u]={x:s[u].x+(s[u+1].x-s[u].x)*n,y:s[u].y+(s[u+1].y-s[u].y)*n},typeof s[u].z<"u"&&(s[u].z=s[u].z+(s[u+1].z-s[u].z)*n);s.splice(s.length-1,1)}return s[0].t=n,s[0]},computeWithRatios:function(n,e,r,i){const a=1-n,o=r,s=e;let u=o[0],c=o[1],f=o[2],h=o[3],l;if(u*=a,c*=n,s.length===2)return l=u+c,{x:(u*s[0].x+c*s[1].x)/l,y:(u*s[0].y+c*s[1].y)/l,z:i?(u*s[0].z+c*s[1].z)/l:!1,t:n};if(u*=a,c*=2*a,f*=n*n,s.length===3)return l=u+c+f,{x:(u*s[0].x+c*s[1].x+f*s[2].x)/l,y:(u*s[0].y+c*s[1].y+f*s[2].y)/l,z:i?(u*s[0].z+c*s[1].z+f*s[2].z)/l:!1,t:n};if(u*=a,c*=1.5*a,f*=3*a,h*=n*n*n,s.length===4)return l=u+c+f+h,{x:(u*s[0].x+c*s[1].x+f*s[2].x+h*s[3].x)/l,y:(u*s[0].y+c*s[1].y+f*s[2].y+h*s[3].y)/l,z:i?(u*s[0].z+c*s[1].z+f*s[2].z+h*s[3].z)/l:!1,t:n}},derive:function(n,e){const r=[];for(let i=n,a=i.length,o=a-1;a>1;a--,o--){const s=[];for(let u=0,c;u<o;u++)c={x:o*(i[u+1].x-i[u].x),y:o*(i[u+1].y-i[u].y)},e&&(c.z=o*(i[u+1].z-i[u].z)),s.push(c);r.push(s),i=s}return r},between:function(n,e,r){return e<=n&&n<=r||M.approximately(n,e)||M.approximately(n,r)},approximately:function(n,e,r){return vt(n-e)<=(r||ka)},length:function(n){const r=M.Tvalues.length;let i=0;for(let a=0,o;a<r;a++)o=.5*M.Tvalues[a]+.5,i+=M.Cvalues[a]*M.arcfn(o,n);return .5*i},map:function(n,e,r,i,a){const o=r-e,s=a-i,u=n-e,c=u/o;return i+s*c},lerp:function(n,e,r){const i={x:e.x+n*(r.x-e.x),y:e.y+n*(r.y-e.y)};return e.z!==void 0&&r.z!==void 0&&(i.z=e.z+n*(r.z-e.z)),i},pointToString:function(n){let e=n.x+"/"+n.y;return typeof n.z<"u"&&(e+="/"+n.z),e},pointsToString:function(n){return"["+n.map(M.pointToString).join(", ")+"]"},copy:function(n){return JSON.parse(JSON.stringify(n))},angle:function(n,e,r){const i=e.x-n.x,a=e.y-n.y,o=r.x-n.x,s=r.y-n.y,u=i*s-a*o,c=i*o+a*s;return mt(u,c)},round:function(n,e){const r=""+n,i=r.indexOf(".");return parseFloat(r.substring(0,i+1+e))},dist:function(n,e){const r=n.x-e.x,i=n.y-e.y;return st(r*r+i*i)},closest:function(n,e){let r=W(2,63),i,a;return n.forEach(function(o,s){a=M.dist(e,o),a<r&&(r=a,i=s)}),{mdist:r,mpos:i}},abcratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=W(n,e)+W(1-n,e),i=r-1;return vt(i/r)},projectionratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=W(1-n,e),i=W(n,e)+r;return r/i},lli8:function(n,e,r,i,a,o,s,u){const c=(n*i-e*r)*(a-s)-(n-r)*(a*u-o*s),f=(n*i-e*r)*(o-u)-(e-i)*(a*u-o*s),h=(n-r)*(o-u)-(e-i)*(a-s);return h==0?!1:{x:c/h,y:f/h}},lli4:function(n,e,r,i){const a=n.x,o=n.y,s=e.x,u=e.y,c=r.x,f=r.y,h=i.x,l=i.y;return M.lli8(a,o,s,u,c,f,h,l)},lli:function(n,e){return M.lli4(n,n.c,e,e.c)},makeline:function(n,e){return new D(n.x,n.y,(n.x+e.x)/2,(n.y+e.y)/2,e.x,e.y)},findbbox:function(n){let e=Yt,r=Yt,i=Kt,a=Kt;return n.forEach(function(o){const s=o.bbox();e>s.x.min&&(e=s.x.min),r>s.y.min&&(r=s.y.min),i<s.x.max&&(i=s.x.max),a<s.y.max&&(a=s.y.max)}),{x:{min:e,mid:(e+i)/2,max:i,size:i-e},y:{min:r,mid:(r+a)/2,max:a,size:a-r}}},shapeintersections:function(n,e,r,i,a){if(!M.bboxoverlap(e,i))return[];const o=[],s=[n.startcap,n.forward,n.back,n.endcap],u=[r.startcap,r.forward,r.back,r.endcap];return s.forEach(function(c){c.virtual||u.forEach(function(f){if(f.virtual)return;const h=c.intersects(f,a);h.length>0&&(h.c1=c,h.c2=f,h.s1=n,h.s2=r,o.push(h))})}),o},makeshape:function(n,e,r){const i=e.points.length,a=n.points.length,o=M.makeline(e.points[i-1],n.points[0]),s=M.makeline(n.points[a-1],e.points[0]),u={startcap:o,forward:n,back:e,endcap:s,bbox:M.findbbox([o,n,e,s])};return u.intersections=function(c){return M.shapeintersections(u,u.bbox,c,c.bbox,r)},u},getminmax:function(n,e,r){if(!r)return{min:0,max:0};let i=Yt,a=Kt,o,s;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let u=0,c=r.length;u<c;u++)o=r[u],s=n.get(o),s[e]<i&&(i=s[e]),s[e]>a&&(a=s[e]);return{min:i,mid:(i+a)/2,max:a,size:a-i}},align:function(n,e){const r=e.p1.x,i=e.p1.y,a=-mt(e.p2.y-i,e.p2.x-r),o=function(s){return{x:(s.x-r)*et(a)-(s.y-i)*dt(a),y:(s.x-r)*dt(a)+(s.y-i)*et(a)}};return n.map(o)},roots:function(n,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=n.length-1,i=M.align(n,e),a=function(b){return 0<=b&&b<=1};if(r===2){const b=i[0].y,A=i[1].y,P=i[2].y,S=b-2*A+P;if(S!==0){const E=-st(A*A-b*P),O=-b+A,T=-(E+O)/S,j=-(-E+O)/S;return[T,j].filter(a)}else if(A!==P&&S===0)return[(2*A-P)/(2*A-2*P)].filter(a);return[]}const o=i[0].y,s=i[1].y,u=i[2].y,c=i[3].y;let f=-o+3*s-3*u+c,h=3*o-6*s+3*u,l=-3*o+3*s,d=o;if(M.approximately(f,0)){if(M.approximately(h,0))return M.approximately(l,0)?[]:[-d/l].filter(a);const b=st(l*l-4*h*d),A=2*h;return[(b-l)/A,(-l-b)/A].filter(a)}h/=f,l/=f,d/=f;const p=(3*l-h*h)/3,_=p/3,v=(2*h*h*h-9*h*l+27*d)/27,y=v/2,g=y*y+_*_*_;let x,k,C,m,w;if(g<0){const b=-p/3,A=b*b*b,P=st(A),S=-v/(2*P),E=S<-1?-1:S>1?1:S,O=wa(E),T=xt(P),j=2*T;return C=j*et(O/3)-h/3,m=j*et((O+Rt)/3)-h/3,w=j*et((O+2*Rt)/3)-h/3,[C,m,w].filter(a)}else{if(g===0)return x=y<0?xt(-y):-xt(y),C=2*x-h/3,m=-x-h/3,[C,m].filter(a);{const b=st(g);return x=xt(-y+b),k=xt(y+b),[x-k-h/3].filter(a)}}},droots:function(n){if(n.length===3){const e=n[0],r=n[1],i=n[2],a=e-2*r+i;if(a!==0){const o=-st(r*r-e*i),s=-e+r,u=-(o+s)/a,c=-(-o+s)/a;return[u,c]}else if(r!==i&&a===0)return[(2*r-i)/(2*(r-i))];return[]}if(n.length===2){const e=n[0],r=n[1];return e!==r?[e/(e-r)]:[]}return[]},curvature:function(n,e,r,i,a){let o,s,u,c,f=0,h=0;const l=M.compute(n,e),d=M.compute(n,r),p=l.x*l.x+l.y*l.y;if(i?(o=st(W(l.y*d.z-d.y*l.z,2)+W(l.z*d.x-d.z*l.x,2)+W(l.x*d.y-d.x*l.y,2)),s=W(p+l.z*l.z,3/2)):(o=l.x*d.y-l.y*d.x,s=W(p,3/2)),o===0||s===0)return{k:0,r:0};if(f=o/s,h=s/o,!a){const _=M.curvature(n-.001,e,r,i,!0).k,v=M.curvature(n+.001,e,r,i,!0).k;c=(v-f+(f-_))/2,u=(vt(v-f)+vt(f-_))/2}return{k:f,r:h,dk:c,adk:u}},inflections:function(n){if(n.length<4)return[];const e=M.align(n,{p1:n[0],p2:n.slice(-1)[0]}),r=e[2].x*e[1].y,i=e[3].x*e[1].y,a=e[1].x*e[2].y,o=e[3].x*e[2].y,s=18*(-3*r+2*i+3*a-o),u=18*(3*r-i-3*a),c=18*(a-r);if(M.approximately(s,0)){if(!M.approximately(u,0)){let d=-c/u;if(0<=d&&d<=1)return[d]}return[]}const f=2*s;if(M.approximately(f,0))return[];const h=u*u-4*s*c;if(h<0)return[];const l=Math.sqrt(h);return[(l-u)/f,-(u+l)/f].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(n,e){const r=["x","y"],i=r.length;for(let a=0,o,s,u,c;a<i;a++)if(o=r[a],s=n[o].mid,u=e[o].mid,c=(n[o].size+e[o].size)/2,vt(s-u)>=c)return!1;return!0},expandbox:function(n,e){e.x.min<n.x.min&&(n.x.min=e.x.min),e.y.min<n.y.min&&(n.y.min=e.y.min),e.z&&e.z.min<n.z.min&&(n.z.min=e.z.min),e.x.max>n.x.max&&(n.x.max=e.x.max),e.y.max>n.y.max&&(n.y.max=e.y.max),e.z&&e.z.max>n.z.max&&(n.z.max=e.z.max),n.x.mid=(n.x.min+n.x.max)/2,n.y.mid=(n.y.min+n.y.max)/2,n.z&&(n.z.mid=(n.z.min+n.z.max)/2),n.x.size=n.x.max-n.x.min,n.y.size=n.y.max-n.y.min,n.z&&(n.z.size=n.z.max-n.z.min)},pairiteration:function(n,e,r){const i=n.bbox(),a=e.bbox(),o=1e5,s=r||.5;if(i.x.size+i.y.size<s&&a.x.size+a.y.size<s)return[(o*(n._t1+n._t2)/2|0)/o+"/"+(o*(e._t1+e._t2)/2|0)/o];let u=n.split(.5),c=e.split(.5),f=[{left:u.left,right:c.left},{left:u.left,right:c.right},{left:u.right,right:c.right},{left:u.right,right:c.left}];f=f.filter(function(l){return M.bboxoverlap(l.left.bbox(),l.right.bbox())});let h=[];return f.length===0||(f.forEach(function(l){h=h.concat(M.pairiteration(l.left,l.right,s))}),h=h.filter(function(l,d){return h.indexOf(l)===d})),h},getccenter:function(n,e,r){const i=e.x-n.x,a=e.y-n.y,o=r.x-e.x,s=r.y-e.y,u=i*et(ut)-a*dt(ut),c=i*dt(ut)+a*et(ut),f=o*et(ut)-s*dt(ut),h=o*dt(ut)+s*et(ut),l=(n.x+e.x)/2,d=(n.y+e.y)/2,p=(e.x+r.x)/2,_=(e.y+r.y)/2,v=l+u,y=d+c,g=p+f,x=_+h,k=M.lli8(l,d,v,y,p,_,g,x),C=M.dist(k,n);let m=mt(n.y-k.y,n.x-k.x),w=mt(e.y-k.y,e.x-k.x),b=mt(r.y-k.y,r.x-k.x),A;return m<b?((m>w||w>b)&&(m+=Rt),m>b&&(A=b,b=m,m=A)):b<w&&w<m?(A=b,b=m,m=A):b+=Rt,k.s=m,k.e=b,k.r=C,k},numberSort:function(n,e){return n-e}};class Mt{constructor(e){this.curves=[],this._3d=!1,e&&(this.curves=e,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map(function(e){return M.pointsToString(e.points)}).join(", ")+"]"}addCurve(e){this.curves.push(e),this._3d=this._3d||e._3d}length(){return this.curves.map(function(e){return e.length()}).reduce(function(e,r){return e+r})}curve(e){return this.curves[e]}bbox(){const e=this.curves;for(var r=e[0].bbox(),i=1;i<e.length;i++)M.expandbox(r,e[i].bbox());return r}offset(e){const r=[];return this.curves.forEach(function(i){r.push(...i.offset(e))}),new Mt(r)}}const{abs:bt,min:Ve,max:Be,cos:Aa,sin:Ma,acos:Sa,sqrt:wt}=Math,Pa=Math.PI;class D{constructor(e){let r=e&&e.forEach?e:Array.from(arguments).slice(),i=!1;if(typeof r[0]=="object"){i=r.length;const p=[];r.forEach(function(_){["x","y","z"].forEach(function(v){typeof _[v]<"u"&&p.push(_[v])})}),r=p}let a=!1;const o=r.length;if(i){if(i>4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");a=!0}}else if(o!==6&&o!==8&&o!==9&&o!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const s=this._3d=!a&&(o===9||o===12)||e&&e[0]&&typeof e[0].z<"u",u=this.points=[];for(let p=0,_=s?3:2;p<o;p+=_){var c={x:r[p],y:r[p+1]};s&&(c.z=r[p+2]),u.push(c)}const f=this.order=u.length-1,h=this.dims=["x","y"];s&&h.push("z"),this.dimlen=h.length;const l=M.align(u,{p1:u[0],p2:u[f]}),d=M.dist(u[0],u[f]);this._linear=l.reduce((p,_)=>p+bt(_.y),0)<d/50,this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(e,r,i,a){if(typeof a>"u"&&(a=.5),a===0)return new D(r,r,i);if(a===1)return new D(e,r,r);const o=D.getABC(2,e,r,i,a);return new D(e,o.A,i)}static cubicFromPoints(e,r,i,a,o){typeof a>"u"&&(a=.5);const s=D.getABC(3,e,r,i,a);typeof o>"u"&&(o=M.dist(r,s.C));const u=o*(1-a)/a,c=M.dist(e,i),f=(i.x-e.x)/c,h=(i.y-e.y)/c,l=o*f,d=o*h,p=u*f,_=u*h,v={x:r.x-l,y:r.y-d},y={x:r.x+p,y:r.y+_},g=s.A,x={x:g.x+(v.x-g.x)/(1-a),y:g.y+(v.y-g.y)/(1-a)},k={x:g.x+(y.x-g.x)/a,y:g.y+(y.y-g.y)/a},C={x:e.x+(x.x-e.x)/a,y:e.y+(x.y-e.y)/a},m={x:i.x+(k.x-i.x)/(1-a),y:i.y+(k.y-i.y)/(1-a)};return new D(e,C,m,i)}static getUtils(){return M}getUtils(){return D.getUtils()}static get PolyBezier(){return Mt}valueOf(){return this.toString()}toString(){return M.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,r=e[0].x,i=e[0].y,a=["M",r,i,this.order===2?"Q":"C"];for(let o=1,s=e.length;o<s;o++)a.push(e[o].x),a.push(e[o].y);return a.join(" ")}setRatios(e){if(e.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=e,this._lut=[]}verify(){const e=this.coordDigest();e!==this._print&&(this._print=e,this.update())}coordDigest(){return this.points.map(function(e,r){return""+r+e.x+e.y+(e.z?e.z:0)}).join("")}update(){this._lut=[],this.dpoints=M.derive(this.points,this._3d),this.computedirection()}computedirection(){const e=this.points,r=M.angle(e[0],e[this.order],e[1]);this.clockwise=r>0}length(){return M.length(this.derivative.bind(this))}static getABC(e=2,r,i,a,o=.5){const s=M.projectionratio(o,e),u=1-s,c={x:s*r.x+u*a.x,y:s*r.y+u*a.y},f=M.abcratio(o,e);return{A:{x:i.x+(i.x-c.x)/f,y:i.y+(i.y-c.y)/f},B:i,C:c,S:r,E:a}}getABC(e,r){r=r||this.get(e);let i=this.points[0],a=this.points[this.order];return D.getABC(this.order,i,r,a,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let r=0,i,a;r<e;r++)a=r/(e-1),i=this.compute(a),i.t=a,this._lut.push(i);return this._lut}on(e,r){r=r||5;const i=this.getLUT(),a=[];for(let o=0,s,u=0;o<i.length;o++)s=i[o],M.dist(s,e)<r&&(a.push(s),u+=o/i.length);return a.length?t/=a.length:!1}project(e){const r=this.getLUT(),i=r.length-1,a=M.closest(r,e),o=a.mpos,s=(o-1)/i,u=(o+1)/i,c=.1/i;let f=a.mdist,h=s,l=h,d;f+=1;for(let p;h<u+c;h+=c)d=this.compute(h),p=M.dist(e,d),p<f&&(f=p,l=h);return l=l<0?0:l>1?1:l,d=this.compute(l),d.t=l,d.d=f,d}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?M.computeWithRatios(e,this.points,this.ratios,this._3d):M.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,r=[e[0]],i=e.length;for(let a=1,o,s;a<i;a++)o=e[a],s=e[a-1],r[a]={x:(i-a)/i*o.x+a/i*s.x,y:(i-a)/i*o.y+a/i*s.y};return r[i]=e[i-1],new D(r)}derivative(e){return M.compute(e,this.dpoints[0],this._3d)}dderivative(e){return M.compute(e,this.dpoints[1],this._3d)}align(){let e=this.points;return new D(M.align(e,{p1:e[0],p2:e[e.length-1]}))}curvature(e){return M.curvature(e,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return M.inflections(this.points)}normal(e){return this._3d?this.__normal3(e):this.__normal2(e)}__normal2(e){const r=this.derivative(e),i=wt(r.x*r.x+r.y*r.y);return{t:e,x:-r.y/i,y:r.x/i}}__normal3(e){const r=this.derivative(e),i=this.derivative(e+.01),a=wt(r.x*r.x+r.y*r.y+r.z*r.z),o=wt(i.x*i.x+i.y*i.y+i.z*i.z);r.x/=a,r.y/=a,r.z/=a,i.x/=o,i.y/=o,i.z/=o;const s={x:i.y*r.z-i.z*r.y,y:i.z*r.x-i.x*r.z,z:i.x*r.y-i.y*r.x},u=wt(s.x*s.x+s.y*s.y+s.z*s.z);s.x/=u,s.y/=u,s.z/=u;const c=[s.x*s.x,s.x*s.y-s.z,s.x*s.z+s.y,s.x*s.y+s.z,s.y*s.y,s.y*s.z-s.x,s.x*s.z-s.y,s.y*s.z+s.x,s.z*s.z];return{t:e,x:c[0]*r.x+c[1]*r.y+c[2]*r.z,y:c[3]*r.x+c[4]*r.y+c[5]*r.z,z:c[6]*r.x+c[7]*r.y+c[8]*r.z}}hull(e){let r=this.points,i=[],a=[],o=0;for(a[o++]=r[0],a[o++]=r[1],a[o++]=r[2],this.order===3&&(a[o++]=r[3]);r.length>1;){i=[];for(let s=0,u,c=r.length-1;s<c;s++)u=M.lerp(e,r[s],r[s+1]),a[o++]=u,i.push(u);r=i}return a}split(e,r){if(e===0&&r)return this.split(r).left;if(r===1)return this.split(e).right;const i=this.hull(e),a={left:this.order===2?new D([i[0],i[3],i[5]]):new D([i[0],i[4],i[7],i[9]]),right:this.order===2?new D([i[5],i[4],i[2]]):new D([i[9],i[8],i[6],i[3]]),span:i};return a.left._t1=M.map(0,0,1,this._t1,this._t2),a.left._t2=M.map(e,0,1,this._t1,this._t2),a.right._t1=M.map(e,0,1,this._t1,this._t2),a.right._t2=M.map(1,0,1,this._t1,this._t2),r?(r=M.map(r,e,1,0,1),a.right.split(r).left):a}extrema(){const e={};let r=[];return this.dims.forEach((function(i){let a=function(s){return s[i]},o=this.dpoints[0].map(a);e[i]=M.droots(o),this.order===3&&(o=this.dpoints[1].map(a),e[i]=e[i].concat(M.droots(o))),e[i]=e[i].filter(function(s){return s>=0&&s<=1}),r=r.concat(e[i].sort(M.numberSort))}).bind(this)),e.values=r.sort(M.numberSort).filter(function(i,a){return r.indexOf(i)===a}),e}bbox(){const e=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=M.getminmax(this,i,e[i])}).bind(this)),r}overlaps(e){const r=this.bbox(),i=e.bbox();return M.bboxoverlap(r,i)}offset(e,r){if(typeof r<"u"){const i=this.get(e),a=this.normal(e),o={c:i,n:a,x:i.x+a.x*r,y:i.y+a.y*r};return this._3d&&(o.z=i.z+a.z*r),o}if(this._linear){const i=this.normal(0),a=this.points.map(function(o){const s={x:o.x+e*i.x,y:o.y+e*i.y};return o.z&&i.z&&(s.z=o.z+e*i.z),s});return[new D(a)]}return this.reduce().map(function(i){return i._linear?i.offset(e)[0]:i.scale(e)})}simple(){if(this.order===3){const a=M.angle(this.points[0],this.points[3],this.points[1]),o=M.angle(this.points[0],this.points[3],this.points[2]);if(a>0&&o<0||a<0&&o>0)return!1}const e=this.normal(0),r=this.normal(1);let i=e.x*r.x+e.y*r.y;return this._3d&&(i+=e.z*r.z),bt(Sa(i))<Pa/3}reduce(){let e,r=0,i=0,a=.01,o,s=[],u=[],c=this.extrema().values;for(c.indexOf(0)===-1&&(c=[0].concat(c)),c.indexOf(1)===-1&&c.push(1),r=c[0],e=1;e<c.length;e++)i=c[e],o=this.split(r,i),o._t1=r,o._t2=i,s.push(o),r=i;return s.forEach(function(f){for(r=0,i=0;i<=1;)for(i=r+a;i<=1+a;i+=a)if(o=f.split(r,i),!o.simple()){if(i-=a,bt(r-i)<a)return[];o=f.split(r,i),o._t1=M.map(r,0,1,f._t1,f._t2),o._t2=M.map(i,0,1,f._t1,f._t2),u.push(o),r=i;break}r<1&&(o=f.split(r,1),o._t1=M.map(r,0,1,f._t1,f._t2),o._t2=f._t2,u.push(o))}),u}translate(e,r,i){i=typeof i=="number"?i:r;const a=this.order;let o=this.points.map((s,u)=>(1-u/a)*r+u/a*i);return new D(this.points.map((s,u)=>({x:s.x+e.x*o[u],y:s.y+e.y*o[u]})))}scale(e){const r=this.order;let i=!1;if(typeof e=="function"&&(i=e),i&&r===2)return this.raise().scale(i);const a=this.clockwise,o=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):e,i?i(1):e);const s=i?i(0):e,u=i?i(1):e,c=[this.offset(0,10),this.offset(1,10)],f=[],h=M.lli4(c[0],c[0].c,c[1],c[1].c);if(!h)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(l){const d=f[l*r]=M.copy(o[l*r]);d.x+=(l?u:s)*c[l].n.x,d.y+=(l?u:s)*c[l].n.y}),i?([0,1].forEach(function(l){if(!(r===2&&l)){var d=o[l+1],p={x:d.x-h.x,y:d.y-h.y},_=i?i((l+1)/r):e;i&&!a&&(_=-_);var v=wt(p.x*p.x+p.y*p.y);p.x/=v,p.y/=v,f[l+1]={x:d.x+_*p.x,y:d.y+_*p.y}}}),new D(f)):([0,1].forEach(l=>{if(r===2&&l)return;const d=f[l*r],p=this.derivative(l),_={x:d.x+p.x,y:d.y+p.y};f[l+1]=M.lli4(d,_,h,o[l+1])}),new D(f))}outline(e,r,i,a){if(r=r===void 0?e:r,this._linear){const m=this.normal(0),w=this.points[0],b=this.points[this.points.length-1];let A,P,S;i===void 0&&(i=e,a=r),A={x:w.x+m.x*e,y:w.y+m.y*e},S={x:b.x+m.x*i,y:b.y+m.y*i},P={x:(A.x+S.x)/2,y:(A.y+S.y)/2};const E=[A,P,S];A={x:w.x-m.x*r,y:w.y-m.y*r},S={x:b.x-m.x*a,y:b.y-m.y*a},P={x:(A.x+S.x)/2,y:(A.y+S.y)/2};const O=[S,P,A],T=M.makeline(O[2],E[0]),j=M.makeline(E[2],O[0]),$=[T,new D(E),j,new D(O)];return new Mt($)}const o=this.reduce(),s=o.length,u=[];let c=[],f,h=0,l=this.length();const d=typeof i<"u"&&typeof a<"u";function p(m,w,b,A,P){return function(S){const E=A/b,O=(A+P)/b,T=w-m;return M.map(S,0,1,m+E*T,m+O*T)}}o.forEach(function(m){const w=m.length();d?(u.push(m.scale(p(e,i,l,h,w))),c.push(m.scale(p(-r,-a,l,h,w)))):(u.push(m.scale(e)),c.push(m.scale(-r))),h+=w}),c=c.map(function(m){return f=m.points,f[3]?m.points=[f[3],f[2],f[1],f[0]]:m.points=[f[2],f[1],f[0]],m}).reverse();const _=u[0].points[0],v=u[s-1].points[u[s-1].points.length-1],y=c[s-1].points[c[s-1].points.length-1],g=c[0].points[0],x=M.makeline(y,_),k=M.makeline(v,g),C=[x].concat(u).concat([k]).concat(c);return new Mt(C)}outlineshapes(e,r,i){r=r||e;const a=this.outline(e,r).curves,o=[];for(let s=1,u=a.length;s<u/2;s++){const c=M.makeshape(a[s],a[u-s],i);c.startcap.virtual=s>1,c.endcap.virtual=s<u/2-1,o.push(c)}return o}intersects(e,r){return e?e.p1&&e.p2?this.lineIntersects(e):(e instanceof D&&(e=e.reduce()),this.curveintersects(this.reduce(),e,r)):this.selfintersects(r)}lineIntersects(e){const r=Ve(e.p1.x,e.p2.x),i=Ve(e.p1.y,e.p2.y),a=Be(e.p1.x,e.p2.x),o=Be(e.p1.y,e.p2.y);return M.roots(this.points,e).filter(s=>{var u=this.get(s);return M.between(u.x,r,a)&&M.between(u.y,i,o)})}selfintersects(e){const r=this.reduce(),i=r.length-2,a=[];for(let o=0,s,u,c;o<i;o++)u=r.slice(o,o+1),c=r.slice(o+2),s=this.curveintersects(u,c,e),a.push(...s);return a}curveintersects(e,r,i){const a=[];e.forEach(function(s){r.forEach(function(u){s.overlaps(u)&&a.push({left:s,right:u})})});let o=[];return a.forEach(function(s){const u=M.pairiteration(s.left,s.right,i);u.length>0&&(o=o.concat(u))}),o}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,r,i,a){const o=(a-i)/4,s=this.get(i+o),u=this.get(a-o),c=M.dist(e,r),f=M.dist(e,s),h=M.dist(e,u);return bt(f-c)+bt(h-c)}_iterate(e,r){let i=0,a=1,o;do{o=0,a=1;let s=this.get(i),u,c,f,h,l=!1,d=!1,p,_=a,v=1;do if(d=l,h=f,_=(i+a)/2,u=this.get(_),c=this.get(a),f=M.getccenter(s,u,c),f.interval={start:i,end:a},l=this._error(f,s,i,a)<=e,p=d&&!l,p||(v=a),l){if(a>=1){if(f.interval.end=v=1,h=f,a>1){let g={x:f.x+f.r*Aa(f.e),y:f.y+f.r*Ma(f.e)};f.e+=M.angle({x:f.x,y:f.y},g,this.get(1))}break}a=a+(a-i)/2}else a=_;while(!p&&o++<100);if(o>=100)break;h=h||f,r.push(h),i=v}while(a<1);return r}}function ue(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function Oa(n){if(Array.isArray(n))return n}function za(n){if(Array.isArray(n))return ue(n)}function Ea(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Ta(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,a,o,s,u=[],c=!0,f=!1;try{if(o=(r=r.call(n)).next,e!==0)for(;!(c=(i=o.call(r)).done)&&(u.push(i.value),u.length!==e);c=!0);}catch(h){f=!0,a=h}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(f)throw a}}return u}}function Ra(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
16
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ia(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
17
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ja(n,e){if(n==null)return{};var r,i,a=Da(n,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(i=0;i<o.length;i++)r=o[i],e.includes(r)||{}.propertyIsEnumerable.call(n,r)&&(a[r]=n[r])}return a}function Da(n,e){if(n==null)return{};var r={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(e.includes(i))continue;r[i]=n[i]}return r}function Na(n,e){return Oa(n)||Ta(n,e)||Mn(n,e)||Ra()}function Ua(n){return za(n)||Ea(n)||Mn(n)||Ia()}function $a(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function Fa(n){var e=$a(n,"string");return typeof e=="symbol"?e:e+""}function Mn(n,e){if(n){if(typeof n=="string")return ue(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ue(n,e):void 0}}var La=(function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,a=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(u){return{keyAccessor:u,isProp:!(u instanceof Function)}}),o=n.reduce(function(u,c){var f=u,h=c;return a.forEach(function(l,d){var p=l.keyAccessor,_=l.isProp,v;if(_){var y=h,g=y[p],x=ja(y,[p].map(Fa));v=g,h=x}else v=p(h,d);d+1<a.length?(f.hasOwnProperty(v)||(f[v]={}),f=f[v]):r?(f.hasOwnProperty(v)||(f[v]=[]),f[v].push(h)):f[v]=h}),u},{});r instanceof Function&&(function u(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;f===a.length?Object.keys(c).forEach(function(h){return c[h]=r(c[h])}):Object.values(c).forEach(function(h){return u(h,f+1)})})(o);var s=o;return i&&(s=[],(function u(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];f.length===a.length?s.push({keys:f,vals:c}):Object.entries(c).forEach(function(h){var l=Na(h,2),d=l[0],p=l[1];return u(p,[].concat(Ua(f),[d]))})})(o),e instanceof Array&&e.length===0&&s.length===1&&(s[0].keys=[])),s});function Ha(n,e){e===void 0&&(e={});var r=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",r==="top"&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=n:a.appendChild(document.createTextNode(n))}}var qa=`.force-graph-container canvas {
|
|
18
|
+
display: block;
|
|
19
|
+
user-select: none;
|
|
20
|
+
outline: none;
|
|
21
|
+
-webkit-tap-highlight-color: transparent;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.force-graph-container .clickable {
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.force-graph-container .grabbable {
|
|
29
|
+
cursor: move;
|
|
30
|
+
cursor: grab;
|
|
31
|
+
cursor: -moz-grab;
|
|
32
|
+
cursor: -webkit-grab;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.force-graph-container .grabbable:active {
|
|
36
|
+
cursor: grabbing;
|
|
37
|
+
cursor: -moz-grabbing;
|
|
38
|
+
cursor: -webkit-grabbing;
|
|
39
|
+
}
|
|
40
|
+
`;Ha(qa);function le(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r<e;r++)i[r]=n[r];return i}function Ga(n){if(Array.isArray(n))return n}function Wa(n){if(Array.isArray(n))return le(n)}function Ze(n,e,r){if(Sn())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var a=new(n.bind.apply(n,i));return a}function Pt(n,e,r){return(e=Ka(e))in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}function Sn(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Sn=function(){return!!n})()}function Va(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Ba(n,e){var r=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(r!=null){var i,a,o,s,u=[],c=!0,f=!1;try{if(o=(r=r.call(n)).next,e!==0)for(;!(c=(i=o.call(r)).done)&&(u.push(i.value),u.length!==e);c=!0);}catch(h){f=!0,a=h}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(f)throw a}}return u}}function Za(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
41
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xa(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
42
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xe(n,e){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),r.push.apply(r,i)}return r}function pt(n){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Xe(Object(r),!0).forEach(function(i){Pt(n,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):Xe(Object(r)).forEach(function(i){Object.defineProperty(n,i,Object.getOwnPropertyDescriptor(r,i))})}return n}function St(n,e){return Ga(n)||Ba(n,e)||Pn(n,e)||Za()}function V(n){return Wa(n)||Va(n)||Pn(n)||Xa()}function Ya(n,e){if(typeof n!="object"||!n)return n;var r=n[Symbol.toPrimitive];if(r!==void 0){var i=r.call(n,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Ka(n){var e=Ya(n,"string");return typeof e=="symbol"?e:e+""}function fe(n){"@babel/helpers - typeof";return fe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fe(n)}function Pn(n,e){if(n){if(typeof n=="string")return le(n,e);var r={}.toString.call(n).slice(8,-1);return r==="Object"&&n.constructor&&(r=n.constructor.name),r==="Map"||r==="Set"?Array.from(n):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?le(n,e):void 0}}var Qa=Dn(Nn);function Ye(n,e,r){!e||typeof r!="string"||n.filter(function(i){return!i[r]}).forEach(function(i){i[r]=Qa(e(i))})}function Ja(n,e){var r=n.nodes,i=n.links,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=a.nodeFilter,s=o===void 0?function(){return!0}:o,u=a.onLoopError,c=u===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:u,f={};r.forEach(function(p){return f[e(p)]={data:p,out:[],depth:-1,skip:!s(p)}}),i.forEach(function(p){var _=p.source,v=p.target,y=C(_),g=C(v);if(!f.hasOwnProperty(y))throw"Missing source node with id: ".concat(y);if(!f.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var x=f[y],k=f[g];x.out.push(k);function C(m){return fe(m)==="object"?e(m):m}});var h=[];d(Object.values(f));var l=Object.assign.apply(Object,[{}].concat(V(Object.entries(f).filter(function(p){var _=St(p,2),v=_[1];return!v.skip}).map(function(p){var _=St(p,2),v=_[0],y=_[1];return Pt({},v,y.depth)}))));return l;function d(p){for(var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,y=function(){var C=p[g];if(_.indexOf(C)!==-1){var m=[].concat(V(_.slice(_.indexOf(C))),[C]).map(function(w){return e(w.data)});return h.some(function(w){return w.length===m.length&&w.every(function(b,A){return b===m[A]})})||(h.push(m),c(m)),1}v>C.depth&&(C.depth=v,d(C.out,[].concat(V(_),[C]),v+(C.skip?0:1)))},g=0,x=p.length;g<x;g++)y()}}var to=2,L=function(e,r){return r.onNeedsRedraw&&r.onNeedsRedraw()},Ke=function(e,r){if(!r.isShadow){var i=R(r.linkDirectionalParticles);r.graphData.links.forEach(function(a){var o=Math.round(Math.abs(i(a)));o?a.__photons=V(Array(o)).map(function(){return{}}):delete a.__photons})}},Ht=ce({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,r){r.engineRunning=!1,Ke(e,r)}},dagMode:{onChange:function(e,r){!e&&(r.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:L},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:L},nodeColor:{default:"color",triggerUpdate:!1,onChange:L},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:L},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:L},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:L},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:L},linkColor:{default:"color",triggerUpdate:!1,onChange:L},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:L},linkWidth:{default:1,triggerUpdate:!1,onChange:L},linkCurvature:{default:0,triggerUpdate:!1,onChange:L},linkCanvasObject:{triggerUpdate:!1,onChange:L},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:L},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:L},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:L},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:L},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:Ke},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},linkDirectionalParticleCanvasObject:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,r){r.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,r,i){return i===void 0?e.forceLayout.force(r):(e.forceLayout.force(r,i),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&r(),a(),!e.isShadow&&o(),!e.isShadow&&s(),i(),this;function r(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function i(){var u=R(e.nodeVisibility),c=R(e.nodeVal),f=R(e.nodeColor),h=R(e.nodeCanvasObjectMode),l=e.ctx,d=e.isShadow/e.globalScale,p=e.graphData.nodes.filter(u);l.save(),p.forEach(function(_){var v=h(_);if(e.nodeCanvasObject&&(v==="before"||v==="replace")&&(e.nodeCanvasObject(_,l,e.globalScale),v==="replace")){l.restore();return}var y=Math.sqrt(Math.max(0,c(_)||1))*e.nodeRelSize+d;l.beginPath(),l.arc(_.x,_.y,y,0,2*Math.PI,!1),l.fillStyle=f(_)||"rgba(31, 120, 180, 0.92)",l.fill(),e.nodeCanvasObject&&v==="after"&&e.nodeCanvasObject(_,e.ctx,e.globalScale)}),l.restore()}function a(){var u=R(e.linkVisibility),c=R(e.linkColor),f=R(e.linkWidth),h=R(e.linkLineDash),l=R(e.linkCurvature),d=R(e.linkCanvasObjectMode),p=e.ctx,_=e.isShadow*2,v=e.graphData.links.filter(u);v.forEach(w);var y=[],g=[],x=v;if(e.linkCanvasObject){var k=[],C=[];v.forEach(function(b){return({before:y,after:g,replace:k}[d(b)]||C).push(b)}),x=[].concat(V(y),g,C),y=y.concat(k)}p.save(),y.forEach(function(b){return e.linkCanvasObject(b,p,e.globalScale)}),p.restore();var m=La(x,[c,f,h]);p.save(),Object.entries(m).forEach(function(b){var A=St(b,2),P=A[0],S=A[1],E=!P||P==="undefined"?"rgba(0,0,0,0.15)":P;Object.entries(S).forEach(function(O){var T=St(O,2),j=T[0],$=T[1],ot=(j||1)/e.globalScale+_;Object.entries($).forEach(function(zt){var Et=St(zt,2);Et[0];var _t=Et[1],Vt=h(_t[0]);p.beginPath(),_t.forEach(function(lt){var K=lt.source,Q=lt.target;if(!(!K||!Q||!K.hasOwnProperty("x")||!Q.hasOwnProperty("x"))){p.moveTo(K.x,K.y);var Bt=lt.__controlPoints;Bt?p[Bt.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(p,V(Bt).concat([Q.x,Q.y])):p.lineTo(Q.x,Q.y)}}),p.strokeStyle=E,p.lineWidth=ot,p.setLineDash(Vt||[]),p.stroke()})})}),p.restore(),p.save(),g.forEach(function(b){return e.linkCanvasObject(b,p,e.globalScale)}),p.restore();function w(b){var A=l(b);if(!A){b.__controlPoints=null;return}var P=b.source,S=b.target;if(!(!P||!S||!P.hasOwnProperty("x")||!S.hasOwnProperty("x"))){var E=Math.sqrt(Math.pow(S.x-P.x,2)+Math.pow(S.y-P.y,2));if(E>0){var O=Math.atan2(S.y-P.y,S.x-P.x),T=E*A,j={x:(P.x+S.x)/2+T*Math.cos(O-Math.PI/2),y:(P.y+S.y)/2+T*Math.sin(O-Math.PI/2)};b.__controlPoints=[j.x,j.y]}else{var $=A*70;b.__controlPoints=[S.x,S.y-$,S.x+$,S.y]}}}}function o(){var u=1.6,c=.2,f=R(e.linkDirectionalArrowLength),h=R(e.linkDirectionalArrowRelPos),l=R(e.linkVisibility),d=R(e.linkDirectionalArrowColor||e.linkColor),p=R(e.nodeVal),_=e.ctx;_.save(),e.graphData.links.filter(l).forEach(function(v){var y=f(v);if(!(!y||y<0)){var g=v.source,x=v.target;if(!(!g||!x||!g.hasOwnProperty("x")||!x.hasOwnProperty("x"))){var k=Math.sqrt(Math.max(0,p(g)||1))*e.nodeRelSize,C=Math.sqrt(Math.max(0,p(x)||1))*e.nodeRelSize,m=Math.min(1,Math.max(0,h(v))),w=d(v)||"rgba(0,0,0,0.28)",b=y/u/2,A=v.__controlPoints&&Ze(D,[g.x,g.y].concat(V(v.__controlPoints),[x.x,x.y])),P=A?function(ot){return A.get(ot)}:function(ot){return{x:g.x+(x.x-g.x)*ot||0,y:g.y+(x.y-g.y)*ot||0}},S=A?A.length():Math.sqrt(Math.pow(x.x-g.x,2)+Math.pow(x.y-g.y,2)),E=k+y+(S-k-C-y)*m,O=P(E/S),T=P((E-y)/S),j=P((E-y*(1-c))/S),$=Math.atan2(O.y-T.y,O.x-T.x)-Math.PI/2;_.beginPath(),_.moveTo(O.x,O.y),_.lineTo(T.x+b*Math.cos($),T.y+b*Math.sin($)),_.lineTo(j.x,j.y),_.lineTo(T.x-b*Math.cos($),T.y-b*Math.sin($)),_.fillStyle=w,_.fill()}}}),_.restore()}function s(){var u=R(e.linkDirectionalParticles),c=R(e.linkDirectionalParticleSpeed),f=R(e.linkDirectionalParticleOffset),h=R(e.linkDirectionalParticleWidth),l=R(e.linkVisibility),d=R(e.linkDirectionalParticleColor||e.linkColor),p=e.ctx;p.save(),e.graphData.links.filter(l).forEach(function(_){var v=u(_);if(!(!_.hasOwnProperty("__photons")||!_.__photons.length)){var y=_.source,g=_.target;if(!(!y||!g||!y.hasOwnProperty("x")||!g.hasOwnProperty("x"))){var x=c(_),k=Math.abs(f(_)),C=_.__photons||[],m=Math.max(0,h(_)/2)/Math.sqrt(e.globalScale),w=d(_)||"rgba(0,0,0,0.28)";p.fillStyle=w;var b=_.__controlPoints?Ze(D,[y.x,y.y].concat(V(_.__controlPoints),[g.x,g.y])):null,A=0,P=!1;C.forEach(function(S){var E=!!S.__singleHop;if(S.hasOwnProperty("__progressRatio")||(S.__progressRatio=E?0:(A+k)/v),!E&&A++,S.__progressRatio+=x,S.__progressRatio>=1)if(!E)S.__progressRatio=S.__progressRatio%1;else{P=!0;return}var O=S.__progressRatio,T=b?b.get(O):{x:y.x+(g.x-y.x)*O||0,y:y.y+(g.y-y.y)*O||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject(T.x,T.y,_,p,e.globalScale):(p.beginPath(),p.arc(T.x,T.y,m,0,2*Math.PI,!1),p.fill())}),P&&(_.__photons=_.__photons.filter(function(S){return!S.__singleHop||S.__progressRatio<=1}))}}}),p.restore()}},emitParticle:function(e,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:ma().force("link",ca()).force("charge",xa()).force("center",Oi()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,r){r.ctx=e},update:function(e,r){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&Ye(e.graphData.nodes,R(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Ye(e.graphData.links,R(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(d){d.source=d[e.linkSource],d.target=d[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(d){return d[e.nodeId]}).links(e.graphData.links);var a=e.dagMode&&Ja(e.graphData,function(d){return d[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),o=Math.max.apply(Math,V(Object.values(a||[]))),s=e.dagLevelDistance||e.graphData.nodes.length/(o||1)*to*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var u=["lr","rl"].includes(r.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return delete d[u]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var c=["rl","bu"].includes(e.dagMode),f=function(p){return(a[p[e.nodeId]]-o/2)*s*(c?-1:1)},h=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return d[h]=f(d)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?ba(function(d){var p=a[d[e.nodeId]]||-1;return(e.dagMode==="radialin"?o-p:p)*s}).strength(function(d){return e.dagNodeFilter(d)?1:0}):null);for(var l=0;l<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);l++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function On(n,e){var r=n instanceof Array?n:[n],i=new e;return i._destructor&&i._destructor(),{linkProp:function(o){return{default:i[o](),onChange:function(u,c){r.forEach(function(f){return c[f][o](u)})},triggerUpdate:!1}},linkMethod:function(o){return function(s){for(var u=arguments.length,c=new Array(u>1?u-1:0),f=1;f<u;f++)c[f-1]=arguments[f];var h=[];return r.forEach(function(l){var d=s[l],p=d[o].apply(d,c);p!==d&&h.push(p)}),h.length?h[0]:this}}}}var eo=800,no=4,ro=5,zn=On("forceGraph",Ht),io=On(["forceGraph","shadowGraph"],Ht),ao=Object.assign.apply(Object,V(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleOffset","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleCanvasObject","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map(function(n){return Pt({},n,zn.linkProp(n))})).concat(V(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(n){return Pt({},n,io.linkProp(n))})))),oo=Object.assign.apply(Object,V(["d3Force","d3ReheatSimulation","emitParticle"].map(function(n){return Pt({},n,zn.linkMethod(n))})));function Qt(n){if(n.canvas){var e=n.canvas.width,r=n.canvas.height;e===300&&r===150&&(e=r=0);var i=window.devicePixelRatio;e/=i,r/=i,[n.canvas,n.shadowCanvas].forEach(function(o){o.style.width="".concat(n.width,"px"),o.style.height="".concat(n.height,"px"),o.width=n.width*i,o.height=n.height*i,!e&&!r&&o.getContext("2d").scale(i,i)});var a=nt(n.canvas).k;n.zoom.translateBy(n.zoom.__baseElem,(n.width-e)/2/a,(n.height-r)/2/a),n.needsRedraw=!0}}function En(n){var e=window.devicePixelRatio;n.setTransform(e,0,0,e,0,0)}function Qe(n,e,r){n.save(),En(n),n.clearRect(0,0,e,r),n.restore()}var uo=ce({props:pt({width:{default:window.innerWidth,onChange:function(e,r){return Qt(r)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,r){return Qt(r)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,r){[e.nodes,e.links].every(function(a){return(a||[]).every(function(o){return!o.hasOwnProperty("__indexColor")})})&&r.colorTracker.reset(),[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach(i),r.forceGraph.graphData(e),r.shadowGraph.graphData(e);function i(a){var o=a.type,s=a.objs;s.filter(function(u){if(!u.hasOwnProperty("__indexColor"))return!0;var c=r.colorTracker.lookup(u.__indexColor);return!c||!c.hasOwnProperty("d")||c.d!==u}).forEach(function(u){u.__indexColor=r.colorTracker.register({type:o,d:u})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,r){r.canvas&&e&&(r.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,r){r.shadowGraph.nodeCanvasObject(e?function(i,a,o){return e(i,i.__indexColor,a,o)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,r){r.shadowGraph.linkCanvasObject(e?function(i,a,o){return e(i,i.__indexColor,a,o)}:null),r.flushShadowCanvas&&r.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,r){r.zoom.scaleExtent([e,r.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,r){r.zoom.scaleExtent([r.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,r){r.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},showPointerCursor:{default:!0,triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},ao),aliases:{stopAnimation:"pauseAnimation"},methods:pt({graph2ScreenCoords:function(e,r,i){var a=nt(e.canvas);return{x:r*a.k+a.x,y:i*a.k+a.y}},screen2GraphCoords:function(e,r,i){var a=nt(e.canvas);return{x:(r-a.x)/a.k,y:(i-a.y)/a.k}},centerAt:function(e,r,i,a){if(!e.canvas)return null;if(r!==void 0||i!==void 0){var o=Object.assign({},r!==void 0?{x:r}:{},i!==void 0?{y:i}:{});return a?e.tweenGroup.add(new ke(s()).to(o,a).easing(ht.Quadratic.Out).onUpdate(u).start()):u(o),this}return s();function s(){var c=nt(e.canvas);return{x:(e.width/2-c.x)/c.k,y:(e.height/2-c.y)/c.k}}function u(c){var f=c.x,h=c.y;e.zoom.translateTo(e.zoom.__baseElem,f===void 0?s().x:f,h===void 0?s().y:h),e.needsRedraw=!0}},zoom:function(e,r,i){if(!e.canvas)return null;if(r!==void 0)return i?e.tweenGroup.add(new ke({k:a()}).to({k:r},i).easing(ht.Quadratic.Out).onUpdate(function(s){var u=s.k;return o(u)}).start()):o(r),this;return a();function a(){return nt(e.canvas).k}function o(s){e.zoom.scaleTo(e.zoom.__baseElem,s),e.needsRedraw=!0}},zoomToFit:function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,a=arguments.length,o=new Array(a>3?a-3:0),s=3;s<a;s++)o[s-3]=arguments[s];var u=this.getGraphBbox.apply(this,o);if(u){var c={x:(u.x[0]+u.x[1])/2,y:(u.y[0]+u.y[1])/2},f=Math.max(1e-12,Math.min(1e12,(e.width-i*2)/(u.x[1]-u.x[0]),(e.height-i*2)/(u.y[1]-u.y[0])));this.centerAt(c.x,c.y,r),this.zoom(f,r)}return this},getGraphBbox:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=R(e.nodeVal),a=function(u){return Math.sqrt(Math.max(0,i(u)||1))*e.nodeRelSize},o=e.graphData.nodes.filter(r).map(function(s){return{x:s.x,y:s.y,r:a(s)}});return o.length?{x:[ve(o,function(s){return s.x-s.r}),me(o,function(s){return s.x+s.r})],y:[ve(o,function(s){return s.y-s.r}),me(o,function(s){return s.y+s.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},oo),stateInit:function(){return{lastSetZoom:1,zoom:Fn(),forceGraph:new Ht,shadowGraph:new Ht().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new oi,tweenGroup:new nn}},init:function(e,r){var i=this;e.innerHTML="";var a=document.createElement("div");a.classList.add("force-graph-container"),a.style.position="relative",e.appendChild(a),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),a.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var o=r.canvas.getContext("2d"),s=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),u={x:-1e12,y:-1e12},c=function(){var l=null,d=window.devicePixelRatio,p=u.x>0&&u.y>0?s.getImageData(u.x*d,u.y*d,1,1):null;return p&&(l=r.colorTracker.lookup(p.data)),l};Jt(r.canvas).call(Un().subject(function(){if(!r.enableNodeDrag)return null;var h=c();return h&&h.type==="Node"?h.d:null}).on("start",function(h){var l=h.subject;l.__initialDragPos={x:l.x,y:l.y,fx:l.fx,fy:l.fy},h.active||(l.fx=l.x,l.fy=l.y),r.canvas.classList.add("grabbable")}).on("drag",function(h){var l=h.subject,d=l.__initialDragPos,p=h,_=nt(r.canvas).k,v={x:d.x+(p.x-d.x)/_-l.x,y:d.y+(p.y-d.y)/_-l.y};["x","y"].forEach(function(y){return l["f".concat(y)]=l[y]=d[y]+(p[y]-d[y])/_}),!(!l.__dragged&&ro>=Math.sqrt($n(["x","y"].map(function(y){return Math.pow(h[y]-d[y],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,l.__dragged=!0,r.onNodeDrag(l,v))}).on("end",function(h){var l=h.subject,d=l.__initialDragPos,p={x:l.x-d.x,y:l.y-d.y};d.fx===void 0&&(l.fx=void 0),d.fy===void 0&&(l.fy=void 0),delete l.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,l.__dragged&&(delete l.__dragged,r.onNodeDragEnd(l,p))})),r.zoom(r.zoom.__baseElem=Jt(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(h){return!h.button&&r.enableZoomPanInteraction&&(h.type!=="wheel"||R(r.enableZoomInteraction)(h))&&(h.type==="wheel"||R(r.enablePanInteraction)(h))}).on("zoom",function(h){var l=h.transform;[o,s].forEach(function(d){En(d),d.translate(l.x,l.y),d.scale(l.k,l.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(pt(pt({},l),i.centerAt())),r.needsRedraw=!0}).on("end",function(h){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(pt(pt({},h.transform),i.centerAt()))}),Qt(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){nt(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=no/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Pi(a),["pointermove","pointerdown"].forEach(function(h){return a.addEventListener(h,function(l){h==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=l),!r.isPointerDragging&&l.type==="pointermove"&&r.onBackgroundClick&&(l.pressure>0||r.isPointerPressed)&&(l.pointerType==="mouse"||l.movementX===void 0||[l.movementX,l.movementY].some(function(_){return Math.abs(_)>1}))&&(r.isPointerDragging=!0);var d=p(a);u.x=l.pageX-d.left,u.y=l.pageY-d.top;function p(_){var v=_.getBoundingClientRect(),y=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:v.top+g,left:v.left+y}}},{passive:!0})}),a.addEventListener("pointerup",function(h){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var l=[h,r.pointerDownEvent];requestAnimationFrame(function(){if(h.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(l))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,l);if(h.button===2)if(r.hoverObj){var p=r["on".concat(r.hoverObj.type,"RightClick")];p&&p.apply(void 0,[r.hoverObj.d].concat(l))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,l)})}},{passive:!0}),a.addEventListener("contextmenu",function(h){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(h.preventDefault(),!1)}),r.forceGraph(o),r.shadowGraph(s);var f=dr(function(){Qe(s,r.width,r.height),r.shadowGraph.linkWidth(function(l){return R(r.linkWidth)(l)+r.linkHoverPrecision});var h=nt(r.canvas);r.shadowGraph.globalScale(h.k).tickFrame()},eo);r.flushShadowCanvas=f.flush,(this._animationCycle=function h(){var l=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(k){return k.__photons&&k.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:c();if(d!==r.hoverObj){var p=r.hoverObj,_=p?p.type:null,v=d?d.type:null;if(_&&_!==v){var y=r["on".concat(_,"Hover")];y&&y(null,p.d)}if(v){var g=r["on".concat(v,"Hover")];g&&g(d.d,_===v?p.d:null)}r.tooltip.content(d&&R(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(v,"Click")]||!d&&r.onBackgroundClick)&&R(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}l&&f()}if(l){Qe(o,r.width,r.height);var x=nt(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(o,x),r.forceGraph.globalScale(x).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(o,x)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(h)})()},update:function(e){}});export{uo as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-card: #2d2d2d;--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--text-muted: #737373;--accent: #f59e0b;--accent-dim: #b45309;--border: #404040;--status-backlog: #6b7280;--status-blocked: #ef4444;--status-ready: #3b82f6;--status-in-progress: #f59e0b;--status-done: #22c55e;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-mono);font-size:13px;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.logo{font-weight:600;font-size:14px;color:var(--accent)}.header-filters{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.filter-group{display:flex;align-items:center;gap:8px;position:relative}select{font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);padding:0 44px 0 12px;border-radius:6px;cursor:pointer;min-height:42px;line-height:1.2}select:focus{outline:none;border-color:var(--accent)}#dateFilter{min-width:150px}#projectFilter{min-width:220px}#assigneeFilter{min-width:180px}#tagFilter{min-width:150px}.task-search-group{gap:6px}.task-search-input{width:220px;font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);padding:0 12px;border-radius:6px;min-height:42px}.task-search-input:focus{outline:none;border-color:var(--accent)}.task-search-clear{border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;line-height:1;padding:4px 8px;cursor:pointer}.task-search-clear:hover{border-color:var(--accent);color:var(--text-primary)}.task-search-meta{min-width:0;width:0;overflow:hidden;font-size:11px;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;transition:width .12s ease}.task-search-group.active .task-search-meta{width:56px}.header-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.connection-indicator{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);min-width:85px;justify-content:flex-end}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.connection-dot.live{background:var(--status-done)}.connection-dot.error{background:var(--status-blocked)}.activity-btn{font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);min-height:42px;padding:0 14px;border-radius:6px;cursor:pointer}.activity-btn:hover{border-color:var(--accent)}.settings-group{position:relative}.settings-toggle{display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);width:42px;height:42px;padding:0;border-radius:6px;cursor:pointer}.settings-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.settings-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:12px;z-index:100;min-width:180px}.settings-dropdown.open{display:block}.settings-section{margin-bottom:12px}.settings-section:last-child{margin-bottom:0}.settings-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.settings-section select{width:100%;font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);padding:4px 8px;border-radius:4px}.settings-view-select{width:100%}.column-checkboxes{display:flex;flex-direction:column}.column-checkbox{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:12px;color:var(--text-primary)}.column-checkbox:hover{color:var(--accent)}.column-checkbox input{accent-color:var(--accent)}.collapse-parents-actions{display:flex;gap:6px;margin-top:2px}.collapse-parents-btn{flex:1;font-family:var(--font-mono);font-size:11px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);padding:5px 6px;border-radius:4px;cursor:pointer}.collapse-parents-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.collapse-parents-btn:disabled{opacity:.45;cursor:not-allowed}.collapse-parents-meta{margin-top:5px;font-size:10px;color:var(--text-muted)}.settings-shortcuts-btn{width:100%;font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);padding:6px 8px;border-radius:4px;cursor:pointer;text-align:left;white-space:nowrap}.settings-shortcuts-btn:hover{color:var(--text-primary);border-color:var(--accent)}.board{display:flex;gap:12px;padding:16px;overflow-x:auto;min-height:calc(100vh - 53px)}.column{flex:1 1 220px;min-width:220px;max-width:320px;background:var(--bg-secondary);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 85px)}.column.hidden{display:none}.column-header{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.column-title{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.column-count{font-size:11px;color:var(--text-muted);background:var(--bg-primary);padding:2px 8px;border-radius:10px}.column-cards{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none;-ms-overflow-style:none}.column-cards::-webkit-scrollbar{width:0;height:0}.column-cards:hover{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.column-cards:hover::-webkit-scrollbar{width:8px;height:8px}.column-cards:hover::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.column-cards:hover::-webkit-scrollbar-track{background:transparent}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:12px 14px;cursor:pointer;transition:border-color .15s}.card:hover{border-color:var(--accent)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.card-header-left{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.card-header-right{display:flex;align-items:center;gap:4px;min-width:0;flex-shrink:0}.card-emoji{font-size:12px;flex-shrink:0}.card-parent{box-shadow:0 0 0 1px var(--family-color)}.card-id{font-size:10px;color:var(--text-muted)}.card-title{font-size:13px;line-height:1.4;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.card-meta{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:11px;color:var(--text-muted)}.card-project{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;background:var(--bg-primary);padding:2px 6px;border-radius:3px}.card-assignee{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px;background:var(--bg-primary);line-height:1.2}.card-assignee.assigned{color:var(--accent)}.card-progress-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.card-progress-track{flex:1;height:3px;border-radius:2px;background:var(--bg-primary);overflow:hidden}.card-progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .3s}.card-progress-fill.complete{background:var(--status-done)}.card-progress-label{font-size:10px;color:var(--accent);flex-shrink:0;line-height:1}.card-progress-label.complete{color:var(--status-done)}.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.card-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--tag-color) 15%,transparent);color:var(--tag-color);white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.card-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tag-color);flex-shrink:0}.card-tag-overflow{font-size:10px;color:var(--text-muted);padding:1px 4px}.card-subtask-count{font-size:11px;color:var(--text-muted);margin-bottom:6px}.card-subtask-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;padding:2px 6px;margin-bottom:6px;cursor:pointer}.card-subtask-toggle:hover{color:var(--text-primary);border-color:var(--accent)}.empty-column{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;max-width:800px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between}.modal-title-wrap{min-width:0;display:flex;flex-direction:column;gap:6px}.modal-title{font-size:16px;font-weight:600}.modal-task-id-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--text-muted)}.modal-task-id-value{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);background:var(--bg-primary);padding:2px 8px;border-radius:999px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-task-id-copy{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-muted);border-radius:4px;font-size:11px;line-height:1.3;padding:2px 8px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.modal-task-id-copy:hover:not(:disabled){color:var(--text-primary)}.modal-task-id-copy:disabled{opacity:.55;cursor:default}.modal-task-id-copy.copied{color:var(--status-done);border-color:var(--status-done)}.modal-task-id-copy.failed{color:var(--status-blocked);border-color:var(--status-blocked)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:16px;overflow-y:auto;flex:1}.modal-section{margin-bottom:16px}.modal-section:last-child{margin-bottom:0}.modal-section-title{font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.modal-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.modal-meta-item{background:var(--bg-primary);padding:8px 10px;border-radius:4px}.modal-meta-label{font-size:10px;color:var(--text-muted);margin-bottom:2px}.modal-meta-value{font-size:12px}.modal-meta-fallback{color:var(--text-muted)}.modal-progress{color:var(--accent);background:#f59e0b26;padding:2px 8px;border-radius:4px}.modal-progress.complete{color:var(--status-done);background:#22c55e26}.modal-description{background:var(--bg-primary);padding:12px;border-radius:4px;font-size:12px;line-height:1.6}.modal-description h1,.modal-description h2,.modal-description h3,.modal-description h4,.modal-description h5,.modal-description h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.modal-description h1:first-child,.modal-description h2:first-child,.modal-description h3:first-child{margin-top:0}.modal-description h1{font-size:18px}.modal-description h2{font-size:16px}.modal-description h3{font-size:14px}.modal-description h4,.modal-description h5,.modal-description h6{font-size:12px}.modal-description p{margin:8px 0}.modal-description p:first-child{margin-top:0}.modal-description p:last-child{margin-bottom:0}.modal-description ul,.modal-description ol{margin:8px 0;padding-left:20px}.modal-description li{margin:4px 0}.modal-description code{background:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:11px}.modal-description pre{background:var(--bg-secondary);padding:12px;border-radius:4px;overflow-x:auto;margin:12px 0}.modal-description pre code{background:none;padding:0;font-size:11px;line-height:1.5}.modal-description blockquote{border-left:3px solid var(--accent);margin:12px 0;padding:8px 12px;background:var(--bg-secondary);color:var(--text-secondary)}.modal-description blockquote p{margin:0}.modal-description a{color:var(--accent);text-decoration:none}.modal-description a:hover{text-decoration:underline}.modal-description hr{border:none;border-top:1px solid var(--border);margin:16px 0}.modal-description table{border-collapse:collapse;width:100%;margin:12px 0;font-size:11px}.modal-description th,.modal-description td{border:1px solid var(--border);padding:6px 10px;text-align:left}.modal-description th{background:var(--bg-secondary);font-weight:600}.modal-description img{max-width:100%;height:auto}.modal-tags{display:flex;flex-wrap:wrap;gap:6px}.modal-blocked-list{display:flex;flex-direction:column;gap:4px}.modal-blocked-item{display:block;text-align:left;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--accent);font-size:13px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-blocked-item:hover{border-color:var(--accent)}.modal-comments{display:flex;flex-direction:column;gap:8px}.comment{background:var(--bg-primary);padding:10px;border-radius:4px;border-left:2px solid var(--accent)}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:11px;color:var(--text-muted)}.comment-author{color:var(--accent)}.comment-text{font-size:12px;white-space:pre-wrap}.modal-checkpoint-list,.modal-task-activity-list{display:flex;flex-direction:column;gap:10px}.modal-checkpoint-entry,.modal-task-activity-entry{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.modal-checkpoint-header,.modal-task-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.modal-checkpoint-name,.modal-task-activity-type{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3}.modal-entry-time{color:var(--text-muted);font-size:11px;white-space:nowrap;line-height:1.3;margin-top:1px}.modal-checkpoint-data{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.45;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:8px;white-space:pre-wrap;overflow-wrap:anywhere}.modal-task-activity-author{color:var(--text-secondary);font-size:11px;margin-bottom:4px}.modal-task-activity-detail{color:var(--text-primary);font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.show-more-btn{width:100%;padding:8px;background:var(--bg-primary);border:1px dashed var(--border);border-radius:4px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.show-more-btn:hover{border-color:var(--accent);color:var(--accent)}.modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:12px}.modal-tab{padding:8px 16px;background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.modal-tab:hover{color:var(--text-primary)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-tab:disabled{opacity:.4;cursor:not-allowed}.modal-tab-count{background:var(--bg-primary);padding:1px 6px;border-radius:8px;font-size:10px;margin-left:6px}.activity-panel{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);z-index:150;transition:right .2s ease;display:flex;flex-direction:column}.activity-panel.open{right:0}.activity-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.activity-title{font-weight:600;font-size:14px}.activity-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer}.activity-filters{display:flex;flex-direction:column;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}.activity-filters select,.activity-filters input{width:100%;box-sizing:border-box}.activity-filters input{font-family:var(--font-mono);font-size:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);padding:4px 8px;border-radius:4px}.activity-filters input:focus{outline:none;border-color:var(--accent)}.activity-list{flex:1;overflow-y:auto;padding:8px}.activity-item{padding:10px;border-bottom:1px solid var(--border);cursor:pointer}.activity-item:last-child{border-bottom:none}.activity-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.activity-type{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px;background:var(--bg-primary)}.activity-type.status_changed{color:var(--status-in-progress)}.activity-type.task_created{color:var(--status-ready)}.activity-type.comment_added{color:var(--accent)}.activity-type.checkpoint_recorded{color:var(--text-secondary)}.activity-time{font-size:10px;color:var(--text-muted)}.activity-task{font-size:12px;color:var(--text-primary);margin-top:4px}.activity-detail{font-size:11px;color:var(--text-muted);margin-top:2px}.graph-container{flex:1;position:relative;min-height:400px;background:var(--bg-primary)}.graph-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary)}.graph-loading .spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.calendar-container{padding:16px 24px;max-width:1200px;margin:0 auto}.calendar-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.calendar-nav-btn{font-family:var(--font-mono);font-size:14px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer}.calendar-nav-btn:hover{background:var(--bg-secondary)}.calendar-month-label{font-size:18px;font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-day-header{background:var(--bg-card);color:var(--text-muted);font-size:12px;font-weight:600;text-align:center;padding:8px 4px;text-transform:uppercase}.calendar-day{background:var(--bg-card);min-height:100px;padding:4px;display:flex;flex-direction:column}.calendar-day.other-month{opacity:.35}.calendar-day.today{border:2px solid var(--accent);border-radius:2px}.calendar-day-number{font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-day-tasks{display:flex;flex-direction:column;gap:2px;flex:1}.calendar-mini-card{background:var(--bg-primary);border-left:3px solid var(--text-muted);border-radius:3px;padding:2px 4px;cursor:pointer;display:flex;align-items:center;gap:4px;overflow:hidden}.calendar-mini-card[data-status=backlog]{border-left-color:var(--status-backlog)}.calendar-mini-card[data-status=ready]{border-left-color:var(--status-ready)}.calendar-mini-card[data-status=in_progress]{border-left-color:var(--status-in-progress)}.calendar-mini-card[data-status=blocked]{border-left-color:var(--status-blocked)}.calendar-mini-card[data-status=done]{border-left-color:var(--status-done)}.calendar-mini-card:hover{background:var(--bg-secondary)}.calendar-mini-title{font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.calendar-mini-project{font-size:9px;color:var(--text-muted);background:var(--bg-card);padding:0 4px;border-radius:3px;white-space:nowrap;flex-shrink:0}.calendar-more-link{font-size:11px;color:var(--accent);cursor:pointer;padding:1px 4px}.calendar-more-link:hover{text-decoration:underline}.calendar-popover{position:absolute;z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:8px;min-width:200px;max-width:280px;max-height:300px;overflow-y:auto;top:100%;left:0}.calendar-popover-header{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.calendar-popover .calendar-mini-card{margin-bottom:2px}.calendar-empty-state{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.shortcuts-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:300}.shortcuts-modal{width:min(460px,calc(100vw - 24px));background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #00000073;overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.shortcuts-title{font-size:14px;font-weight:600;color:var(--text-primary)}.shortcuts-close{border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;line-height:1}.shortcuts-close:hover{color:var(--text-primary)}.shortcuts-body{padding:14px 16px 16px}.shortcuts-list{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center}.shortcut-key{display:inline-block;min-width:34px;padding:1px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:11px;text-align:center;font-weight:600}.shortcut-desc{color:var(--text-secondary);font-size:12px}.shortcuts-note{margin-top:12px;font-size:11px;color:var(--text-muted)}.hamburger{display:none;background:none;border:none;color:var(--text-primary);font-size:20px;cursor:pointer}.status-backlog{color:var(--status-backlog)}.status-blocked{color:var(--status-blocked)}.status-ready{color:var(--status-ready)}.status-in-progress{color:var(--status-in-progress)}.status-done{color:var(--status-done)}@media(max-width:768px){.header{flex-wrap:wrap;row-gap:10px;align-items:center;align-content:flex-start}.header-left{order:1;flex:0 0 auto;min-height:42px}.header-right{order:2;flex:0 0 auto;margin-left:auto;min-height:42px;gap:8px}.header-filters{order:3;flex:0 0 100%;width:100%;max-width:100%;min-width:100%;display:none;flex-direction:column;align-items:stretch;gap:8px;border-top:1px solid var(--border);padding-top:8px}.header-filters.open{display:flex}.filter-group{width:100%;max-width:100%}.task-search-group{width:100%}.task-search-input{flex:1;width:100%}#dateFilter,#projectFilter,#assigneeFilter,#tagFilter{min-width:0;width:100%}.task-search-meta,.board{display:none}.graph-container{min-height:calc(100vh - 150px)}.mobile-tabs{display:flex;overflow-x:auto;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 8px}.mobile-tab{flex:0 0 auto;padding:12px 16px;font-size:12px;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.mobile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mobile-tab-badge{background:var(--bg-primary);padding:1px 6px;border-radius:8px;font-size:10px;margin-left:6px}.mobile-cards{display:none;padding:12px;flex-direction:column;gap:8px}.mobile-cards.active{display:flex}.card-assignee{max-width:110px}.activity-panel{width:100%;right:-100%}.hamburger{display:block}}@media(min-width:769px){.mobile-tabs,.mobile-cards-container{display:none!important}}
|