export declare const SYSTEM_JS = "\"use strict\";(()=>{function $e(t,e){var n,r=1;t==null&&(t=0),e==null&&(e=0);function i(){var o,a=n.length,s,f=0,u=0;for(o=0;o=(g=(s+u)/2))?s=g:u=g,(y=n>=(h=(f+l)/2))?f=h:l=h,i=o,!(o=o[x=y<<1|_]))return i[x]=a,t;if(p=+t._x.call(null,o.data),b=+t._y.call(null,o.data),e===p&&n===b)return a.next=o,i?i[x]=a:t._root=a,t;do i=i?i[x]=new Array(4):t._root=new Array(4),(_=e>=(g=(s+u)/2))?s=g:u=g,(y=n>=(h=(f+l)/2))?f=h:l=h;while((x=y<<1|_)===(M=(b>=h)<<1|p>=g));return i[M]=o,i[x]=a,t}function sn(t){var e,n,r=t.length,i,o,a=new Array(r),s=new Array(r),f=1/0,u=1/0,l=-1/0,g=-1/0;for(n=0;nl&&(l=i),og&&(g=o));if(f>l||u>g)return this;for(this.cover(f,u).cover(l,g),n=0;nt||t>=i||r>e||e>=o;)switch(u=(el||(s=b.y0)>g||(f=b.x1)=x)<<1|t>=y)&&(b=h[h.length-1],h[h.length-1]=h[h.length-1-_],h[h.length-1-_]=b)}else{var M=t-+this._x.call(null,p.data),k=e-+this._y.call(null,p.data),m=M*M+k*k;if(m=(h=(a+f)/2))?a=h:f=h,(_=g>=(p=(s+u)/2))?s=p:u=p,e=n,!(n=n[y=_<<1|b]))return this;if(!n.length)break;(e[y+1&3]||e[y+2&3]||e[y+3&3])&&(r=e,x=y)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[y]=o:delete e[y],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[x]=n:this._root=n),this):(this._root=o,this)}function pn(t){for(var e=0,n=t.length;eh.index){var H=p-C.x-C.vx,d=b-C.y-C.vy,N=H*H+d*d;Np+O||Tb+O||zu.r&&(u.r=u[l].r)}function f(){if(e){var u,l=e.length,g;for(n=new Array(l),u=0;u[e(A,T,a),A])),m;for(y=0,s=new Array(x);y{}};function Nn(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error(\"unknown type: \"+n);return{type:n,name:r}})}Qt.prototype=Nn.prototype={constructor:Qt,on:function(t,e){var n=this._,r=Ai(t+\"\",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&t._call.call(void 0,e),t=t._next;--$t}function kn(){dt=(Zt=zt.now())+Jt,$t=It=0;try{Sn()}finally{$t=0,Ii(),dt=0}}function Ti(){var t=zt.now(),e=t-Zt;e>An&&(Jt-=e,Zt=t)}function Ii(){for(var t,e=Wt,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Wt=n);Ct=t,Ee(r)}function Ee(t){if(!$t){It&&(It=clearTimeout(It));var e=t-dt;e>24?(t<1/0&&(It=setTimeout(kn,t-zt.now()-Jt)),Tt&&(Tt=clearInterval(Tt))):(Tt||(Zt=zt.now(),Tt=setInterval(Ti,An)),$t=1,En(kn))}}function jt(t,e,n){var r=new Ot;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}function Tn(){let t=1;return()=>(t=(1664525*t+1013904223)%4294967296)/4294967296}function In(t){return t.x}function Cn(t){return t.y}var Ci=10,zi=Math.PI*(3-Math.sqrt(5));function Se(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,f=Nt(g),u=at(\"tick\",\"end\"),l=Tn();t==null&&(t=[]);function g(){h(),u.call(\"tick\",e),n1?(y==null?s.delete(_):s.set(_,b(y)),e):s.get(_)},find:function(_,y,x){var M=0,k=t.length,m,A,T,z,C;for(x==null?x=1/0:x*=x,M=0;M1?(u.on(_,y),e):u.on(_)}}}function Te(){var t,e,n,r,i=P(-30),o,a=1,s=1/0,f=.81;function u(p){var b,_=t.length,y=mt(t,In,Cn).visitAfter(g);for(r=p,b=0;b<_;++b)e=t[b],y.visit(h)}function l(){if(t){var p,b=t.length,_;for(o=new Array(b),p=0;p=s)return;(p.data!==e||p.next)&&(x===0&&(x=tt(n),m+=x*x),M===0&&(M=tt(n),m+=M*M),m=0&&(e=t.slice(0,n))!==\"xmlns\"&&(t=t.slice(n+1)),ze.hasOwnProperty(e)?{space:ze[e],local:t}:t}function Oi(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===te&&e.documentElement.namespaceURI===te?e.createElement(t):e.createElementNS(n,t)}}function Ri(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ee(t){var e=st(t);return(e.local?Ri:Oi)(e)}function Di(){}function xt(t){return t==null?Di:function(){return this.querySelector(t)}}function zn(t){typeof t!=\"function\"&&(t=xt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=k&&(k=M+1);!(A=y[k])&&++k=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function Fn(t){t||(t=Qi);function e(g,h){return g&&h?t(g.__data__,h.__data__):!g-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;oe?1:t>=e?0:NaN}function Gn(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Kn(){return Array.from(this)}function Un(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?no:typeof e==\"function\"?io:ro)(t,e,n??\"\")):lt(this.node(),t)}function lt(t,e){return t.style.getPropertyValue(e)||ie(t).getComputedStyle(t,null).getPropertyValue(e)}function oo(t){return function(){delete this[t]}}function ao(t,e){return function(){this[t]=e}}function so(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function tr(t,e){return arguments.length>1?this.each((e==null?oo:typeof e==\"function\"?so:ao)(t,e)):this.node()[t]}function er(t){return t.trim().split(/^|\\s+/)}function Re(t){return t.classList||new nr(t)}function nr(t){this._node=t,this._names=er(t.getAttribute(\"class\")||\"\")}nr.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(t){return this._names.indexOf(t)>=0}};function rr(t,e){for(var n=Re(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function ko(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n()=>t;function qt(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:f,dy:u,dispatch:l}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:l}})}qt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Io(t){return!t.ctrlKey&&!t.button}function Co(){return this.parentNode}function zo(t,e){return e??{x:t.x,y:t.y}}function Oo(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function Le(){var t=Io,e=Co,n=zo,r=Oo,i={},o=at(\"start\",\"drag\",\"end\"),a=0,s,f,u,l,g=0;function h(m){m.on(\"mousedown.drag\",p).filter(r).on(\"touchstart.drag\",y).on(\"touchmove.drag\",x,wr).on(\"touchend.drag touchcancel.drag\",M).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function p(m,A){if(!(l||!t.call(this,m,A))){var T=k(this,e.call(this,m,A),m,A,\"mouse\");T&&(V(m.view).on(\"mousemove.drag\",b,gt).on(\"mouseup.drag\",_,gt),Bt(m.view),oe(m),u=!1,s=m.clientX,f=m.clientY,T(\"start\",m))}}function b(m){if(ct(m),!u){var A=m.clientX-s,T=m.clientY-f;u=A*A+T*T>g}i.mouse(\"drag\",m)}function _(m){V(m.view).on(\"mousemove.drag mouseup.drag\",null),Xt(m.view,u),ct(m),i.mouse(\"end\",m)}function y(m,A){if(t.call(this,m,A)){var T=m.changedTouches,z=e.call(this,m,A),C=T.length,R,O;for(R=0;R>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?se(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?se(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Do.exec(t))?new W(e[1],e[2],e[3],1):(e=Lo.exec(t))?new W(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Ho.exec(t))?se(e[1],e[2],e[3],e[4]):(e=Bo.exec(t))?se(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Xo.exec(t))?Er(e[1],e[2]/100,e[3]/100,1):(e=Po.exec(t))?Er(e[1],e[2]/100,e[3]/100,e[4]):br.hasOwnProperty(t)?Nr(br[t]):t===\"transparent\"?new W(NaN,NaN,NaN,0):null}function Nr(t){return new W(t>>16&255,t>>8&255,t&255,1)}function se(t,e,n,r){return r<=0&&(t=e=n=NaN),new W(t,e,n,r)}function Vo(t){return t instanceof Ft||(t=ht(t)),t?(t=t.rgb(),new W(t.r,t.g,t.b,t.opacity)):new W}function At(t,e,n,r){return arguments.length===1?Vo(t):new W(t,e,n,r??1)}function W(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ae(W,At,He(Ft,{brighter(t){return t=t==null?fe:Math.pow(fe,t),new W(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Yt:Math.pow(Yt,t),new W(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new W(_t(this.r),_t(this.g),_t(this.b),le(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kr,formatHex:kr,formatHex8:Fo,formatRgb:Ar,toString:Ar}));function kr(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}`}function Fo(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}${yt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ar(){let t=le(this.opacity);return`${t===1?\"rgb(\":\"rgba(\"}${_t(this.r)}, ${_t(this.g)}, ${_t(this.b)}${t===1?\")\":`, ${t})`}`}function le(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function _t(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function yt(t){return t=_t(t),(t<16?\"0\":\"\")+t.toString(16)}function Er(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new et(t,e,n,r)}function Tr(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);if(t instanceof Ft||(t=ht(t)),!t)return new et;if(t instanceof et)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,f=(o+i)/2;return s?(e===o?a=(n-r)/s+(n0&&f<1?0:a,new et(a,s,f,t.opacity)}function Ir(t,e,n,r){return arguments.length===1?Tr(t):new et(t,e,n,r??1)}function et(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ae(et,Ir,He(Ft,{brighter(t){return t=t==null?fe:Math.pow(fe,t),new et(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Yt:Math.pow(Yt,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new W(Be(t>=240?t-240:t+120,i,r),Be(t,i,r),Be(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new et(Sr(this.h),ue(this.s),ue(this.l),le(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=le(this.opacity);return`${t===1?\"hsl(\":\"hsla(\"}${Sr(this.h)}, ${ue(this.s)*100}%, ${ue(this.l)*100}%${t===1?\")\":`, ${t})`}`}}));function Sr(t){return t=(t||0)%360,t<0?t+360:t}function ue(t){return Math.max(0,Math.min(1,t||0))}function Be(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function Xe(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}function Cr(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r()=>t;function Go(t,e){return function(n){return t+n*e}}function Ko(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Or(t){return(t=+t)==1?ce:function(e,n){return n-e?Ko(e,n,t):Pe(isNaN(e)?n:e)}}function ce(t,e){var n=e-t;return n?Go(t,n):Pe(isNaN(t)?e:t)}var he=(function t(e){var n=Or(e);function r(i,o){var a=n((i=At(i)).r,(o=At(o)).r),s=n(i.g,o.g),f=n(i.b,o.b),u=ce(i.opacity,o.opacity);return function(l){return i.r=a(l),i.g=s(l),i.b=f(l),i.opacity=u(l),i+\"\"}}return r.gamma=t,r})(1);function Rr(t){return function(e){var n=e.length,r=new Array(n),i=new Array(n),o=new Array(n),a,s;for(a=0;an&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,f.push({i:a,x:J(r,i)})),n=qe.lastIndex;return n180?l+=360:l-u>180&&(u+=360),h.push({i:g.push(i(g)+\"rotate(\",null,r)-2,x:J(u,l)})):l&&g.push(i(g)+\"rotate(\"+l+r)}function s(u,l,g,h){u!==l?h.push({i:g.push(i(g)+\"skewX(\",null,r)-2,x:J(u,l)}):l&&g.push(i(g)+\"skewX(\"+l+r)}function f(u,l,g,h,p,b){if(u!==g||l!==h){var _=p.push(i(p)+\"scale(\",null,\",\",null,\")\");b.push({i:_-4,x:J(u,g)},{i:_-2,x:J(l,h)})}else(g!==1||h!==1)&&p.push(i(p)+\"scale(\"+g+\",\"+h+\")\")}return function(u,l){var g=[],h=[];return u=t(u),l=t(l),o(u.translateX,u.translateY,l.translateX,l.translateY,g,h),a(u.rotate,l.rotate,g,h),s(u.skewX,l.skewX,g,h),f(u.scaleX,u.scaleY,l.scaleX,l.scaleY,g,h),u=l=null,function(p){for(var b=-1,_=h.length,y;++b<_;)g[(y=h[b]).i]=y.x(p);return g.join(\"\")}}}var Ge=Br(Lr,\"px, \",\"px)\",\"deg)\"),Ke=Br(Hr,\", \",\")\",\")\");var Jo=1e-12;function Xr(t){return((t=Math.exp(t))+1/t)/2}function jo(t){return((t=Math.exp(t))-1/t)/2}function ta(t){return((t=Math.exp(2*t))-1)/(t+1)}var Ue=(function t(e,n,r){function i(o,a){var s=o[0],f=o[1],u=o[2],l=a[0],g=a[1],h=a[2],p=l-s,b=g-f,_=p*p+b*b,y,x;if(_Yr)throw new Error(\"too late; already scheduled\");return n}function F(t,e){var n=q(t,e);if(n.state>de)throw new Error(\"too late; already running\");return n}function q(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error(\"transition not found\");return n}function ra(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=Nt(o,0,n.time);function o(u){n.state=Pr,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var l,g,h,p;if(n.state!==Pr)return f();for(l in r)if(p=r[l],p.name===n.name){if(p.state===de)return jt(a);p.state===qr?(p.state=Gt,p.timer.stop(),p.on.call(\"interrupt\",t,t.__data__,p.index,p.group),delete r[l]):+lxe&&r.state=0&&(e=e.slice(0,n)),!e||e===\"start\"})}function Ma(t,e,n){var r,i,o=ba(e)?Kt:F;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}function ti(t,e){var n=this._id;return arguments.length<2?q(this.node(),n).on.on(t):this.each(Ma(n,t,e))}function $a(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function ei(){return this.on(\"end.remove\",$a(this._id))}function ni(t){var e=this._name,n=this._id;typeof t!=\"function\"&&(t=xt(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>t;function Qe(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function nt(t,e,n){this.k=t,this.x=e,this.y=n}nt.prototype={constructor:nt,scale:function(t){return t===1?this:new nt(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new nt(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return\"translate(\"+this.x+\",\"+this.y+\") scale(\"+this.k+\")\"}};var wt=new nt(1,0,0);We.prototype=nt.prototype;function We(t){for(;!t.__zoom;)if(!(t=t.parentNode))return wt;return t.__zoom}function we(t){t.stopImmediatePropagation()}function St(t){t.preventDefault(),t.stopImmediatePropagation()}function Ba(t){return(!t.ctrlKey||t.type===\"wheel\")&&!t.button}function Xa(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute(\"viewBox\")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function mi(){return this.__zoom||wt}function Pa(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function qa(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function Ya(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function Ze(){var t=Ba,e=Xa,n=Ya,r=Pa,i=qa,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,f=Ue,u=at(\"start\",\"zoom\",\"end\"),l,g,h,p=500,b=150,_=0,y=10;function x(c){c.property(\"__zoom\",mi).on(\"wheel.zoom\",C,{passive:!1}).on(\"mousedown.zoom\",R).on(\"dblclick.zoom\",O).filter(i).on(\"touchstart.zoom\",H).on(\"touchmove.zoom\",d).on(\"touchend.zoom touchcancel.zoom\",N).style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}x.transform=function(c,w,v,$){var S=c.selection?c.selection():c;S.property(\"__zoom\",mi),c!==S?A(c,w,v,$):S.interrupt().each(function(){T(this,arguments).event($).start().zoom(null,typeof w==\"function\"?w.apply(this,arguments):w).end()})},x.scaleBy=function(c,w,v,$){x.scaleTo(c,function(){var S=this.__zoom.k,E=typeof w==\"function\"?w.apply(this,arguments):w;return S*E},v,$)},x.scaleTo=function(c,w,v,$){x.transform(c,function(){var S=e.apply(this,arguments),E=this.__zoom,I=v==null?m(S):typeof v==\"function\"?v.apply(this,arguments):v,D=E.invert(I),L=typeof w==\"function\"?w.apply(this,arguments):w;return n(k(M(E,L),I,D),S,a)},v,$)},x.translateBy=function(c,w,v,$){x.transform(c,function(){return n(this.__zoom.translate(typeof w==\"function\"?w.apply(this,arguments):w,typeof v==\"function\"?v.apply(this,arguments):v),e.apply(this,arguments),a)},null,$)},x.translateTo=function(c,w,v,$,S){x.transform(c,function(){var E=e.apply(this,arguments),I=this.__zoom,D=$==null?m(E):typeof $==\"function\"?$.apply(this,arguments):$;return n(wt.translate(D[0],D[1]).scale(I.k).translate(typeof w==\"function\"?-w.apply(this,arguments):-w,typeof v==\"function\"?-v.apply(this,arguments):-v),E,a)},$,S)};function M(c,w){return w=Math.max(o[0],Math.min(o[1],w)),w===c.k?c:new nt(w,c.x,c.y)}function k(c,w,v){var $=w[0]-v[0]*c.k,S=w[1]-v[1]*c.k;return $===c.x&&S===c.y?c:new nt(c.k,$,S)}function m(c){return[(+c[0][0]+ +c[1][0])/2,(+c[0][1]+ +c[1][1])/2]}function A(c,w,v,$){c.on(\"start.zoom\",function(){T(this,arguments).event($).start()}).on(\"interrupt.zoom end.zoom\",function(){T(this,arguments).event($).end()}).tween(\"zoom\",function(){var S=this,E=arguments,I=T(S,E).event($),D=e.apply(S,E),L=v==null?m(D):typeof v==\"function\"?v.apply(S,E):v,U=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),X=S.__zoom,Q=typeof w==\"function\"?w.apply(S,E):w,it=f(X.invert(L).concat(U/X.k),Q.invert(L).concat(U/Q.k));return function(j){if(j===1)j=Q;else{var ot=it(j),Me=U/ot[2];j=new nt(Me,L[0]-ot[0]*Me,L[1]-ot[1]*Me)}I.zoom(null,j)}})}function T(c,w,v){return!v&&c.__zooming||new z(c,w)}function z(c,w){this.that=c,this.args=w,this.active=0,this.sourceEvent=null,this.extent=e.apply(c,w),this.taps=0}z.prototype={event:function(c){return c&&(this.sourceEvent=c),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(\"start\")),this},zoom:function(c,w){return this.mouse&&c!==\"mouse\"&&(this.mouse[1]=w.invert(this.mouse[0])),this.touch0&&c!==\"touch\"&&(this.touch0[1]=w.invert(this.touch0[0])),this.touch1&&c!==\"touch\"&&(this.touch1[1]=w.invert(this.touch1[0])),this.that.__zoom=w,this.emit(\"zoom\"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(\"end\")),this},emit:function(c){var w=V(this.that).datum();u.call(c,this.that,new Qe(c,{sourceEvent:this.sourceEvent,target:x,type:c,transform:this.that.__zoom,dispatch:u}),w)}};function C(c,...w){if(!t.apply(this,arguments))return;var v=T(this,w).event(c),$=this.__zoom,S=Math.max(o[0],Math.min(o[1],$.k*Math.pow(2,r.apply(this,arguments)))),E=Z(c);if(v.wheel)(v.mouse[0][0]!==E[0]||v.mouse[0][1]!==E[1])&&(v.mouse[1]=$.invert(v.mouse[0]=E)),clearTimeout(v.wheel);else{if($.k===S)return;v.mouse=[E,$.invert(E)],vt(this),v.start()}St(c),v.wheel=setTimeout(I,b),v.zoom(\"mouse\",n(k(M($,S),v.mouse[0],v.mouse[1]),v.extent,a));function I(){v.wheel=null,v.end()}}function R(c,...w){if(h||!t.apply(this,arguments))return;var v=c.currentTarget,$=T(this,w,!0).event(c),S=V(c.view).on(\"mousemove.zoom\",L,!0).on(\"mouseup.zoom\",U,!0),E=Z(c,v),I=c.clientX,D=c.clientY;Bt(c.view),we(c),$.mouse=[E,this.__zoom.invert(E)],vt(this),$.start();function L(X){if(St(X),!$.moved){var Q=X.clientX-I,it=X.clientY-D;$.moved=Q*Q+it*it>_}$.event(X).zoom(\"mouse\",n(k($.that.__zoom,$.mouse[0]=Z(X,v),$.mouse[1]),$.extent,a))}function U(X){S.on(\"mousemove.zoom mouseup.zoom\",null),Xt(X.view,$.moved),St(X),$.event(X).end()}}function O(c,...w){if(t.apply(this,arguments)){var v=this.__zoom,$=Z(c.changedTouches?c.changedTouches[0]:c,this),S=v.invert($),E=v.k*(c.shiftKey?.5:2),I=n(k(M(v,E),$,S),e.apply(this,w),a);St(c),s>0?V(this).transition().duration(s).call(A,I,$,c):V(this).call(x.transform,I,$,c)}}function H(c,...w){if(t.apply(this,arguments)){var v=c.touches,$=v.length,S=T(this,w,c.changedTouches.length===$).event(c),E,I,D,L;for(we(c),I=0;I<$;++I)D=v[I],L=Z(D,this),L=[L,this.__zoom.invert(L),D.identifier],S.touch0?!S.touch1&&S.touch0[2]!==L[2]&&(S.touch1=L,S.taps=0):(S.touch0=L,E=!0,S.taps=1+!!l);l&&(l=clearTimeout(l)),E&&(S.taps<2&&(g=L[0],l=setTimeout(function(){l=null},p)),vt(this),S.start())}}function d(c,...w){if(this.__zooming){var v=T(this,w).event(c),$=c.changedTouches,S=$.length,E,I,D,L;for(St(c),E=0;E=0))throw new Error(`invalid digits: ${t}`);if(e>15)return di;let n=10**e;return function(r){this._+=r[0];for(let i=1,o=r.length;ibt)if(!(Math.abs(g*f-u*l)>bt)||!o)this._append`L${this._x1=e},${this._y1=n}`;else{let p=r-a,b=i-s,_=f*f+u*u,y=p*p+b*b,x=Math.sqrt(_),M=Math.sqrt(h),k=o*Math.tan((je-Math.acos((_+h-y)/(2*x*M)))/2),m=k/M,A=k/x;Math.abs(m-1)>bt&&this._append`L${e+m*l},${n+m*g}`,this._append`A${o},${o},0,0,${+(g*p>l*b)},${this._x1=e+A*f},${this._y1=n+A*u}`}}arc(e,n,r,i,o,a){if(e=+e,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),f=r*Math.sin(i),u=e+s,l=n+f,g=1^a,h=a?i-o:o-i;this._x1===null?this._append`M${u},${l}`:(Math.abs(this._x1-u)>bt||Math.abs(this._y1-l)>bt)&&this._append`L${u},${l}`,r&&(h<0&&(h=h%tn+tn),h>Va?this._append`A${r},${r},0,1,${g},${e-s},${n-f}A${r},${r},0,1,${g},${this._x1=u},${this._y1=l}`:h>bt&&this._append`A${r},${r},0,${+(h>=je)},${g},${this._x1=e+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function xi(){return new Mt}xi.prototype=Mt.prototype;function gi(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Mt(e)}var yi=Array.prototype.slice;function _i(t){return t[0]}function vi(t){return t[1]}var en=class{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}};function wi(t){return new en(t,!0)}function Ga(t){return t.source}function Ka(t){return t.target}function bi(t){let e=Ga,n=Ka,r=_i,i=vi,o=null,a=null,s=gi(f);function f(){let u,l=yi.call(arguments),g=e.apply(this,l),h=n.apply(this,l);if(o==null&&(a=t(u=s())),a.lineStart(),l[0]=g,a.point(+r.apply(this,l),+i.apply(this,l)),l[0]=h,a.point(+r.apply(this,l),+i.apply(this,l)),a.lineEnd(),u)return a=null,u+\"\"||null}return f.source=function(u){return arguments.length?(e=u,f):e},f.target=function(u){return arguments.length?(n=u,f):n},f.x=function(u){return arguments.length?(r=typeof u==\"function\"?u:Je(+u),f):r},f.y=function(u){return arguments.length?(i=typeof u==\"function\"?u:Je(+u),f):i},f.context=function(u){return arguments.length?(u==null?o=a=null:a=t(o=u),f):o},f}function nn(){return bi(wi)}var rn=t=>document.querySelector(t),Ua={person:\"#d9c9a6\",agent:\"#4fcb92\",system:\"#8d9791\",outside:\"#8fa3b8\",team:\"#d9c9a6\",build:\"#8d9791\"};async function Qa(){let t=await(await fetch(\"./system.json\")).json(),e=V(\"#map\"),n=window.innerWidth,r=window.innerHeight-44;e.attr(\"viewBox\",`0 0 ${n} ${r}`);let i=e.append(\"g\"),o=[...t.nodes.map(d=>({...d,kind:\"board\"})),...t.threads.map(d=>({id:`who:${d.name}`,title:d.name,kind:\"thread\",threadKind:d.kind,boards:d.boards,for:\"\",jobs:0,people:0,agents:0,systems:0,errors:0,entry:\"\",outs:[],ins:[]}))],a=[...t.edges.map(d=>({...d})),...t.threads.flatMap(d=>d.boards.map(N=>({from:`who:${d.name}`,to:N,what:d.name,kind:\"thread\"})))],s=new Map(o.map(d=>[d.id,d])),f=a.map(d=>({...d,source:s.get(d.from),target:s.get(d.to)})).filter(d=>d.source&&d.target),u=e.append(\"defs\");u.append(\"marker\").attr(\"id\",\"arrow\").attr(\"viewBox\",\"0 -5 10 10\").attr(\"refX\",10).attr(\"refY\",0).attr(\"markerWidth\",7).attr(\"markerHeight\",7).attr(\"orient\",\"auto\").append(\"path\").attr(\"d\",\"M0,-4L10,0L0,4\").attr(\"fill\",\"#f0a35e\");let l=u.append(\"filter\").attr(\"id\",\"glow\");l.append(\"feGaussianBlur\").attr(\"stdDeviation\",\"6\").attr(\"result\",\"b\");let g=l.append(\"feMerge\");g.append(\"feMergeNode\").attr(\"in\",\"b\"),g.append(\"feMergeNode\").attr(\"in\",\"SourceGraphic\");let h=Se(o).force(\"link\",Ae(f).id(d=>d.id).distance(d=>d.kind===\"thread\"?170:340).strength(d=>d.kind===\"thread\"?.2:.5)).force(\"charge\",Te().strength(d=>d.kind===\"thread\"?-300:-2600)).force(\"collide\",ke().radius(d=>d.kind===\"thread\"?44:150).strength(1)).force(\"center\",$e(n/2,r/2)).force(\"x\",Ie(n/2).strength(.03)).force(\"y\",Ce(r/2).strength(.05)),p=i.append(\"g\"),b=p.selectAll(\"path\").data(f).enter().append(\"path\").attr(\"class\",d=>`link ${d.kind===\"link\"?\"explicit\":d.kind}`).attr(\"marker-end\",d=>d.kind===\"thread\"?null:\"url(#arrow)\").style(\"opacity\",0);b.transition().delay((d,N)=>300+N*40).duration(600).style(\"opacity\",1);let _=p.selectAll(\"text\").data(f.filter(d=>d.kind!==\"thread\")).enter().append(\"text\").attr(\"class\",\"llabel\").text(d=>d.what),y=i.append(\"g\").selectAll(\"g\").data(o).enter().append(\"g\").attr(\"class\",d=>`node ${d.kind}`).style(\"opacity\",0).call(Le().filter(d=>!d.shiftKey&&!d.button).on(\"start\",(d,N)=>{d.active||h.alphaTarget(.3).restart(),N.fx=N.x,N.fy=N.y}).on(\"drag\",(d,N)=>{N.fx=d.x,N.fy=d.y}).on(\"end\",(d,N)=>{d.active||h.alphaTarget(0),N.fx=null,N.fy=null}));y.transition().delay((d,N)=>N*60).duration(700).style(\"opacity\",1);let x=y.filter(d=>d.kind===\"board\");x.append(\"rect\").attr(\"class\",\"card\").attr(\"x\",-120).attr(\"y\",-50).attr(\"width\",240).attr(\"height\",100).attr(\"rx\",12),x.append(\"text\").attr(\"class\",\"title\").attr(\"x\",-104).attr(\"y\",-24).each(function(d){Wa(V(this),d.title,26,2)}),x.append(\"text\").attr(\"class\",\"for\").attr(\"x\",-104).attr(\"y\",18).text(d=>d.for?`for ${d.for}`:d.entry||\"\"),x.append(\"g\").attr(\"class\",\"meta\").attr(\"transform\",\"translate(-104,40)\").each(function(d){let N=V(this),c=[[d.jobs,\"jobs\"],[d.people,\"people\"],[d.agents,\"agents\"],[d.systems,\"systems\"]].filter(v=>v[0]>0),w=0;for(let[v,$]of c)N.append(\"text\").attr(\"x\",w).attr(\"class\",\"m\").text(`${v} ${$}`),w+=14+String(v).length*7+$.length*6.2;d.errors&&(N.append(\"circle\").attr(\"cx\",208).attr(\"cy\",-6).attr(\"r\",9).attr(\"fill\",\"#e5484d\"),N.append(\"text\").attr(\"x\",208).attr(\"y\",-3).attr(\"class\",\"err\").text(d.errors))}),x.on(\"click\",(d,N)=>{location.href=`./?board=${encodeURIComponent(N.id)}`}).style(\"cursor\",\"pointer\");let M=y.filter(d=>d.kind===\"thread\");M.append(\"circle\").attr(\"r\",22).attr(\"class\",\"tcirc\").attr(\"stroke\",d=>Ua[d.threadKind]??\"#aaa\"),M.append(\"text\").attr(\"class\",\"tname\").attr(\"y\",38).text(d=>d.title),M.append(\"text\").attr(\"class\",\"tglyph\").attr(\"y\",5).text(d=>({person:\"\\u{1F464}\",agent:\"\\u25C8\",system:\"\\u25A3\",outside:\"\\u25CE\"})[d.threadKind]??\"\\u2022\"),y.on(\"mouseenter\",(d,N)=>{let c=new Set([N.id,...f.filter(w=>w.source.id===N.id||w.target.id===N.id).flatMap(w=>[w.source.id,w.target.id])]);y.classed(\"dim\",w=>!c.has(w.id)),b.classed(\"dim\",w=>!(w.source.id===N.id||w.target.id===N.id)).classed(\"lit\",w=>w.source.id===N.id||w.target.id===N.id),_.classed(\"dim\",w=>!(w.source.id===N.id||w.target.id===N.id))}).on(\"mouseleave\",()=>{y.classed(\"dim\",!1),b.classed(\"dim\",!1).classed(\"lit\",!1),_.classed(\"dim\",!1)});let k=null,m=i.append(\"path\").attr(\"class\",\"rubber\").style(\"display\",\"none\");x.on(\"mousedown.connect\",(d,N)=>{d.shiftKey&&(d.stopPropagation(),k=N,m.style(\"display\",null))}),e.on(\"mousemove.connect\",d=>{if(!k)return;let[N,c]=T(d);m.attr(\"d\",O(k.x,k.y,N,c))}),e.on(\"mouseup.connect\",d=>{if(!k)return;let[N,c]=T(d),w=o.find(v=>v.kind===\"board\"&&v!==k&&Math.abs(v.x-N)<125&&Math.abs(v.y-c)<55);m.style(\"display\",\"none\"),w&&H(k,w),k=null});let A=Ze().scaleExtent([.3,2.5]).on(\"zoom\",d=>i.attr(\"transform\",d.transform));e.call(A);function T(d){let N=e.node().__zoom??wt,c=e.node().getBoundingClientRect();return N.invert([d.clientX-c.left,d.clientY-c.top])}let z=nn(),C=120,R=50;function O(d,N,c,w){let v=c-d,$=w-N;if(Math.abs(v)>=Math.abs($)*1.2){let L=v>=0?d+C:d-C,U=v>=0?c-C-4:c+C+4,X=Math.max(70,Math.abs(U-L)*.5),Q=Math.sign(v||1);return`M${L},${N} C${L+Q*X},${N} ${U-Q*X},${w} ${U},${w}`}let S=$>=0?N+R:N-R,E=$>=0?w-R-4:w+R+4,I=Math.max(60,Math.abs(E-S)*.5),D=Math.sign($||1);return`M${d},${S} C${d},${S+D*I} ${c},${E-D*I} ${c},${E}`}h.on(\"tick\",()=>{b.attr(\"d\",d=>d.kind===\"thread\"?`M${d.source.x},${d.source.y}L${d.target.x},${d.target.y}`:O(d.source.x,d.source.y,d.target.x,d.target.y)),_.attr(\"x\",d=>(d.source.x+d.target.x)/2).attr(\"y\",d=>(d.source.y+d.target.y)/2-10),y.attr(\"transform\",d=>`translate(${d.x},${d.y})`)}),rn(\"#count\").textContent=`${t.nodes.length} boards \\xB7 ${t.edges.length} handoffs between them \\xB7 ${t.threads.length} shared`,t.nodes.length||(rn(\"#empty\").style.display=\"grid\");async function H(d,N){let c=await(await fetch(`./board.json?board=${encodeURIComponent(d.id)}`)).json(),w=await(await fetch(`./board.json?board=${encodeURIComponent(N.id)}`)).json(),v=c.jobs.filter(E=>!E.removed&&!E.parent),$=w.jobs.filter(E=>!E.removed&&!E.parent),S=rn(\"#sheet\");S.style.display=\"grid\",S.innerHTML=`

What changes hands from ${be(d.title)} to ${be(N.title)}?

`,S.querySelector(\"#x-cancel\").onclick=()=>S.style.display=\"none\",S.querySelector(\"#x-ok\").onclick=async()=>{let E=S.querySelector(\"#x-what\").value.trim()||\"something\";await fetch(\"./link\",{method:\"POST\",body:JSON.stringify({from:{board:d.id,job:S.querySelector(\"#x-from\").value},to:{board:N.id,job:S.querySelector(\"#x-to\").value},what:E})}),location.reload()},setTimeout(()=>S.querySelector(\"#x-what\").focus(),50)}}function Wa(t,e,n,r){let i=e.split(/\\s+/),o=[],a=0;for(let s of i){if((o.join(\" \")+\" \"+s).length>n&&o.length&&(t.append(\"tspan\").attr(\"x\",-104).attr(\"dy\",a?16:0).text(o.join(\" \")),o=[],a++,a>=r)){t.append(\"tspan\").text(\"\\u2026\");return}o.push(s)}o.length&&t.append(\"tspan\").attr(\"x\",-104).attr(\"dy\",a?16:0).text(o.join(\" \"))}var be=t=>String(t??\"\").replace(/[&<>\"]/g,e=>({\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"})[e]);Qa();})();\n"; export declare const SYSTEM_HTML = "staves \u2014 the system\n\n
The system\u2190 the surveyclick a board to open it \u00B7 drag to arrange \u00B7 shift-drag from one board to another to say what changes hands
\n
No boards yetDescribe a workflow, or run a survey, and the system draws itself here.
\n";